@synertech/ui 0.41.0 → 0.43.0

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.
package/dist/index.cjs CHANGED
@@ -1,6 +1,6 @@
1
- 'use strict';var js=require('react'),jsxRuntime=require('react/jsx-runtime'),reactDom=require('react-dom'),client=require('react-dom/client'),Ob=require('dompurify'),$b=require('react-markdown'),_b=require('remark-gfm');function _interopDefault(e){return e&&e.__esModule?e:{default:e}}function _interopNamespace(e){if(e&&e.__esModule)return e;var n=Object.create(null);if(e){Object.keys(e).forEach(function(k){if(k!=='default'){var d=Object.getOwnPropertyDescriptor(e,k);Object.defineProperty(n,k,d.get?d:{enumerable:true,get:function(){return e[k]}});}})}n.default=e;return Object.freeze(n)}var js__namespace=/*#__PURE__*/_interopNamespace(js);var Ob__default=/*#__PURE__*/_interopDefault(Ob);var $b__default=/*#__PURE__*/_interopDefault($b);var _b__default=/*#__PURE__*/_interopDefault(_b);function u(...e){return e.filter(Boolean).join(" ")}var pl=js.createContext(null),ml=js.createContext(null);function Ds(){let e=js.useContext(pl);if(!e)throw new Error("Accordion sub-components must be used within <Accordion>");return e}function gl(){let e=js.useContext(ml);if(!e)throw new Error("AccordionTrigger/AccordionContent must be used within <AccordionItem>");return e}var fl={sm:{trigger:"px-3 py-2",content:"px-3 pb-2",text:"text-sm",icon:"w-3.5 h-3.5"},md:{trigger:"px-4 py-3",content:"px-4 pb-3",text:"text-base",icon:"w-4 h-4"},lg:{trigger:"px-5 py-4",content:"px-5 pb-4",text:"text-lg",icon:"w-5 h-5"}},p0=({className:e})=>jsxRuntime.jsx("svg",{className:e,viewBox:"0 0 20 20",fill:"currentColor","aria-hidden":"true",children:jsxRuntime.jsx("path",{fillRule:"evenodd",d:"M5.23 7.21a.75.75 0 011.06.02L10 11.168l3.71-3.938a.75.75 0 111.08 1.04l-4.25 4.5a.75.75 0 01-1.08 0l-4.25-4.5a.75.75 0 01.02-1.06z",clipRule:"evenodd"})}),m0={default:"border border-gray-200 dark:border-gray-700 rounded-lg divide-y divide-gray-200 dark:divide-gray-700",bordered:"border-2 border-gray-300 dark:border-gray-600 rounded-lg divide-y divide-gray-300 dark:divide-gray-600",separated:"space-y-2",ghost:""},g0={default:"",bordered:"",separated:"border border-gray-200 dark:border-gray-700 rounded-lg overflow-hidden",ghost:"border-b border-gray-200 dark:border-gray-700 last:border-b-0"};function f0({type:e="single",value:t,defaultValue:r,onValueChange:n,collapsible:o=false,variant:a="default",size:s="md",disabled:l=false,iconPosition:i="right",icon:d,hideIcon:c=false,className:p,children:f}){let[m,g]=js.useState(()=>r?Array.isArray(r)?r:[r]:[]),x=t!==void 0,b=x?Array.isArray(t)?t:[t]:m,v=js.useCallback(M=>{let w;e==="single"?b.includes(M)?w=o?[]:[M]:w=[M]:w=b.includes(M)?b.filter(P=>P!==M):[...b,M],x||g(w),n?.(e==="single"?w[0]??"":w);},[e,b,o,x,n]),y=js.useMemo(()=>({openItems:b,toggle:v,variant:a,size:s,disabled:l,iconPosition:i,icon:d??null,hideIcon:c}),[b,v,a,s,l,i,d,c]);return jsxRuntime.jsx(pl.Provider,{value:y,children:jsxRuntime.jsx("div",{className:u(m0[a],p),"data-testid":"accordion",children:f})})}function b0({value:e,disabled:t,className:r,children:n}){let o=Ds(),a=o.openItems.includes(e),s=t??o.disabled,l=js.useId(),i=`accordion-trigger-${l}`,d=`accordion-content-${l}`,c=js.useMemo(()=>({value:e,isOpen:a,disabled:s,triggerId:i,contentId:d}),[e,a,s,i,d]);return jsxRuntime.jsx(ml.Provider,{value:c,children:jsxRuntime.jsx("div",{className:u(g0[o.variant],r),"data-state":a?"open":"closed","data-testid":"accordion-item",children:n})})}function h0({className:e,icon:t,children:r}){let n=Ds(),o=gl(),a=fl[n.size],s=()=>{o.disabled||n.toggle(o.value);},l=c=>{(c.key==="Enter"||c.key===" ")&&(c.preventDefault(),s());},i=t??n.icon??jsxRuntime.jsx(p0,{className:a.icon}),d=!n.hideIcon&&jsxRuntime.jsx("span",{className:u("shrink-0 text-gray-500 dark:text-gray-400 transition-transform duration-200",o.isOpen&&"rotate-180"),"data-testid":"accordion-icon",children:i});return jsxRuntime.jsxs("button",{type:"button",id:o.triggerId,"aria-expanded":o.isOpen,"aria-controls":o.contentId,disabled:o.disabled,onClick:s,onKeyDown:l,className:u("flex items-center w-full text-left font-medium transition-colors cursor-pointer",a.trigger,a.text,"text-gray-900 dark:text-gray-100",!o.disabled&&"hover:bg-gray-50 dark:hover:bg-gray-800/50",o.disabled&&"opacity-50 cursor-not-allowed",e),"data-testid":"accordion-trigger",children:[n.iconPosition==="left"&&d,jsxRuntime.jsx("span",{className:"flex-1",children:r}),n.iconPosition==="right"&&d]})}function y0({className:e,children:t}){let r=Ds(),n=gl(),o=fl[r.size],a=js.useRef(null),[s,l]=js.useState(n.isOpen?void 0:0),i=js.useRef(true);return js.useEffect(()=>{if(i.current){i.current=false,l(n.isOpen?void 0:0);return}if(n.isOpen){let d=a.current;if(d){l(d.scrollHeight);let c=setTimeout(()=>l(void 0),200);return ()=>clearTimeout(c)}}else {let d=a.current;d&&(l(d.scrollHeight),requestAnimationFrame(()=>l(0)));}},[n.isOpen]),jsxRuntime.jsx("div",{id:n.contentId,role:"region","aria-labelledby":n.triggerId,className:"overflow-hidden transition-[height] duration-200 ease-in-out",style:{height:s===void 0?"auto":s},"data-testid":"accordion-content","data-state":n.isOpen?"open":"closed",children:jsxRuntime.jsx("div",{ref:a,className:u(o.content,"text-gray-600 dark:text-gray-400",o.text==="text-lg"?"text-base":"text-sm",e),children:t})})}function w0(...e){return e.filter(Boolean).join(" ")}var N0="@synertech/ui/AdvanceDetachable",S0=300,R0="width=800,height=600,menubar=no,toolbar=no,location=no,status=no,scrollbars=yes,resizable=yes",T0=0;function P0(){return `${Date.now()}-${++T0}-${Math.random().toString(36).slice(2,8)}`}function bl(e){try{return JSON.stringify(e)}catch{return String(e)}}function hl(e){try{return JSON.parse(e)}catch{return e}}function E0(e,t){e.querySelectorAll("style").forEach(r=>{let n=t.createElement("style");n.textContent=r.textContent,t.head.appendChild(n);}),e.querySelectorAll('link[rel="stylesheet"]').forEach(r=>{let n=r,o=t.createElement("link");o.rel="stylesheet",o.href=n.href,n.crossOrigin&&(o.crossOrigin=n.crossOrigin),t.head.appendChild(o);}),e.documentElement.className&&(t.documentElement.className=e.documentElement.className),e.body.className&&(t.body.className=e.body.className);}function D0(e,t){let r=new MutationObserver(n=>{for(let o of n)for(let a of Array.from(o.addedNodes))if(a instanceof HTMLStyleElement){let s=t.createElement("style");s.textContent=a.textContent,t.head.appendChild(s);}else if(a instanceof HTMLLinkElement&&a.rel==="stylesheet"){let s=t.createElement("link");s.rel="stylesheet",s.href=a.href,t.head.appendChild(s);}});return r.observe(e.head,{childList:true}),r}function M0(){return typeof BroadcastChannel<"u"}function I0({mode:e,id:t,title:r="",children:n,value:o,defaultValue:a,onValueChange:s,isDetached:l,defaultDetached:i=false,onDetachedChange:d,features:c,target:p,autoFocus:f=true,className:m,detachedBodyClassName:g,disabled:x=false,readOnly:b=false,closeOnMainWindowUnload:v=true,name:y,serialize:M,deserialize:w},P){let h=l!==void 0,[E,D]=js.useState(i),k=h?l:E,I=o!==void 0,[W,O]=js.useState(a),L=I?o:W,[T,S]=js.useState(null),C=js.useRef(null),N=js.useRef(null),R=js.useRef(null),$=js.useRef(null),H=js.useRef(false),K=js.useRef(null),_=js.useRef(null),F=js.useRef(null),[A]=js.useState(()=>`${Date.now().toString(36)}-${Math.random().toString(36).slice(2,8)}`),B=js.useRef({title:r,features:c,target:p,autoFocus:f,detachedBodyClassName:g,closeOnMainWindowUnload:v,disabled:x,readOnly:b,mode:e,id:t});B.current={title:r,features:c,target:p,autoFocus:f,detachedBodyClassName:g,closeOnMainWindowUnload:v,disabled:x,readOnly:b,mode:e,id:t};let U=js.useRef(M??bl);U.current=M??bl;let Q=js.useRef(w??hl);Q.current=w??hl;let J=js.useRef(s);J.current=s;let Y=js.useRef(d);Y.current=d;let z=js.useRef(k);z.current=k;let X=`${N0}/${t}`,ne=js.useCallback(()=>{R.current&&(clearInterval(R.current),R.current=null),$.current&&($.current.disconnect(),$.current=null),S(null);},[]),re=js.useCallback(()=>{N.current&&(N.current.close(),N.current=null),K.current&&typeof window<"u"&&(window.removeEventListener("message",K.current),K.current=null);},[]),q=js.useCallback(Te=>{if(!(!Te||Te.channel!==X)&&Te.instanceId!==A&&!B.current.readOnly&&Te.type==="value-sync"&&Te.payload!==void 0){_.current=Te.payload;let Ee=Q.current(Te.payload);I||O(Ee),J.current?.(Ee);}},[X,A,I]),de=js.useCallback(()=>{if(re(),!(typeof window>"u"))if(M0()){let Te=new BroadcastChannel(X),Ee=nt=>q(nt.data);Te.addEventListener("message",Ee),N.current=Te;}else {let Te=Ee=>{Ee.data?.channel===X&&q(Ee.data);};window.addEventListener("message",Te),K.current=Te;}},[X,re,q]),xe=js.useCallback(Te=>{if(B.current.readOnly)return;let Ee=U.current(Te);if(Ee===F.current)return;if(Ee===_.current){_.current=null;return}F.current=Ee;let nt={channel:X,instanceId:A,messageId:P0(),origin:"main",timestamp:Date.now(),type:"value-sync",payload:Ee};N.current?N.current.postMessage(nt):C.current&&!C.current.closed&&C.current.postMessage(nt,"*");},[X,A]),ke=js.useCallback(()=>{if(typeof window>"u"||B.current.disabled||H.current||C.current&&!C.current.closed)return;H.current=true;let Te=B.current,Ee=window.open("",Te.target||"",Te.features||R0);if(!Ee){H.current=false;return}C.current=Ee,Ee.document.title=Te.title||document.title,Te.detachedBodyClassName&&(Ee.document.body.className=Te.detachedBodyClassName);let nt=Ee.document.createElement("div");Ee.document.body.appendChild(nt),S(nt),E0(document,Ee.document),$.current=D0(document,Ee.document),R.current=setInterval(()=>{Ee.closed&&(ne(),C.current=null,h||D(false),Y.current?.(false));},S0),Te.autoFocus&&Ee.focus(),H.current=false;},[h,ne]),le=js.useCallback(()=>{C.current&&!C.current.closed&&C.current.close(),C.current=null,ne();},[ne]),Se=js.useRef(ke);Se.current=ke;let Me=js.useRef(le);Me.current=le;let je=js.useRef(xe);je.current=xe;let at=js.useCallback(()=>{B.current.disabled||(h||D(true),Y.current?.(true));},[h]),$e=js.useCallback(()=>{h||D(false),Y.current?.(false);},[h]),ie=js.useCallback(()=>{let Te=!z.current;Te&&B.current.disabled||(h||D(Te),Y.current?.(Te));},[h]);js.useImperativeHandle(P,()=>({open:at,close:$e,toggle:ie,get isDetached(){return z.current},get window(){return C.current}}),[at,$e,ie]),js.useEffect(()=>(de(),()=>re()),[de,re]),js.useEffect(()=>{if(k)return Se.current(),()=>Me.current();Me.current();},[k]),js.useEffect(()=>{L!==void 0&&je.current(L);},[L]),js.useEffect(()=>{C.current&&!C.current.closed&&r&&(C.current.document.title=r);},[r]),js.useEffect(()=>{if(typeof window>"u")return;let Te=()=>{B.current.closeOnMainWindowUnload&&C.current&&!C.current.closed&&C.current.close();};return window.addEventListener("beforeunload",Te),()=>{window.removeEventListener("beforeunload",Te),C.current&&!C.current.closed&&C.current.close(),C.current=null;}},[]);let he=typeof n=="function"?n({open:at,close:$e,toggle:ie,detached:k,windowRef:C.current}):n,Ie=e==="clone"||!k,xt=k&&T!==null;return jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[y&&L!==void 0&&jsxRuntime.jsx("input",{type:"hidden",name:y,value:U.current(L)}),Ie&&jsxRuntime.jsx("div",{className:w0(m),children:he}),xt&&reactDom.createPortal(he,T)]})}var xl=js.forwardRef(I0);xl.displayName="AdvanceDetachable";function Sn(e,t=11){return e.length*t*.6}function br(e,t=11){let r=0;for(let n of e){let o=Sn(n,t);o>r&&(r=o);}return r}function Io(e,t,r,n=12){if(e<=1||t<=0)return 1;let o=r+n,a=Math.max(1,Math.floor(t/o));return Math.max(1,Math.ceil(e/a))}var z0=10,W0={sm:"text-[10px]",md:"text-[11px]",lg:"text-xs"};function St({orientation:e,ticks:t,length:r,showLine:n=true,tickSize:o=4,tickPadding:a=6,label:s,size:l="md",className:i,...d}){let c=e==="bottom";return jsxRuntime.jsxs("g",{className:u(W0[l],i),"aria-hidden":"true",...d,children:[n&&jsxRuntime.jsx("line",{x1:0,y1:0,x2:c?r:0,y2:c?0:r,className:"stroke-gray-300 dark:stroke-gray-600",strokeWidth:1,shapeRendering:"crispEdges"}),t.map(p=>{let f=c?p.offset:0,m=c?0:p.offset;return jsxRuntime.jsxs("g",{transform:`translate(${f}, ${m})`,children:[o>0?jsxRuntime.jsx("line",{x1:0,y1:0,x2:c?0:-o,y2:c?o:0,className:"stroke-gray-300 dark:stroke-gray-600",strokeWidth:1}):null,jsxRuntime.jsx("text",{x:c?0:-(o+a),y:c?o+a:0,textAnchor:c?"middle":"end",dominantBaseline:c?"hanging":"middle",className:"fill-gray-500 dark:fill-gray-400 [font-variant-numeric:tabular-nums]",children:p.label})]},`${p.label}-${p.offset}`)}),s?jsxRuntime.jsx("text",{x:c?r/2:0,y:c?o+a+16:0,textAnchor:"middle",dominantBaseline:c?"hanging":"middle",transform:c?void 0:`translate(${-(o+a+br(t.map(p=>p.label))+z0)}, ${r/2}) rotate(-90)`,className:"fill-gray-600 dark:fill-gray-300 font-medium",children:s}):null]})}var Cl={closeModal:"Close modal",closeDrawer:"Close drawer",closeSidebar:"Close sidebar",openSidebar:"Open sidebar",expandSidebar:"Expand sidebar",collapseSidebar:"Collapse sidebar",sidebar:"Sidebar",enterFullScreen:"Enter full screen",exitFullScreen:"Exit full screen",confirm:"Confirm",cancel:"Cancel",markdownEditorUnavailable:"Markdown editor unavailable. Pass markdownEditor from @synertech/ui/markdown-editor.",chartShowTable:"Show data table",chartHideTable:"Hide data table",chartNoData:"No data",chartLoading:"Loading chart",chartOther:"Other",chartValue:"Value",chartTarget:"Target"},V0={closeModal:"Fermer la fen\xEAtre",closeDrawer:"Fermer le panneau",closeSidebar:"Fermer le menu lat\xE9ral",openSidebar:"Ouvrir le menu lat\xE9ral",expandSidebar:"D\xE9plier le menu lat\xE9ral",collapseSidebar:"Replier le menu lat\xE9ral",sidebar:"Menu lat\xE9ral",enterFullScreen:"Passer en plein \xE9cran",exitFullScreen:"Quitter le plein \xE9cran",confirm:"Confirmer",cancel:"Annuler",markdownEditorUnavailable:"\xC9diteur Markdown indisponible. Passez markdownEditor depuis @synertech/ui/markdown-editor.",chartShowTable:"Afficher le tableau de donn\xE9es",chartHideTable:"Masquer le tableau de donn\xE9es",chartNoData:"Aucune donn\xE9e",chartLoading:"Chargement du graphique",chartOther:"Autres",chartValue:"Valeur",chartTarget:"Objectif"},Ms=js.createContext(Cl);function B0({labels:e,children:t}){let r=js.useContext(Ms),n=js.useMemo(()=>({...r,...e}),[r,e]);return jsxRuntime.jsx(Ms.Provider,{value:n,children:t})}function At(){return js.useContext(Ms)}var $0={default:"stroke-gray-500 dark:stroke-gray-400",primary:"stroke-blue-600 dark:stroke-blue-500",success:"stroke-green-600 dark:stroke-green-500",warning:"stroke-yellow-500 dark:stroke-yellow-400",error:"stroke-red-600 dark:stroke-red-500",info:"stroke-cyan-600 dark:stroke-cyan-500"},_0={default:"text-gray-700 dark:text-gray-300",primary:"text-blue-600 dark:text-blue-400",success:"text-green-600 dark:text-green-400",warning:"text-yellow-600 dark:text-yellow-400",error:"text-red-600 dark:text-red-400",info:"text-cyan-600 dark:text-cyan-400"},X0={xs:24,sm:32,md:48,lg:64,xl:96},G0={xs:"text-[8px]",sm:"text-[10px]",md:"text-sm",lg:"text-base",xl:"text-xl"},K0={thin:2,normal:4,thick:8};function Un({value:e=0,indeterminate:t=false,size:r="md",thickness:n="normal",color:o="primary",progressColor:a,trackColor:s,showValue:l=false,children:i,valueFormat:d,animated:c=true,className:p,...f}){let m=Math.min(100,Math.max(0,e)),g=X0[r],x=K0[n],b=(g-x)/2,v=2*Math.PI*b,y=g/2,M=v-m/100*v,w=a||$0[o],P=s||"stroke-gray-200 dark:stroke-gray-700",h=_0[o],E=i??(l&&!t?jsxRuntime.jsx("span",{className:u("font-semibold",G0[r],h),children:d?d(m):`${Math.round(m)}%`}):null);return jsxRuntime.jsxs("div",{className:u("relative inline-flex items-center justify-center",p),role:"progressbar","aria-valuenow":t?void 0:m,"aria-valuemin":0,"aria-valuemax":100,...f,children:[jsxRuntime.jsxs("svg",{width:g,height:g,viewBox:`0 0 ${g} ${g}`,className:u(t&&"animate-spin"),style:{transform:"rotate(-90deg)"},children:[jsxRuntime.jsx("circle",{cx:y,cy:y,r:b,fill:"none",strokeWidth:x,className:P}),jsxRuntime.jsx("circle",{cx:y,cy:y,r:b,fill:"none",strokeWidth:x,strokeLinecap:"round",strokeDasharray:v,strokeDashoffset:t?v*.75:M,className:u(w,c&&!t&&"transition-[stroke-dashoffset] duration-300 ease-out")})]}),E&&jsxRuntime.jsx("div",{className:"absolute inset-0 flex items-center justify-center",style:{transform:"rotate(0deg)"},children:E})]})}Un.displayName="CircularProgress";var Nl=640;function Is(e={}){let{width:t,fallbackWidth:r=Nl}=e,n=js.useRef(null),[o,a]=js.useState(0);return js.useEffect(()=>{if(t!==void 0)return;let s=n.current;if(!s)return;let l=d=>{a(c=>Math.abs(c-d)<1?c:d);};if(l(s.getBoundingClientRect().width),typeof ResizeObserver>"u")return;let i=new ResizeObserver(d=>{for(let c of d)l(c.contentRect.width);});return i.observe(s),()=>i.disconnect()},[t]),t!==void 0?{ref:n,width:t,measured:true}:{ref:n,width:o>0?o:r,measured:o>0}}var Q0={sm:"text-xs",md:"text-sm",lg:"text-base"};function Kt({title:e,description:t,height:r=240,width:n,size:o="md",legend:a,legendPosition:s="bottom",actions:l,loading:i=false,empty:d=false,emptyState:c,table:p,tableView:f=false,showTableLabel:m,hideTableLabel:g,noDataLabel:x,loadingLabel:b,ariaLabel:v,children:y,className:M,...w}){let P=At(),[h,E]=js.useState(false),D=js.useId(),k=`${D}-table`,I=`${D}-title`,W=`${D}-description`,{ref:O,width:L,measured:T}=Is({width:n}),S=!!p&&f==="toggle",C=!!p&&(f===true||S&&h),$=jsxRuntime.jsx("div",{ref:O,className:"relative w-full",style:{height:r},"aria-busy":i||void 0,children:i&&d?jsxRuntime.jsx("div",{className:"flex h-full w-full items-center justify-center",children:jsxRuntime.jsx(Un,{indeterminate:true,size:"md","aria-label":b??P.chartLoading})}):d&&!i?jsxRuntime.jsx("div",{className:"flex h-full w-full items-center justify-center text-sm text-gray-500 dark:text-gray-400",children:c??x??P.chartNoData}):jsxRuntime.jsx("div",{className:u("h-full w-full transition-opacity duration-200",i&&"opacity-60"),children:typeof y=="function"?y({width:L,height:r,measured:T}):y})});return jsxRuntime.jsxs("figure",{className:u("flex w-full flex-col gap-3",M),"aria-label":v,"aria-labelledby":!v&&e?I:void 0,"aria-describedby":t?W:void 0,...w,children:[e||t||l?jsxRuntime.jsxs("figcaption",{className:"flex items-start justify-between gap-3",children:[jsxRuntime.jsxs("div",{className:"flex flex-col gap-0.5",children:[e?jsxRuntime.jsx("span",{id:I,className:u("font-semibold text-gray-900 dark:text-gray-100",Q0[o]),children:e}):null,t?jsxRuntime.jsx("span",{id:W,className:"text-xs text-gray-500 dark:text-gray-400",children:t}):null]}),l]}):null,a&&s==="top"?a:null,a&&s==="right"?jsxRuntime.jsxs("div",{className:"flex items-start gap-4",children:[jsxRuntime.jsx("div",{className:"min-w-0 grow",children:$}),a]}):$,a&&s==="bottom"?a:null,S&&jsxRuntime.jsx("div",{className:"flex",children:jsxRuntime.jsx("button",{type:"button",onClick:()=>E(H=>!H),"aria-expanded":h,"aria-controls":C?k:void 0,className:"cursor-pointer rounded-sm text-xs font-medium text-gray-600 underline underline-offset-2 hover:text-gray-900 focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-blue-500 dark:text-gray-400 dark:hover:text-white",children:h?g??P.chartHideTable:m??P.chartShowTable})}),C&&jsxRuntime.jsx("div",{id:k,children:p})]})}var Sl=[];function Kr({width:e,height:t,horizontal:r=Sl,vertical:n=Sl,className:o,...a}){return jsxRuntime.jsxs("g",{className:u("stroke-gray-200 dark:stroke-gray-700",o),strokeWidth:1,shapeRendering:"crispEdges","aria-hidden":"true",...a,children:[r.map(s=>jsxRuntime.jsx("line",{x1:0,y1:s,x2:e,y2:s},`h-${s}`)),n.map(s=>jsxRuntime.jsx("line",{x1:s,y1:0,x2:s,y2:t},`v-${s}`))]})}var ep={line:"h-0.5 w-3 rounded-full",rect:"h-2.5 w-2.5 rounded-sm",dot:"h-2 w-2 rounded-full"},tp={sm:"text-[11px]",md:"text-xs",lg:"text-sm"};function yr({items:e,position:t="bottom",marker:r="line",onToggle:n,size:o="md",className:a,...s}){return e.length===0?null:jsxRuntime.jsx("ul",{className:u("flex list-none flex-wrap gap-x-4 gap-y-1 p-0",t==="right"?"flex-col":"flex-row",t==="top"||t==="bottom"?"justify-center":"",tp[o],a),...s,children:e.map(l=>{let i=jsxRuntime.jsx("span",{className:u("shrink-0",ep[r]),style:{backgroundColor:l.color},"aria-hidden":"true"}),d=jsxRuntime.jsx("span",{className:u(l.hidden&&"line-through"),children:l.label}),c=jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[i,d]}),p=u("flex items-center gap-1.5 text-gray-600 dark:text-gray-300",l.hidden&&"text-gray-400 dark:text-gray-500");return jsxRuntime.jsx("li",{children:n?jsxRuntime.jsx("button",{type:"button",onClick:()=>n(l.key),"aria-pressed":!l.hidden,className:u(p,"cursor-pointer rounded-sm hover:text-gray-900 focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-blue-500 dark:hover:text-white"),children:c}):jsxRuntime.jsx("span",{className:p,children:c})},l.key)})})}function Ls({children:e,className:t,...r}){return jsxRuntime.jsx("table",{className:u("w-full text-sm text-left rtl:text-right text-gray-500 dark:text-gray-400",t),...r,children:e})}function As({children:e,className:t,...r}){return jsxRuntime.jsx("tbody",{className:u(t),...r,children:e})}function Ca({children:e,onClick:t,hidden:r=false,className:n,...o}){return jsxRuntime.jsx("td",{className:u("px-6 py-4",n),onClick:t,hidden:r,...o,children:e})}function zs({children:e,className:t,...r}){return jsxRuntime.jsx("thead",{className:u("text-xs text-gray-700 uppercase bg-gray-50 dark:bg-gray-700 dark:text-gray-400",t),...r,children:jsxRuntime.jsx("tr",{children:e})})}function wa({children:e,onClick:t,hidden:r=false,className:n,sortable:o=false,...a}){return jsxRuntime.jsx("th",{scope:"col",className:u("px-6 py-3",o&&"cursor-pointer hover:bg-gray-100 dark:hover:bg-gray-600",n),onClick:t,hidden:r,...a,children:e})}function Ws({children:e,onClick:t,clickable:r=true,className:n,...o}){return jsxRuntime.jsx("tr",{className:u("bg-white border-b dark:bg-gray-800 dark:border-gray-700",r&&"hover:bg-gray-50 hover:cursor-pointer dark:hover:bg-gray-600",n),onClick:t,...o,children:e})}var dp=8,Sa=["var(--color-chart-1)","var(--color-chart-2)","var(--color-chart-3)","var(--color-chart-4)","var(--color-chart-5)","var(--color-chart-6)","var(--color-chart-7)","var(--color-chart-8)"],Mr="var(--color-chart-muted)",Ra=3,Pl=false;function jn(e,t){return t||(e<0||e>=8?(Pl||(Pl=true,console.warn('[@synertech/ui] A chart was given more than 8 series. Extra series share the de-emphasis grey: fold the tail into an "Other" bucket, or split the chart, instead of relying on a ninth colour.')),Mr):Sa[e])}function Ir(e,t,r){return r&&e.key!==r?Mr:jn(t,e.color)}function Bt(e){return e.label??e.key}function Ur(e,t){return e.map((r,n)=>({key:r.key,label:Bt(r),color:Ir(r,n,t),hidden:r.hidden}))}var Hs=["var(--color-chart-seq-1)","var(--color-chart-seq-2)","var(--color-chart-seq-3)","var(--color-chart-seq-4)","var(--color-chart-seq-5)","var(--color-chart-seq-6)"],Fs=["var(--color-chart-ord-1)","var(--color-chart-ord-2)","var(--color-chart-ord-3)","var(--color-chart-ord-4)","var(--color-chart-ord-5)"],Na=["var(--color-chart-div-1)","var(--color-chart-div-2)","var(--color-chart-div-3)","var(--color-chart-div-4)","var(--color-chart-div-5)","var(--color-chart-div-6)","var(--color-chart-div-7)"],El=3,Dl=[false,false,false,false,true,true],cp=[false,false,true,true,true],Ml=[true,false,false,false,false,false,true],Ta=7;function Lo(e){return Number.isFinite(e)?e<0?0:e>1?1:e:0}function Vs(e,t){if(e.length===0)return Mr;if(e.length===1)return e[0];let r=Lo(t)*(e.length-1),n=Math.min(e.length-2,Math.floor(r)),o=r-n;if(o<=.005)return e[n];if(o>=.995)return e[n+1];let a=Math.round(o*1e3)/10;return `color-mix(in oklab, ${e[n+1]} ${a}%, ${e[n]})`}function up(e,t){return t<=1?.5:Math.min(t-1,Math.floor(Lo(e)*t))/(t-1)}function Il(e,t,r,n,o){let a=l=>{let i=n(l);return r===null?i:up(i,r)},s=(l=>Number.isFinite(l)?Vs(t,a(l)):Mr);return Object.defineProperties(s,{domain:{value:[e[0],e[1]],enumerable:true},colors:{value:t,enumerable:true},steps:{value:r,enumerable:true},position:{value:l=>Number.isFinite(l)?a(l):0,enumerable:true},onDark:{value:l=>{if(!Number.isFinite(l)||o.length===0)return false;let i=Math.round(a(l)*(o.length-1));return o[i]??false},enumerable:true}}),s}function Bs(e,t={}){let{steps:r,colors:n=Hs,darkStops:o}=t,[a,s]=e,l=s-a;return Il(e,n,r??null,i=>l===0?0:(i-a)/l,o??(n===Hs?Dl:[]))}function qn(e,t={}){let{steps:r,colors:n=Na,darkStops:o,center:a=0,symmetric:s=true}=t,[l,i]=e;if(s){let p=Math.max(Math.abs(i-a),Math.abs(a-l));l=a-p,i=a+p;}let d=n===Na?El:(n.length-1)/2,c=n.length-1;return Il([l,i],n,r??null,p=>{if(p>=a){let g=i-a,x=g<=0?0:Lo((p-a)/g);return (d+x*(c-d))/c}let f=a-l,m=f<=0?0:Lo((a-p)/f);return (d-m*d)/c},o??(n===Na?Ml:[]))}function pp(e,t=Fs.length,r=Fs){return t<=1?r[r.length-1]??Mr:Vs(r,Lo(e/(t-1)))}function et(e,t){let r=e[t];if(r==null||r==="")return null;if(typeof r=="number")return Number.isFinite(r)?r:null;if(typeof r=="boolean")return r?1:0;if(typeof r=="string"){let n=Number(r);return Number.isFinite(n)?n:null}return null}function Ut(e,t,r){let n=e[t];return n instanceof Date||typeof n=="number"||typeof n=="string"?n:n==null?r:String(n)}function ir(e,t){let r=[];for(let n of e)for(let o of t)r.push(et(n,o));return r}function Ao(e,t={}){if(!Number.isFinite(e))return "\u2014";let{locale:r,compact:n,currency:o,unit:a,minimumFractionDigits:s,maximumFractionDigits:l}=t,i=new Intl.NumberFormat(r,{notation:n?"compact":"standard",...o?{style:"currency",currency:o}:{},...s!==void 0?{minimumFractionDigits:s}:{},...l!==void 0?{maximumFractionDigits:l}:n?{maximumFractionDigits:1}:{}}).format(e);return a?`${i}${a}`:i}function mp(e,t){return Ao(e,{locale:t,compact:true})}function vt(e,t){return Number.isFinite(e)?Math.abs(e)<1e4?Ao(e,{locale:t}):mp(e,t):"\u2014"}function xr(e,t={}){if(!Number.isFinite(e))return "\u2014";let{locale:r,maximumFractionDigits:n=1,alreadyScaled:o,signed:a}=t;return new Intl.NumberFormat(r,{style:"percent",maximumFractionDigits:n,...a?{signDisplay:"exceptZero"}:{}}).format(o?e/100:e)}function bt(e,t){return e instanceof Date?new Intl.DateTimeFormat(t,{day:"2-digit",month:"short"}).format(e):typeof e=="number"?Ao(e,{locale:t}):e}function Yt({data:e,series:t,xKey:r,xLabel:n,formatX:o,formatValue:a,caption:s,emptyLabel:l,className:i,...d}){let c=t.filter(m=>!m.hidden);if(e.length===0||c.length===0)return jsxRuntime.jsx("div",{className:u("text-sm text-gray-500 dark:text-gray-400",i),...d,children:l});let p=(m,g)=>{let x=Ut(m,r,g);return o?o(x,g):bt(x)},f=m=>m===null?"\u2014":a?a(m):Ao(m);return jsxRuntime.jsx("div",{className:u("w-full overflow-x-auto",i),...d,children:jsxRuntime.jsxs(Ls,{children:[s?jsxRuntime.jsx("caption",{className:"sr-only",children:s}):null,jsxRuntime.jsxs(zs,{children:[jsxRuntime.jsx(wa,{children:n??r}),c.map(m=>jsxRuntime.jsx(wa,{className:"text-right",children:Bt(m)},m.key))]}),jsxRuntime.jsx(As,{children:e.map((m,g)=>jsxRuntime.jsxs(Ws,{clickable:false,children:[jsxRuntime.jsx(Ca,{className:"font-medium text-gray-900 dark:text-gray-100",children:p(m,g)}),c.map(x=>jsxRuntime.jsx(Ca,{className:"text-right [font-variant-numeric:tabular-nums]",children:f(et(m,x.key))},x.key))]},g))})]})})}function jt({x:e,y:t,visible:r=true,containerWidth:n,offset:o=12,className:a,style:s,children:l,...i}){if(!r)return null;let d=n!==void 0&&e>n*.6;return jsxRuntime.jsx("div",{role:"tooltip",className:u("pointer-events-none absolute top-0 left-0 z-10 min-w-24 rounded-md border border-gray-200 bg-white px-2.5 py-2 text-xs shadow-lg dark:border-gray-700 dark:bg-gray-800",a),style:{transform:`translate(${d?e-o:e+o}px, ${t}px) translate(${d?"-100%":"0"}, -50%)`,...s},...i,children:l})}function vr({title:e,points:t}){return jsxRuntime.jsxs("div",{className:"flex flex-col gap-1",children:[e!=null&&jsxRuntime.jsx("div",{className:"font-medium text-gray-900 dark:text-gray-100",children:e}),jsxRuntime.jsx("div",{className:"flex flex-col gap-0.5",children:t.map(r=>jsxRuntime.jsxs("div",{className:"flex items-center gap-2",children:[jsxRuntime.jsx("span",{className:"h-0.5 w-3 shrink-0 rounded-full",style:{backgroundColor:r.color},"aria-hidden":"true"}),jsxRuntime.jsx("span",{className:"grow text-gray-500 dark:text-gray-400",children:r.seriesLabel}),jsxRuntime.jsx("span",{className:"font-semibold text-gray-900 [font-variant-numeric:tabular-nums] dark:text-gray-100",children:r.formattedValue})]},r.seriesKey))})]})}function dt(e){return e instanceof Date?e.toISOString():String(e)}function Lr(e){if(e instanceof Date)return e.getTime();if(typeof e=="number")return e;let t=Number(e);return Number.isFinite(t)?t:Number.NaN}function Ar(e,t){let[r,n]=e,[o,a]=t,s=n-r,l=s===0?0:(a-o)/s,i=(d=>Number.isFinite(d)?s===0?(o+a)/2:o+(d-r)*l:Number.NaN);return Object.defineProperties(i,{domain:{value:[r,n],enumerable:true},range:{value:[o,a],enumerable:true},invert:{value:d=>l===0?r:r+(d-o)/l,enumerable:true}}),i}function Rn(e,t,r={}){let{paddingInner:n=.2,paddingOuter:o=n/2}=r,[a,s]=t,l=e.length,i=l===0?0:(s-a)/Math.max(1,l-n+o*2),d=i*(1-n),c=a+(s-a-i*(l-n))/2,p=new Map;e.forEach((g,x)=>{p.has(dt(g))||p.set(dt(g),x);});let f=g=>c+i*g,m=(g=>{let x=p.get(dt(g));return x===void 0?Number.NaN:f(x)});return Object.defineProperties(m,{bandwidth:{value:d,enumerable:true},step:{value:i,enumerable:true},domain:{value:e,enumerable:true},range:{value:[a,s],enumerable:true},center:{value:g=>{let x=p.get(dt(g));return x===void 0?Number.NaN:f(x)+d/2},enumerable:true},positions:{value:()=>e.map((g,x)=>f(x)),enumerable:true},indexOf:{value:g=>p.get(dt(g))??-1,enumerable:true}}),m}function dn(e,t){if(e.length===0)return -1;let r=0,n=Number.POSITIVE_INFINITY;for(let o=0;o<e.length;o+=1){let a=Math.abs(e[o]-t);a<n&&(n=a,r=o);}return r}function zo(e){let t=Number(e.toPrecision(12));return Object.is(t,-0)?0:t}function Al(e){if(!Number.isFinite(e)||e<=0)return 1;let t=Math.floor(Math.log10(e)),r=Math.pow(10,t),n=e/r,o=n<=1?1:n<=2?2:n<=5?5:10;return zo(o*r)}function Pa(e,t,r=5){if(!Number.isFinite(e)||!Number.isFinite(t))return [0,1];if(e===t){if(e===0)return [0,1];let o=Math.abs(e)*.5;[e,t]=[e-o,e+o];}let n=Al((t-e)/Math.max(1,r));return [zo(Math.floor(e/n)*n),zo(Math.ceil(t/n)*n)]}function Wo(e,t,r=5){if(!Number.isFinite(e)||!Number.isFinite(t))return [];if(r<=0)return [];if(e===t)return [zo(e)];e>t&&([e,t]=[t,e]);let n=Al((t-e)/r),o=Math.ceil(e/n),a=Math.floor(t/n),s=[];for(let l=o;l<=a&&s.length<=1e3;l+=1)s.push(zo(l*n));return s}function Ot(e){let t=Number.POSITIVE_INFINITY,r=Number.NEGATIVE_INFINITY,n=false;for(let o of e)o==null||!Number.isFinite(o)||(n=true,o<t&&(t=o),o>r&&(r=o));return n?[t,r]:null}function Qn(e,t={}){let{domain:r,includeZero:n=true,ticks:o=5}=t;if(Array.isArray(r))return r;let a=Ot(e);if(!a)return [0,1];let[s,l]=a;return n&&(s=Math.min(s,0),l=Math.max(l,0)),Pa(s,l,o)}var $s={top:10,right:16,bottom:28},zl=16,gp=14,fp=32;function cn({width:e,height:t,data:r,x:n,y:o,bounds:a,margin:s,orientation:l="vertical",placement:i="point",bandPaddingInner:d=.2,formatValue:c,formatX:p,extraTop:f=0,defaultIncludeZero:m=false}){let g=l==="vertical",x=r.map((B,U)=>Ut(B,n.key,U)),b=Qn(a??[],{domain:o?.domain,includeZero:o?.includeZero??m,ticks:o?.ticks??5}),v=o?.hidden??false,y=n.hidden??false,M=v?[]:Wo(b[0],b[1],o?.ticks??5),w=M.map(c),P=g&&(n.scale==="linear"||n.scale==="time"),h=x.map((B,U)=>p(B,U)),E=g?v:y,D=g?w:h,k=g?o?.width:n.height,I=g?y:v,W=g?n.height:void 0,O=g?n.label:o?.label,L=g?o?.label:n.label,T=g&&!y&&i!=="band"?h:[],S=B=>B?Sn(B)/2+4:0,C={top:s?.top??$s.top+f,right:s?.right??Math.max($s.right,S(T[T.length-1])),bottom:s?.bottom??(I?8:W??$s.bottom+(O?zl:0)),left:s?.left??(E?8:k??Math.max(Math.max(fp,br(D)+gp)+(L?zl:0),S(T[0])))},N=Math.max(0,e-C.left-C.right),R=Math.max(0,t-C.top-C.bottom),$=g?Ar(b,[R,0]):Ar(b,[0,N]),H=g?N:R,K,_=0,F;if(P){let B=x.map(Lr),U=Ot(B)??[0,1],Q=Ar(U,[0,H]);K=B.map(J=>Q(J)),F=y?[]:Wo(U[0],U[1],n.ticks??5).map(J=>({value:J,offset:Q(J),label:p(n.scale==="time"?new Date(J):J,0)}));}else if(i==="band"){let B=Rn(r.map((U,Q)=>Q),[0,H],{paddingInner:d});K=r.map((U,Q)=>B(Q)),_=B.bandwidth,F=[];}else {let B=r.length>1?H/(r.length-1):0;K=r.map((U,Q)=>r.length>1?Q*B:H/2),F=[];}let A=K.map(B=>B+_/2);if(!P&&!y){let B=g?br(h):15,U=Io(h.length,H,B);F=h.map((Q,J)=>({value:x[J],offset:A[J],label:Q})).filter((Q,J)=>J%U===0);}return {margin:C,innerWidth:N,innerHeight:R,orientation:l,valueScale:$,domain:b,valueTicks:M.map(B=>({value:B,offset:$(B),label:c(B)})),xValues:x,categoryPositions:K,bandwidth:_,categoryCenters:A,categoryTicks:F,categoryLength:H}}function lt(e){return Math.round(e*100)/100}function Wl(e){return e.defined!==false&&Number.isFinite(e.x)&&Number.isFinite(e.y)}function Hl(e,t=false){if(t){let o=e.filter(Wl);return o.length>0?[o]:[]}let r=[],n=[];for(let o of e)Wl(o)?n.push(o):n.length>0&&(r.push(n),n=[]);return n.length>0&&r.push(n),r}function bp(e){let t=e.length,r=[],n=[];for(let a=0;a<t-1;a+=1){let s=e[a+1].x-e[a].x;r.push(s),n.push(s===0?0:(e[a+1].y-e[a].y)/s);}let o=new Array(t);o[0]=n[0],o[t-1]=n[t-2];for(let a=1;a<t-1;a+=1){let s=n[a-1],l=n[a];if(s*l<=0)o[a]=0;else {let i=2*r[a]+r[a-1],d=r[a]+2*r[a-1];o[a]=(i+d)/(i/s+d/l);}}return o}function Xs(e,t){if(e.length<2)return "";if(t==="monotone"&&e.length>2){let n=bp(e),o="";for(let a=0;a<e.length-1;a+=1){let s=e[a],l=e[a+1],i=(l.x-s.x)/3;o+=` C${lt(s.x+i)},${lt(s.y+n[a]*i)} ${lt(l.x-i)},${lt(l.y-n[a+1]*i)} ${lt(l.x)},${lt(l.y)}`;}return o}let r="";for(let n=1;n<e.length;n+=1){let o=e[n-1],a=e[n];if(t==="step"){let s=lt((o.x+a.x)/2);r+=` L${s},${lt(o.y)} L${s},${lt(a.y)}`;}else t==="stepAfter"&&(r+=` L${lt(a.x)},${lt(o.y)}`);r+=` L${lt(a.x)},${lt(a.y)}`;}return r}function Yr(e,t="linear",r={}){return Hl(e,r.connectNulls).map(n=>{let[o]=n;return `M${lt(o.x)},${lt(o.y)}${Xs(n,t)}`}).join(" ")}function Ho(e,t,r="linear",n={}){let o=Hl(e,n.connectNulls);if(o.length===0)return "";let a=typeof t=="number"?null:new Map(t.map(s=>[lt(s.x),s]));return o.map(s=>{let[l]=s,i=s[s.length-1],d=`M${lt(l.x)},${lt(l.y)}${Xs(s,r)}`;if(a===null){let f=lt(t);return `${d} L${lt(i.x)},${f} L${lt(l.x)},${f} Z`}let c=s.map(f=>a.get(lt(f.x))).filter(f=>f!==void 0).reverse();if(c.length===0)return `${d} Z`;let[p]=c;return `${d} L${lt(p.x)},${lt(p.y)}${Xs(c,r)} Z`}).join(" ")}function Fo({x:e,y:t,width:r,height:n,radius:o=4,round:a="none"}){if(!(r>0)||!(n>0))return "";let s=Math.max(0,Math.min(o,r/2,n/2)),[l,i]=[We(e),We(t)],[d,c]=[We(e+r),We(t+n)];if(s===0||a==="none")return `M${l},${i} L${d},${i} L${d},${c} L${l},${c} Z`;switch(a){case "top":return `M${l},${c} L${l},${We(t+s)} Q${l},${i} ${We(e+s)},${i} L${We(e+r-s)},${i} Q${d},${i} ${d},${We(t+s)} L${d},${c} Z`;case "bottom":return `M${l},${i} L${d},${i} L${d},${We(t+n-s)} Q${d},${c} ${We(e+r-s)},${c} L${We(e+s)},${c} Q${l},${c} ${l},${We(t+n-s)} Z`;case "right":return `M${l},${i} L${We(e+r-s)},${i} Q${d},${i} ${d},${We(t+s)} L${d},${We(t+n-s)} Q${d},${c} ${We(e+r-s)},${c} L${l},${c} Z`;case "left":return `M${d},${i} L${We(e+s)},${i} Q${l},${i} ${l},${We(t+s)} L${l},${We(t+n-s)} Q${l},${c} ${We(e+s)},${c} L${d},${c} Z`;default:return `M${l},${i} L${d},${i} L${d},${c} L${l},${c} Z`}}function We(e){return Math.round(e*100)/100}function un(e,t,r,n){return {x:We(e+r*Math.sin(n)),y:We(t-r*Math.cos(n))}}function Fl({cx:e,cy:t,innerRadius:r,outerRadius:n,startAngle:o,endAngle:a}){let s=a-o;if(!(n>0)||!(s>0))return "";let l=s>=Math.PI*2-1e-9,i=Math.max(0,Math.min(r,n));if(l){let g=un(e,t,n,0),x=un(e,t,n,Math.PI),b=`M${g.x},${g.y} A${We(n)},${We(n)} 0 1 1 ${x.x},${x.y} A${We(n)},${We(n)} 0 1 1 ${g.x},${g.y} Z`;if(i===0)return b;let v=un(e,t,i,0),y=un(e,t,i,Math.PI);return `${b} M${v.x},${v.y} A${We(i)},${We(i)} 0 1 0 ${y.x},${y.y} A${We(i)},${We(i)} 0 1 0 ${v.x},${v.y} Z`}let d=s>Math.PI?1:0,c=un(e,t,n,o),p=un(e,t,n,a);if(i===0)return `M${We(e)},${We(t)} L${c.x},${c.y} A${We(n)},${We(n)} 0 ${d} 1 ${p.x},${p.y} Z`;let f=un(e,t,i,a),m=un(e,t,i,o);return `M${c.x},${c.y} A${We(n)},${We(n)} 0 ${d} 1 ${p.x},${p.y} L${f.x},${f.y} A${We(i)},${We(i)} 0 ${d} 0 ${m.x},${m.y} Z`}function Ea(e,t,r="none"){return e.map((n,o)=>{let a=t.map(c=>et(n,c)),s=a.reduce((c,p)=>c+(p===null?0:Math.abs(p)),0),l=0,i=0,d=t.map((c,p)=>{let f=a[p];if(r==="none")return {key:c,value:f,start:0,end:f??0};if(f===null)return {key:c,value:null,start:l,end:l};let m=r==="percent"?s===0?0:f/s*100:f;if(m>=0){let x=l;return l+=m,{key:c,value:f,start:x,end:l}}let g=i;return i+=m,{key:c,value:f,start:i,end:g}});return {index:o,datum:n,total:s,segments:d}})}function Da(e){let t=Number.POSITIVE_INFINITY,r=Number.NEGATIVE_INFINITY,n=false;for(let o of e)for(let a of o.segments)a.value!==null&&(n=true,t=Math.min(t,a.start,a.end),r=Math.max(r,a.start,a.end));return n?[t,r]:null}function Vl(e,t,r={}){let{centerKey:n,percent:o=false}=r,a=n?t.indexOf(n):-1,s=a>=0?a:Math.max(0,Math.min(t.length,r.negativeCount??Math.floor(t.length/2)));return e.map((l,i)=>{let d=t.map(v=>et(l,v)),c=d.reduce((v,y)=>v+(y===null?0:Math.abs(y)),0),p=d.map(v=>v===null?null:o?c===0?0:v/c*100:v),f=t.map(v=>({key:v,value:null,start:0,end:0,base:false,outer:false})),m=0;a>=0&&(m=(p[a]??0)/2,f[a]={key:t[a],value:d[a],start:m===0?0:-m,end:m,base:true,outer:false});let g=m===0?0:-m,x=-1;for(let v=s-1;v>=0;v-=1){let y=p[v];if(y===null){f[v]={...f[v],value:null,start:g,end:g};continue}let M=g-Math.abs(y);f[v]={key:t[v],value:d[v],start:g,end:M,base:a<0&&x===-1,outer:false},g=M,x=v;}x>=0&&(f[x].outer=true),g=m;let b=-1;for(let v=a>=0?a+1:s;v<t.length;v+=1){let y=p[v];if(y===null){f[v]={...f[v],value:null,start:g,end:g};continue}let M=g+Math.abs(y);f[v]={key:t[v],value:d[v],start:g,end:M,base:a<0&&b===-1,outer:false},g=M,b=v;}return b>=0?f[b].outer=true:a>=0&&(f[a].outer=true),{index:i,datum:l,total:c,segments:f}})}var yp=.12,xp=.9,vp=10,kp=js.memo(function({bands:t,stacked:r}){return jsxRuntime.jsx("g",{children:t.map(n=>jsxRuntime.jsxs("g",{children:[jsxRuntime.jsx("path",{d:n.area,fill:n.color,fillOpacity:r?xp:yp,stroke:"none"}),n.gap?jsxRuntime.jsx("path",{d:n.gap,fill:"none",strokeWidth:2,className:"stroke-white dark:stroke-gray-800"}):null,jsxRuntime.jsx("path",{d:n.edge,fill:"none",stroke:n.color,strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"})]},n.key))})});function Cp({width:e,height:t,data:r,resolvedSeries:n,x:o,y:a,grid:s,size:l,curve:i,stack:d,baseline:c,connectNulls:p,referenceLines:f,margin:m,tooltip:g,onPointClick:x,plotLabel:b,formatValue:v,formatRaw:y,formatX:M}){let[w,P]=js.useState(null),h=js.useMemo(()=>{let T=n.filter(A=>!A.hidden),S=T.map(A=>A.key),C=d!=="none",N=Ea(r,S,d),R=C?Da(N):Ot([...ir(r,S),c]),$=cn({width:e,height:t,data:r,x:o,y:a,bounds:R,margin:m,placement:"point",formatValue:v,formatX:M,defaultIncludeZero:true}),H=$.categoryCenters,K=$.valueScale,_=K(C?0:c),F=T.map((A,B)=>{let U=r.map((Y,z)=>{let X=N[z].segments[B];return {x:H[z],y:X.value===null?Number.NaN:K(X.end),defined:X.value!==null}}),Q=r.map((Y,z)=>{let X=N[z].segments[B];return {x:H[z],y:X.value===null?Number.NaN:K(C?X.start:c),defined:X.value!==null}}),J={connectNulls:p};return {key:A.key,color:A.color,area:C?Ho(U,Q,i,J):Ho(U,_,i,J),edge:Yr(U,i,J),gap:C&&B>0?Yr(Q,i,J):""}});return {visible:T,rows:N,stacked:C,xValues:$.xValues,positions:H,xTicks:$.categoryTicks,yTicks:$.valueTicks,valueScale:K,innerWidth:$.innerWidth,innerHeight:$.innerHeight,margin:$.margin,bands:F}},[r,n,o,a,e,t,m,i,d,c,p,v,M]),E=js.useCallback(T=>h.visible.map((S,C)=>{let N=et(r[T],S.key),R=h.rows[T].segments[C],$=N===null?"\u2014":d==="percent"?`${y(N)} (${v(R.end-R.start)})`:v(N);return {seriesKey:S.key,seriesLabel:Bt(S),color:S.color,value:N,formattedValue:$,datum:r[T]}}),[r,h.visible,h.rows,d,v,y]),D=js.useCallback(T=>{if(g===false||r.length===0)return;let S=T.currentTarget.getBoundingClientRect(),C=T.clientX-S.left-h.margin.left,N=dn(h.positions,C);P(N>=0?N:null);},[g,r.length,h.margin.left,h.positions]),k=js.useCallback(T=>{if(r.length===0)return;let S=r.length-1,C=w??0,N=T.key==="ArrowRight"?Math.min(S,C+1):T.key==="ArrowLeft"?Math.max(0,C-1):T.key==="Home"?0:T.key==="End"?S:T.key==="Escape"?null:void 0;N!==void 0&&(T.preventDefault(),P(N));},[r.length,w]),I=js.useCallback(()=>{if(!x||w===null)return;let[T]=E(w);T&&x({...T,index:w,x:h.xValues[w]});},[x,w,E,h.xValues]),W=w===null?null:E(w),O=w===null?[]:h.visible.map((T,S)=>{let C=h.rows[w].segments[S];return C.value===null?null:{key:T.key,color:T.color,y:h.valueScale(C.end)}}).filter(T=>T!==null),L=w===null||W===null?null:{x:h.xValues[w],xLabel:M(h.xValues[w],w),index:w,points:W};return jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsxs("svg",{width:e,height:t,role:"img","aria-label":b??h.visible.map(T=>Bt(T)).join(", "),tabIndex:0,className:"touch-none focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-blue-500",onPointerMove:D,onPointerLeave:()=>P(null),onKeyDown:k,onBlur:()=>P(null),onClick:I,children:[jsxRuntime.jsxs("g",{transform:`translate(${h.margin.left}, ${h.margin.top})`,children:[jsxRuntime.jsx(Kr,{width:h.innerWidth,height:h.innerHeight,horizontal:s==="y"||s==="both"?h.yTicks.map(T=>T.offset):void 0,vertical:s==="x"||s==="both"?h.xTicks.map(T=>T.offset):void 0}),jsxRuntime.jsx(kp,{bands:h.bands,stacked:h.stacked}),f?.map(T=>{let S=h.valueScale(T.value),C=S<vp?S+12:S-4;return jsxRuntime.jsxs("g",{children:[jsxRuntime.jsx("line",{x1:0,y1:S,x2:h.innerWidth,y2:S,stroke:T.color??"var(--color-chart-muted)",strokeWidth:1,strokeDasharray:T.dashed===false?void 0:"4 4"}),T.label?jsxRuntime.jsx("text",{x:h.innerWidth,y:C,textAnchor:"end",className:"fill-gray-500 text-[10px] dark:fill-gray-400",children:T.label}):null]},`${T.value}-${T.label??""}`)}),w!==null?jsxRuntime.jsxs("g",{"aria-hidden":"true",children:[jsxRuntime.jsx("line",{x1:h.positions[w],y1:0,x2:h.positions[w],y2:h.innerHeight,className:"stroke-gray-400 dark:stroke-gray-500",strokeWidth:1}),O.map(T=>jsxRuntime.jsx("circle",{cx:h.positions[w],cy:T.y,r:4,fill:T.color,strokeWidth:2,className:"stroke-white dark:stroke-gray-800"},T.key))]}):null]}),jsxRuntime.jsx("g",{transform:`translate(${h.margin.left}, ${h.margin.top+h.innerHeight})`,children:o.hidden?null:jsxRuntime.jsx(St,{orientation:"bottom",ticks:h.xTicks,length:h.innerWidth,label:o.label,size:l})}),jsxRuntime.jsx("g",{transform:`translate(${h.margin.left}, ${h.margin.top})`,children:a?.hidden?null:jsxRuntime.jsx(St,{orientation:"left",ticks:h.yTicks,length:h.innerHeight,showLine:false,label:a?.label,size:l})})]}),L&&g!==false?jsxRuntime.jsx(jt,{x:h.margin.left+h.positions[L.index],y:h.margin.top+(O.length>0?Math.min(...O.map(T=>T.y)):h.innerHeight/2),containerWidth:e,children:typeof g=="function"?g(L):jsxRuntime.jsx(vr,{title:L.xLabel,points:L.points})}):null]})}function wp({data:e,series:t,x:r,y:n,height:o=240,width:a,size:s="md",grid:l="y",legend:i,tooltip:d=true,tableView:c=false,emphasis:p,title:f,description:m,loading:g=false,emptyState:x,onPointClick:b,curve:v="monotone",stack:y="none",baseline:M=0,connectNulls:w=false,referenceLines:P,legendToggle:h=true,margin:E,locale:D,plotLabel:k,className:I,...W}){let[O,L]=js.useState(()=>new Set),T=js.useMemo(()=>t.map((A,B)=>({...A,hidden:A.hidden||O.has(A.key),color:Ir(A,B,p)})),[t,O,p]),S=y==="percent",C=js.useMemo(()=>S?{domain:[0,100],...n}:n,[S,n]),N=js.useMemo(()=>n?.format??(S?A=>xr(A,{locale:D,alreadyScaled:true,maximumFractionDigits:0}):A=>vt(A,D)),[n?.format,S,D]),R=js.useMemo(()=>A=>vt(A,D),[D]),$=js.useMemo(()=>r.format??(A=>r.scale==="time"?bt(A instanceof Date?A:new Date(Lr(A)),D):bt(A,D)),[r.format,r.scale,D]),H=js.useCallback(A=>{L(B=>{let U=new Set(B);return U.has(A)?U.delete(A):U.add(A),U});},[]),K=i===void 0?t.length>=2:i!==false,_=typeof i=="string"?i:"bottom",F=T.filter(A=>!A.hidden).length;return jsxRuntime.jsx(Kt,{title:f,description:m,height:o,width:a,size:s,loading:g,empty:e.length===0||F===0,emptyState:x,tableView:c,legendPosition:_,legend:K?jsxRuntime.jsx(yr,{items:Ur(T,p),position:_,marker:"rect",size:s,onToggle:h?H:void 0}):void 0,table:c?jsxRuntime.jsx(Yt,{data:e,series:T,xKey:r.key,xLabel:r.label??r.key,formatX:$,formatValue:R,caption:typeof f=="string"?f:void 0}):void 0,className:I,...W,children:({width:A})=>jsxRuntime.jsx(Cp,{width:A,height:o,data:e,resolvedSeries:T,x:r,y:C,grid:l,size:s,curve:v,stack:y,baseline:M,connectNulls:w,referenceLines:P,margin:E,tooltip:d,onPointClick:b,plotLabel:k,formatValue:N,formatRaw:R,formatX:$})})}var Sp={xs:"h-6 w-6 text-xs",sm:"h-8 w-8 text-sm",md:"h-10 w-10 text-base",lg:"h-12 w-12 text-lg",xl:"h-16 w-16 text-xl"},Rp={circle:"rounded-full",square:"rounded-none",rounded:"rounded-md"};function Tp({src:e,alt:t="Avatar",fallback:r,size:n="md",variant:o="circle",border:a=false,className:s,...l}){return jsxRuntime.jsx("div",{className:u("inline-flex items-center justify-center overflow-hidden bg-gray-200 font-medium text-gray-600 dark:bg-gray-700 dark:text-gray-300",Sp[n],Rp[o],a&&"ring-2 ring-white dark:ring-gray-900",s),...l,children:e?jsxRuntime.jsx("img",{src:e,alt:t,className:"h-full w-full object-cover"}):jsxRuntime.jsx("span",{children:r||t.charAt(0).toUpperCase()})})}var Pp={default:{solid:"bg-gray-500 text-white",soft:"bg-gray-100 text-gray-700 dark:bg-gray-700 dark:text-gray-300",outlined:"border border-gray-300 text-gray-600 dark:border-gray-600 dark:text-gray-400",subtle:"bg-gray-50 text-gray-600 dark:bg-gray-800 dark:text-gray-400"},primary:{solid:"bg-blue-600 text-white",soft:"bg-blue-100 text-blue-700 dark:bg-blue-900/50 dark:text-blue-300",outlined:"border border-blue-500 text-blue-600 dark:border-blue-400 dark:text-blue-400",subtle:"bg-blue-50 text-blue-600 dark:bg-blue-900/30 dark:text-blue-400"},success:{solid:"bg-green-600 text-white",soft:"bg-green-100 text-green-700 dark:bg-green-900/50 dark:text-green-300",outlined:"border border-green-500 text-green-600 dark:border-green-400 dark:text-green-400",subtle:"bg-green-50 text-green-600 dark:bg-green-900/30 dark:text-green-400"},warning:{solid:"bg-yellow-500 text-white",soft:"bg-yellow-100 text-yellow-700 dark:bg-yellow-900/50 dark:text-yellow-300",outlined:"border border-yellow-400 text-yellow-600 dark:border-yellow-400 dark:text-yellow-400",subtle:"bg-yellow-50 text-yellow-600 dark:bg-yellow-900/30 dark:text-yellow-400"},error:{solid:"bg-red-600 text-white",soft:"bg-red-100 text-red-700 dark:bg-red-900/50 dark:text-red-300",outlined:"border border-red-500 text-red-600 dark:border-red-400 dark:text-red-400",subtle:"bg-red-50 text-red-600 dark:bg-red-900/30 dark:text-red-400"},info:{solid:"bg-cyan-600 text-white",soft:"bg-cyan-100 text-cyan-700 dark:bg-cyan-900/50 dark:text-cyan-300",outlined:"border border-cyan-500 text-cyan-600 dark:border-cyan-400 dark:text-cyan-400",subtle:"bg-cyan-50 text-cyan-600 dark:bg-cyan-900/30 dark:text-cyan-400"},purple:{solid:"bg-purple-600 text-white",soft:"bg-purple-100 text-purple-700 dark:bg-purple-900/50 dark:text-purple-300",outlined:"border border-purple-500 text-purple-600 dark:border-purple-400 dark:text-purple-400",subtle:"bg-purple-50 text-purple-600 dark:bg-purple-900/30 dark:text-purple-400"},indigo:{solid:"bg-indigo-600 text-white",soft:"bg-indigo-100 text-indigo-700 dark:bg-indigo-900/50 dark:text-indigo-300",outlined:"border border-indigo-500 text-indigo-600 dark:border-indigo-400 dark:text-indigo-400",subtle:"bg-indigo-50 text-indigo-600 dark:bg-indigo-900/30 dark:text-indigo-400"},teal:{solid:"bg-teal-600 text-white",soft:"bg-teal-100 text-teal-700 dark:bg-teal-900/50 dark:text-teal-300",outlined:"border border-teal-500 text-teal-600 dark:border-teal-400 dark:text-teal-400",subtle:"bg-teal-50 text-teal-600 dark:bg-teal-900/30 dark:text-teal-400"}},Ep={default:"bg-gray-500",primary:"bg-blue-500",success:"bg-green-500",warning:"bg-yellow-400",error:"bg-red-500",info:"bg-cyan-500",purple:"bg-purple-500",indigo:"bg-indigo-500",teal:"bg-teal-500"},Dp={sm:"text-[10px] px-1.5 py-0.5 gap-1",md:"text-xs px-2 py-0.5 gap-1",lg:"text-sm px-2.5 py-1 gap-1.5"},Mp={sm:"w-1.5 h-1.5",md:"w-1.5 h-1.5",lg:"w-2 h-2"},Ip={sm:"w-2.5 h-2.5",md:"w-3 h-3",lg:"w-3.5 h-3.5"};function $l({children:e,color:t="default",size:r="md",variant:n="soft",dot:o=false,icon:a,pill:s=true,className:l,...i}){return jsxRuntime.jsxs("span",{className:u("inline-flex items-center font-medium",Dp[r],s?"rounded-full":"rounded",Pp[t][n],l),...i,children:[o&&jsxRuntime.jsx("span",{className:u("shrink-0 rounded-full",Mp[r],Ep[t]),"aria-hidden":"true"}),a&&!o&&jsxRuntime.jsx("span",{className:u("shrink-0",Ip[r]),"aria-hidden":"true",children:a}),e]})}$l.displayName="Badge";var Ap={sm:"text-[10px]",md:"text-[11px]",lg:"text-xs"};function Bo({scale:e,label:t,format:r,ticks:n=3,size:o="md",thickness:a=10,locale:s,className:l,...i}){let[d,c]=e.domain,p=r??(y=>vt(y,s)),f=e.steps,m=f!==null&&f>0,g=Math.max(2,Math.round(n)),x=m?Array.from({length:f+1},(y,M)=>M/f):Array.from({length:g},(y,M)=>M/(g-1)),b=y=>d+y*(c-d),v=m?jsxRuntime.jsx("div",{className:"flex h-full w-full overflow-hidden rounded-sm",children:Array.from({length:f},(y,M)=>jsxRuntime.jsx("span",{className:"h-full grow",style:{backgroundColor:e(b((M+.5)/f))}},M))}):jsxRuntime.jsx("div",{className:"h-full w-full rounded-sm",style:{backgroundImage:`linear-gradient(to right, ${e.colors.join(", ")})`}});return jsxRuntime.jsxs("div",{className:u("flex w-full max-w-80 flex-col gap-1",Ap[o],l),...i,children:[t?jsxRuntime.jsx("span",{className:"text-gray-600 dark:text-gray-300",children:t}):null,jsxRuntime.jsx("div",{style:{height:a},"aria-hidden":"true",children:v}),jsxRuntime.jsx("div",{className:"relative h-4 w-full",children:x.map((y,M)=>jsxRuntime.jsx("span",{className:"absolute top-0 whitespace-nowrap text-gray-500 [font-variant-numeric:tabular-nums] dark:text-gray-400",style:{left:`${y*100}%`,transform:`translateX(${M===0?"0":M===x.length-1?"-100%":"-50%"})`},children:p(b(y))},y))})]})}var Hp=24,Pn=2,Fp=4,to=6,Vp=10,Bp=js.memo(function({bars:t}){return jsxRuntime.jsx("g",{children:t.map((r,n)=>jsxRuntime.jsxs("g",{children:[jsxRuntime.jsx("path",{d:r.d,fill:r.color}),r.label?jsxRuntime.jsx("text",{x:r.label.x,y:r.label.y,textAnchor:r.label.anchor,dominantBaseline:"middle",className:"fill-gray-600 text-[10px] [font-variant-numeric:tabular-nums] dark:fill-gray-300",children:r.label.text}):null]},`${r.key}-${n}`))})});function Op({width:e,height:t,data:r,resolvedSeries:n,x:o,y:a,grid:s,size:l,orientation:i,stack:d,center:c,centerKey:p,valueColors:f,barSize:m,showValues:g,referenceLines:x,margin:b,tooltip:v,onPointClick:y,plotLabel:M,formatValue:w,formatRaw:P,formatX:h}){let[E,D]=js.useState(null),k=js.useMemo(()=>{let N=i==="vertical",R=n.filter(ke=>!ke.hidden),$=R.map(ke=>ke.key),H=p!==null||d!=="none",K=p!==null?Vl(r,$,{centerKey:p,percent:d==="percent"}):Ea(r,$,d),_=H?Da(K):Ot(ir(r,$)),F=cn({width:e,height:t,data:r,x:o,y:a,bounds:_===null?null:[Math.min(_[0],c),Math.max(_[1],c)],margin:b,orientation:i,placement:"band",formatValue:w,formatX:h,defaultIncludeZero:c===0}),{valueScale:A,bandwidth:B,categoryPositions:U,innerWidth:Q,innerHeight:J}=F,Y=A(c),z=Math.max(1,R.length),X=H?B:B/z,ne=Math.min(m??Hp,Math.max(1,X-(H?0:Pn))),re=H?ne:z*ne+(z-1)*Pn,q=(B-re)/2,de=[],xe=ke=>H?ke.end>=ke.start:ke.end>=c;return K.forEach((ke,le)=>{let Se=-1,Me=-1;ke.segments.forEach(($e,ie)=>{$e.value!==null&&$e.outer!==false&&(xe($e)?Se=ie:Me=ie);});let je=0,at=0;ke.segments.forEach(($e,ie)=>{if($e.value===null)return;let he=R[ie],Ie=xe($e),xt=A(H?$e.start:c),Te=A($e.end),Ee=Math.min(xt,Te),nt=Math.abs(Te-xt),pr=$e.base??(Ie?je===0:at===0),pt=N?!Ie:Ie;H&&!pr&&nt>Pn&&(nt-=Pn,pt&&(Ee+=Pn)),Ie?je+=1:at+=1;let Ht=U[le]+(H?q:q+ie*(ne+Pn)),sr=ie===(Ie?Se:Me)?N?Ie?"top":"bottom":Ie?"right":"left":"none",Nr=N?{x:Ht,y:Ee,width:ne,height:nt}:{x:Ee,y:Ht,width:nt,height:ne},Gt=null;if(g&&!H){let er=P($e.value),tr=Sn(er,10);if(N){let ue=Ie?Ee:Ee+nt,me=Ie?ue-to:ue+to,Z=z>1?ne+Pn:B;tr<=Z&&(Ie?me>8:me<J-4)&&(Gt={x:Ht+ne/2,y:me,anchor:"middle",text:er});}else {let ue=Ie?Ee+nt:Ee,me=Ie?Q-ue-to:ue-to;tr<=me&&(Gt={x:Ie?ue+to:ue-to,y:Ht+ne/2,anchor:Ie?"start":"end",text:er});}}de.push({key:he.key,color:f&&$e.value!==null?f($e.value):he.color,d:Fo({...Nr,radius:Fp,round:sr}),label:Gt});});}),{vertical:N,visible:R,rows:K,stacked:H,xValues:F.xValues,categoryPositions:U,categoryCenters:F.categoryCenters,bandwidth:B,categoryTicks:F.categoryTicks,valueTicks:F.valueTicks,valueScale:A,baseline:Y,innerWidth:Q,innerHeight:J,margin:F.margin,bars:de}},[r,n,o,a,e,t,b,i,d,c,p,f,m,g,w,P,h]),I=js.useCallback(N=>k.visible.map((R,$)=>{let H=et(r[N],R.key),K=k.rows[N].segments[$],_=H===null?"\u2014":d==="percent"?`${P(H)} (${w(K.end-K.start)})`:w(H);return {seriesKey:R.key,seriesLabel:Bt(R),color:R.color,value:H,formattedValue:_,datum:r[N]}}),[r,k.visible,k.rows,d,w,P]),W=js.useCallback(N=>{if(v===false||r.length===0)return;let R=N.currentTarget.getBoundingClientRect(),$=k.vertical?N.clientX-R.left-k.margin.left:N.clientY-R.top-k.margin.top,H=dn(k.categoryCenters,$);D(H>=0?H:null);},[v,r.length,k.vertical,k.margin,k.categoryCenters]),O=js.useCallback(N=>{if(r.length===0)return;let R=r.length-1,$=E??0,H=k.vertical?"ArrowRight":"ArrowDown",K=k.vertical?"ArrowLeft":"ArrowUp",_=N.key===H?Math.min(R,$+1):N.key===K?Math.max(0,$-1):N.key==="Home"?0:N.key==="End"?R:N.key==="Escape"?null:void 0;_!==void 0&&(N.preventDefault(),D(_));},[r.length,E,k.vertical]),L=js.useCallback(()=>{if(!y||E===null)return;let[N]=I(E);N&&y({...N,index:E,x:k.xValues[E]});},[y,E,I,k.xValues]),T=E===null?null:I(E),S=E===null||T===null?null:{x:k.xValues[E],xLabel:h(k.xValues[E],E),index:E,points:T},C=E===null?null:k.vertical?{x:k.margin.left+k.categoryCenters[E],y:k.margin.top+Math.min(...k.rows[E].segments.filter(N=>N.value!==null).map(N=>k.valueScale(N.end)),k.baseline)}:{x:k.margin.left+Math.max(...k.rows[E].segments.filter(N=>N.value!==null).map(N=>k.valueScale(N.end)),k.baseline),y:k.margin.top+k.categoryCenters[E]};return jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsxs("svg",{width:e,height:t,role:"img","aria-label":M??k.visible.map(N=>Bt(N)).join(", "),tabIndex:0,className:"touch-none focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-blue-500",onPointerMove:W,onPointerLeave:()=>D(null),onKeyDown:O,onBlur:()=>D(null),onClick:L,children:[jsxRuntime.jsxs("g",{transform:`translate(${k.margin.left}, ${k.margin.top})`,children:[jsxRuntime.jsx(Kr,{width:k.innerWidth,height:k.innerHeight,horizontal:k.vertical&&(s==="y"||s==="both")?k.valueTicks.map(N=>N.offset):void 0,vertical:!k.vertical&&(s==="y"||s==="both")?k.valueTicks.map(N=>N.offset):void 0}),E!==null?jsxRuntime.jsx("rect",{x:k.vertical?k.categoryPositions[E]:0,y:k.vertical?0:k.categoryPositions[E],width:k.vertical?k.bandwidth:k.innerWidth,height:k.vertical?k.innerHeight:k.bandwidth,className:"fill-gray-400 dark:fill-gray-500",opacity:.12,"aria-hidden":"true"}):null,jsxRuntime.jsx(Bp,{bars:k.bars}),jsxRuntime.jsx("line",{x1:k.vertical?0:k.baseline,y1:k.vertical?k.baseline:0,x2:k.vertical?k.innerWidth:k.baseline,y2:k.vertical?k.baseline:k.innerHeight,className:"stroke-gray-300 dark:stroke-gray-600",strokeWidth:1,shapeRendering:"crispEdges"}),x?.map(N=>{let R=k.valueScale(N.value),$=R<Vp?R+12:R-4;return jsxRuntime.jsxs("g",{children:[jsxRuntime.jsx("line",{x1:k.vertical?0:R,y1:k.vertical?R:0,x2:k.vertical?k.innerWidth:R,y2:k.vertical?R:k.innerHeight,stroke:N.color??"var(--color-chart-muted)",strokeWidth:1,strokeDasharray:N.dashed===false?void 0:"4 4"}),N.label?jsxRuntime.jsx("text",{x:k.vertical?k.innerWidth:R+4,y:k.vertical?$:8,textAnchor:k.vertical?"end":"start",className:"fill-gray-500 text-[10px] dark:fill-gray-400",children:N.label}):null]},`${N.value}-${N.label??""}`)})]}),jsxRuntime.jsx("g",{transform:`translate(${k.margin.left}, ${k.margin.top+k.innerHeight})`,children:(k.vertical?o.hidden:a?.hidden)?null:jsxRuntime.jsx(St,{orientation:"bottom",ticks:k.vertical?k.categoryTicks:k.valueTicks,length:k.innerWidth,label:k.vertical?o.label:a?.label,size:l})}),jsxRuntime.jsx("g",{transform:`translate(${k.margin.left}, ${k.margin.top})`,children:(k.vertical?a?.hidden:o.hidden)?null:jsxRuntime.jsx(St,{orientation:"left",ticks:k.vertical?k.valueTicks:k.categoryTicks,length:k.innerHeight,showLine:false,label:k.vertical?a?.label:o.label,size:l})})]}),S&&C&&v!==false?jsxRuntime.jsx(jt,{x:C.x,y:C.y,containerWidth:e,children:typeof v=="function"?v(S):jsxRuntime.jsx(vr,{title:S.xLabel,points:S.points})}):null]})}function $p({data:e,series:t,x:r,y:n,height:o=260,width:a,size:s="md",grid:l="y",legend:i,tooltip:d=true,tableView:c=false,emphasis:p,title:f,description:m,loading:g=false,emptyState:x,onPointClick:b,orientation:v="vertical",stack:y="none",diverging:M,barSize:w,sort:P="none",showValues:h=false,referenceLines:E,legendToggle:D=true,margin:k,locale:I,plotLabel:W,className:O,...L}){let[T,S]=js.useState(()=>new Set),C=typeof M=="string"?M:null,N=typeof M=="number"?M:0,R=js.useMemo(()=>{let X=C===null?null:qn([0,Math.max(1,t.length-1)],{center:Math.max(0,t.findIndex(ne=>ne.key===C)),symmetric:false});return t.map((ne,re)=>({...ne,hidden:ne.hidden||T.has(ne.key),color:X&&!ne.color&&!p?ne.key===C?Mr:X(re):Ir(ne,re,p)}))},[t,T,p,C]),$=js.useMemo(()=>{if(P==="none")return e;let X=R.filter(re=>!re.hidden).map(re=>re.key),ne=re=>X.reduce((q,de)=>q+(et(re,de)??0),0);return [...e].sort((re,q)=>P==="asc"?ne(re)-ne(q):ne(q)-ne(re))},[e,P,R]),H=y==="percent",K=js.useMemo(()=>H?{domain:C===null?[0,100]:[-100,100],...n}:n,[H,C,n]),_=js.useMemo(()=>X=>vt(X,I),[I]),F=js.useMemo(()=>{let X=n?.format??(H?ne=>xr(ne,{locale:I,alreadyScaled:true,maximumFractionDigits:0}):_);return C===null?X:ne=>X(Math.abs(ne))},[n?.format,H,I,_,C]),A=js.useMemo(()=>r.format??(X=>bt(X,I)),[r.format,I]),B=js.useCallback(X=>{S(ne=>{let re=new Set(ne);return re.has(X)?re.delete(X):re.add(X),re});},[]),U=i===void 0?t.length>=2:i!==false,Q=typeof i=="string"?i:"bottom",J=R.filter(X=>!X.hidden),Y=J.length,z=js.useMemo(()=>{if(M===void 0||M===false||C!==null||Y!==1)return null;let X=ir($,J.map(re=>re.key)),ne=Qn([...X,N],{domain:n?.domain,includeZero:n?.includeZero??N===0,ticks:n?.ticks??5});return qn(ne,{center:N})},[M,C,Y,J,$,N,n]);return jsxRuntime.jsx(Kt,{title:f,description:m,height:o,width:a,size:s,loading:g,empty:e.length===0||Y===0,emptyState:x,tableView:c,legendPosition:Q,legend:z?jsxRuntime.jsx(Bo,{scale:z,label:n?.label,format:F,size:s,locale:I}):U?jsxRuntime.jsx(yr,{items:Ur(R,p),position:Q,marker:"rect",size:s,onToggle:D?B:void 0}):void 0,table:c?jsxRuntime.jsx(Yt,{data:$,series:R,xKey:r.key,xLabel:r.label??r.key,formatX:A,formatValue:_,caption:typeof f=="string"?f:void 0}):void 0,className:O,...L,children:({width:X})=>jsxRuntime.jsx(Op,{width:X,height:o,data:$,resolvedSeries:R,x:r,y:K,grid:l,size:s,orientation:v,stack:y,center:N,centerKey:C,valueColors:z,barSize:w,showValues:h,referenceLines:E,margin:k,tooltip:d,onPointClick:b,plotLabel:W,formatValue:F,formatRaw:_,formatX:A})})}function Xl({className:e}){return jsxRuntime.jsx("svg",{className:e,viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",children:jsxRuntime.jsx("path",{d:"M13 16H12V12H11M12 8H12.01M21 12C21 16.97 16.97 21 12 21C7.03 21 3 16.97 3 12C3 7.03 7.03 3 12 3C16.97 3 21 7.03 21 12Z",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})})}function Xp({className:e}){return jsxRuntime.jsx("svg",{className:e,viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",children:jsxRuntime.jsx("path",{d:"M9 12L11 14L15 10M21 12C21 16.97 16.97 21 12 21C7.03 21 3 16.97 3 12C3 7.03 7.03 3 12 3C16.97 3 21 7.03 21 12Z",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})})}function Gp({className:e}){return jsxRuntime.jsx("svg",{className:e,viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",children:jsxRuntime.jsx("path",{d:"M12 9V13M12 17H12.01M10.29 3.86L1.82 18C1.65 18.3 1.55 18.65 1.55 18.99C1.55 19.34 1.64 19.69 1.81 19.99C1.99 20.29 2.24 20.55 2.54 20.72C2.84 20.901 3.18 20.99 3.53 21H20.47C20.82 20.99 21.16 20.901 21.46 20.72C21.76 20.55 22.01 20.29 22.19 19.99C22.36 19.69 22.449 19.34 22.448 18.99C22.447 18.65 22.35 18.3 22.18 18L13.71 3.86C13.53 3.57 13.28 3.32 12.98 3.15C12.68 2.99 12.34 2.9 12 2.9C11.66 2.9 11.32 2.99 11.02 3.15C10.72 3.32 10.47 3.57 10.29 3.86Z",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})})}function Kp({className:e}){return jsxRuntime.jsx("svg",{className:e,viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",children:jsxRuntime.jsx("path",{d:"M12 8V12M12 16H12.01M21 12C21 16.97 16.97 21 12 21C7.03 21 3 16.97 3 12C3 7.03 7.03 3 12 3C16.97 3 21 7.03 21 12Z",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})})}function Us({className:e}){return jsxRuntime.jsx("svg",{className:e,viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",children:jsxRuntime.jsx("path",{d:"M4 4L12 12M12 4L4 12",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})})}var Up={info:Xl,success:Xp,warning:Gp,error:Kp,default:Xl},Yp={info:"bg-blue-50 text-blue-800 border-blue-200 dark:bg-blue-900/20 dark:text-blue-300 dark:border-blue-800",success:"bg-green-50 text-green-800 border-green-200 dark:bg-green-900/20 dark:text-green-300 dark:border-green-800",warning:"bg-yellow-50 text-yellow-800 border-yellow-200 dark:bg-yellow-900/20 dark:text-yellow-300 dark:border-yellow-800",error:"bg-red-50 text-red-800 border-red-200 dark:bg-red-900/20 dark:text-red-300 dark:border-red-800",default:"bg-gray-50 text-gray-800 border-gray-200 dark:bg-gray-800 dark:text-gray-300 dark:border-gray-700"},jp={info:"text-blue-600 dark:text-blue-400",success:"text-green-600 dark:text-green-400",warning:"text-yellow-600 dark:text-yellow-400",error:"text-red-600 dark:text-red-400",default:"text-gray-600 dark:text-gray-400"};function qp({type:e="default",title:t,description:r,children:n,icon:o,action:a,closable:s=false,onClose:l,fullWidth:i=false,className:d,...c}){let[p,f]=js.useState(true);if(!p)return null;let m=()=>{f(false),l?.();},g=Up[e],x=n??r;return jsxRuntime.jsxs("div",{role:"alert",className:u("flex items-start gap-3 border px-4 py-3",i?"w-full":"rounded-lg",Yp[e],d),...c,children:[jsxRuntime.jsx("div",{className:u("shrink-0 mt-0.5",jp[e]),children:o??jsxRuntime.jsx(g,{className:"w-5 h-5"})}),jsxRuntime.jsxs("div",{className:"flex-1 min-w-0",children:[t&&jsxRuntime.jsx("div",{className:"font-semibold text-sm",children:t}),x&&jsxRuntime.jsx("div",{className:u("text-sm",t?"mt-1 opacity-90":false),children:x}),a&&jsxRuntime.jsx("div",{className:"mt-3",children:a})]}),s&&jsxRuntime.jsx("button",{type:"button",onClick:m,className:u("shrink-0 rounded-md p-1 transition-colors","hover:bg-black/10 dark:hover:bg-white/10","focus:outline-none focus-visible:ring-2 focus-visible:ring-offset-2 focus-visible:ring-current"),"aria-label":"Close banner",children:jsxRuntime.jsx(Us,{className:"w-4 h-4"})})]})}function Zp({title:e,description:t,children:r,action:n,backgroundImage:o,closable:a=false,onClose:s,fullWidth:l=false,className:i,...d}){let[c,p]=js.useState(true);if(!c)return null;let f=()=>{p(false),s?.();},m=r??t;return jsxRuntime.jsxs("div",{className:u("relative overflow-hidden bg-gray-900 text-white",l?"w-full":"rounded-xl","py-12 px-6 sm:px-12",i),style:o?{backgroundImage:`url(${o})`,backgroundSize:"cover",backgroundPosition:"center"}:void 0,...d,children:[o&&jsxRuntime.jsx("div",{className:"absolute inset-0 bg-black/50","aria-hidden":"true"}),jsxRuntime.jsxs("div",{className:"relative z-10 max-w-3xl mx-auto text-center",children:[e&&jsxRuntime.jsx("h2",{className:"text-2xl sm:text-3xl lg:text-4xl font-bold tracking-tight",children:e}),m&&jsxRuntime.jsx("div",{className:u("text-base sm:text-lg opacity-90",e?"mt-4":false),children:m}),n&&jsxRuntime.jsx("div",{className:"mt-6",children:n})]}),a&&jsxRuntime.jsx("button",{type:"button",onClick:f,className:u("absolute top-4 right-4 z-10 rounded-md p-1.5 text-white/80 transition-colors","hover:text-white hover:bg-white/10","focus:outline-none focus-visible:ring-2 focus-visible:ring-offset-2 focus-visible:ring-white"),"aria-label":"Close banner",children:jsxRuntime.jsx(Us,{className:"w-5 h-5"})})]})}function Qp({title:e,description:t,children:r,icon:n,action:o,badge:a,closable:s=false,onClose:l,fullWidth:i=false,className:d,...c}){let[p,f]=js.useState(true);if(!p)return null;let m=()=>{f(false),l?.();},g=r??t;return jsxRuntime.jsxs("div",{className:u("relative flex items-center gap-4 bg-linear-to-r from-indigo-600 to-purple-600 text-white px-4 py-3",i?"w-full":"rounded-lg",d),...c,children:[n&&jsxRuntime.jsx("div",{className:"shrink-0",children:n}),a&&jsxRuntime.jsx("span",{className:"shrink-0 inline-flex items-center rounded-full bg-white/20 px-2.5 py-0.5 text-xs font-semibold uppercase tracking-wide",children:a}),jsxRuntime.jsxs("div",{className:"flex-1 min-w-0 flex flex-wrap items-center gap-x-4 gap-y-1",children:[e&&jsxRuntime.jsx("span",{className:"font-semibold text-sm",children:e}),g&&jsxRuntime.jsx("span",{className:"text-sm opacity-90",children:g})]}),o&&jsxRuntime.jsx("div",{className:"shrink-0",children:o}),s&&jsxRuntime.jsx("button",{type:"button",onClick:m,className:u("shrink-0 rounded-md p-1 text-white/80 transition-colors","hover:text-white hover:bg-white/10","focus:outline-none focus-visible:ring-2 focus-visible:ring-offset-2 focus-visible:ring-white"),"aria-label":"Close banner",children:jsxRuntime.jsx(Us,{className:"w-4 h-4"})})]})}function Gl({variant:e="notification",...t}){switch(e){case "hero":return jsxRuntime.jsx(Zp,{...t});case "promotion":return jsxRuntime.jsx(Qp,{...t});default:return jsxRuntime.jsx(qp,{...t})}}Gl.displayName="Banner";var Jp={sm:"text-xs",md:"text-sm",lg:"text-base"};function em({items:e,separator:t="/",size:r="md",maxItems:n,itemColor:o="text-gray-500 hover:text-gray-900 dark:text-gray-400 dark:hover:text-gray-100",activeColor:a="text-gray-700 font-medium dark:text-gray-200",separatorColor:s="text-gray-400 dark:text-gray-500",className:l,...i}){let d=e,c=false;if(n&&e.length>n){c=true;let p=e[0],f=e.slice(-(n-1));d=[p,...f];}return jsxRuntime.jsx("nav",{"aria-label":"Breadcrumb",className:u("inline-flex items-center",Jp[r],l),...i,children:jsxRuntime.jsx("ol",{className:"inline-flex items-center space-x-1 md:space-x-2",children:d.map((p,f)=>{let m=f===d.length-1;return jsxRuntime.jsxs("li",{className:"inline-flex items-center",children:[c&&f===1&&jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx("span",{className:u("mx-1 select-none",s),children:"..."}),jsxRuntime.jsx("span",{className:u("mx-1 select-none",s),"aria-hidden":"true",children:t})]}),p.href||p.onClick?jsxRuntime.jsxs("a",{href:p.href,onClick:p.onClick,className:u("inline-flex items-center gap-1.5 transition-colors",m?a:o),"aria-current":m?"page":void 0,children:[p.icon&&jsxRuntime.jsx("span",{className:"inline-flex","aria-hidden":"true",children:p.icon}),jsxRuntime.jsx("span",{children:p.label})]}):jsxRuntime.jsxs("span",{className:u("inline-flex items-center gap-1.5",m?a:o),"aria-current":m?"page":void 0,children:[p.icon&&jsxRuntime.jsx("span",{className:"inline-flex","aria-hidden":"true",children:p.icon}),jsxRuntime.jsx("span",{children:p.label})]}),!m&&jsxRuntime.jsx("span",{className:u("mx-2 select-none",s),"aria-hidden":"true",children:t})]},p.href??p.label)})})})}var om=22,am=.42,Kl=3,Ul=8,sm=12,im=["fill-gray-300 dark:fill-gray-500","fill-gray-200 dark:fill-gray-600","fill-gray-100 dark:fill-gray-700","fill-gray-50 dark:fill-gray-800"],lm=js.memo(function({rows:t,color:r}){return jsxRuntime.jsx("g",{children:t.map(n=>jsxRuntime.jsxs("g",{children:[n.bands.map(o=>jsxRuntime.jsx("path",{d:o.d,className:o.className,fill:o.fill},o.key)),n.measure?jsxRuntime.jsx("path",{d:n.measure,fill:r}):null,n.target?jsxRuntime.jsx("line",{x1:n.target.x,y1:n.target.y1,x2:n.target.x,y2:n.target.y2,strokeWidth:2,strokeLinecap:"round",className:"stroke-gray-900 dark:stroke-white"}):null,n.label?jsxRuntime.jsx("text",{x:n.label.x,y:n.label.y,dominantBaseline:"middle",className:"fill-gray-700 text-[11px] font-medium [font-variant-numeric:tabular-nums] dark:fill-gray-200",children:n.label.text}):null]},n.key))})});function dm({width:e,height:t,rows:r,x:n,size:o,sharedDomain:a,showValues:s,trackSize:l,rangeColors:i,color:d,tooltip:c,plotLabel:p,formatValue:f,onRowClick:m}){let[g,x]=js.useState(null),b=js.useMemo(()=>{let P=r.map(R=>R.label),h=s?r.map(R=>R.formattedValue):[],E={top:6,right:s?br(h)+Ul*2:8,bottom:a?26+(n.label?16:0):6,left:n.hidden?8:n.height??br(P)+sm},D=Math.max(0,e-E.left-E.right),k=Math.max(0,t-E.top-E.bottom),I=Rn(r.map((R,$)=>$),[0,k],{paddingInner:.34}),W=Math.min(l??om,I.bandwidth),O=Math.max(3,W*am),L=i??im,T=i!==void 0,S=r.map((R,$)=>{let H=Math.max(0,R.value??0,R.target??0,...R.ranges.length>0?R.ranges:[0]),K=a??(R.ranges.length>0?[0,H]:Pa(0,H,4)),_=Ar(K,[0,D]),F=I($)+(I.bandwidth-W)/2,A=F+W/2,B=R.ranges.length>0?[...R.ranges].sort((Y,z)=>Y-z):[K[1]],U=K[0],Q=B.map((Y,z)=>{let X=_(U),ne=_(Math.max(U,Y));U=Y;let re=L[Math.min(z,L.length-1)];return {key:`${$}-${z}`,d:Fo({x:X,y:F,width:Math.max(0,ne-X),height:W,radius:0}),className:T?void 0:re,fill:T?re:void 0}}),J=R.value===null?null:Fo({x:_(K[0]),y:A-O/2,width:Math.max(0,_(R.value)-_(K[0])),height:O,radius:2,round:"right"});return {key:`${$}`,bands:Q,measure:J,target:R.target===null?null:{x:_(R.target),y1:F-Kl,y2:F+W+Kl},label:s?{x:D+Ul,y:A,text:R.formattedValue}:null,top:I($),height:I.bandwidth}}),C=n.hidden?[]:r.map((R,$)=>({value:R.x,offset:I.center($),label:R.label})),N=a?Wo(a[0],a[1],5).map(R=>({value:R,offset:Ar(a,[0,D])(R),label:f(R)})):[];return {margin:E,innerWidth:D,innerHeight:k,band:I,rendered:S,categoryTicks:C,valueTicks:N,centers:r.map((R,$)=>I.center($))}},[r,n,e,t,a,s,l,i,f]),v=js.useCallback(P=>{if(c===false||r.length===0)return;let h=P.currentTarget.getBoundingClientRect(),E=P.clientY-h.top-b.margin.top;x(dn(b.centers,E));},[c,r.length,b.margin.top,b.centers]),y=js.useCallback(P=>{if(r.length===0)return;let h=r.length-1,E=g??0,D=P.key==="ArrowDown"?Math.min(h,E+1):P.key==="ArrowUp"?Math.max(0,E-1):P.key==="Home"?0:P.key==="End"?h:P.key==="Escape"?null:void 0;D!==void 0&&(P.preventDefault(),x(D));},[r.length,g]),M=js.useCallback(()=>{!m||g===null||m(r[g]);},[m,g,r]),w=g===null?null:r[g];return jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsxs("svg",{width:e,height:t,role:"img","aria-label":p??r.map(P=>P.label).join(", "),tabIndex:0,className:"touch-none focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-blue-500",onPointerMove:v,onPointerLeave:()=>x(null),onKeyDown:y,onBlur:()=>x(null),onClick:M,children:[jsxRuntime.jsxs("g",{transform:`translate(${b.margin.left}, ${b.margin.top})`,children:[g!==null&&b.rendered[g]?jsxRuntime.jsx("rect",{x:-4,y:b.rendered[g].top,width:b.innerWidth+8,height:b.rendered[g].height,rx:4,className:"fill-gray-400 dark:fill-gray-500",opacity:.12,"aria-hidden":"true"}):null,jsxRuntime.jsx(lm,{rows:b.rendered,color:d})]}),jsxRuntime.jsx("g",{transform:`translate(${b.margin.left}, ${b.margin.top})`,children:n.hidden?null:jsxRuntime.jsx(St,{orientation:"left",ticks:b.categoryTicks,length:b.innerHeight,showLine:false,tickSize:0,size:o})}),a?jsxRuntime.jsx("g",{transform:`translate(${b.margin.left}, ${b.margin.top+b.innerHeight})`,children:jsxRuntime.jsx(St,{orientation:"bottom",ticks:b.valueTicks,length:b.innerWidth,label:n.label,size:o})}):null]}),w&&g!==null&&c!==false?jsxRuntime.jsx(jt,{x:b.margin.left+b.innerWidth/2,y:b.margin.top+b.centers[g],containerWidth:e,children:typeof c=="function"?c(w):jsxRuntime.jsxs("div",{className:"flex flex-col gap-1",children:[jsxRuntime.jsx("div",{className:"font-medium text-gray-900 dark:text-gray-100",children:w.label}),jsxRuntime.jsxs("div",{className:"flex items-center gap-2",children:[jsxRuntime.jsx("span",{className:"h-0.5 w-3 shrink-0 rounded-full",style:{backgroundColor:d},"aria-hidden":"true"}),jsxRuntime.jsx("span",{className:"font-semibold text-gray-900 [font-variant-numeric:tabular-nums] dark:text-gray-100",children:w.formattedValue}),w.attainment!==null?jsxRuntime.jsx("span",{className:"text-gray-500 [font-variant-numeric:tabular-nums] dark:text-gray-400",children:xr(w.attainment)}):null]})]})}):null]})}function cm({data:e,x:t,value:r,target:n,ranges:o,domain:a,normalize:s="row",showValues:l=true,trackSize:i,rangeColors:d,color:c,height:p,width:f,size:m="md",tooltip:g=true,tableView:x=false,title:b,description:v,loading:y=false,emptyState:M,locale:w,plotLabel:P,valueLabel:h,targetLabel:E,format:D,onRowClick:k,className:I,...W}){let O=At(),L=js.useMemo(()=>D??(H=>vt(H,w)),[D,w]),T=js.useMemo(()=>t.format??(H=>bt(H,w)),[t.format,w]),S=js.useMemo(()=>e.map((H,K)=>{let _=Ut(H,t.key,K),F=et(H,r),A=n?et(H,n):null,B=o?H[o]:void 0,U=Array.isArray(B)?B.map(Q=>typeof Q=="number"?Q:Number(Q)).filter(Q=>Number.isFinite(Q)):[];return {index:K,x:_,label:T(_,K),value:F,target:A,ranges:U,formattedValue:F===null?"\u2014":L(F),formattedTarget:A===null?"\u2014":L(A),attainment:F===null||A===null||A===0?null:F/A,datum:H}}),[e,t.key,r,n,o,L,T]),C=js.useMemo(()=>{if(a)return a;if(s!=="shared")return null;let H=S.reduce((K,_)=>Math.max(K,_.value??0,_.target??0,..._.ranges),0);return Pa(0,H,5)},[a,s,S]),N=p??Math.max(72,S.length*34+(C?30:12)),R=js.useMemo(()=>[{key:r,label:h??O.chartValue},...n?[{key:n,label:E??O.chartTarget}]:[]],[r,n,h,E,O.chartValue,O.chartTarget]),$=c??jn(0);return jsxRuntime.jsx(Kt,{title:b,description:v,height:N,width:f,size:m,loading:y,empty:S.length===0,emptyState:M,tableView:x,table:x?jsxRuntime.jsx(Yt,{data:e,series:R,xKey:t.key,xLabel:t.label??t.key,formatX:T,formatValue:L,caption:typeof b=="string"?b:void 0}):void 0,className:I,...W,children:({width:H})=>jsxRuntime.jsx(dm,{width:H,height:N,rows:S,x:t,size:m,sharedDomain:C,showValues:l,trackSize:i,rangeColors:d,color:$,tooltip:g,plotLabel:P,formatValue:L,onRowClick:k})})}function pm({className:e}){return jsxRuntime.jsxs("svg",{className:u("animate-spin",e),xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24","aria-hidden":"true",children:[jsxRuntime.jsx("circle",{className:"opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor",strokeWidth:"4"}),jsxRuntime.jsx("path",{className:"opacity-75",fill:"currentColor",d:"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"})]})}var mm={sm:"px-3 py-1.5 text-xs gap-1.5",md:"px-4 py-2 text-sm gap-2",lg:"px-5 py-2.5 text-base gap-2",xl:"px-6 py-3 text-lg gap-2.5"},gm={sm:"p-1.5",md:"p-2",lg:"p-2.5",xl:"p-3"},Ia={sm:"h-3.5 w-3.5",md:"h-4 w-4",lg:"h-5 w-5",xl:"h-6 w-6"},fm={none:"rounded-none",sm:"rounded-sm",md:"rounded-md",lg:"rounded-lg",full:"rounded-full"};function ht({label:e,children:t,onClick:r,disabled:n=false,className:o,type:a="button",size:s="md",loading:l=false,leftIcon:i,rightIcon:d,icon:c,fullWidth:p=false,rounded:f="lg",bgColor:m="bg-blue-600 hover:bg-blue-700",textColor:g="text-white",focusColor:x="focus:ring-blue-300",selected:b=false,value:v,showFocusOnClick:y=false,...M}){let w=n||l,P=c!==void 0&&!t&&!e,h=u("inline-flex items-center justify-center font-medium transition-colors focus:outline-none disabled:opacity-50 disabled:cursor-not-allowed",y?"focus:ring-4":"focus-visible:ring-4"),E=u(b?"bg-blue-700 text-white ring-2 ring-blue-500":m,!b&&g,x&&y&&`focus:ring-4 ${x}`,x&&!y&&`focus-visible:ring-4 ${x}`);return jsxRuntime.jsx("button",{type:a,onClick:r,disabled:w,"data-value":v,className:u(h,P?gm[s]:mm[s],fm[f],E,p&&"w-full",o),...M,children:l?jsxRuntime.jsx(pm,{className:Ia[s]}):P?jsxRuntime.jsx("span",{className:Ia[s],children:c}):jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[i&&jsxRuntime.jsx("span",{className:Ia[s],children:i}),t??e,d&&jsxRuntime.jsx("span",{className:Ia[s],children:d})]})})}function ao({children:e,orientation:t="horizontal",size:r,fullWidth:n=false,selectedValue:o,onChange:a,className:s}){let i=js__namespace.default.Children.toArray(e).filter(c=>js__namespace.default.isValidElement(c)&&typeof c.type!="string"),d=(c,p)=>f=>{c!==void 0&&a&&a(c),p&&p(f);};return jsxRuntime.jsx("div",{className:u("inline-flex",t==="horizontal"?"flex-row":"flex-col",n&&"w-full",s),role:"group",children:i.map((c,p)=>{let f=p===0,m=p===i.length-1,g=!f&&!m,x=c.props.value,b=o!==void 0&&x===o,v=u(t==="horizontal"&&f&&"rounded-r-none",t==="horizontal"&&m&&"rounded-l-none",t==="horizontal"&&g&&"rounded-none",t==="horizontal"&&!f&&"-ml-px",t==="vertical"&&f&&"rounded-b-none",t==="vertical"&&m&&"rounded-t-none",t==="vertical"&&g&&"rounded-none",t==="vertical"&&!f&&"-mt-px",n&&"flex-1");return js__namespace.default.cloneElement(c,{...c.props,size:r??c.props.size,selected:b||c.props.selected,onClick:d(x,c.props.onClick),className:u(v,c.props.className)})})})}var xm=10080*60*1e3;function Tt(e){return new Date(e.getFullYear(),e.getMonth(),e.getDate())}function Mn(e){return new Date(e.getFullYear(),e.getMonth(),1)}function qr(e,t){return new Date(e.getFullYear(),e.getMonth(),e.getDate()+t)}function kr(e,t){return new Date(e.getFullYear(),e.getMonth()+t,1)}function Zs(e){return new Date(e.getFullYear(),e.getMonth()+1,0).getDate()}function zr(e,t){return !e||!t?false:e.getFullYear()===t.getFullYear()&&e.getMonth()===t.getMonth()&&e.getDate()===t.getDate()}function qs(e,t){return e.getFullYear()===t.getFullYear()&&e.getMonth()===t.getMonth()}function mn(e,t){return e.getFullYear()*12+e.getMonth()-(t.getFullYear()*12+t.getMonth())}function Aa(e){let t=`${e.getMonth()+1}`.padStart(2,"0"),r=`${e.getDate()}`.padStart(2,"0");return `${e.getFullYear()}-${t}-${r}`}function vm(e){let t=Tt(e);t.setDate(t.getDate()-(t.getDay()+6)%7+3);let r=new Date(t.getFullYear(),0,4);return r.setDate(r.getDate()-(r.getDay()+6)%7+3),1+Math.round((t.getTime()-r.getTime())/xm)}function ql(e,t,r){return t&&e<Tt(t)?Tt(t):r&&e>Tt(r)?Tt(r):e}function km(e,t,r){let n=Mn(e),o=(n.getDay()-t+7)%7,a=qr(n,-o),s=r?6:Math.ceil((o+Zs(e))/7);return Array.from({length:s},(l,i)=>Array.from({length:7},(d,c)=>qr(a,i*7+c)))}function Cm({className:e}){return jsxRuntime.jsx("svg",{className:e,fill:"none",stroke:"currentColor",viewBox:"0 0 24 24","aria-hidden":"true",children:jsxRuntime.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M15 19l-7-7 7-7"})})}function wm({className:e}){return jsxRuntime.jsx("svg",{className:e,fill:"none",stroke:"currentColor",viewBox:"0 0 24 24","aria-hidden":"true",children:jsxRuntime.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M9 5l7 7-7 7"})})}var Nm={sm:{day:"h-7 w-7 text-xs",head:"h-7 w-7 text-[10px]",caption:"text-xs",nav:"h-6 w-6",icon:"h-3 w-3",padding:"p-2",gap:"gap-3",footer:"text-xs",select:"text-xs py-0.5 pl-1 pr-5"},md:{day:"h-9 w-9 text-sm",head:"h-9 w-9 text-xs",caption:"text-sm",nav:"h-7 w-7",icon:"h-4 w-4",padding:"p-3",gap:"gap-4",footer:"text-sm",select:"text-sm py-1 pl-1.5 pr-6"},lg:{day:"h-11 w-11 text-base",head:"h-11 w-11 text-sm",caption:"text-base",nav:"h-9 w-9",icon:"h-5 w-5",padding:"p-4",gap:"gap-5",footer:"text-sm",select:"text-base py-1.5 pl-2 pr-7"}},Sm={primary:"bg-blue-600 text-white hover:bg-blue-700 dark:bg-blue-500 dark:hover:bg-blue-600",success:"bg-green-600 text-white hover:bg-green-700 dark:bg-green-500 dark:hover:bg-green-600",warning:"bg-yellow-500 text-white hover:bg-yellow-600 dark:bg-yellow-400 dark:text-gray-900 dark:hover:bg-yellow-500",error:"bg-red-600 text-white hover:bg-red-700 dark:bg-red-500 dark:hover:bg-red-600",info:"bg-cyan-600 text-white hover:bg-cyan-700 dark:bg-cyan-500 dark:hover:bg-cyan-600",neutral:"bg-gray-700 text-white hover:bg-gray-800 dark:bg-gray-500 dark:hover:bg-gray-400"},Rm={primary:"bg-blue-50 dark:bg-blue-900/30",success:"bg-green-50 dark:bg-green-900/30",warning:"bg-yellow-50 dark:bg-yellow-900/30",error:"bg-red-50 dark:bg-red-900/30",info:"bg-cyan-50 dark:bg-cyan-900/30",neutral:"bg-gray-100 dark:bg-gray-700/40"},Tm={primary:"text-blue-900 dark:text-blue-100",success:"text-green-900 dark:text-green-100",warning:"text-yellow-900 dark:text-yellow-100",error:"text-red-900 dark:text-red-100",info:"text-cyan-900 dark:text-cyan-100",neutral:"text-gray-900 dark:text-gray-100"},Pm={primary:"font-semibold text-blue-600 dark:text-blue-400",success:"font-semibold text-green-600 dark:text-green-400",warning:"font-semibold text-yellow-600 dark:text-yellow-400",error:"font-semibold text-red-600 dark:text-red-400",info:"font-semibold text-cyan-600 dark:text-cyan-400",neutral:"font-semibold text-gray-900 dark:text-gray-100"},Dn={primary:"focus-visible:ring-blue-500",success:"focus-visible:ring-green-500",warning:"focus-visible:ring-yellow-500",error:"focus-visible:ring-red-500",info:"focus-visible:ring-cyan-500",neutral:"focus-visible:ring-gray-500"};function za(e,t){if(e==="multiple")return Array.isArray(t)?t.map(Tt):[];if(e==="range"){let r=t??null;return {from:r?.from?Tt(r.from):null,to:r?.to?Tt(r.to):null}}return t instanceof Date?Tt(t):null}function Zl(e){return e?e instanceof Date?e:Array.isArray(e)?e[0]??null:e.from??e.to??null:null}function Em(e){let{mode:t="single",value:r,defaultValue:n,onChange:o,max:a,month:s,defaultMonth:l,onMonthChange:i,numberOfMonths:d=1,weekStartsOn:c=0,locale:p,size:f="md",color:m="primary",minDate:g,maxDate:x,disabledDates:b,disabled:v=false,showOutsideDays:y=true,showWeekNumbers:M=false,fixedWeeks:w=false,captionLayout:P="label",fromYear:h,toYear:E,todayButton:D=false,clearButton:k=false,footer:I,bordered:W=true,renderDay:O,labels:L,className:T,...S}=e,C=Nm[f],N=Math.max(1,d),R=js.useMemo(()=>Tt(new Date),[]),$=r!==void 0,[H,K]=js.useState(()=>za(t,n)),_=$?za(t,r):H,F=s!==void 0,[A,B]=js.useState(()=>Mn(l??Zl(za(t,n??r))??new Date)),U=F?Mn(s):A,Q=js.useCallback(ue=>{let me=Mn(ue);F||B(me),i?.(me);},[F,i]),J=js.useRef(null),Y=js.useRef(false),[z,X]=js.useState(()=>{let ue=Zl(za(t,n??r)),me=Mn(l??s??ue??new Date),Z=ue&&qs(ue,me)?ue:qs(Tt(new Date),me)?Tt(new Date):me;return ql(Z,g,x)}),ne=kr(U,N-1),q=mn(z,U)>=0&&mn(z,ne)<=0?z:U;js.useEffect(()=>{if(!Y.current)return;Y.current=false,J.current?.querySelector(`[data-day="${Aa(z)}"]:not([data-outside])`)?.focus();},[z,U]);let de=js.useCallback(ue=>{let me=ql(Tt(ue),g,x);Y.current=true,X(me);let Z=kr(U,N-1);mn(me,U)<0?Q(me):mn(me,Z)>0&&Q(kr(me,-(N-1)));},[U,N,g,x,Q]),xe=js.useCallback(ue=>v||g&&ue<Tt(g)||x&&ue>Tt(x)?true:typeof b=="function"?b(ue):Array.isArray(b)?b.some(me=>zr(me,ue)):false,[v,g,x,b]),[ke,le]=js.useState(null),Se=js.useCallback(ue=>{$||K(ue),o?.(ue);},[$,o]),Me=js.useCallback(ue=>{let me=Tt(ue);if(xe(me))return;if(t==="multiple"){let ee=_??[];if(ee.some(ge=>zr(ge,me))){Se(ee.filter(ge=>!zr(ge,me)));return}if(a!==void 0&&ee.length>=a)return;Se([...ee,me].sort((ge,Re)=>ge.getTime()-Re.getTime()));return}if(t==="range"){let ee=_??{from:null,to:null};if(!ee.from||ee.to){Se({from:me,to:null});return}Se(me<ee.from?{from:me,to:ee.from}:{from:ee.from,to:me});return}Se(zr(_,me)?null:me);},[t,_,a,Se,xe]),je=js.useCallback(ue=>{Me(ue),X(Tt(ue)),mn(ue,U)<0?Q(ue):mn(ue,kr(U,N-1))>0&&Q(kr(ue,-(N-1)));},[Me,U,N,Q]),at=!v&&(!g||mn(U,Mn(g))>0),$e=!v&&(!x||mn(kr(U,N-1),Mn(x))<0),ie=js.useCallback(()=>{Q(kr(U,-1));},[U,Q]),he=js.useCallback(()=>{Q(kr(U,1));},[U,Q]),Ie=js.useCallback(ue=>{if(v)return;let me=z;switch(ue.key){case "ArrowLeft":ue.preventDefault(),de(qr(me,-1));break;case "ArrowRight":ue.preventDefault(),de(qr(me,1));break;case "ArrowUp":ue.preventDefault(),de(qr(me,-7));break;case "ArrowDown":ue.preventDefault(),de(qr(me,7));break;case "Home":ue.preventDefault(),de(qr(me,-((me.getDay()-c+7)%7)));break;case "End":ue.preventDefault(),de(qr(me,6-(me.getDay()-c+7)%7));break;case "PageUp":{ue.preventDefault();let Z=ue.shiftKey?-12:-1,ee=kr(me,Z),fe=Math.min(me.getDate(),Zs(ee));de(new Date(ee.getFullYear(),ee.getMonth(),fe));break}case "PageDown":{ue.preventDefault();let Z=ue.shiftKey?12:1,ee=kr(me,Z),fe=Math.min(me.getDate(),Zs(ee));de(new Date(ee.getFullYear(),ee.getMonth(),fe));break}}},[v,z,de,c]),xt=js.useMemo(()=>{let ue=new Intl.DateTimeFormat(p,{weekday:"short"}),me=new Intl.DateTimeFormat(p,{weekday:"long"}),Z=new Date(2024,0,7);return Array.from({length:7},(ee,fe)=>{let ge=qr(Z,(c+fe)%7);return {short:ue.format(ge),long:me.format(ge)}})},[p,c]),Te=js.useMemo(()=>{let ue=new Intl.DateTimeFormat(p,{month:"long"});return Array.from({length:12},(me,Z)=>ue.format(new Date(2024,Z,1)))},[p]),Ee=js.useMemo(()=>new Intl.DateTimeFormat(p,{month:"long",year:"numeric"}),[p]),nt=js.useMemo(()=>new Intl.DateTimeFormat(p,{dateStyle:"full"}),[p]),pr=js.useMemo(()=>{if(P!=="dropdown")return [];let ue=R.getFullYear(),me=h??g?.getFullYear()??ue-100,Z=E??x?.getFullYear()??ue+10;return Z<me?[me]:Array.from({length:Z-me+1},(ee,fe)=>me+fe)},[P,h,E,g,x,R]),pt=t==="range"?_:null,Ht=pt&&pt.from&&!pt.to&&ke&&ke>pt.from?ke:null,Ft=pt?.to??Ht,sr=js.useCallback((ue,me)=>{let Z=!qs(ue,me),ee=xe(ue),fe=false,ge=false,Re=false,ve=false;return t==="multiple"?fe=(_??[]).some(we=>zr(we,ue)):t==="range"?(ge=zr(pt?.from,ue),Re=zr(Ft,ue),fe=ge||Re,ve=!!(pt?.from&&Ft&&ue>pt.from&&ue<Ft)):fe=zr(_,ue),{selected:fe,today:zr(ue,R),outside:Z,disabled:ee,rangeStart:ge,rangeEnd:Re,inRange:ve}},[t,_,pt,Ft,xe,R]),Nr=ue=>{let me=kr(U,ue),Z=km(me,c,w),ee=ue===0,fe=ue===N-1;return jsxRuntime.jsxs("div",{className:"flex flex-col",children:[jsxRuntime.jsxs("div",{className:"mb-2 flex items-center justify-between",children:[jsxRuntime.jsx("button",{type:"button",onClick:ie,disabled:!at,"aria-label":L?.previousMonth??"Previous month",className:u("inline-flex items-center justify-center rounded-md transition-colors","text-gray-600 hover:bg-gray-100 dark:text-gray-300 dark:hover:bg-gray-700","focus:outline-none focus-visible:ring-2 focus-visible:ring-offset-1 dark:focus-visible:ring-offset-gray-900",Dn[m],C.nav,!at&&"cursor-not-allowed opacity-40 hover:bg-transparent dark:hover:bg-transparent",!ee&&"invisible"),children:jsxRuntime.jsx(Cm,{className:C.icon})}),P==="dropdown"?jsxRuntime.jsxs("div",{className:"flex items-center gap-1",children:[jsxRuntime.jsx("select",{"aria-label":L?.monthSelect??"Month",value:me.getMonth(),disabled:v,onChange:ge=>Q(new Date(me.getFullYear(),Number(ge.target.value)-ue,1)),className:u("rounded-md border border-gray-300 bg-white font-medium text-gray-900","dark:border-gray-600 dark:bg-gray-800 dark:text-gray-100","focus:outline-none focus-visible:ring-2",Dn[m],C.select,v&&"cursor-not-allowed opacity-50"),children:Te.map((ge,Re)=>jsxRuntime.jsx("option",{value:Re,children:ge},ge))}),jsxRuntime.jsx("select",{"aria-label":L?.yearSelect??"Year",value:me.getFullYear(),disabled:v,onChange:ge=>Q(new Date(Number(ge.target.value),me.getMonth()-ue,1)),className:u("rounded-md border border-gray-300 bg-white font-medium text-gray-900","dark:border-gray-600 dark:bg-gray-800 dark:text-gray-100","focus:outline-none focus-visible:ring-2",Dn[m],C.select,v&&"cursor-not-allowed opacity-50"),children:pr.map(ge=>jsxRuntime.jsx("option",{value:ge,children:ge},ge))})]}):jsxRuntime.jsx("div",{"aria-live":"polite",className:u("font-semibold text-gray-900 dark:text-gray-100",C.caption),children:Ee.format(me)}),jsxRuntime.jsx("button",{type:"button",onClick:he,disabled:!$e,"aria-label":L?.nextMonth??"Next month",className:u("inline-flex items-center justify-center rounded-md transition-colors","text-gray-600 hover:bg-gray-100 dark:text-gray-300 dark:hover:bg-gray-700","focus:outline-none focus-visible:ring-2 focus-visible:ring-offset-1 dark:focus-visible:ring-offset-gray-900",Dn[m],C.nav,!$e&&"cursor-not-allowed opacity-40 hover:bg-transparent dark:hover:bg-transparent",!fe&&"invisible"),children:jsxRuntime.jsx(wm,{className:C.icon})})]}),jsxRuntime.jsxs("table",{role:"grid","aria-label":Ee.format(me),className:"border-collapse",children:[jsxRuntime.jsx("thead",{children:jsxRuntime.jsxs("tr",{children:[M&&jsxRuntime.jsxs("th",{scope:"col",className:u("font-normal text-gray-400 dark:text-gray-500",C.head),children:[jsxRuntime.jsx("span",{className:"sr-only",children:L?.weekNumber??"Week number"}),jsxRuntime.jsx("span",{"aria-hidden":"true",children:"#"})]}),xt.map(ge=>jsxRuntime.jsx("th",{scope:"col",abbr:ge.long,className:u("font-medium uppercase text-gray-500 dark:text-gray-400",C.head),children:ge.short},ge.long))]})}),jsxRuntime.jsx("tbody",{children:Z.map(ge=>jsxRuntime.jsxs("tr",{children:[M&&jsxRuntime.jsx("td",{className:u("text-center align-middle text-gray-400 dark:text-gray-500",C.head),children:vm(ge[0])}),ge.map(Re=>{let ve=sr(Re,me),we=Aa(Re);if(ve.outside&&!y)return jsxRuntime.jsx("td",{className:"p-0"},we);let Fe=zr(Re,q)&&!ve.outside,Ae=ve.inRange||ve.rangeStart&&!!Ft||ve.rangeEnd&&!!pt?.from;return jsxRuntime.jsx("td",{role:"presentation",className:u("p-0",Ae&&Rm[m],Ae&&ve.rangeStart&&"rounded-l-full",Ae&&ve.rangeEnd&&"rounded-r-full"),children:jsxRuntime.jsx("button",{type:"button","data-day":we,"data-selected":ve.selected||void 0,"data-today":ve.today||void 0,"data-outside":ve.outside||void 0,role:"gridcell",tabIndex:Fe?0:-1,disabled:v,"aria-selected":ve.selected,"aria-disabled":ve.disabled||void 0,"aria-current":ve.today?"date":void 0,"aria-label":nt.format(Re),onClick:()=>{ve.disabled||je(Re);},onMouseEnter:()=>t==="range"&&le(Tt(Re)),onMouseLeave:()=>t==="range"&&le(null),onFocus:()=>X(Tt(Re)),className:u("inline-flex items-center justify-center rounded-full transition-colors","focus:outline-none focus-visible:ring-2 focus-visible:ring-offset-1 dark:focus-visible:ring-offset-gray-900",Dn[m],C.day,ve.selected?Sm[m]:ve.inRange?u(Tm[m],"hover:bg-gray-200/60 dark:hover:bg-gray-600/60"):ve.today?u(Pm[m],"hover:bg-gray-100 dark:hover:bg-gray-700"):u("text-gray-900 dark:text-gray-100","hover:bg-gray-100 dark:hover:bg-gray-700"),ve.outside&&!ve.selected&&"text-gray-400 dark:text-gray-500",ve.disabled&&"cursor-not-allowed opacity-40 hover:bg-transparent dark:hover:bg-transparent"),children:O?O(Re,ve):Re.getDate()})},we)})]},Aa(ge[0])))})]})]},Aa(me))},Gt=js.useCallback(()=>{Q(R),X(R),xe(R)||Me(R);},[R,Q,xe,Me]),er=js.useCallback(()=>{Se(t==="multiple"?[]:t==="range"?{from:null,to:null}:null);},[t,Se]),tr=!!I||D||k;return jsxRuntime.jsxs("div",{ref:J,onKeyDown:Ie,className:u("inline-block bg-white dark:bg-gray-900",W&&"rounded-lg border border-gray-200 shadow-sm dark:border-gray-700",C.padding,v&&"opacity-60",T),...S,children:[jsxRuntime.jsx("div",{className:u("flex flex-wrap",C.gap),children:Array.from({length:N},(ue,me)=>Nr(me))}),tr&&jsxRuntime.jsxs("div",{className:u("mt-3 flex items-center justify-between gap-2 border-t border-gray-200 pt-3 dark:border-gray-700",C.footer),children:[jsxRuntime.jsx("div",{className:"text-gray-600 dark:text-gray-400",children:I}),(D||k)&&jsxRuntime.jsxs("div",{className:"flex items-center gap-2",children:[D&&jsxRuntime.jsx("button",{type:"button",onClick:Gt,disabled:v,className:u("rounded-md px-2 py-1 font-medium transition-colors","text-gray-700 hover:bg-gray-100 dark:text-gray-300 dark:hover:bg-gray-700","focus:outline-none focus-visible:ring-2",Dn[m],v&&"cursor-not-allowed opacity-50"),children:L?.today??"Today"}),k&&jsxRuntime.jsx("button",{type:"button",onClick:er,disabled:v,className:u("rounded-md px-2 py-1 font-medium transition-colors","text-gray-700 hover:bg-gray-100 dark:text-gray-300 dark:hover:bg-gray-700","focus:outline-none focus-visible:ring-2",Dn[m],v&&"cursor-not-allowed opacity-50"),children:L?.clear??"Clear"})]})]})]})}function Dm(e,t,r){let n=r||"bg-white dark:bg-gray-800",o=t||"border-gray-200 dark:border-gray-700";switch(e){case "outlined":return u("border-2 bg-transparent",o);case "elevated":return u("shadow-lg border-0",n);case "filled":return u(r||"bg-gray-100 dark:bg-gray-700","border-0");default:return u("border",o,n)}}function Mm(e){switch(e){case "sm":return "max-w-sm";case "lg":return "max-w-2xl";default:return "max-w-md"}}function Im(e){switch(e){case "none":return "rounded-none";case "sm":return "rounded-sm";case "md":return "rounded-md";case "xl":return "rounded-xl";case "full":return "rounded-3xl";default:return "rounded-lg"}}function Lm(e){switch(e){case "none":return "";case "sm":return "p-2";case "lg":return "p-6";default:return ""}}function Ql({variant:e="default",size:t="md",rounded:r="lg",padding:n="none",bgColor:o,borderColor:a,shadowColor:s,hoverable:l=false,clickable:i=false,as:d="div",className:c,children:p,onClick:f,...m}){let g=d,x=l?"transition-all duration-200 hover:shadow-lg hover:-translate-y-0.5":"",b=i?"cursor-pointer active:scale-[0.98] transition-transform":"",v=s||"";return jsxRuntime.jsx(g,{className:u("overflow-hidden",Dm(e,a,o),Mm(t),Im(r),Lm(n),x,b,v,c),onClick:i||f?f:void 0,...m,children:p})}Ql.displayName="Card";function zm(e){switch(e){case "none":return "p-0";case "sm":return "px-3 py-2";case "lg":return "px-6 py-5";default:return "px-4 py-4"}}function ed({actions:e,divider:t=false,padding:r="md",className:n,children:o,...a}){return jsxRuntime.jsxs("div",{className:u("flex items-center justify-between",zm(r),t&&"border-b border-gray-200 dark:border-gray-700",n),...a,children:[jsxRuntime.jsx("div",{className:"flex-1",children:o}),e&&jsxRuntime.jsx("div",{className:"flex items-center gap-2 ml-4",children:e})]})}ed.displayName="CardHeader";function Hm(e){switch(e){case "none":return "p-0";case "sm":return "px-3 py-2";case "lg":return "px-6 py-5";default:return "px-4 py-4"}}function td({padding:e="md",className:t,children:r,...n}){return jsxRuntime.jsx("div",{className:u(Hm(e),t),...n,children:r})}td.displayName="CardBody";function Vm(e){switch(e){case "none":return "p-0";case "sm":return "px-3 py-2";case "lg":return "px-6 py-5";default:return "px-4 py-4"}}function Bm(e){switch(e){case "center":return "justify-center";case "right":return "justify-end";case "between":return "justify-between";default:return "justify-start"}}function rd({divider:e=false,align:t="left",padding:r="md",className:n,children:o,...a}){return jsxRuntime.jsx("div",{className:u("flex items-center gap-2",Vm(r),Bm(t),e&&"border-t border-gray-200 dark:border-gray-700",n),...a,children:o})}rd.displayName="CardFooter";function $m(e){switch(e){case "square":return "aspect-square";case "video":return "aspect-video";case "wide":return "aspect-[21/9]";default:return ""}}function _m(e){switch(e){case "contain":return "object-contain";case "fill":return "object-fill";case "none":return "object-none";default:return "object-cover"}}function nd({position:e="top",aspectRatio:t="auto",objectFit:r="cover",src:n,alt:o,className:a,...s}){let l=e==="top"?"rounded-t-lg":"rounded-b-lg";return jsxRuntime.jsx("img",{src:n,alt:o,className:u("w-full",$m(t),_m(r),l,a),...s})}nd.displayName="CardImage";function Gm(e){switch(e){case "sm":return "text-base font-medium";case "lg":return "text-2xl font-bold";default:return "text-xl font-semibold"}}function od({as:e="h3",size:t="md",className:r,children:n,...o}){return jsxRuntime.jsx(e,{className:u("text-gray-900 dark:text-white",Gm(t),r),...o,children:n})}od.displayName="CardTitle";function Um(e){switch(e){case "sm":return "text-xs";case "lg":return "text-base";default:return "text-sm"}}function ad({size:e="md",className:t,children:r,...n}){return jsxRuntime.jsx("p",{className:u("text-gray-500 dark:text-gray-400",Um(e),t),...n,children:r})}ad.displayName="CardDescription";var sd=12,Js=false,jm={sm:"text-[11px]",md:"text-xs",lg:"text-sm"},qm={sm:"text-xs",md:"text-sm",lg:"text-base"};function Zm({data:e,by:t,values:r,domain:n,includeZero:o=false,ticks:a=5,order:s,sort:l="none",columns:i,minPanelWidth:d=220,formatLabel:c,showLabels:p=true,title:f,description:m,size:g="md",locale:x,emptyState:b,children:v,className:y,...M}){let w=c??(D=>bt(D,x)),P=new Map;e.forEach((D,k)=>{let I=Ut(D,t,k),W=dt(I),O=P.get(W);O?O.rows.push(D):P.set(W,{value:I,rows:[D]});});let h=[...P.entries()];if(s)h=s.map(dt).map(k=>h.find(([I])=>I===k)).filter(k=>k!==void 0);else if(l!=="none"){let D=k=>k.reduce((I,W)=>I+r.reduce((O,L)=>O+(et(W,L)??0),0),0);h=[...h].sort(([,k],[,I])=>l==="asc"?D(k.rows)-D(I.rows):D(I.rows)-D(k.rows));}let E=n??Qn(ir(e,r),{includeZero:o,ticks:a});return h.length>sd&&!Js&&(Js=true,console.warn(`[@synertech/ui] ChartFacets was given ${h.length} panels. Past ${sd} a facet grid stops being a comparison \u2014 filter the data down to the panels the reader is actually comparing.`)),h.length===0?jsxRuntime.jsx("div",{className:u("text-sm text-gray-500 dark:text-gray-400",y),...M,children:b}):jsxRuntime.jsxs("div",{className:u("flex w-full flex-col gap-3",y),...M,children:[f||m?jsxRuntime.jsxs("div",{className:"flex flex-col gap-0.5",children:[f?jsxRuntime.jsx("span",{className:u("font-semibold text-gray-900 dark:text-gray-100",qm[g]),children:f}):null,m?jsxRuntime.jsx("span",{className:"text-xs text-gray-500 dark:text-gray-400",children:m}):null]}):null,jsxRuntime.jsx("div",{className:"grid gap-x-4 gap-y-3",style:{gridTemplateColumns:i?`repeat(${i}, minmax(0, 1fr))`:`repeat(auto-fit, minmax(${d}px, 1fr))`},children:h.map(([D,k],I)=>{let W=w(k.value,I);return jsxRuntime.jsxs("div",{role:"group","aria-label":W,className:"flex min-w-0 flex-col gap-1",children:[p?jsxRuntime.jsx("span",{className:u("font-medium text-gray-700 dark:text-gray-200",jm[g]),children:W}):null,v({key:D,label:W,data:k.rows,domain:E,index:I,count:h.length})]},D)})})]})}function Qm(){Js=false;}var og=e=>{switch(e){case "sm":return {checkbox:"w-4 h-4",label:"text-xs",description:"text-xs"};case "lg":return {checkbox:"w-6 h-6",label:"text-base",description:"text-sm"};default:return {checkbox:"w-5 h-5",label:"text-sm",description:"text-xs"}}},ag=e=>{switch(e){case "circle":return "rounded-full";case "rounded":return "rounded-md";default:return "rounded"}},sg=({className:e})=>jsxRuntime.jsx("svg",{className:e,viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:jsxRuntime.jsx("path",{d:"M13.5 4.5L6 12L2.5 8.5",stroke:"currentColor",strokeWidth:"2.5",strokeLinecap:"round",strokeLinejoin:"round"})}),ig=({className:e})=>jsxRuntime.jsx("svg",{className:e,viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:jsxRuntime.jsx("path",{d:"M3 8H13",stroke:"currentColor",strokeWidth:"2.5",strokeLinecap:"round"})}),Xo=js.forwardRef(({checked:e,defaultChecked:t=false,onChange:r,disabled:n=false,readOnly:o=false,required:a=false,name:s,value:l,id:i,label:d,description:c,error:p=false,size:f="md",labelPosition:m="right",checkedColor:g="bg-blue-600",uncheckedColor:x="bg-white dark:bg-gray-800",borderColor:b="border-gray-300 dark:border-gray-600",labelColor:v,errorColor:y="text-red-500",checkmarkColor:M="text-white",hoverColor:w,focusRingColor:P="ring-blue-500",indeterminate:h=false,icon:E,variant:D="default",shape:k="square",animation:I=true,showFocusRing:W=true,className:O,containerClassName:L,style:T,tabIndex:S,...C},N)=>{let R=js.useId(),$=i||R,H=`${$}-error`,K=`${$}-description`,[_,F]=js.useState(t),A=e!==void 0,B=A?e:_,U=js.useRef(null);js.useEffect(()=>{U.current&&(U.current.indeterminate=h);},[h]);let Q=re=>{if(n||o)return;let q=re.target.checked;A||F(q),r?.(q,re);},J=og(f),Y=ag(k),z=()=>{let re=u("relative flex items-center justify-center border-2 transition-all",J.checkbox,Y,I&&"duration-200 ease-in-out");return n?u(re,"opacity-50 cursor-not-allowed",B||h?g:x,b):D==="filled"?u(re,B||h?g:"bg-gray-100 dark:bg-gray-700",B||h?"border-transparent":b,w&&!o&&`hover:${w}`,"cursor-pointer"):D==="outlined"?u(re,x,B||h?`border-current ${g.replace("bg-","text-")}`:b,"border-2",w&&!o&&`hover:${w}`,"cursor-pointer"):u(re,B||h?g:x,B||h?"border-transparent":b,w&&!o&&`hover:${w}`,"cursor-pointer")},X=p!==false,ne=typeof p=="string"?p:void 0;return jsxRuntime.jsxs("div",{className:u("inline-flex flex-col",L),children:[jsxRuntime.jsxs("label",{htmlFor:$,className:u("inline-flex items-start gap-2",n?"cursor-not-allowed":"cursor-pointer",m==="left"&&"flex-row-reverse justify-end"),children:[jsxRuntime.jsx("input",{ref:re=>{U&&(U.current=re),typeof N=="function"?N(re):N&&(N.current=re);},type:"checkbox",id:$,name:s,value:l,checked:B,onChange:Q,disabled:n,readOnly:o,required:a,tabIndex:o?-1:S,"aria-invalid":X,"aria-describedby":u(ne&&H,c&&K),className:"sr-only peer",style:T,...C}),jsxRuntime.jsx("span",{className:u(z(),W&&`peer-focus-visible:ring-2 peer-focus-visible:ring-offset-2 peer-focus-visible:${P}`,I&&B&&"scale-100",X&&"border-red-500"),"aria-hidden":"true",children:(B||h)&&jsxRuntime.jsx("span",{className:u(M,I&&"animate-in zoom-in-50 duration-200"),children:h?E||jsxRuntime.jsx(ig,{className:"w-full h-full"}):E||jsxRuntime.jsx(sg,{className:"w-full h-full"})})}),d&&jsxRuntime.jsxs("span",{className:"flex flex-col gap-1",children:[jsxRuntime.jsxs("span",{className:u(J.label,n&&"opacity-50",v,X&&y),children:[d,a&&jsxRuntime.jsx("span",{className:"text-red-500 ml-1",children:"*"})]}),c&&jsxRuntime.jsx("span",{id:K,className:u(J.description,"text-gray-500 dark:text-gray-400",n&&"opacity-50"),children:c})]})]}),ne&&jsxRuntime.jsx("p",{id:H,className:u("mt-1 text-xs",y),children:ne})]})});Xo.displayName="Checkbox";var id=js.createContext(null),ld=({label:e,description:t,value:r,defaultValue:n=[],onChange:o,orientation:a="vertical",spacing:s="md",disabled:l=false,size:i="md",error:d=false,required:c=false,children:p,className:f,labelClassName:m,...g})=>{let[x,b]=js__namespace.useState(n),v=r!==void 0,y=v?r:x,M=js__namespace.useCallback(D=>{let k=y.includes(D)?y.filter(I=>I!==D):[...y,D];v||b(k),o?.(k);},[y,v,o]),w=js__namespace.useMemo(()=>({value:y,onChange:M,disabled:l,size:i}),[y,M,l,i]),P={sm:a==="vertical"?"gap-2":"gap-3",md:a==="vertical"?"gap-3":"gap-4",lg:a==="vertical"?"gap-4":"gap-6"},h=d!==false,E=typeof d=="string"?d:void 0;return jsxRuntime.jsxs("div",{className:u("flex flex-col gap-2",f),...g,children:[(e||t)&&jsxRuntime.jsxs("div",{className:"flex flex-col gap-1",children:[e&&jsxRuntime.jsxs("label",{className:u("text-sm font-medium text-gray-900 dark:text-gray-100",l&&"opacity-50",h&&"text-red-500",m),children:[e,c&&jsxRuntime.jsx("span",{className:"text-red-500 ml-1",children:"*"})]}),t&&jsxRuntime.jsx("p",{className:u("text-xs text-gray-500 dark:text-gray-400",l&&"opacity-50"),children:t})]}),jsxRuntime.jsx(id.Provider,{value:w,children:jsxRuntime.jsx("div",{className:u("flex",a==="vertical"?"flex-col":"flex-row flex-wrap",P[s]),role:"group",children:p})}),E&&jsxRuntime.jsx("p",{className:"text-xs text-red-500",children:E})]})};ld.displayName="CheckboxGroup";var dd=({value:e,disabled:t,size:r,...n})=>{let o=js.useContext(id);if(!o)return console.warn("CheckboxGroupItem doit \xEAtre utilis\xE9 dans un CheckboxGroup"),jsxRuntime.jsx(Xo,{...n,disabled:t,size:r});let{value:a,onChange:s,disabled:l,size:i}=o,d=a.includes(e);return jsxRuntime.jsx(Xo,{...n,checked:d,onChange:()=>s(e),disabled:l||t,size:r||i})};dd.displayName="CheckboxGroupItem";var $t={compact:"px-3 py-1.5",default:"px-4 py-3",comfortable:"px-6 py-4"},Fa={compact:"text-xs",default:"text-sm",comfortable:"text-base"},mg=()=>jsxRuntime.jsx("svg",{className:"w-3.5 h-3.5",viewBox:"0 0 16 16",fill:"currentColor",children:jsxRuntime.jsx("path",{d:"M8 3l4 5H4l4-5z"})}),gg=()=>jsxRuntime.jsx("svg",{className:"w-3.5 h-3.5",viewBox:"0 0 16 16",fill:"currentColor",children:jsxRuntime.jsx("path",{d:"M8 13l4-5H4l4 5z"})}),fg=()=>jsxRuntime.jsx("svg",{className:"w-3.5 h-3.5 opacity-30",viewBox:"0 0 16 16",fill:"currentColor",children:jsxRuntime.jsx("path",{d:"M8 3l3 4H5l3-4zM8 13l3-4H5l3 4z"})}),cd=({className:e})=>jsxRuntime.jsx("svg",{className:u("w-4 h-4",e),viewBox:"0 0 20 20",fill:"currentColor",children:jsxRuntime.jsx("path",{fillRule:"evenodd",d:"M5.23 7.21a.75.75 0 011.06.02L10 11.168l3.71-3.938a.75.75 0 111.08 1.04l-4.25 4.5a.75.75 0 01-1.08 0l-4.25-4.5a.75.75 0 01.02-1.06z",clipRule:"evenodd"})}),bg=()=>jsxRuntime.jsx("svg",{className:"w-4 h-4 text-gray-400",viewBox:"0 0 20 20",fill:"currentColor",children:jsxRuntime.jsx("path",{fillRule:"evenodd",d:"M9 3.5a5.5 5.5 0 100 11 5.5 5.5 0 000-11zM2 9a7 7 0 1112.452 4.391l3.328 3.329a.75.75 0 11-1.06 1.06l-3.329-3.328A7 7 0 012 9z",clipRule:"evenodd"})}),hg=()=>jsxRuntime.jsx("svg",{className:"w-4 h-4 text-gray-400",viewBox:"0 0 20 20",fill:"currentColor",children:jsxRuntime.jsx("path",{d:"M7 4a1.5 1.5 0 110-3 1.5 1.5 0 010 3zm6 0a1.5 1.5 0 110-3 1.5 1.5 0 010 3zM7 10.5a1.5 1.5 0 110-3 1.5 1.5 0 010 3zm6 0a1.5 1.5 0 110-3 1.5 1.5 0 010 3zM7 17a1.5 1.5 0 110-3 1.5 1.5 0 010 3zm6 0a1.5 1.5 0 110-3 1.5 1.5 0 010 3z"})}),yg=()=>jsxRuntime.jsx("svg",{className:"w-3.5 h-3.5",viewBox:"0 0 20 20",fill:"currentColor",children:jsxRuntime.jsx("path",{fillRule:"evenodd",d:"M2.628 1.601C5.028 1.206 7.49 1 10 1s4.973.206 7.372.601a.75.75 0 01.628.74v2.288a2.25 2.25 0 01-.659 1.59l-4.682 4.683a2.25 2.25 0 00-.659 1.59v3.037c0 .684-.31 1.33-.844 1.757l-1.937 1.55A.75.75 0 018 18.25v-5.757a2.25 2.25 0 00-.659-1.591L2.659 6.22A2.25 2.25 0 012 4.629V2.34a.75.75 0 01.628-.74z",clipRule:"evenodd"})}),xg=()=>jsxRuntime.jsxs("svg",{className:"w-4 h-4",viewBox:"0 0 20 20",fill:"currentColor",children:[jsxRuntime.jsx("path",{d:"M10.75 2.75a.75.75 0 00-1.5 0v8.614L6.295 8.235a.75.75 0 10-1.09 1.03l4.25 4.5a.75.75 0 001.09 0l4.25-4.5a.75.75 0 00-1.09-1.03l-2.955 3.129V2.75z"}),jsxRuntime.jsx("path",{d:"M3.5 12.75a.75.75 0 00-1.5 0v2.5A2.75 2.75 0 004.75 18h10.5A2.75 2.75 0 0018 15.25v-2.5a.75.75 0 00-1.5 0v2.5c0 .69-.56 1.25-1.25 1.25H4.75c-.69 0-1.25-.56-1.25-1.25v-2.5z"})]}),vg=()=>jsxRuntime.jsx("svg",{className:"w-4 h-4",viewBox:"0 0 20 20",fill:"currentColor",children:jsxRuntime.jsx("path",{fillRule:"evenodd",d:"M2.5 3A1.5 1.5 0 001 4.5v11A1.5 1.5 0 002.5 17h15a1.5 1.5 0 001.5-1.5v-11A1.5 1.5 0 0017.5 3h-15zM2.5 4.5h6v11h-6v-11zm7.5 0h7.5v11H10v-11z",clipRule:"evenodd"})});function Ha(e,t,r){return typeof r=="function"?r(e,t):String(typeof r=="string"?e[r]:t)}function Hr(e,t){return e[t]}function kg(e,t){return e==null&&t==null?0:e==null?-1:t==null?1:typeof e=="number"&&typeof t=="number"?e-t:String(e).localeCompare(String(t))}function Cg(e,t){let r=String(e??"").toLowerCase(),n=t.value.toLowerCase();switch(t.operator){case "contains":return r.includes(n);case "equals":return r===n;case "startsWith":return r.startsWith(n);case "endsWith":return r.endsWith(n);case "gt":return Number(e)>Number(t.value);case "gte":return Number(e)>=Number(t.value);case "lt":return Number(e)<Number(t.value);case "lte":return Number(e)<=Number(t.value);case "isEmpty":return r==="";case "isNotEmpty":return r!=="";default:return true}}function ud(e,t,r){let n=[];for(let o of e){let a=Number(Hr(o,t));isNaN(a)||n.push(a);}if(n.length===0)return 0;switch(r){case "sum":return n.reduce((o,a)=>o+a,0);case "avg":return n.reduce((o,a)=>o+a,0)/n.length;case "count":return n.length;case "min":return Math.min(...n);case "max":return Math.max(...n)}}function wg({cols:e,density:t}){return jsxRuntime.jsx("tr",{className:"border-b border-gray-200 dark:border-gray-700",children:Array.from({length:e}).map((r,n)=>jsxRuntime.jsx("td",{className:$t[t],children:jsxRuntime.jsx("div",{className:"h-4 bg-gray-200 dark:bg-gray-700 rounded animate-pulse"})},n))})}function Ng({column:e,value:t,onApply:r,onClear:n}){let[o,a]=js.useState(false),[s,l]=js.useState(t?.operator??"contains"),[i,d]=js.useState(t?.value??""),c=js.useRef(null),p=e.filterType??"text",f=p==="number"?[{value:"equals",label:"Equals"},{value:"gt",label:"Greater than"},{value:"gte",label:"Greater or equal"},{value:"lt",label:"Less than"},{value:"lte",label:"Less or equal"}]:[{value:"contains",label:"Contains"},{value:"equals",label:"Equals"},{value:"startsWith",label:"Starts with"},{value:"endsWith",label:"Ends with"},{value:"isEmpty",label:"Is empty"},{value:"isNotEmpty",label:"Is not empty"}];return js.useEffect(()=>{let m=g=>{c.current&&!c.current.contains(g.target)&&a(false);};return o&&document.addEventListener("mousedown",m),()=>document.removeEventListener("mousedown",m)},[o]),jsxRuntime.jsxs("div",{className:"relative inline-block",ref:c,children:[jsxRuntime.jsx("button",{type:"button",onClick:m=>{m.stopPropagation(),a(!o);},className:u("p-0.5 rounded hover:bg-gray-200 dark:hover:bg-gray-600 cursor-pointer",t&&"text-blue-600 dark:text-blue-400"),"aria-label":`Filter ${String(e.header)}`,children:jsxRuntime.jsx(yg,{})}),o&&jsxRuntime.jsx("div",{className:"absolute z-50 top-full left-0 mt-1 bg-white dark:bg-gray-800 border border-gray-200 dark:border-gray-700 rounded-lg shadow-lg p-3 min-w-[220px]",children:p==="select"&&e.filterOptions?jsxRuntime.jsxs("div",{className:"flex flex-col gap-1.5",children:[e.filterOptions.map(m=>jsxRuntime.jsxs("label",{className:"flex items-center gap-2 text-sm cursor-pointer",children:[jsxRuntime.jsx("input",{type:"radio",name:`filter-${e.key}`,value:m,checked:i===m,onChange:()=>d(m),className:"cursor-pointer"}),jsxRuntime.jsx("span",{className:"text-gray-700 dark:text-gray-300",children:m})]},m)),jsxRuntime.jsxs("div",{className:"flex gap-2 mt-2",children:[jsxRuntime.jsx("button",{type:"button",onClick:()=>{r({column:e.key,operator:"equals",value:i}),a(false);},className:"px-2 py-1 text-xs bg-blue-600 text-white rounded hover:bg-blue-700 cursor-pointer",children:"Apply"}),jsxRuntime.jsx("button",{type:"button",onClick:()=>{d(""),n(),a(false);},className:"px-2 py-1 text-xs text-gray-600 dark:text-gray-400 hover:text-gray-800 dark:hover:text-gray-200 cursor-pointer",children:"Clear"})]})]}):jsxRuntime.jsxs("div",{className:"flex flex-col gap-2",children:[jsxRuntime.jsx("select",{value:s,onChange:m=>l(m.target.value),className:"text-xs border border-gray-300 dark:border-gray-600 rounded px-2 py-1 bg-white dark:bg-gray-700 text-gray-700 dark:text-gray-200",children:f.map(m=>jsxRuntime.jsx("option",{value:m.value,children:m.label},m.value))}),s!=="isEmpty"&&s!=="isNotEmpty"&&jsxRuntime.jsx("input",{type:p==="number"?"number":p==="date"?"date":"text",value:i,onChange:m=>d(m.target.value),placeholder:"Filter value...",className:"text-xs border border-gray-300 dark:border-gray-600 rounded px-2 py-1 bg-white dark:bg-gray-700 text-gray-700 dark:text-gray-200",autoFocus:true,"aria-label":`Filter ${String(e.header)} value`}),jsxRuntime.jsxs("div",{className:"flex gap-2",children:[jsxRuntime.jsx("button",{type:"button",onClick:()=>{r({column:e.key,operator:s,value:i}),a(false);},className:"px-2 py-1 text-xs bg-blue-600 text-white rounded hover:bg-blue-700 cursor-pointer",children:"Apply"}),jsxRuntime.jsx("button",{type:"button",onClick:()=>{d(""),n(),a(false);},className:"px-2 py-1 text-xs text-gray-600 dark:text-gray-400 hover:text-gray-800 dark:hover:text-gray-200 cursor-pointer",children:"Clear"})]})]})})]})}function Sg({value:e,onSave:t,density:r}){let[n,o]=js.useState(false),[a,s]=js.useState(String(e??"")),l=js.useRef(null);if(js.useEffect(()=>{n&&l.current&&(l.current.focus(),l.current.select());},[n]),!n)return jsxRuntime.jsx("div",{onDoubleClick:()=>{s(String(e??"")),o(true);},className:"cursor-text min-h-[1.5em]",title:"Double-click to edit",children:String(e??"")});let i=()=>{o(false),a!==String(e??"")&&t(a);};return jsxRuntime.jsx("input",{ref:l,type:"text",value:a,onChange:d=>s(d.target.value),onBlur:i,"aria-label":"Edit cell value",onKeyDown:d=>{d.key==="Enter"&&i(),d.key==="Escape"&&o(false);},className:u("w-full border border-blue-500 rounded px-1 py-0.5 bg-white dark:bg-gray-700 text-gray-900 dark:text-gray-100 outline-none",Fa[r])})}function Rg(e,t){let{columns:r,data:n,rowKey:o,mode:a="client",sortable:s=false,multiSort:l=false,sort:i,defaultSort:d,onSort:c,pagination:p=false,page:f,onPageChange:m,onPageSizeChange:g,totalItems:x,selectable:b=false,selectionMode:v="multiple",selectedRows:y,onSelectionChange:M,searchable:w=false,searchPlaceholder:P="Search...",searchValue:h,onSearch:E,filters:D,onFilterChange:k,expandable:I=false,expandedContent:W,expandedRows:O,onExpandChange:L,editable:T=false,onCellEdit:S,reorderable:C=false,onReorder:N,columnReorderable:R=false,onColumnReorder:$,columnToggle:H=false,hiddenColumns:K,onColumnVisibilityChange:_,groupBy:F,renderGroupHeader:A,exportable:B=false,exportFormats:U=["csv","json"],exportFilename:Q="export",virtualized:J=false,rowHeight:Y=40,virtualHeight:z=400,density:X="default",striped:ne=false,bordered:re=false,borderless:q=false,stickyHeader:de=false,maxHeight:xe,loading:ke=false,loadingRows:le=5,emptyState:Se,showFooter:Me=false,onRowClick:je,onRowDoubleClick:at,onRowContextMenu:$e,className:ie,rowClassName:he,cellClassName:Ie,headerClassName:xt}=e,[Te,Ee]=js.useState(d??[]),[nt,pr]=js.useState(1),[pt,Ht]=js.useState(typeof p=="object"?p.pageSize??10:10),[Ft,sr]=js.useState([]),[Nr,Gt]=js.useState(""),[er,tr]=js.useState([]),[ue,me]=js.useState([]),[Z,ee]=js.useState(()=>r.flatMap(V=>V.hidden?[V.key]:[])),[fe,ge]=js.useState({}),[Re,ve]=js.useState(()=>r.map(V=>V.key)),[we,Fe]=js.useState(null),[Ae,ot]=js.useState(null),[qe,_e]=js.useState(false),[Mt,st]=js.useState(new Set),mr=js.useRef(null),[Gr,wn]=js.useState(0),Xn=js.useRef(null),Sr=i??Te,gr=f??nt,G=y??Ft,te=h??Nr,oe=D??er,ae=O??ue,pe=K??Z,Ve=p?typeof p=="object"?p:{pageSize:10,pageSizeOptions:[10,25,50,100]}:null,Ye=Ve?.pageSize??pt,Xe=js.useMemo(()=>{let V=new Map(r.map(Ne=>[Ne.key,Ne])),j=Re.flatMap(Ne=>{let ze=V.get(Ne);return ze?[ze]:[]}),ce=new Set(j.map(Ne=>Ne.key));for(let Ne of r)ce.has(Ne.key)||(j.push(Ne),ce.add(Ne.key));return j.filter(Ne=>!pe.includes(Ne.key))},[r,Re,pe]),Le=js.useMemo(()=>{if(a==="server")return n;let V=[...n];if(te){let j=te.toLowerCase();V=V.filter(ce=>Xe.some(Ne=>{let ze=Hr(ce,Ne.key);return String(ze??"").toLowerCase().includes(j)}));}if(oe.length>0&&(V=V.filter(j=>oe.every(ce=>Cg(Hr(j,ce.column),ce)))),Sr.length>0){let j=new Map(r.map(ce=>[ce.key,ce]));V.sort((ce,Ne)=>{for(let ze of Sr){if(!ze.direction)continue;let ft=j.get(ze.key),Qt=ft?.sortComparator?ft.sortComparator(ce,Ne):kg(Hr(ce,ze.key),Hr(Ne,ze.key));if(Qt!==0)return ze.direction==="asc"?Qt:-Qt}return 0});}return V},[n,a,te,oe,Sr,Xe,r]),It=js.useMemo(()=>{if(!F)return null;let V=Array.isArray(F)?F:[F],j=new Map;for(let ce of Le){let Ne=V.map(ft=>String(Hr(ce,ft)??"")).join(" / "),ze=j.get(Ne)??[];ze.push(ce),j.set(Ne,ze);}return j},[Le,F]),Ge=x??Le.length,gt=Math.max(1,Math.ceil(Ge/Ye)),Nt=js.useMemo(()=>{if(!Ve||a==="server")return Le;let V=(gr-1)*Ye;return Le.slice(V,V+Ye)},[Le,Ve,gr,Ye,a]),it=Ve?Nt:Le,Vt=js.useMemo(()=>{if(!J)return {start:0,end:it.length};let V=Math.floor(Gr/Y),j=Math.ceil(z/Y),ce=5;return {start:Math.max(0,V-ce),end:Math.min(it.length,V+j+ce)}},[J,Gr,Y,z,it.length]),Rr=js.useCallback(V=>{i||Ee(V),c?.(V);},[i,c]),Tr=js.useCallback(V=>{let j=Sr.find(Ne=>Ne.key===V),ce;if(!j||!j.direction?ce="asc":j.direction==="asc"?ce="desc":ce=null,l){let Ne=Sr.filter(ze=>ze.key!==V);ce&&Ne.push({key:V,direction:ce}),Rr(Ne);}else Rr(ce?[{key:V,direction:ce}]:[]);},[Sr,l,Rr]),rr=js.useCallback(V=>{let j=Math.max(1,Math.min(V,gt));f||pr(j),m?.(j);},[f,m,gt]),Cs=js.useCallback(V=>{Ht(V),rr(1),g?.(V);},[rr,g]),ha=js.useCallback(V=>{let j;v==="single"?j=G.includes(V)?[]:[V]:j=G.includes(V)?G.filter(ce=>ce!==V):[...G,V],y||sr(j),M?.(j);},[v,G,y,M]),ws=js.useCallback(()=>{let V=it.map((j,ce)=>Ha(j,ce,o));y||sr(V),M?.(V);},[it,o,y,M]),Ns=js.useCallback(()=>{y||sr([]),M?.([]);},[y,M]),Ss=it.length>0&&it.every((V,j)=>G.includes(Ha(V,j,o))),Yu=!Ss&&it.some((V,j)=>G.includes(Ha(V,j,o))),ju=js.useCallback(V=>{let j=ae.includes(V)?ae.filter(ce=>ce!==V):[...ae,V];O||me(j),L?.(j);},[ae,O,L]),qu=js.useCallback(V=>{let j=V.target.value;h||Gt(j),E?.(j),rr(1);},[h,E,rr]),Zu=js.useCallback(V=>{let j=[...oe.filter(ce=>ce.column!==V.column),V];D||tr(j),k?.(j);},[oe,D,k]),Qu=js.useCallback(V=>{let j=oe.filter(ce=>ce.column!==V);D||tr(j),k?.(j);},[oe,D,k]),Ju=js.useCallback(V=>{let j=pe.includes(V)?pe.filter(ce=>ce!==V):[...pe,V];K||ee(j),_?.(j);},[pe,K,_]),e0=js.useCallback((V,j)=>{V.preventDefault(),V.stopPropagation();let ce=V.clientX,Ne=fe[j]??V.currentTarget.parentElement?.getBoundingClientRect().width??100,ze=r.find(Jt=>Jt.key===j),ft=ze?.minWidth??50,Qt=ze?.maxWidth??1/0,Ze=Jt=>{let Nn=Jt.clientX-ce,Er=Math.min(Qt,Math.max(ft,Ne+Nn));ge(Kn=>({...Kn,[j]:Er}));},Pr=()=>{document.removeEventListener("mousemove",Ze),document.removeEventListener("mouseup",Pr);};document.addEventListener("mousemove",Ze),document.addEventListener("mouseup",Pr);},[fe,r]),t0=js.useCallback(V=>{C&&Fe(V);},[C]),r0=js.useCallback((V,j)=>{!C||we===null||V.preventDefault();},[C,we]),n0=js.useCallback(V=>{!C||we===null||we===V||(N?.(we,V),Fe(null));},[C,we,N]),o0=js.useCallback(V=>{R&&ot(V);},[R]),a0=js.useCallback(V=>{if(!R||!Ae||Ae===V)return;let j=[...Re],ce=j.indexOf(Ae),Ne=j.indexOf(V);ce===-1||Ne===-1||(j.splice(ce,1),j.splice(Ne,0,Ae),ve(j),$?.(Ae,V),ot(null));},[R,Ae,Re,$]),Rs=js.useCallback(V=>{let j=Xe.filter(Jt=>Jt.type!=="actions"&&Jt.type!=="selection"&&Jt.type!=="expand"),ce=Le,Ne,ze,ft;if(V==="csv"){let Jt=j.map(Er=>String(Er.header)).join(","),Nn=ce.map(Er=>j.map(Kn=>{let Es=String(Hr(Er,Kn.key)??"");return Es.includes(",")?`"${Es}"`:Es}).join(","));Ne=[Jt,...Nn].join(`
2
- `),ze="text/csv",ft="csv";}else {let Jt=ce.map(Nn=>{let Er={};for(let Kn of j)Er[Kn.key]=Hr(Nn,Kn.key);return Er});Ne=JSON.stringify(Jt,null,2),ze="application/json",ft="json";}let Qt=new Blob([Ne],{type:ze}),Ze=URL.createObjectURL(Qt),Pr=document.createElement("a");Pr.href=Ze,Pr.download=`${Q}.${ft}`,Pr.click(),URL.revokeObjectURL(Ze);},[Xe,Le,Q]);js.useEffect(()=>{if(!qe)return;let V=j=>{Xn.current&&!Xn.current.contains(j.target)&&_e(false);};return document.addEventListener("mousedown",V),()=>document.removeEventListener("mousedown",V)},[qe]),js.useImperativeHandle(t,()=>({getVisibleData:()=>it,resetFilters:()=>{D||tr([]),h||Gt(""),k?.([]),E?.("");},resetSort:()=>{i||Ee([]),c?.([]);},selectAll:ws,deselectAll:Ns,exportData:Rs,scrollToRow:V=>{mr.current&&J&&(mr.current.scrollTop=V*Y);}}),[it,D,h,i,k,E,c,ws,Ns,Rs,J,Y]);let Ts=V=>{let j={},ce=fe[V.key]??V.width;return ce&&(j.width=typeof ce=="number"?`${ce}px`:ce,j.minWidth=typeof ce=="number"?`${ce}px`:ce),V.sticky&&(j.position="sticky",j[V.sticky]=0,j.zIndex=10),j},Gn=Xe.length+(b?1:0)+(I?1:0)+(C?1:0),s0=V=>{let j=s&&V.sortable!==false&&V.type!=="actions",ce=Sr.find(ze=>ze.key===V.key),Ne=V.filterable&&(V.filterType||V.filterOptions);return jsxRuntime.jsxs("th",{className:u($t[X],Fa[X],"font-semibold text-gray-700 dark:text-gray-300 whitespace-nowrap",V.align==="center"&&"text-center",V.align==="right"&&"text-right",j&&"cursor-pointer select-none hover:bg-gray-100 dark:hover:bg-gray-700",re&&"border border-gray-200 dark:border-gray-700",V.sticky&&"bg-gray-50 dark:bg-gray-800",V.headerClassName,xt),style:Ts(V),onClick:j?()=>Tr(V.key):void 0,draggable:R,onDragStart:R?()=>o0(V.key):void 0,onDragOver:R?ze=>ze.preventDefault():void 0,onDrop:R?()=>a0(V.key):void 0,"aria-sort":ce?.direction==="asc"?"ascending":ce?.direction==="desc"?"descending":void 0,children:[jsxRuntime.jsxs("div",{className:"flex items-center gap-1",children:[V.renderHeader?V.renderHeader(V):V.header,j&&jsxRuntime.jsx("span",{className:"inline-flex ml-1",children:ce?.direction==="asc"?jsxRuntime.jsx(mg,{}):ce?.direction==="desc"?jsxRuntime.jsx(gg,{}):jsxRuntime.jsx(fg,{})}),Ne&&jsxRuntime.jsx(Ng,{column:V,value:oe.find(ze=>ze.column===V.key),onApply:Zu,onClear:()=>Qu(V.key)})]}),V.resizable!==false&&jsxRuntime.jsx("div",{className:"absolute top-0 right-0 w-1 h-full cursor-col-resize hover:bg-blue-500 opacity-0 hover:opacity-100",onMouseDown:ze=>e0(ze,V.key)})]},V.key)},Ps=(V,j,ce)=>{let Ne=Ha(V,ce,o),ze=G.includes(Ne),ft=ae.includes(Ne),Qt=typeof he=="function"?he(V,ce):he;return jsxRuntime.jsxs(js__namespace.default.Fragment,{children:[jsxRuntime.jsxs("tr",{className:u("border-b border-gray-200 dark:border-gray-700 transition-colors",ne&&ce%2===1&&"bg-gray-50/50 dark:bg-gray-800/50",ze&&"bg-blue-50 dark:bg-blue-900/20",je&&"cursor-pointer hover:bg-gray-50 dark:hover:bg-gray-700/50",we===j&&"opacity-50",Qt),onClick:je?()=>je(V,ce):void 0,onDoubleClick:at?()=>at(V,ce):void 0,onContextMenu:$e?Ze=>$e(V,ce,Ze):void 0,draggable:C,onDragStart:C?()=>t0(j):void 0,onDragOver:C?Ze=>r0(Ze,j):void 0,onDrop:C?()=>n0(j):void 0,"data-row-key":Ne,"aria-selected":b?ze:void 0,children:[C&&jsxRuntime.jsx("td",{className:u($t[X],"cursor-grab active:cursor-grabbing"),children:jsxRuntime.jsx(hg,{})}),b&&jsxRuntime.jsx("td",{className:u($t[X],"w-10"),children:jsxRuntime.jsx("input",{type:"checkbox",checked:ze,onChange:()=>ha(Ne),onClick:Ze=>Ze.stopPropagation(),className:"rounded border-gray-300 dark:border-gray-600 cursor-pointer","aria-label":`Select row ${Ne}`})}),I&&jsxRuntime.jsx("td",{className:u($t[X],"w-10"),children:jsxRuntime.jsx("button",{type:"button",onClick:Ze=>{Ze.stopPropagation(),ju(Ne);},className:"p-0.5 rounded hover:bg-gray-200 dark:hover:bg-gray-600 cursor-pointer","aria-label":ft?"Collapse row":"Expand row","aria-expanded":ft,children:jsxRuntime.jsx(cd,{className:u("transition-transform",ft&&"rotate-180")})})}),Xe.map(Ze=>{let Pr=Hr(V,Ze.key),Jt=Ze.colSpan?.(V,ce);if(Jt===0)return null;let Nn=T&&Ze.editable!==false&&Ze.type!=="actions";return jsxRuntime.jsx("td",{className:u($t[X],Fa[X],"text-gray-700 dark:text-gray-300",Ze.align==="center"&&"text-center",Ze.align==="right"&&"text-right",re&&"border border-gray-200 dark:border-gray-700",Ze.sticky&&(ze?"bg-blue-50 dark:bg-blue-900/20":ne&&ce%2===1?"bg-gray-50/50 dark:bg-gray-800/50":"bg-white dark:bg-gray-900"),Ze.cellClassName,Ie),style:Ts(Ze),colSpan:Jt,children:Nn?jsxRuntime.jsx(Sg,{value:Pr,onSave:Er=>S?.(Ne,Ze.key,Er),density:X}):Ze.render?Ze.render(Pr,V,ce):String(Pr??"")},Ze.key)})]}),I&&ft&&W&&jsxRuntime.jsx("tr",{className:"bg-gray-50 dark:bg-gray-800/70",children:jsxRuntime.jsx("td",{colSpan:Gn,className:u($t[X]),children:W(V,ce)})})]},Ne)},i0=()=>{if(ke)return Array.from({length:le}).map((V,j)=>jsxRuntime.jsx(wg,{cols:Gn,density:X},j));if(it.length===0)return jsxRuntime.jsx("tr",{children:jsxRuntime.jsx("td",{colSpan:Gn,className:u("text-center text-gray-400 dark:text-gray-500",$t[X]),children:Se??"No data available"})});if(It){let V=[],j=0;for(let[ce,Ne]of It){let ze=Mt.has(ce);if(V.push(jsxRuntime.jsx("tr",{className:"bg-gray-100 dark:bg-gray-800 font-medium",children:jsxRuntime.jsx("td",{colSpan:Gn,className:u($t[X],"cursor-pointer"),onClick:()=>{st(ft=>{let Qt=new Set(ft);return Qt.has(ce)?Qt.delete(ce):Qt.add(ce),Qt});},children:jsxRuntime.jsxs("div",{className:"flex items-center gap-2",children:[jsxRuntime.jsx(cd,{className:u("transition-transform",ze&&"-rotate-90")}),A?A(ce,Hr(Ne[0],Array.isArray(F)?F[0]:F),Ne):`${ce} (${Ne.length})`]})})},`group-${ce}`)),ze)j+=Ne.length;else for(let ft=0;ft<Ne.length;ft++)V.push(Ps(Ne[ft],j,j)),j++;}return V}if(J){let V=[];for(let j=Vt.start;j<Vt.end;j++)V.push(Ps(it[j],j,j));return jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[Vt.start>0&&jsxRuntime.jsx("tr",{children:jsxRuntime.jsx("td",{colSpan:Gn,style:{height:Vt.start*Y,padding:0}})}),V,Vt.end<it.length&&jsxRuntime.jsx("tr",{children:jsxRuntime.jsx("td",{colSpan:Gn,style:{height:(it.length-Vt.end)*Y,padding:0}})})]})}return it.map((V,j)=>Ps(V,j,j))},l0=()=>!Me||!Xe.some(j=>j.aggregate)?null:jsxRuntime.jsx("tfoot",{children:jsxRuntime.jsxs("tr",{className:"bg-gray-50 dark:bg-gray-800 font-semibold border-t-2 border-gray-300 dark:border-gray-600",children:[C&&jsxRuntime.jsx("td",{className:$t[X]}),b&&jsxRuntime.jsx("td",{className:$t[X]}),I&&jsxRuntime.jsx("td",{className:$t[X]}),Xe.map(j=>jsxRuntime.jsx("td",{className:u($t[X],Fa[X],"text-gray-700 dark:text-gray-300",j.align==="center"&&"text-center",j.align==="right"&&"text-right",re&&"border border-gray-200 dark:border-gray-700"),style:Ts(j),children:j.aggregate?j.renderAggregate?j.renderAggregate(ud(Le,j.key,j.aggregate),Le):`${j.aggregate==="count"?"":j.aggregate==="avg"?"Avg: ":j.aggregate==="sum"?"Total: ":j.aggregate==="min"?"Min: ":"Max: "}${ud(Le,j.key,j.aggregate).toLocaleString()}`:""},j.key))]})});return jsxRuntime.jsxs("div",{className:u("flex flex-col gap-3",ie),children:[(w||B||H)&&jsxRuntime.jsxs("div",{className:"flex items-center justify-between gap-3 flex-wrap",children:[jsxRuntime.jsxs("div",{className:"flex items-center gap-3 flex-1",children:[w&&jsxRuntime.jsxs("div",{className:"relative flex-1 max-w-xs",children:[jsxRuntime.jsx("div",{className:"absolute inset-y-0 left-0 flex items-center pl-3 pointer-events-none",children:jsxRuntime.jsx(bg,{})}),jsxRuntime.jsx("input",{type:"text",value:te,onChange:qu,placeholder:P,className:"w-full pl-9 pr-3 py-1.5 text-sm border border-gray-300 dark:border-gray-600 rounded-md bg-white dark:bg-gray-800 text-gray-700 dark:text-gray-200 focus:outline-none focus:ring-2 focus:ring-blue-500 focus:border-blue-500","aria-label":"Search table"})]}),G.length>0&&jsxRuntime.jsxs("span",{className:"text-sm text-gray-500 dark:text-gray-400",children:[G.length," selected"]})]}),jsxRuntime.jsxs("div",{className:"flex items-center gap-2",children:[H&&jsxRuntime.jsxs("div",{className:"relative",ref:Xn,children:[jsxRuntime.jsx("button",{type:"button",onClick:()=>_e(!qe),className:"p-1.5 rounded-md border border-gray-300 dark:border-gray-600 text-gray-600 dark:text-gray-400 hover:bg-gray-100 dark:hover:bg-gray-700 cursor-pointer","aria-label":"Toggle columns",title:"Toggle columns",children:jsxRuntime.jsx(vg,{})}),qe&&jsxRuntime.jsx("div",{className:"absolute z-50 right-0 top-full mt-1 bg-white dark:bg-gray-800 border border-gray-200 dark:border-gray-700 rounded-lg shadow-lg p-2 min-w-[180px]",children:r.filter(V=>V.type!=="selection"&&V.type!=="expand").map(V=>jsxRuntime.jsxs("label",{className:"flex items-center gap-2 px-2 py-1.5 text-sm rounded hover:bg-gray-100 dark:hover:bg-gray-700 cursor-pointer",children:[jsxRuntime.jsx("input",{type:"checkbox",checked:!pe.includes(V.key),onChange:()=>Ju(V.key),className:"rounded border-gray-300 dark:border-gray-600 cursor-pointer"}),jsxRuntime.jsx("span",{className:"text-gray-700 dark:text-gray-300",children:String(V.header)})]},V.key))})]}),B&&U.map(V=>jsxRuntime.jsxs("button",{type:"button",onClick:()=>Rs(V),className:"inline-flex items-center gap-1.5 px-2.5 py-1.5 text-xs font-medium rounded-md border border-gray-300 dark:border-gray-600 text-gray-600 dark:text-gray-400 hover:bg-gray-100 dark:hover:bg-gray-700 cursor-pointer",title:`Export as ${V.toUpperCase()}`,children:[jsxRuntime.jsx(xg,{}),V.toUpperCase()]},V))]})]}),jsxRuntime.jsx("div",{ref:mr,className:u("overflow-auto rounded-lg",!q&&"border border-gray-200 dark:border-gray-700",de&&"relative"),style:xe?{maxHeight:typeof xe=="number"?`${xe}px`:xe}:J?{maxHeight:z,overflow:"auto"}:void 0,onScroll:J?V=>wn(V.target.scrollTop):void 0,children:jsxRuntime.jsxs("table",{className:"w-full text-left",children:[jsxRuntime.jsx("thead",{className:u("bg-gray-50 dark:bg-gray-800 text-xs uppercase",de&&"sticky top-0 z-20"),children:jsxRuntime.jsxs("tr",{children:[C&&jsxRuntime.jsx("th",{className:u($t[X],"w-10 font-semibold text-gray-700 dark:text-gray-300")}),b&&jsxRuntime.jsx("th",{className:u($t[X],"w-10"),children:v==="multiple"&&jsxRuntime.jsx("input",{type:"checkbox",checked:Ss,ref:V=>{V&&(V.indeterminate=Yu);},onChange:Ss?Ns:ws,className:"rounded border-gray-300 dark:border-gray-600 cursor-pointer","aria-label":"Select all rows"})}),I&&jsxRuntime.jsx("th",{className:u($t[X],"w-10 font-semibold text-gray-700 dark:text-gray-300")}),Xe.map(s0)]})}),jsxRuntime.jsx("tbody",{children:i0()}),l0()]})}),Ve&&jsxRuntime.jsxs("div",{className:"flex items-center justify-between flex-wrap gap-3 text-sm text-gray-600 dark:text-gray-400",children:[jsxRuntime.jsxs("div",{className:"flex items-center gap-3",children:[Ve.showTotalItems!==false&&jsxRuntime.jsxs("span",{children:[Ge," item",Ge!==1?"s":""]}),Ve.showPageSizeSelector!==false&&Ve.pageSizeOptions&&jsxRuntime.jsxs("div",{className:"flex items-center gap-1.5",children:[jsxRuntime.jsx("span",{children:"Rows per page:"}),jsxRuntime.jsx("select",{value:Ye,onChange:V=>Cs(Number(V.target.value)),className:"border border-gray-300 dark:border-gray-600 rounded px-1.5 py-0.5 bg-white dark:bg-gray-800 text-gray-700 dark:text-gray-200 text-sm",children:Ve.pageSizeOptions.map(V=>jsxRuntime.jsx("option",{value:V,children:V},V))})]})]}),jsxRuntime.jsxs("div",{className:"flex items-center gap-1",children:[jsxRuntime.jsxs("span",{className:"mr-2",children:["Page ",gr," of ",gt]}),jsxRuntime.jsx("button",{type:"button",onClick:()=>rr(1),disabled:gr<=1,className:"px-2 py-1 rounded border border-gray-300 dark:border-gray-600 disabled:opacity-50 disabled:cursor-not-allowed hover:bg-gray-100 dark:hover:bg-gray-700 cursor-pointer","aria-label":"First page",children:"\xAB\xAB"}),jsxRuntime.jsx("button",{type:"button",onClick:()=>rr(gr-1),disabled:gr<=1,className:"px-2 py-1 rounded border border-gray-300 dark:border-gray-600 disabled:opacity-50 disabled:cursor-not-allowed hover:bg-gray-100 dark:hover:bg-gray-700 cursor-pointer","aria-label":"Previous page",children:"\xAB"}),jsxRuntime.jsx("button",{type:"button",onClick:()=>rr(gr+1),disabled:gr>=gt,className:"px-2 py-1 rounded border border-gray-300 dark:border-gray-600 disabled:opacity-50 disabled:cursor-not-allowed hover:bg-gray-100 dark:hover:bg-gray-700 cursor-pointer","aria-label":"Next page",children:"\xBB"}),jsxRuntime.jsx("button",{type:"button",onClick:()=>rr(gt),disabled:gr>=gt,className:"px-2 py-1 rounded border border-gray-300 dark:border-gray-600 disabled:opacity-50 disabled:cursor-not-allowed hover:bg-gray-100 dark:hover:bg-gray-700 cursor-pointer","aria-label":"Last page",children:"\xBB\xBB"})]})]})]})}var Tg=js.forwardRef(Rg);function Eg({className:e}){return jsxRuntime.jsx("svg",{className:e,viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",children:jsxRuntime.jsx("path",{d:"M4 4L12 12M12 4L4 12",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})})}var Dg={default:{solid:"bg-gray-500 text-white",outlined:"border-gray-300 text-gray-700 dark:border-gray-600 dark:text-gray-300 bg-transparent",soft:"bg-gray-100 text-gray-700 dark:bg-gray-700 dark:text-gray-300",dot:"bg-gray-100 text-gray-700 dark:bg-gray-800 dark:text-gray-300"},primary:{solid:"bg-blue-600 text-white",outlined:"border-blue-600 text-blue-600 dark:border-blue-400 dark:text-blue-400 bg-transparent",soft:"bg-blue-100 text-blue-700 dark:bg-blue-900/50 dark:text-blue-300",dot:"bg-blue-50 text-blue-700 dark:bg-blue-900/30 dark:text-blue-300"},success:{solid:"bg-green-600 text-white",outlined:"border-green-600 text-green-600 dark:border-green-400 dark:text-green-400 bg-transparent",soft:"bg-green-100 text-green-700 dark:bg-green-900/50 dark:text-green-300",dot:"bg-green-50 text-green-700 dark:bg-green-900/30 dark:text-green-300"},warning:{solid:"bg-yellow-500 text-white",outlined:"border-yellow-500 text-yellow-600 dark:border-yellow-400 dark:text-yellow-400 bg-transparent",soft:"bg-yellow-100 text-yellow-700 dark:bg-yellow-900/50 dark:text-yellow-300",dot:"bg-yellow-50 text-yellow-700 dark:bg-yellow-900/30 dark:text-yellow-300"},error:{solid:"bg-red-600 text-white",outlined:"border-red-600 text-red-600 dark:border-red-400 dark:text-red-400 bg-transparent",soft:"bg-red-100 text-red-700 dark:bg-red-900/50 dark:text-red-300",dot:"bg-red-50 text-red-700 dark:bg-red-900/30 dark:text-red-300"},info:{solid:"bg-cyan-600 text-white",outlined:"border-cyan-600 text-cyan-600 dark:border-cyan-400 dark:text-cyan-400 bg-transparent",soft:"bg-cyan-100 text-cyan-700 dark:bg-cyan-900/50 dark:text-cyan-300",dot:"bg-cyan-50 text-cyan-700 dark:bg-cyan-900/30 dark:text-cyan-300"}},Mg={default:"bg-gray-500",primary:"bg-blue-600",success:"bg-green-600",warning:"bg-yellow-500",error:"bg-red-600",info:"bg-cyan-600"},Ig={sm:"h-5 text-xs px-2 gap-1",md:"h-6 text-sm px-2.5 gap-1.5",lg:"h-8 text-sm px-3 gap-2"},ri={sm:"w-3 h-3",md:"w-3.5 h-3.5",lg:"w-4 h-4"},Lg={sm:"w-4 h-4 -ml-1",md:"w-5 h-5 -ml-1.5",lg:"w-6 h-6 -ml-1.5"},Ag={sm:"w-1.5 h-1.5",md:"w-2 h-2",lg:"w-2.5 h-2.5"},zg={none:"rounded-none",sm:"rounded-sm",md:"rounded-md",lg:"rounded-lg",full:"rounded-full"};function Ba({label:e,children:t,variant:r="solid",size:n="md",color:o="default",bgColor:a,textColor:s,borderColor:l,rounded:i="full",icon:d,endIcon:c,avatar:p,onClose:f,closable:m=false,clickable:g=false,selected:x=false,disabled:b=false,as:v="span",className:y,onClick:M,...w}){let P=v,h=u("inline-flex items-center justify-center font-medium transition-all",Ig[n],zg[i],r==="outlined"&&"border"),E=u(a||s||l?u(a,s,l):Dg[o][r]),D=x?"ring-2 ring-offset-1 ring-blue-500":"",k=g&&!b?"cursor-pointer hover:opacity-80 active:scale-95":"",I=b?"opacity-50 cursor-not-allowed":"",W=T=>{T.stopPropagation(),f?.();},O=T=>{b||M?.(T);},L=t??e;return jsxRuntime.jsxs(P,{className:u(h,E,D,k,I,y),onClick:O,"aria-disabled":b,...w,children:[r==="dot"&&jsxRuntime.jsx("span",{className:u("rounded-full shrink-0",Ag[n],Mg[o]),"aria-hidden":"true"}),p&&jsxRuntime.jsx("span",{className:u("rounded-full overflow-hidden shrink-0",Lg[n]),children:p}),d&&!p&&jsxRuntime.jsx("span",{className:u("shrink-0",ri[n]),children:d}),L&&jsxRuntime.jsx("span",{className:"truncate",children:L}),c&&!m&&jsxRuntime.jsx("span",{className:u("shrink-0",ri[n]),children:c}),m&&jsxRuntime.jsx("button",{type:"button",onClick:W,disabled:b,className:u("shrink-0 rounded-full hover:bg-black/10 dark:hover:bg-white/10 p-0.5 -mr-1 transition-colors","focus:outline-none focus-visible:ring-2 focus-visible:ring-offset-1 focus-visible:ring-current",b&&"pointer-events-none"),"aria-label":"Remove",children:jsxRuntime.jsx(Eg,{className:ri[n]})})]})}Ba.displayName="Chip";var Bg=500,Og=800,$g=600;function _g(e,t,r){let n=[`width=${e}`,`height=${t}`,"menubar=no","toolbar=no","location=no","status=no","scrollbars=yes","resizable=yes"];if(r.left!==void 0)n.push(`left=${r.left}`);else if(r.center!==false&&typeof window<"u"){let o=window.screenLeft??window.screenX,a=window.screenTop??window.screenY,s=window.outerWidth??screen.availWidth,l=window.outerHeight??screen.availHeight;n.push(`left=${o+(s-e)/2}`),n.push(`top=${a+(l-t)/2}`);}if(r.top!==void 0){let o=n.filter(a=>!a.startsWith("top="));return o.push(`top=${r.top}`),o.join(",")}return n.join(",")}function Xg(e,t){e.querySelectorAll("style").forEach(s=>{let l=t.createElement("style");l.textContent=s.textContent,t.head.appendChild(l);}),e.querySelectorAll('link[rel="stylesheet"]').forEach(s=>{let l=t.createElement("link");l.rel="stylesheet",l.href=s.href,s.crossOrigin&&(l.crossOrigin=s.crossOrigin),t.head.appendChild(l);});let o=e.documentElement.className;o&&(t.documentElement.className=o);let a=e.body.className;a&&(t.body.className=a);}function Gg(e,t){let r=new MutationObserver(n=>{for(let o of n)for(let a of Array.from(o.addedNodes))if(a instanceof HTMLStyleElement){let s=t.createElement("style");s.textContent=a.textContent,t.head.appendChild(s);}else if(a instanceof HTMLLinkElement&&a.rel==="stylesheet"){let s=t.createElement("link");s.rel="stylesheet",s.href=a.href,t.head.appendChild(s);}});return r.observe(e.head,{childList:true}),r}var md=js.forwardRef(function({children:t,detached:r,defaultDetached:n=false,onClose:o,onDetach:a,title:s="",width:l=Og,height:i=$g,left:d,top:c,center:p=true,copyStyles:f=true,closeOnParentUnmount:m=true,className:g,windowClassName:x,onPopupBlocked:b},v){let y=r!==void 0,[M,w]=js.useState(n),P=y?r:M,[h,E]=js.useState(null),D=js.useRef(null),k=js.useRef(null),I=js.useRef(null),W=js.useRef(false),O=js.useRef({width:l,height:i,left:d,top:c,center:p,shouldCopyStyles:f,title:s,windowClassName:x,closeOnParentUnmount:m});O.current={width:l,height:i,left:d,top:c,center:p,shouldCopyStyles:f,title:s,windowClassName:x,closeOnParentUnmount:m};let L=js.useCallback(()=>{k.current&&(clearInterval(k.current),k.current=null),I.current&&(I.current.disconnect(),I.current=null),E(null);},[]),T=js.useCallback(()=>{D.current&&!D.current.closed&&D.current.close(),D.current=null,L();},[L]),S=js.useCallback(()=>{if(typeof window>"u"||W.current||D.current&&!D.current.closed)return;W.current=true;let C=O.current,N=_g(C.width,C.height,{center:C.center,left:C.left,top:C.top}),R=window.open("","",N);if(!R){W.current=false,b?.();return}D.current=R,R.document.title=C.title||document.title;let $=R.document.createElement("div");C.windowClassName&&($.className=C.windowClassName),R.document.body.appendChild($),E($),C.shouldCopyStyles&&(Xg(document,R.document),I.current=Gg(document,R.document)),k.current=setInterval(()=>{R.closed&&(L(),D.current=null,y||w(false),o?.());},Bg),W.current=false,a?.();},[y,o,a,b,L]);return js.useEffect(()=>{P?S():T();},[P,S,T]),js.useEffect(()=>{D.current&&!D.current.closed&&s&&(D.current.document.title=s);},[s]),js.useEffect(()=>()=>{O.current.closeOnParentUnmount&&D.current&&!D.current.closed&&D.current.close(),L(),D.current=null;},[L]),js.useImperativeHandle(v,()=>({detach:()=>{y||w(true);},attach:()=>{y||w(false);},get isDetached(){return y?!!r:M},get window(){return D.current}}),[y,r,M]),P&&h?reactDom.createPortal(t,h):P?null:jsxRuntime.jsx("div",{className:u(g),children:t})});md.displayName="Detachable";var Yg={phone:{sm:{w:180,h:320},md:{w:240,h:480},lg:{w:300,h:600}},android:{sm:{w:180,h:320},md:{w:240,h:480},lg:{w:300,h:600}},tablet:{sm:{w:320,h:420},md:{w:420,h:560},lg:{w:540,h:720}},laptop:{sm:{w:400,h:250},md:{w:560,h:350},lg:{w:720,h:450}},desktop:{sm:{w:400,h:300},md:{w:560,h:400},lg:{w:720,h:520}},watch:{sm:{w:80,h:96},md:{w:120,h:144},lg:{w:160,h:192}},browser:{sm:{w:400,h:280},md:{w:560,h:380},lg:{w:720,h:480}}},jg=({className:e})=>jsxRuntime.jsxs("svg",{className:u("w-3 h-3",e),viewBox:"0 0 16 16",fill:"currentColor",children:[jsxRuntime.jsx("rect",{x:"1",y:"11",width:"2.5",height:"4",rx:"0.5"}),jsxRuntime.jsx("rect",{x:"5",y:"8",width:"2.5",height:"7",rx:"0.5"}),jsxRuntime.jsx("rect",{x:"9",y:"5",width:"2.5",height:"10",rx:"0.5"}),jsxRuntime.jsx("rect",{x:"13",y:"1",width:"2.5",height:"14",rx:"0.5"})]}),qg=({className:e})=>jsxRuntime.jsxs("svg",{className:u("w-3 h-3",e),viewBox:"0 0 20 20",fill:"currentColor",children:[jsxRuntime.jsx("path",{d:"M10 14.5a1.5 1.5 0 100 3 1.5 1.5 0 000-3z"}),jsxRuntime.jsx("path",{fillRule:"evenodd",d:"M6.05 11.95a5.5 5.5 0 017.9 0 .75.75 0 001.08-1.04 7 7 0 00-10.06 0 .75.75 0 001.08 1.04z",clipRule:"evenodd"}),jsxRuntime.jsx("path",{fillRule:"evenodd",d:"M2.81 8.72a10 10 0 0114.38 0 .75.75 0 001.06-1.06 11.5 11.5 0 00-16.5 0 .75.75 0 001.06 1.06z",clipRule:"evenodd"})]}),Zg=({className:e})=>jsxRuntime.jsxs("svg",{className:u("w-4 h-3",e),viewBox:"0 0 24 14",fill:"currentColor",children:[jsxRuntime.jsx("rect",{x:"0.5",y:"0.5",width:"20",height:"13",rx:"2",stroke:"currentColor",fill:"none",strokeWidth:"1"}),jsxRuntime.jsx("rect",{x:"22",y:"4",width:"2",height:"6",rx:"0.5"}),jsxRuntime.jsx("rect",{x:"2.5",y:"2.5",width:"14",height:"9",rx:"1"})]});function Uo({time:e="9:41",theme:t,device:r}){let n=r==="watch",o=t==="dark"?"text-white":"text-gray-900";return n?jsxRuntime.jsx("div",{className:u("flex items-center justify-center py-0.5",o),style:{fontSize:"8px"},children:jsxRuntime.jsx("span",{className:"font-medium",children:e})}):jsxRuntime.jsxs("div",{className:u("flex items-center justify-between px-4 py-1",t==="dark"?"bg-black/20":"bg-white/20",o),style:{fontSize:"10px"},"data-testid":"status-bar",children:[jsxRuntime.jsx("span",{className:"font-semibold",children:e}),jsxRuntime.jsxs("div",{className:"flex items-center gap-1",children:[jsxRuntime.jsx(jg,{className:o}),jsxRuntime.jsx(qg,{className:o}),jsxRuntime.jsx(Zg,{className:o})]})]})}function Qg({theme:e}){let t=e==="dark";return jsxRuntime.jsxs("div",{className:u("flex items-center gap-2 px-3 py-2 border-b",t?"bg-gray-800 border-gray-700":"bg-gray-100 border-gray-200"),"data-testid":"browser-chrome",children:[jsxRuntime.jsxs("div",{className:"flex items-center gap-1.5",children:[jsxRuntime.jsx("div",{className:"w-2.5 h-2.5 rounded-full bg-red-400"}),jsxRuntime.jsx("div",{className:"w-2.5 h-2.5 rounded-full bg-yellow-400"}),jsxRuntime.jsx("div",{className:"w-2.5 h-2.5 rounded-full bg-green-400"})]}),jsxRuntime.jsx("div",{className:u("flex-1 rounded-md px-3 py-1 text-center",t?"bg-gray-700 text-gray-400":"bg-white text-gray-500 border border-gray-200"),style:{fontSize:"11px"},children:jsxRuntime.jsxs("span",{className:"flex items-center justify-center gap-1",children:[jsxRuntime.jsx("svg",{className:"w-2.5 h-2.5",viewBox:"0 0 16 16",fill:"currentColor",children:jsxRuntime.jsx("path",{fillRule:"evenodd",d:"M8 1a4 4 0 00-4 4v3.5H3a1 1 0 00-1 1V14a1 1 0 001 1h10a1 1 0 001-1V9.5a1 1 0 00-1-1h-1V5a4 4 0 00-4-4zm2.5 7.5V5a2.5 2.5 0 00-5 0v3.5h5z",clipRule:"evenodd"})}),"example.com"]})})]})}function Jg({children:e,theme:t,screenW:r,screenH:n,showStatusBar:o,statusBarTime:a,frameColor:s,landscape:l=false}){let i=t==="dark",d=s??(i?"#1a1a1a":"#e5e7eb");if(l){let p=Math.round(n*.35);return jsxRuntime.jsxs("div",{className:"relative inline-flex flex-row items-center rounded-[2.5rem] shadow-xl",style:{backgroundColor:d,padding:"8px 12px",height:n+16},"data-testid":"device-frame","data-device":"phone",children:[jsxRuntime.jsx("div",{className:u("rounded-full mr-2",i?"bg-gray-600":"bg-gray-400"),style:{width:4,height:Math.round(n*.35)},"data-testid":"home-indicator"}),jsxRuntime.jsxs("div",{className:"rounded-[2rem] overflow-hidden bg-black relative",style:{width:r,height:n},children:[o&&jsxRuntime.jsx(Uo,{time:a,theme:t,device:"phone"}),e]}),jsxRuntime.jsx("div",{className:"absolute rounded-full bg-black z-10",style:{width:20,height:p,right:10,top:"50%",transform:"translateY(-50%)"},"data-testid":"phone-notch"})]})}let c=Math.round(r*.35);return jsxRuntime.jsxs("div",{className:"relative inline-flex flex-col items-center rounded-[2.5rem] shadow-xl",style:{backgroundColor:d,padding:"12px 8px",width:r+16},"data-testid":"device-frame","data-device":"phone",children:[jsxRuntime.jsx("div",{className:"absolute top-[10px] rounded-full bg-black z-10",style:{width:c,height:20,left:"50%",transform:"translateX(-50%)"},"data-testid":"phone-notch"}),jsxRuntime.jsxs("div",{className:"rounded-[2rem] overflow-hidden bg-black relative",style:{width:r,height:n},children:[o&&jsxRuntime.jsx(Uo,{time:a,theme:t,device:"phone"}),e]}),jsxRuntime.jsx("div",{className:u("rounded-full mt-2",i?"bg-gray-600":"bg-gray-400"),style:{width:Math.round(r*.35),height:4},"data-testid":"home-indicator"})]})}function ef({children:e,theme:t,screenW:r,screenH:n,showStatusBar:o,statusBarTime:a,frameColor:s}){return jsxRuntime.jsxs("div",{className:"relative inline-flex flex-col items-center rounded-[2rem] shadow-xl",style:{backgroundColor:s??(t==="dark"?"#1a1a1a":"#e5e7eb"),padding:"10px 6px",width:r+12},"data-testid":"device-frame","data-device":"android",children:[jsxRuntime.jsx("div",{className:"absolute top-[6px] rounded-full bg-gray-800 z-10 border border-gray-700",style:{width:8,height:8,left:"50%",transform:"translateX(-50%)"},"data-testid":"camera-dot"}),jsxRuntime.jsxs("div",{className:"rounded-[1.5rem] overflow-hidden bg-black relative",style:{width:r,height:n},children:[o&&jsxRuntime.jsx(Uo,{time:a,theme:t,device:"android"}),e]})]})}function tf({children:e,theme:t,screenW:r,screenH:n,showStatusBar:o,statusBarTime:a,frameColor:s}){return jsxRuntime.jsxs("div",{className:"relative inline-flex flex-col items-center rounded-[1.5rem] shadow-xl",style:{backgroundColor:s??(t==="dark"?"#1a1a1a":"#e5e7eb"),padding:"16px 12px",width:r+24},"data-testid":"device-frame","data-device":"tablet",children:[jsxRuntime.jsx("div",{className:"absolute top-[8px] rounded-full bg-gray-700 z-10",style:{width:6,height:6,left:"50%",transform:"translateX(-50%)"}}),jsxRuntime.jsxs("div",{className:"rounded-lg overflow-hidden bg-black relative",style:{width:r,height:n},children:[o&&jsxRuntime.jsx(Uo,{time:a,theme:t,device:"tablet"}),e]})]})}function rf({children:e,theme:t,screenW:r,screenH:n,frameColor:o}){let a=t==="dark",s=o??(a?"#1a1a1a":"#d1d5db"),l=r+60;return jsxRuntime.jsxs("div",{className:"inline-flex flex-col items-center","data-testid":"device-frame","data-device":"laptop",children:[jsxRuntime.jsxs("div",{className:"rounded-t-xl shadow-xl relative",style:{backgroundColor:s,padding:"8px 8px 0",width:r+16},children:[jsxRuntime.jsx("div",{className:"absolute top-[3px] rounded-full bg-gray-700 z-10",style:{width:4,height:4,left:"50%",transform:"translateX(-50%)"}}),jsxRuntime.jsx("div",{className:"rounded-t-sm overflow-hidden bg-black",style:{width:r,height:n},children:e})]}),jsxRuntime.jsx("div",{className:u(a?"bg-gray-800":"bg-gray-400"),style:{width:r+16,height:3}}),jsxRuntime.jsx("div",{className:"rounded-b-xl shadow-lg",style:{backgroundColor:s,width:l,height:12,clipPath:"polygon(3% 0%, 97% 0%, 100% 100%, 0% 100%)"},"data-testid":"laptop-base"})]})}function nf({children:e,theme:t,screenW:r,screenH:n,frameColor:o}){let a=t==="dark";return jsxRuntime.jsxs("div",{className:"inline-flex flex-col items-center","data-testid":"device-frame","data-device":"desktop",children:[jsxRuntime.jsx("div",{className:"rounded-lg shadow-xl",style:{backgroundColor:o??(a?"#1a1a1a":"#d1d5db"),padding:"8px 8px 20px",width:r+16},children:jsxRuntime.jsx("div",{className:"rounded-sm overflow-hidden bg-black",style:{width:r,height:n},children:e})}),jsxRuntime.jsx("div",{className:u(a?"bg-gray-800":"bg-gray-400"),style:{width:40,height:24},"data-testid":"monitor-stand"}),jsxRuntime.jsx("div",{className:u("rounded-t-sm",a?"bg-gray-800":"bg-gray-400"),style:{width:Math.round(r*.4),height:6,borderRadius:"2px 2px 4px 4px"}})]})}function of({children:e,theme:t,screenW:r,screenH:n,showStatusBar:o,statusBarTime:a,frameColor:s}){let l=t==="dark",i=s??(l?"#1a1a1a":"#d1d5db"),d=Math.round(r*.7);return jsxRuntime.jsxs("div",{className:"inline-flex flex-col items-center","data-testid":"device-frame","data-device":"watch",children:[jsxRuntime.jsx("div",{className:u("rounded-t-lg",l?"bg-gray-800":"bg-gray-400"),style:{width:d,height:30},"data-testid":"watch-band"}),jsxRuntime.jsxs("div",{className:"relative rounded-[1.2rem] shadow-xl",style:{backgroundColor:i,padding:"8px 6px",width:r+12},children:[jsxRuntime.jsx("div",{className:u("absolute rounded-sm",l?"bg-gray-600":"bg-gray-400"),style:{width:4,height:16,right:-4,top:"30%"},"data-testid":"watch-crown"}),jsxRuntime.jsxs("div",{className:"rounded-xl overflow-hidden bg-black",style:{width:r,height:n},children:[o&&jsxRuntime.jsx(Uo,{time:a,theme:t,device:"watch"}),e]})]}),jsxRuntime.jsx("div",{className:u("rounded-b-lg",l?"bg-gray-800":"bg-gray-400"),style:{width:d,height:30}})]})}function af({children:e,theme:t,screenW:r,screenH:n,frameColor:o}){return jsxRuntime.jsxs("div",{className:"inline-flex flex-col rounded-lg shadow-xl overflow-hidden",style:{backgroundColor:o??(t==="dark"?"#1f2937":"#f3f4f6"),width:r},"data-testid":"device-frame","data-device":"browser",children:[jsxRuntime.jsx(Qg,{theme:t}),jsxRuntime.jsx("div",{className:"overflow-hidden bg-white",style:{width:r,height:n},children:e})]})}function sf({device:e="phone",src:t,alt:r="Device screen content",children:n,orientation:o="portrait",theme:a="dark",size:s="md",showStatusBar:l=false,statusBarTime:i,animated:d=false,scrollSpeed:c=30,frameColor:p,className:f,contentClassName:m}){let g=js.useRef(null),x=js.useRef(null),b=Yg[e][s],v=o==="landscape"&&e!=="watch"&&e!=="browser",y=v?b.h:b.w,M=v?b.w:b.h;js.useEffect(()=>{if(!d||!g.current)return;let E=g.current,D=null,k=I=>{D===null&&(D=I);let W=(I-D)/1e3;D=I,E.scrollTop+=c*W,E.scrollTop>=E.scrollHeight-E.clientHeight&&(E.scrollTop=0),x.current=requestAnimationFrame(k);};return x.current=requestAnimationFrame(k),()=>{x.current!==null&&cancelAnimationFrame(x.current);}},[d,c]);let w=jsxRuntime.jsx("div",{ref:d?g:void 0,className:u("w-full h-full overflow-hidden",d&&"overflow-y-auto scrollbar-hide",m),style:d?{scrollBehavior:"auto"}:void 0,children:t?jsxRuntime.jsx("img",{src:t,alt:r,className:"w-full h-auto object-cover",draggable:false}):n}),P={showStatusBar:l,statusBarTime:i},h=()=>{switch(e){case "phone":return jsxRuntime.jsx(Jg,{theme:a,screenW:y,screenH:M,frameColor:p,landscape:v,...P,children:w});case "android":return jsxRuntime.jsx(ef,{theme:a,screenW:y,screenH:M,frameColor:p,...P,children:w});case "tablet":return jsxRuntime.jsx(tf,{theme:a,screenW:y,screenH:M,frameColor:p,...P,children:w});case "laptop":return jsxRuntime.jsx(rf,{theme:a,screenW:y,screenH:M,frameColor:p,children:w});case "desktop":return jsxRuntime.jsx(nf,{theme:a,screenW:y,screenH:M,frameColor:p,children:w});case "watch":return jsxRuntime.jsx(of,{theme:a,screenW:y,screenH:M,frameColor:p,...P,children:w});case "browser":return jsxRuntime.jsx(af,{theme:a,screenW:y,screenH:M,frameColor:p,children:w})}};return jsxRuntime.jsx("div",{className:u("inline-flex",f),"data-testid":"device-mockup","data-orientation":o,"data-theme":a,"data-size":s,children:h()})}var Oa={solid:"border-solid",dashed:"border-dashed",dotted:"border-dotted"},lf={left:{before:"flex-[0.1]",after:"flex-1"},center:{before:"flex-1",after:"flex-1"},right:{before:"flex-1",after:"flex-[0.1]"}};function fd({orientation:e="horizontal",variant:t="solid",label:r,textAlign:n="center",thickness:o=1,color:a="border-gray-300 dark:border-gray-700",spacing:s,className:l,...i}){if(e==="vertical")return jsxRuntime.jsx("hr",{"aria-orientation":"vertical",className:u("h-full border-l-0 border-r",Oa[t],a,s||"mx-2",l),style:{borderRightWidth:`${o}px`},...i});if(r){let d=lf[n];return jsxRuntime.jsxs("div",{role:"separator","aria-orientation":"horizontal",className:u("flex items-center text-sm text-gray-500 dark:text-gray-400",s||"my-4",l),...i,children:[jsxRuntime.jsx("div",{className:u("border-t",Oa[t],a,d.before),style:{borderTopWidth:`${o}px`}}),jsxRuntime.jsx("span",{className:"px-3 whitespace-nowrap",children:r}),jsxRuntime.jsx("div",{className:u("border-t",Oa[t],a,d.after),style:{borderTopWidth:`${o}px`}})]})}return jsxRuntime.jsx("hr",{"aria-orientation":"horizontal",className:u("border-t-0 border-b",Oa[t],a,s||"my-4",l),style:{borderBottomWidth:`${o}px`},...i})}fd.displayName="Divider";var cf=new Set(["SCRIPT","STYLE","LINK","META","NOSCRIPT","TEMPLATE","BASE","TITLE"]),bd="data-synertech-inert-ignore",jo=new WeakMap,ai=new WeakMap,si=new WeakMap;function uf(e){let t=jo.get(e)??0;t===0&&(ai.set(e,e.getAttribute("aria-hidden")),si.set(e,e.hasAttribute("inert")),e.setAttribute("aria-hidden","true"),e.setAttribute("inert","")),jo.set(e,t+1);}function pf(e){let t=jo.get(e)??0;if(t===0)return;if(t>1){jo.set(e,t-1);return}jo.delete(e);let r=ai.get(e)??null;r===null?e.removeAttribute("aria-hidden"):e.setAttribute("aria-hidden",r),ai.delete(e),si.get(e)||e.removeAttribute("inert"),si.delete(e);}var $a=new Map;function Ln(e,t){return $a.set(e,t),()=>{$a.delete(e);}}function _a(e){if($a.size===0)return [];let t=[];for(let[r,n]of $a){let o=n();o&&e.some(a=>a.contains(o))&&t.push(r);}return t}function mf(e){return !(cf.has(e.tagName)||e.hasAttribute(bd))}function ii(e){let t=(Array.isArray(e)?e:[e]).filter(Boolean),r=t[0]?.ownerDocument?.body;if(!r||!t.every(i=>r.contains(i)))return ()=>{};let n=[...t,..._a(t).filter(i=>r.contains(i))],o=[],a=new Set,s=i=>n.some(d=>i===d||i.contains(d));for(let i of t){let d=i;for(;d&&d!==r;){let c=d.parentElement;if(!c)break;for(let p of Array.from(c.children))a.has(p)||s(p)||mf(p)&&(a.add(p),uf(p),o.push(p));d=c;}}let l=false;return ()=>{if(!l){l=true;for(let i of o)pf(i);}}}var gn=[];function hd(e){let t=gn.indexOf(e);t!==-1&&gn.splice(t,1),gn.push(e);}function yd(e){let t=gn.indexOf(e);t!==-1&&gn.splice(t,1);}function xd(e){return gn.length>0&&gn[gn.length-1]===e}var qo=0,li=null;function vd(e=document){let t=e.body;if(!t)return ()=>{};qo===0&&(li=t.style.overflow,t.style.overflow="hidden"),qo+=1;let r=false;return ()=>{r||(r=true,qo=Math.max(0,qo-1),qo===0&&(t.style.overflow=li??"",li=null));}}var kd=["a[href]","area[href]","button","input","select","textarea","details > summary:first-of-type","iframe","object","embed","audio[controls]","video[controls]",'[contenteditable]:not([contenteditable="false"])',"[tabindex]"].join(",");function gf(e){let t=e.ownerDocument?.defaultView;if(!t)return null;try{return t.getComputedStyle(e)}catch{return null}}function Cd(e){let t=e;for(;t;){if(t.hasAttribute("hidden")||t.hasAttribute("inert")||t.getAttribute("aria-hidden")==="true")return false;let r=gf(t);if(r&&(r.display==="none"||r.visibility==="hidden"||r.visibility==="collapse"))return false;t=t.parentElement;}return true}function wd(e){if(e.hasAttribute("disabled")||e.getAttribute("tabindex")==="-1")return false;let t=e.closest("fieldset[disabled]");if(t){let r=t.querySelector("legend");if(!r||!r.contains(e))return false}return Cd(e)}function Xa(e){return Array.from(e.querySelectorAll(kd)).filter(wd).sort((r,n)=>{let o=r.compareDocumentPosition(n);return o&Node.DOCUMENT_POSITION_FOLLOWING?-1:o&Node.DOCUMENT_POSITION_PRECEDING?1:0})}var ff={role:"dialog","aria-modal":true,tabIndex:-1};function bf(e,t){return t==="none"?null:t&&typeof t=="object"?t.current??e:t==="first"?Xa(e)[0]??e:e}function hf(e){return e?e.map(t=>t&&"current"in t?t.current:t).filter(t=>!!t):[]}function lo(e){if(e)try{e.focus();}catch{}}function An(e){let{open:t}=e,r=js.useRef(null),n=js.useRef(e);return n.current=e,js.useEffect(()=>{if(!t)return;let o=r.current;if(!o)return;let a=o.ownerDocument,s=a.activeElement,{hideBackground:l,lockScroll:i,initialFocus:d,keepInteractive:c}=n.current;hd(o);let p=l===false?void 0:ii([o,...hf(c)]),f=i===false?void 0:vd(a);return lo(bf(o,d)),()=>{p?.(),f?.(),yd(o);let{returnFocus:m}=n.current;if(m===false)return;let g=a.activeElement;if(!(!g||g===a.body||o.contains(g)))return;let b=m&&typeof m=="object"?m.current:s;b&&a.contains(b)&&lo(b);}},[t]),js.useEffect(()=>{if(!t)return;let o=r.current;if(!o)return;let a=o.ownerDocument,s=a.defaultView??a,l=d=>d?o.contains(d)?true:_a([o]).some(c=>c.contains(d)):false,i=d=>{if(d.defaultPrevented||!xd(o))return;let{closeOnEscape:c,trapFocus:p,onClose:f}=n.current;if(d.key==="Escape"){if(c===false)return;d.preventDefault(),f?.();return}if(d.key!=="Tab"||p===false)return;let m=a.activeElement;if(m&&!o.contains(m)&&l(m))return;let g=Xa(o);if(g.length===0){d.preventDefault(),lo(o);return}let x=g[0],b=g[g.length-1];if(!m||!o.contains(m)){d.preventDefault(),lo(d.shiftKey?b:x);return}if(d.shiftKey&&(m===x||m===o)){d.preventDefault(),lo(b);return}!d.shiftKey&&m===b&&(d.preventDefault(),lo(x));};return s.addEventListener("keydown",i),()=>s.removeEventListener("keydown",i)},[t]),{dialogRef:r,dialogProps:ff}}var Cf={left:{sm:"w-64",md:"w-80",lg:"w-96",xl:"w-[32rem]",full:"w-full",half:"w-1/2 h-full"},right:{sm:"w-64",md:"w-80",lg:"w-96",xl:"w-[32rem]",full:"w-full",half:"w-1/2 h-full"},top:{sm:"h-64",md:"h-80",lg:"h-96",xl:"h-[32rem]",full:"h-full",half:"w-1/2 h-full"},bottom:{sm:"h-64",md:"h-80",lg:"h-96",xl:"h-[32rem]",full:"h-full",half:"w-1/2 h-full"}},wf={left:"left-0 top-0 bottom-0",right:"right-0 top-0 bottom-0",top:"top-0 left-0 right-0",bottom:"bottom-0 left-0 right-0"},Rd={left:{enter:"animate-in slide-in-from-left duration-300",exit:"animate-out slide-out-to-left duration-200"},right:{enter:"animate-in slide-in-from-right duration-300",exit:"animate-out slide-out-to-right duration-200"},top:{enter:"animate-in slide-in-from-top duration-300",exit:"animate-out slide-out-to-top duration-200"},bottom:{enter:"animate-in slide-in-from-bottom duration-300",exit:"animate-out slide-out-to-bottom duration-200"}},Nf=jsxRuntime.jsx("svg",{className:"w-5 h-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:jsxRuntime.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M6 18L18 6M6 6l12 12"})});function Td({open:e,onClose:t,children:r,position:n="right",size:o="md",customWidth:a,customHeight:s,showOverlay:l=true,closeOnOverlayClick:i=true,closeOnEscape:d=true,title:c,footer:p,className:f,overlayClassName:m,closeLabel:g,"aria-label":x,trapFocus:b=true,initialFocus:v,returnFocus:y,lockScroll:M=true}){let w=!!(a||s),P=js.useRef(null),h=At(),D=`${js.useId()}-drawer-title`,{dialogRef:k,dialogProps:I}=An({open:e,onClose:t,closeOnEscape:d,trapFocus:b,initialFocus:v,returnFocus:y,lockScroll:M,keepInteractive:[P]}),W=js.useCallback(()=>{i&&t();},[i,t]);if(!e)return null;let O=jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[l&&jsxRuntime.jsx("div",{ref:P,className:u("fixed inset-0 bg-black/50 z-40 transition-opacity",e?"animate-in fade-in duration-200":"animate-out fade-out duration-150",m),onClick:W,"aria-hidden":"true"}),jsxRuntime.jsxs("div",{ref:k,...I,"aria-labelledby":c?D:void 0,"aria-label":c?void 0:x,className:u("fixed z-50 bg-white dark:bg-gray-900","shadow-xl overflow-hidden","flex flex-col focus:outline-none",wf[n],!w&&Cf[n][o],e?Rd[n].enter:Rd[n].exit,f),style:{...a?{width:a}:{},...s?{height:s}:{}},children:[c&&jsxRuntime.jsxs("div",{className:"flex items-center justify-between px-6 py-4 border-b border-gray-200 dark:border-gray-700",children:[jsxRuntime.jsx("h2",{id:D,className:"text-lg font-semibold text-gray-900 dark:text-white",children:c}),jsxRuntime.jsx("button",{type:"button",onClick:t,className:u("rounded-lg p-1.5 text-gray-400 hover:bg-gray-100 hover:text-gray-900","dark:hover:bg-gray-800 dark:hover:text-white","focus:outline-none focus:ring-2 focus:ring-gray-300 dark:focus:ring-gray-600"),"aria-label":g??h.closeDrawer,children:Nf})]}),jsxRuntime.jsx("div",{className:"flex-1 overflow-y-auto px-6 py-4",children:r}),p&&jsxRuntime.jsx("div",{className:"px-6 py-4 border-t border-gray-200 dark:border-gray-700",children:p})]})]});return typeof document<"u"?reactDom.createPortal(O,document.body):O}Td.displayName="Drawer";var Pf={sm:{dropzone:"py-4 px-3",text:"text-xs",subtext:"text-[10px]",icon:"w-6 h-6",button:"px-2.5 py-1.5 text-xs",fileItem:"py-1 px-2 text-xs",gap:"gap-1"},md:{dropzone:"py-6 px-4",text:"text-sm",subtext:"text-xs",icon:"w-8 h-8",button:"px-3 py-2 text-sm",fileItem:"py-1.5 px-3 text-sm",gap:"gap-1.5"},lg:{dropzone:"py-8 px-6",text:"text-base",subtext:"text-sm",icon:"w-10 h-10",button:"px-4 py-2.5 text-base",fileItem:"py-2 px-4 text-base",gap:"gap-2"}},Md=e=>{if(e===0)return "0 B";let t=["B","KB","MB","GB"],r=Math.floor(Math.log(e)/Math.log(1024));return `${(e/Math.pow(1024,r)).toFixed(r===0?0:1)} ${t[r]}`},ci=e=>e.webkitRelativePath||e.name,Ef=jsxRuntime.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:1.5,stroke:"currentColor",className:"w-full h-full",children:jsxRuntime.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M3 16.5v2.25A2.25 2.25 0 005.25 21h13.5A2.25 2.25 0 0021 18.75V16.5m-13.5-9L12 3m0 0l4.5 4.5M12 3v13.5"})}),Df=jsxRuntime.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:1.5,stroke:"currentColor",className:"w-full h-full",children:jsxRuntime.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M3.75 9.776c.112-.017.227-.026.344-.026h15.812c.117 0 .232.009.344.026m-16.5 0a2.25 2.25 0 00-1.883 2.542l.857 6a2.25 2.25 0 002.227 1.932H19.05a2.25 2.25 0 002.227-1.932l.857-6a2.25 2.25 0 00-1.883-2.542m-16.5 0V6A2.25 2.25 0 016 3.75h3.879a1.5 1.5 0 011.06.44l2.122 2.12a1.5 1.5 0 001.06.44H18A2.25 2.25 0 0120.25 9v.776"})}),Mf=0;async function If(e){let t=[],r=async n=>{if(n.isFile){let o=await new Promise((a,s)=>n.file(a,s));t.push(o);}else if(n.isDirectory){let o=n.createReader(),a=()=>new Promise((l,i)=>o.readEntries(l,i)),s=await a();for(;s.length>0;){for(let l of s)await r(l);s=await a();}}};for(let n of e)await r(n);return t}function Lf({value:e,onChange:t,accept:r,multiple:n=false,maxSize:o=10*1024*1024,maxFiles:a,mode:s="file",variant:l="dropzone",size:i="md",disabled:d=false,readOnly:c=false,label:p,helperText:f,error:m,showFileList:g=true,placeholder:x,browseLabel:b,browseFolderLabel:v,icon:y,onReject:M,className:w}){let[P,h]=js.useState([]),[E,D]=js.useState(false),k=js.useRef(null),I=js.useRef(null),W=js.useId(),O=e!==void 0,L=O?e.map((q,de)=>({file:q,id:`ctrl-${de}`})):P,T=Pf[i];js.useEffect(()=>{s==="directory"&&k.current&&k.current.setAttribute("webkitdirectory",""),s==="both"&&I.current&&I.current.setAttribute("webkitdirectory","");},[s]);let S=js.useMemo(()=>Md(o),[o]),C=js.useMemo(()=>r?r.split(",").map(q=>q.trim()).map(q=>q.startsWith(".")?q.toUpperCase():q.endsWith("/*")?q.replace("/*","").toUpperCase():q).join(", "):"All files",[r]),N=s==="directory"?"Drag & drop a folder here, or":s==="both"?"Drag & drop files or folders here, or":n?"Drag & drop files here, or":"Drag & drop a file here, or",R=s==="directory"?"Browse folder":"Browse",$="Browse folder",H=js.useCallback(q=>{if(q.size>o)return `File exceeds maximum size of ${S}`;if(r){let de=r.split(",").map(le=>le.trim()),xe=`.${q.name.split(".").pop()?.toLowerCase()}`;if(!de.some(le=>le.startsWith(".")?xe===le.toLowerCase():le.endsWith("/*")?q.type.startsWith(le.replace("/*","/")):q.type===le))return `File type not accepted. Expected: ${C}`}return null},[r,C,o,S]),K=js.useCallback(q=>{if(d||c)return;let de=Array.from(q),xe=[];for(let ke of de){let le=H(ke);le?M?.(ke,le):xe.push(ke);}if(xe.length!==0)if(O)if(n){let le=[...e??[],...xe],Se=a?le.slice(0,a):le;t?.(Se);}else t?.([xe[0]]);else h(ke=>{let le=xe.map(Se=>({file:Se,id:`file-${++Mf}`}));if(n){let Se=[...ke,...le],Me=a?Se.slice(0,a):Se,je=Me.map(at=>at.file);return t?.(je),Me}return t?.([xe[0]]),[le[0]]});},[d,c,O,n,a,e,t,M,H]),_=js.useCallback(q=>{if(!(d||c)){if(O){let de=(e??[]).filter((xe,ke)=>ke!==q);t?.(de);}else h(de=>{let xe=de.filter((ke,le)=>le!==q);return t?.(xe.map(ke=>ke.file)),xe});k.current&&(k.current.value="");}},[d,c,O,e,t]),F=js.useCallback(()=>{d||c||(O?t?.([]):(h([]),t?.([])),k.current&&(k.current.value=""));},[d,c,O,t]),A=js.useCallback(q=>{q.target.files&&q.target.files.length>0&&K(q.target.files);},[K]),B=js.useCallback(q=>{q.preventDefault(),q.stopPropagation(),!d&&!c&&D(true);},[d,c]),U=js.useCallback(q=>{q.preventDefault(),q.stopPropagation(),D(false);},[]),Q=js.useCallback(q=>{if(q.preventDefault(),q.stopPropagation(),D(false),d||c)return;let de=q.dataTransfer.items;if(de&&de.length>0&&(s==="directory"||s==="both")){let xe=[];for(let le=0;le<de.length;le++){let Se=de[le].webkitGetAsEntry?.();Se&&xe.push(Se);}if(xe.some(le=>le.isDirectory)){If(xe).then(le=>{le.length>0&&K(le);});return}}q.dataTransfer.files&&q.dataTransfer.files.length>0&&K(q.dataTransfer.files);},[d,c,s,K]),J=js.useCallback(()=>{!d&&!c&&k.current?.click();},[d,c]),Y=js.useCallback(()=>{!d&&!c&&I.current?.click();},[d,c]),z=L.length>0,X=y||(s==="directory"?Df:Ef),ne=g&&z&&jsxRuntime.jsxs("div",{className:u("flex flex-col",T.gap),children:[L.map((q,de)=>jsxRuntime.jsxs("div",{className:u("flex items-center justify-between rounded-md border border-gray-200 dark:border-gray-700 bg-gray-50 dark:bg-gray-800/50",T.fileItem),children:[jsxRuntime.jsxs("div",{className:"flex items-center gap-2 min-w-0 flex-1",children:[jsxRuntime.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:1.5,stroke:"currentColor",className:"w-4 h-4 shrink-0 text-gray-400 dark:text-gray-500",children:jsxRuntime.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M19.5 14.25v-2.625a3.375 3.375 0 00-3.375-3.375h-1.5A1.125 1.125 0 0113.5 7.125v-1.5a3.375 3.375 0 00-3.375-3.375H8.25m2.25 0H5.625c-.621 0-1.125.504-1.125 1.125v17.25c0 .621.504 1.125 1.125 1.125h12.75c.621 0 1.125-.504 1.125-1.125V11.25a9 9 0 00-9-9z"})}),jsxRuntime.jsx("span",{className:"truncate text-gray-700 dark:text-gray-300",children:ci(q.file)}),jsxRuntime.jsxs("span",{className:"shrink-0 text-gray-400 dark:text-gray-500",children:["(",Md(q.file.size),")"]})]}),!d&&!c&&jsxRuntime.jsx("button",{type:"button",onClick:()=>_(de),className:"shrink-0 ml-2 text-gray-400 hover:text-red-500 dark:text-gray-500 dark:hover:text-red-400 transition-colors cursor-pointer","aria-label":`Remove ${ci(q.file)}`,children:jsxRuntime.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:1.5,stroke:"currentColor",className:"w-4 h-4",children:jsxRuntime.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M6 18L18 6M6 6l12 12"})})})]},q.id)),n&&L.length>1&&!d&&!c&&jsxRuntime.jsx("button",{type:"button",onClick:F,className:u("self-start text-gray-400 hover:text-red-500 dark:text-gray-500 dark:hover:text-red-400 transition-colors cursor-pointer",T.subtext),children:"Remove all"})]}),re=u("rounded-md border border-gray-300 dark:border-gray-600 bg-white dark:bg-gray-800 text-gray-700 dark:text-gray-200 font-medium transition-colors","hover:bg-gray-50 dark:hover:bg-gray-700","disabled:opacity-50 disabled:cursor-not-allowed cursor-pointer","focus:outline-none focus:ring-2 focus:ring-blue-500 focus:ring-offset-1",T.button,m&&"border-red-300 dark:border-red-600");return jsxRuntime.jsxs("div",{className:u("flex flex-col",T.gap,w),children:[p&&jsxRuntime.jsx("label",{htmlFor:W,className:u("block font-medium text-gray-700 dark:text-gray-300",T.text),children:p}),jsxRuntime.jsx("input",{ref:k,id:W,type:"file",accept:s!=="directory"?r:void 0,multiple:n,onChange:A,className:"sr-only",disabled:d||c,"aria-describedby":m?`${W}-error`:f?`${W}-helper`:void 0,"aria-invalid":!!m}),s==="both"&&jsxRuntime.jsx("input",{ref:I,type:"file",onChange:A,className:"sr-only",disabled:d||c,tabIndex:-1,"aria-hidden":"true"}),l==="dropzone"?jsxRuntime.jsxs("div",{role:s==="both"?"group":"button",tabIndex:s==="both"?void 0:d||c?-1:0,onClick:s==="both"?void 0:J,onKeyDown:s==="both"?void 0:q=>{(q.key==="Enter"||q.key===" ")&&(q.preventDefault(),J());},onDragOver:B,onDragLeave:U,onDrop:Q,className:u("flex flex-col items-center justify-center rounded-lg border-2 border-dashed transition-colors",T.dropzone,E&&!d&&!c?"border-blue-500 bg-blue-50 dark:bg-blue-900/20":"border-gray-300 dark:border-gray-600 bg-white dark:bg-gray-800",!d&&!c&&"hover:border-blue-400 dark:hover:border-blue-500 hover:bg-gray-50 dark:hover:bg-gray-800/70",s!=="both"&&!d&&!c&&"cursor-pointer",d&&"opacity-50 cursor-not-allowed",c&&"cursor-default",m&&"border-red-300 dark:border-red-600"),"aria-label":s==="both"?"File and folder drop zone":x||N,children:[jsxRuntime.jsx("div",{className:u("text-gray-400 dark:text-gray-500 mb-2",T.icon,E&&"text-blue-500 dark:text-blue-400"),children:X}),jsxRuntime.jsxs("p",{className:u("text-gray-600 dark:text-gray-400",T.text),children:[x||N," ",!d&&!c&&s!=="both"&&jsxRuntime.jsx("span",{className:"text-blue-600 dark:text-blue-400 font-medium",children:b||R})]}),s==="both"&&!d&&!c&&jsxRuntime.jsxs("div",{className:u("flex items-center gap-3 mt-1",T.text),children:[jsxRuntime.jsx("button",{type:"button",onClick:J,className:"text-blue-600 dark:text-blue-400 font-medium hover:underline cursor-pointer focus:outline-none focus:ring-2 focus:ring-blue-500 focus:ring-offset-1 rounded",children:b||"Browse files"}),jsxRuntime.jsx("span",{className:"text-gray-300 dark:text-gray-600",children:"\xB7"}),jsxRuntime.jsx("button",{type:"button",onClick:Y,className:"text-blue-600 dark:text-blue-400 font-medium hover:underline cursor-pointer focus:outline-none focus:ring-2 focus:ring-blue-500 focus:ring-offset-1 rounded",children:v||$})]}),jsxRuntime.jsxs("p",{className:u("text-gray-400 dark:text-gray-500 mt-1",T.subtext),children:[C," - Max ",S,n&&a&&` - Up to ${a} files`]})]}):jsxRuntime.jsxs("div",{className:"flex items-center gap-2",children:[s==="both"?jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx("button",{type:"button",onClick:J,disabled:d||c,className:re,children:b||(z?"Change files":"Choose files")}),jsxRuntime.jsx("button",{type:"button",onClick:Y,disabled:d||c,className:re,children:v||"Choose folder"})]}):jsxRuntime.jsx("button",{type:"button",onClick:J,disabled:d||c,className:re,children:b||(s==="directory"?z?"Change folder":"Choose folder":z?"Change file":"Choose file")}),!z&&jsxRuntime.jsx("span",{className:u("text-gray-400 dark:text-gray-500",T.text),children:s==="directory"?"No folder selected":s==="both"?"No file or folder selected":"No file selected"}),z&&!g&&jsxRuntime.jsx("span",{className:u("text-gray-600 dark:text-gray-400 truncate",T.text),children:L.length===1?ci(L[0].file):`${L.length} files selected`})]}),ne,m&&jsxRuntime.jsx("p",{id:`${W}-error`,className:u("text-red-600 dark:text-red-400",T.subtext),role:"alert",children:m}),f&&!m&&jsxRuntime.jsx("p",{id:`${W}-helper`,className:u("text-gray-400 dark:text-gray-500",T.subtext),children:f})]})}var Ad=js.createContext(null);function nr(){let e=js.useContext(Ad);if(!e)throw new Error("Dropdown compound components must be used within a Dropdown");return e}function zd({open:e,defaultOpen:t=false,onOpenChange:r,closeOnSelect:n=true,closeOnClickOutside:o=true,closeOnEscape:a=true,modal:s=false,children:l}){let[i,d]=js.useState(t),c=e!==void 0,p=c?e:i,f=js.useRef(null),m=js.useRef(null),g=js.useRef([]),[x,b]=js.useState(-1),v=js.useRef(0),y=js.useId(),M={triggerId:`dropdown-trigger-${y}`,contentId:`dropdown-content-${y}`},w=js.useCallback(D=>{c||d(D),r?.(D),D||b(-1);},[c,r]),P=js.useCallback((D,k)=>{g.current&&(g.current[D]=k);},[]),h=js.useCallback(()=>v.current++,[]),E={isOpen:p,setIsOpen:w,triggerRef:f,contentRef:m,closeOnSelect:n,closeOnClickOutside:o,closeOnEscape:a,modal:s,focusedIndex:x,setFocusedIndex:b,itemsRef:g,registerItem:P,getNextItemIndex:h,triggerId:M.triggerId,contentId:M.contentId};return jsxRuntime.jsx(Ad.Provider,{value:E,children:jsxRuntime.jsx("div",{className:"relative inline-block",children:l})})}zd.displayName="Dropdown";var Wd=js.memo(({isOpen:e})=>jsxRuntime.jsx("span",{className:u("inline-block transition-transform",e&&"rotate-180"),children:jsxRuntime.jsx("svg",{className:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24","aria-hidden":"true",children:jsxRuntime.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M19 9l-7 7-7-7"})})}));Wd.displayName="ChevronIcon";function Hd({asChild:e=false,disabled:t=false,children:r,className:n}){let{isOpen:o,setIsOpen:a,triggerRef:s,triggerId:l,contentId:i}=nr(),p={ref:s,id:l,"aria-haspopup":"menu","aria-expanded":o,"aria-controls":o?i:void 0,disabled:t,onClick:()=>{t||a(!o);},onKeyDown:f=>{t||((f.key==="Enter"||f.key===" ")&&(f.preventDefault(),a(!o)),f.key==="ArrowDown"&&!o&&(f.preventDefault(),a(true)));}};return e&&js.isValidElement(r)?js.cloneElement(r,{...p,className:u(r.props.className,n)}):jsxRuntime.jsxs("button",{type:"button",...p,className:u("inline-flex items-center justify-center gap-2","rounded-md px-4 py-2","bg-white border border-gray-300","text-sm font-medium text-gray-700","hover:bg-gray-50","focus:outline-none focus-visible:ring-2 focus-visible:ring-blue-500 focus-visible:ring-offset-2","disabled:opacity-50 disabled:cursor-not-allowed","transition-colors",n),children:[r,jsxRuntime.jsx(Wd,{isOpen:o})]})}Hd.displayName="DropdownTrigger";function co(e){let t=js.useRef(e);return js.useLayoutEffect(()=>{t.current=e;}),t}function uo(e,t,r=true){let n=co(t);js.useEffect(()=>{if(!r)return;let o=a=>{let s=a.target;!e.current||e.current.contains(s)||n.current();};return document.addEventListener("mousedown",o),document.addEventListener("touchstart",o,{passive:true}),()=>{document.removeEventListener("mousedown",o),document.removeEventListener("touchstart",o);}},[r,n,e]);}function po({triggerRef:e,contentRef:t,isOpen:r,side:n="bottom",align:o="start",sideOffset:a=4,alignOffset:s=0,avoidCollisions:l=true,collisionPadding:i=8}){let[d,c]=js.useState({top:0,left:0,actualSide:n,actualAlign:o,isReady:false}),p=js.useRef(false),f=js.useCallback(()=>{if(!e.current||!t.current)return;let m=e.current.getBoundingClientRect(),g=t.current.getBoundingClientRect();if(!(m.width>0&&m.height>0&&g.width>0&&g.height>0)){p.current=false;return}let b={width:window.innerWidth,height:window.innerHeight},v=n,y=o,M=h=>{switch(h){case "bottom":return {top:m.bottom+a,left:m.left};case "top":return {top:m.top-g.height-a,left:m.left};case "right":return {top:m.top,left:m.right+a};case "left":return {top:m.top,left:m.left-g.width-a}}},w=(h,E,D)=>{if(h==="top"||h==="bottom")switch(E){case "start":return {...D,left:m.left+s};case "center":return {...D,left:m.left+m.width/2-g.width/2+s};case "end":return {...D,left:m.right-g.width+s}}else switch(E){case "start":return {...D,top:m.top+s};case "center":return {...D,top:m.top+m.height/2-g.height/2+s};case "end":return {...D,top:m.bottom-g.height+s}}},P=M(v);if(P=w(v,y,P),l){let{top:h,left:E}=P,{height:D,width:k}=g,{height:I,width:W}=b,O=h+D>I-i,L=h<i,T=E+k>W-i,S=E<i;v==="bottom"&&O&&!L?(v="top",P=M(v),P=w(v,y,P)):v==="top"&&L&&!O&&(v="bottom",P=M(v),P=w(v,y,P)),v==="right"&&T&&!S?(v="left",P=M(v),P=w(v,y,P)):v==="left"&&S&&!T&&(v="right",P=M(v),P=w(v,y,P));let C=P.left+k>W-i,N=P.left<i,R=P.top+D>I-i,$=P.top<i;(v==="top"||v==="bottom")&&(C&&(P.left=W-k-i,y="end"),N&&(P.left=i,y="start")),(v==="left"||v==="right")&&(R&&(P.top=I-D-i,y="end"),$&&(P.top=i,y="start"));}p.current=true,c({top:P.top,left:P.left,actualSide:v,actualAlign:y,isReady:true});},[e,t,n,o,a,s,l,i]);return js.useLayoutEffect(()=>{let m=0;if(r){p.current=false;let x=()=>{f(),p.current||(m=requestAnimationFrame(x));};m=requestAnimationFrame(x);}let g=()=>f();return window.addEventListener("resize",g),window.addEventListener("scroll",g,{passive:true,capture:true}),()=>{m&&cancelAnimationFrame(m),window.removeEventListener("resize",g),window.removeEventListener("scroll",g,{capture:true});}},[f,r]),d}function Ua({isOpen:e,onClose:t,itemsCount:r,focusedIndex:n,setFocusedIndex:o,onSelect:a,loop:s=true}){let l=co(t),i=co(a),d=co(n),c=js.useCallback(p=>{if(!(!e||r===0))switch(p.key){case "ArrowDown":p.preventDefault(),o(s?f=>f<r-1?f+1:0:f=>Math.min(f+1,r-1));break;case "ArrowUp":p.preventDefault(),o(s?f=>f>0?f-1:r-1:f=>Math.max(f-1,0));break;case "Home":p.preventDefault(),o(0);break;case "End":p.preventDefault(),o(r-1);break;case "Enter":case " ":p.preventDefault(),i.current?.(d.current);break;case "Escape":p.preventDefault(),l.current();break;case "Tab":l.current();break}},[e,r,o,s,l,i,d]);return js.useEffect(()=>{if(e)return document.addEventListener("keydown",c),()=>document.removeEventListener("keydown",c)},[e,c]),{focusedIndex:n}}function Vd(e,t,r){js.useEffect(()=>{r&&e.current&&e.current[t]&&e.current[t]?.focus();},[t,r,e]);}var eb={fade:"animate-in fade-in-0 duration-200",scale:"animate-in fade-in-0 zoom-in-95 duration-200",slide:"animate-in fade-in-0 slide-in-from-top-2 duration-200",none:""};function Od({side:e="bottom",align:t="start",sideOffset:r=4,alignOffset:n=0,avoidCollisions:o=true,collisionPadding:a=8,minWidth:s,maxWidth:l,maxHeight:i=300,animation:d="scale",portal:c=true,children:p,className:f}){let{isOpen:m,setIsOpen:g,triggerRef:x,contentRef:b,closeOnClickOutside:v,closeOnEscape:y,modal:M,contentId:w,focusedIndex:P,setFocusedIndex:h,itemsRef:E}=nr(),[D,k]=js.useState(false),I=po({triggerRef:x,contentRef:b,isOpen:m,side:e,align:t,sideOffset:r,alignOffset:n,avoidCollisions:o,collisionPadding:a});uo(b,()=>{v&&g(false);},m);let W=E.current?.filter(Boolean).length||0,O=js.useCallback(T=>{let S=E.current?.[T];S&&!S.hasAttribute("data-disabled")&&S.click();},[E]);Ua({isOpen:m,onClose:()=>{y&&(g(false),x.current?.focus());},itemsCount:W,focusedIndex:P,setFocusedIndex:h,onSelect:O}),js.useEffect(()=>{let T=b.current;if(T)return Ln(T,()=>x.current)},[b,x]),js.useEffect(()=>{if(m&&E.current&&E.current.length>0){let T=setTimeout(()=>{h(0),E.current?.[0]?.focus();},10);return ()=>clearTimeout(T)}},[m,E,h]),js.useLayoutEffect(()=>{let T=0;if(!m){k(false);return}let S=()=>{let C=x.current?.getBoundingClientRect(),N=b.current?.getBoundingClientRect();if(I.isReady&&!!C&&!!N&&C.width>0&&C.height>0&&N.width>0&&N.height>0){k(true);return}T=requestAnimationFrame(S);};return k(false),T=requestAnimationFrame(S),()=>{T&&cancelAnimationFrame(T);}},[m,I.isReady,x,b]);let L=jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[M&&m&&jsxRuntime.jsx("div",{className:"fixed inset-0 z-40 bg-black/20",onClick:()=>g(false)}),jsxRuntime.jsx("div",{ref:b,id:w,role:"menu","aria-orientation":"vertical","aria-hidden":!m,tabIndex:-1,style:{position:"fixed",top:I.top,left:I.left,minWidth:s??x.current?.offsetWidth,maxWidth:l,maxHeight:i,visibility:m&&D?"visible":"hidden",opacity:m&&D?1:0,pointerEvents:m&&D?"auto":"none"},className:u("z-50 overflow-auto rounded-lg","border border-gray-200 bg-white shadow-lg","dark:border-gray-700 dark:bg-gray-800",m&&D&&eb[d],f),children:jsxRuntime.jsx("div",{className:"py-1",children:p})})]});return c&&typeof document<"u"?reactDom.createPortal(L,document.body):L}Od.displayName="DropdownContent";var sb={default:"text-gray-700 dark:text-gray-200 hover:bg-gray-100 dark:hover:bg-gray-700",danger:"text-red-600 dark:text-red-400 hover:bg-red-50 dark:hover:bg-red-900/20",success:"text-green-600 dark:text-green-400 hover:bg-green-50 dark:hover:bg-green-900/20"};function _d({children:e,icon:t,iconPosition:r="left",description:n,shortcut:o,variant:a="default",closeOnSelect:s,onSelect:l,disabled:i=false,className:d,onClick:c,index:p,...f}){let{setIsOpen:m,closeOnSelect:g,focusedIndex:x,setFocusedIndex:b,registerItem:v,getNextItemIndex:y}=nr(),M=js.useRef(null),[w]=js.useState(()=>p??y());js.useEffect(()=>(v(w,M.current),()=>{v(w,null);}),[w,v]);let P=s??g,h=x===w;return jsxRuntime.jsxs("button",{ref:M,role:"menuitem",type:"button",tabIndex:h?0:-1,disabled:i,"data-disabled":i||void 0,"data-focused":h||void 0,onClick:k=>{i||(l?.(),c?.(k),P&&m(false));},onMouseEnter:()=>{i||b(w);},className:u("relative flex w-full items-center px-3 py-2 text-left text-sm","outline-none transition-colors","focus:bg-gray-100 dark:focus:bg-gray-700",sb[a],i&&"opacity-50 cursor-not-allowed hover:bg-transparent",h&&"bg-gray-100 dark:bg-gray-700",d),...f,children:[t&&r==="left"&&jsxRuntime.jsx("span",{className:"mr-2 shrink-0 w-5 h-5",children:t}),jsxRuntime.jsxs("span",{className:"flex-1 min-w-0",children:[jsxRuntime.jsx("span",{className:"block truncate",children:e}),n&&jsxRuntime.jsx("span",{className:"block text-xs text-gray-500 dark:text-gray-400 truncate",children:n})]}),t&&r==="right"&&jsxRuntime.jsx("span",{className:"ml-2 shrink-0 w-5 h-5",children:t}),o&&jsxRuntime.jsx("span",{className:"ml-auto pl-4 text-xs text-gray-400 dark:text-gray-500",children:o})]})}_d.displayName="DropdownItem";function Xd({className:e}){return jsxRuntime.jsx("hr",{className:u("my-1 h-px border-0 bg-gray-200 dark:bg-gray-700",e)})}Xd.displayName="DropdownSeparator";function Gd({children:e,className:t}){return jsxRuntime.jsx("div",{className:u("px-3 py-1.5 text-xs font-semibold text-gray-500 dark:text-gray-400",t),children:e})}Gd.displayName="DropdownLabel";function jd({checked:e,defaultChecked:t=false,onCheckedChange:r,children:n,icon:o,description:a,disabled:s=false,closeOnChange:l=false,className:i,index:d}){let{setIsOpen:c,focusedIndex:p,setFocusedIndex:f,registerItem:m,getNextItemIndex:g}=nr(),x=js.useRef(null),[b]=js.useState(()=>d??g()),[v,y]=js.useState(t),M=e!==void 0,w=M?e:v;js.useEffect(()=>(m(b,x.current),()=>{m(b,null);}),[b,m]);let P=p===b;return jsxRuntime.jsxs("button",{ref:x,role:"menuitemcheckbox",type:"button",tabIndex:P?0:-1,"aria-checked":w,disabled:s,"data-disabled":s||void 0,"data-focused":P||void 0,onClick:()=>{if(s)return;let D=!w;M||y(D),r?.(D),l&&c(false);},onMouseEnter:()=>{s||f(b);},className:u("relative flex w-full items-center px-3 py-2 text-left text-sm","outline-none transition-colors","text-gray-700 dark:text-gray-200","hover:bg-gray-100 dark:hover:bg-gray-700","focus:bg-gray-100 dark:focus:bg-gray-700",s&&"opacity-50 cursor-not-allowed hover:bg-transparent",P&&"bg-gray-100 dark:bg-gray-700",i),children:[jsxRuntime.jsx("span",{className:"mr-2 shrink-0 w-4 h-4",children:o||jsxRuntime.jsx("span",{className:u("flex items-center justify-center w-4 h-4 rounded border-2 transition-colors",w?"bg-blue-600 border-blue-600":"border-gray-300 dark:border-gray-600"),children:w&&jsxRuntime.jsx("svg",{className:"w-3 h-3 text-white",viewBox:"0 0 16 16",fill:"none",children:jsxRuntime.jsx("path",{d:"M13.5 4.5L6 12L2.5 8.5",stroke:"currentColor",strokeWidth:"2.5",strokeLinecap:"round",strokeLinejoin:"round"})})})}),jsxRuntime.jsxs("span",{className:"flex-1 min-w-0",children:[jsxRuntime.jsx("span",{className:"block truncate",children:n}),a&&jsxRuntime.jsx("span",{className:"block text-xs text-gray-500 dark:text-gray-400 truncate",children:a})]})]})}jd.displayName="DropdownCheckboxItem";var Qd=js.createContext(null);function fb(){let e=js.useContext(Qd);if(!e)throw new Error("DropdownRadioItem must be used within a DropdownRadioGroup");return e}function Jd({value:e,defaultValue:t="",onValueChange:r,children:n,className:o}){let[a,s]=js.useState(t),l=e!==void 0,i=l?e:a,d=js.useCallback(p=>{l||s(p),r?.(p);},[l,r]),c=js.useMemo(()=>({value:i,onValueChange:d}),[i,d]);return jsxRuntime.jsx(Qd.Provider,{value:c,children:jsxRuntime.jsx("div",{role:"group",className:o,children:n})})}Jd.displayName="DropdownRadioGroup";function ec({value:e,children:t,icon:r,description:n,disabled:o=false,closeOnChange:a=true,className:s,index:l}){let{value:i,onValueChange:d}=fb(),{setIsOpen:c,focusedIndex:p,setFocusedIndex:f,registerItem:m,getNextItemIndex:g}=nr(),x=js.useRef(null),[b]=js.useState(()=>l??g()),v=i===e;js.useEffect(()=>(m(b,x.current),()=>{m(b,null);}),[b,m]);let y=p===b;return jsxRuntime.jsxs("button",{ref:x,role:"menuitemradio",type:"button",tabIndex:y?0:-1,"aria-checked":v,disabled:o,"data-disabled":o||void 0,"data-focused":y||void 0,onClick:()=>{o||(d(e),a&&c(false));},onMouseEnter:()=>{o||f(b);},className:u("relative flex w-full items-center px-3 py-2 text-left text-sm","outline-none transition-colors","text-gray-700 dark:text-gray-200","hover:bg-gray-100 dark:hover:bg-gray-700","focus:bg-gray-100 dark:focus:bg-gray-700",o&&"opacity-50 cursor-not-allowed hover:bg-transparent",y&&"bg-gray-100 dark:bg-gray-700",s),children:[jsxRuntime.jsx("span",{className:"mr-2 shrink-0 w-4 h-4",children:r||jsxRuntime.jsx("span",{className:u("flex items-center justify-center w-4 h-4 rounded-full border-2 transition-colors",v?"border-blue-600":"border-gray-300 dark:border-gray-600"),children:v&&jsxRuntime.jsx("span",{className:"w-2 h-2 rounded-full bg-blue-600"})})}),jsxRuntime.jsxs("span",{className:"flex-1 min-w-0",children:[jsxRuntime.jsx("span",{className:"block truncate",children:t}),n&&jsxRuntime.jsx("span",{className:"block text-xs text-gray-500 dark:text-gray-400 truncate",children:n})]}),v&&!r&&jsxRuntime.jsx("svg",{className:"ml-auto w-4 h-4 text-blue-600",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:jsxRuntime.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M5 13l4 4L19 7"})})]})}ec.displayName="DropdownRadioItem";var oc=js.createContext(null);function ac(){let e=js.useContext(oc);if(!e)throw new Error("DropdownSubMenu components must be used within a DropdownSubMenu");return e}function sc({children:e}){let[t,r]=js.useState(false),n=js.useRef(null),o=js.useRef(null),a=js.useMemo(()=>({isOpen:t,setIsOpen:r,triggerRef:n,contentRef:o}),[t]);return jsxRuntime.jsx(oc.Provider,{value:a,children:jsxRuntime.jsx("div",{className:"relative",children:e})})}sc.displayName="DropdownSubMenu";var rc=0;function ic({children:e,icon:t,disabled:r=false,className:n,index:o}){let{isOpen:a,setIsOpen:s,triggerRef:l}=ac(),{focusedIndex:i,setFocusedIndex:d,registerItem:c}=nr(),p=js.useRef(o??-1);js.useEffect(()=>(o===void 0&&(p.current=rc++),c(p.current,l.current),()=>{c(p.current,null);}),[o,c,l]),js.useEffect(()=>()=>{rc=0;},[]);let f=i===p.current;return jsxRuntime.jsxs("button",{ref:l,role:"menuitem",type:"button",tabIndex:f?0:-1,"aria-haspopup":"menu","aria-expanded":a,disabled:r,"data-disabled":r||void 0,"data-focused":f||void 0,onMouseEnter:()=>{r||(d(p.current),s(true));},onMouseLeave:()=>{setTimeout(()=>{s(false);},100);},onKeyDown:b=>{r||(b.key==="ArrowRight"||b.key==="Enter")&&(b.preventDefault(),s(true));},className:u("relative flex w-full items-center px-3 py-2 text-left text-sm","outline-none transition-colors","text-gray-700 dark:text-gray-200","hover:bg-gray-100 dark:hover:bg-gray-700","focus:bg-gray-100 dark:focus:bg-gray-700",r&&"opacity-50 cursor-not-allowed hover:bg-transparent",f&&"bg-gray-100 dark:bg-gray-700",n),children:[t&&jsxRuntime.jsx("span",{className:"mr-2 shrink-0 w-5 h-5",children:t}),jsxRuntime.jsx("span",{className:"flex-1",children:e}),jsxRuntime.jsx("svg",{className:"ml-auto w-4 h-4 text-gray-400",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:jsxRuntime.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M9 5l7 7-7 7"})})]})}ic.displayName="DropdownSubMenuTrigger";function lc({children:e,sideOffset:t=0,className:r}){let{isOpen:n,setIsOpen:o,triggerRef:a,contentRef:s}=ac(),[l,i]=js.useState(false),d=po({triggerRef:a,contentRef:s,isOpen:n,side:"right",align:"start",sideOffset:t,avoidCollisions:true});uo(s,()=>o(false),n),js.useEffect(()=>{let g=s.current;if(g)return Ln(g,()=>a.current)},[s,a]);let c=js.useCallback(()=>{o(true);},[o]),p=js.useCallback(()=>{o(false);},[o]),f=g=>{(g.key==="ArrowLeft"||g.key==="Escape")&&(g.preventDefault(),o(false),a.current?.focus());};js.useLayoutEffect(()=>{let g=0;if(!n){i(false);return}let x=()=>{let b=a.current?.getBoundingClientRect(),v=s.current?.getBoundingClientRect();if(d.isReady&&!!b&&!!v&&b.width>0&&b.height>0&&v.width>0&&v.height>0){i(true);return}g=requestAnimationFrame(x);};return i(false),g=requestAnimationFrame(x),()=>{g&&cancelAnimationFrame(g);}},[n,d.isReady,a,s]);let m=jsxRuntime.jsx("div",{ref:s,role:"menu","aria-orientation":"vertical","aria-hidden":!n,tabIndex:-1,onMouseEnter:c,onMouseLeave:p,onKeyDown:f,style:{position:"fixed",top:d.top,left:d.left,visibility:n&&l?"visible":"hidden",opacity:n&&l?1:0,pointerEvents:n&&l?"auto":"none"},className:u("z-50 min-w-40 overflow-hidden rounded-lg","border border-gray-200 bg-white shadow-lg","dark:border-gray-700 dark:bg-gray-800",n&&l&&"animate-in fade-in-0 zoom-in-95 duration-150",r),children:jsxRuntime.jsx("div",{className:"py-1",children:e})});return typeof document<"u"?reactDom.createPortal(m,document.body):m}lc.displayName="DropdownSubMenuContent";var Cb=(e="md")=>({sm:"text-xs p-1.5",md:"text-sm p-2.5",lg:"text-base p-3.5"})[e],go=({size:e="md",error:t,disabled:r,readOnly:n,icon:o,iconPosition:a})=>u("bg-gray-50 rounded-lg block w-full","border focus:outline-none focus:ring-0","dark:bg-gray-700 dark:placeholder-gray-400",Cb(e),o&&a==="left"?"pl-9":"",o&&a==="right"?"pr-9":"",r?"opacity-50 cursor-not-allowed":"",n?"bg-gray-100 dark:bg-gray-600 cursor-default":"",t?"border-red-500 dark:border-red-500":"border-gray-300 dark:border-gray-600"),dc=(e,t)=>u("text-sm font-medium",e?"min-w-[120px]":"block mb-2",!t&&"text-gray-900 dark:text-white"),cc=e=>u("mt-1 text-xs",e?"text-red-500 dark:text-red-400":"text-gray-500 dark:text-gray-400"),Wn=e=>u("absolute inset-y-0 flex items-center pointer-events-none",e==="left"?"left-2.5":"right-2.5");var fo=({label:e,hideLabel:t,labelColor:r,error:n,helperText:o,inline:a,children:s,htmlFor:l})=>jsxRuntime.jsxs("div",{className:a?"flex items-center gap-4":"flex flex-col",children:[e&&!t&&jsxRuntime.jsx("label",{htmlFor:l,className:dc(a||false,r),style:r?{color:r}:void 0,children:e}),jsxRuntime.jsx("div",{className:a?"flex-1":"w-full",children:s}),o&&jsxRuntime.jsx("p",{className:u(cc(n),a&&"ml-34"),children:o})]});var Vr=js.forwardRef(({label:e,inline:t=false,size:r="md",labelColor:n,borderColor:o,textColor:a,disabled:s=false,readOnly:l=false,error:i=false,helperText:d,hideLabel:c=false,icon:p,iconPosition:f="left",multiline:m=false,rows:g=3,focused:x=false,className:b,...v},y)=>{let M=js.useRef(null),w=I=>{M.current=I,typeof y=="function"?y(I):y&&(y.current=I);};js.useEffect(()=>{x&&M.current?.focus();},[x]);let P=js.useId(),h=u(go({size:r,error:i,disabled:s,readOnly:l,icon:p,iconPosition:f}),m&&"resize-vertical",b),E={...o&&{borderColor:o},...a&&{color:a}},D=o||a?E:void 0;return jsxRuntime.jsx(fo,{label:e,hideLabel:c,labelColor:n,error:i,helperText:d,inline:t,htmlFor:P,children:jsxRuntime.jsxs("div",{className:"relative w-full",children:[p&&jsxRuntime.jsx("span",{className:Wn(f),children:p}),m?jsxRuntime.jsx("textarea",{ref:w,id:P,disabled:s,readOnly:l,rows:g,tabIndex:l||s?-1:void 0,className:h,style:D,...v}):jsxRuntime.jsx("input",{ref:w,id:P,disabled:s,readOnly:l,tabIndex:l||s?-1:void 0,className:h,style:D,...v})]})})});Vr.displayName="Input";var Lb=e=>jsxRuntime.jsxs("div",{className:"flex items-center gap-2 px-3 py-2 hover:bg-gray-100 dark:hover:bg-gray-700 cursor-pointer",children:[e.avatar&&jsxRuntime.jsx("img",{src:e.avatar,alt:e.label,className:"w-6 h-6 rounded-full"}),jsxRuntime.jsx("span",{className:"text-sm text-gray-900 dark:text-white",children:e.label})]}),hi=js.forwardRef(({label:e,inline:t=false,size:r="md",labelColor:n,borderColor:o,textColor:a,disabled:s=false,readOnly:l=false,error:i=false,helperText:d,hideLabel:c=false,icon:p,iconPosition:f="left",mentionTrigger:m="@",suggestions:g=[],onMentionSearch:x,onMentionSelect:b,onMentionRemove:v,renderSuggestion:y,value:M,onChange:w,placeholder:P,loading:h=false,maxSuggestions:E=10,chipVariant:D="soft",chipColor:k="primary",chipSize:I="sm"},W)=>{let O=js.useId(),L=js.useRef(null),[T,S]=js.useState(false),[C,N]=js.useState(0),[R,$]=js.useState(""),H=u(go({size:r,error:i,disabled:s,readOnly:l,icon:p,iconPosition:f}),"min-h-[42px]","whitespace-pre-wrap","break-words"),K={...o&&{borderColor:o},...a&&{color:a}},_=o||a?K:void 0,F=js.useCallback(()=>{if(!L.current)return {text:"",mentions:[]};let z="",X=[],ne=0,re=q=>{if(q.nodeType===Node.TEXT_NODE)z+=q.textContent||"",ne+=(q.textContent||"").length;else if(q.nodeType===Node.ELEMENT_NODE){let de=q;if(de.hasAttribute("data-mention-id")){let xe=de.getAttribute("data-mention-id"),ke=de.getAttribute("data-mention-label")||"",le=de.getAttribute("data-mention-avatar")||void 0,Se=`@${ke}`,Me=ne;X.push({trigger:m,suggestion:{id:xe||"",label:ke,avatar:le},startIndex:Me,endIndex:Me+Se.length}),z+=Se,ne+=Se.length;}else de.childNodes.forEach(re);}};return L.current.childNodes.forEach(re),{text:z,mentions:X}},[m]),A=js.useCallback((z,X)=>{let ne=document.createElement("span");return ne.contentEditable="false",ne.setAttribute("data-mention-id",z.id),ne.setAttribute("data-mention-label",z.label),z.avatar&&ne.setAttribute("data-mention-avatar",z.avatar),ne.className="inline-block align-middle mx-0.5",ne.style.userSelect="none",client.createRoot(ne).render(jsxRuntime.jsx(Ba,{label:z.label,variant:D,color:k,size:I,closable:!s&&!l,onClose:X,disabled:s,avatar:z.avatar?jsxRuntime.jsx("img",{src:z.avatar,alt:z.label,className:"w-full h-full object-cover"}):void 0})),ne},[D,k,I,s,l]),B=js.useCallback(z=>{if(!L.current)return;let X=L.current.querySelector(`[data-mention-id="${z}"]`);if(X){X.remove();let ne=F();w?.(ne);let re=M?.mentions.find(q=>q.suggestion.id===z)?.suggestion;re&&v?.(re);}},[F,w,v,M?.mentions]),U=js.useCallback(()=>{if(!L.current)return;let z=window.getSelection();if(!z||z.rangeCount===0)return;let X=z.getRangeAt(0),ne="";X.startContainer.nodeType===Node.TEXT_NODE&&(ne=X.startContainer.textContent?.substring(0,X.startOffset)||"");let re=ne.match(new RegExp(`${m}(\\w*)$`));if(re){let de=re[1];$(de),S(true),N(0),x?.(de);}else S(false),$("");let q=F();w?.(q);},[m,x,w,F]),Q=js.useCallback(z=>{if(!L.current)return;let X=window.getSelection();if(!X||X.rangeCount===0)return;let ne=X.getRangeAt(0);if(ne.startContainer.nodeType===Node.TEXT_NODE){let q=ne.startContainer,de=q.textContent||"",xe=ne.startOffset,le=de.substring(0,xe).lastIndexOf(m);if(le!==-1){let Se=de.substring(0,le),Me=de.substring(xe),je=A(z,()=>{B(z.id);});if(Se?(q.textContent=Se,q.parentNode?.insertBefore(je,q.nextSibling)):(q.parentNode?.insertBefore(je,q),q.textContent="",q.textContent||q.remove()),Me){let ie=document.createTextNode(Me);je.parentNode?.insertBefore(ie,je.nextSibling);}let at=document.createTextNode(" ");je.parentNode?.insertBefore(at,je.nextSibling);let $e=document.createRange();$e.setStartAfter(at),$e.collapse(true),X.removeAllRanges(),X.addRange($e);}}S(false),$("");let re=F();w?.(re),b?.(z),L.current.focus();},[m,A,B,F,w,b]),J=js.useCallback(z=>{let X=g.slice(0,E);if(T&&X.length>0)switch(z.key){case "ArrowDown":z.preventDefault(),N(ne=>ne<X.length-1?ne+1:0);return;case "ArrowUp":z.preventDefault(),N(ne=>ne>0?ne-1:X.length-1);return;case "Enter":case "Tab":z.preventDefault(),X[C]&&Q(X[C]);return;case "Escape":z.preventDefault(),S(false);return}if(z.key==="Backspace"){let ne=window.getSelection();if(!ne||ne.rangeCount===0)return;let re=ne.getRangeAt(0);if(re.collapsed&&re.startOffset===0){let q=re.startContainer.previousSibling;if(q&&q.nodeType===Node.ELEMENT_NODE){let de=q;if(de.hasAttribute("data-mention-id")){z.preventDefault();let xe=de.getAttribute("data-mention-id");xe&&B(xe);return}}}if(re.collapsed&&re.startContainer.nodeType===Node.TEXT_NODE){let q=re.startContainer;if(re.startOffset===0){let de=q.previousSibling;if(de&&de.nodeType===Node.ELEMENT_NODE){let xe=de;if(xe.hasAttribute("data-mention-id")){z.preventDefault();let ke=xe.getAttribute("data-mention-id");ke&&B(ke);return}}}}}},[T,g,C,E,Q,B]);return js.useEffect(()=>{L.current&&(!(L.current.textContent||L.current.querySelector("[data-mention-id]"))&&P?L.current.setAttribute("data-placeholder",P):L.current.removeAttribute("data-placeholder"));},[P,M]),js.useEffect(()=>{L.current&&M?.text===""&&M?.mentions.length===0&&L.current.innerHTML.trim()&&(L.current.innerHTML="");},[M?.text,M?.mentions.length]),jsxRuntime.jsx(fo,{label:e,hideLabel:c,labelColor:n,error:i,helperText:d,inline:t,htmlFor:O,children:jsxRuntime.jsxs("div",{className:"relative w-full",children:[p&&jsxRuntime.jsx("span",{className:Wn(f),children:p}),jsxRuntime.jsx("div",{ref:z=>{typeof W=="function"?W(z):W&&(W.current=z),L.current=z;},id:O,contentEditable:!s&&!l,suppressContentEditableWarning:true,onInput:U,onKeyDown:J,className:u(H,"empty:before:content-[attr(data-placeholder)] empty:before:text-gray-400 empty:before:dark:text-gray-500"),style:_,role:"textbox","aria-label":e,"aria-multiline":"true",tabIndex:l||s?-1:0}),T&&g.length>0&&jsxRuntime.jsx("div",{className:"absolute z-10 mt-1 w-full max-h-60 overflow-auto rounded-lg border border-gray-300 bg-white dark:bg-gray-700 dark:border-gray-600 shadow-lg",children:h?jsxRuntime.jsx("div",{className:"px-3 py-2 text-sm text-gray-500 dark:text-gray-400",children:"Loading..."}):g.slice(0,E).map((z,X)=>jsxRuntime.jsx("div",{onClick:()=>Q(z),className:u(X===C&&"bg-gray-100 dark:bg-gray-600"),children:y?y(z):Lb(z)},z.id))})]})})});hi.displayName="MentionInput";var yi=js.forwardRef(({label:e,inline:t=false,size:r="md",labelColor:n,borderColor:o,textColor:a,disabled:s=false,readOnly:l=false,error:i=false,helperText:d,hideLabel:c=false,icon:p,iconPosition:f="left",className:m,value:g,onChange:x,format:b="number",currency:v="USD",locale:y="en-US",decimals:M,min:w,max:P,step:h=1,prefix:E,suffix:D,thousandSeparator:k=true,allowNegative:I=true,onBlur:W,onFocus:O,...L},T)=>{let S=js.useId(),[C,N]=js.useState(null),R=js.useMemo(()=>{let Y=b==="currency"?{style:"currency",currency:v,minimumFractionDigits:M??2,maximumFractionDigits:M??2}:b==="percentage"?{minimumFractionDigits:M??0,maximumFractionDigits:M??2}:{minimumFractionDigits:M??0,maximumFractionDigits:M??(b==="decimal"?2:0),useGrouping:k};try{return new Intl.NumberFormat(y,Y)}catch{return null}},[b,v,y,M,k]),$=Y=>{if(Y==null)return "";if(!R)return String(Y);let z=R.format(Y);return b==="percentage"?(z=E?`${E}${z}`:z,z=D||!z.includes("%")?`${z}%`:z,z):(E&&(z=`${E}${z}`),D&&(z=`${z}${D}`),z)},H=Y=>{if(!Y||Y.trim()==="")return null;let z=Y;if(E&&(z=z.replace(E,"")),D&&(z=z.replace(D,"")),z=z.replace(/[^\d.,-]/g,""),y.includes("fr")||y.includes("de")?z=z.replace(/\s/g,"").replace(",","."):z=z.replace(",",""),!z||z==="-"||z===".")return null;let X=parseFloat(z);return isNaN(X)?null:!I&&X<0?Math.abs(X):w!==void 0&&X<w?w:P!==void 0&&X>P?P:X},K=C??$(g??null),_=Y=>{let z=y.includes("fr")||y.includes("de")?",":".";return new RegExp(`^-?[0-9${z===","?",":"\\."}]*$`).test(Y)},F=Y=>{let z=Y.target.value;if(z===""||_(z)){N(z);let X=H(z);x&&x(X);}},A=Y=>{let z=y.includes("fr")||y.includes("de")?",":".",X=["Backspace","Delete","Tab","Escape","Enter","ArrowLeft","ArrowRight","ArrowUp","ArrowDown","Home","End"],ne=/^[0-9]$/.test(Y.key),re=Y.key===z,q=Y.key==="-"&&I&&K.indexOf("-")===-1,de=Y.ctrlKey||Y.metaKey;!ne&&!re&&!q&&!X.includes(Y.key)&&!de&&Y.preventDefault();},B=Y=>{let z=g!=null?String(g):"";N(z),O&&O(Y);},U=Y=>{let z=H(C??"");x&&z!==g&&x(z),N(null),W&&W(Y);},Q=u(go({size:r,error:i,disabled:s,readOnly:l,icon:p,iconPosition:f}),o&&`border-[${o}]`,a&&`text-[${a}]`,m),J=jsxRuntime.jsxs("div",{className:"relative",children:[p&&f==="left"&&jsxRuntime.jsx("div",{className:Wn(f),children:p}),jsxRuntime.jsx("input",{ref:T,id:S,type:"text",inputMode:"decimal",className:Q,style:{borderColor:o,color:a},disabled:s,readOnly:l,value:K,onChange:F,onKeyDown:A,onFocus:B,onBlur:U,...L}),p&&f==="right"&&jsxRuntime.jsx("div",{className:Wn(f),children:p})]});return jsxRuntime.jsx(fo,{label:e,hideLabel:c,labelColor:n,error:i,helperText:d,inline:t,htmlFor:S,children:J})});yi.displayName="NumberInput";function Vb({logo:e,logoHref:t="/",onLogoClick:r,navItems:n=[],actions:o,rightContent:a,variant:s="default",size:l="md",backgroundColor:i,textColor:d,hoverColor:c,navItemTextColor:p,navItemHoverColor:f,navItemBgHover:m,navItemActiveColor:g,sticky:x=false,fixed:b=false,showSearch:v=false,onSearch:y,searchPlaceholder:M="Search...",className:w,containerClassName:P}){let[h,E]=js.useState(false),[D,k]=js.useState(null),[I,W]=js.useState(""),O=()=>{E(!h);},L=F=>{k(D===F?null:F);},T=F=>{F.preventDefault(),y&&y(I);},S=u(x&&"sticky top-0 z-50",b&&"fixed top-0 left-0 right-0 z-50"),C=u(s==="default"&&!i&&"bg-neutral text-white",s==="transparent"&&!i&&"bg-transparent",s==="bordered"&&!i&&"bg-white border-b border-gray-200 text-gray-900 dark:bg-gray-900 dark:border-gray-800 dark:text-gray-100",s==="shadow"&&!i&&"bg-white shadow-md text-gray-900 dark:bg-gray-900 dark:text-gray-100"),N=u(l==="sm"&&"py-2",l==="md"&&"py-4",l==="lg"&&"py-6"),R=i||"",$=d||"",H=c||"",K=u(S,C,N,R,$,w),_=(F,A,B=false)=>{let U=F.children&&F.children.length>0,Q=D===A,J=u("px-4 py-2 transition-colors flex items-center gap-2",B?"block w-full text-left":"inline-flex",F.active&&"font-semibold border-b-2",F.active&&(g||"border-current"),p||(s==="default"||s==="transparent"?"text-gray-300":"text-gray-600 dark:text-gray-300"),f||H||(s==="default"||s==="transparent"?"hover:text-white":"hover:text-blue-600 dark:hover:text-blue-400"),m||"");if(U)return jsxRuntime.jsxs("div",{className:B?"w-full":"relative",children:[jsxRuntime.jsxs("button",{type:"button",onClick:()=>L(A),className:J,children:[F.icon&&jsxRuntime.jsx("span",{className:"w-5 h-5",children:F.icon}),jsxRuntime.jsx("span",{children:F.label}),F.badge&&jsxRuntime.jsx("span",{className:"bg-red-500 text-white text-xs px-2 py-0.5 rounded-full",children:F.badge}),jsxRuntime.jsx("svg",{className:u("w-4 h-4 transition-transform",Q&&"rotate-180"),fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:jsxRuntime.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M19 9l-7 7-7-7"})})]}),Q&&jsxRuntime.jsx("div",{className:u("bg-white shadow-lg rounded-lg overflow-hidden dark:bg-gray-800 dark:shadow-black/40",B?"mt-2 mb-2":"absolute top-full left-0 mt-1 min-w-[200px]"),children:F.children?.map(z=>jsxRuntime.jsx("a",{href:z.href,onClick:z.onClick,target:z.external?"_blank":void 0,rel:z.external?"noopener noreferrer":void 0,className:"block px-4 py-2 text-gray-700 hover:bg-gray-100 transition-colors dark:text-gray-200 dark:hover:bg-gray-700",children:jsxRuntime.jsxs("div",{className:"flex items-center gap-2",children:[z.icon&&jsxRuntime.jsx("span",{className:"w-5 h-5",children:z.icon}),jsxRuntime.jsx("span",{children:z.label}),z.badge&&jsxRuntime.jsx("span",{className:"bg-red-500 text-white text-xs px-2 py-0.5 rounded-full ml-auto",children:z.badge}),z.external&&jsxRuntime.jsx("svg",{className:"w-4 h-4 ml-auto",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:jsxRuntime.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M10 6H6a2 2 0 00-2 2v10a2 2 0 002 2h10a2 2 0 002-2v-4M14 4h6m0 0v6m0-6L10 14"})})]})},z.href??z.label))})]},F.href??F.label);let Y=jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[F.icon&&jsxRuntime.jsx("span",{className:"w-5 h-5",children:F.icon}),jsxRuntime.jsx("span",{children:F.label}),F.badge&&jsxRuntime.jsx("span",{className:"bg-red-500 text-white text-xs px-2 py-0.5 rounded-full",children:F.badge}),F.external&&jsxRuntime.jsx("svg",{className:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:jsxRuntime.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M10 6H6a2 2 0 00-2 2v10a2 2 0 002 2h10a2 2 0 002-2v-4M14 4h6m0 0v6m0-6L10 14"})})]});return F.onClick?jsxRuntime.jsx("button",{type:"button",onClick:F.onClick,className:J,children:Y},F.href??F.label):jsxRuntime.jsx("a",{href:F.href,target:F.external?"_blank":void 0,rel:F.external?"noopener noreferrer":void 0,className:J,children:Y},F.href??F.label)};return jsxRuntime.jsxs("header",{className:K,children:[jsxRuntime.jsxs("nav",{className:u("container mx-auto flex items-center justify-between px-4",P),children:[e&&jsxRuntime.jsx("div",{className:"flex items-center",children:t?jsxRuntime.jsx("a",{href:t,onClick:r,className:"flex items-center hover:opacity-80 transition-opacity",children:e}):jsxRuntime.jsx("div",{className:"flex items-center",children:e})}),v&&jsxRuntime.jsx("form",{onSubmit:T,className:"hidden md:flex flex-1 max-w-md mx-8",children:jsxRuntime.jsx("input",{type:"search","aria-label":M,value:I,onChange:F=>W(F.target.value),placeholder:M,className:"w-full px-4 py-2 rounded-lg border border-gray-300 focus:outline-none focus:ring-2 focus:ring-blue-500 text-gray-900 dark:border-gray-700 dark:bg-gray-800 dark:text-gray-100 dark:placeholder-gray-500"})}),jsxRuntime.jsx("div",{className:"hidden md:flex items-center gap-2",children:n.map((F,A)=>_(F,A,false))}),(o||a)&&jsxRuntime.jsxs("div",{className:"hidden md:flex items-center gap-2 ml-4",children:[o,a]}),n.length>0&&jsxRuntime.jsx("div",{className:"md:hidden",children:jsxRuntime.jsx("button",{type:"button",className:u("inline-flex rounded-lg border-2 p-2 w-10 h-10 justify-center transition-colors focus:outline-none",s==="default"||s==="transparent"?"text-gray-300 hover:text-white":"text-gray-600 hover:text-gray-900 dark:text-gray-300 dark:hover:text-gray-100"),onClick:O,"aria-label":"Toggle menu","aria-expanded":h,children:jsxRuntime.jsx("svg",{className:"w-5 h-5","aria-hidden":"true",xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 17 14",children:jsxRuntime.jsx("path",{stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"2",d:"M1 1h15M1 7h15M1 13h15"})})})})]}),h&&n.length>0&&jsxRuntime.jsx("div",{className:u("md:hidden border-t animate-in slide-in-from-top duration-300",s==="default"||s==="transparent"?"border-gray-700":"border-gray-200 dark:border-gray-800"),children:jsxRuntime.jsxs("div",{className:"flex flex-col py-2 px-4",children:[v&&jsxRuntime.jsx("form",{onSubmit:T,className:"mb-4",children:jsxRuntime.jsx("input",{type:"search","aria-label":M,value:I,onChange:F=>W(F.target.value),placeholder:M,className:"w-full px-4 py-2 rounded-lg border border-gray-300 focus:outline-none focus:ring-2 focus:ring-blue-500 text-gray-900 dark:border-gray-700 dark:bg-gray-800 dark:text-gray-100 dark:placeholder-gray-500"})}),n.map((F,A)=>_(F,A,true)),(o||a)&&jsxRuntime.jsxs("div",{className:"flex flex-col gap-2 mt-4 pt-4 border-t border-gray-700",children:[o,a]})]})})]})}var Xb=jsxRuntime.jsxs("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",children:[jsxRuntime.jsx("path",{d:"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7"}),jsxRuntime.jsx("path",{d:"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z"})]}),Gb=jsxRuntime.jsxs("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",children:[jsxRuntime.jsx("path",{d:"M19 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h11l5 5v11a2 2 0 0 1-2 2z"}),jsxRuntime.jsx("polyline",{points:"17 21 17 13 7 13 7 21"}),jsxRuntime.jsx("polyline",{points:"7 3 7 8 15 8"})]}),Kb=jsxRuntime.jsxs("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",children:[jsxRuntime.jsx("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),jsxRuntime.jsx("line",{x1:"6",y1:"6",x2:"18",y2:"18"})]}),Ub=jsxRuntime.jsxs("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",children:[jsxRuntime.jsx("polyline",{points:"1 4 1 10 7 10"}),jsxRuntime.jsx("path",{d:"M3.51 15a9 9 0 1 0 2.13-9.36L1 10"})]}),Yb=jsxRuntime.jsxs("svg",{className:"animate-spin h-4 w-4",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",children:[jsxRuntime.jsx("circle",{className:"opacity-25",cx:"12",cy:"12",r:"10"}),jsxRuntime.jsx("path",{className:"opacity-75",d:"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4z",fill:"currentColor"})]}),jb={xs:"w-4 h-4 text-[10px]",sm:"w-5 h-5 text-xs",md:"w-6 h-6 text-sm",lg:"w-7 h-7 text-base"},qb={top:"bottom-full left-1/2 -translate-x-1/2 mb-2",bottom:"top-full left-1/2 -translate-x-1/2 mt-2",left:"right-full top-1/2 -translate-y-1/2 mr-2",right:"left-full top-1/2 -translate-y-1/2 ml-2"},Zb={sm:"w-56",md:"w-72",lg:"w-96",xl:"w-[32rem]"},Qb=[_b__default.default],Jb={h1:({...e})=>jsxRuntime.jsx("h1",{className:"text-xl font-bold mb-2 text-gray-900 dark:text-gray-100",...e}),h2:({...e})=>jsxRuntime.jsx("h2",{className:"text-lg font-semibold mt-4 mb-2 text-gray-900 dark:text-gray-100",...e}),h3:({...e})=>jsxRuntime.jsx("h3",{className:"text-base font-semibold mt-3 mb-1 text-gray-900 dark:text-gray-100",...e}),p:({...e})=>jsxRuntime.jsx("p",{className:"my-1 text-gray-700 dark:text-gray-300",...e}),ul:({...e})=>jsxRuntime.jsx("ul",{className:"list-disc list-inside space-y-1 my-2 text-gray-700 dark:text-gray-300",...e}),ol:({...e})=>jsxRuntime.jsx("ol",{className:"list-decimal list-inside space-y-1 my-2 text-gray-700 dark:text-gray-300",...e}),code:({className:e,children:t,...r})=>!e?.includes("language-")?jsxRuntime.jsx("code",{className:"bg-gray-100 dark:bg-gray-800 px-1.5 py-0.5 rounded text-sm font-mono text-gray-900 dark:text-gray-100",...r,children:t}):jsxRuntime.jsx("code",{className:"block bg-gray-100 dark:bg-gray-800 rounded-lg p-3 my-2 overflow-x-auto text-sm font-mono text-gray-900 dark:text-gray-100",...r,children:t}),pre:({...e})=>jsxRuntime.jsx("pre",{className:"my-2",...e}),a:({...e})=>jsxRuntime.jsx("a",{className:"text-blue-600 dark:text-blue-400 hover:underline",...e}),strong:({...e})=>jsxRuntime.jsx("strong",{className:"font-semibold text-gray-900 dark:text-gray-100",...e}),em:({...e})=>jsxRuntime.jsx("em",{className:"italic",...e}),blockquote:({...e})=>jsxRuntime.jsx("blockquote",{className:"border-l-4 border-gray-300 dark:border-gray-600 pl-4 my-2 italic text-gray-600 dark:text-gray-400",...e})};function mc({content:e,markdown:t=false,position:r="bottom",size:n="sm",className:o="",visible:a=true,editable:s=false,onSave:l,onReset:i,width:d="md",title:c,markdownEditor:p,markdownEditorUnavailableLabel:f}){let m=At(),[g,x]=js.useState(false),[b,v]=js.useState(false),[y,M]=js.useState(""),[w,P]=js.useState(false),[h,E]=js.useState(null),D=js.useRef(null),k=js.useRef(null),I=js.useRef(null),W=js.useRef(null);js.useEffect(()=>{if(!g)return;let N=$=>{D.current&&!D.current.contains($.target)&&k.current&&!k.current.contains($.target)&&(b||x(false));},R=$=>{$.key==="Escape"&&(b?(v(false),M("")):x(false));};return document.addEventListener("mousedown",N),document.addEventListener("keydown",R),()=>{document.removeEventListener("mousedown",N),document.removeEventListener("keydown",R);}},[g,b]),js.useEffect(()=>{b&&I.current&&I.current.focus();},[b]),js.useEffect(()=>()=>{W.current&&clearTimeout(W.current);},[]);let O=js.useCallback(()=>{M(typeof e=="string"?e:""),v(true),E(null);},[e]),L=js.useCallback(()=>{v(false),M(""),E(null);},[]),T=js.useCallback(async()=>{if(!l){E({type:"error",text:"Aucune fonction de sauvegarde fournie"});return}P(true);try{await l(y)?(E({type:"success",text:"Sauvegard\xE9 avec succ\xE8s !"}),v(!1),W.current&&clearTimeout(W.current),W.current=setTimeout(()=>E(null),2e3)):E({type:"error",text:"Erreur lors de la sauvegarde"});}catch{E({type:"error",text:"Erreur lors de la sauvegarde"});}finally{P(false);}},[y,l]),S=js.useCallback(async()=>{if(i&&confirm("\xCAtes-vous s\xFBr de vouloir r\xE9initialiser ce contenu ?")){P(true);try{await i()?(E({type:"success",text:"R\xE9initialis\xE9 avec succ\xE8s !"}),v(!1),W.current&&clearTimeout(W.current),W.current=setTimeout(()=>E(null),2e3)):E({type:"error",text:"Erreur lors de la r\xE9initialisation"});}catch{E({type:"error",text:"Erreur lors de la r\xE9initialisation"});}finally{P(false);}}},[i]),C=e;return a?jsxRuntime.jsxs("div",{className:"relative inline-flex items-center",children:[jsxRuntime.jsx("button",{type:"button",ref:D,onClick:()=>x(!g),className:`
3
- ${jb[n]}
1
+ 'use strict';var el=require('react'),jsxRuntime=require('react/jsx-runtime'),reactDom=require('react-dom'),client=require('react-dom/client'),Ix=require('dompurify'),Ax=require('react-markdown'),zx=require('remark-gfm');function _interopDefault(e){return e&&e.__esModule?e:{default:e}}function _interopNamespace(e){if(e&&e.__esModule)return e;var n=Object.create(null);if(e){Object.keys(e).forEach(function(k){if(k!=='default'){var d=Object.getOwnPropertyDescriptor(e,k);Object.defineProperty(n,k,d.get?d:{enumerable:true,get:function(){return e[k]}});}})}n.default=e;return Object.freeze(n)}var el__namespace=/*#__PURE__*/_interopNamespace(el);var Ix__default=/*#__PURE__*/_interopDefault(Ix);var Ax__default=/*#__PURE__*/_interopDefault(Ax);var zx__default=/*#__PURE__*/_interopDefault(zx);function g(...e){return e.filter(Boolean).join(" ")}var Mc=el.createContext(null),Ic=el.createContext(null);function Ii(){let e=el.useContext(Mc);if(!e)throw new Error("Accordion sub-components must be used within <Accordion>");return e}function Ac(){let e=el.useContext(Ic);if(!e)throw new Error("AccordionTrigger/AccordionContent must be used within <AccordionItem>");return e}var zc={sm:{trigger:"px-3 py-2",content:"px-3 pb-2",text:"text-sm",icon:"w-3.5 h-3.5"},md:{trigger:"px-4 py-3",content:"px-4 pb-3",text:"text-base",icon:"w-4 h-4"},lg:{trigger:"px-5 py-4",content:"px-5 pb-4",text:"text-lg",icon:"w-5 h-5"}},Xg=({className:e})=>jsxRuntime.jsx("svg",{className:e,viewBox:"0 0 20 20",fill:"currentColor","aria-hidden":"true",children:jsxRuntime.jsx("path",{fillRule:"evenodd",d:"M5.23 7.21a.75.75 0 011.06.02L10 11.168l3.71-3.938a.75.75 0 111.08 1.04l-4.25 4.5a.75.75 0 01-1.08 0l-4.25-4.5a.75.75 0 01.02-1.06z",clipRule:"evenodd"})}),Gg={default:"border border-gray-200 dark:border-gray-700 rounded-lg divide-y divide-gray-200 dark:divide-gray-700",bordered:"border-2 border-gray-300 dark:border-gray-600 rounded-lg divide-y divide-gray-300 dark:divide-gray-600",separated:"space-y-2",ghost:""},Kg={default:"",bordered:"",separated:"border border-gray-200 dark:border-gray-700 rounded-lg overflow-hidden",ghost:"border-b border-gray-200 dark:border-gray-700 last:border-b-0"};function Ug({type:e="single",value:t,defaultValue:r,onValueChange:n,collapsible:o=false,variant:a="default",size:s="md",disabled:l=false,iconPosition:i="right",icon:c,hideIcon:d=false,className:u,children:f}){let[m,p]=el.useState(()=>r?Array.isArray(r)?r:[r]:[]),w=t!==void 0,v=w?Array.isArray(t)?t:[t]:m,x=el.useCallback(I=>{let S;e==="single"?v.includes(I)?S=o?[]:[I]:S=[I]:S=v.includes(I)?v.filter(L=>L!==I):[...v,I],w||p(S),n?.(e==="single"?S[0]??"":S);},[e,v,o,w,n]),h=el.useMemo(()=>({openItems:v,toggle:x,variant:a,size:s,disabled:l,iconPosition:i,icon:c??null,hideIcon:d}),[v,x,a,s,l,i,c,d]);return jsxRuntime.jsx(Mc.Provider,{value:h,children:jsxRuntime.jsx("div",{className:g(Gg[a],u),"data-testid":"accordion",children:f})})}function Yg({value:e,disabled:t,className:r,children:n}){let o=Ii(),a=o.openItems.includes(e),s=t??o.disabled,l=el.useId(),i=`accordion-trigger-${l}`,c=`accordion-content-${l}`,d=el.useMemo(()=>({value:e,isOpen:a,disabled:s,triggerId:i,contentId:c}),[e,a,s,i,c]);return jsxRuntime.jsx(Ic.Provider,{value:d,children:jsxRuntime.jsx("div",{className:g(Kg[o.variant],r),"data-state":a?"open":"closed","data-testid":"accordion-item",children:n})})}function qg({className:e,icon:t,children:r}){let n=Ii(),o=Ac(),a=zc[n.size],s=()=>{o.disabled||n.toggle(o.value);},l=d=>{(d.key==="Enter"||d.key===" ")&&(d.preventDefault(),s());},i=t??n.icon??jsxRuntime.jsx(Xg,{className:a.icon}),c=!n.hideIcon&&jsxRuntime.jsx("span",{className:g("shrink-0 text-gray-500 dark:text-gray-400 transition-transform duration-200",o.isOpen&&"rotate-180"),"data-testid":"accordion-icon",children:i});return jsxRuntime.jsxs("button",{type:"button",id:o.triggerId,"aria-expanded":o.isOpen,"aria-controls":o.contentId,disabled:o.disabled,onClick:s,onKeyDown:l,className:g("flex items-center w-full text-left font-medium transition-colors cursor-pointer",a.trigger,a.text,"text-gray-900 dark:text-gray-100",!o.disabled&&"hover:bg-gray-50 dark:hover:bg-gray-800/50",o.disabled&&"opacity-50 cursor-not-allowed",e),"data-testid":"accordion-trigger",children:[n.iconPosition==="left"&&c,jsxRuntime.jsx("span",{className:"flex-1",children:r}),n.iconPosition==="right"&&c]})}function jg({className:e,children:t}){let r=Ii(),n=Ac(),o=zc[r.size],a=el.useRef(null),[s,l]=el.useState(n.isOpen?void 0:0),i=el.useRef(true);return el.useEffect(()=>{if(i.current){i.current=false,l(n.isOpen?void 0:0);return}if(n.isOpen){let c=a.current;if(c){l(c.scrollHeight);let d=setTimeout(()=>l(void 0),200);return ()=>clearTimeout(d)}}else {let c=a.current;c&&(l(c.scrollHeight),requestAnimationFrame(()=>l(0)));}},[n.isOpen]),jsxRuntime.jsx("div",{id:n.contentId,role:"region","aria-labelledby":n.triggerId,className:"overflow-hidden transition-[height] duration-200 ease-in-out",style:{height:s===void 0?"auto":s},"data-testid":"accordion-content","data-state":n.isOpen?"open":"closed",children:jsxRuntime.jsx("div",{ref:a,className:g(o.content,"text-gray-600 dark:text-gray-400",o.text==="text-lg"?"text-base":"text-sm",e),children:t})})}function tp(...e){return e.filter(Boolean).join(" ")}var rp="@synertech/ui/AdvanceDetachable",np=300,op="width=800,height=600,menubar=no,toolbar=no,location=no,status=no,scrollbars=yes,resizable=yes",ap=0;function sp(){return `${Date.now()}-${++ap}-${Math.random().toString(36).slice(2,8)}`}function Wc(e){try{return JSON.stringify(e)}catch{return String(e)}}function Hc(e){try{return JSON.parse(e)}catch{return e}}function ip(e,t){e.querySelectorAll("style").forEach(r=>{let n=t.createElement("style");n.textContent=r.textContent,t.head.appendChild(n);}),e.querySelectorAll('link[rel="stylesheet"]').forEach(r=>{let n=r,o=t.createElement("link");o.rel="stylesheet",o.href=n.href,n.crossOrigin&&(o.crossOrigin=n.crossOrigin),t.head.appendChild(o);}),e.documentElement.className&&(t.documentElement.className=e.documentElement.className),e.body.className&&(t.body.className=e.body.className);}function lp(e,t){let r=new MutationObserver(n=>{for(let o of n)for(let a of Array.from(o.addedNodes))if(a instanceof HTMLStyleElement){let s=t.createElement("style");s.textContent=a.textContent,t.head.appendChild(s);}else if(a instanceof HTMLLinkElement&&a.rel==="stylesheet"){let s=t.createElement("link");s.rel="stylesheet",s.href=a.href,t.head.appendChild(s);}});return r.observe(e.head,{childList:true}),r}function cp(){return typeof BroadcastChannel<"u"}function dp({mode:e,id:t,title:r="",children:n,value:o,defaultValue:a,onValueChange:s,isDetached:l,defaultDetached:i=false,onDetachedChange:c,features:d,target:u,autoFocus:f=true,className:m,detachedBodyClassName:p,disabled:w=false,readOnly:v=false,closeOnMainWindowUnload:x=true,name:h,serialize:I,deserialize:S},L){let R=l!==void 0,[T,y]=el.useState(i),M=R?l:T,k=o!==void 0,[z,H]=el.useState(a),P=k?o:z,[B,C]=el.useState(null),b=el.useRef(null),E=el.useRef(null),N=el.useRef(null),W=el.useRef(null),F=el.useRef(false),K=el.useRef(null),j=el.useRef(null),A=el.useRef(null),[D]=el.useState(()=>`${Date.now().toString(36)}-${Math.random().toString(36).slice(2,8)}`),V=el.useRef({title:r,features:d,target:u,autoFocus:f,detachedBodyClassName:p,closeOnMainWindowUnload:x,disabled:w,readOnly:v,mode:e,id:t});V.current={title:r,features:d,target:u,autoFocus:f,detachedBodyClassName:p,closeOnMainWindowUnload:x,disabled:w,readOnly:v,mode:e,id:t};let O=el.useRef(I??Wc);O.current=I??Wc;let _=el.useRef(S??Hc);_.current=S??Hc;let X=el.useRef(s);X.current=s;let G=el.useRef(c);G.current=c;let $=el.useRef(M);$.current=M;let Y=`${rp}/${t}`,se=el.useCallback(()=>{N.current&&(clearInterval(N.current),N.current=null),W.current&&(W.current.disconnect(),W.current=null),C(null);},[]),ae=el.useCallback(()=>{E.current&&(E.current.close(),E.current=null),K.current&&typeof window<"u"&&(window.removeEventListener("message",K.current),K.current=null);},[]),U=el.useCallback(Ie=>{if(!(!Ie||Ie.channel!==Y)&&Ie.instanceId!==D&&!V.current.readOnly&&Ie.type==="value-sync"&&Ie.payload!==void 0){j.current=Ie.payload;let we=_.current(Ie.payload);k||H(we),X.current?.(we);}},[Y,D,k]),Q=el.useCallback(()=>{if(ae(),!(typeof window>"u"))if(cp()){let Ie=new BroadcastChannel(Y),we=pt=>U(pt.data);Ie.addEventListener("message",we),E.current=Ie;}else {let Ie=we=>{we.data?.channel===Y&&U(we.data);};window.addEventListener("message",Ie),K.current=Ie;}},[Y,ae,U]),le=el.useCallback(Ie=>{if(V.current.readOnly)return;let we=O.current(Ie);if(we===A.current)return;if(we===j.current){j.current=null;return}A.current=we;let pt={channel:Y,instanceId:D,messageId:sp(),origin:"main",timestamp:Date.now(),type:"value-sync",payload:we};E.current?E.current.postMessage(pt):b.current&&!b.current.closed&&b.current.postMessage(pt,"*");},[Y,D]),ye=el.useCallback(()=>{if(typeof window>"u"||V.current.disabled||F.current||b.current&&!b.current.closed)return;F.current=true;let Ie=V.current,we=window.open("",Ie.target||"",Ie.features||op);if(!we){F.current=false;return}b.current=we,we.document.title=Ie.title||document.title,Ie.detachedBodyClassName&&(we.document.body.className=Ie.detachedBodyClassName);let pt=we.document.createElement("div");we.document.body.appendChild(pt),C(pt),ip(document,we.document),W.current=lp(document,we.document),N.current=setInterval(()=>{we.closed&&(se(),b.current=null,R||y(false),G.current?.(false));},np),Ie.autoFocus&&we.focus(),F.current=false;},[R,se]),te=el.useCallback(()=>{b.current&&!b.current.closed&&b.current.close(),b.current=null,se();},[se]),Ce=el.useRef(ye);Ce.current=ye;let Pe=el.useRef(te);Pe.current=te;let Se=el.useRef(le);Se.current=le;let De=el.useCallback(()=>{V.current.disabled||(R||y(true),G.current?.(true));},[R]),Ne=el.useCallback(()=>{R||y(false),G.current?.(false);},[R]),re=el.useCallback(()=>{let Ie=!$.current;Ie&&V.current.disabled||(R||y(Ie),G.current?.(Ie));},[R]);el.useImperativeHandle(L,()=>({open:De,close:Ne,toggle:re,get isDetached(){return $.current},get window(){return b.current}}),[De,Ne,re]),el.useEffect(()=>(Q(),()=>ae()),[Q,ae]),el.useEffect(()=>{if(M)return Ce.current(),()=>Pe.current();Pe.current();},[M]),el.useEffect(()=>{P!==void 0&&Se.current(P);},[P]),el.useEffect(()=>{b.current&&!b.current.closed&&r&&(b.current.document.title=r);},[r]),el.useEffect(()=>{if(typeof window>"u")return;let Ie=()=>{V.current.closeOnMainWindowUnload&&b.current&&!b.current.closed&&b.current.close();};return window.addEventListener("beforeunload",Ie),()=>{window.removeEventListener("beforeunload",Ie),b.current&&!b.current.closed&&b.current.close(),b.current=null;}},[]);let fe=typeof n=="function"?n({open:De,close:Ne,toggle:re,detached:M,windowRef:b.current}):n,je=e==="clone"||!M,Dt=M&&B!==null;return jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[h&&P!==void 0&&jsxRuntime.jsx("input",{type:"hidden",name:h,value:O.current(P)}),je&&jsxRuntime.jsx("div",{className:tp(m),children:fe}),Dt&&reactDom.createPortal(fe,B)]})}var Vc=el.forwardRef(dp);Vc.displayName="AdvanceDetachable";var Oc={closeModal:"Close modal",closeDrawer:"Close drawer",closeSidebar:"Close sidebar",openSidebar:"Open sidebar",expandSidebar:"Expand sidebar",collapseSidebar:"Collapse sidebar",sidebar:"Sidebar",enterFullScreen:"Enter full screen",exitFullScreen:"Exit full screen",confirm:"Confirm",cancel:"Cancel",markdownEditorUnavailable:"Markdown editor unavailable. Pass markdownEditor from @synertech/ui/markdown-editor.",chartShowTable:"Show data table",chartHideTable:"Hide data table",chartNoData:"No data",chartLoading:"Loading chart",chartOther:"Other",chartValue:"Value",chartTarget:"Target",chartIncrease:"Increase",chartDecrease:"Decrease",chartRunningTotal:"Running total",chartConversion:"Conversion",chartDropOff:"Drop-off",chartChange:"Change",chartMedian:"Median",chartCount:"Count",chartOutliers:"Outliers",chartOpen:"Open",chartHigh:"High",chartLow:"Low",chartClose:"Close",chartRise:"Up",chartFall:"Down",chartStart:"Start",chartEnd:"End",chartProgress:"Progress",chartToday:"Today",chartAnnotations:"Annotations",chartFilters:"Filters",chartPeriod:"Period",chartPeriodLast7Days:"Last 7 days",chartPeriodLast30Days:"Last 30 days",chartPeriodLast90Days:"Last 90 days",chartPeriodLast12Months:"Last 12 months",chartPeriodMonthToDate:"Month to date",chartPeriodQuarterToDate:"Quarter to date",chartPeriodYearToDate:"Year to date",chartPeriodCustom:"Custom range"},fp={closeModal:"Fermer la fen\xEAtre",closeDrawer:"Fermer le panneau",closeSidebar:"Fermer le menu lat\xE9ral",openSidebar:"Ouvrir le menu lat\xE9ral",expandSidebar:"D\xE9plier le menu lat\xE9ral",collapseSidebar:"Replier le menu lat\xE9ral",sidebar:"Menu lat\xE9ral",enterFullScreen:"Passer en plein \xE9cran",exitFullScreen:"Quitter le plein \xE9cran",confirm:"Confirmer",cancel:"Annuler",markdownEditorUnavailable:"\xC9diteur Markdown indisponible. Passez markdownEditor depuis @synertech/ui/markdown-editor.",chartShowTable:"Afficher le tableau de donn\xE9es",chartHideTable:"Masquer le tableau de donn\xE9es",chartNoData:"Aucune donn\xE9e",chartLoading:"Chargement du graphique",chartOther:"Autres",chartValue:"Valeur",chartTarget:"Objectif",chartIncrease:"Hausse",chartDecrease:"Baisse",chartRunningTotal:"Cumul",chartConversion:"Conversion",chartDropOff:"D\xE9perdition",chartChange:"\xC9cart",chartMedian:"M\xE9diane",chartCount:"Effectif",chartOutliers:"Valeurs aberrantes",chartOpen:"Ouverture",chartHigh:"Haut",chartLow:"Bas",chartClose:"Cl\xF4ture",chartRise:"Hausse",chartFall:"Baisse",chartStart:"D\xE9but",chartEnd:"Fin",chartProgress:"Avancement",chartToday:"Aujourd'hui",chartAnnotations:"Annotations",chartFilters:"Filtres",chartPeriod:"P\xE9riode",chartPeriodLast7Days:"7 derniers jours",chartPeriodLast30Days:"30 derniers jours",chartPeriodLast90Days:"90 derniers jours",chartPeriodLast12Months:"12 derniers mois",chartPeriodMonthToDate:"Mois en cours",chartPeriodQuarterToDate:"Trimestre en cours",chartPeriodYearToDate:"Ann\xE9e en cours",chartPeriodCustom:"P\xE9riode personnalis\xE9e"},Ai=el.createContext(Oc);function hp({labels:e,children:t}){let r=el.useContext(Ai),n=el.useMemo(()=>({...r,...e}),[r,e]);return jsxRuntime.jsx(Ai.Provider,{value:n,children:t})}function We(){return el.useContext(Ai)}function tr(e,t=11){return e.length*t*.6}function wr(e,t=11){let r=0;for(let n of e){let o=tr(n,t);o>r&&(r=o);}return r}function ha(e,t,r,n=12){if(e<=1||t<=0)return 1;let o=r+n,a=Math.max(1,Math.floor(t/o));return Math.max(1,Math.ceil(e/a))}var cs=10,us=15,ba=5,Qn=6,ls=4,yp=.1;function zi({x:e,y:t,text:r,align:n}){let o=tr(r,cs)+ba*2,a=n==="start"?e:e-o;return jsxRuntime.jsxs("g",{children:[jsxRuntime.jsx("rect",{x:a,y:t,width:o,height:us,rx:3,className:"fill-white stroke-gray-200 dark:fill-gray-800 dark:stroke-gray-700",strokeWidth:1}),jsxRuntime.jsx("text",{x:a+ba,y:t+us/2,dominantBaseline:"central",className:"fill-gray-600 text-[10px] dark:fill-gray-300",children:r})]})}function tn({annotations:e,xAt:t,yAt:r,width:n,height:o,bandwidth:a=0,layer:s="over"}){if(e.length===0)return null;if(s==="under"){let i=e.filter(c=>c.type==="band");return i.length===0?null:jsxRuntime.jsx("g",{"aria-hidden":"true",children:i.map((c,d)=>{let u=t(c.from),f=t(c.to);if(u===null||f===null)return null;let m=Math.max(0,Math.min(u,f)-a/2),w=Math.min(n,Math.max(u,f)+a/2)-m;if(w<=0)return null;let v=c.label??"",x=tr(v,cs)+ba*2;return jsxRuntime.jsxs("g",{children:[jsxRuntime.jsx("rect",{x:m,y:0,width:w,height:o,fill:c.color??"var(--color-chart-muted)",opacity:yp}),v&&x<=w?jsxRuntime.jsx(zi,{x:m+2,y:2,text:v,align:"start"}):null]},`band-${d}`)})})}let l=e.filter(i=>i.type!=="band");return l.length===0?null:jsxRuntime.jsx("g",{"aria-hidden":"true",children:l.map((i,c)=>{let d=t(i.x);if(d===null)return null;let u=i.color??"var(--color-chart-muted)";if(i.type==="line"){let x=i.label??"",h=tr(x,cs)+ba*2,I=d+Qn+h<=n?"start":"end";return jsxRuntime.jsxs("g",{children:[jsxRuntime.jsx("line",{x1:d,y1:0,x2:d,y2:o,stroke:u,strokeWidth:1,strokeDasharray:i.dashed===false?void 0:"3 3"}),x?jsxRuntime.jsx(zi,{x:I==="start"?d+Qn:d-Qn,y:2,text:x,align:I}):null]},`line-${c}`)}let f=r(i.y);if(!Number.isFinite(f))return null;let m=i.label??"",p=tr(m,cs)+ba*2,w=d+ls+Qn+p<=n?"start":"end",v=Math.min(Math.max(0,f-us-Qn),o-us);return jsxRuntime.jsxs("g",{children:[jsxRuntime.jsx("circle",{cx:d,cy:f,r:ls,fill:"none",stroke:u,strokeWidth:2}),m?jsxRuntime.jsx(zi,{x:w==="start"?d+ls+Qn:d-ls-Qn,y:v,text:m,align:w}):null]},`point-${c}`)})})}function Jn(e,t){if(!e||e.length===0)return "";let r=e.map(n=>n.label).filter(n=>!!n);return r.length===0?"":`${t}: ${r.join(", ")}`}var xp=10,vp={sm:"text-[10px]",md:"text-[11px]",lg:"text-xs"};function Ue({orientation:e,ticks:t,length:r,showLine:n=true,tickSize:o=4,tickPadding:a=6,label:s,size:l="md",className:i,...c}){let d=e==="bottom";return jsxRuntime.jsxs("g",{className:g(vp[l],i),"aria-hidden":"true",...c,children:[n&&jsxRuntime.jsx("line",{x1:0,y1:0,x2:d?r:0,y2:d?0:r,className:"stroke-gray-300 dark:stroke-gray-600",strokeWidth:1,shapeRendering:"crispEdges"}),t.map(u=>{let f=d?u.offset:0,m=d?0:u.offset;return jsxRuntime.jsxs("g",{transform:`translate(${f}, ${m})`,children:[o>0?jsxRuntime.jsx("line",{x1:0,y1:0,x2:d?0:-o,y2:d?o:0,className:"stroke-gray-300 dark:stroke-gray-600",strokeWidth:1}):null,jsxRuntime.jsx("text",{x:d?0:-(o+a),y:d?o+a:0,textAnchor:d?"middle":"end",dominantBaseline:d?"hanging":"middle",className:"fill-gray-500 dark:fill-gray-400 [font-variant-numeric:tabular-nums]",children:u.label})]},`${u.label}-${u.offset}`)}),s?jsxRuntime.jsx("text",{x:d?r/2:0,y:d?o+a+16:0,textAnchor:"middle",dominantBaseline:d?"hanging":"middle",transform:d?void 0:`translate(${-(o+a+wr(t.map(u=>u.label))+xp)}, ${r/2}) rotate(-90)`,className:"fill-gray-600 dark:fill-gray-300 font-medium",children:s}):null]})}var Cp={default:"stroke-gray-500 dark:stroke-gray-400",primary:"stroke-blue-600 dark:stroke-blue-500",success:"stroke-green-600 dark:stroke-green-500",warning:"stroke-yellow-500 dark:stroke-yellow-400",error:"stroke-red-600 dark:stroke-red-500",info:"stroke-cyan-600 dark:stroke-cyan-500"},kp={default:"text-gray-700 dark:text-gray-300",primary:"text-blue-600 dark:text-blue-400",success:"text-green-600 dark:text-green-400",warning:"text-yellow-600 dark:text-yellow-400",error:"text-red-600 dark:text-red-400",info:"text-cyan-600 dark:text-cyan-400"},wp={xs:24,sm:32,md:48,lg:64,xl:96},Np={xs:"text-[8px]",sm:"text-[10px]",md:"text-sm",lg:"text-base",xl:"text-xl"},Sp={thin:2,normal:4,thick:8};function Po({value:e=0,indeterminate:t=false,size:r="md",thickness:n="normal",color:o="primary",progressColor:a,trackColor:s,showValue:l=false,children:i,valueFormat:c,animated:d=true,className:u,...f}){let m=Math.min(100,Math.max(0,e)),p=wp[r],w=Sp[n],v=(p-w)/2,x=2*Math.PI*v,h=p/2,I=x-m/100*x,S=a||Cp[o],L=s||"stroke-gray-200 dark:stroke-gray-700",R=kp[o],T=i??(l&&!t?jsxRuntime.jsx("span",{className:g("font-semibold",Np[r],R),children:c?c(m):`${Math.round(m)}%`}):null);return jsxRuntime.jsxs("div",{className:g("relative inline-flex items-center justify-center",u),role:"progressbar","aria-valuenow":t?void 0:m,"aria-valuemin":0,"aria-valuemax":100,...f,children:[jsxRuntime.jsxs("svg",{width:p,height:p,viewBox:`0 0 ${p} ${p}`,className:g(t&&"animate-spin"),style:{transform:"rotate(-90deg)"},children:[jsxRuntime.jsx("circle",{cx:h,cy:h,r:v,fill:"none",strokeWidth:w,className:L}),jsxRuntime.jsx("circle",{cx:h,cy:h,r:v,fill:"none",strokeWidth:w,strokeLinecap:"round",strokeDasharray:x,strokeDashoffset:t?x*.75:I,className:g(S,d&&!t&&"transition-[stroke-dashoffset] duration-300 ease-out")})]}),T&&jsxRuntime.jsx("div",{className:"absolute inset-0 flex items-center justify-center",style:{transform:"rotate(0deg)"},children:T})]})}Po.displayName="CircularProgress";var Xc=640;function Wi(e={}){let{width:t,fallbackWidth:r=Xc}=e,n=el.useRef(null),[o,a]=el.useState(0);return el.useEffect(()=>{if(t!==void 0)return;let s=n.current;if(!s)return;let l=c=>{a(d=>Math.abs(d-c)<1?d:c);};if(l(s.getBoundingClientRect().width),typeof ResizeObserver>"u")return;let i=new ResizeObserver(c=>{for(let d of c)l(d.contentRect.width);});return i.observe(s),()=>i.disconnect()},[t]),t!==void 0?{ref:n,width:t,measured:true}:{ref:n,width:o>0?o:r,measured:o>0}}var Ep={sm:"text-xs",md:"text-sm",lg:"text-base"};function lt({title:e,description:t,height:r=240,width:n,size:o="md",legend:a,legendPosition:s="bottom",actions:l,loading:i=false,empty:c=false,emptyState:d,table:u,tableView:f=false,showTableLabel:m,hideTableLabel:p,noDataLabel:w,loadingLabel:v,ariaLabel:x,children:h,className:I,...S}){let L=We(),[R,T]=el.useState(false),y=el.useId(),M=`${y}-table`,k=`${y}-title`,z=`${y}-description`,{ref:H,width:P,measured:B}=Wi({width:n}),C=!!u&&f==="toggle",b=!!u&&(f===true||C&&R),W=jsxRuntime.jsx("div",{ref:H,className:"relative w-full",style:{height:r},"aria-busy":i||void 0,children:i&&c?jsxRuntime.jsx("div",{className:"flex h-full w-full items-center justify-center",children:jsxRuntime.jsx(Po,{indeterminate:true,size:"md","aria-label":v??L.chartLoading})}):c&&!i?jsxRuntime.jsx("div",{className:"flex h-full w-full items-center justify-center text-sm text-gray-500 dark:text-gray-400",children:d??w??L.chartNoData}):jsxRuntime.jsx("div",{className:g("h-full w-full transition-opacity duration-200",i&&"opacity-60"),children:typeof h=="function"?h({width:P,height:r,measured:B}):h})});return jsxRuntime.jsxs("figure",{className:g("flex w-full flex-col gap-3",I),"aria-label":x,"aria-labelledby":!x&&e?k:void 0,"aria-describedby":t?z:void 0,...S,children:[e||t||l?jsxRuntime.jsxs("figcaption",{className:"flex items-start justify-between gap-3",children:[jsxRuntime.jsxs("div",{className:"flex flex-col gap-0.5",children:[e?jsxRuntime.jsx("span",{id:k,className:g("font-semibold text-gray-900 dark:text-gray-100",Ep[o]),children:e}):null,t?jsxRuntime.jsx("span",{id:z,className:"text-xs text-gray-500 dark:text-gray-400",children:t}):null]}),l]}):null,a&&s==="top"?a:null,a&&s==="right"?jsxRuntime.jsxs("div",{className:"flex items-start gap-4",children:[jsxRuntime.jsx("div",{className:"min-w-0 grow",children:W}),a]}):W,a&&s==="bottom"?a:null,C&&jsxRuntime.jsx("div",{className:"flex",children:jsxRuntime.jsx("button",{type:"button",onClick:()=>T(F=>!F),"aria-expanded":R,"aria-controls":b?M:void 0,className:"cursor-pointer rounded-sm text-xs font-medium text-gray-600 underline underline-offset-2 hover:text-gray-900 focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-blue-500 dark:text-gray-400 dark:hover:text-white",children:R?p??L.chartHideTable:m??L.chartShowTable})}),b&&jsxRuntime.jsx("div",{id:M,children:u})]})}var Gc=[];function _t({width:e,height:t,horizontal:r=Gc,vertical:n=Gc,className:o,...a}){return jsxRuntime.jsxs("g",{className:g("stroke-gray-200 dark:stroke-gray-700",o),strokeWidth:1,shapeRendering:"crispEdges","aria-hidden":"true",...a,children:[r.map(s=>jsxRuntime.jsx("line",{x1:0,y1:s,x2:e,y2:s},`h-${s}`)),n.map(s=>jsxRuntime.jsx("line",{x1:s,y1:0,x2:s,y2:t},`v-${s}`))]})}var eo="var(--color-chart-surface)",Hi=["solid","diagonal","diagonal-reverse","cross","dots","diagonal-wide","diagonal-reverse-wide","dots-wide"],Yc={solid:null,diagonal:{tile:6,rotate:45,stroke:2},"diagonal-reverse":{tile:6,rotate:-45,stroke:2},cross:{tile:6,rotate:45,stroke:1.25,crossed:true},dots:{tile:6,rotate:0,stroke:0,dot:1.5},"diagonal-wide":{tile:10,rotate:45,stroke:3},"diagonal-reverse-wide":{tile:10,rotate:-45,stroke:3},"dots-wide":{tile:10,rotate:0,stroke:0,dot:2.6}};function hs(e){return !Number.isFinite(e)||e<0?"solid":Hi[Math.floor(e)%Hi.length]}function fs(e,t){return `${e.replace(/[^a-zA-Z0-9_-]/g,"")}-texture-${Math.max(0,Math.floor(t))}`}function to(e,t,r,n){return !e||hs(r)==="solid"?n:`url(#${fs(t,r)})`}function ro({id:e,entries:t}){return jsxRuntime.jsx("defs",{children:t.map(({slot:r,color:n})=>{let o=Yc[hs(r)];if(!o)return null;let{tile:a,rotate:s,stroke:l,crossed:i,dot:c}=o;return jsxRuntime.jsxs("pattern",{id:fs(e,r),width:a,height:a,patternUnits:"userSpaceOnUse",patternTransform:s===0?void 0:`rotate(${s})`,children:[jsxRuntime.jsx("rect",{width:a,height:a,fill:n}),c?jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx("circle",{cx:a/4,cy:a/4,r:c,fill:eo}),jsxRuntime.jsx("circle",{cx:a*3/4,cy:a*3/4,r:c,fill:eo})]}):null,l>0?jsxRuntime.jsx("line",{x1:a/2,y1:0,x2:a/2,y2:a,stroke:eo,strokeWidth:l}):null,i?jsxRuntime.jsx("line",{x1:0,y1:a/2,x2:a,y2:a/2,stroke:eo,strokeWidth:l}):null]},fs(e,r))})})}function Bi(e,t){let r=Yc[hs(e)];if(!r)return {backgroundColor:t};let{tile:n,rotate:o,stroke:a,crossed:s,dot:l}=r;if(l)return {backgroundColor:t,backgroundImage:`radial-gradient(${eo} ${l-.4}px, transparent ${l}px)`,backgroundSize:`${n/2}px ${n/2}px`};let i=c=>`repeating-linear-gradient(${c}deg, ${eo} 0 ${a}px, transparent ${a}px ${n}px)`;return {backgroundColor:t,backgroundImage:s?`${i(o)}, ${i(o+90)}`:i(o)}}var Ap={line:"h-0.5 w-3 rounded-full",rect:"h-2.5 w-2.5 rounded-sm",dot:"h-2 w-2 rounded-full"},zp={sm:"text-[11px]",md:"text-xs",lg:"text-sm"};function Xt({items:e,position:t="bottom",marker:r="line",onToggle:n,size:o="md",className:a,...s}){return e.length===0?null:jsxRuntime.jsx("ul",{className:g("flex list-none flex-wrap gap-x-4 gap-y-1 p-0",t==="right"?"flex-col":"flex-row",t==="top"||t==="bottom"?"justify-center":"",zp[o],a),...s,children:e.map(l=>{let i=l.pattern!==void 0&&(l.marker??r)==="rect",c=jsxRuntime.jsx("span",{className:g("shrink-0",i?"h-3 w-3.5 rounded-sm":Ap[l.marker??r]),style:i?Bi(l.pattern,l.color):{backgroundColor:l.color},"aria-hidden":"true"}),d=jsxRuntime.jsx("span",{className:g(l.hidden&&"line-through"),children:l.label}),u=jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[c,d]}),f=g("flex items-center gap-1.5 text-gray-600 dark:text-gray-300",l.hidden&&"text-gray-400 dark:text-gray-500");return jsxRuntime.jsx("li",{children:n?jsxRuntime.jsx("button",{type:"button",onClick:()=>n(l.key),"aria-pressed":!l.hidden,className:g(f,"cursor-pointer rounded-sm hover:text-gray-900 focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-blue-500 dark:hover:text-white"),children:u}):jsxRuntime.jsx("span",{className:f,children:u})},l.key)})})}function fn({children:e,className:t,...r}){return jsxRuntime.jsx("table",{className:g("w-full text-sm text-left rtl:text-right text-gray-500 dark:text-gray-400",t),...r,children:e})}function hn({children:e,className:t,...r}){return jsxRuntime.jsx("tbody",{className:g(t),...r,children:e})}function Gt({children:e,onClick:t,hidden:r=false,className:n,...o}){return jsxRuntime.jsx("td",{className:g("px-6 py-4",n),onClick:t,hidden:r,...o,children:e})}function bn({children:e,className:t,...r}){return jsxRuntime.jsx("thead",{className:g("text-xs text-gray-700 uppercase bg-gray-50 dark:bg-gray-700 dark:text-gray-400",t),...r,children:jsxRuntime.jsx("tr",{children:e})})}function St({children:e,onClick:t,hidden:r=false,className:n,sortable:o=false,...a}){return jsxRuntime.jsx("th",{scope:"col",className:g("px-6 py-3",o&&"cursor-pointer hover:bg-gray-100 dark:hover:bg-gray-600",n),onClick:t,hidden:r,...a,children:e})}function yn({children:e,onClick:t,clickable:r=true,className:n,...o}){return jsxRuntime.jsx("tr",{className:g("bg-white border-b dark:bg-gray-800 dark:border-gray-700",r&&"hover:bg-gray-50 hover:cursor-pointer dark:hover:bg-gray-600",n),onClick:t,...o,children:e})}var _p=8,bs=["var(--color-chart-1)","var(--color-chart-2)","var(--color-chart-3)","var(--color-chart-4)","var(--color-chart-5)","var(--color-chart-6)","var(--color-chart-7)","var(--color-chart-8)"],Pr="var(--color-chart-muted)",Fi="var(--color-chart-up)",Oi="var(--color-chart-down)",oo=3,jc=false;function Dr(e,t){return t||(e<0||e>=8?(jc||(jc=true,console.warn('[@synertech/ui] A chart was given more than 8 series. Extra series share the de-emphasis grey: fold the tail into an "Other" bucket, or split the chart, instead of relying on a ninth colour.')),Pr):bs[e])}function Lr(e,t,r){return r&&e.key!==r?Pr:Dr(t,e.color)}function Kt(e){return e.label??e.key}function $r(e,t,r=false){return e.map((n,o)=>({key:n.key,label:Kt(n),color:Lr(n,o,t),hidden:n.hidden,...n.type==="line"?{marker:"line"}:{},...r&&n.type!=="line"?{pattern:o}:{}}))}var Vi=["var(--color-chart-seq-1)","var(--color-chart-seq-2)","var(--color-chart-seq-3)","var(--color-chart-seq-4)","var(--color-chart-seq-5)","var(--color-chart-seq-6)"],ya=["var(--color-chart-ord-1)","var(--color-chart-ord-2)","var(--color-chart-ord-3)","var(--color-chart-ord-4)","var(--color-chart-ord-5)"],no=["var(--color-chart-div-1)","var(--color-chart-div-2)","var(--color-chart-div-3)","var(--color-chart-div-4)","var(--color-chart-div-5)","var(--color-chart-div-6)","var(--color-chart-div-7)"],Zc=3,Qc=[false,false,false,false,true,true],$i=[false,false,true,true,true],Jc=[true,false,false,false,false,false,true],ys=7;function xa(e){return Number.isFinite(e)?e<0?0:e>1?1:e:0}function Eo(e,t){if(e.length===0)return Pr;if(e.length===1)return e[0];let r=xa(t)*(e.length-1),n=Math.min(e.length-2,Math.floor(r)),o=r-n;if(o<=.005)return e[n];if(o>=.995)return e[n+1];let a=Math.round(o*1e3)/10;return `color-mix(in oklab, ${e[n+1]} ${a}%, ${e[n]})`}function Xp(e,t){return t<=1?.5:Math.min(t-1,Math.floor(xa(e)*t))/(t-1)}function ed(e,t,r,n,o){let a=l=>{let i=n(l);return r===null?i:Xp(i,r)},s=(l=>Number.isFinite(l)?Eo(t,a(l)):Pr);return Object.defineProperties(s,{domain:{value:[e[0],e[1]],enumerable:true},colors:{value:t,enumerable:true},steps:{value:r,enumerable:true},position:{value:l=>Number.isFinite(l)?a(l):0,enumerable:true},onDark:{value:l=>{if(!Number.isFinite(l)||o.length===0)return false;let i=Math.round(a(l)*(o.length-1));return o[i]??false},enumerable:true}}),s}function va(e,t={}){let{steps:r,colors:n=Vi,darkStops:o}=t,[a,s]=e,l=s-a;return ed(e,n,r??null,i=>l===0?0:(i-a)/l,o??(n===Vi?Qc:[]))}function Mo(e,t={}){let{steps:r,colors:n=no,darkStops:o,center:a=0,symmetric:s=true}=t,[l,i]=e;if(s){let u=Math.max(Math.abs(i-a),Math.abs(a-l));l=a-u,i=a+u;}let c=n===no?Zc:(n.length-1)/2,d=n.length-1;return ed([l,i],n,r??null,u=>{if(u>=a){let p=i-a,w=p<=0?0:xa((u-a)/p);return (c+w*(d-c))/d}let f=a-l,m=f<=0?0:xa((a-u)/f);return (c-m*c)/d},o??(n===no?Jc:[]))}function Gp(e,t=ya.length,r=ya){return t<=1?r[r.length-1]??Pr:Eo(r,xa(e/(t-1)))}function Ee(e,t){let r=e[t];if(r==null||r==="")return null;if(typeof r=="number")return Number.isFinite(r)?r:null;if(typeof r=="boolean")return r?1:0;if(typeof r=="string"){let n=Number(r);return Number.isFinite(n)?n:null}return null}function ct(e,t,r){let n=e[t];return n instanceof Date||typeof n=="number"||typeof n=="string"?n:n==null?r:String(n)}function fr(e,t){let r=[];for(let n of e)for(let o of t)r.push(Ee(n,o));return r}function Ca(e,t={}){if(!Number.isFinite(e))return "\u2014";let{locale:r,compact:n,currency:o,unit:a,minimumFractionDigits:s,maximumFractionDigits:l}=t,i=new Intl.NumberFormat(r,{notation:n?"compact":"standard",...o?{style:"currency",currency:o}:{},...s!==void 0?{minimumFractionDigits:s}:{},...l!==void 0?{maximumFractionDigits:l}:n?{maximumFractionDigits:1}:{}}).format(e);return a?`${i}${a}`:i}function Kp(e,t){return Ca(e,{locale:t,compact:true})}function nt(e,t){return Number.isFinite(e)?Math.abs(e)<1e4?Ca(e,{locale:t}):Kp(e,t):"\u2014"}function Ut(e,t={}){if(!Number.isFinite(e))return "\u2014";let{locale:r,maximumFractionDigits:n=1,alreadyScaled:o,signed:a}=t;return new Intl.NumberFormat(r,{style:"percent",maximumFractionDigits:n,...a?{signDisplay:"exceptZero"}:{}}).format(o?e/100:e)}function Ze(e,t){return e instanceof Date?new Intl.DateTimeFormat(t,{day:"2-digit",month:"short"}).format(e):typeof e=="number"?Ca(e,{locale:t}):e}function zt({data:e,series:t,xKey:r,xLabel:n,formatX:o,formatValue:a,caption:s,emptyLabel:l,className:i,...c}){let d=t.filter(m=>!m.hidden);if(e.length===0||d.length===0)return jsxRuntime.jsx("div",{className:g("text-sm text-gray-500 dark:text-gray-400",i),...c,children:l});let u=(m,p)=>{let w=ct(m,r,p);return o?o(w,p):Ze(w)},f=m=>m===null?"\u2014":a?a(m):Ca(m);return jsxRuntime.jsx("div",{className:g("w-full overflow-x-auto",i),...c,children:jsxRuntime.jsxs(fn,{children:[s?jsxRuntime.jsx("caption",{className:"sr-only",children:s}):null,jsxRuntime.jsxs(bn,{children:[jsxRuntime.jsx(St,{children:n??r}),d.map(m=>jsxRuntime.jsx(St,{className:"text-right",children:Kt(m)},m.key))]}),jsxRuntime.jsx(hn,{children:e.map((m,p)=>jsxRuntime.jsxs(yn,{clickable:false,children:[jsxRuntime.jsx(Gt,{className:"font-medium text-gray-900 dark:text-gray-100",children:u(m,p)}),d.map(w=>jsxRuntime.jsx(Gt,{className:"text-right [font-variant-numeric:tabular-nums]",children:f(Ee(m,w.key))},w.key))]},p))})]})})}function dt({x:e,y:t,visible:r=true,containerWidth:n,offset:o=12,className:a,style:s,children:l,...i}){if(!r)return null;let c=n!==void 0&&e>n*.6;return jsxRuntime.jsx("div",{role:"tooltip",className:g("pointer-events-none absolute top-0 left-0 z-10 min-w-24 rounded-md border border-gray-200 bg-white px-2.5 py-2 text-xs shadow-lg dark:border-gray-700 dark:bg-gray-800",a),style:{transform:`translate(${c?e-o:e+o}px, ${t}px) translate(${c?"-100%":"0"}, -50%)`,...s},...i,children:l})}function Nr({title:e,points:t}){return jsxRuntime.jsxs("div",{className:"flex flex-col gap-1",children:[e!=null&&jsxRuntime.jsx("div",{className:"font-medium text-gray-900 dark:text-gray-100",children:e}),jsxRuntime.jsx("div",{className:"flex flex-col gap-0.5",children:t.map(r=>jsxRuntime.jsxs("div",{className:"flex items-center gap-2",children:[jsxRuntime.jsx("span",{className:"h-0.5 w-3 shrink-0 rounded-full",style:{backgroundColor:r.color},"aria-hidden":"true"}),jsxRuntime.jsx("span",{className:"grow text-gray-500 dark:text-gray-400",children:r.seriesLabel}),jsxRuntime.jsx("span",{className:"font-semibold text-gray-900 [font-variant-numeric:tabular-nums] dark:text-gray-100",children:r.formattedValue})]},r.seriesKey))})]})}function ft(e){return e instanceof Date?e.toISOString():String(e)}function _r(e){if(e instanceof Date)return e.getTime();if(typeof e=="number")return e;let t=Number(e);return Number.isFinite(t)?t:Number.NaN}function Er(e,t){let[r,n]=e,[o,a]=t,s=n-r,l=s===0?0:(a-o)/s,i=(c=>Number.isFinite(c)?s===0?(o+a)/2:o+(c-r)*l:Number.NaN);return Object.defineProperties(i,{domain:{value:[r,n],enumerable:true},range:{value:[o,a],enumerable:true},invert:{value:c=>l===0?r:r+(c-o)/l,enumerable:true}}),i}function xn(e,t,r={}){let{paddingInner:n=.2,paddingOuter:o=n/2}=r,[a,s]=t,l=e.length,i=l===0?0:(s-a)/Math.max(1,l-n+o*2),c=i*(1-n),d=a+(s-a-i*(l-n))/2,u=new Map;e.forEach((p,w)=>{u.has(ft(p))||u.set(ft(p),w);});let f=p=>d+i*p,m=(p=>{let w=u.get(ft(p));return w===void 0?Number.NaN:f(w)});return Object.defineProperties(m,{bandwidth:{value:c,enumerable:true},step:{value:i,enumerable:true},domain:{value:e,enumerable:true},range:{value:[a,s],enumerable:true},center:{value:p=>{let w=u.get(ft(p));return w===void 0?Number.NaN:f(w)+c/2},enumerable:true},positions:{value:()=>e.map((p,w)=>f(w)),enumerable:true},indexOf:{value:p=>u.get(ft(p))??-1,enumerable:true}}),m}function Vt(e,t){if(e.length===0)return -1;let r=0,n=Number.POSITIVE_INFINITY;for(let o=0;o<e.length;o+=1){let a=Math.abs(e[o]-t);a<n&&(n=a,r=o);}return r}function ka(e){let t=Number(e.toPrecision(12));return Object.is(t,-0)?0:t}function rd(e){if(!Number.isFinite(e)||e<=0)return 1;let t=Math.floor(Math.log10(e)),r=Math.pow(10,t),n=e/r,o=n<=1?1:n<=2?2:n<=5?5:10;return ka(o*r)}function xs(e,t,r=5){if(!Number.isFinite(e)||!Number.isFinite(t))return [0,1];if(e===t){if(e===0)return [0,1];let o=Math.abs(e)*.5;[e,t]=[e-o,e+o];}let n=rd((t-e)/Math.max(1,r));return [ka(Math.floor(e/n)*n),ka(Math.ceil(t/n)*n)]}function wa(e,t,r=5){if(!Number.isFinite(e)||!Number.isFinite(t))return [];if(r<=0)return [];if(e===t)return [ka(e)];e>t&&([e,t]=[t,e]);let n=rd((t-e)/r),o=Math.ceil(e/n),a=Math.floor(t/n),s=[];for(let l=o;l<=a&&s.length<=1e3;l+=1)s.push(ka(l*n));return s}function Yt(e){let t=Number.POSITIVE_INFINITY,r=Number.NEGATIVE_INFINITY,n=false;for(let o of e)o==null||!Number.isFinite(o)||(n=true,o<t&&(t=o),o>r&&(r=o));return n?[t,r]:null}function Ao(e,t={}){let{domain:r,includeZero:n=true,ticks:o=5}=t;if(Array.isArray(r))return r;let a=Yt(e);if(!a)return [0,1];let[s,l]=a;return n&&(s=Math.min(s,0),l=Math.max(l,0)),xs(s,l,o)}var Xi={top:10,right:16,bottom:28},nd=16,Up=14,Yp=32;function rr({width:e,height:t,data:r,x:n,y:o,bounds:a,margin:s,orientation:l="vertical",placement:i="point",bandPaddingInner:c=.2,formatValue:d,formatX:u,extraTop:f=0,defaultIncludeZero:m=false}){let p=l==="vertical",w=r.map((O,_)=>ct(O,n.key,_)),v=Ao(a??[],{domain:o?.domain,includeZero:o?.includeZero??m,ticks:o?.ticks??5}),x=o?.hidden??false,h=n.hidden??false,I=x?[]:wa(v[0],v[1],o?.ticks??5),S=I.map(d),L=p&&(n.scale==="linear"||n.scale==="time"),R=w.map((O,_)=>u(O,_)),T=p?x:h,y=p?S:R,M=p?o?.width:n.height,k=p?h:x,z=p?n.height:void 0,H=p?n.label:o?.label,P=p?o?.label:n.label,B=p&&!h&&i!=="band"?R:[],C=O=>O?tr(O)/2+4:0,b={top:s?.top??Xi.top+f,right:s?.right??Math.max(Xi.right,C(B[B.length-1])),bottom:s?.bottom??(k?8:z??Xi.bottom+(H?nd:0)),left:s?.left??(T?8:M??Math.max(Math.max(Yp,wr(y)+Up)+(P?nd:0),C(B[0])))},E=Math.max(0,e-b.left-b.right),N=Math.max(0,t-b.top-b.bottom),W=p?Er(v,[N,0]):Er(v,[0,E]),F=p?E:N,K,j=0,A,D=null;if(L){let O=w.map(_r),_=Yt(O)??[0,1],X=Er(_,[0,F]);D=X,K=O.map(G=>X(G)),A=h?[]:wa(_[0],_[1],n.ticks??5).map(G=>({value:G,offset:X(G),label:u(n.scale==="time"?new Date(G):G,0)}));}else if(i==="band"){let O=xn(r.map((_,X)=>X),[0,F],{paddingInner:c});K=r.map((_,X)=>O(X)),j=O.bandwidth,A=[];}else {let O=r.length>1?F/(r.length-1):0;K=r.map((_,X)=>r.length>1?X*O:F/2),A=[];}let V=K.map(O=>O+j/2);if(!L&&!h){let O=p?wr(R):15,_=ha(R.length,F,O);A=R.map((X,G)=>({value:w[G],offset:V[G],label:X})).filter((X,G)=>G%_===0);}return {margin:b,innerWidth:E,innerHeight:N,orientation:l,valueScale:W,domain:v,valueTicks:I.map(O=>({value:O,offset:W(O),label:d(O)})),xValues:w,categoryPositions:K,bandwidth:j,categoryCenters:V,categoryTicks:A,categoryLength:F,categoryScale:D}}function zo(e){let{categoryScale:t,xValues:r,categoryCenters:n,categoryLength:o}=e;return a=>{if(t){let i=t(_r(a));return Number.isFinite(i)?i<-0.5||i>o+.5?null:i:null}let s=ft(a),l=r.findIndex(i=>ft(i)===s);return l<0?null:n[l]}}function kt(e){return Math.round(e*100)/100}function od(e){return e.defined!==false&&Number.isFinite(e.x)&&Number.isFinite(e.y)}function ad(e,t=false){if(t){let o=e.filter(od);return o.length>0?[o]:[]}let r=[],n=[];for(let o of e)od(o)?n.push(o):n.length>0&&(r.push(n),n=[]);return n.length>0&&r.push(n),r}function qp(e){let t=e.length,r=[],n=[];for(let a=0;a<t-1;a+=1){let s=e[a+1].x-e[a].x;r.push(s),n.push(s===0?0:(e[a+1].y-e[a].y)/s);}let o=new Array(t);o[0]=n[0],o[t-1]=n[t-2];for(let a=1;a<t-1;a+=1){let s=n[a-1],l=n[a];if(s*l<=0)o[a]=0;else {let i=2*r[a]+r[a-1],c=r[a]+2*r[a-1];o[a]=(i+c)/(i/s+c/l);}}return o}function Ki(e,t){if(e.length<2)return "";if(t==="monotone"&&e.length>2){let n=qp(e),o="";for(let a=0;a<e.length-1;a+=1){let s=e[a],l=e[a+1],i=(l.x-s.x)/3;o+=` C${kt(s.x+i)},${kt(s.y+n[a]*i)} ${kt(l.x-i)},${kt(l.y-n[a+1]*i)} ${kt(l.x)},${kt(l.y)}`;}return o}let r="";for(let n=1;n<e.length;n+=1){let o=e[n-1],a=e[n];if(t==="step"){let s=kt((o.x+a.x)/2);r+=` L${s},${kt(o.y)} L${s},${kt(a.y)}`;}else t==="stepAfter"&&(r+=` L${kt(a.x)},${kt(o.y)}`);r+=` L${kt(a.x)},${kt(a.y)}`;}return r}function Xr(e,t="linear",r={}){return ad(e,r.connectNulls).map(n=>{let[o]=n;return `M${kt(o.x)},${kt(o.y)}${Ki(n,t)}`}).join(" ")}function Na(e,t,r="linear",n={}){let o=ad(e,n.connectNulls);if(o.length===0)return "";let a=typeof t=="number"?null:new Map(t.map(s=>[kt(s.x),s]));return o.map(s=>{let[l]=s,i=s[s.length-1],c=`M${kt(l.x)},${kt(l.y)}${Ki(s,r)}`;if(a===null){let f=kt(t);return `${c} L${kt(i.x)},${f} L${kt(l.x)},${f} Z`}let d=s.map(f=>a.get(kt(f.x))).filter(f=>f!==void 0).reverse();if(d.length===0)return `${c} Z`;let[u]=d;return `${c} L${kt(u.x)},${kt(u.y)}${Ki(d,r)} Z`}).join(" ")}function cr({x:e,y:t,width:r,height:n,radius:o=4,round:a="none"}){if(!(r>0)||!(n>0))return "";let s=Math.max(0,Math.min(o,r/2,n/2)),[l,i]=[_e(e),_e(t)],[c,d]=[_e(e+r),_e(t+n)];if(s===0||a==="none")return `M${l},${i} L${c},${i} L${c},${d} L${l},${d} Z`;switch(a){case "top":return `M${l},${d} L${l},${_e(t+s)} Q${l},${i} ${_e(e+s)},${i} L${_e(e+r-s)},${i} Q${c},${i} ${c},${_e(t+s)} L${c},${d} Z`;case "bottom":return `M${l},${i} L${c},${i} L${c},${_e(t+n-s)} Q${c},${d} ${_e(e+r-s)},${d} L${_e(e+s)},${d} Q${l},${d} ${l},${_e(t+n-s)} Z`;case "right":return `M${l},${i} L${_e(e+r-s)},${i} Q${c},${i} ${c},${_e(t+s)} L${c},${_e(t+n-s)} Q${c},${d} ${_e(e+r-s)},${d} L${l},${d} Z`;case "left":return `M${c},${i} L${_e(e+s)},${i} Q${l},${i} ${l},${_e(t+s)} L${l},${_e(t+n-s)} Q${l},${d} ${_e(e+s)},${d} L${c},${d} Z`;default:return `M${l},${i} L${c},${i} L${c},${d} L${l},${d} Z`}}function _e(e){return Math.round(e*100)/100}function Wn(e,t,r,n){return {x:_e(e+r*Math.sin(n)),y:_e(t-r*Math.cos(n))}}function sd({cx:e,cy:t,innerRadius:r,outerRadius:n,startAngle:o,endAngle:a}){let s=a-o;if(!(n>0)||!(s>0))return "";let l=s>=Math.PI*2-1e-9,i=Math.max(0,Math.min(r,n));if(l){let p=Wn(e,t,n,0),w=Wn(e,t,n,Math.PI),v=`M${p.x},${p.y} A${_e(n)},${_e(n)} 0 1 1 ${w.x},${w.y} A${_e(n)},${_e(n)} 0 1 1 ${p.x},${p.y} Z`;if(i===0)return v;let x=Wn(e,t,i,0),h=Wn(e,t,i,Math.PI);return `${v} M${x.x},${x.y} A${_e(i)},${_e(i)} 0 1 0 ${h.x},${h.y} A${_e(i)},${_e(i)} 0 1 0 ${x.x},${x.y} Z`}let c=s>Math.PI?1:0,d=Wn(e,t,n,o),u=Wn(e,t,n,a);if(i===0)return `M${_e(e)},${_e(t)} L${d.x},${d.y} A${_e(n)},${_e(n)} 0 ${c} 1 ${u.x},${u.y} Z`;let f=Wn(e,t,i,a),m=Wn(e,t,i,o);return `M${d.x},${d.y} A${_e(n)},${_e(n)} 0 ${c} 1 ${u.x},${u.y} L${f.x},${f.y} A${_e(i)},${_e(i)} 0 ${c} 0 ${m.x},${m.y} Z`}function vs(e,t,r="none"){return e.map((n,o)=>{let a=t.map(d=>Ee(n,d)),s=a.reduce((d,u)=>d+(u===null?0:Math.abs(u)),0),l=0,i=0,c=t.map((d,u)=>{let f=a[u];if(r==="none")return {key:d,value:f,start:0,end:f??0};if(f===null)return {key:d,value:null,start:l,end:l};let m=r==="percent"?s===0?0:f/s*100:f;if(m>=0){let w=l;return l+=m,{key:d,value:f,start:w,end:l}}let p=i;return i+=m,{key:d,value:f,start:i,end:p}});return {index:o,datum:n,total:s,segments:c}})}function Cs(e){let t=Number.POSITIVE_INFINITY,r=Number.NEGATIVE_INFINITY,n=false;for(let o of e)for(let a of o.segments)a.value!==null&&(n=true,t=Math.min(t,a.start,a.end),r=Math.max(r,a.start,a.end));return n?[t,r]:null}function id(e,t,r={}){let{centerKey:n,percent:o=false}=r,a=n?t.indexOf(n):-1,s=a>=0?a:Math.max(0,Math.min(t.length,r.negativeCount??Math.floor(t.length/2)));return e.map((l,i)=>{let c=t.map(x=>Ee(l,x)),d=c.reduce((x,h)=>x+(h===null?0:Math.abs(h)),0),u=c.map(x=>x===null?null:o?d===0?0:x/d*100:x),f=t.map(x=>({key:x,value:null,start:0,end:0,base:false,outer:false})),m=0;a>=0&&(m=(u[a]??0)/2,f[a]={key:t[a],value:c[a],start:m===0?0:-m,end:m,base:true,outer:false});let p=m===0?0:-m,w=-1;for(let x=s-1;x>=0;x-=1){let h=u[x];if(h===null){f[x]={...f[x],value:null,start:p,end:p};continue}let I=p-Math.abs(h);f[x]={key:t[x],value:c[x],start:p,end:I,base:a<0&&w===-1,outer:false},p=I,w=x;}w>=0&&(f[w].outer=true),p=m;let v=-1;for(let x=a>=0?a+1:s;x<t.length;x+=1){let h=u[x];if(h===null){f[x]={...f[x],value:null,start:p,end:p};continue}let I=p+Math.abs(h);f[x]={key:t[x],value:c[x],start:p,end:I,base:a<0&&v===-1,outer:false},p=I,v=x;}return v>=0?f[v].outer=true:a>=0&&(f[a].outer=true),{index:i,datum:l,total:d,segments:f}})}var Qp=.12,Jp=.9,ef=10,tf=el.memo(function({bands:t,stacked:r,patterns:n,patternBaseId:o}){return jsxRuntime.jsx("g",{children:t.map(a=>jsxRuntime.jsxs("g",{children:[jsxRuntime.jsx("path",{d:a.area,fill:to(n,o,a.slot,a.color),fillOpacity:r?Jp:Qp,stroke:"none"}),a.gap?jsxRuntime.jsx("path",{d:a.gap,fill:"none",strokeWidth:2,className:"stroke-white dark:stroke-gray-800"}):null,jsxRuntime.jsx("path",{d:a.edge,fill:"none",stroke:a.color,strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"})]},a.key))})});function rf({width:e,height:t,data:r,resolvedSeries:n,x:o,y:a,grid:s,size:l,curve:i,stack:c,baseline:d,connectNulls:u,referenceLines:f,annotations:m,annotationsLabel:p,patterns:w,patternBaseId:v,margin:x,tooltip:h,onPointClick:I,plotLabel:S,formatValue:L,formatRaw:R,formatX:T}){let[y,M]=el.useState(null),k=el.useMemo(()=>{let N=n.filter(X=>!X.hidden),W=N.map(X=>X.key),F=c!=="none",K=vs(r,W,c),j=F?Cs(K):Yt([...fr(r,W),d]),A=rr({width:e,height:t,data:r,x:o,y:a,bounds:j,margin:x,placement:"point",formatValue:L,formatX:T,defaultIncludeZero:true}),D=A.categoryCenters,V=A.valueScale,O=V(F?0:d),_=N.map((X,G)=>{let $=r.map((ae,U)=>{let Q=K[U].segments[G];return {x:D[U],y:Q.value===null?Number.NaN:V(Q.end),defined:Q.value!==null}}),Y=r.map((ae,U)=>{let Q=K[U].segments[G];return {x:D[U],y:Q.value===null?Number.NaN:V(F?Q.start:d),defined:Q.value!==null}}),se={connectNulls:u};return {key:X.key,color:X.color,slot:X.slot,area:F?Na($,Y,i,se):Na($,O,i,se),edge:Xr($,i,se),gap:F&&G>0?Xr(Y,i,se):""}});return {visible:N,locate:zo(A),rows:K,stacked:F,xValues:A.xValues,positions:D,xTicks:A.categoryTicks,yTicks:A.valueTicks,valueScale:V,innerWidth:A.innerWidth,innerHeight:A.innerHeight,margin:A.margin,bands:_}},[r,n,o,a,e,t,x,i,c,d,u,L,T]),z=el.useCallback(N=>k.visible.map((W,F)=>{let K=Ee(r[N],W.key),j=k.rows[N].segments[F],A=K===null?"\u2014":c==="percent"?`${R(K)} (${L(j.end-j.start)})`:L(K);return {seriesKey:W.key,seriesLabel:Kt(W),color:W.color,value:K,formattedValue:A,datum:r[N]}}),[r,k.visible,k.rows,c,L,R]),H=el.useCallback(N=>{if(h===false||r.length===0)return;let W=N.currentTarget.getBoundingClientRect(),F=N.clientX-W.left-k.margin.left,K=Vt(k.positions,F);M(K>=0?K:null);},[h,r.length,k.margin.left,k.positions]),P=el.useCallback(N=>{if(r.length===0)return;let W=r.length-1,F=y??0,K=N.key==="ArrowRight"?Math.min(W,F+1):N.key==="ArrowLeft"?Math.max(0,F-1):N.key==="Home"?0:N.key==="End"?W:N.key==="Escape"?null:void 0;K!==void 0&&(N.preventDefault(),M(K));},[r.length,y]),B=el.useCallback(()=>{if(!I||y===null)return;let[N]=z(y);N&&I({...N,index:y,x:k.xValues[y]});},[I,y,z,k.xValues]),C=y===null?null:z(y),b=y===null?[]:k.visible.map((N,W)=>{let F=k.rows[y].segments[W];return F.value===null?null:{key:N.key,color:N.color,y:k.valueScale(F.end)}}).filter(N=>N!==null),E=y===null||C===null?null:{x:k.xValues[y],xLabel:T(k.xValues[y],y),index:y,points:C};return jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsxs("svg",{width:e,height:t,role:"img","aria-label":S??[k.visible.map(N=>Kt(N)).join(", "),Jn(m,p)].filter(Boolean).join(". "),tabIndex:0,className:"touch-none focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-blue-500",onPointerMove:H,onPointerLeave:()=>M(null),onKeyDown:P,onBlur:()=>M(null),onClick:B,children:[w?jsxRuntime.jsx(ro,{id:v,entries:n.map(N=>({slot:N.slot,color:N.color}))}):null,jsxRuntime.jsxs("g",{transform:`translate(${k.margin.left}, ${k.margin.top})`,children:[jsxRuntime.jsx(_t,{width:k.innerWidth,height:k.innerHeight,horizontal:s==="y"||s==="both"?k.yTicks.map(N=>N.offset):void 0,vertical:s==="x"||s==="both"?k.xTicks.map(N=>N.offset):void 0}),m?jsxRuntime.jsx(tn,{layer:"under",annotations:m,xAt:k.locate,yAt:k.valueScale,width:k.innerWidth,height:k.innerHeight}):null,jsxRuntime.jsx(tf,{bands:k.bands,stacked:k.stacked,patterns:w&&k.stacked,patternBaseId:v}),m?jsxRuntime.jsx(tn,{annotations:m,xAt:k.locate,yAt:k.valueScale,width:k.innerWidth,height:k.innerHeight}):null,f?.map(N=>{let W=k.valueScale(N.value),F=W<ef?W+12:W-4;return jsxRuntime.jsxs("g",{children:[jsxRuntime.jsx("line",{x1:0,y1:W,x2:k.innerWidth,y2:W,stroke:N.color??"var(--color-chart-muted)",strokeWidth:1,strokeDasharray:N.dashed===false?void 0:"4 4"}),N.label?jsxRuntime.jsx("text",{x:k.innerWidth,y:F,textAnchor:"end",className:"fill-gray-500 text-[10px] dark:fill-gray-400",children:N.label}):null]},`${N.value}-${N.label??""}`)}),y!==null?jsxRuntime.jsxs("g",{"aria-hidden":"true",children:[jsxRuntime.jsx("line",{x1:k.positions[y],y1:0,x2:k.positions[y],y2:k.innerHeight,className:"stroke-gray-400 dark:stroke-gray-500",strokeWidth:1}),b.map(N=>jsxRuntime.jsx("circle",{cx:k.positions[y],cy:N.y,r:4,fill:N.color,strokeWidth:2,className:"stroke-white dark:stroke-gray-800"},N.key))]}):null]}),jsxRuntime.jsx("g",{transform:`translate(${k.margin.left}, ${k.margin.top+k.innerHeight})`,children:o.hidden?null:jsxRuntime.jsx(Ue,{orientation:"bottom",ticks:k.xTicks,length:k.innerWidth,label:o.label,size:l})}),jsxRuntime.jsx("g",{transform:`translate(${k.margin.left}, ${k.margin.top})`,children:a?.hidden?null:jsxRuntime.jsx(Ue,{orientation:"left",ticks:k.yTicks,length:k.innerHeight,showLine:false,label:a?.label,size:l})})]}),E&&h!==false?jsxRuntime.jsx(dt,{x:k.margin.left+k.positions[E.index],y:k.margin.top+(b.length>0?Math.min(...b.map(N=>N.y)):k.innerHeight/2),containerWidth:e,children:typeof h=="function"?h(E):jsxRuntime.jsx(Nr,{title:E.xLabel,points:E.points})}):null]})}function nf({data:e,series:t,x:r,y:n,height:o=240,width:a,size:s="md",grid:l="y",legend:i,tooltip:c=true,tableView:d=false,emphasis:u,title:f,description:m,loading:p=false,emptyState:w,onPointClick:v,curve:x="monotone",stack:h="none",baseline:I=0,connectNulls:S=false,referenceLines:L,annotations:R,patterns:T=false,legendToggle:y=true,margin:M,locale:k,plotLabel:z,className:H,...P}){let B=We(),[C,b]=el.useState(()=>new Set),E=el.useId(),N=el.useMemo(()=>t.map((X,G)=>({...X,slot:G,hidden:X.hidden||C.has(X.key),color:Lr(X,G,u)})),[t,C,u]),W=h==="percent",F=el.useMemo(()=>W?{domain:[0,100],...n}:n,[W,n]),K=el.useMemo(()=>n?.format??(W?X=>Ut(X,{locale:k,alreadyScaled:true,maximumFractionDigits:0}):X=>nt(X,k)),[n?.format,W,k]),j=el.useMemo(()=>X=>nt(X,k),[k]),A=el.useMemo(()=>r.format??(X=>r.scale==="time"?Ze(X instanceof Date?X:new Date(_r(X)),k):Ze(X,k)),[r.format,r.scale,k]),D=el.useCallback(X=>{b(G=>{let $=new Set(G);return $.has(X)?$.delete(X):$.add(X),$});},[]),V=i===void 0?t.length>=2:i!==false,O=typeof i=="string"?i:"bottom",_=N.filter(X=>!X.hidden).length;return jsxRuntime.jsx(lt,{title:f,description:m,height:o,width:a,size:s,loading:p,empty:e.length===0||_===0,emptyState:w,tableView:d,legendPosition:O,legend:V?jsxRuntime.jsx(Xt,{items:$r(N,u,T&&h!=="none"),position:O,marker:"rect",size:s,onToggle:y?D:void 0}):void 0,table:d?jsxRuntime.jsx(zt,{data:e,series:N,xKey:r.key,xLabel:r.label??r.key,formatX:A,formatValue:j,caption:typeof f=="string"?f:void 0}):void 0,className:H,...P,children:({width:X})=>jsxRuntime.jsx(rf,{width:X,height:o,data:e,resolvedSeries:N,x:r,y:F,grid:l,size:s,curve:x,stack:h,baseline:I,connectNulls:S,referenceLines:L,annotations:R,annotationsLabel:B.chartAnnotations,patterns:T,patternBaseId:E,margin:M,tooltip:c,onPointClick:v,plotLabel:z,formatValue:K,formatRaw:j,formatX:A})})}var af={xs:"h-6 w-6 text-xs",sm:"h-8 w-8 text-sm",md:"h-10 w-10 text-base",lg:"h-12 w-12 text-lg",xl:"h-16 w-16 text-xl"},sf={circle:"rounded-full",square:"rounded-none",rounded:"rounded-md"};function lf({src:e,alt:t="Avatar",fallback:r,size:n="md",variant:o="circle",border:a=false,className:s,...l}){return jsxRuntime.jsx("div",{className:g("inline-flex items-center justify-center overflow-hidden bg-gray-200 font-medium text-gray-600 dark:bg-gray-700 dark:text-gray-300",af[n],sf[o],a&&"ring-2 ring-white dark:ring-gray-900",s),...l,children:e?jsxRuntime.jsx("img",{src:e,alt:t,className:"h-full w-full object-cover"}):jsxRuntime.jsx("span",{children:r||t.charAt(0).toUpperCase()})})}var cf={default:{solid:"bg-gray-500 text-white",soft:"bg-gray-100 text-gray-700 dark:bg-gray-700 dark:text-gray-300",outlined:"border border-gray-300 text-gray-600 dark:border-gray-600 dark:text-gray-400",subtle:"bg-gray-50 text-gray-600 dark:bg-gray-800 dark:text-gray-400"},primary:{solid:"bg-blue-600 text-white",soft:"bg-blue-100 text-blue-700 dark:bg-blue-900/50 dark:text-blue-300",outlined:"border border-blue-500 text-blue-600 dark:border-blue-400 dark:text-blue-400",subtle:"bg-blue-50 text-blue-600 dark:bg-blue-900/30 dark:text-blue-400"},success:{solid:"bg-green-600 text-white",soft:"bg-green-100 text-green-700 dark:bg-green-900/50 dark:text-green-300",outlined:"border border-green-500 text-green-600 dark:border-green-400 dark:text-green-400",subtle:"bg-green-50 text-green-600 dark:bg-green-900/30 dark:text-green-400"},warning:{solid:"bg-yellow-500 text-white",soft:"bg-yellow-100 text-yellow-700 dark:bg-yellow-900/50 dark:text-yellow-300",outlined:"border border-yellow-400 text-yellow-600 dark:border-yellow-400 dark:text-yellow-400",subtle:"bg-yellow-50 text-yellow-600 dark:bg-yellow-900/30 dark:text-yellow-400"},error:{solid:"bg-red-600 text-white",soft:"bg-red-100 text-red-700 dark:bg-red-900/50 dark:text-red-300",outlined:"border border-red-500 text-red-600 dark:border-red-400 dark:text-red-400",subtle:"bg-red-50 text-red-600 dark:bg-red-900/30 dark:text-red-400"},info:{solid:"bg-cyan-600 text-white",soft:"bg-cyan-100 text-cyan-700 dark:bg-cyan-900/50 dark:text-cyan-300",outlined:"border border-cyan-500 text-cyan-600 dark:border-cyan-400 dark:text-cyan-400",subtle:"bg-cyan-50 text-cyan-600 dark:bg-cyan-900/30 dark:text-cyan-400"},purple:{solid:"bg-purple-600 text-white",soft:"bg-purple-100 text-purple-700 dark:bg-purple-900/50 dark:text-purple-300",outlined:"border border-purple-500 text-purple-600 dark:border-purple-400 dark:text-purple-400",subtle:"bg-purple-50 text-purple-600 dark:bg-purple-900/30 dark:text-purple-400"},indigo:{solid:"bg-indigo-600 text-white",soft:"bg-indigo-100 text-indigo-700 dark:bg-indigo-900/50 dark:text-indigo-300",outlined:"border border-indigo-500 text-indigo-600 dark:border-indigo-400 dark:text-indigo-400",subtle:"bg-indigo-50 text-indigo-600 dark:bg-indigo-900/30 dark:text-indigo-400"},teal:{solid:"bg-teal-600 text-white",soft:"bg-teal-100 text-teal-700 dark:bg-teal-900/50 dark:text-teal-300",outlined:"border border-teal-500 text-teal-600 dark:border-teal-400 dark:text-teal-400",subtle:"bg-teal-50 text-teal-600 dark:bg-teal-900/30 dark:text-teal-400"}},df={default:"bg-gray-500",primary:"bg-blue-500",success:"bg-green-500",warning:"bg-yellow-400",error:"bg-red-500",info:"bg-cyan-500",purple:"bg-purple-500",indigo:"bg-indigo-500",teal:"bg-teal-500"},uf={sm:"text-[10px] px-1.5 py-0.5 gap-1",md:"text-xs px-2 py-0.5 gap-1",lg:"text-sm px-2.5 py-1 gap-1.5"},mf={sm:"w-1.5 h-1.5",md:"w-1.5 h-1.5",lg:"w-2 h-2"},gf={sm:"w-2.5 h-2.5",md:"w-3 h-3",lg:"w-3.5 h-3.5"};function dd({children:e,color:t="default",size:r="md",variant:n="soft",dot:o=false,icon:a,pill:s=true,className:l,...i}){return jsxRuntime.jsxs("span",{className:g("inline-flex items-center font-medium",uf[r],s?"rounded-full":"rounded",cf[t][n],l),...i,children:[o&&jsxRuntime.jsx("span",{className:g("shrink-0 rounded-full",mf[r],df[t]),"aria-hidden":"true"}),a&&!o&&jsxRuntime.jsx("span",{className:g("shrink-0",gf[r]),"aria-hidden":"true",children:a}),e]})}dd.displayName="Badge";var ff={sm:"text-[10px]",md:"text-[11px]",lg:"text-xs"};function Ra({scale:e,label:t,format:r,ticks:n=3,size:o="md",thickness:a=10,locale:s,className:l,...i}){let[c,d]=e.domain,u=r??(h=>nt(h,s)),f=e.steps,m=f!==null&&f>0,p=Math.max(2,Math.round(n)),w=m?Array.from({length:f+1},(h,I)=>I/f):Array.from({length:p},(h,I)=>I/(p-1)),v=h=>c+h*(d-c),x=m?jsxRuntime.jsx("div",{className:"flex h-full w-full overflow-hidden rounded-sm",children:Array.from({length:f},(h,I)=>jsxRuntime.jsx("span",{className:"h-full grow",style:{backgroundColor:e(v((I+.5)/f))}},I))}):jsxRuntime.jsx("div",{className:"h-full w-full rounded-sm",style:{backgroundImage:`linear-gradient(to right, ${e.colors.join(", ")})`}});return jsxRuntime.jsxs("div",{className:g("flex w-full max-w-80 flex-col gap-1",ff[o],l),...i,children:[t?jsxRuntime.jsx("span",{className:"text-gray-600 dark:text-gray-300",children:t}):null,jsxRuntime.jsx("div",{style:{height:a},"aria-hidden":"true",children:x}),jsxRuntime.jsx("div",{className:"relative h-4 w-full",children:w.map((h,I)=>jsxRuntime.jsx("span",{className:"absolute top-0 whitespace-nowrap text-gray-500 [font-variant-numeric:tabular-nums] dark:text-gray-400",style:{left:`${h*100}%`,transform:`translateX(${I===0?"0":I===w.length-1?"-100%":"-50%"})`},children:u(v(h))},h))})]})}function ud(e){return e<=1?1:Math.min(60,Math.max(1,Math.ceil(Math.log2(e))+1))}function bf(e){let t=Math.pow(10,Math.floor(Math.log10(e)));return [.5,1,2,5,10].map(r=>Number((r*t).toPrecision(12)))}function md(e,t=true){if(Array.isArray(t)){let m=[...t].filter(p=>Number.isFinite(p)).sort((p,w)=>p-w);return m.length>=2?m:[]}let r=e.filter(m=>Number.isFinite(m));if(r.length===0)return [];let n=Math.min(...r),o=Math.max(...r);if(n===o){let m=Math.abs(n)>0?Math.abs(n)*.5:.5;n-=m,o+=m;}let a=typeof t=="number"?t:ud(r.length),s=Math.min(60,Math.max(1,Math.round(a))),l=(o-n)/s;if(!(l>0))return [];let i=0,c=0,d=Number.POSITIVE_INFINITY;for(let m of bf(l)){let p=Math.floor(n/m)*m,w=Math.ceil(o/m)*m,v=Math.max(1,Math.round((w-p)/m));if(v>60)continue;let x=Math.abs(v-s);x<=d&&(d=x,i=m,c=v);}if(i===0)return [];let u=Math.floor(n/i)*i,f=[];for(let m=0;m<=c;m+=1)f.push(Number((u+m*i).toPrecision(12)));return f}function Yi(e,t=true){let r=e.filter(a=>typeof a=="number"&&Number.isFinite(a)),n=md(r,t);if(n.length<2)return [];let o=[];for(let a=0;a<n.length-1;a+=1)o.push({from:n[a],to:n[a+1],count:0,last:a===n.length-2});for(let a of r){if(a<n[0]||a>n[n.length-1])continue;let s=0,l=o.length-1;for(;s<l;){let i=s+l+1>>1;a>=n[i]?s=i:l=i-1;}o[s].count+=1;}return o}var xf=24,so=2,vf=4,Bo=6,Cf=10,qi=false,ji=false;function kf(){qi=false,ji=false;}var wf=el.memo(function({bars:t,patterns:r,patternBaseId:n}){return jsxRuntime.jsx("g",{children:t.map((o,a)=>jsxRuntime.jsxs("g",{children:[jsxRuntime.jsx("path",{d:o.d,fill:to(r,n,o.slot,o.color)}),o.label?jsxRuntime.jsx("text",{x:o.label.x,y:o.label.y,textAnchor:o.label.anchor,dominantBaseline:"middle",className:"fill-gray-600 text-[10px] [font-variant-numeric:tabular-nums] dark:fill-gray-300",children:o.label.text}):null]},`${o.key}-${a}`))})}),Nf=el.memo(function({lines:t}){return jsxRuntime.jsx("g",{children:t.map(r=>jsxRuntime.jsxs("g",{children:[jsxRuntime.jsx("path",{d:r.d,fill:"none",stroke:r.color,strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round",strokeDasharray:r.dashed?"5 4":void 0}),r.markers.map(n=>jsxRuntime.jsx("circle",{cx:n.x,cy:n.y,r:3,fill:r.color,strokeWidth:2,className:"stroke-white dark:stroke-gray-800"},`${n.x}-${n.y}`))]},r.key))})});function Sf({width:e,height:t,data:r,resolvedSeries:n,x:o,y:a,grid:s,size:l,orientation:i,stack:c,center:d,centerKey:u,valueColors:f,binned:m,curve:p,barSize:w,showValues:v,referenceLines:x,annotations:h,annotationsLabel:I,patterns:S,patternBaseId:L,margin:R,tooltip:T,onPointClick:y,plotLabel:M,formatValue:k,formatRaw:z,formatX:H}){let[P,B]=el.useState(null),C=el.useMemo(()=>{let D=i==="vertical",V=n.filter(we=>!we.hidden),O=V.filter(we=>we.type!=="line"),_=V.filter(we=>we.type==="line"),X=O.map(we=>we.key),G=u!==null||c!=="none",$=u!==null?id(r,X,{centerKey:u,percent:c==="percent"}):vs(r,X,c),Y=G?Cs($):Yt(fr(r,X)),se=Yt(fr(r,_.map(we=>we.key))),ae=Y===null?se:se===null?Y:[Math.min(Y[0],se[0]),Math.max(Y[1],se[1])],U=rr({width:e,height:t,data:r,x:o,y:a,bounds:ae===null?null:[Math.min(ae[0],d),Math.max(ae[1],d)],margin:R,orientation:i,placement:"band",bandPaddingInner:m?0:void 0,formatValue:k,formatX:H,defaultIncludeZero:d===0}),{valueScale:Q,bandwidth:le,categoryPositions:ye,innerWidth:te,innerHeight:Ce}=U,Pe=Q(d),Se=Math.max(1,O.length),De=G?le:le/Se,Ne=Math.min(w??(m?Number.POSITIVE_INFINITY:xf),Math.max(1,De-(G&&!m?0:so))),re=G?Ne:Se*Ne+(Se-1)*so,fe=(le-re)/2,je=[],Dt=we=>G?we.end>=we.start:we.end>=d;$.forEach((we,pt)=>{let Bt=-1,yt=-1;we.segments.forEach((Nt,gr)=>{Nt.value!==null&&Nt.outer!==false&&(Dt(Nt)?Bt=gr:yt=gr);});let er=0,Mt=0;we.segments.forEach((Nt,gr)=>{if(Nt.value===null)return;let pr=O[gr],vt=Dt(Nt),Cr=Q(G?Nt.start:d),he=Q(Nt.end),ge=Math.min(Cr,he),J=Math.abs(he-Cr),ne=Nt.base??(vt?er===0:Mt===0),be=D?!vt:vt;G&&!ne&&J>so&&(J-=so,be&&(ge+=so)),vt?er+=1:Mt+=1;let me=ye[pt]+(G?fe:fe+gr*(Ne+so)),ke=gr===(vt?Bt:yt)?D?vt?"top":"bottom":vt?"right":"left":"none",Re=D?{x:me,y:ge,width:Ne,height:J}:{x:ge,y:me,width:J,height:Ne},Be=null;if(v&&!G){let ze=z(Nt.value),st=tr(ze,10);if(D){let qe=vt?ge:ge+J,Oe=vt?qe-Bo:qe+Bo,Ot=Se>1?Ne+so:le;st<=Ot&&(vt?Oe>8:Oe<Ce-4)&&(Be={x:me+Ne/2,y:Oe,anchor:"middle",text:ze});}else {let qe=vt?ge+J:ge,Oe=vt?te-qe-Bo:qe-Bo;st<=Oe&&(Be={x:vt?qe+Bo:qe-Bo,y:me+Ne/2,anchor:vt?"start":"end",text:ze});}}je.push({key:pr.key,slot:pr.slot,color:f&&Nt.value!==null?f(Nt.value):pr.color,d:cr({...Re,radius:vf,round:ke}),label:Be});});});let Ie=_.map(we=>{let pt=U.categoryCenters.map((Bt,yt)=>{let er=Ee(r[yt],we.key),Mt=er===null?Number.NaN:Q(er);return {x:D?Bt:Mt,y:D?Mt:Bt,defined:er!==null}});return {key:we.key,color:we.color,dashed:we.dashed,d:Xr(pt,p),markers:pt.filter(Bt=>Bt.defined!==false)}});return {vertical:D,visible:V,locate:zo(U),barSeries:O,rows:$,stacked:G,xValues:U.xValues,categoryPositions:ye,categoryCenters:U.categoryCenters,bandwidth:le,categoryTicks:U.categoryTicks,valueTicks:U.valueTicks,valueScale:Q,baseline:Pe,innerWidth:te,innerHeight:Ce,margin:U.margin,bars:je,lines:Ie}},[r,n,o,a,e,t,R,i,c,d,u,f,m,p,w,v,k,z,H]),b=el.useCallback(D=>C.visible.map(V=>{let O=Ee(r[D],V.key),_=C.barSeries.indexOf(V),X=_===-1?null:C.rows[D].segments[_],G=O===null?"\u2014":c==="percent"&&X!==null?`${z(O)} (${k(X.end-X.start)})`:k(O);return {seriesKey:V.key,seriesLabel:Kt(V),color:V.color,value:O,formattedValue:G,datum:r[D]}}),[r,C.visible,C.barSeries,C.rows,c,k,z]),E=el.useCallback(D=>{if(T===false||r.length===0)return;let V=D.currentTarget.getBoundingClientRect(),O=C.vertical?D.clientX-V.left-C.margin.left:D.clientY-V.top-C.margin.top,_=Vt(C.categoryCenters,O);B(_>=0?_:null);},[T,r.length,C.vertical,C.margin,C.categoryCenters]),N=el.useCallback(D=>{if(r.length===0)return;let V=r.length-1,O=P??0,_=C.vertical?"ArrowRight":"ArrowDown",X=C.vertical?"ArrowLeft":"ArrowUp",G=D.key===_?Math.min(V,O+1):D.key===X?Math.max(0,O-1):D.key==="Home"?0:D.key==="End"?V:D.key==="Escape"?null:void 0;G!==void 0&&(D.preventDefault(),B(G));},[r.length,P,C.vertical]),W=el.useCallback(()=>{if(!y||P===null)return;let[D]=b(P);D&&y({...D,index:P,x:C.xValues[P]});},[y,P,b,C.xValues]),F=P===null?null:b(P),K=P===null||F===null?null:{x:C.xValues[P],xLabel:H(C.xValues[P],P),index:P,points:F},j=D=>{let V=C.rows[D].segments.filter(O=>O.value!==null).map(O=>C.valueScale(O.end));for(let O of C.lines){let _=Ee(r[D],O.key);_!==null&&V.push(C.valueScale(_));}return V},A=P===null?null:C.vertical?{x:C.margin.left+C.categoryCenters[P],y:C.margin.top+Math.min(...j(P),C.baseline)}:{x:C.margin.left+Math.max(...j(P),C.baseline),y:C.margin.top+C.categoryCenters[P]};return jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsxs("svg",{width:e,height:t,role:"img","aria-label":M??[C.visible.map(D=>Kt(D)).join(", "),Jn(h,I)].filter(Boolean).join(". "),tabIndex:0,className:"touch-none focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-blue-500",onPointerMove:E,onPointerLeave:()=>B(null),onKeyDown:N,onBlur:()=>B(null),onClick:W,children:[S?jsxRuntime.jsx(ro,{id:L,entries:n.map(D=>({slot:D.slot,color:D.color}))}):null,jsxRuntime.jsxs("g",{transform:`translate(${C.margin.left}, ${C.margin.top})`,children:[jsxRuntime.jsx(_t,{width:C.innerWidth,height:C.innerHeight,horizontal:C.vertical&&(s==="y"||s==="both")?C.valueTicks.map(D=>D.offset):void 0,vertical:!C.vertical&&(s==="y"||s==="both")?C.valueTicks.map(D=>D.offset):void 0}),h?jsxRuntime.jsx(tn,{layer:"under",annotations:h,xAt:C.locate,yAt:C.valueScale,width:C.innerWidth,height:C.innerHeight,bandwidth:C.bandwidth}):null,P!==null?jsxRuntime.jsx("rect",{x:C.vertical?C.categoryPositions[P]:0,y:C.vertical?0:C.categoryPositions[P],width:C.vertical?C.bandwidth:C.innerWidth,height:C.vertical?C.innerHeight:C.bandwidth,className:"fill-gray-400 dark:fill-gray-500",opacity:.12,"aria-hidden":"true"}):null,jsxRuntime.jsx(wf,{bars:C.bars,patterns:S,patternBaseId:L}),C.lines.length>0?jsxRuntime.jsx(Nf,{lines:C.lines}):null,jsxRuntime.jsx("line",{x1:C.vertical?0:C.baseline,y1:C.vertical?C.baseline:0,x2:C.vertical?C.innerWidth:C.baseline,y2:C.vertical?C.baseline:C.innerHeight,className:"stroke-gray-300 dark:stroke-gray-600",strokeWidth:1,shapeRendering:"crispEdges"}),h?jsxRuntime.jsx(tn,{annotations:h,xAt:C.locate,yAt:C.valueScale,width:C.innerWidth,height:C.innerHeight,bandwidth:C.bandwidth}):null,x?.map(D=>{let V=C.valueScale(D.value),O=V<Cf?V+12:V-4;return jsxRuntime.jsxs("g",{children:[jsxRuntime.jsx("line",{x1:C.vertical?0:V,y1:C.vertical?V:0,x2:C.vertical?C.innerWidth:V,y2:C.vertical?V:C.innerHeight,stroke:D.color??"var(--color-chart-muted)",strokeWidth:1,strokeDasharray:D.dashed===false?void 0:"4 4"}),D.label?jsxRuntime.jsx("text",{x:C.vertical?C.innerWidth:V+4,y:C.vertical?O:8,textAnchor:C.vertical?"end":"start",className:"fill-gray-500 text-[10px] dark:fill-gray-400",children:D.label}):null]},`${D.value}-${D.label??""}`)})]}),jsxRuntime.jsx("g",{transform:`translate(${C.margin.left}, ${C.margin.top+C.innerHeight})`,children:(C.vertical?o.hidden:a?.hidden)?null:jsxRuntime.jsx(Ue,{orientation:"bottom",ticks:C.vertical?C.categoryTicks:C.valueTicks,length:C.innerWidth,label:C.vertical?o.label:a?.label,size:l})}),jsxRuntime.jsx("g",{transform:`translate(${C.margin.left}, ${C.margin.top})`,children:(C.vertical?a?.hidden:o.hidden)?null:jsxRuntime.jsx(Ue,{orientation:"left",ticks:C.vertical?C.valueTicks:C.categoryTicks,length:C.innerHeight,showLine:false,label:C.vertical?a?.label:o.label,size:l})})]}),K&&A&&T!==false?jsxRuntime.jsx(dt,{x:A.x,y:A.y,containerWidth:e,children:typeof T=="function"?T(K):jsxRuntime.jsx(Nr,{title:K.xLabel,points:K.points})}):null]})}function Rf({data:e,series:t,x:r,y:n,height:o=260,width:a,size:s="md",grid:l="y",legend:i,tooltip:c=true,tableView:d=false,emphasis:u,title:f,description:m,loading:p=false,emptyState:w,onPointClick:v,orientation:x="vertical",stack:h="none",diverging:I,bins:S,curve:L="linear",barSize:R,sort:T="none",showValues:y=false,referenceLines:M,annotations:k,patterns:z=false,legendToggle:H=true,margin:P,locale:B,plotLabel:C,className:b,...E}){let N=We(),[W,F]=el.useState(()=>new Set),K=el.useId(),j=S!==void 0&&S!==false,A=j||typeof I!="string"?null:I,D=!j&&typeof I=="number"?I:0,V=el.useMemo(()=>{let Se=A===null?null:Mo([0,Math.max(1,t.length-1)],{center:Math.max(0,t.findIndex(De=>De.key===A)),symmetric:false});return t.map((De,Ne)=>({...De,slot:Ne,hidden:De.hidden||W.has(De.key),color:Se&&!De.color&&!u?De.key===A?Pr:Se(Ne):Lr(De,Ne,u)}))},[t,W,u,A]),O=el.useMemo(()=>Se=>nt(Se,B),[B]),_=el.useMemo(()=>{if(!j)return null;t.length>1&&!qi&&(qi=true,console.warn("[@synertech/ui] BarChart was given `bins` and more than one series. A histogram counts a single field \u2014 the extra series are ignored. Facet the chart, or draw the distributions side by side."));let Se=t[0]?.key??"count",De=r.format?re=>r.format(re,0):re=>O(re),Ne=Yi(e.map(re=>Ee(re,r.key)),S);return {rows:Ne.map(re=>({[r.key]:re.from,[Se]:re.count})),labels:Ne.map(re=>`${De(re.from)}\u2013${De(re.to)}`)}},[j,S,e,r.key,r.format,t,O]),X=el.useMemo(()=>{if(_)return _.rows;if(T==="none")return e;let Se=V.filter(Ne=>!Ne.hidden).map(Ne=>Ne.key),De=Ne=>Se.reduce((re,fe)=>re+(Ee(Ne,fe)??0),0);return [...e].sort((Ne,re)=>T==="asc"?De(Ne)-De(re):De(re)-De(Ne))},[_,e,T,V]),G=!j&&h==="percent",$=el.useMemo(()=>G?{domain:A===null?[0,100]:[-100,100],...n}:n,[G,A,n]),Y=el.useMemo(()=>{let Se=n?.format??(G?De=>Ut(De,{locale:B,alreadyScaled:true,maximumFractionDigits:0}):O);return A===null?Se:De=>Se(Math.abs(De))},[n?.format,G,B,O,A]),se=el.useMemo(()=>_?(Se,De)=>_.labels[De]??"":r.format??(Se=>Ze(Se,B)),[_,r.format,B]),ae=el.useMemo(()=>_?{...r,scale:"category"}:r,[_,r]),U=el.useCallback(Se=>{F(De=>{let Ne=new Set(De);return Ne.has(Se)?Ne.delete(Se):Ne.add(Se),Ne});},[]),Q=x==="vertical"?k:void 0;k&&x!=="vertical"&&!ji&&(ji=true,console.warn("[@synertech/ui] BarChart was given `annotations` and a horizontal orientation. Annotations are read on the category axis, which runs up the side there: they are ignored. Use `referenceLines` for a threshold on the value axis."));let le=i===void 0?t.length>=2:i!==false,ye=typeof i=="string"?i:"bottom",te=V.filter(Se=>!Se.hidden),Ce=te.length,Pe=el.useMemo(()=>{if(j||I===void 0||I===false||A!==null||Ce!==1)return null;let Se=fr(X,te.map(Ne=>Ne.key)),De=Ao([...Se,D],{domain:n?.domain,includeZero:n?.includeZero??D===0,ticks:n?.ticks??5});return Mo(De,{center:D})},[j,I,A,Ce,te,X,D,n]);return jsxRuntime.jsx(lt,{title:f,description:m,height:o,width:a,size:s,loading:p,empty:X.length===0||Ce===0,emptyState:w,tableView:d,legendPosition:ye,legend:Pe?jsxRuntime.jsx(Ra,{scale:Pe,label:n?.label,format:Y,size:s,locale:B}):le?jsxRuntime.jsx(Xt,{items:$r(V,u,z),position:ye,marker:"rect",size:s,onToggle:H?U:void 0}):void 0,table:d?jsxRuntime.jsx(zt,{data:X,series:V,xKey:ae.key,xLabel:r.label??r.key,formatX:se,formatValue:O,caption:typeof f=="string"?f:void 0}):void 0,className:b,...E,children:({width:Se})=>jsxRuntime.jsx(Sf,{width:Se,height:o,data:X,resolvedSeries:V,x:ae,y:$,grid:l,size:s,orientation:x,stack:j?"none":h,center:D,centerKey:A,valueColors:Pe,binned:j,curve:L,barSize:R,showValues:y,referenceLines:M,annotations:Q,annotationsLabel:N.chartAnnotations,patterns:z&&Pe===null,patternBaseId:K,margin:P,tooltip:c,onPointClick:v,plotLabel:C,formatValue:Y,formatRaw:O,formatX:se})})}function fd({className:e}){return jsxRuntime.jsx("svg",{className:e,viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",children:jsxRuntime.jsx("path",{d:"M13 16H12V12H11M12 8H12.01M21 12C21 16.97 16.97 21 12 21C7.03 21 3 16.97 3 12C3 7.03 7.03 3 12 3C16.97 3 21 7.03 21 12Z",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})})}function Pf({className:e}){return jsxRuntime.jsx("svg",{className:e,viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",children:jsxRuntime.jsx("path",{d:"M9 12L11 14L15 10M21 12C21 16.97 16.97 21 12 21C7.03 21 3 16.97 3 12C3 7.03 7.03 3 12 3C16.97 3 21 7.03 21 12Z",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})})}function Df({className:e}){return jsxRuntime.jsx("svg",{className:e,viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",children:jsxRuntime.jsx("path",{d:"M12 9V13M12 17H12.01M10.29 3.86L1.82 18C1.65 18.3 1.55 18.65 1.55 18.99C1.55 19.34 1.64 19.69 1.81 19.99C1.99 20.29 2.24 20.55 2.54 20.72C2.84 20.901 3.18 20.99 3.53 21H20.47C20.82 20.99 21.16 20.901 21.46 20.72C21.76 20.55 22.01 20.29 22.19 19.99C22.36 19.69 22.449 19.34 22.448 18.99C22.447 18.65 22.35 18.3 22.18 18L13.71 3.86C13.53 3.57 13.28 3.32 12.98 3.15C12.68 2.99 12.34 2.9 12 2.9C11.66 2.9 11.32 2.99 11.02 3.15C10.72 3.32 10.47 3.57 10.29 3.86Z",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})})}function Lf({className:e}){return jsxRuntime.jsx("svg",{className:e,viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",children:jsxRuntime.jsx("path",{d:"M12 8V12M12 16H12.01M21 12C21 16.97 16.97 21 12 21C7.03 21 3 16.97 3 12C3 7.03 7.03 3 12 3C16.97 3 21 7.03 21 12Z",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})})}function Qi({className:e}){return jsxRuntime.jsx("svg",{className:e,viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",children:jsxRuntime.jsx("path",{d:"M4 4L12 12M12 4L4 12",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})})}var Ef={info:fd,success:Pf,warning:Df,error:Lf,default:fd},Mf={info:"bg-blue-50 text-blue-800 border-blue-200 dark:bg-blue-900/20 dark:text-blue-300 dark:border-blue-800",success:"bg-green-50 text-green-800 border-green-200 dark:bg-green-900/20 dark:text-green-300 dark:border-green-800",warning:"bg-yellow-50 text-yellow-800 border-yellow-200 dark:bg-yellow-900/20 dark:text-yellow-300 dark:border-yellow-800",error:"bg-red-50 text-red-800 border-red-200 dark:bg-red-900/20 dark:text-red-300 dark:border-red-800",default:"bg-gray-50 text-gray-800 border-gray-200 dark:bg-gray-800 dark:text-gray-300 dark:border-gray-700"},If={info:"text-blue-600 dark:text-blue-400",success:"text-green-600 dark:text-green-400",warning:"text-yellow-600 dark:text-yellow-400",error:"text-red-600 dark:text-red-400",default:"text-gray-600 dark:text-gray-400"};function Af({type:e="default",title:t,description:r,children:n,icon:o,action:a,closable:s=false,onClose:l,fullWidth:i=false,className:c,...d}){let[u,f]=el.useState(true);if(!u)return null;let m=()=>{f(false),l?.();},p=Ef[e],w=n??r;return jsxRuntime.jsxs("div",{role:"alert",className:g("flex items-start gap-3 border px-4 py-3",i?"w-full":"rounded-lg",Mf[e],c),...d,children:[jsxRuntime.jsx("div",{className:g("shrink-0 mt-0.5",If[e]),children:o??jsxRuntime.jsx(p,{className:"w-5 h-5"})}),jsxRuntime.jsxs("div",{className:"flex-1 min-w-0",children:[t&&jsxRuntime.jsx("div",{className:"font-semibold text-sm",children:t}),w&&jsxRuntime.jsx("div",{className:g("text-sm",t?"mt-1 opacity-90":false),children:w}),a&&jsxRuntime.jsx("div",{className:"mt-3",children:a})]}),s&&jsxRuntime.jsx("button",{type:"button",onClick:m,className:g("shrink-0 rounded-md p-1 transition-colors","hover:bg-black/10 dark:hover:bg-white/10","focus:outline-none focus-visible:ring-2 focus-visible:ring-offset-2 focus-visible:ring-current"),"aria-label":"Close banner",children:jsxRuntime.jsx(Qi,{className:"w-4 h-4"})})]})}function zf({title:e,description:t,children:r,action:n,backgroundImage:o,closable:a=false,onClose:s,fullWidth:l=false,className:i,...c}){let[d,u]=el.useState(true);if(!d)return null;let f=()=>{u(false),s?.();},m=r??t;return jsxRuntime.jsxs("div",{className:g("relative overflow-hidden bg-gray-900 text-white",l?"w-full":"rounded-xl","py-12 px-6 sm:px-12",i),style:o?{backgroundImage:`url(${o})`,backgroundSize:"cover",backgroundPosition:"center"}:void 0,...c,children:[o&&jsxRuntime.jsx("div",{className:"absolute inset-0 bg-black/50","aria-hidden":"true"}),jsxRuntime.jsxs("div",{className:"relative z-10 max-w-3xl mx-auto text-center",children:[e&&jsxRuntime.jsx("h2",{className:"text-2xl sm:text-3xl lg:text-4xl font-bold tracking-tight",children:e}),m&&jsxRuntime.jsx("div",{className:g("text-base sm:text-lg opacity-90",e?"mt-4":false),children:m}),n&&jsxRuntime.jsx("div",{className:"mt-6",children:n})]}),a&&jsxRuntime.jsx("button",{type:"button",onClick:f,className:g("absolute top-4 right-4 z-10 rounded-md p-1.5 text-white/80 transition-colors","hover:text-white hover:bg-white/10","focus:outline-none focus-visible:ring-2 focus-visible:ring-offset-2 focus-visible:ring-white"),"aria-label":"Close banner",children:jsxRuntime.jsx(Qi,{className:"w-5 h-5"})})]})}function Wf({title:e,description:t,children:r,icon:n,action:o,badge:a,closable:s=false,onClose:l,fullWidth:i=false,className:c,...d}){let[u,f]=el.useState(true);if(!u)return null;let m=()=>{f(false),l?.();},p=r??t;return jsxRuntime.jsxs("div",{className:g("relative flex items-center gap-4 bg-linear-to-r from-indigo-600 to-purple-600 text-white px-4 py-3",i?"w-full":"rounded-lg",c),...d,children:[n&&jsxRuntime.jsx("div",{className:"shrink-0",children:n}),a&&jsxRuntime.jsx("span",{className:"shrink-0 inline-flex items-center rounded-full bg-white/20 px-2.5 py-0.5 text-xs font-semibold uppercase tracking-wide",children:a}),jsxRuntime.jsxs("div",{className:"flex-1 min-w-0 flex flex-wrap items-center gap-x-4 gap-y-1",children:[e&&jsxRuntime.jsx("span",{className:"font-semibold text-sm",children:e}),p&&jsxRuntime.jsx("span",{className:"text-sm opacity-90",children:p})]}),o&&jsxRuntime.jsx("div",{className:"shrink-0",children:o}),s&&jsxRuntime.jsx("button",{type:"button",onClick:m,className:g("shrink-0 rounded-md p-1 text-white/80 transition-colors","hover:text-white hover:bg-white/10","focus:outline-none focus-visible:ring-2 focus-visible:ring-offset-2 focus-visible:ring-white"),"aria-label":"Close banner",children:jsxRuntime.jsx(Qi,{className:"w-4 h-4"})})]})}function hd({variant:e="notification",...t}){switch(e){case "hero":return jsxRuntime.jsx(zf,{...t});case "promotion":return jsxRuntime.jsx(Wf,{...t});default:return jsxRuntime.jsx(Af,{...t})}}hd.displayName="Banner";var Hf={sm:"text-xs",md:"text-sm",lg:"text-base"};function Bf({items:e,separator:t="/",size:r="md",maxItems:n,itemColor:o="text-gray-500 hover:text-gray-900 dark:text-gray-400 dark:hover:text-gray-100",activeColor:a="text-gray-700 font-medium dark:text-gray-200",separatorColor:s="text-gray-400 dark:text-gray-500",className:l,...i}){let c=e,d=false;if(n&&e.length>n){d=true;let u=e[0],f=e.slice(-(n-1));c=[u,...f];}return jsxRuntime.jsx("nav",{"aria-label":"Breadcrumb",className:g("inline-flex items-center",Hf[r],l),...i,children:jsxRuntime.jsx("ol",{className:"inline-flex items-center space-x-1 md:space-x-2",children:c.map((u,f)=>{let m=f===c.length-1;return jsxRuntime.jsxs("li",{className:"inline-flex items-center",children:[d&&f===1&&jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx("span",{className:g("mx-1 select-none",s),children:"..."}),jsxRuntime.jsx("span",{className:g("mx-1 select-none",s),"aria-hidden":"true",children:t})]}),u.href||u.onClick?jsxRuntime.jsxs("a",{href:u.href,onClick:u.onClick,className:g("inline-flex items-center gap-1.5 transition-colors",m?a:o),"aria-current":m?"page":void 0,children:[u.icon&&jsxRuntime.jsx("span",{className:"inline-flex","aria-hidden":"true",children:u.icon}),jsxRuntime.jsx("span",{children:u.label})]}):jsxRuntime.jsxs("span",{className:g("inline-flex items-center gap-1.5",m?a:o),"aria-current":m?"page":void 0,children:[u.icon&&jsxRuntime.jsx("span",{className:"inline-flex","aria-hidden":"true",children:u.icon}),jsxRuntime.jsx("span",{children:u.label})]}),!m&&jsxRuntime.jsx("span",{className:g("mx-2 select-none",s),"aria-hidden":"true",children:t})]},u.href??u.label)})})})}var $f=22,_f=.42,bd=3,yd=8,Xf=12,Gf=["fill-gray-300 dark:fill-gray-500","fill-gray-200 dark:fill-gray-600","fill-gray-100 dark:fill-gray-700","fill-gray-50 dark:fill-gray-800"],Kf=el.memo(function({rows:t,color:r}){return jsxRuntime.jsx("g",{children:t.map(n=>jsxRuntime.jsxs("g",{children:[n.bands.map(o=>jsxRuntime.jsx("path",{d:o.d,className:o.className,fill:o.fill},o.key)),n.measure?jsxRuntime.jsx("path",{d:n.measure,fill:r}):null,n.target?jsxRuntime.jsx("line",{x1:n.target.x,y1:n.target.y1,x2:n.target.x,y2:n.target.y2,strokeWidth:2,strokeLinecap:"round",className:"stroke-gray-900 dark:stroke-white"}):null,n.label?jsxRuntime.jsx("text",{x:n.label.x,y:n.label.y,dominantBaseline:"middle",className:"fill-gray-700 text-[11px] font-medium [font-variant-numeric:tabular-nums] dark:fill-gray-200",children:n.label.text}):null]},n.key))})});function Uf({width:e,height:t,rows:r,x:n,size:o,sharedDomain:a,showValues:s,trackSize:l,rangeColors:i,color:c,tooltip:d,plotLabel:u,formatValue:f,onRowClick:m}){let[p,w]=el.useState(null),v=el.useMemo(()=>{let L=r.map(N=>N.label),R=s?r.map(N=>N.formattedValue):[],T={top:6,right:s?wr(R)+yd*2:8,bottom:a?26+(n.label?16:0):6,left:n.hidden?8:n.height??wr(L)+Xf},y=Math.max(0,e-T.left-T.right),M=Math.max(0,t-T.top-T.bottom),k=xn(r.map((N,W)=>W),[0,M],{paddingInner:.34}),z=Math.min(l??$f,k.bandwidth),H=Math.max(3,z*_f),P=i??Gf,B=i!==void 0,C=r.map((N,W)=>{let F=Math.max(0,N.value??0,N.target??0,...N.ranges.length>0?N.ranges:[0]),K=a??(N.ranges.length>0?[0,F]:xs(0,F,4)),j=Er(K,[0,y]),A=k(W)+(k.bandwidth-z)/2,D=A+z/2,V=N.ranges.length>0?[...N.ranges].sort((G,$)=>G-$):[K[1]],O=K[0],_=V.map((G,$)=>{let Y=j(O),se=j(Math.max(O,G));O=G;let ae=P[Math.min($,P.length-1)];return {key:`${W}-${$}`,d:cr({x:Y,y:A,width:Math.max(0,se-Y),height:z,radius:0}),className:B?void 0:ae,fill:B?ae:void 0}}),X=N.value===null?null:cr({x:j(K[0]),y:D-H/2,width:Math.max(0,j(N.value)-j(K[0])),height:H,radius:2,round:"right"});return {key:`${W}`,bands:_,measure:X,target:N.target===null?null:{x:j(N.target),y1:A-bd,y2:A+z+bd},label:s?{x:y+yd,y:D,text:N.formattedValue}:null,top:k(W),height:k.bandwidth}}),b=n.hidden?[]:r.map((N,W)=>({value:N.x,offset:k.center(W),label:N.label})),E=a?wa(a[0],a[1],5).map(N=>({value:N,offset:Er(a,[0,y])(N),label:f(N)})):[];return {margin:T,innerWidth:y,innerHeight:M,band:k,rendered:C,categoryTicks:b,valueTicks:E,centers:r.map((N,W)=>k.center(W))}},[r,n,e,t,a,s,l,i,f]),x=el.useCallback(L=>{if(d===false||r.length===0)return;let R=L.currentTarget.getBoundingClientRect(),T=L.clientY-R.top-v.margin.top;w(Vt(v.centers,T));},[d,r.length,v.margin.top,v.centers]),h=el.useCallback(L=>{if(r.length===0)return;let R=r.length-1,T=p??0,y=L.key==="ArrowDown"?Math.min(R,T+1):L.key==="ArrowUp"?Math.max(0,T-1):L.key==="Home"?0:L.key==="End"?R:L.key==="Escape"?null:void 0;y!==void 0&&(L.preventDefault(),w(y));},[r.length,p]),I=el.useCallback(()=>{!m||p===null||m(r[p]);},[m,p,r]),S=p===null?null:r[p];return jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsxs("svg",{width:e,height:t,role:"img","aria-label":u??r.map(L=>L.label).join(", "),tabIndex:0,className:"touch-none focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-blue-500",onPointerMove:x,onPointerLeave:()=>w(null),onKeyDown:h,onBlur:()=>w(null),onClick:I,children:[jsxRuntime.jsxs("g",{transform:`translate(${v.margin.left}, ${v.margin.top})`,children:[p!==null&&v.rendered[p]?jsxRuntime.jsx("rect",{x:-4,y:v.rendered[p].top,width:v.innerWidth+8,height:v.rendered[p].height,rx:4,className:"fill-gray-400 dark:fill-gray-500",opacity:.12,"aria-hidden":"true"}):null,jsxRuntime.jsx(Kf,{rows:v.rendered,color:c})]}),jsxRuntime.jsx("g",{transform:`translate(${v.margin.left}, ${v.margin.top})`,children:n.hidden?null:jsxRuntime.jsx(Ue,{orientation:"left",ticks:v.categoryTicks,length:v.innerHeight,showLine:false,tickSize:0,size:o})}),a?jsxRuntime.jsx("g",{transform:`translate(${v.margin.left}, ${v.margin.top+v.innerHeight})`,children:jsxRuntime.jsx(Ue,{orientation:"bottom",ticks:v.valueTicks,length:v.innerWidth,label:n.label,size:o})}):null]}),S&&p!==null&&d!==false?jsxRuntime.jsx(dt,{x:v.margin.left+v.innerWidth/2,y:v.margin.top+v.centers[p],containerWidth:e,children:typeof d=="function"?d(S):jsxRuntime.jsxs("div",{className:"flex flex-col gap-1",children:[jsxRuntime.jsx("div",{className:"font-medium text-gray-900 dark:text-gray-100",children:S.label}),jsxRuntime.jsxs("div",{className:"flex items-center gap-2",children:[jsxRuntime.jsx("span",{className:"h-0.5 w-3 shrink-0 rounded-full",style:{backgroundColor:c},"aria-hidden":"true"}),jsxRuntime.jsx("span",{className:"font-semibold text-gray-900 [font-variant-numeric:tabular-nums] dark:text-gray-100",children:S.formattedValue}),S.attainment!==null?jsxRuntime.jsx("span",{className:"text-gray-500 [font-variant-numeric:tabular-nums] dark:text-gray-400",children:Ut(S.attainment)}):null]})]})}):null]})}function Yf({data:e,x:t,value:r,target:n,ranges:o,domain:a,normalize:s="row",showValues:l=true,trackSize:i,rangeColors:c,color:d,height:u,width:f,size:m="md",tooltip:p=true,tableView:w=false,title:v,description:x,loading:h=false,emptyState:I,locale:S,plotLabel:L,valueLabel:R,targetLabel:T,format:y,onRowClick:M,className:k,...z}){let H=We(),P=el.useMemo(()=>y??(F=>nt(F,S)),[y,S]),B=el.useMemo(()=>t.format??(F=>Ze(F,S)),[t.format,S]),C=el.useMemo(()=>e.map((F,K)=>{let j=ct(F,t.key,K),A=Ee(F,r),D=n?Ee(F,n):null,V=o?F[o]:void 0,O=Array.isArray(V)?V.map(_=>typeof _=="number"?_:Number(_)).filter(_=>Number.isFinite(_)):[];return {index:K,x:j,label:B(j,K),value:A,target:D,ranges:O,formattedValue:A===null?"\u2014":P(A),formattedTarget:D===null?"\u2014":P(D),attainment:A===null||D===null||D===0?null:A/D,datum:F}}),[e,t.key,r,n,o,P,B]),b=el.useMemo(()=>{if(a)return a;if(s!=="shared")return null;let F=C.reduce((K,j)=>Math.max(K,j.value??0,j.target??0,...j.ranges),0);return xs(0,F,5)},[a,s,C]),E=u??Math.max(72,C.length*34+(b?30:12)),N=el.useMemo(()=>[{key:r,label:R??H.chartValue},...n?[{key:n,label:T??H.chartTarget}]:[]],[r,n,R,T,H.chartValue,H.chartTarget]),W=d??Dr(0);return jsxRuntime.jsx(lt,{title:v,description:x,height:E,width:f,size:m,loading:h,empty:C.length===0,emptyState:I,tableView:w,table:w?jsxRuntime.jsx(zt,{data:e,series:N,xKey:t.key,xLabel:t.label??t.key,formatX:B,formatValue:P,caption:typeof v=="string"?v:void 0}):void 0,className:k,...z,children:({width:F})=>jsxRuntime.jsx(Uf,{width:F,height:E,rows:C,x:t,size:m,sharedDomain:b,showValues:l,trackSize:i,rangeColors:c,color:W,tooltip:p,plotLabel:L,formatValue:P,onRowClick:M})})}function jf({className:e}){return jsxRuntime.jsxs("svg",{className:g("animate-spin",e),xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24","aria-hidden":"true",children:[jsxRuntime.jsx("circle",{className:"opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor",strokeWidth:"4"}),jsxRuntime.jsx("path",{className:"opacity-75",fill:"currentColor",d:"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"})]})}var Zf={sm:"px-3 py-1.5 text-xs gap-1.5",md:"px-4 py-2 text-sm gap-2",lg:"px-5 py-2.5 text-base gap-2",xl:"px-6 py-3 text-lg gap-2.5"},Qf={sm:"p-1.5",md:"p-2",lg:"p-2.5",xl:"p-3"},ws={sm:"h-3.5 w-3.5",md:"h-4 w-4",lg:"h-5 w-5",xl:"h-6 w-6"},Jf={none:"rounded-none",sm:"rounded-sm",md:"rounded-md",lg:"rounded-lg",full:"rounded-full"};function Wt({label:e,children:t,onClick:r,disabled:n=false,className:o,type:a="button",size:s="md",loading:l=false,leftIcon:i,rightIcon:c,icon:d,fullWidth:u=false,rounded:f="lg",bgColor:m="bg-blue-600 hover:bg-blue-700",textColor:p="text-white",focusColor:w="focus:ring-blue-300",selected:v=false,value:x,showFocusOnClick:h=false,...I}){let S=n||l,L=d!==void 0&&!t&&!e,R=g("inline-flex items-center justify-center font-medium transition-colors focus:outline-none disabled:opacity-50 disabled:cursor-not-allowed",h?"focus:ring-4":"focus-visible:ring-4"),T=g(v?"bg-blue-700 text-white ring-2 ring-blue-500":m,!v&&p,w&&h&&`focus:ring-4 ${w}`,w&&!h&&`focus-visible:ring-4 ${w}`);return jsxRuntime.jsx("button",{type:a,onClick:r,disabled:S,"data-value":x,className:g(R,L?Qf[s]:Zf[s],Jf[f],T,u&&"w-full",o),...I,children:l?jsxRuntime.jsx(jf,{className:ws[s]}):L?jsxRuntime.jsx("span",{className:ws[s],children:d}):jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[i&&jsxRuntime.jsx("span",{className:ws[s],children:i}),t??e,c&&jsxRuntime.jsx("span",{className:ws[s],children:c})]})})}function _o({children:e,orientation:t="horizontal",size:r,fullWidth:n=false,selectedValue:o,onChange:a,className:s}){let i=el__namespace.default.Children.toArray(e).filter(d=>el__namespace.default.isValidElement(d)&&typeof d.type!="string"),c=(d,u)=>f=>{d!==void 0&&a&&a(d),u&&u(f);};return jsxRuntime.jsx("div",{className:g("inline-flex",t==="horizontal"?"flex-row":"flex-col",n&&"w-full",s),role:"group",children:i.map((d,u)=>{let f=u===0,m=u===i.length-1,p=!f&&!m,w=d.props.value,v=o!==void 0&&w===o,x=g(t==="horizontal"&&f&&"rounded-r-none",t==="horizontal"&&m&&"rounded-l-none",t==="horizontal"&&p&&"rounded-none",t==="horizontal"&&!f&&"-ml-px",t==="vertical"&&f&&"rounded-b-none",t==="vertical"&&m&&"rounded-t-none",t==="vertical"&&p&&"rounded-none",t==="vertical"&&!f&&"-mt-px",n&&"flex-1");return el__namespace.default.cloneElement(d,{...d.props,size:r??d.props.size,selected:v||d.props.selected,onClick:c(w,d.props.onClick),className:g(x,d.props.className)})})})}var n0=10080*60*1e3;function jt(e){return new Date(e.getFullYear(),e.getMonth(),e.getDate())}function co(e){return new Date(e.getFullYear(),e.getMonth(),1)}function Cn(e,t){return new Date(e.getFullYear(),e.getMonth(),e.getDate()+t)}function Gr(e,t){return new Date(e.getFullYear(),e.getMonth()+t,1)}function rl(e){return new Date(e.getFullYear(),e.getMonth()+1,0).getDate()}function nn(e,t){return !e||!t?false:e.getFullYear()===t.getFullYear()&&e.getMonth()===t.getMonth()&&e.getDate()===t.getDate()}function tl(e,t){return e.getFullYear()===t.getFullYear()&&e.getMonth()===t.getMonth()}function Hn(e,t){return e.getFullYear()*12+e.getMonth()-(t.getFullYear()*12+t.getMonth())}function Ss(e){let t=`${e.getMonth()+1}`.padStart(2,"0"),r=`${e.getDate()}`.padStart(2,"0");return `${e.getFullYear()}-${t}-${r}`}function o0(e){let t=jt(e);t.setDate(t.getDate()-(t.getDay()+6)%7+3);let r=new Date(t.getFullYear(),0,4);return r.setDate(r.getDate()-(r.getDay()+6)%7+3),1+Math.round((t.getTime()-r.getTime())/n0)}function Cd(e,t,r){return t&&e<jt(t)?jt(t):r&&e>jt(r)?jt(r):e}function a0(e,t,r){let n=co(e),o=(n.getDay()-t+7)%7,a=Cn(n,-o),s=r?6:Math.ceil((o+rl(e))/7);return Array.from({length:s},(l,i)=>Array.from({length:7},(c,d)=>Cn(a,i*7+d)))}function s0({className:e}){return jsxRuntime.jsx("svg",{className:e,fill:"none",stroke:"currentColor",viewBox:"0 0 24 24","aria-hidden":"true",children:jsxRuntime.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M15 19l-7-7 7-7"})})}function i0({className:e}){return jsxRuntime.jsx("svg",{className:e,fill:"none",stroke:"currentColor",viewBox:"0 0 24 24","aria-hidden":"true",children:jsxRuntime.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M9 5l7 7-7 7"})})}var l0={sm:{day:"h-7 w-7 text-xs",head:"h-7 w-7 text-[10px]",caption:"text-xs",nav:"h-6 w-6",icon:"h-3 w-3",padding:"p-2",gap:"gap-3",footer:"text-xs",select:"text-xs py-0.5 pl-1 pr-5"},md:{day:"h-9 w-9 text-sm",head:"h-9 w-9 text-xs",caption:"text-sm",nav:"h-7 w-7",icon:"h-4 w-4",padding:"p-3",gap:"gap-4",footer:"text-sm",select:"text-sm py-1 pl-1.5 pr-6"},lg:{day:"h-11 w-11 text-base",head:"h-11 w-11 text-sm",caption:"text-base",nav:"h-9 w-9",icon:"h-5 w-5",padding:"p-4",gap:"gap-5",footer:"text-sm",select:"text-base py-1.5 pl-2 pr-7"}},c0={primary:"bg-blue-600 text-white hover:bg-blue-700 dark:bg-blue-500 dark:hover:bg-blue-600",success:"bg-green-600 text-white hover:bg-green-700 dark:bg-green-500 dark:hover:bg-green-600",warning:"bg-yellow-500 text-white hover:bg-yellow-600 dark:bg-yellow-400 dark:text-gray-900 dark:hover:bg-yellow-500",error:"bg-red-600 text-white hover:bg-red-700 dark:bg-red-500 dark:hover:bg-red-600",info:"bg-cyan-600 text-white hover:bg-cyan-700 dark:bg-cyan-500 dark:hover:bg-cyan-600",neutral:"bg-gray-700 text-white hover:bg-gray-800 dark:bg-gray-500 dark:hover:bg-gray-400"},d0={primary:"bg-blue-50 dark:bg-blue-900/30",success:"bg-green-50 dark:bg-green-900/30",warning:"bg-yellow-50 dark:bg-yellow-900/30",error:"bg-red-50 dark:bg-red-900/30",info:"bg-cyan-50 dark:bg-cyan-900/30",neutral:"bg-gray-100 dark:bg-gray-700/40"},u0={primary:"text-blue-900 dark:text-blue-100",success:"text-green-900 dark:text-green-100",warning:"text-yellow-900 dark:text-yellow-100",error:"text-red-900 dark:text-red-100",info:"text-cyan-900 dark:text-cyan-100",neutral:"text-gray-900 dark:text-gray-100"},m0={primary:"font-semibold text-blue-600 dark:text-blue-400",success:"font-semibold text-green-600 dark:text-green-400",warning:"font-semibold text-yellow-600 dark:text-yellow-400",error:"font-semibold text-red-600 dark:text-red-400",info:"font-semibold text-cyan-600 dark:text-cyan-400",neutral:"font-semibold text-gray-900 dark:text-gray-100"},lo={primary:"focus-visible:ring-blue-500",success:"focus-visible:ring-green-500",warning:"focus-visible:ring-yellow-500",error:"focus-visible:ring-red-500",info:"focus-visible:ring-cyan-500",neutral:"focus-visible:ring-gray-500"};function Rs(e,t){if(e==="multiple")return Array.isArray(t)?t.map(jt):[];if(e==="range"){let r=t??null;return {from:r?.from?jt(r.from):null,to:r?.to?jt(r.to):null}}return t instanceof Date?jt(t):null}function kd(e){return e?e instanceof Date?e:Array.isArray(e)?e[0]??null:e.from??e.to??null:null}function nl(e){let{mode:t="single",value:r,defaultValue:n,onChange:o,max:a,month:s,defaultMonth:l,onMonthChange:i,numberOfMonths:c=1,weekStartsOn:d=0,locale:u,size:f="md",color:m="primary",minDate:p,maxDate:w,disabledDates:v,disabled:x=false,showOutsideDays:h=true,showWeekNumbers:I=false,fixedWeeks:S=false,captionLayout:L="label",fromYear:R,toYear:T,todayButton:y=false,clearButton:M=false,footer:k,bordered:z=true,renderDay:H,labels:P,className:B,...C}=e,b=l0[f],E=Math.max(1,c),N=el.useMemo(()=>jt(new Date),[]),W=r!==void 0,[F,K]=el.useState(()=>Rs(t,n)),j=W?Rs(t,r):F,A=s!==void 0,[D,V]=el.useState(()=>co(l??kd(Rs(t,n??r))??new Date)),O=A?co(s):D,_=el.useCallback(he=>{let ge=co(he);A||V(ge),i?.(ge);},[A,i]),X=el.useRef(null),G=el.useRef(false),[$,Y]=el.useState(()=>{let he=kd(Rs(t,n??r)),ge=co(l??s??he??new Date),J=he&&tl(he,ge)?he:tl(jt(new Date),ge)?jt(new Date):ge;return Cd(J,p,w)}),se=Gr(O,E-1),U=Hn($,O)>=0&&Hn($,se)<=0?$:O;el.useEffect(()=>{if(!G.current)return;G.current=false,X.current?.querySelector(`[data-day="${Ss($)}"]:not([data-outside])`)?.focus();},[$,O]);let Q=el.useCallback(he=>{let ge=Cd(jt(he),p,w);G.current=true,Y(ge);let J=Gr(O,E-1);Hn(ge,O)<0?_(ge):Hn(ge,J)>0&&_(Gr(ge,-(E-1)));},[O,E,p,w,_]),le=el.useCallback(he=>x||p&&he<jt(p)||w&&he>jt(w)?true:typeof v=="function"?v(he):Array.isArray(v)?v.some(ge=>nn(ge,he)):false,[x,p,w,v]),[ye,te]=el.useState(null),Ce=el.useCallback(he=>{W||K(he),o?.(he);},[W,o]),Pe=el.useCallback(he=>{let ge=jt(he);if(le(ge))return;if(t==="multiple"){let ne=j??[];if(ne.some(me=>nn(me,ge))){Ce(ne.filter(me=>!nn(me,ge)));return}if(a!==void 0&&ne.length>=a)return;Ce([...ne,ge].sort((me,Me)=>me.getTime()-Me.getTime()));return}if(t==="range"){let ne=j??{from:null,to:null};if(!ne.from||ne.to){Ce({from:ge,to:null});return}Ce(ge<ne.from?{from:ge,to:ne.from}:{from:ne.from,to:ge});return}Ce(nn(j,ge)?null:ge);},[t,j,a,Ce,le]),Se=el.useCallback(he=>{Pe(he),Y(jt(he)),Hn(he,O)<0?_(he):Hn(he,Gr(O,E-1))>0&&_(Gr(he,-(E-1)));},[Pe,O,E,_]),De=!x&&(!p||Hn(O,co(p))>0),Ne=!x&&(!w||Hn(Gr(O,E-1),co(w))<0),re=el.useCallback(()=>{_(Gr(O,-1));},[O,_]),fe=el.useCallback(()=>{_(Gr(O,1));},[O,_]),je=el.useCallback(he=>{if(x)return;let ge=$;switch(he.key){case "ArrowLeft":he.preventDefault(),Q(Cn(ge,-1));break;case "ArrowRight":he.preventDefault(),Q(Cn(ge,1));break;case "ArrowUp":he.preventDefault(),Q(Cn(ge,-7));break;case "ArrowDown":he.preventDefault(),Q(Cn(ge,7));break;case "Home":he.preventDefault(),Q(Cn(ge,-((ge.getDay()-d+7)%7)));break;case "End":he.preventDefault(),Q(Cn(ge,6-(ge.getDay()-d+7)%7));break;case "PageUp":{he.preventDefault();let J=he.shiftKey?-12:-1,ne=Gr(ge,J),be=Math.min(ge.getDate(),rl(ne));Q(new Date(ne.getFullYear(),ne.getMonth(),be));break}case "PageDown":{he.preventDefault();let J=he.shiftKey?12:1,ne=Gr(ge,J),be=Math.min(ge.getDate(),rl(ne));Q(new Date(ne.getFullYear(),ne.getMonth(),be));break}}},[x,$,Q,d]),Dt=el.useMemo(()=>{let he=new Intl.DateTimeFormat(u,{weekday:"short"}),ge=new Intl.DateTimeFormat(u,{weekday:"long"}),J=new Date(2024,0,7);return Array.from({length:7},(ne,be)=>{let me=Cn(J,(d+be)%7);return {short:he.format(me),long:ge.format(me)}})},[u,d]),Ie=el.useMemo(()=>{let he=new Intl.DateTimeFormat(u,{month:"long"});return Array.from({length:12},(ge,J)=>he.format(new Date(2024,J,1)))},[u]),we=el.useMemo(()=>new Intl.DateTimeFormat(u,{month:"long",year:"numeric"}),[u]),pt=el.useMemo(()=>new Intl.DateTimeFormat(u,{dateStyle:"full"}),[u]),Bt=el.useMemo(()=>{if(L!=="dropdown")return [];let he=N.getFullYear(),ge=R??p?.getFullYear()??he-100,J=T??w?.getFullYear()??he+10;return J<ge?[ge]:Array.from({length:J-ge+1},(ne,be)=>ge+be)},[L,R,T,p,w,N]),yt=t==="range"?j:null,er=yt&&yt.from&&!yt.to&&ye&&ye>yt.from?ye:null,Mt=yt?.to??er,Nt=el.useCallback((he,ge)=>{let J=!tl(he,ge),ne=le(he),be=false,me=false,Me=false,ke=false;return t==="multiple"?be=(j??[]).some(Re=>nn(Re,he)):t==="range"?(me=nn(yt?.from,he),Me=nn(Mt,he),be=me||Me,ke=!!(yt?.from&&Mt&&he>yt.from&&he<Mt)):be=nn(j,he),{selected:be,today:nn(he,N),outside:J,disabled:ne,rangeStart:me,rangeEnd:Me,inRange:ke}},[t,j,yt,Mt,le,N]),gr=he=>{let ge=Gr(O,he),J=a0(ge,d,S),ne=he===0,be=he===E-1;return jsxRuntime.jsxs("div",{className:"flex flex-col",children:[jsxRuntime.jsxs("div",{className:"mb-2 flex items-center justify-between",children:[jsxRuntime.jsx("button",{type:"button",onClick:re,disabled:!De,"aria-label":P?.previousMonth??"Previous month",className:g("inline-flex items-center justify-center rounded-md transition-colors","text-gray-600 hover:bg-gray-100 dark:text-gray-300 dark:hover:bg-gray-700","focus:outline-none focus-visible:ring-2 focus-visible:ring-offset-1 dark:focus-visible:ring-offset-gray-900",lo[m],b.nav,!De&&"cursor-not-allowed opacity-40 hover:bg-transparent dark:hover:bg-transparent",!ne&&"invisible"),children:jsxRuntime.jsx(s0,{className:b.icon})}),L==="dropdown"?jsxRuntime.jsxs("div",{className:"flex items-center gap-1",children:[jsxRuntime.jsx("select",{"aria-label":P?.monthSelect??"Month",value:ge.getMonth(),disabled:x,onChange:me=>_(new Date(ge.getFullYear(),Number(me.target.value)-he,1)),className:g("rounded-md border border-gray-300 bg-white font-medium text-gray-900","dark:border-gray-600 dark:bg-gray-800 dark:text-gray-100","focus:outline-none focus-visible:ring-2",lo[m],b.select,x&&"cursor-not-allowed opacity-50"),children:Ie.map((me,Me)=>jsxRuntime.jsx("option",{value:Me,children:me},me))}),jsxRuntime.jsx("select",{"aria-label":P?.yearSelect??"Year",value:ge.getFullYear(),disabled:x,onChange:me=>_(new Date(Number(me.target.value),ge.getMonth()-he,1)),className:g("rounded-md border border-gray-300 bg-white font-medium text-gray-900","dark:border-gray-600 dark:bg-gray-800 dark:text-gray-100","focus:outline-none focus-visible:ring-2",lo[m],b.select,x&&"cursor-not-allowed opacity-50"),children:Bt.map(me=>jsxRuntime.jsx("option",{value:me,children:me},me))})]}):jsxRuntime.jsx("div",{"aria-live":"polite",className:g("font-semibold text-gray-900 dark:text-gray-100",b.caption),children:we.format(ge)}),jsxRuntime.jsx("button",{type:"button",onClick:fe,disabled:!Ne,"aria-label":P?.nextMonth??"Next month",className:g("inline-flex items-center justify-center rounded-md transition-colors","text-gray-600 hover:bg-gray-100 dark:text-gray-300 dark:hover:bg-gray-700","focus:outline-none focus-visible:ring-2 focus-visible:ring-offset-1 dark:focus-visible:ring-offset-gray-900",lo[m],b.nav,!Ne&&"cursor-not-allowed opacity-40 hover:bg-transparent dark:hover:bg-transparent",!be&&"invisible"),children:jsxRuntime.jsx(i0,{className:b.icon})})]}),jsxRuntime.jsxs("table",{role:"grid","aria-label":we.format(ge),className:"border-collapse",children:[jsxRuntime.jsx("thead",{children:jsxRuntime.jsxs("tr",{children:[I&&jsxRuntime.jsxs("th",{scope:"col",className:g("font-normal text-gray-400 dark:text-gray-500",b.head),children:[jsxRuntime.jsx("span",{className:"sr-only",children:P?.weekNumber??"Week number"}),jsxRuntime.jsx("span",{"aria-hidden":"true",children:"#"})]}),Dt.map(me=>jsxRuntime.jsx("th",{scope:"col",abbr:me.long,className:g("font-medium uppercase text-gray-500 dark:text-gray-400",b.head),children:me.short},me.long))]})}),jsxRuntime.jsx("tbody",{children:J.map(me=>jsxRuntime.jsxs("tr",{children:[I&&jsxRuntime.jsx("td",{className:g("text-center align-middle text-gray-400 dark:text-gray-500",b.head),children:o0(me[0])}),me.map(Me=>{let ke=Nt(Me,ge),Re=Ss(Me);if(ke.outside&&!h)return jsxRuntime.jsx("td",{className:"p-0"},Re);let Be=nn(Me,U)&&!ke.outside,ze=ke.inRange||ke.rangeStart&&!!Mt||ke.rangeEnd&&!!yt?.from;return jsxRuntime.jsx("td",{role:"presentation",className:g("p-0",ze&&d0[m],ze&&ke.rangeStart&&"rounded-l-full",ze&&ke.rangeEnd&&"rounded-r-full"),children:jsxRuntime.jsx("button",{type:"button","data-day":Re,"data-selected":ke.selected||void 0,"data-today":ke.today||void 0,"data-outside":ke.outside||void 0,role:"gridcell",tabIndex:Be?0:-1,disabled:x,"aria-selected":ke.selected,"aria-disabled":ke.disabled||void 0,"aria-current":ke.today?"date":void 0,"aria-label":pt.format(Me),onClick:()=>{ke.disabled||Se(Me);},onMouseEnter:()=>t==="range"&&te(jt(Me)),onMouseLeave:()=>t==="range"&&te(null),onFocus:()=>Y(jt(Me)),className:g("inline-flex items-center justify-center rounded-full transition-colors","focus:outline-none focus-visible:ring-2 focus-visible:ring-offset-1 dark:focus-visible:ring-offset-gray-900",lo[m],b.day,ke.selected?c0[m]:ke.inRange?g(u0[m],"hover:bg-gray-200/60 dark:hover:bg-gray-600/60"):ke.today?g(m0[m],"hover:bg-gray-100 dark:hover:bg-gray-700"):g("text-gray-900 dark:text-gray-100","hover:bg-gray-100 dark:hover:bg-gray-700"),ke.outside&&!ke.selected&&"text-gray-400 dark:text-gray-500",ke.disabled&&"cursor-not-allowed opacity-40 hover:bg-transparent dark:hover:bg-transparent"),children:H?H(Me,ke):Me.getDate()})},Re)})]},Ss(me[0])))})]})]},Ss(ge))},pr=el.useCallback(()=>{_(N),Y(N),le(N)||Pe(N);},[N,_,le,Pe]),vt=el.useCallback(()=>{Ce(t==="multiple"?[]:t==="range"?{from:null,to:null}:null);},[t,Ce]),Cr=!!k||y||M;return jsxRuntime.jsxs("div",{ref:X,onKeyDown:je,className:g("inline-block bg-white dark:bg-gray-900",z&&"rounded-lg border border-gray-200 shadow-sm dark:border-gray-700",b.padding,x&&"opacity-60",B),...C,children:[jsxRuntime.jsx("div",{className:g("flex flex-wrap",b.gap),children:Array.from({length:E},(he,ge)=>gr(ge))}),Cr&&jsxRuntime.jsxs("div",{className:g("mt-3 flex items-center justify-between gap-2 border-t border-gray-200 pt-3 dark:border-gray-700",b.footer),children:[jsxRuntime.jsx("div",{className:"text-gray-600 dark:text-gray-400",children:k}),(y||M)&&jsxRuntime.jsxs("div",{className:"flex items-center gap-2",children:[y&&jsxRuntime.jsx("button",{type:"button",onClick:pr,disabled:x,className:g("rounded-md px-2 py-1 font-medium transition-colors","text-gray-700 hover:bg-gray-100 dark:text-gray-300 dark:hover:bg-gray-700","focus:outline-none focus-visible:ring-2",lo[m],x&&"cursor-not-allowed opacity-50"),children:P?.today??"Today"}),M&&jsxRuntime.jsx("button",{type:"button",onClick:vt,disabled:x,className:g("rounded-md px-2 py-1 font-medium transition-colors","text-gray-700 hover:bg-gray-100 dark:text-gray-300 dark:hover:bg-gray-700","focus:outline-none focus-visible:ring-2",lo[m],x&&"cursor-not-allowed opacity-50"),children:P?.clear??"Clear"})]})]})]})}function g0(e,t,r){let n=r||"bg-white dark:bg-gray-800",o=t||"border-gray-200 dark:border-gray-700";switch(e){case "outlined":return g("border-2 bg-transparent",o);case "elevated":return g("shadow-lg border-0",n);case "filled":return g(r||"bg-gray-100 dark:bg-gray-700","border-0");default:return g("border",o,n)}}function p0(e){switch(e){case "sm":return "max-w-sm";case "lg":return "max-w-2xl";default:return "max-w-md"}}function f0(e){switch(e){case "none":return "rounded-none";case "sm":return "rounded-sm";case "md":return "rounded-md";case "xl":return "rounded-xl";case "full":return "rounded-3xl";default:return "rounded-lg"}}function h0(e){switch(e){case "none":return "";case "sm":return "p-2";case "lg":return "p-6";default:return ""}}function wd({variant:e="default",size:t="md",rounded:r="lg",padding:n="none",bgColor:o,borderColor:a,shadowColor:s,hoverable:l=false,clickable:i=false,as:c="div",className:d,children:u,onClick:f,...m}){let p=c,w=l?"transition-all duration-200 hover:shadow-lg hover:-translate-y-0.5":"",v=i?"cursor-pointer active:scale-[0.98] transition-transform":"",x=s||"";return jsxRuntime.jsx(p,{className:g("overflow-hidden",g0(e,a,o),p0(t),f0(r),h0(n),w,v,x,d),onClick:i||f?f:void 0,...m,children:u})}wd.displayName="Card";function y0(e){switch(e){case "none":return "p-0";case "sm":return "px-3 py-2";case "lg":return "px-6 py-5";default:return "px-4 py-4"}}function Sd({actions:e,divider:t=false,padding:r="md",className:n,children:o,...a}){return jsxRuntime.jsxs("div",{className:g("flex items-center justify-between",y0(r),t&&"border-b border-gray-200 dark:border-gray-700",n),...a,children:[jsxRuntime.jsx("div",{className:"flex-1",children:o}),e&&jsxRuntime.jsx("div",{className:"flex items-center gap-2 ml-4",children:e})]})}Sd.displayName="CardHeader";function v0(e){switch(e){case "none":return "p-0";case "sm":return "px-3 py-2";case "lg":return "px-6 py-5";default:return "px-4 py-4"}}function Rd({padding:e="md",className:t,children:r,...n}){return jsxRuntime.jsx("div",{className:g(v0(e),t),...n,children:r})}Rd.displayName="CardBody";function k0(e){switch(e){case "none":return "p-0";case "sm":return "px-3 py-2";case "lg":return "px-6 py-5";default:return "px-4 py-4"}}function w0(e){switch(e){case "center":return "justify-center";case "right":return "justify-end";case "between":return "justify-between";default:return "justify-start"}}function Td({divider:e=false,align:t="left",padding:r="md",className:n,children:o,...a}){return jsxRuntime.jsx("div",{className:g("flex items-center gap-2",k0(r),w0(t),e&&"border-t border-gray-200 dark:border-gray-700",n),...a,children:o})}Td.displayName="CardFooter";function S0(e){switch(e){case "square":return "aspect-square";case "video":return "aspect-video";case "wide":return "aspect-[21/9]";default:return ""}}function R0(e){switch(e){case "contain":return "object-contain";case "fill":return "object-fill";case "none":return "object-none";default:return "object-cover"}}function Pd({position:e="top",aspectRatio:t="auto",objectFit:r="cover",src:n,alt:o,className:a,...s}){let l=e==="top"?"rounded-t-lg":"rounded-b-lg";return jsxRuntime.jsx("img",{src:n,alt:o,className:g("w-full",S0(t),R0(r),l,a),...s})}Pd.displayName="CardImage";function P0(e){switch(e){case "sm":return "text-base font-medium";case "lg":return "text-2xl font-bold";default:return "text-xl font-semibold"}}function Dd({as:e="h3",size:t="md",className:r,children:n,...o}){return jsxRuntime.jsx(e,{className:g("text-gray-900 dark:text-white",P0(t),r),...o,children:n})}Dd.displayName="CardTitle";function L0(e){switch(e){case "sm":return "text-xs";case "lg":return "text-base";default:return "text-sm"}}function Ld({size:e="md",className:t,children:r,...n}){return jsxRuntime.jsx("p",{className:g("text-gray-500 dark:text-gray-400",L0(e),t),...n,children:r})}Ld.displayName="CardDescription";function Pa(e,t){if(e.length===0)return Number.NaN;if(e.length===1)return e[0];let r=(e.length-1)*Math.min(1,Math.max(0,t)),n=Math.floor(r),o=r-n;return o===0?e[n]:e[n]+(e[n+1]-e[n])*o}function M0(e,t){let r=e.filter(Number.isFinite).sort((n,o)=>n-o);return Pa(r,t)}function ol(e,t=1.5){let r=e.filter(f=>typeof f=="number"&&Number.isFinite(f)).sort((f,m)=>f-m);if(r.length===0)return null;let n=Pa(r,.25),o=Pa(r,.5),a=Pa(r,.75),s=a-n,l=Math.max(0,t)*s,i=n-l,c=a+l,d=r.filter(f=>f>=i&&f<=c),u=r.filter(f=>f<i||f>c);return {count:r.length,min:r[0],max:r[r.length-1],q1:n,median:o,q3:a,iqr:s,lower:d.length>0?d[0]:n,upper:d.length>0?d[d.length-1]:a,outliers:u}}var z0=40,W0=3,Ts=4,sl="text-right [font-variant-numeric:tabular-nums]",H0=el.memo(function({boxes:t,color:r}){return jsxRuntime.jsx("g",{children:t.map(n=>jsxRuntime.jsxs("g",{children:[jsxRuntime.jsx("g",{stroke:r,strokeWidth:1.5,strokeLinecap:"round",children:n.whiskers.map(o=>jsxRuntime.jsx("line",{x1:o.x1,y1:o.y1,x2:o.x2,y2:o.y2},o.key))}),n.body?jsxRuntime.jsx("path",{d:n.body,fill:r}):null,n.median?jsxRuntime.jsx("line",{x1:n.median.x1,y1:n.median.y1,x2:n.median.x2,y2:n.median.y2,strokeWidth:2,className:"stroke-white dark:stroke-gray-800"}):null,n.mean?jsxRuntime.jsx("path",{d:`M${n.mean.cx},${n.mean.cy-Ts} L${n.mean.cx+Ts},${n.mean.cy} L${n.mean.cx},${n.mean.cy+Ts} L${n.mean.cx-Ts},${n.mean.cy} Z`,strokeWidth:1.5,stroke:r,className:"fill-white dark:fill-gray-800"}):null,n.outliers.map(o=>jsxRuntime.jsx("circle",{cx:o.cx,cy:o.cy,r:W0,fill:r,strokeWidth:1.5,className:"stroke-white dark:stroke-gray-800"},o.key))]},n.key))})});function B0({width:e,height:t,data:r,boxes:n,x:o,y:a,grid:s,size:l,orientation:i,boxSize:c,showOutliers:d,showMean:u,color:f,referenceLines:m,margin:p,tooltip:w,plotLabel:v,formatValue:x,formatX:h,onBoxClick:I}){let[S,L]=el.useState(null),R=We(),T=el.useMemo(()=>{let P=i==="vertical",B=n.flatMap(V=>V.stats===null?[]:[V.stats.min,V.stats.max,...u&&V.mean!==null?[V.mean]:[]]),C=rr({width:e,height:t,data:r,x:o,y:a,bounds:B.length===0?null:[Math.min(...B),Math.max(...B)],margin:p,orientation:i,placement:"band",formatValue:x,formatX:h,defaultIncludeZero:false}),{valueScale:b,bandwidth:E,categoryPositions:N,innerWidth:W,innerHeight:F}=C,K=Math.min(c??z0,E),j=K*.5,A=(V,O)=>P?{x:V,y:O}:{x:O,y:V},D=n.map((V,O)=>{let _=N[O]+(E-K)/2,X=_+K/2;if(V.stats===null)return {key:`${O}`,body:"",median:null,whiskers:[],outliers:[],mean:null,top:N[O],height:E};let{q1:G,q3:$,median:Y,lower:se,upper:ae,outliers:U}=V.stats,Q=b(G),le=b($),ye=Math.min(Q,le),te=Math.abs(le-Q),Ce=cr({...P?{x:_,y:ye,width:K,height:Math.max(1,te)}:{x:ye,y:_,width:Math.max(1,te),height:K},radius:2,round:"none"}),Pe=b(Y),Se=P?{x1:_,y1:Pe,x2:_+K,y2:Pe}:{x1:Pe,y1:_,x2:Pe,y2:_+K},De=[];for(let[Ne,re,fe]of [["lower",se,G],["upper",ae,$]]){let je=b(re),Dt=b(fe),Ie=A(X,je),we=A(X,Dt);De.push({key:`${Ne}-stem`,x1:we.x,y1:we.y,x2:Ie.x,y2:Ie.y});let pt=A(X-j/2,je),Bt=A(X+j/2,je);De.push({key:`${Ne}-cap`,x1:pt.x,y1:pt.y,x2:Bt.x,y2:Bt.y});}return {key:`${O}`,body:Ce,median:Se,whiskers:De,outliers:d?U.map((Ne,re)=>{let fe=A(X,b(Ne));return {key:`${re}`,cx:fe.x,cy:fe.y}}):[],mean:u&&V.mean!==null?(()=>{let Ne=A(X,b(V.mean));return {cx:Ne.x,cy:Ne.y}})():null,top:N[O],height:E}});return {vertical:P,rendered:D,categoryPositions:N,categoryCenters:C.categoryCenters,bandwidth:E,categoryTicks:C.categoryTicks,valueTicks:C.valueTicks,valueScale:b,innerWidth:W,innerHeight:F,margin:C.margin}},[n,r,o,a,e,t,p,i,c,d,u,x,h]),y=el.useCallback(P=>{if(w===false||n.length===0)return;let B=P.currentTarget.getBoundingClientRect(),C=T.vertical?P.clientX-B.left-T.margin.left:P.clientY-B.top-T.margin.top;L(Vt(T.categoryCenters,C));},[w,n.length,T.vertical,T.margin,T.categoryCenters]),M=el.useCallback(P=>{if(n.length===0)return;let B=n.length-1,C=S??0,b=T.vertical?"ArrowRight":"ArrowDown",E=T.vertical?"ArrowLeft":"ArrowUp",N=P.key===b?Math.min(B,C+1):P.key===E?Math.max(0,C-1):P.key==="Home"?0:P.key==="End"?B:P.key==="Escape"?null:void 0;N!==void 0&&(P.preventDefault(),L(N));},[n.length,S,T.vertical]),k=el.useCallback(()=>{!I||S===null||I(n[S]);},[I,S,n]),z=S===null?null:n[S],H=S===null||z===null||z.stats===null?null:T.vertical?{x:T.margin.left+T.categoryCenters[S],y:T.margin.top+T.valueScale(z.stats.q3)}:{x:T.margin.left+T.valueScale(z.stats.q3),y:T.margin.top+T.categoryCenters[S]};return jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsxs("svg",{width:e,height:t,role:"img","aria-label":v??n.map(P=>P.label).join(", "),tabIndex:0,className:"touch-none focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-blue-500",onPointerMove:y,onPointerLeave:()=>L(null),onKeyDown:M,onBlur:()=>L(null),onClick:k,children:[jsxRuntime.jsxs("g",{transform:`translate(${T.margin.left}, ${T.margin.top})`,children:[jsxRuntime.jsx(_t,{width:T.innerWidth,height:T.innerHeight,horizontal:T.vertical&&(s==="y"||s==="both")?T.valueTicks.map(P=>P.offset):void 0,vertical:!T.vertical&&(s==="y"||s==="both")?T.valueTicks.map(P=>P.offset):void 0}),S!==null?jsxRuntime.jsx("rect",{x:T.vertical?T.categoryPositions[S]:0,y:T.vertical?0:T.categoryPositions[S],width:T.vertical?T.bandwidth:T.innerWidth,height:T.vertical?T.innerHeight:T.bandwidth,className:"fill-gray-400 dark:fill-gray-500",opacity:.12,"aria-hidden":"true"}):null,m?.map(P=>{let B=T.valueScale(P.value);return jsxRuntime.jsxs("g",{children:[jsxRuntime.jsx("line",{x1:T.vertical?0:B,y1:T.vertical?B:0,x2:T.vertical?T.innerWidth:B,y2:T.vertical?B:T.innerHeight,stroke:P.color??"var(--color-chart-muted)",strokeWidth:1,strokeDasharray:P.dashed===false?void 0:"4 4"}),P.label?jsxRuntime.jsx("text",{x:T.vertical?T.innerWidth:B+4,y:T.vertical?B-4:8,textAnchor:T.vertical?"end":"start",className:"fill-gray-500 text-[10px] dark:fill-gray-400",children:P.label}):null]},`${P.value}-${P.label??""}`)}),jsxRuntime.jsx(H0,{boxes:T.rendered,color:f})]}),jsxRuntime.jsx("g",{transform:`translate(${T.margin.left}, ${T.margin.top+T.innerHeight})`,children:(T.vertical?o.hidden:a?.hidden)?null:jsxRuntime.jsx(Ue,{orientation:"bottom",ticks:T.vertical?T.categoryTicks:T.valueTicks,length:T.innerWidth,label:T.vertical?o.label:a?.label,size:l})}),jsxRuntime.jsx("g",{transform:`translate(${T.margin.left}, ${T.margin.top})`,children:(T.vertical?a?.hidden:o.hidden)?null:jsxRuntime.jsx(Ue,{orientation:"left",ticks:T.vertical?T.valueTicks:T.categoryTicks,length:T.innerHeight,showLine:false,label:T.vertical?a?.label:o.label,size:l})})]}),z&&z.stats&&H&&w!==false?jsxRuntime.jsx(dt,{x:H.x,y:H.y,containerWidth:e,children:typeof w=="function"?w(z):jsxRuntime.jsxs("div",{className:"flex flex-col gap-1",children:[jsxRuntime.jsx("div",{className:"font-medium text-gray-900 dark:text-gray-100",children:z.label}),jsxRuntime.jsxs("dl",{className:"grid grid-cols-[auto_auto] gap-x-3 gap-y-0.5",children:[[["Max",z.stats.max],["Q3",z.stats.q3],[R.chartMedian,z.stats.median],["Q1",z.stats.q1],["Min",z.stats.min]].map(([P,B])=>jsxRuntime.jsxs("div",{className:"contents",children:[jsxRuntime.jsx("dt",{className:"text-gray-500 dark:text-gray-400",children:P}),jsxRuntime.jsx("dd",{className:"justify-self-end font-medium text-gray-900 [font-variant-numeric:tabular-nums] dark:text-gray-100",children:x(B)})]},P)),jsxRuntime.jsxs("div",{className:"contents",children:[jsxRuntime.jsx("dt",{className:"text-gray-500 dark:text-gray-400",children:R.chartCount}),jsxRuntime.jsx("dd",{className:"justify-self-end font-medium text-gray-900 [font-variant-numeric:tabular-nums] dark:text-gray-100",children:z.stats.count})]})]})]})}):null]})}function V0({data:e,x:t,y:r,values:n,quantiles:o,whisker:a=1.5,orientation:s="vertical",boxSize:l,showOutliers:i=true,showMean:c=false,color:d,referenceLines:u,height:f=280,width:m,size:p="md",grid:w="y",tooltip:v=true,tableView:x=false,title:h,description:I,loading:S=false,emptyState:L,margin:R,locale:T,plotLabel:y,format:M,onBoxClick:k,className:z,...H}){let P=We(),B=el.useMemo(()=>r?.format??M??(N=>nt(N,T)),[r?.format,M,T]),C=el.useMemo(()=>t.format??(N=>Ze(N,T)),[t.format,T]),b=el.useMemo(()=>e.map((N,W)=>{let F=ct(N,t.key,W),K=n?(()=>{let D=N[n];return Array.isArray(D)?D.map(V=>typeof V=="number"?V:Number(V)).filter(V=>Number.isFinite(V)):null})():null,j=null,A=null;if(K!==null)j=ol(K,a),A=K.length===0?null:K.reduce((D,V)=>D+V,0)/K.length;else if(o){let D=Ee(N,o.q1),V=Ee(N,o.median),O=Ee(N,o.q3);if(D!==null&&V!==null&&O!==null){let _=o.min?Ee(N,o.min)??D:D,X=o.max?Ee(N,o.max)??O:O;j={count:0,min:_,max:X,q1:D,median:V,q3:O,iqr:O-D,lower:_,upper:X,outliers:[]};}}return {index:W,x:F,label:C(F,W),stats:j,mean:A,datum:N}}),[e,t.key,n,o,a,C]),E=b.filter(N=>N.stats!==null);return jsxRuntime.jsx(lt,{title:h,description:I,height:f,width:m,size:p,loading:S,empty:E.length===0,emptyState:L,tableView:x,table:x?jsxRuntime.jsx("div",{className:"w-full overflow-x-auto",children:jsxRuntime.jsxs(fn,{children:[typeof h=="string"?jsxRuntime.jsx("caption",{className:"sr-only",children:h}):null,jsxRuntime.jsxs(bn,{children:[jsxRuntime.jsx(St,{children:t.label??t.key}),n?jsxRuntime.jsx(St,{className:"text-right",children:P.chartCount}):null,jsxRuntime.jsx(St,{className:"text-right",children:"Min"}),jsxRuntime.jsx(St,{className:"text-right",children:"Q1"}),jsxRuntime.jsx(St,{className:"text-right",children:P.chartMedian}),jsxRuntime.jsx(St,{className:"text-right",children:"Q3"}),jsxRuntime.jsx(St,{className:"text-right",children:"Max"}),n&&i?jsxRuntime.jsx(St,{className:"text-right",children:P.chartOutliers}):null]}),jsxRuntime.jsx(hn,{children:b.map(N=>jsxRuntime.jsxs(yn,{clickable:false,children:[jsxRuntime.jsx(Gt,{className:"font-medium text-gray-900 dark:text-gray-100",children:N.label}),n?jsxRuntime.jsx(Gt,{className:sl,children:N.stats?.count??"\u2014"}):null,["min","q1","median","q3","max"].map(W=>jsxRuntime.jsx(Gt,{className:sl,children:N.stats===null?"\u2014":B(N.stats[W])},W)),n&&i?jsxRuntime.jsx(Gt,{className:sl,children:N.stats===null||N.stats.outliers.length===0?"\u2014":N.stats.outliers.map(B).join(", ")}):null]},N.index))})]})}):void 0,className:z,...H,children:({width:N})=>jsxRuntime.jsx(B0,{width:N,height:f,data:e,boxes:b,x:t,y:r,grid:w,size:p,orientation:s,boxSize:l,showOutliers:i,showMean:c,color:d??Dr(0),referenceLines:u,margin:R,tooltip:v,plotLabel:y,formatValue:B,formatX:C,onBoxClick:k})})}var _0=16,X0=1.5,G0=el.memo(function({candles:t}){return jsxRuntime.jsx("g",{children:t.map(r=>jsxRuntime.jsxs("g",{children:[r.wick?jsxRuntime.jsx("line",{x1:r.wick.x,y1:r.wick.y1,x2:r.wick.x,y2:r.wick.y2,stroke:r.color,strokeWidth:1.5}):null,r.body?jsxRuntime.jsx("path",{d:r.body,fill:r.hollow?"none":r.color,stroke:r.color,strokeWidth:r.hollow?1.5:0}):null]},r.key))})});function K0({width:e,height:t,data:r,candles:n,x:o,y:a,grid:s,size:l,candleSize:i,fillRising:c,palette:d,referenceLines:u,margin:f,tooltip:m,plotLabel:p,formatValue:w,formatX:v,onCandleClick:x}){let[h,I]=el.useState(null),S=We(),L=el.useMemo(()=>{let k=n.flatMap(W=>W.high===null||W.low===null?[]:[W.low,W.high]),z=rr({width:e,height:t,data:r,x:o,y:a,bounds:k.length===0?null:[Math.min(...k),Math.max(...k)],margin:f,orientation:"vertical",placement:"band",formatValue:w,formatX:v,defaultIncludeZero:false}),{valueScale:H,bandwidth:P,categoryPositions:B,innerWidth:C,innerHeight:b}=z,E=Math.min(i??_0,Math.max(1,P-2));return {rendered:n.map((W,F)=>{let K=B[F]+(P-E)/2,j=K+E/2,A=W.rising?d.up:d.down,D=W.high===null||W.low===null?null:{x:j,y1:H(W.high),y2:H(W.low)},V=null;if(W.open!==null&&W.close!==null){let O=H(W.open),_=H(W.close);V=cr({x:K,y:Math.min(O,_),width:E,height:Math.max(X0,Math.abs(_-O)),radius:0,round:"none"});}return {key:`${F}`,color:A,body:V,hollow:W.rising&&!c,wick:D,left:K,width:E}}),categoryPositions:B,categoryCenters:z.categoryCenters,bandwidth:P,categoryTicks:z.categoryTicks,valueTicks:z.valueTicks,valueScale:H,innerWidth:C,innerHeight:b,margin:z.margin}},[n,r,o,a,e,t,f,i,c,d,w,v]),R=el.useCallback(k=>{if(m===false||n.length===0)return;let z=k.currentTarget.getBoundingClientRect(),H=k.clientX-z.left-L.margin.left;I(Vt(L.categoryCenters,H));},[m,n.length,L.margin.left,L.categoryCenters]),T=el.useCallback(k=>{if(n.length===0)return;let z=n.length-1,H=h??0,P=k.key==="ArrowRight"?Math.min(z,H+1):k.key==="ArrowLeft"?Math.max(0,H-1):k.key==="Home"?0:k.key==="End"?z:k.key==="Escape"?null:void 0;P!==void 0&&(k.preventDefault(),I(P));},[n.length,h]),y=el.useCallback(()=>{!x||h===null||x(n[h]);},[x,h,n]),M=h===null?null:n[h];return jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsxs("svg",{width:e,height:t,role:"img","aria-label":p??n.map(k=>k.label).join(", "),tabIndex:0,className:"touch-none focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-blue-500",onPointerMove:R,onPointerLeave:()=>I(null),onKeyDown:T,onBlur:()=>I(null),onClick:y,children:[jsxRuntime.jsxs("g",{transform:`translate(${L.margin.left}, ${L.margin.top})`,children:[jsxRuntime.jsx(_t,{width:L.innerWidth,height:L.innerHeight,horizontal:s==="y"||s==="both"?L.valueTicks.map(k=>k.offset):void 0}),h!==null?jsxRuntime.jsx("rect",{x:L.categoryPositions[h],y:0,width:L.bandwidth,height:L.innerHeight,className:"fill-gray-400 dark:fill-gray-500",opacity:.12,"aria-hidden":"true"}):null,u?.map(k=>jsxRuntime.jsxs("g",{children:[jsxRuntime.jsx("line",{x1:0,y1:L.valueScale(k.value),x2:L.innerWidth,y2:L.valueScale(k.value),stroke:k.color??"var(--color-chart-muted)",strokeWidth:1,strokeDasharray:k.dashed===false?void 0:"4 4"}),k.label?jsxRuntime.jsx("text",{x:L.innerWidth,y:L.valueScale(k.value)-4,textAnchor:"end",className:"fill-gray-500 text-[10px] dark:fill-gray-400",children:k.label}):null]},`${k.value}-${k.label??""}`)),jsxRuntime.jsx(G0,{candles:L.rendered})]}),jsxRuntime.jsx("g",{transform:`translate(${L.margin.left}, ${L.margin.top+L.innerHeight})`,children:o.hidden?null:jsxRuntime.jsx(Ue,{orientation:"bottom",ticks:L.categoryTicks,length:L.innerWidth,label:o.label,size:l})}),jsxRuntime.jsx("g",{transform:`translate(${L.margin.left}, ${L.margin.top})`,children:a?.hidden?null:jsxRuntime.jsx(Ue,{orientation:"left",ticks:L.valueTicks,length:L.innerHeight,showLine:false,label:a?.label,size:l})})]}),M&&h!==null&&m!==false?jsxRuntime.jsx(dt,{x:L.margin.left+L.categoryCenters[h],y:L.margin.top+(M.high===null?L.innerHeight/2:L.valueScale(M.high)),containerWidth:e,children:typeof m=="function"?m(M):jsxRuntime.jsxs("div",{className:"flex flex-col gap-1",children:[jsxRuntime.jsx("div",{className:"font-medium text-gray-900 dark:text-gray-100",children:M.label}),jsxRuntime.jsx("dl",{className:"grid grid-cols-[auto_auto] gap-x-3 gap-y-0.5",children:[[S.chartOpen,M.open],[S.chartHigh,M.high],[S.chartLow,M.low],[S.chartClose,M.close]].map(([k,z])=>jsxRuntime.jsxs("div",{className:"contents",children:[jsxRuntime.jsx("dt",{className:"text-gray-500 dark:text-gray-400",children:k}),jsxRuntime.jsx("dd",{className:"justify-self-end font-medium text-gray-900 [font-variant-numeric:tabular-nums] dark:text-gray-100",children:z===null?"\u2014":w(z)})]},k))}),M.change===null?null:jsxRuntime.jsxs("div",{className:"flex items-center gap-2 border-t border-gray-200 pt-1 dark:border-gray-700",children:[jsxRuntime.jsx("span",{className:"text-gray-500 dark:text-gray-400",children:M.rising?S.chartRise:S.chartFall}),jsxRuntime.jsxs("span",{className:"[font-variant-numeric:tabular-nums] font-semibold text-gray-900 dark:text-gray-100",children:[M.change>0?"+":"",w(M.change)]})]})]})}):null]})}function U0({data:e,x:t,y:r,open:n,high:o,low:a,close:s,candleSize:l,fillRising:i=false,colors:c,referenceLines:d,height:u=300,width:f,size:m="md",grid:p="y",legend:w,tooltip:v=true,tableView:x=false,title:h,description:I,loading:S=false,emptyState:L,margin:R,locale:T,plotLabel:y,openLabel:M,highLabel:k,lowLabel:z,closeLabel:H,riseLabel:P,fallLabel:B,format:C,onCandleClick:b,className:E,...N}){let W=We(),F=el.useMemo(()=>r?.format??C??(_=>nt(_,T)),[r?.format,C,T]),K=el.useMemo(()=>t.format??(_=>Ze(_,T)),[t.format,T]),j=el.useMemo(()=>e.map((_,X)=>{let G=ct(_,t.key,X),$=Ee(_,n),Y=Ee(_,s);return {index:X,x:G,label:K(G,X),open:$,high:Ee(_,o),low:Ee(_,a),close:Y,change:$===null||Y===null?null:Y-$,rising:$===null||Y===null?true:Y>=$,datum:_}}),[e,t.key,n,o,a,s,K]),A=el.useMemo(()=>({up:c?.up??Fi,down:c?.down??Oi}),[c]),D=el.useMemo(()=>[{key:"up",label:P??W.chartRise,color:A.up,marker:"rect"},{key:"down",label:B??W.chartFall,color:A.down,marker:"rect"}],[A,P,B,W.chartRise,W.chartFall]),V=w===void 0?true:w!==false,O=typeof w=="string"?w:"bottom";return jsxRuntime.jsx(lt,{title:h,description:I,height:u,width:f,size:m,loading:S,empty:j.length===0,emptyState:L,tableView:x,legendPosition:O,legend:V?jsxRuntime.jsx(Xt,{items:D,position:O,marker:"rect",size:m}):void 0,table:x?jsxRuntime.jsx(zt,{data:e,series:[{key:n,label:M??W.chartOpen},{key:o,label:k??W.chartHigh},{key:a,label:z??W.chartLow},{key:s,label:H??W.chartClose}],xKey:t.key,xLabel:t.label??t.key,formatX:K,formatValue:F,caption:typeof h=="string"?h:void 0}):void 0,className:E,...N,children:({width:_})=>jsxRuntime.jsx(K0,{width:_,height:u,data:e,candles:j,x:t,y:r,grid:p,size:m,candleSize:l,fillRising:i,palette:A,referenceLines:d,margin:R,tooltip:v,plotLabel:y,formatValue:F,formatX:K,onCandleClick:b})})}var Ed=12,cl=false,q0={sm:"text-[11px]",md:"text-xs",lg:"text-sm"},j0={sm:"text-xs",md:"text-sm",lg:"text-base"};function Z0({data:e,by:t,values:r,domain:n,includeZero:o=false,ticks:a=5,order:s,sort:l="none",columns:i,minPanelWidth:c=220,formatLabel:d,showLabels:u=true,title:f,description:m,size:p="md",locale:w,emptyState:v,children:x,className:h,...I}){let S=d??(y=>Ze(y,w)),L=new Map;e.forEach((y,M)=>{let k=ct(y,t,M),z=ft(k),H=L.get(z);H?H.rows.push(y):L.set(z,{value:k,rows:[y]});});let R=[...L.entries()];if(s)R=s.map(ft).map(M=>R.find(([k])=>k===M)).filter(M=>M!==void 0);else if(l!=="none"){let y=M=>M.reduce((k,z)=>k+r.reduce((H,P)=>H+(Ee(z,P)??0),0),0);R=[...R].sort(([,M],[,k])=>l==="asc"?y(M.rows)-y(k.rows):y(k.rows)-y(M.rows));}let T=n??Ao(fr(e,r),{includeZero:o,ticks:a});return R.length>Ed&&!cl&&(cl=true,console.warn(`[@synertech/ui] ChartFacets was given ${R.length} panels. Past ${Ed} a facet grid stops being a comparison \u2014 filter the data down to the panels the reader is actually comparing.`)),R.length===0?jsxRuntime.jsx("div",{className:g("text-sm text-gray-500 dark:text-gray-400",h),...I,children:v}):jsxRuntime.jsxs("div",{className:g("flex w-full flex-col gap-3",h),...I,children:[f||m?jsxRuntime.jsxs("div",{className:"flex flex-col gap-0.5",children:[f?jsxRuntime.jsx("span",{className:g("font-semibold text-gray-900 dark:text-gray-100",j0[p]),children:f}):null,m?jsxRuntime.jsx("span",{className:"text-xs text-gray-500 dark:text-gray-400",children:m}):null]}):null,jsxRuntime.jsx("div",{className:"grid gap-x-4 gap-y-3",style:{gridTemplateColumns:i?`repeat(${i}, minmax(0, 1fr))`:`repeat(auto-fit, minmax(${c}px, 1fr))`},children:R.map(([y,M],k)=>{let z=S(M.value,k);return jsxRuntime.jsxs("div",{role:"group","aria-label":z,className:"flex min-w-0 flex-col gap-1",children:[u?jsxRuntime.jsx("span",{className:g("font-medium text-gray-700 dark:text-gray-200",q0[p]),children:z}):null,x({key:y,label:z,data:M.rows,domain:T,index:k,count:R.length})]},y)})})]})}function Q0(){cl=false;}var J0={sm:"gap-1.5",md:"gap-2",lg:"gap-3"};function eh({label:e,actions:t,sticky:r=false,bordered:n=true,size:o="md",children:a,className:s,...l}){let i=We();return jsxRuntime.jsxs("div",{role:"group","aria-label":e??i.chartFilters,className:g("flex w-full flex-wrap items-center",J0[o],n&&"border-b border-gray-200 pb-3 dark:border-gray-700",r&&"sticky top-0 z-10 bg-white/95 pt-3 backdrop-blur-sm dark:bg-gray-900/95",s),...l,children:[a,t?jsxRuntime.jsx("div",{className:"ml-auto flex items-center gap-2",children:t}):null]})}var nh=new Set(["SCRIPT","STYLE","LINK","META","NOSCRIPT","TEMPLATE","BASE","TITLE"]),Md="data-synertech-inert-ignore",La=new WeakMap,dl=new WeakMap,ul=new WeakMap;function oh(e){let t=La.get(e)??0;t===0&&(dl.set(e,e.getAttribute("aria-hidden")),ul.set(e,e.hasAttribute("inert")),e.setAttribute("aria-hidden","true"),e.setAttribute("inert","")),La.set(e,t+1);}function ah(e){let t=La.get(e)??0;if(t===0)return;if(t>1){La.set(e,t-1);return}La.delete(e);let r=dl.get(e)??null;r===null?e.removeAttribute("aria-hidden"):e.setAttribute("aria-hidden",r),dl.delete(e),ul.get(e)||e.removeAttribute("inert"),ul.delete(e);}var Ds=new Map;function wn(e,t){return Ds.set(e,t),()=>{Ds.delete(e);}}function Ls(e){if(Ds.size===0)return [];let t=[];for(let[r,n]of Ds){let o=n();o&&e.some(a=>a.contains(o))&&t.push(r);}return t}function sh(e){return !(nh.has(e.tagName)||e.hasAttribute(Md))}function ml(e){let t=(Array.isArray(e)?e:[e]).filter(Boolean),r=t[0]?.ownerDocument?.body;if(!r||!t.every(i=>r.contains(i)))return ()=>{};let n=[...t,...Ls(t).filter(i=>r.contains(i))],o=[],a=new Set,s=i=>n.some(c=>i===c||i.contains(c));for(let i of t){let c=i;for(;c&&c!==r;){let d=c.parentElement;if(!d)break;for(let u of Array.from(d.children))a.has(u)||s(u)||sh(u)&&(a.add(u),oh(u),o.push(u));c=d;}}let l=false;return ()=>{if(!l){l=true;for(let i of o)ah(i);}}}function Bn({triggerRef:e,contentRef:t,isOpen:r,side:n="bottom",align:o="start",sideOffset:a=4,alignOffset:s=0,avoidCollisions:l=true,collisionPadding:i=8}){let[c,d]=el.useState({top:0,left:0,actualSide:n,actualAlign:o,isReady:false}),u=el.useRef(false),f=el.useCallback(()=>{if(!e.current||!t.current)return;let m=e.current.getBoundingClientRect(),p=t.current.getBoundingClientRect();if(!(m.width>0&&m.height>0&&p.width>0&&p.height>0)){u.current=false;return}let v={width:window.innerWidth,height:window.innerHeight},x=n,h=o,I=R=>{switch(R){case "bottom":return {top:m.bottom+a,left:m.left};case "top":return {top:m.top-p.height-a,left:m.left};case "right":return {top:m.top,left:m.right+a};case "left":return {top:m.top,left:m.left-p.width-a}}},S=(R,T,y)=>{if(R==="top"||R==="bottom")switch(T){case "start":return {...y,left:m.left+s};case "center":return {...y,left:m.left+m.width/2-p.width/2+s};case "end":return {...y,left:m.right-p.width+s}}else switch(T){case "start":return {...y,top:m.top+s};case "center":return {...y,top:m.top+m.height/2-p.height/2+s};case "end":return {...y,top:m.bottom-p.height+s}}},L=I(x);if(L=S(x,h,L),l){let{top:R,left:T}=L,{height:y,width:M}=p,{height:k,width:z}=v,H=R+y>k-i,P=R<i,B=T+M>z-i,C=T<i;x==="bottom"&&H&&!P?(x="top",L=I(x),L=S(x,h,L)):x==="top"&&P&&!H&&(x="bottom",L=I(x),L=S(x,h,L)),x==="right"&&B&&!C?(x="left",L=I(x),L=S(x,h,L)):x==="left"&&C&&!B&&(x="right",L=I(x),L=S(x,h,L));let b=L.left+M>z-i,E=L.left<i,N=L.top+y>k-i,W=L.top<i;(x==="top"||x==="bottom")&&(b&&(L.left=z-M-i,h="end"),E&&(L.left=i,h="start")),(x==="left"||x==="right")&&(N&&(L.top=k-y-i,h="end"),W&&(L.top=i,h="start"));}u.current=true,d({top:L.top,left:L.left,actualSide:x,actualAlign:h,isReady:true});},[e,t,n,o,a,s,l,i]);return el.useLayoutEffect(()=>{let m=0;if(r){u.current=false;let w=()=>{f(),u.current||(m=requestAnimationFrame(w));};m=requestAnimationFrame(w);}let p=()=>f();return window.addEventListener("resize",p),window.addEventListener("scroll",p,{passive:true,capture:true}),()=>{m&&cancelAnimationFrame(m),window.removeEventListener("resize",p),window.removeEventListener("scroll",p,{capture:true});}},[f,r]),c}var gl=["7d","30d","90d","12m","mtd","ytd"];function Es(e){let t=new Date(e);return t.setHours(0,0,0,0),t}function Ms(e){let t=new Date(e);return t.setHours(23,59,59,999),t}function Id(e,t=new Date){let r=Ms(t),n=Es(t);switch(e){case "7d":n.setDate(n.getDate()-6);break;case "30d":n.setDate(n.getDate()-29);break;case "90d":n.setDate(n.getDate()-89);break;case "12m":n.setMonth(n.getMonth()-12),n.setDate(n.getDate()+1);break;case "mtd":n.setDate(1);break;case "qtd":n.setMonth(Math.floor(n.getMonth()/3)*3,1);break;case "ytd":n.setMonth(0,1);break;}return {from:n,to:r}}function Ea(e,t=new Date){return {preset:e,...Id(e,t)}}function pl(e,t,r){let n=new Intl.DateTimeFormat(r,{day:"numeric",month:"short",year:"numeric"});if(typeof n.formatRange=="function")try{return n.formatRange(e,t)}catch{}return `${n.format(e)} \u2013 ${n.format(t)}`}function uh(e,t){return !e||!t?e===t:e.preset===t.preset&&e.from.getTime()===t.from.getTime()&&e.to.getTime()===t.to.getTime()}var gh={"7d":"chartPeriodLast7Days","30d":"chartPeriodLast30Days","90d":"chartPeriodLast90Days","12m":"chartPeriodLast12Months",mtd:"chartPeriodMonthToDate",qtd:"chartPeriodQuarterToDate",ytd:"chartPeriodYearToDate",custom:"chartPeriodCustom"},ph={sm:"h-7 px-2.5 text-xs",md:"h-8 px-3 text-sm",lg:"h-10 px-4 text-sm"},fh=jsxRuntime.jsx("svg",{width:"14",height:"14",viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",className:"shrink-0",children:jsxRuntime.jsx("path",{d:"M5 1.5v2M11 1.5v2M2.5 6h11M3.5 3h9a1 1 0 011 1v9a1 1 0 01-1 1h-9a1 1 0 01-1-1V4a1 1 0 011-1z",stroke:"currentColor",strokeWidth:"1.3",strokeLinecap:"round",strokeLinejoin:"round"})});function hh({value:e,defaultValue:t,onChange:r,presets:n=gl,custom:o=true,presetLabels:a,now:s,minDate:l,maxDate:i,numberOfMonths:c=1,weekStartsOn:d,locale:u,size:f="md",align:m="start",disabled:p=false,label:w,className:v,...x}){let h=We(),I=el.useRef(null),S=el.useRef(null),L=el.useRef(null),[R,T]=el.useState(false),[y,M]=el.useState(false),[k,z]=el.useState(null),[H,P]=el.useState(()=>typeof t=="string"?Ea(t,s):t||Ea(n[0]??"30d",s)),B=e??H,C=Bn({triggerRef:I,contentRef:S,isOpen:R,side:"bottom",align:m}),b=el.useCallback((A=true)=>{T(false),M(false),z(null),A&&I.current?.focus();},[]);el.useEffect(()=>{if(!R)return;let A=D=>{let V=D.target;S.current?.contains(V)||I.current?.contains(V)||b(false);};return document.addEventListener("mousedown",A),document.addEventListener("touchstart",A,{passive:true}),()=>{document.removeEventListener("mousedown",A),document.removeEventListener("touchstart",A);}},[R,b]),el.useEffect(()=>{if(!R)return;let A=D=>{D.key==="Escape"&&(D.stopPropagation(),b());};return document.addEventListener("keydown",A),()=>document.removeEventListener("keydown",A)},[R,b]),el.useEffect(()=>{let A=S.current;if(A)return wn(A,()=>I.current)},[R]),el.useEffect(()=>{if(!R)return;let A=requestAnimationFrame(()=>L.current?.focus());return ()=>cancelAnimationFrame(A)},[R]);let E=el.useCallback(A=>{e===void 0&&P(A),r?.(A),b();},[e,r,b]),N=el.useCallback(A=>E(Ea(A,s)),[E,s]),W=el.useCallback(A=>{z(A),!(!A.from||!A.to)&&E({preset:"custom",from:Es(A.from),to:Ms(A.to)});},[E]),F=A=>a?.[A]??h[gh[A]],K=B.preset==="custom"?pl(B.from,B.to,u):F(B.preset),j=jsxRuntime.jsxs("div",{ref:S,role:"dialog","aria-label":w??h.chartPeriod,style:{position:"fixed",top:C.top,left:C.left,visibility:C.isReady?"visible":"hidden"},className:"z-50 flex overflow-hidden rounded-lg border border-gray-200 bg-white shadow-lg dark:border-gray-700 dark:bg-gray-800",children:[jsxRuntime.jsxs("div",{ref:L,tabIndex:-1,className:"flex min-w-44 flex-col p-1 outline-none",children:[n.map(A=>jsxRuntime.jsx("button",{type:"button","aria-pressed":B.preset===A,onClick:()=>N(A),className:g("cursor-pointer rounded-md px-3 py-1.5 text-left text-sm text-gray-700 hover:bg-gray-100 focus-visible:outline-2 focus-visible:outline-offset-[-2px] focus-visible:outline-blue-500 dark:text-gray-200 dark:hover:bg-gray-700",B.preset===A&&"bg-blue-50 font-medium text-blue-700 dark:bg-blue-950 dark:text-blue-300"),children:F(A)},A)),o?jsxRuntime.jsx("button",{type:"button","aria-pressed":B.preset==="custom","aria-expanded":y,onClick:()=>M(true),className:g("cursor-pointer rounded-md px-3 py-1.5 text-left text-sm text-gray-700 hover:bg-gray-100 focus-visible:outline-2 focus-visible:outline-offset-[-2px] focus-visible:outline-blue-500 dark:text-gray-200 dark:hover:bg-gray-700",B.preset==="custom"&&"bg-blue-50 font-medium text-blue-700 dark:bg-blue-950 dark:text-blue-300"),children:F("custom")}):null]}),o&&y?jsxRuntime.jsx("div",{className:"border-l border-gray-200 p-2 dark:border-gray-700",children:jsxRuntime.jsx(nl,{mode:"range",value:k??{from:B.from,to:B.to},onChange:W,numberOfMonths:c,weekStartsOn:d,locale:u,minDate:l,maxDate:i,size:"sm"})}):null]});return jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsxs("button",{ref:I,type:"button",disabled:p,"aria-haspopup":"dialog","aria-expanded":R,"aria-label":`${w??h.chartPeriod}: ${K}`,onClick:()=>R?b():T(true),className:g("inline-flex cursor-pointer items-center gap-2 rounded-full border border-gray-300 bg-white font-medium text-gray-700 transition-colors hover:bg-gray-50 focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-blue-500 disabled:cursor-not-allowed disabled:opacity-50 dark:border-gray-600 dark:bg-gray-800 dark:text-gray-200 dark:hover:bg-gray-700",ph[f],v),...x,children:[fh,jsxRuntime.jsx("span",{children:K})]}),R&&typeof document<"u"?reactDom.createPortal(j,document.body):null]})}var hl=[{unit:"second",step:1,span:1e3},{unit:"second",step:5,span:5e3},{unit:"second",step:15,span:15e3},{unit:"second",step:30,span:3e4},{unit:"minute",step:1,span:6e4},{unit:"minute",step:5,span:3e5},{unit:"minute",step:15,span:9e5},{unit:"minute",step:30,span:18e5},{unit:"hour",step:1,span:36e5},{unit:"hour",step:3,span:108e5},{unit:"hour",step:6,span:216e5},{unit:"hour",step:12,span:432e5},{unit:"day",step:1,span:864e5},{unit:"day",step:2,span:1728e5},{unit:"week",step:1,span:6048e5},{unit:"week",step:2,span:12096e5},{unit:"month",step:1,span:2592e6},{unit:"month",step:3,span:78624e5},{unit:"month",step:6,span:157248e5},{unit:"year",step:1,span:31536e6},{unit:"year",step:2,span:63072e6},{unit:"year",step:5,span:1577664e5},{unit:"year",step:10,span:3155328e5}];function yh(e,t,r){let n=new Date(e.getTime());switch(t){case "year":return n.setMonth(0,1),n.setHours(0,0,0,0),n.setFullYear(Math.floor(n.getFullYear()/r)*r),n;case "month":return n.setDate(1),n.setHours(0,0,0,0),n.setMonth(Math.floor(n.getMonth()/r)*r),n;case "week":return n.setHours(0,0,0,0),n.setDate(n.getDate()-(n.getDay()+6)%7),n;case "day":return n.setHours(0,0,0,0),n;case "hour":return n.setMinutes(0,0,0),n.setHours(Math.floor(n.getHours()/r)*r),n;case "minute":return n.setSeconds(0,0),n.setMinutes(Math.floor(n.getMinutes()/r)*r),n;default:return n.setMilliseconds(0),n.setSeconds(Math.floor(n.getSeconds()/r)*r),n}}function Ad(e,t,r){let n=new Date(e.getTime());switch(t){case "year":return n.setFullYear(n.getFullYear()+r),n;case "month":return n.setMonth(n.getMonth()+r),n;case "week":return n.setDate(n.getDate()+r*7),n;case "day":return n.setDate(n.getDate()+r),n;case "hour":return n.setHours(n.getHours()+r),n;case "minute":return n.setMinutes(n.getMinutes()+r),n;default:return n.setSeconds(n.getSeconds()+r),n}}function bl(e,t,r=6){if(!Number.isFinite(e)||!Number.isFinite(t))return {values:[],unit:"day",step:1};e>t&&([e,t]=[t,e]);let n=Math.max(1,r),o=(t-e)/n,a=hl.find(i=>i.span>=o)??hl[hl.length-1],s=[],l=yh(new Date(e),a.unit,a.step);for(;l.getTime()<e;)l=Ad(l,a.unit,a.step);for(;l.getTime()<=t&&s.length<=500;)s.push(l.getTime()),l=Ad(l,a.unit,a.step);return {values:s,unit:a.unit,step:a.step}}function Hs(e,t,r){let n=new Date(e);switch(t){case "year":return new Intl.DateTimeFormat(r,{year:"numeric"}).format(n);case "month":return new Intl.DateTimeFormat(r,{month:"short",year:"2-digit"}).format(n);case "week":case "day":return new Intl.DateTimeFormat(r,{day:"numeric",month:"short"}).format(n);case "hour":return new Intl.DateTimeFormat(r,{hour:"2-digit",minute:"2-digit"}).format(n);default:return new Intl.DateTimeFormat(r,{minute:"2-digit",second:"2-digit"}).format(n)}}function mo(e){if(e instanceof Date){let t=e.getTime();return Number.isFinite(t)?t:null}if(typeof e=="number")return Number.isFinite(e)?e:null;if(typeof e=="string"&&e!==""){let t=Date.parse(e);if(Number.isFinite(t))return t;let r=Number(e);return Number.isFinite(r)?r:null}return null}var vh=5,Ch=3,zd=10,yl=false;function kh(){yl=false;}var wh=el.memo(function({rows:t,radius:r}){return jsxRuntime.jsx("g",{children:t.map(n=>jsxRuntime.jsxs("g",{children:[n.connector?jsxRuntime.jsx("line",{x1:n.connector.x1,y1:n.connector.y,x2:n.connector.x2,y2:n.connector.y,strokeWidth:Ch,strokeLinecap:"round",className:"stroke-gray-300 dark:stroke-gray-600"}):null,n.dots.map(o=>jsxRuntime.jsx("circle",{cx:o.cx,cy:o.cy,r,fill:o.color,strokeWidth:2,className:"stroke-white dark:stroke-gray-800"},o.key)),n.label?jsxRuntime.jsx("text",{x:n.label.x,y:n.label.y,dominantBaseline:"middle",className:"fill-gray-600 text-[10px] [font-variant-numeric:tabular-nums] dark:fill-gray-300",children:n.label.text}):null]},n.key))})});function Nh({width:e,height:t,data:r,rows:n,resolvedSeries:o,x:a,y:s,grid:l,size:i,showValues:c,dotSize:d,referenceLines:u,margin:f,tooltip:m,plotLabel:p,formatValue:w,formatX:v,onRowClick:x}){let[h,I]=el.useState(null),S=el.useMemo(()=>{let k=o.filter(N=>!N.hidden).map(N=>N.key),z=rr({width:e,height:t,data:r,x:a,y:s,bounds:Yt(fr(r,k)),margin:f,orientation:"horizontal",placement:"band",formatValue:w,formatX:v,defaultIncludeZero:false}),{valueScale:H,bandwidth:P,categoryPositions:B,innerWidth:C,innerHeight:b}=z;return {rendered:n.map((N,W)=>{let F=B[W]+P/2,K=N.points.map((D,V)=>({key:D.seriesKey,value:D.value,cx:D.value===null?Number.NaN:H(D.value),cy:F,color:D.color,order:V})).filter(D=>D.value!==null),j=N.from===null||N.to===null||K.length<2?null:{x1:H(N.from),x2:H(N.to),y:F},A=null;if(c&&N.to!==null){let D=w(N.to),V=H(N.to);tr(D,10)<=C-V-zd&&(A={x:V+zd,y:F,text:D});}return {key:`${W}`,connector:j,dots:K.map(D=>({key:D.key,cx:D.cx,cy:D.cy,color:D.color})),label:A,top:B[W],height:P}}),categoryPositions:B,categoryCenters:z.categoryCenters,bandwidth:P,categoryTicks:z.categoryTicks,valueTicks:z.valueTicks,valueScale:H,innerWidth:C,innerHeight:b,margin:z.margin}},[r,n,o,a,s,e,t,f,c,w,v]),L=el.useCallback(M=>{if(m===false||n.length===0)return;let k=M.currentTarget.getBoundingClientRect(),z=M.clientY-k.top-S.margin.top;I(Vt(S.categoryCenters,z));},[m,n.length,S.margin.top,S.categoryCenters]),R=el.useCallback(M=>{if(n.length===0)return;let k=n.length-1,z=h??0,H=M.key==="ArrowDown"?Math.min(k,z+1):M.key==="ArrowUp"?Math.max(0,z-1):M.key==="Home"?0:M.key==="End"?k:M.key==="Escape"?null:void 0;H!==void 0&&(M.preventDefault(),I(H));},[n.length,h]),T=el.useCallback(()=>{!x||h===null||x(n[h]);},[x,h,n]),y=h===null?null:n[h];return jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsxs("svg",{width:e,height:t,role:"img","aria-label":p??o.map(M=>Kt(M)).join(", "),tabIndex:0,className:"touch-none focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-blue-500",onPointerMove:L,onPointerLeave:()=>I(null),onKeyDown:R,onBlur:()=>I(null),onClick:T,children:[jsxRuntime.jsxs("g",{transform:`translate(${S.margin.left}, ${S.margin.top})`,children:[jsxRuntime.jsx(_t,{width:S.innerWidth,height:S.innerHeight,vertical:l==="y"||l==="both"?S.valueTicks.map(M=>M.offset):void 0}),h!==null?jsxRuntime.jsx("rect",{x:0,y:S.categoryPositions[h],width:S.innerWidth,height:S.bandwidth,className:"fill-gray-400 dark:fill-gray-500",opacity:.12,"aria-hidden":"true"}):null,u?.map(M=>jsxRuntime.jsxs("g",{children:[jsxRuntime.jsx("line",{x1:S.valueScale(M.value),y1:0,x2:S.valueScale(M.value),y2:S.innerHeight,stroke:M.color??"var(--color-chart-muted)",strokeWidth:1,strokeDasharray:M.dashed===false?void 0:"4 4"}),M.label?jsxRuntime.jsx("text",{x:S.valueScale(M.value)+4,y:8,className:"fill-gray-500 text-[10px] dark:fill-gray-400",children:M.label}):null]},`${M.value}-${M.label??""}`)),jsxRuntime.jsx(wh,{rows:S.rendered,radius:d})]}),jsxRuntime.jsx("g",{transform:`translate(${S.margin.left}, ${S.margin.top+S.innerHeight})`,children:s?.hidden?null:jsxRuntime.jsx(Ue,{orientation:"bottom",ticks:S.valueTicks,length:S.innerWidth,label:s?.label,size:i})}),jsxRuntime.jsx("g",{transform:`translate(${S.margin.left}, ${S.margin.top})`,children:a.hidden?null:jsxRuntime.jsx(Ue,{orientation:"left",ticks:S.categoryTicks,length:S.innerHeight,showLine:false,tickSize:0,label:a.label,size:i})})]}),y&&h!==null&&m!==false?jsxRuntime.jsx(dt,{x:S.margin.left+(y.to===null?S.innerWidth/2:S.valueScale(y.to)),y:S.margin.top+S.categoryCenters[h],containerWidth:e,children:typeof m=="function"?m(y):jsxRuntime.jsx(Nr,{title:y.label,points:y.points})}):null]})}function Sh({data:e,x:t,y:r,series:n,sort:o="none",sortBy:a,showValues:s=false,dotSize:l=vh,referenceLines:i,height:c,width:d,size:u="md",grid:f="y",legend:m,legendToggle:p=true,tooltip:w=true,tableView:v=false,showChange:x=true,title:h,description:I,loading:S=false,emptyState:L,margin:R,locale:T,plotLabel:y,changeLabel:M,format:k,onRowClick:z,className:H,...P}){let B=We(),[C,b]=el.useState(()=>new Set);n.length>3&&!yl&&(yl=true,console.warn(`[@synertech/ui] A DumbbellChart was given ${n.length} series. Any two dots of a row can sit side by side, and only the first ${3} palette slots stay tellable apart under that test: facet the chart instead.`));let E=el.useMemo(()=>n.map((X,G)=>({...X,hidden:X.hidden||C.has(X.key),color:Lr(X,G)})),[n,C]),N=el.useMemo(()=>r?.format??k??(X=>nt(X,T)),[r?.format,k,T]),W=el.useMemo(()=>t.format??(X=>Ze(X,T)),[t.format,T]),F=el.useMemo(()=>E.filter(X=>!X.hidden),[E]),K=el.useMemo(()=>e.map((X,G)=>{let $=ct(X,t.key,G),Y=F.map(Q=>{let le=Ee(X,Q.key);return {seriesKey:Q.key,seriesLabel:Kt(Q),color:Q.color,value:le,formattedValue:le===null?"\u2014":N(le),datum:X}}),se=Y.map(Q=>Q.value).filter(Q=>Q!==null),ae=Y[0]?.value??null,U=Y[Y.length-1]?.value??null;return {index:G,x:$,label:W($,G),points:Y,from:se.length>0?Math.min(...se):null,to:se.length>0?Math.max(...se):null,change:ae===null||U===null?null:U-ae,datum:X}}),[e,t.key,F,N,W]),j=el.useMemo(()=>{if(o==="none")return K;let X=a??F[F.length-1]?.key,G=Y=>o==="gap"?Math.abs(Y.change??0):Y.points.find(se=>se.seriesKey===X)?.value??0,$=[...K].sort((Y,se)=>G(Y)-G(se));return o==="asc"?$:$.reverse()},[K,o,a,F]),A=el.useCallback(X=>{b(G=>{let $=new Set(G);return $.has(X)?$.delete(X):$.add(X),$});},[]),D=c??Math.max(96,j.length*30+44),V=el.useMemo(()=>j.map(X=>({...X.datum,__change:X.change})),[j]),O=m===void 0?n.length>=2:m!==false,_=typeof m=="string"?m:"bottom";return jsxRuntime.jsx(lt,{title:h,description:I,height:D,width:d,size:u,loading:S,empty:j.length===0||F.length===0,emptyState:L,tableView:v,legendPosition:_,legend:O?jsxRuntime.jsx(Xt,{items:$r(E),position:_,marker:"dot",size:u,onToggle:p?A:void 0}):void 0,table:v?jsxRuntime.jsx(zt,{data:V,series:[...E,...x?[{key:"__change",label:M??B.chartChange}]:[]],xKey:t.key,xLabel:t.label??t.key,formatX:W,formatValue:N,caption:typeof h=="string"?h:void 0}):void 0,className:H,...P,children:({width:X})=>jsxRuntime.jsx(Nh,{width:X,height:D,data:j.map(G=>G.datum),rows:j,resolvedSeries:E,x:t,y:r,grid:f,size:u,showValues:s,dotSize:l,referenceLines:i,margin:R,tooltip:w,plotLabel:y,formatValue:N,formatX:W,onRowClick:z})})}var Dh=8,Lh=12,Eh=44,vl="text-right [font-variant-numeric:tabular-nums]",Mh=el.memo(function({stages:t}){return jsxRuntime.jsx("g",{children:t.map(r=>jsxRuntime.jsxs("g",{children:[jsxRuntime.jsx("path",{d:r.d,fill:r.color}),r.value?jsxRuntime.jsx("text",{x:r.value.x,y:r.value.y,textAnchor:r.value.anchor,dominantBaseline:"middle",className:r.value.inside?r.value.onDark?"fill-gray-50 text-[11px] font-semibold [font-variant-numeric:tabular-nums] dark:fill-gray-900":"fill-gray-900 text-[11px] font-semibold [font-variant-numeric:tabular-nums] dark:fill-gray-50":"fill-gray-700 text-[11px] font-semibold [font-variant-numeric:tabular-nums] dark:fill-gray-200",children:r.value.text}):null,r.conversion?jsxRuntime.jsx("text",{x:r.conversion.x,y:r.conversion.y,textAnchor:"middle",dominantBaseline:"middle",className:"fill-gray-500 text-[10px] [font-variant-numeric:tabular-nums] dark:fill-gray-400",children:r.conversion.text}):null]},r.key))})});function Ih({width:e,height:t,stages:r,x:n,size:o,align:a,showConversion:s,showValues:l,stageSize:i,ramp:c,tooltip:d,plotLabel:u,locale:f,onStageClick:m}){let[p,w]=el.useState(null),v=We(),x=el.useMemo(()=>{let R=r.map(b=>b.label),T={top:6,right:12,bottom:6,left:n.hidden?8:n.height??wr(R)+Lh},y=Math.max(0,e-T.left-T.right),M=Math.max(0,t-T.top-T.bottom),k=xn(r.map((b,E)=>E),[0,M],{paddingInner:s?.45:.28}),z=Math.min(i??Eh,k.bandwidth),H=Math.max(0,...r.map(b=>b.value??0)),P=Er([0,H],[0,y]),B=r.map((b,E)=>{let N=b.value===null?0:Math.max(0,P(b.value)),W=a==="center"?(y-N)/2:0,F=k(E)+(k.bandwidth-z)/2,K=F+z/2,j=null;if(l&&b.value!==null){let V=b.formattedValue;j=tr(V,11)+16<=N?{x:W+N/2,y:K,anchor:"middle",text:V,inside:true,onDark:c.onDark(E)}:{x:W+N+Dh,y:K,anchor:"start",text:V,inside:false,onDark:false};}let A=k(E-1)+(k.bandwidth-z)/2+z,D=s&&b.conversion!==null&&E>0?{x:y/2,y:(A+F)/2,text:Ut(b.conversion,{locale:f,maximumFractionDigits:0})}:null;return {key:`${E}`,d:cr({x:W,y:F,width:N,height:z,radius:4,round:a==="center"?"none":"right"}),color:c(E),value:j,conversion:D,top:k(E),height:k.bandwidth}}),C=n.hidden?[]:r.map((b,E)=>({value:b.x,offset:k.center(E),label:b.label}));return {margin:T,innerWidth:y,innerHeight:M,rendered:B,stageTicks:C,centers:r.map((b,E)=>k.center(E))}},[r,n,e,t,a,s,l,i,c,f]),h=el.useCallback(R=>{if(d===false||r.length===0)return;let T=R.currentTarget.getBoundingClientRect(),y=R.clientY-T.top-x.margin.top;w(Vt(x.centers,y));},[d,r.length,x.margin.top,x.centers]),I=el.useCallback(R=>{if(r.length===0)return;let T=r.length-1,y=p??0,M=R.key==="ArrowDown"?Math.min(T,y+1):R.key==="ArrowUp"?Math.max(0,y-1):R.key==="Home"?0:R.key==="End"?T:R.key==="Escape"?null:void 0;M!==void 0&&(R.preventDefault(),w(M));},[r.length,p]),S=el.useCallback(()=>{!m||p===null||m(r[p]);},[m,p,r]),L=p===null?null:r[p];return jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsxs("svg",{width:e,height:t,role:"img","aria-label":u??r.map(R=>R.label).join(", "),tabIndex:0,className:"touch-none focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-blue-500",onPointerMove:h,onPointerLeave:()=>w(null),onKeyDown:I,onBlur:()=>w(null),onClick:S,children:[jsxRuntime.jsxs("g",{transform:`translate(${x.margin.left}, ${x.margin.top})`,children:[p!==null&&x.rendered[p]?jsxRuntime.jsx("rect",{x:-4,y:x.rendered[p].top,width:x.innerWidth+8,height:x.rendered[p].height,rx:4,className:"fill-gray-400 dark:fill-gray-500",opacity:.12,"aria-hidden":"true"}):null,jsxRuntime.jsx(Mh,{stages:x.rendered})]}),jsxRuntime.jsx("g",{transform:`translate(${x.margin.left}, ${x.margin.top})`,children:n.hidden?null:jsxRuntime.jsx(Ue,{orientation:"left",ticks:x.stageTicks,length:x.innerHeight,showLine:false,tickSize:0,size:o})})]}),L&&p!==null&&d!==false?jsxRuntime.jsx(dt,{x:x.margin.left+x.innerWidth/2,y:x.margin.top+x.centers[p],containerWidth:e,children:typeof d=="function"?d(L):jsxRuntime.jsxs("div",{className:"flex flex-col gap-1",children:[jsxRuntime.jsx("div",{className:"font-medium text-gray-900 dark:text-gray-100",children:L.label}),jsxRuntime.jsxs("div",{className:"flex items-center gap-2",children:[jsxRuntime.jsx("span",{className:"h-2.5 w-2.5 shrink-0 rounded-sm",style:{backgroundColor:x.rendered[p]?.color},"aria-hidden":"true"}),jsxRuntime.jsx("span",{className:"font-semibold text-gray-900 [font-variant-numeric:tabular-nums] dark:text-gray-100",children:L.formattedValue})]}),L.conversion!==null?jsxRuntime.jsxs("div",{className:"flex items-center gap-2 text-gray-500 dark:text-gray-400",children:[jsxRuntime.jsx("span",{children:v.chartConversion}),jsxRuntime.jsx("span",{className:"[font-variant-numeric:tabular-nums]",children:Ut(L.conversion,{locale:f,maximumFractionDigits:1})})]}):null,L.overall!==null?jsxRuntime.jsxs("div",{className:"flex items-center gap-2 text-gray-500 dark:text-gray-400",children:[jsxRuntime.jsx("span",{children:r[0]?.label}),jsxRuntime.jsx("span",{className:"[font-variant-numeric:tabular-nums]",children:Ut(L.overall,{locale:f,maximumFractionDigits:1})})]}):null]})}):null]})}function Ah({data:e,x:t,value:r,align:n="center",showConversion:o=true,showValues:a=true,stageSize:s,colors:l,height:i,width:c,size:d="md",tooltip:u=true,tableView:f=false,title:m,description:p,loading:w=false,emptyState:v,locale:x,plotLabel:h,valueLabel:I,conversionLabel:S,dropOffLabel:L,format:R,onStageClick:T,className:y,...M}){let k=We(),z=el.useMemo(()=>R??(b=>nt(b,x)),[R,x]),H=el.useMemo(()=>t.format??(b=>Ze(b,x)),[t.format,x]),P=el.useMemo(()=>{let b=Ee(e[0]??{},r);return e.map((E,N)=>{let W=ct(E,t.key,N),F=Ee(E,r),K=N===0?null:Ee(e[N-1],r);return {index:N,x:W,label:H(W,N),value:F,overall:N===0||b===null||b===0||F===null?null:F/b,conversion:K===null||K===0||F===null?null:F/K,dropOff:K===null||F===null?null:K-F,formattedValue:F===null?"\u2014":z(F),datum:E}})},[e,t.key,r,z,H]),B=el.useMemo(()=>va([0,Math.max(1,P.length-1)],{colors:l??ya,...l?{}:{darkStops:$i}}),[P.length,l]),C=i??Math.max(96,P.length*(o?56:44)+12);return jsxRuntime.jsx(lt,{title:m,description:p,height:C,width:c,size:d,loading:w,empty:P.length===0,emptyState:v,tableView:f,table:f?jsxRuntime.jsx("div",{className:"w-full overflow-x-auto",children:jsxRuntime.jsxs(fn,{children:[typeof m=="string"?jsxRuntime.jsx("caption",{className:"sr-only",children:m}):null,jsxRuntime.jsxs(bn,{children:[jsxRuntime.jsx(St,{children:t.label??t.key}),jsxRuntime.jsx(St,{className:"text-right",children:I??k.chartValue}),jsxRuntime.jsx(St,{className:"text-right",children:S??k.chartConversion}),jsxRuntime.jsx(St,{className:"text-right",children:L??k.chartDropOff})]}),jsxRuntime.jsx(hn,{children:P.map(b=>jsxRuntime.jsxs(yn,{clickable:false,children:[jsxRuntime.jsx(Gt,{className:"font-medium text-gray-900 dark:text-gray-100",children:b.label}),jsxRuntime.jsx(Gt,{className:vl,children:b.formattedValue}),jsxRuntime.jsx(Gt,{className:vl,children:b.conversion===null?"\u2014":Ut(b.conversion,{locale:x,maximumFractionDigits:1})}),jsxRuntime.jsx(Gt,{className:vl,children:b.dropOff===null?"\u2014":z(b.dropOff)})]},b.index))})]})}):void 0,className:y,...M,children:({width:b})=>jsxRuntime.jsx(Ih,{width:b,height:C,stages:P,x:t,size:d,align:n,showConversion:o,showValues:a,stageSize:s,ramp:B,tooltip:u,plotLabel:h,locale:x,onStageClick:T})})}var Bh=18,Hd=.5,Vh=.3,Vs=7,Bd=10,Vd=.02,Cl="text-right [font-variant-numeric:tabular-nums]",Fh=el.memo(function({tasks:t,arrows:r}){return jsxRuntime.jsxs("g",{children:[jsxRuntime.jsx("g",{className:"fill-gray-400 stroke-gray-400 dark:fill-gray-500 dark:stroke-gray-500",children:r.map(n=>jsxRuntime.jsxs("g",{children:[jsxRuntime.jsx("path",{d:n.d,fill:"none",strokeWidth:1}),jsxRuntime.jsx("path",{d:n.head,strokeWidth:0})]},n.key))}),t.map(n=>jsxRuntime.jsxs("g",{children:[n.track?jsxRuntime.jsx("path",{d:n.track,fill:n.color,fillOpacity:n.trackOpacity}):null,n.progress?jsxRuntime.jsx("path",{d:n.progress,fill:n.color}):null,n.milestone?jsxRuntime.jsx("path",{d:n.milestone,fill:n.color,strokeWidth:2,className:"stroke-white dark:stroke-gray-800"}):null]},n.key))]})});function Oh({width:e,height:t,data:r,tasks:n,x:o,domain:a,unit:s,timeTicks:l,today:i,grid:c,size:d,barSize:u,colorOf:f,margin:m,tooltip:p,plotLabel:w,todayLabel:v,locale:x,formatDate:h,formatX:I,onTaskClick:S}){let[L,R]=el.useState(null),T=We(),y=el.useMemo(()=>{let P=rr({width:e,height:t,data:r,x:o,y:{domain:a},bounds:a,margin:m,orientation:"horizontal",placement:"band",formatValue:D=>Hs(D,s,x),formatX:I}),{valueScale:B,bandwidth:C,categoryPositions:b,innerWidth:E,innerHeight:N}=P,W=Math.min(u??Bh,C),F=new Map(n.map((D,V)=>[D.id,V])),K=n.map((D,V)=>{let O=b[V]+(C-W)/2,_=O+W/2,X=f(D);if(D.start===null)return {key:`${V}`,color:X,track:null,trackOpacity:1,progress:null,milestone:null,top:b[V],height:C};let G=B(D.start);if(D.milestone)return {key:`${V}`,color:X,track:null,trackOpacity:1,progress:null,milestone:`M${G},${_-Vs} L${G+Vs},${_} L${G},${_+Vs} L${G-Vs},${_} Z`,top:b[V],height:C};let $=B(D.end??D.start),Y=Math.max(2,$-G);return {key:`${V}`,color:X,track:cr({x:G,y:O,width:Y,height:W,radius:3}),trackOpacity:D.progress===null?1:Vh,progress:D.progress===null?null:cr({x:G,y:_-W*Hd/2,width:Math.max(0,Y*Math.min(1,Math.max(0,D.progress))),height:W*Hd,radius:2,round:"right"}),milestone:null,top:b[V],height:C}}),j=[];n.forEach((D,V)=>{if(D.start!==null)for(let O of D.dependsOn){let _=F.get(O);if(_===void 0||_===V)continue;let X=n[_];if(X.start===null)continue;let G=B(X.end??X.start),$=b[_]+C/2,Y=B(D.start),se=b[V]+C/2,ae=Math.max(G+Bd,Y-Bd);j.push({key:`${O}-${D.id}`,d:`M${G},${$} L${ae},${$} L${ae},${se} L${Y-5},${se}`,head:`M${Y},${se} L${Y-5},${se-3.5} L${Y-5},${se+3.5} Z`});}});let A=l.map(D=>({value:D,offset:B(D),label:Hs(D,s,x)}));return {rendered:K,arrows:j,categoryPositions:b,categoryCenters:P.categoryCenters,bandwidth:C,categoryTicks:P.categoryTicks,valueTicks:A,valueScale:B,innerWidth:E,innerHeight:N,margin:P.margin}},[n,r,o,a,s,l,e,t,m,u,f,x,I]),M=el.useCallback(P=>{if(p===false||n.length===0)return;let B=P.currentTarget.getBoundingClientRect(),C=P.clientY-B.top-y.margin.top;R(Vt(y.categoryCenters,C));},[p,n.length,y.margin.top,y.categoryCenters]),k=el.useCallback(P=>{if(n.length===0)return;let B=n.length-1,C=L??0,b=P.key==="ArrowDown"?Math.min(B,C+1):P.key==="ArrowUp"?Math.max(0,C-1):P.key==="Home"?0:P.key==="End"?B:P.key==="Escape"?null:void 0;b!==void 0&&(P.preventDefault(),R(b));},[n.length,L]),z=el.useCallback(()=>{!S||L===null||S(n[L]);},[S,L,n]),H=L===null?null:n[L];return jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsxs("svg",{width:e,height:t,role:"img","aria-label":w??n.map(P=>P.label).join(", "),tabIndex:0,className:"touch-none focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-blue-500",onPointerMove:M,onPointerLeave:()=>R(null),onKeyDown:k,onBlur:()=>R(null),onClick:z,children:[jsxRuntime.jsxs("g",{transform:`translate(${y.margin.left}, ${y.margin.top})`,children:[jsxRuntime.jsx(_t,{width:y.innerWidth,height:y.innerHeight,vertical:c?y.valueTicks.map(P=>P.offset):void 0}),L!==null?jsxRuntime.jsx("rect",{x:0,y:y.categoryPositions[L],width:y.innerWidth,height:y.bandwidth,className:"fill-gray-400 dark:fill-gray-500",opacity:.12,"aria-hidden":"true"}):null,jsxRuntime.jsx(Fh,{tasks:y.rendered,arrows:y.arrows}),i!==null?jsxRuntime.jsxs("g",{children:[jsxRuntime.jsx("line",{x1:y.valueScale(i),y1:0,x2:y.valueScale(i),y2:y.innerHeight,className:"stroke-gray-900 dark:stroke-white",strokeWidth:1,strokeDasharray:"4 4"}),jsxRuntime.jsx("text",{x:y.valueScale(i)+4,y:8,className:"fill-gray-500 text-[10px] dark:fill-gray-400",children:v})]}):null]}),jsxRuntime.jsx("g",{transform:`translate(${y.margin.left}, ${y.margin.top+y.innerHeight})`,children:jsxRuntime.jsx(Ue,{orientation:"bottom",ticks:y.valueTicks,length:y.innerWidth,size:d})}),jsxRuntime.jsx("g",{transform:`translate(${y.margin.left}, ${y.margin.top})`,children:o.hidden?null:jsxRuntime.jsx(Ue,{orientation:"left",ticks:y.categoryTicks,length:y.innerHeight,showLine:false,tickSize:0,label:o.label,size:d})})]}),H&&L!==null&&p!==false?jsxRuntime.jsx(dt,{x:y.margin.left+(H.start===null?y.innerWidth/2:y.valueScale(H.start)),y:y.margin.top+y.categoryCenters[L],containerWidth:e,children:typeof p=="function"?p(H):jsxRuntime.jsxs("div",{className:"flex flex-col gap-1",children:[jsxRuntime.jsx("div",{className:"font-medium text-gray-900 dark:text-gray-100",children:H.label}),jsxRuntime.jsxs("div",{className:"flex items-center gap-2 text-gray-500 dark:text-gray-400",children:[jsxRuntime.jsx("span",{children:T.chartStart}),jsxRuntime.jsx("span",{className:"[font-variant-numeric:tabular-nums] text-gray-900 dark:text-gray-100",children:H.start===null?"\u2014":h(H.start)})]}),H.milestone?null:jsxRuntime.jsxs("div",{className:"flex items-center gap-2 text-gray-500 dark:text-gray-400",children:[jsxRuntime.jsx("span",{children:T.chartEnd}),jsxRuntime.jsx("span",{className:"[font-variant-numeric:tabular-nums] text-gray-900 dark:text-gray-100",children:H.end===null?"\u2014":h(H.end)})]}),H.progress===null?null:jsxRuntime.jsxs("div",{className:"flex items-center gap-2 text-gray-500 dark:text-gray-400",children:[jsxRuntime.jsx("span",{children:T.chartProgress}),jsxRuntime.jsx("span",{className:"[font-variant-numeric:tabular-nums] text-gray-900 dark:text-gray-100",children:Ut(H.progress,{locale:x,maximumFractionDigits:0})})]})]})}):null]})}function $h({data:e,x:t,start:r,end:n,id:o,progress:a,milestone:s,dependencies:l,group:i,domain:c,today:d,ticks:u=6,barSize:f,rowSize:m=30,color:p,height:w,width:v,size:x="md",grid:h=true,legend:I,tooltip:S=true,tableView:L=false,title:R,description:T,loading:y=false,emptyState:M,margin:k,locale:z,plotLabel:H,startLabel:P,endLabel:B,progressLabel:C,todayLabel:b,formatDate:E,onTaskClick:N,className:W,...F}){let K=We(),j=el.useMemo(()=>t.format??(U=>Ze(U,z)),[t.format,z]),A=el.useMemo(()=>e.map((U,Q)=>{let le=ct(U,t.key,Q),ye=mo(U[r]),te=n?mo(U[n]):null,Ce=s?!!U[s]:te===null,Pe=l?U[l]:void 0;return {index:Q,id:String(o?U[o]??Q:Q),x:le,label:j(le,Q),start:ye,end:Ce?ye:te??ye,progress:a?Ee(U,a):null,milestone:Ce,dependsOn:Array.isArray(Pe)?Pe.map(Se=>String(Se)):[],group:i?U[i]??null:null,datum:U}}),[e,t.key,r,n,o,a,s,l,i,j]),D=el.useMemo(()=>{let U=[];for(let Q of A)Q.group!==null&&!U.includes(Q.group)&&U.push(Q.group);return U},[A]),V=el.useCallback(U=>U.group===null?p??Dr(0):Dr(D.indexOf(U.group)),[D,p]),O=el.useMemo(()=>{if(c){let te=mo(c[0]),Ce=mo(c[1]);if(te!==null&&Ce!==null)return [te,Ce]}let U=A.flatMap(te=>te.start===null?[]:[te.start,te.end??te.start]);if(U.length===0)return [0,1];let Q=Math.min(...U),le=Math.max(...U),ye=le-Q||864e5;return [Q-ye*Vd,le+ye*Vd]},[c,A]),_=el.useMemo(()=>bl(O[0],O[1],u),[O,u]),X=el.useMemo(()=>E??(U=>new Intl.DateTimeFormat(z,{day:"numeric",month:"short",year:"numeric"}).format(new Date(U))),[E,z]),G=el.useMemo(()=>d===false?null:mo(d??Date.now()),[d]),$=el.useMemo(()=>D.map((U,Q)=>({key:U,label:U,color:Dr(Q),marker:"rect"})),[D]),Y=w??Math.max(120,A.length*m+48),se=I===void 0?D.length>=2:I!==false,ae=typeof I=="string"?I:"bottom";return jsxRuntime.jsx(lt,{title:R,description:T,height:Y,width:v,size:x,loading:y,empty:A.length===0,emptyState:M,tableView:L,legendPosition:ae,legend:se&&$.length>0?jsxRuntime.jsx(Xt,{items:$,position:ae,marker:"rect",size:x}):void 0,table:L?jsxRuntime.jsx("div",{className:"w-full overflow-x-auto",children:jsxRuntime.jsxs(fn,{children:[typeof R=="string"?jsxRuntime.jsx("caption",{className:"sr-only",children:R}):null,jsxRuntime.jsxs(bn,{children:[jsxRuntime.jsx(St,{children:t.label??t.key}),jsxRuntime.jsx(St,{className:"text-right",children:P??K.chartStart}),jsxRuntime.jsx(St,{className:"text-right",children:B??K.chartEnd}),a?jsxRuntime.jsx(St,{className:"text-right",children:C??K.chartProgress}):null]}),jsxRuntime.jsx(hn,{children:A.map(U=>jsxRuntime.jsxs(yn,{clickable:false,children:[jsxRuntime.jsx(Gt,{className:"font-medium text-gray-900 dark:text-gray-100",children:U.label}),jsxRuntime.jsx(Gt,{className:Cl,children:U.start===null?"\u2014":X(U.start)}),jsxRuntime.jsx(Gt,{className:Cl,children:U.milestone||U.end===null?"\u2014":X(U.end)}),a?jsxRuntime.jsx(Gt,{className:Cl,children:U.progress===null?"\u2014":Ut(U.progress,{locale:z,maximumFractionDigits:0})}):null]},U.index))})]})}):void 0,className:W,...F,children:({width:U})=>jsxRuntime.jsx(Oh,{width:U,height:Y,data:e,tasks:A,x:t,domain:O,unit:_.unit,timeTicks:_.values,today:G,grid:h,size:x,barSize:f,colorOf:V,margin:k,tooltip:S,plotLabel:H,todayLabel:b??K.chartToday,locale:z,formatDate:X,formatX:j,onTaskClick:N})})}var Kh=24,Uh=4,Ko=6,Yh=Eo(no,1),qh=Eo(no,0),jh=el.memo(function({bars:t,connectors:r}){return jsxRuntime.jsxs("g",{children:[jsxRuntime.jsx("g",{className:"stroke-gray-300 dark:stroke-gray-600",strokeWidth:1,shapeRendering:"crispEdges","aria-hidden":"true",children:r.map(n=>jsxRuntime.jsx("line",{x1:n.x1,y1:n.y1,x2:n.x2,y2:n.y2},n.key))}),t.map(n=>jsxRuntime.jsxs("g",{children:[jsxRuntime.jsx("path",{d:n.d,fill:n.color}),n.label?jsxRuntime.jsx("text",{x:n.label.x,y:n.label.y,textAnchor:n.label.anchor,dominantBaseline:"middle",className:"fill-gray-600 text-[10px] [font-variant-numeric:tabular-nums] dark:fill-gray-300",children:n.label.text}):null]},n.key))]})});function Zh({width:e,height:t,steps:r,data:n,x:o,y:a,grid:s,size:l,orientation:i,connectors:c,showValues:d,barSize:u,palette:f,margin:m,tooltip:p,plotLabel:w,totalLabel:v,formatValue:x,formatX:h,onStepClick:I}){let[S,L]=el.useState(null),R=el.useMemo(()=>{let H=i==="vertical",P=r.flatMap(D=>[D.start,D.end]),B=rr({width:e,height:t,data:n,x:o,y:a,bounds:P.length===0?null:[Math.min(...P),Math.max(...P)],margin:m,orientation:i,placement:"band",formatValue:x,formatX:h,defaultIncludeZero:true}),{valueScale:C,bandwidth:b,categoryPositions:E,innerWidth:N,innerHeight:W}=B,F=C(0),K=Math.min(u??Kh,b),j=[],A=[];return r.forEach((D,V)=>{let O=E[V]+(b-K)/2,_=C(D.start),X=C(D.end),G=Math.min(_,X),$=Math.abs(X-_),Y=D.end>=D.start,se=H?Y?"top":"bottom":Y?"right":"left",ae=H?{x:O,y:G,width:K,height:$}:{x:G,y:O,width:$,height:K},U=null;if(d&&D.value!==null){let le=D.kind==="total"?D.formattedEnd:D.formattedValue,ye=tr(le,10),te=C(Y?Math.max(D.start,D.end):Math.min(D.start,D.end));if(H){let Ce=Y?te-Ko:te+Ko;ye<=b&&Ce>8&&Ce<W-4&&(U={x:O+K/2,y:Ce,anchor:"middle",text:le});}else {let Ce=Y?N-te-Ko:te-Ko;ye<=Ce&&(U={x:Y?te+Ko:te-Ko,y:O+K/2,anchor:Y?"start":"end",text:le});}}j.push({key:`${V}`,color:f[D.kind],d:cr({...ae,radius:Uh,round:se}),label:U});let Q=r[V+1];if(c&&Q){let le=C(D.end),ye=E[V+1]+(b-K)/2;A.push(H?{key:`${V}`,x1:O+K,y1:le,x2:ye,y2:le}:{key:`${V}`,x1:le,y1:O+K,x2:le,y2:ye});}}),{vertical:H,bars:j,rules:A,baseline:F,bandwidth:b,categoryPositions:E,categoryCenters:B.categoryCenters,categoryTicks:B.categoryTicks,valueTicks:B.valueTicks,valueScale:C,innerWidth:N,innerHeight:W,margin:B.margin}},[r,n,o,a,e,t,m,i,c,d,u,f,x,h]),T=el.useCallback(H=>{if(p===false||r.length===0)return;let P=H.currentTarget.getBoundingClientRect(),B=R.vertical?H.clientX-P.left-R.margin.left:H.clientY-P.top-R.margin.top;L(Vt(R.categoryCenters,B));},[p,r.length,R.vertical,R.margin,R.categoryCenters]),y=el.useCallback(H=>{if(r.length===0)return;let P=r.length-1,B=S??0,C=R.vertical?"ArrowRight":"ArrowDown",b=R.vertical?"ArrowLeft":"ArrowUp",E=H.key===C?Math.min(P,B+1):H.key===b?Math.max(0,B-1):H.key==="Home"?0:H.key==="End"?P:H.key==="Escape"?null:void 0;E!==void 0&&(H.preventDefault(),L(E));},[r.length,S,R.vertical]),M=el.useCallback(()=>{!I||S===null||I(r[S]);},[I,S,r]),k=S===null?null:r[S],z=S===null||k===void 0||k===null?null:R.vertical?{x:R.margin.left+R.categoryCenters[S],y:R.margin.top+Math.min(R.valueScale(k.start),R.valueScale(k.end))}:{x:R.margin.left+Math.max(R.valueScale(k.start),R.valueScale(k.end)),y:R.margin.top+R.categoryCenters[S]};return jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsxs("svg",{width:e,height:t,role:"img","aria-label":w??r.map(H=>H.label).join(", "),tabIndex:0,className:"touch-none focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-blue-500",onPointerMove:T,onPointerLeave:()=>L(null),onKeyDown:y,onBlur:()=>L(null),onClick:M,children:[jsxRuntime.jsxs("g",{transform:`translate(${R.margin.left}, ${R.margin.top})`,children:[jsxRuntime.jsx(_t,{width:R.innerWidth,height:R.innerHeight,horizontal:R.vertical&&(s==="y"||s==="both")?R.valueTicks.map(H=>H.offset):void 0,vertical:!R.vertical&&(s==="y"||s==="both")?R.valueTicks.map(H=>H.offset):void 0}),S!==null?jsxRuntime.jsx("rect",{x:R.vertical?R.categoryPositions[S]:0,y:R.vertical?0:R.categoryPositions[S],width:R.vertical?R.bandwidth:R.innerWidth,height:R.vertical?R.innerHeight:R.bandwidth,className:"fill-gray-400 dark:fill-gray-500",opacity:.12,"aria-hidden":"true"}):null,jsxRuntime.jsx(jh,{bars:R.bars,connectors:R.rules}),jsxRuntime.jsx("line",{x1:R.vertical?0:R.baseline,y1:R.vertical?R.baseline:0,x2:R.vertical?R.innerWidth:R.baseline,y2:R.vertical?R.baseline:R.innerHeight,className:"stroke-gray-300 dark:stroke-gray-600",strokeWidth:1,shapeRendering:"crispEdges"})]}),jsxRuntime.jsx("g",{transform:`translate(${R.margin.left}, ${R.margin.top+R.innerHeight})`,children:(R.vertical?o.hidden:a?.hidden)?null:jsxRuntime.jsx(Ue,{orientation:"bottom",ticks:R.vertical?R.categoryTicks:R.valueTicks,length:R.innerWidth,label:R.vertical?o.label:a?.label,size:l})}),jsxRuntime.jsx("g",{transform:`translate(${R.margin.left}, ${R.margin.top})`,children:(R.vertical?a?.hidden:o.hidden)?null:jsxRuntime.jsx(Ue,{orientation:"left",ticks:R.vertical?R.valueTicks:R.categoryTicks,length:R.innerHeight,showLine:false,label:R.vertical?a?.label:o.label,size:l})})]}),k&&z&&p!==false?jsxRuntime.jsx(dt,{x:z.x,y:z.y,containerWidth:e,children:typeof p=="function"?p(k):jsxRuntime.jsxs("div",{className:"flex flex-col gap-1",children:[jsxRuntime.jsx("div",{className:"font-medium text-gray-900 dark:text-gray-100",children:k.label}),jsxRuntime.jsxs("div",{className:"flex items-center gap-2",children:[jsxRuntime.jsx("span",{className:"h-2.5 w-2.5 shrink-0 rounded-sm",style:{backgroundColor:f[k.kind]},"aria-hidden":"true"}),jsxRuntime.jsx("span",{className:"font-semibold text-gray-900 [font-variant-numeric:tabular-nums] dark:text-gray-100",children:k.kind==="total"?k.formattedEnd:k.formattedValue})]}),k.kind==="total"?null:jsxRuntime.jsxs("div",{className:"flex items-center gap-2 text-gray-500 dark:text-gray-400",children:[jsxRuntime.jsx("span",{children:v}),jsxRuntime.jsx("span",{className:"[font-variant-numeric:tabular-nums]",children:k.formattedEnd})]})]})}):null]})}function Qh({data:e,x:t,y:r,value:n,total:o,start:a=0,orientation:s="vertical",connectors:l=true,showValues:i=true,barSize:c,colors:d,height:u=280,width:f,size:m="md",grid:p="y",legend:w,tooltip:v=true,tableView:x=false,title:h,description:I,loading:S=false,emptyState:L,margin:R,locale:T,plotLabel:y,valueLabel:M,totalLabel:k,increaseLabel:z,decreaseLabel:H,format:P,onStepClick:B,className:C,...b}){let E=We(),N=el.useMemo(()=>P??(_=>nt(_,T)),[P,T]),W=el.useMemo(()=>t.format??(_=>Ze(_,T)),[t.format,T]),F=el.useMemo(()=>{let _=a;return e.map((X,G)=>{let $=ct(X,t.key,G),Y=Ee(X,n);if(o?!!X[o]:false){let Q=Y??_;return _=Q,{index:G,x:$,label:W($,G),value:Q,start:0,end:Q,kind:"total",formattedValue:N(Q),formattedEnd:N(Q),datum:X}}let ae=_,U=Y===null?_:_+Y;return _=U,{index:G,x:$,label:W($,G),value:Y,start:ae,end:U,kind:Y!==null&&Y<0?"decrease":"increase",formattedValue:Y===null?"\u2014":`${Y>0?"+":""}${N(Y)}`,formattedEnd:N(U),datum:X}})},[e,t.key,n,o,a,N,W]),K=el.useMemo(()=>({increase:d?.increase??Yh,decrease:d?.decrease??qh,total:d?.total??Pr}),[d]),j=k??E.chartRunningTotal,A=el.useMemo(()=>{let _=[{key:"increase",label:z??E.chartIncrease,color:K.increase,marker:"rect"},{key:"decrease",label:H??E.chartDecrease,color:K.decrease,marker:"rect"}];return F.some(X=>X.kind==="total")&&_.push({key:"total",label:j,color:K.total,marker:"rect"}),_},[K,F,z,H,j,E.chartIncrease,E.chartDecrease]),D=el.useMemo(()=>F.map(_=>({[t.key]:_.x,[n]:_.kind==="total"?null:_.value,__running:_.end})),[F,t.key,n]),V=w===void 0?true:w!==false,O=typeof w=="string"?w:"bottom";return jsxRuntime.jsx(lt,{title:h,description:I,height:u,width:f,size:m,loading:S,empty:F.length===0,emptyState:L,tableView:x,legendPosition:O,legend:V?jsxRuntime.jsx(Xt,{items:A,position:O,marker:"rect",size:m}):void 0,table:x?jsxRuntime.jsx(zt,{data:D,series:[{key:n,label:M??E.chartValue},{key:"__running",label:j}],xKey:t.key,xLabel:t.label??t.key,formatX:W,formatValue:N,caption:typeof h=="string"?h:void 0}):void 0,className:C,...b,children:({width:_})=>jsxRuntime.jsx(Zh,{width:_,height:u,steps:F,data:e,x:t,y:r,grid:p,size:m,orientation:s,connectors:l,showValues:i,barSize:c,palette:K,margin:R,tooltip:v,plotLabel:y,totalLabel:j,formatValue:N,formatX:W,onStepClick:B})})}var ab=e=>{switch(e){case "sm":return {checkbox:"w-4 h-4",label:"text-xs",description:"text-xs"};case "lg":return {checkbox:"w-6 h-6",label:"text-base",description:"text-sm"};default:return {checkbox:"w-5 h-5",label:"text-sm",description:"text-xs"}}},sb=e=>{switch(e){case "circle":return "rounded-full";case "rounded":return "rounded-md";default:return "rounded"}},ib=({className:e})=>jsxRuntime.jsx("svg",{className:e,viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:jsxRuntime.jsx("path",{d:"M13.5 4.5L6 12L2.5 8.5",stroke:"currentColor",strokeWidth:"2.5",strokeLinecap:"round",strokeLinejoin:"round"})}),lb=({className:e})=>jsxRuntime.jsx("svg",{className:e,viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:jsxRuntime.jsx("path",{d:"M3 8H13",stroke:"currentColor",strokeWidth:"2.5",strokeLinecap:"round"})}),Aa=el.forwardRef(({checked:e,defaultChecked:t=false,onChange:r,disabled:n=false,readOnly:o=false,required:a=false,name:s,value:l,id:i,label:c,description:d,error:u=false,size:f="md",labelPosition:m="right",checkedColor:p="bg-blue-600",uncheckedColor:w="bg-white dark:bg-gray-800",borderColor:v="border-gray-300 dark:border-gray-600",labelColor:x,errorColor:h="text-red-500",checkmarkColor:I="text-white",hoverColor:S,focusRingColor:L="ring-blue-500",indeterminate:R=false,icon:T,variant:y="default",shape:M="square",animation:k=true,showFocusRing:z=true,className:H,containerClassName:P,style:B,tabIndex:C,...b},E)=>{let N=el.useId(),W=i||N,F=`${W}-error`,K=`${W}-description`,[j,A]=el.useState(t),D=e!==void 0,V=D?e:j,O=el.useRef(null);el.useEffect(()=>{O.current&&(O.current.indeterminate=R);},[R]);let _=ae=>{if(n||o)return;let U=ae.target.checked;D||A(U),r?.(U,ae);},X=ab(f),G=sb(M),$=()=>{let ae=g("relative flex items-center justify-center border-2 transition-all",X.checkbox,G,k&&"duration-200 ease-in-out");return n?g(ae,"opacity-50 cursor-not-allowed",V||R?p:w,v):y==="filled"?g(ae,V||R?p:"bg-gray-100 dark:bg-gray-700",V||R?"border-transparent":v,S&&!o&&`hover:${S}`,"cursor-pointer"):y==="outlined"?g(ae,w,V||R?`border-current ${p.replace("bg-","text-")}`:v,"border-2",S&&!o&&`hover:${S}`,"cursor-pointer"):g(ae,V||R?p:w,V||R?"border-transparent":v,S&&!o&&`hover:${S}`,"cursor-pointer")},Y=u!==false,se=typeof u=="string"?u:void 0;return jsxRuntime.jsxs("div",{className:g("inline-flex flex-col",P),children:[jsxRuntime.jsxs("label",{htmlFor:W,className:g("inline-flex items-start gap-2",n?"cursor-not-allowed":"cursor-pointer",m==="left"&&"flex-row-reverse justify-end"),children:[jsxRuntime.jsx("input",{ref:ae=>{O&&(O.current=ae),typeof E=="function"?E(ae):E&&(E.current=ae);},type:"checkbox",id:W,name:s,value:l,checked:V,onChange:_,disabled:n,readOnly:o,required:a,tabIndex:o?-1:C,"aria-invalid":Y,"aria-describedby":g(se&&F,d&&K),className:"sr-only peer",style:B,...b}),jsxRuntime.jsx("span",{className:g($(),z&&`peer-focus-visible:ring-2 peer-focus-visible:ring-offset-2 peer-focus-visible:${L}`,k&&V&&"scale-100",Y&&"border-red-500"),"aria-hidden":"true",children:(V||R)&&jsxRuntime.jsx("span",{className:g(I,k&&"animate-in zoom-in-50 duration-200"),children:R?T||jsxRuntime.jsx(lb,{className:"w-full h-full"}):T||jsxRuntime.jsx(ib,{className:"w-full h-full"})})}),c&&jsxRuntime.jsxs("span",{className:"flex flex-col gap-1",children:[jsxRuntime.jsxs("span",{className:g(X.label,n&&"opacity-50",x,Y&&h),children:[c,a&&jsxRuntime.jsx("span",{className:"text-red-500 ml-1",children:"*"})]}),d&&jsxRuntime.jsx("span",{id:K,className:g(X.description,"text-gray-500 dark:text-gray-400",n&&"opacity-50"),children:d})]})]}),se&&jsxRuntime.jsx("p",{id:F,className:g("mt-1 text-xs",h),children:se})]})});Aa.displayName="Checkbox";var Fd=el.createContext(null),Od=({label:e,description:t,value:r,defaultValue:n=[],onChange:o,orientation:a="vertical",spacing:s="md",disabled:l=false,size:i="md",error:c=false,required:d=false,children:u,className:f,labelClassName:m,...p})=>{let[w,v]=el__namespace.useState(n),x=r!==void 0,h=x?r:w,I=el__namespace.useCallback(y=>{let M=h.includes(y)?h.filter(k=>k!==y):[...h,y];x||v(M),o?.(M);},[h,x,o]),S=el__namespace.useMemo(()=>({value:h,onChange:I,disabled:l,size:i}),[h,I,l,i]),L={sm:a==="vertical"?"gap-2":"gap-3",md:a==="vertical"?"gap-3":"gap-4",lg:a==="vertical"?"gap-4":"gap-6"},R=c!==false,T=typeof c=="string"?c:void 0;return jsxRuntime.jsxs("div",{className:g("flex flex-col gap-2",f),...p,children:[(e||t)&&jsxRuntime.jsxs("div",{className:"flex flex-col gap-1",children:[e&&jsxRuntime.jsxs("label",{className:g("text-sm font-medium text-gray-900 dark:text-gray-100",l&&"opacity-50",R&&"text-red-500",m),children:[e,d&&jsxRuntime.jsx("span",{className:"text-red-500 ml-1",children:"*"})]}),t&&jsxRuntime.jsx("p",{className:g("text-xs text-gray-500 dark:text-gray-400",l&&"opacity-50"),children:t})]}),jsxRuntime.jsx(Fd.Provider,{value:S,children:jsxRuntime.jsx("div",{className:g("flex",a==="vertical"?"flex-col":"flex-row flex-wrap",L[s]),role:"group",children:u})}),T&&jsxRuntime.jsx("p",{className:"text-xs text-red-500",children:T})]})};Od.displayName="CheckboxGroup";var $d=({value:e,disabled:t,size:r,...n})=>{let o=el.useContext(Fd);if(!o)return console.warn("CheckboxGroupItem doit \xEAtre utilis\xE9 dans un CheckboxGroup"),jsxRuntime.jsx(Aa,{...n,disabled:t,size:r});let{value:a,onChange:s,disabled:l,size:i}=o,c=a.includes(e);return jsxRuntime.jsx(Aa,{...n,checked:c,onChange:()=>s(e),disabled:l||t,size:r||i})};$d.displayName="CheckboxGroupItem";var dr={compact:"px-3 py-1.5",default:"px-4 py-3",comfortable:"px-6 py-4"},_s={compact:"text-xs",default:"text-sm",comfortable:"text-base"},pb=()=>jsxRuntime.jsx("svg",{className:"w-3.5 h-3.5",viewBox:"0 0 16 16",fill:"currentColor",children:jsxRuntime.jsx("path",{d:"M8 3l4 5H4l4-5z"})}),fb=()=>jsxRuntime.jsx("svg",{className:"w-3.5 h-3.5",viewBox:"0 0 16 16",fill:"currentColor",children:jsxRuntime.jsx("path",{d:"M8 13l4-5H4l4 5z"})}),hb=()=>jsxRuntime.jsx("svg",{className:"w-3.5 h-3.5 opacity-30",viewBox:"0 0 16 16",fill:"currentColor",children:jsxRuntime.jsx("path",{d:"M8 3l3 4H5l3-4zM8 13l3-4H5l3 4z"})}),_d=({className:e})=>jsxRuntime.jsx("svg",{className:g("w-4 h-4",e),viewBox:"0 0 20 20",fill:"currentColor",children:jsxRuntime.jsx("path",{fillRule:"evenodd",d:"M5.23 7.21a.75.75 0 011.06.02L10 11.168l3.71-3.938a.75.75 0 111.08 1.04l-4.25 4.5a.75.75 0 01-1.08 0l-4.25-4.5a.75.75 0 01.02-1.06z",clipRule:"evenodd"})}),bb=()=>jsxRuntime.jsx("svg",{className:"w-4 h-4 text-gray-400",viewBox:"0 0 20 20",fill:"currentColor",children:jsxRuntime.jsx("path",{fillRule:"evenodd",d:"M9 3.5a5.5 5.5 0 100 11 5.5 5.5 0 000-11zM2 9a7 7 0 1112.452 4.391l3.328 3.329a.75.75 0 11-1.06 1.06l-3.329-3.328A7 7 0 012 9z",clipRule:"evenodd"})}),yb=()=>jsxRuntime.jsx("svg",{className:"w-4 h-4 text-gray-400",viewBox:"0 0 20 20",fill:"currentColor",children:jsxRuntime.jsx("path",{d:"M7 4a1.5 1.5 0 110-3 1.5 1.5 0 010 3zm6 0a1.5 1.5 0 110-3 1.5 1.5 0 010 3zM7 10.5a1.5 1.5 0 110-3 1.5 1.5 0 010 3zm6 0a1.5 1.5 0 110-3 1.5 1.5 0 010 3zM7 17a1.5 1.5 0 110-3 1.5 1.5 0 010 3zm6 0a1.5 1.5 0 110-3 1.5 1.5 0 010 3z"})}),xb=()=>jsxRuntime.jsx("svg",{className:"w-3.5 h-3.5",viewBox:"0 0 20 20",fill:"currentColor",children:jsxRuntime.jsx("path",{fillRule:"evenodd",d:"M2.628 1.601C5.028 1.206 7.49 1 10 1s4.973.206 7.372.601a.75.75 0 01.628.74v2.288a2.25 2.25 0 01-.659 1.59l-4.682 4.683a2.25 2.25 0 00-.659 1.59v3.037c0 .684-.31 1.33-.844 1.757l-1.937 1.55A.75.75 0 018 18.25v-5.757a2.25 2.25 0 00-.659-1.591L2.659 6.22A2.25 2.25 0 012 4.629V2.34a.75.75 0 01.628-.74z",clipRule:"evenodd"})}),vb=()=>jsxRuntime.jsxs("svg",{className:"w-4 h-4",viewBox:"0 0 20 20",fill:"currentColor",children:[jsxRuntime.jsx("path",{d:"M10.75 2.75a.75.75 0 00-1.5 0v8.614L6.295 8.235a.75.75 0 10-1.09 1.03l4.25 4.5a.75.75 0 001.09 0l4.25-4.5a.75.75 0 00-1.09-1.03l-2.955 3.129V2.75z"}),jsxRuntime.jsx("path",{d:"M3.5 12.75a.75.75 0 00-1.5 0v2.5A2.75 2.75 0 004.75 18h10.5A2.75 2.75 0 0018 15.25v-2.5a.75.75 0 00-1.5 0v2.5c0 .69-.56 1.25-1.25 1.25H4.75c-.69 0-1.25-.56-1.25-1.25v-2.5z"})]}),Cb=()=>jsxRuntime.jsx("svg",{className:"w-4 h-4",viewBox:"0 0 20 20",fill:"currentColor",children:jsxRuntime.jsx("path",{fillRule:"evenodd",d:"M2.5 3A1.5 1.5 0 001 4.5v11A1.5 1.5 0 002.5 17h15a1.5 1.5 0 001.5-1.5v-11A1.5 1.5 0 0017.5 3h-15zM2.5 4.5h6v11h-6v-11zm7.5 0h7.5v11H10v-11z",clipRule:"evenodd"})});function $s(e,t,r){return typeof r=="function"?r(e,t):String(typeof r=="string"?e[r]:t)}function an(e,t){return e[t]}function kb(e,t){return e==null&&t==null?0:e==null?-1:t==null?1:typeof e=="number"&&typeof t=="number"?e-t:String(e).localeCompare(String(t))}function wb(e,t){let r=String(e??"").toLowerCase(),n=t.value.toLowerCase();switch(t.operator){case "contains":return r.includes(n);case "equals":return r===n;case "startsWith":return r.startsWith(n);case "endsWith":return r.endsWith(n);case "gt":return Number(e)>Number(t.value);case "gte":return Number(e)>=Number(t.value);case "lt":return Number(e)<Number(t.value);case "lte":return Number(e)<=Number(t.value);case "isEmpty":return r==="";case "isNotEmpty":return r!=="";default:return true}}function Xd(e,t,r){let n=[];for(let o of e){let a=Number(an(o,t));isNaN(a)||n.push(a);}if(n.length===0)return 0;switch(r){case "sum":return n.reduce((o,a)=>o+a,0);case "avg":return n.reduce((o,a)=>o+a,0)/n.length;case "count":return n.length;case "min":return Math.min(...n);case "max":return Math.max(...n)}}function Nb({cols:e,density:t}){return jsxRuntime.jsx("tr",{className:"border-b border-gray-200 dark:border-gray-700",children:Array.from({length:e}).map((r,n)=>jsxRuntime.jsx("td",{className:dr[t],children:jsxRuntime.jsx("div",{className:"h-4 bg-gray-200 dark:bg-gray-700 rounded animate-pulse"})},n))})}function Sb({column:e,value:t,onApply:r,onClear:n}){let[o,a]=el.useState(false),[s,l]=el.useState(t?.operator??"contains"),[i,c]=el.useState(t?.value??""),d=el.useRef(null),u=e.filterType??"text",f=u==="number"?[{value:"equals",label:"Equals"},{value:"gt",label:"Greater than"},{value:"gte",label:"Greater or equal"},{value:"lt",label:"Less than"},{value:"lte",label:"Less or equal"}]:[{value:"contains",label:"Contains"},{value:"equals",label:"Equals"},{value:"startsWith",label:"Starts with"},{value:"endsWith",label:"Ends with"},{value:"isEmpty",label:"Is empty"},{value:"isNotEmpty",label:"Is not empty"}];return el.useEffect(()=>{let m=p=>{d.current&&!d.current.contains(p.target)&&a(false);};return o&&document.addEventListener("mousedown",m),()=>document.removeEventListener("mousedown",m)},[o]),jsxRuntime.jsxs("div",{className:"relative inline-block",ref:d,children:[jsxRuntime.jsx("button",{type:"button",onClick:m=>{m.stopPropagation(),a(!o);},className:g("p-0.5 rounded hover:bg-gray-200 dark:hover:bg-gray-600 cursor-pointer",t&&"text-blue-600 dark:text-blue-400"),"aria-label":`Filter ${String(e.header)}`,children:jsxRuntime.jsx(xb,{})}),o&&jsxRuntime.jsx("div",{className:"absolute z-50 top-full left-0 mt-1 bg-white dark:bg-gray-800 border border-gray-200 dark:border-gray-700 rounded-lg shadow-lg p-3 min-w-[220px]",children:u==="select"&&e.filterOptions?jsxRuntime.jsxs("div",{className:"flex flex-col gap-1.5",children:[e.filterOptions.map(m=>jsxRuntime.jsxs("label",{className:"flex items-center gap-2 text-sm cursor-pointer",children:[jsxRuntime.jsx("input",{type:"radio",name:`filter-${e.key}`,value:m,checked:i===m,onChange:()=>c(m),className:"cursor-pointer"}),jsxRuntime.jsx("span",{className:"text-gray-700 dark:text-gray-300",children:m})]},m)),jsxRuntime.jsxs("div",{className:"flex gap-2 mt-2",children:[jsxRuntime.jsx("button",{type:"button",onClick:()=>{r({column:e.key,operator:"equals",value:i}),a(false);},className:"px-2 py-1 text-xs bg-blue-600 text-white rounded hover:bg-blue-700 cursor-pointer",children:"Apply"}),jsxRuntime.jsx("button",{type:"button",onClick:()=>{c(""),n(),a(false);},className:"px-2 py-1 text-xs text-gray-600 dark:text-gray-400 hover:text-gray-800 dark:hover:text-gray-200 cursor-pointer",children:"Clear"})]})]}):jsxRuntime.jsxs("div",{className:"flex flex-col gap-2",children:[jsxRuntime.jsx("select",{value:s,onChange:m=>l(m.target.value),className:"text-xs border border-gray-300 dark:border-gray-600 rounded px-2 py-1 bg-white dark:bg-gray-700 text-gray-700 dark:text-gray-200",children:f.map(m=>jsxRuntime.jsx("option",{value:m.value,children:m.label},m.value))}),s!=="isEmpty"&&s!=="isNotEmpty"&&jsxRuntime.jsx("input",{type:u==="number"?"number":u==="date"?"date":"text",value:i,onChange:m=>c(m.target.value),placeholder:"Filter value...",className:"text-xs border border-gray-300 dark:border-gray-600 rounded px-2 py-1 bg-white dark:bg-gray-700 text-gray-700 dark:text-gray-200",autoFocus:true,"aria-label":`Filter ${String(e.header)} value`}),jsxRuntime.jsxs("div",{className:"flex gap-2",children:[jsxRuntime.jsx("button",{type:"button",onClick:()=>{r({column:e.key,operator:s,value:i}),a(false);},className:"px-2 py-1 text-xs bg-blue-600 text-white rounded hover:bg-blue-700 cursor-pointer",children:"Apply"}),jsxRuntime.jsx("button",{type:"button",onClick:()=>{c(""),n(),a(false);},className:"px-2 py-1 text-xs text-gray-600 dark:text-gray-400 hover:text-gray-800 dark:hover:text-gray-200 cursor-pointer",children:"Clear"})]})]})})]})}function Rb({value:e,onSave:t,density:r}){let[n,o]=el.useState(false),[a,s]=el.useState(String(e??"")),l=el.useRef(null);if(el.useEffect(()=>{n&&l.current&&(l.current.focus(),l.current.select());},[n]),!n)return jsxRuntime.jsx("div",{onDoubleClick:()=>{s(String(e??"")),o(true);},className:"cursor-text min-h-[1.5em]",title:"Double-click to edit",children:String(e??"")});let i=()=>{o(false),a!==String(e??"")&&t(a);};return jsxRuntime.jsx("input",{ref:l,type:"text",value:a,onChange:c=>s(c.target.value),onBlur:i,"aria-label":"Edit cell value",onKeyDown:c=>{c.key==="Enter"&&i(),c.key==="Escape"&&o(false);},className:g("w-full border border-blue-500 rounded px-1 py-0.5 bg-white dark:bg-gray-700 text-gray-900 dark:text-gray-100 outline-none",_s[r])})}function Tb(e,t){let{columns:r,data:n,rowKey:o,mode:a="client",sortable:s=false,multiSort:l=false,sort:i,defaultSort:c,onSort:d,pagination:u=false,page:f,onPageChange:m,onPageSizeChange:p,totalItems:w,selectable:v=false,selectionMode:x="multiple",selectedRows:h,onSelectionChange:I,searchable:S=false,searchPlaceholder:L="Search...",searchValue:R,onSearch:T,filters:y,onFilterChange:M,expandable:k=false,expandedContent:z,expandedRows:H,onExpandChange:P,editable:B=false,onCellEdit:C,reorderable:b=false,onReorder:E,columnReorderable:N=false,onColumnReorder:W,columnToggle:F=false,hiddenColumns:K,onColumnVisibilityChange:j,groupBy:A,renderGroupHeader:D,exportable:V=false,exportFormats:O=["csv","json"],exportFilename:_="export",virtualized:X=false,rowHeight:G=40,virtualHeight:$=400,density:Y="default",striped:se=false,bordered:ae=false,borderless:U=false,stickyHeader:Q=false,maxHeight:le,loading:ye=false,loadingRows:te=5,emptyState:Ce,showFooter:Pe=false,onRowClick:Se,onRowDoubleClick:De,onRowContextMenu:Ne,className:re,rowClassName:fe,cellClassName:je,headerClassName:Dt}=e,[Ie,we]=el.useState(c??[]),[pt,Bt]=el.useState(1),[yt,er]=el.useState(typeof u=="object"?u.pageSize??10:10),[Mt,Nt]=el.useState([]),[gr,pr]=el.useState(""),[vt,Cr]=el.useState([]),[he,ge]=el.useState([]),[J,ne]=el.useState(()=>r.flatMap(q=>q.hidden?[q.key]:[])),[be,me]=el.useState({}),[Me,ke]=el.useState(()=>r.map(q=>q.key)),[Re,Be]=el.useState(null),[ze,st]=el.useState(null),[qe,Oe]=el.useState(false),[Ot,xt]=el.useState(new Set),Br=el.useRef(null),[pn,jn]=el.useState(0),So=el.useRef(null),Yr=i??Ie,Vr=f??pt,Z=h??Mt,oe=R??gr,ie=y??vt,ce=H??he,pe=K??J,Ke=u?typeof u=="object"?u:{pageSize:10,pageSizeOptions:[10,25,50,100]}:null,ot=Ke?.pageSize??yt,Je=el.useMemo(()=>{let q=new Map(r.map(Le=>[Le.key,Le])),ee=Me.flatMap(Le=>{let $e=q.get(Le);return $e?[$e]:[]}),ue=new Set(ee.map(Le=>Le.key));for(let Le of r)ue.has(Le.key)||(ee.push(Le),ue.add(Le.key));return ee.filter(Le=>!pe.includes(Le.key))},[r,Me,pe]),Ve=el.useMemo(()=>{if(a==="server")return n;let q=[...n];if(oe){let ee=oe.toLowerCase();q=q.filter(ue=>Je.some(Le=>{let $e=an(ue,Le.key);return String($e??"").toLowerCase().includes(ee)}));}if(ie.length>0&&(q=q.filter(ee=>ie.every(ue=>wb(an(ee,ue.column),ue)))),Yr.length>0){let ee=new Map(r.map(ue=>[ue.key,ue]));q.sort((ue,Le)=>{for(let $e of Yr){if(!$e.direction)continue;let At=ee.get($e.key),yr=At?.sortComparator?At.sortComparator(ue,Le):kb(an(ue,$e.key),an(Le,$e.key));if(yr!==0)return $e.direction==="asc"?yr:-yr}return 0});}return q},[n,a,oe,ie,Yr,Je,r]),or=el.useMemo(()=>{if(!A)return null;let q=Array.isArray(A)?A:[A],ee=new Map;for(let ue of Ve){let Le=q.map(At=>String(an(ue,At)??"")).join(" / "),$e=ee.get(Le)??[];$e.push(ue),ee.set(Le,$e);}return ee},[Ve,A]),et=w??Ve.length,It=Math.max(1,Math.ceil(et/ot)),$t=el.useMemo(()=>{if(!Ke||a==="server")return Ve;let q=(Vr-1)*ot;return Ve.slice(q,q+ot)},[Ve,Ke,Vr,ot,a]),Ct=Ke?$t:Ve,lr=el.useMemo(()=>{if(!X)return {start:0,end:Ct.length};let q=Math.floor(pn/G),ee=Math.ceil($/G),ue=5;return {start:Math.max(0,q-ue),end:Math.min(Ct.length,q+ee+ue)}},[X,pn,G,$,Ct.length]),qr=el.useCallback(q=>{i||we(q),d?.(q);},[i,d]),jr=el.useCallback(q=>{let ee=Yr.find(Le=>Le.key===q),ue;if(!ee||!ee.direction?ue="asc":ee.direction==="asc"?ue="desc":ue=null,l){let Le=Yr.filter($e=>$e.key!==q);ue&&Le.push({key:q,direction:ue}),qr(Le);}else qr(ue?[{key:q,direction:ue}]:[]);},[Yr,l,qr]),kr=el.useCallback(q=>{let ee=Math.max(1,Math.min(q,It));f||Bt(ee),m?.(ee);},[f,m,It]),Si=el.useCallback(q=>{er(q),kr(1),p?.(q);},[kr,p]),ss=el.useCallback(q=>{let ee;x==="single"?ee=Z.includes(q)?[]:[q]:ee=Z.includes(q)?Z.filter(ue=>ue!==q):[...Z,q],h||Nt(ee),I?.(ee);},[x,Z,h,I]),Ri=el.useCallback(()=>{let q=Ct.map((ee,ue)=>$s(ee,ue,o));h||Nt(q),I?.(q);},[Ct,o,h,I]),Ti=el.useCallback(()=>{h||Nt([]),I?.([]);},[h,I]),Pi=Ct.length>0&&Ct.every((q,ee)=>Z.includes($s(q,ee,o))),Rg=!Pi&&Ct.some((q,ee)=>Z.includes($s(q,ee,o))),Tg=el.useCallback(q=>{let ee=ce.includes(q)?ce.filter(ue=>ue!==q):[...ce,q];H||ge(ee),P?.(ee);},[ce,H,P]),Pg=el.useCallback(q=>{let ee=q.target.value;R||pr(ee),T?.(ee),kr(1);},[R,T,kr]),Dg=el.useCallback(q=>{let ee=[...ie.filter(ue=>ue.column!==q.column),q];y||Cr(ee),M?.(ee);},[ie,y,M]),Lg=el.useCallback(q=>{let ee=ie.filter(ue=>ue.column!==q);y||Cr(ee),M?.(ee);},[ie,y,M]),Eg=el.useCallback(q=>{let ee=pe.includes(q)?pe.filter(ue=>ue!==q):[...pe,q];K||ne(ee),j?.(ee);},[pe,K,j]),Mg=el.useCallback((q,ee)=>{q.preventDefault(),q.stopPropagation();let ue=q.clientX,Le=be[ee]??q.currentTarget.parentElement?.getBoundingClientRect().width??100,$e=r.find(xr=>xr.key===ee),At=$e?.minWidth??50,yr=$e?.maxWidth??1/0,it=xr=>{let Zn=xr.clientX-ue,Qr=Math.min(yr,Math.max(At,Le+Zn));me(To=>({...To,[ee]:Qr}));},Zr=()=>{document.removeEventListener("mousemove",it),document.removeEventListener("mouseup",Zr);};document.addEventListener("mousemove",it),document.addEventListener("mouseup",Zr);},[be,r]),Ig=el.useCallback(q=>{b&&Be(q);},[b]),Ag=el.useCallback((q,ee)=>{!b||Re===null||q.preventDefault();},[b,Re]),zg=el.useCallback(q=>{!b||Re===null||Re===q||(E?.(Re,q),Be(null));},[b,Re,E]),Wg=el.useCallback(q=>{N&&st(q);},[N]),Hg=el.useCallback(q=>{if(!N||!ze||ze===q)return;let ee=[...Me],ue=ee.indexOf(ze),Le=ee.indexOf(q);ue===-1||Le===-1||(ee.splice(ue,1),ee.splice(Le,0,ze),ke(ee),W?.(ze,q),st(null));},[N,ze,Me,W]),Di=el.useCallback(q=>{let ee=Je.filter(xr=>xr.type!=="actions"&&xr.type!=="selection"&&xr.type!=="expand"),ue=Ve,Le,$e,At;if(q==="csv"){let xr=ee.map(Qr=>String(Qr.header)).join(","),Zn=ue.map(Qr=>ee.map(To=>{let Mi=String(an(Qr,To.key)??"");return Mi.includes(",")?`"${Mi}"`:Mi}).join(","));Le=[xr,...Zn].join(`
2
+ `),$e="text/csv",At="csv";}else {let xr=ue.map(Zn=>{let Qr={};for(let To of ee)Qr[To.key]=an(Zn,To.key);return Qr});Le=JSON.stringify(xr,null,2),$e="application/json",At="json";}let yr=new Blob([Le],{type:$e}),it=URL.createObjectURL(yr),Zr=document.createElement("a");Zr.href=it,Zr.download=`${_}.${At}`,Zr.click(),URL.revokeObjectURL(it);},[Je,Ve,_]);el.useEffect(()=>{if(!qe)return;let q=ee=>{So.current&&!So.current.contains(ee.target)&&Oe(false);};return document.addEventListener("mousedown",q),()=>document.removeEventListener("mousedown",q)},[qe]),el.useImperativeHandle(t,()=>({getVisibleData:()=>Ct,resetFilters:()=>{y||Cr([]),R||pr(""),M?.([]),T?.("");},resetSort:()=>{i||we([]),d?.([]);},selectAll:Ri,deselectAll:Ti,exportData:Di,scrollToRow:q=>{Br.current&&X&&(Br.current.scrollTop=q*G);}}),[Ct,y,R,i,M,T,d,Ri,Ti,Di,X,G]);let Li=q=>{let ee={},ue=be[q.key]??q.width;return ue&&(ee.width=typeof ue=="number"?`${ue}px`:ue,ee.minWidth=typeof ue=="number"?`${ue}px`:ue),q.sticky&&(ee.position="sticky",ee[q.sticky]=0,ee.zIndex=10),ee},Ro=Je.length+(v?1:0)+(k?1:0)+(b?1:0),Bg=q=>{let ee=s&&q.sortable!==false&&q.type!=="actions",ue=Yr.find($e=>$e.key===q.key),Le=q.filterable&&(q.filterType||q.filterOptions);return jsxRuntime.jsxs("th",{className:g(dr[Y],_s[Y],"font-semibold text-gray-700 dark:text-gray-300 whitespace-nowrap",q.align==="center"&&"text-center",q.align==="right"&&"text-right",ee&&"cursor-pointer select-none hover:bg-gray-100 dark:hover:bg-gray-700",ae&&"border border-gray-200 dark:border-gray-700",q.sticky&&"bg-gray-50 dark:bg-gray-800",q.headerClassName,Dt),style:Li(q),onClick:ee?()=>jr(q.key):void 0,draggable:N,onDragStart:N?()=>Wg(q.key):void 0,onDragOver:N?$e=>$e.preventDefault():void 0,onDrop:N?()=>Hg(q.key):void 0,"aria-sort":ue?.direction==="asc"?"ascending":ue?.direction==="desc"?"descending":void 0,children:[jsxRuntime.jsxs("div",{className:"flex items-center gap-1",children:[q.renderHeader?q.renderHeader(q):q.header,ee&&jsxRuntime.jsx("span",{className:"inline-flex ml-1",children:ue?.direction==="asc"?jsxRuntime.jsx(pb,{}):ue?.direction==="desc"?jsxRuntime.jsx(fb,{}):jsxRuntime.jsx(hb,{})}),Le&&jsxRuntime.jsx(Sb,{column:q,value:ie.find($e=>$e.column===q.key),onApply:Dg,onClear:()=>Lg(q.key)})]}),q.resizable!==false&&jsxRuntime.jsx("div",{className:"absolute top-0 right-0 w-1 h-full cursor-col-resize hover:bg-blue-500 opacity-0 hover:opacity-100",onMouseDown:$e=>Mg($e,q.key)})]},q.key)},Ei=(q,ee,ue)=>{let Le=$s(q,ue,o),$e=Z.includes(Le),At=ce.includes(Le),yr=typeof fe=="function"?fe(q,ue):fe;return jsxRuntime.jsxs(el__namespace.default.Fragment,{children:[jsxRuntime.jsxs("tr",{className:g("border-b border-gray-200 dark:border-gray-700 transition-colors",se&&ue%2===1&&"bg-gray-50/50 dark:bg-gray-800/50",$e&&"bg-blue-50 dark:bg-blue-900/20",Se&&"cursor-pointer hover:bg-gray-50 dark:hover:bg-gray-700/50",Re===ee&&"opacity-50",yr),onClick:Se?()=>Se(q,ue):void 0,onDoubleClick:De?()=>De(q,ue):void 0,onContextMenu:Ne?it=>Ne(q,ue,it):void 0,draggable:b,onDragStart:b?()=>Ig(ee):void 0,onDragOver:b?it=>Ag(it,ee):void 0,onDrop:b?()=>zg(ee):void 0,"data-row-key":Le,"aria-selected":v?$e:void 0,children:[b&&jsxRuntime.jsx("td",{className:g(dr[Y],"cursor-grab active:cursor-grabbing"),children:jsxRuntime.jsx(yb,{})}),v&&jsxRuntime.jsx("td",{className:g(dr[Y],"w-10"),children:jsxRuntime.jsx("input",{type:"checkbox",checked:$e,onChange:()=>ss(Le),onClick:it=>it.stopPropagation(),className:"rounded border-gray-300 dark:border-gray-600 cursor-pointer","aria-label":`Select row ${Le}`})}),k&&jsxRuntime.jsx("td",{className:g(dr[Y],"w-10"),children:jsxRuntime.jsx("button",{type:"button",onClick:it=>{it.stopPropagation(),Tg(Le);},className:"p-0.5 rounded hover:bg-gray-200 dark:hover:bg-gray-600 cursor-pointer","aria-label":At?"Collapse row":"Expand row","aria-expanded":At,children:jsxRuntime.jsx(_d,{className:g("transition-transform",At&&"rotate-180")})})}),Je.map(it=>{let Zr=an(q,it.key),xr=it.colSpan?.(q,ue);if(xr===0)return null;let Zn=B&&it.editable!==false&&it.type!=="actions";return jsxRuntime.jsx("td",{className:g(dr[Y],_s[Y],"text-gray-700 dark:text-gray-300",it.align==="center"&&"text-center",it.align==="right"&&"text-right",ae&&"border border-gray-200 dark:border-gray-700",it.sticky&&($e?"bg-blue-50 dark:bg-blue-900/20":se&&ue%2===1?"bg-gray-50/50 dark:bg-gray-800/50":"bg-white dark:bg-gray-900"),it.cellClassName,je),style:Li(it),colSpan:xr,children:Zn?jsxRuntime.jsx(Rb,{value:Zr,onSave:Qr=>C?.(Le,it.key,Qr),density:Y}):it.render?it.render(Zr,q,ue):String(Zr??"")},it.key)})]}),k&&At&&z&&jsxRuntime.jsx("tr",{className:"bg-gray-50 dark:bg-gray-800/70",children:jsxRuntime.jsx("td",{colSpan:Ro,className:g(dr[Y]),children:z(q,ue)})})]},Le)},Vg=()=>{if(ye)return Array.from({length:te}).map((q,ee)=>jsxRuntime.jsx(Nb,{cols:Ro,density:Y},ee));if(Ct.length===0)return jsxRuntime.jsx("tr",{children:jsxRuntime.jsx("td",{colSpan:Ro,className:g("text-center text-gray-400 dark:text-gray-500",dr[Y]),children:Ce??"No data available"})});if(or){let q=[],ee=0;for(let[ue,Le]of or){let $e=Ot.has(ue);if(q.push(jsxRuntime.jsx("tr",{className:"bg-gray-100 dark:bg-gray-800 font-medium",children:jsxRuntime.jsx("td",{colSpan:Ro,className:g(dr[Y],"cursor-pointer"),onClick:()=>{xt(At=>{let yr=new Set(At);return yr.has(ue)?yr.delete(ue):yr.add(ue),yr});},children:jsxRuntime.jsxs("div",{className:"flex items-center gap-2",children:[jsxRuntime.jsx(_d,{className:g("transition-transform",$e&&"-rotate-90")}),D?D(ue,an(Le[0],Array.isArray(A)?A[0]:A),Le):`${ue} (${Le.length})`]})})},`group-${ue}`)),$e)ee+=Le.length;else for(let At=0;At<Le.length;At++)q.push(Ei(Le[At],ee,ee)),ee++;}return q}if(X){let q=[];for(let ee=lr.start;ee<lr.end;ee++)q.push(Ei(Ct[ee],ee,ee));return jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[lr.start>0&&jsxRuntime.jsx("tr",{children:jsxRuntime.jsx("td",{colSpan:Ro,style:{height:lr.start*G,padding:0}})}),q,lr.end<Ct.length&&jsxRuntime.jsx("tr",{children:jsxRuntime.jsx("td",{colSpan:Ro,style:{height:(Ct.length-lr.end)*G,padding:0}})})]})}return Ct.map((q,ee)=>Ei(q,ee,ee))},Fg=()=>!Pe||!Je.some(ee=>ee.aggregate)?null:jsxRuntime.jsx("tfoot",{children:jsxRuntime.jsxs("tr",{className:"bg-gray-50 dark:bg-gray-800 font-semibold border-t-2 border-gray-300 dark:border-gray-600",children:[b&&jsxRuntime.jsx("td",{className:dr[Y]}),v&&jsxRuntime.jsx("td",{className:dr[Y]}),k&&jsxRuntime.jsx("td",{className:dr[Y]}),Je.map(ee=>jsxRuntime.jsx("td",{className:g(dr[Y],_s[Y],"text-gray-700 dark:text-gray-300",ee.align==="center"&&"text-center",ee.align==="right"&&"text-right",ae&&"border border-gray-200 dark:border-gray-700"),style:Li(ee),children:ee.aggregate?ee.renderAggregate?ee.renderAggregate(Xd(Ve,ee.key,ee.aggregate),Ve):`${ee.aggregate==="count"?"":ee.aggregate==="avg"?"Avg: ":ee.aggregate==="sum"?"Total: ":ee.aggregate==="min"?"Min: ":"Max: "}${Xd(Ve,ee.key,ee.aggregate).toLocaleString()}`:""},ee.key))]})});return jsxRuntime.jsxs("div",{className:g("flex flex-col gap-3",re),children:[(S||V||F)&&jsxRuntime.jsxs("div",{className:"flex items-center justify-between gap-3 flex-wrap",children:[jsxRuntime.jsxs("div",{className:"flex items-center gap-3 flex-1",children:[S&&jsxRuntime.jsxs("div",{className:"relative flex-1 max-w-xs",children:[jsxRuntime.jsx("div",{className:"absolute inset-y-0 left-0 flex items-center pl-3 pointer-events-none",children:jsxRuntime.jsx(bb,{})}),jsxRuntime.jsx("input",{type:"text",value:oe,onChange:Pg,placeholder:L,className:"w-full pl-9 pr-3 py-1.5 text-sm border border-gray-300 dark:border-gray-600 rounded-md bg-white dark:bg-gray-800 text-gray-700 dark:text-gray-200 focus:outline-none focus:ring-2 focus:ring-blue-500 focus:border-blue-500","aria-label":"Search table"})]}),Z.length>0&&jsxRuntime.jsxs("span",{className:"text-sm text-gray-500 dark:text-gray-400",children:[Z.length," selected"]})]}),jsxRuntime.jsxs("div",{className:"flex items-center gap-2",children:[F&&jsxRuntime.jsxs("div",{className:"relative",ref:So,children:[jsxRuntime.jsx("button",{type:"button",onClick:()=>Oe(!qe),className:"p-1.5 rounded-md border border-gray-300 dark:border-gray-600 text-gray-600 dark:text-gray-400 hover:bg-gray-100 dark:hover:bg-gray-700 cursor-pointer","aria-label":"Toggle columns",title:"Toggle columns",children:jsxRuntime.jsx(Cb,{})}),qe&&jsxRuntime.jsx("div",{className:"absolute z-50 right-0 top-full mt-1 bg-white dark:bg-gray-800 border border-gray-200 dark:border-gray-700 rounded-lg shadow-lg p-2 min-w-[180px]",children:r.filter(q=>q.type!=="selection"&&q.type!=="expand").map(q=>jsxRuntime.jsxs("label",{className:"flex items-center gap-2 px-2 py-1.5 text-sm rounded hover:bg-gray-100 dark:hover:bg-gray-700 cursor-pointer",children:[jsxRuntime.jsx("input",{type:"checkbox",checked:!pe.includes(q.key),onChange:()=>Eg(q.key),className:"rounded border-gray-300 dark:border-gray-600 cursor-pointer"}),jsxRuntime.jsx("span",{className:"text-gray-700 dark:text-gray-300",children:String(q.header)})]},q.key))})]}),V&&O.map(q=>jsxRuntime.jsxs("button",{type:"button",onClick:()=>Di(q),className:"inline-flex items-center gap-1.5 px-2.5 py-1.5 text-xs font-medium rounded-md border border-gray-300 dark:border-gray-600 text-gray-600 dark:text-gray-400 hover:bg-gray-100 dark:hover:bg-gray-700 cursor-pointer",title:`Export as ${q.toUpperCase()}`,children:[jsxRuntime.jsx(vb,{}),q.toUpperCase()]},q))]})]}),jsxRuntime.jsx("div",{ref:Br,className:g("overflow-auto rounded-lg",!U&&"border border-gray-200 dark:border-gray-700",Q&&"relative"),style:le?{maxHeight:typeof le=="number"?`${le}px`:le}:X?{maxHeight:$,overflow:"auto"}:void 0,onScroll:X?q=>jn(q.target.scrollTop):void 0,children:jsxRuntime.jsxs("table",{className:"w-full text-left",children:[jsxRuntime.jsx("thead",{className:g("bg-gray-50 dark:bg-gray-800 text-xs uppercase",Q&&"sticky top-0 z-20"),children:jsxRuntime.jsxs("tr",{children:[b&&jsxRuntime.jsx("th",{className:g(dr[Y],"w-10 font-semibold text-gray-700 dark:text-gray-300")}),v&&jsxRuntime.jsx("th",{className:g(dr[Y],"w-10"),children:x==="multiple"&&jsxRuntime.jsx("input",{type:"checkbox",checked:Pi,ref:q=>{q&&(q.indeterminate=Rg);},onChange:Pi?Ti:Ri,className:"rounded border-gray-300 dark:border-gray-600 cursor-pointer","aria-label":"Select all rows"})}),k&&jsxRuntime.jsx("th",{className:g(dr[Y],"w-10 font-semibold text-gray-700 dark:text-gray-300")}),Je.map(Bg)]})}),jsxRuntime.jsx("tbody",{children:Vg()}),Fg()]})}),Ke&&jsxRuntime.jsxs("div",{className:"flex items-center justify-between flex-wrap gap-3 text-sm text-gray-600 dark:text-gray-400",children:[jsxRuntime.jsxs("div",{className:"flex items-center gap-3",children:[Ke.showTotalItems!==false&&jsxRuntime.jsxs("span",{children:[et," item",et!==1?"s":""]}),Ke.showPageSizeSelector!==false&&Ke.pageSizeOptions&&jsxRuntime.jsxs("div",{className:"flex items-center gap-1.5",children:[jsxRuntime.jsx("span",{children:"Rows per page:"}),jsxRuntime.jsx("select",{value:ot,onChange:q=>Si(Number(q.target.value)),className:"border border-gray-300 dark:border-gray-600 rounded px-1.5 py-0.5 bg-white dark:bg-gray-800 text-gray-700 dark:text-gray-200 text-sm",children:Ke.pageSizeOptions.map(q=>jsxRuntime.jsx("option",{value:q,children:q},q))})]})]}),jsxRuntime.jsxs("div",{className:"flex items-center gap-1",children:[jsxRuntime.jsxs("span",{className:"mr-2",children:["Page ",Vr," of ",It]}),jsxRuntime.jsx("button",{type:"button",onClick:()=>kr(1),disabled:Vr<=1,className:"px-2 py-1 rounded border border-gray-300 dark:border-gray-600 disabled:opacity-50 disabled:cursor-not-allowed hover:bg-gray-100 dark:hover:bg-gray-700 cursor-pointer","aria-label":"First page",children:"\xAB\xAB"}),jsxRuntime.jsx("button",{type:"button",onClick:()=>kr(Vr-1),disabled:Vr<=1,className:"px-2 py-1 rounded border border-gray-300 dark:border-gray-600 disabled:opacity-50 disabled:cursor-not-allowed hover:bg-gray-100 dark:hover:bg-gray-700 cursor-pointer","aria-label":"Previous page",children:"\xAB"}),jsxRuntime.jsx("button",{type:"button",onClick:()=>kr(Vr+1),disabled:Vr>=It,className:"px-2 py-1 rounded border border-gray-300 dark:border-gray-600 disabled:opacity-50 disabled:cursor-not-allowed hover:bg-gray-100 dark:hover:bg-gray-700 cursor-pointer","aria-label":"Next page",children:"\xBB"}),jsxRuntime.jsx("button",{type:"button",onClick:()=>kr(It),disabled:Vr>=It,className:"px-2 py-1 rounded border border-gray-300 dark:border-gray-600 disabled:opacity-50 disabled:cursor-not-allowed hover:bg-gray-100 dark:hover:bg-gray-700 cursor-pointer","aria-label":"Last page",children:"\xBB\xBB"})]})]})]})}var Pb=el.forwardRef(Tb);function Lb({className:e}){return jsxRuntime.jsx("svg",{className:e,viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",children:jsxRuntime.jsx("path",{d:"M4 4L12 12M12 4L4 12",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})})}var Eb={default:{solid:"bg-gray-500 text-white",outlined:"border-gray-300 text-gray-700 dark:border-gray-600 dark:text-gray-300 bg-transparent",soft:"bg-gray-100 text-gray-700 dark:bg-gray-700 dark:text-gray-300",dot:"bg-gray-100 text-gray-700 dark:bg-gray-800 dark:text-gray-300"},primary:{solid:"bg-blue-600 text-white",outlined:"border-blue-600 text-blue-600 dark:border-blue-400 dark:text-blue-400 bg-transparent",soft:"bg-blue-100 text-blue-700 dark:bg-blue-900/50 dark:text-blue-300",dot:"bg-blue-50 text-blue-700 dark:bg-blue-900/30 dark:text-blue-300"},success:{solid:"bg-green-600 text-white",outlined:"border-green-600 text-green-600 dark:border-green-400 dark:text-green-400 bg-transparent",soft:"bg-green-100 text-green-700 dark:bg-green-900/50 dark:text-green-300",dot:"bg-green-50 text-green-700 dark:bg-green-900/30 dark:text-green-300"},warning:{solid:"bg-yellow-500 text-white",outlined:"border-yellow-500 text-yellow-600 dark:border-yellow-400 dark:text-yellow-400 bg-transparent",soft:"bg-yellow-100 text-yellow-700 dark:bg-yellow-900/50 dark:text-yellow-300",dot:"bg-yellow-50 text-yellow-700 dark:bg-yellow-900/30 dark:text-yellow-300"},error:{solid:"bg-red-600 text-white",outlined:"border-red-600 text-red-600 dark:border-red-400 dark:text-red-400 bg-transparent",soft:"bg-red-100 text-red-700 dark:bg-red-900/50 dark:text-red-300",dot:"bg-red-50 text-red-700 dark:bg-red-900/30 dark:text-red-300"},info:{solid:"bg-cyan-600 text-white",outlined:"border-cyan-600 text-cyan-600 dark:border-cyan-400 dark:text-cyan-400 bg-transparent",soft:"bg-cyan-100 text-cyan-700 dark:bg-cyan-900/50 dark:text-cyan-300",dot:"bg-cyan-50 text-cyan-700 dark:bg-cyan-900/30 dark:text-cyan-300"}},Mb={default:"bg-gray-500",primary:"bg-blue-600",success:"bg-green-600",warning:"bg-yellow-500",error:"bg-red-600",info:"bg-cyan-600"},Ib={sm:"h-5 text-xs px-2 gap-1",md:"h-6 text-sm px-2.5 gap-1.5",lg:"h-8 text-sm px-3 gap-2"},Sl={sm:"w-3 h-3",md:"w-3.5 h-3.5",lg:"w-4 h-4"},Ab={sm:"w-4 h-4 -ml-1",md:"w-5 h-5 -ml-1.5",lg:"w-6 h-6 -ml-1.5"},zb={sm:"w-1.5 h-1.5",md:"w-2 h-2",lg:"w-2.5 h-2.5"},Wb={none:"rounded-none",sm:"rounded-sm",md:"rounded-md",lg:"rounded-lg",full:"rounded-full"};function Gs({label:e,children:t,variant:r="solid",size:n="md",color:o="default",bgColor:a,textColor:s,borderColor:l,rounded:i="full",icon:c,endIcon:d,avatar:u,onClose:f,closable:m=false,clickable:p=false,selected:w=false,disabled:v=false,as:x="span",className:h,onClick:I,...S}){let L=x,R=g("inline-flex items-center justify-center font-medium transition-all",Ib[n],Wb[i],r==="outlined"&&"border"),T=g(a||s||l?g(a,s,l):Eb[o][r]),y=w?"ring-2 ring-offset-1 ring-blue-500":"",M=p&&!v?"cursor-pointer hover:opacity-80 active:scale-95":"",k=v?"opacity-50 cursor-not-allowed":"",z=B=>{B.stopPropagation(),f?.();},H=B=>{v||I?.(B);},P=t??e;return jsxRuntime.jsxs(L,{className:g(R,T,y,M,k,h),onClick:H,"aria-disabled":v,...S,children:[r==="dot"&&jsxRuntime.jsx("span",{className:g("rounded-full shrink-0",zb[n],Mb[o]),"aria-hidden":"true"}),u&&jsxRuntime.jsx("span",{className:g("rounded-full overflow-hidden shrink-0",Ab[n]),children:u}),c&&!u&&jsxRuntime.jsx("span",{className:g("shrink-0",Sl[n]),children:c}),P&&jsxRuntime.jsx("span",{className:"truncate",children:P}),d&&!m&&jsxRuntime.jsx("span",{className:g("shrink-0",Sl[n]),children:d}),m&&jsxRuntime.jsx("button",{type:"button",onClick:z,disabled:v,className:g("shrink-0 rounded-full hover:bg-black/10 dark:hover:bg-white/10 p-0.5 -mr-1 transition-colors","focus:outline-none focus-visible:ring-2 focus-visible:ring-offset-1 focus-visible:ring-current",v&&"pointer-events-none"),"aria-label":"Remove",children:jsxRuntime.jsx(Lb,{className:Sl[n]})})]})}Gs.displayName="Chip";var Ob=500,$b=800,_b=600;function Xb(e,t,r){let n=[`width=${e}`,`height=${t}`,"menubar=no","toolbar=no","location=no","status=no","scrollbars=yes","resizable=yes"];if(r.left!==void 0)n.push(`left=${r.left}`);else if(r.center!==false&&typeof window<"u"){let o=window.screenLeft??window.screenX,a=window.screenTop??window.screenY,s=window.outerWidth??screen.availWidth,l=window.outerHeight??screen.availHeight;n.push(`left=${o+(s-e)/2}`),n.push(`top=${a+(l-t)/2}`);}if(r.top!==void 0){let o=n.filter(a=>!a.startsWith("top="));return o.push(`top=${r.top}`),o.join(",")}return n.join(",")}function Gb(e,t){e.querySelectorAll("style").forEach(s=>{let l=t.createElement("style");l.textContent=s.textContent,t.head.appendChild(l);}),e.querySelectorAll('link[rel="stylesheet"]').forEach(s=>{let l=t.createElement("link");l.rel="stylesheet",l.href=s.href,s.crossOrigin&&(l.crossOrigin=s.crossOrigin),t.head.appendChild(l);});let o=e.documentElement.className;o&&(t.documentElement.className=o);let a=e.body.className;a&&(t.body.className=a);}function Kb(e,t){let r=new MutationObserver(n=>{for(let o of n)for(let a of Array.from(o.addedNodes))if(a instanceof HTMLStyleElement){let s=t.createElement("style");s.textContent=a.textContent,t.head.appendChild(s);}else if(a instanceof HTMLLinkElement&&a.rel==="stylesheet"){let s=t.createElement("link");s.rel="stylesheet",s.href=a.href,t.head.appendChild(s);}});return r.observe(e.head,{childList:true}),r}var Kd=el.forwardRef(function({children:t,detached:r,defaultDetached:n=false,onClose:o,onDetach:a,title:s="",width:l=$b,height:i=_b,left:c,top:d,center:u=true,copyStyles:f=true,closeOnParentUnmount:m=true,className:p,windowClassName:w,onPopupBlocked:v},x){let h=r!==void 0,[I,S]=el.useState(n),L=h?r:I,[R,T]=el.useState(null),y=el.useRef(null),M=el.useRef(null),k=el.useRef(null),z=el.useRef(false),H=el.useRef({width:l,height:i,left:c,top:d,center:u,shouldCopyStyles:f,title:s,windowClassName:w,closeOnParentUnmount:m});H.current={width:l,height:i,left:c,top:d,center:u,shouldCopyStyles:f,title:s,windowClassName:w,closeOnParentUnmount:m};let P=el.useCallback(()=>{M.current&&(clearInterval(M.current),M.current=null),k.current&&(k.current.disconnect(),k.current=null),T(null);},[]),B=el.useCallback(()=>{y.current&&!y.current.closed&&y.current.close(),y.current=null,P();},[P]),C=el.useCallback(()=>{if(typeof window>"u"||z.current||y.current&&!y.current.closed)return;z.current=true;let b=H.current,E=Xb(b.width,b.height,{center:b.center,left:b.left,top:b.top}),N=window.open("","",E);if(!N){z.current=false,v?.();return}y.current=N,N.document.title=b.title||document.title;let W=N.document.createElement("div");b.windowClassName&&(W.className=b.windowClassName),N.document.body.appendChild(W),T(W),b.shouldCopyStyles&&(Gb(document,N.document),k.current=Kb(document,N.document)),M.current=setInterval(()=>{N.closed&&(P(),y.current=null,h||S(false),o?.());},Ob),z.current=false,a?.();},[h,o,a,v,P]);return el.useEffect(()=>{L?C():B();},[L,C,B]),el.useEffect(()=>{y.current&&!y.current.closed&&s&&(y.current.document.title=s);},[s]),el.useEffect(()=>()=>{H.current.closeOnParentUnmount&&y.current&&!y.current.closed&&y.current.close(),P(),y.current=null;},[P]),el.useImperativeHandle(x,()=>({detach:()=>{h||S(true);},attach:()=>{h||S(false);},get isDetached(){return h?!!r:I},get window(){return y.current}}),[h,r,I]),L&&R?reactDom.createPortal(t,R):L?null:jsxRuntime.jsx("div",{className:g(p),children:t})});Kd.displayName="Detachable";var qb={phone:{sm:{w:180,h:320},md:{w:240,h:480},lg:{w:300,h:600}},android:{sm:{w:180,h:320},md:{w:240,h:480},lg:{w:300,h:600}},tablet:{sm:{w:320,h:420},md:{w:420,h:560},lg:{w:540,h:720}},laptop:{sm:{w:400,h:250},md:{w:560,h:350},lg:{w:720,h:450}},desktop:{sm:{w:400,h:300},md:{w:560,h:400},lg:{w:720,h:520}},watch:{sm:{w:80,h:96},md:{w:120,h:144},lg:{w:160,h:192}},browser:{sm:{w:400,h:280},md:{w:560,h:380},lg:{w:720,h:480}}},jb=({className:e})=>jsxRuntime.jsxs("svg",{className:g("w-3 h-3",e),viewBox:"0 0 16 16",fill:"currentColor",children:[jsxRuntime.jsx("rect",{x:"1",y:"11",width:"2.5",height:"4",rx:"0.5"}),jsxRuntime.jsx("rect",{x:"5",y:"8",width:"2.5",height:"7",rx:"0.5"}),jsxRuntime.jsx("rect",{x:"9",y:"5",width:"2.5",height:"10",rx:"0.5"}),jsxRuntime.jsx("rect",{x:"13",y:"1",width:"2.5",height:"14",rx:"0.5"})]}),Zb=({className:e})=>jsxRuntime.jsxs("svg",{className:g("w-3 h-3",e),viewBox:"0 0 20 20",fill:"currentColor",children:[jsxRuntime.jsx("path",{d:"M10 14.5a1.5 1.5 0 100 3 1.5 1.5 0 000-3z"}),jsxRuntime.jsx("path",{fillRule:"evenodd",d:"M6.05 11.95a5.5 5.5 0 017.9 0 .75.75 0 001.08-1.04 7 7 0 00-10.06 0 .75.75 0 001.08 1.04z",clipRule:"evenodd"}),jsxRuntime.jsx("path",{fillRule:"evenodd",d:"M2.81 8.72a10 10 0 0114.38 0 .75.75 0 001.06-1.06 11.5 11.5 0 00-16.5 0 .75.75 0 001.06 1.06z",clipRule:"evenodd"})]}),Qb=({className:e})=>jsxRuntime.jsxs("svg",{className:g("w-4 h-3",e),viewBox:"0 0 24 14",fill:"currentColor",children:[jsxRuntime.jsx("rect",{x:"0.5",y:"0.5",width:"20",height:"13",rx:"2",stroke:"currentColor",fill:"none",strokeWidth:"1"}),jsxRuntime.jsx("rect",{x:"22",y:"4",width:"2",height:"6",rx:"0.5"}),jsxRuntime.jsx("rect",{x:"2.5",y:"2.5",width:"14",height:"9",rx:"1"})]});function Ha({time:e="9:41",theme:t,device:r}){let n=r==="watch",o=t==="dark"?"text-white":"text-gray-900";return n?jsxRuntime.jsx("div",{className:g("flex items-center justify-center py-0.5",o),style:{fontSize:"8px"},children:jsxRuntime.jsx("span",{className:"font-medium",children:e})}):jsxRuntime.jsxs("div",{className:g("flex items-center justify-between px-4 py-1",t==="dark"?"bg-black/20":"bg-white/20",o),style:{fontSize:"10px"},"data-testid":"status-bar",children:[jsxRuntime.jsx("span",{className:"font-semibold",children:e}),jsxRuntime.jsxs("div",{className:"flex items-center gap-1",children:[jsxRuntime.jsx(jb,{className:o}),jsxRuntime.jsx(Zb,{className:o}),jsxRuntime.jsx(Qb,{className:o})]})]})}function Jb({theme:e}){let t=e==="dark";return jsxRuntime.jsxs("div",{className:g("flex items-center gap-2 px-3 py-2 border-b",t?"bg-gray-800 border-gray-700":"bg-gray-100 border-gray-200"),"data-testid":"browser-chrome",children:[jsxRuntime.jsxs("div",{className:"flex items-center gap-1.5",children:[jsxRuntime.jsx("div",{className:"w-2.5 h-2.5 rounded-full bg-red-400"}),jsxRuntime.jsx("div",{className:"w-2.5 h-2.5 rounded-full bg-yellow-400"}),jsxRuntime.jsx("div",{className:"w-2.5 h-2.5 rounded-full bg-green-400"})]}),jsxRuntime.jsx("div",{className:g("flex-1 rounded-md px-3 py-1 text-center",t?"bg-gray-700 text-gray-400":"bg-white text-gray-500 border border-gray-200"),style:{fontSize:"11px"},children:jsxRuntime.jsxs("span",{className:"flex items-center justify-center gap-1",children:[jsxRuntime.jsx("svg",{className:"w-2.5 h-2.5",viewBox:"0 0 16 16",fill:"currentColor",children:jsxRuntime.jsx("path",{fillRule:"evenodd",d:"M8 1a4 4 0 00-4 4v3.5H3a1 1 0 00-1 1V14a1 1 0 001 1h10a1 1 0 001-1V9.5a1 1 0 00-1-1h-1V5a4 4 0 00-4-4zm2.5 7.5V5a2.5 2.5 0 00-5 0v3.5h5z",clipRule:"evenodd"})}),"example.com"]})})]})}function ey({children:e,theme:t,screenW:r,screenH:n,showStatusBar:o,statusBarTime:a,frameColor:s,landscape:l=false}){let i=t==="dark",c=s??(i?"#1a1a1a":"#e5e7eb");if(l){let u=Math.round(n*.35);return jsxRuntime.jsxs("div",{className:"relative inline-flex flex-row items-center rounded-[2.5rem] shadow-xl",style:{backgroundColor:c,padding:"8px 12px",height:n+16},"data-testid":"device-frame","data-device":"phone",children:[jsxRuntime.jsx("div",{className:g("rounded-full mr-2",i?"bg-gray-600":"bg-gray-400"),style:{width:4,height:Math.round(n*.35)},"data-testid":"home-indicator"}),jsxRuntime.jsxs("div",{className:"rounded-[2rem] overflow-hidden bg-black relative",style:{width:r,height:n},children:[o&&jsxRuntime.jsx(Ha,{time:a,theme:t,device:"phone"}),e]}),jsxRuntime.jsx("div",{className:"absolute rounded-full bg-black z-10",style:{width:20,height:u,right:10,top:"50%",transform:"translateY(-50%)"},"data-testid":"phone-notch"})]})}let d=Math.round(r*.35);return jsxRuntime.jsxs("div",{className:"relative inline-flex flex-col items-center rounded-[2.5rem] shadow-xl",style:{backgroundColor:c,padding:"12px 8px",width:r+16},"data-testid":"device-frame","data-device":"phone",children:[jsxRuntime.jsx("div",{className:"absolute top-[10px] rounded-full bg-black z-10",style:{width:d,height:20,left:"50%",transform:"translateX(-50%)"},"data-testid":"phone-notch"}),jsxRuntime.jsxs("div",{className:"rounded-[2rem] overflow-hidden bg-black relative",style:{width:r,height:n},children:[o&&jsxRuntime.jsx(Ha,{time:a,theme:t,device:"phone"}),e]}),jsxRuntime.jsx("div",{className:g("rounded-full mt-2",i?"bg-gray-600":"bg-gray-400"),style:{width:Math.round(r*.35),height:4},"data-testid":"home-indicator"})]})}function ty({children:e,theme:t,screenW:r,screenH:n,showStatusBar:o,statusBarTime:a,frameColor:s}){return jsxRuntime.jsxs("div",{className:"relative inline-flex flex-col items-center rounded-[2rem] shadow-xl",style:{backgroundColor:s??(t==="dark"?"#1a1a1a":"#e5e7eb"),padding:"10px 6px",width:r+12},"data-testid":"device-frame","data-device":"android",children:[jsxRuntime.jsx("div",{className:"absolute top-[6px] rounded-full bg-gray-800 z-10 border border-gray-700",style:{width:8,height:8,left:"50%",transform:"translateX(-50%)"},"data-testid":"camera-dot"}),jsxRuntime.jsxs("div",{className:"rounded-[1.5rem] overflow-hidden bg-black relative",style:{width:r,height:n},children:[o&&jsxRuntime.jsx(Ha,{time:a,theme:t,device:"android"}),e]})]})}function ry({children:e,theme:t,screenW:r,screenH:n,showStatusBar:o,statusBarTime:a,frameColor:s}){return jsxRuntime.jsxs("div",{className:"relative inline-flex flex-col items-center rounded-[1.5rem] shadow-xl",style:{backgroundColor:s??(t==="dark"?"#1a1a1a":"#e5e7eb"),padding:"16px 12px",width:r+24},"data-testid":"device-frame","data-device":"tablet",children:[jsxRuntime.jsx("div",{className:"absolute top-[8px] rounded-full bg-gray-700 z-10",style:{width:6,height:6,left:"50%",transform:"translateX(-50%)"}}),jsxRuntime.jsxs("div",{className:"rounded-lg overflow-hidden bg-black relative",style:{width:r,height:n},children:[o&&jsxRuntime.jsx(Ha,{time:a,theme:t,device:"tablet"}),e]})]})}function ny({children:e,theme:t,screenW:r,screenH:n,frameColor:o}){let a=t==="dark",s=o??(a?"#1a1a1a":"#d1d5db"),l=r+60;return jsxRuntime.jsxs("div",{className:"inline-flex flex-col items-center","data-testid":"device-frame","data-device":"laptop",children:[jsxRuntime.jsxs("div",{className:"rounded-t-xl shadow-xl relative",style:{backgroundColor:s,padding:"8px 8px 0",width:r+16},children:[jsxRuntime.jsx("div",{className:"absolute top-[3px] rounded-full bg-gray-700 z-10",style:{width:4,height:4,left:"50%",transform:"translateX(-50%)"}}),jsxRuntime.jsx("div",{className:"rounded-t-sm overflow-hidden bg-black",style:{width:r,height:n},children:e})]}),jsxRuntime.jsx("div",{className:g(a?"bg-gray-800":"bg-gray-400"),style:{width:r+16,height:3}}),jsxRuntime.jsx("div",{className:"rounded-b-xl shadow-lg",style:{backgroundColor:s,width:l,height:12,clipPath:"polygon(3% 0%, 97% 0%, 100% 100%, 0% 100%)"},"data-testid":"laptop-base"})]})}function oy({children:e,theme:t,screenW:r,screenH:n,frameColor:o}){let a=t==="dark";return jsxRuntime.jsxs("div",{className:"inline-flex flex-col items-center","data-testid":"device-frame","data-device":"desktop",children:[jsxRuntime.jsx("div",{className:"rounded-lg shadow-xl",style:{backgroundColor:o??(a?"#1a1a1a":"#d1d5db"),padding:"8px 8px 20px",width:r+16},children:jsxRuntime.jsx("div",{className:"rounded-sm overflow-hidden bg-black",style:{width:r,height:n},children:e})}),jsxRuntime.jsx("div",{className:g(a?"bg-gray-800":"bg-gray-400"),style:{width:40,height:24},"data-testid":"monitor-stand"}),jsxRuntime.jsx("div",{className:g("rounded-t-sm",a?"bg-gray-800":"bg-gray-400"),style:{width:Math.round(r*.4),height:6,borderRadius:"2px 2px 4px 4px"}})]})}function ay({children:e,theme:t,screenW:r,screenH:n,showStatusBar:o,statusBarTime:a,frameColor:s}){let l=t==="dark",i=s??(l?"#1a1a1a":"#d1d5db"),c=Math.round(r*.7);return jsxRuntime.jsxs("div",{className:"inline-flex flex-col items-center","data-testid":"device-frame","data-device":"watch",children:[jsxRuntime.jsx("div",{className:g("rounded-t-lg",l?"bg-gray-800":"bg-gray-400"),style:{width:c,height:30},"data-testid":"watch-band"}),jsxRuntime.jsxs("div",{className:"relative rounded-[1.2rem] shadow-xl",style:{backgroundColor:i,padding:"8px 6px",width:r+12},children:[jsxRuntime.jsx("div",{className:g("absolute rounded-sm",l?"bg-gray-600":"bg-gray-400"),style:{width:4,height:16,right:-4,top:"30%"},"data-testid":"watch-crown"}),jsxRuntime.jsxs("div",{className:"rounded-xl overflow-hidden bg-black",style:{width:r,height:n},children:[o&&jsxRuntime.jsx(Ha,{time:a,theme:t,device:"watch"}),e]})]}),jsxRuntime.jsx("div",{className:g("rounded-b-lg",l?"bg-gray-800":"bg-gray-400"),style:{width:c,height:30}})]})}function sy({children:e,theme:t,screenW:r,screenH:n,frameColor:o}){return jsxRuntime.jsxs("div",{className:"inline-flex flex-col rounded-lg shadow-xl overflow-hidden",style:{backgroundColor:o??(t==="dark"?"#1f2937":"#f3f4f6"),width:r},"data-testid":"device-frame","data-device":"browser",children:[jsxRuntime.jsx(Jb,{theme:t}),jsxRuntime.jsx("div",{className:"overflow-hidden bg-white",style:{width:r,height:n},children:e})]})}function iy({device:e="phone",src:t,alt:r="Device screen content",children:n,orientation:o="portrait",theme:a="dark",size:s="md",showStatusBar:l=false,statusBarTime:i,animated:c=false,scrollSpeed:d=30,frameColor:u,className:f,contentClassName:m}){let p=el.useRef(null),w=el.useRef(null),v=qb[e][s],x=o==="landscape"&&e!=="watch"&&e!=="browser",h=x?v.h:v.w,I=x?v.w:v.h;el.useEffect(()=>{if(!c||!p.current)return;let T=p.current,y=null,M=k=>{y===null&&(y=k);let z=(k-y)/1e3;y=k,T.scrollTop+=d*z,T.scrollTop>=T.scrollHeight-T.clientHeight&&(T.scrollTop=0),w.current=requestAnimationFrame(M);};return w.current=requestAnimationFrame(M),()=>{w.current!==null&&cancelAnimationFrame(w.current);}},[c,d]);let S=jsxRuntime.jsx("div",{ref:c?p:void 0,className:g("w-full h-full overflow-hidden",c&&"overflow-y-auto scrollbar-hide",m),style:c?{scrollBehavior:"auto"}:void 0,children:t?jsxRuntime.jsx("img",{src:t,alt:r,className:"w-full h-auto object-cover",draggable:false}):n}),L={showStatusBar:l,statusBarTime:i},R=()=>{switch(e){case "phone":return jsxRuntime.jsx(ey,{theme:a,screenW:h,screenH:I,frameColor:u,landscape:x,...L,children:S});case "android":return jsxRuntime.jsx(ty,{theme:a,screenW:h,screenH:I,frameColor:u,...L,children:S});case "tablet":return jsxRuntime.jsx(ry,{theme:a,screenW:h,screenH:I,frameColor:u,...L,children:S});case "laptop":return jsxRuntime.jsx(ny,{theme:a,screenW:h,screenH:I,frameColor:u,children:S});case "desktop":return jsxRuntime.jsx(oy,{theme:a,screenW:h,screenH:I,frameColor:u,children:S});case "watch":return jsxRuntime.jsx(ay,{theme:a,screenW:h,screenH:I,frameColor:u,...L,children:S});case "browser":return jsxRuntime.jsx(sy,{theme:a,screenW:h,screenH:I,frameColor:u,children:S})}};return jsxRuntime.jsx("div",{className:g("inline-flex",f),"data-testid":"device-mockup","data-orientation":o,"data-theme":a,"data-size":s,children:R()})}var Ks={solid:"border-solid",dashed:"border-dashed",dotted:"border-dotted"},ly={left:{before:"flex-[0.1]",after:"flex-1"},center:{before:"flex-1",after:"flex-1"},right:{before:"flex-1",after:"flex-[0.1]"}};function Yd({orientation:e="horizontal",variant:t="solid",label:r,textAlign:n="center",thickness:o=1,color:a="border-gray-300 dark:border-gray-700",spacing:s,className:l,...i}){if(e==="vertical")return jsxRuntime.jsx("hr",{"aria-orientation":"vertical",className:g("h-full border-l-0 border-r",Ks[t],a,s||"mx-2",l),style:{borderRightWidth:`${o}px`},...i});if(r){let c=ly[n];return jsxRuntime.jsxs("div",{role:"separator","aria-orientation":"horizontal",className:g("flex items-center text-sm text-gray-500 dark:text-gray-400",s||"my-4",l),...i,children:[jsxRuntime.jsx("div",{className:g("border-t",Ks[t],a,c.before),style:{borderTopWidth:`${o}px`}}),jsxRuntime.jsx("span",{className:"px-3 whitespace-nowrap",children:r}),jsxRuntime.jsx("div",{className:g("border-t",Ks[t],a,c.after),style:{borderTopWidth:`${o}px`}})]})}return jsxRuntime.jsx("hr",{"aria-orientation":"horizontal",className:g("border-t-0 border-b",Ks[t],a,s||"my-4",l),style:{borderBottomWidth:`${o}px`},...i})}Yd.displayName="Divider";var On=[];function qd(e){let t=On.indexOf(e);t!==-1&&On.splice(t,1),On.push(e);}function jd(e){let t=On.indexOf(e);t!==-1&&On.splice(t,1);}function Zd(e){return On.length>0&&On[On.length-1]===e}var Va=0,Pl=null;function Qd(e=document){let t=e.body;if(!t)return ()=>{};Va===0&&(Pl=t.style.overflow,t.style.overflow="hidden"),Va+=1;let r=false;return ()=>{r||(r=true,Va=Math.max(0,Va-1),Va===0&&(t.style.overflow=Pl??"",Pl=null));}}var Jd=["a[href]","area[href]","button","input","select","textarea","details > summary:first-of-type","iframe","object","embed","audio[controls]","video[controls]",'[contenteditable]:not([contenteditable="false"])',"[tabindex]"].join(",");function dy(e){let t=e.ownerDocument?.defaultView;if(!t)return null;try{return t.getComputedStyle(e)}catch{return null}}function eu(e){let t=e;for(;t;){if(t.hasAttribute("hidden")||t.hasAttribute("inert")||t.getAttribute("aria-hidden")==="true")return false;let r=dy(t);if(r&&(r.display==="none"||r.visibility==="hidden"||r.visibility==="collapse"))return false;t=t.parentElement;}return true}function tu(e){if(e.hasAttribute("disabled")||e.getAttribute("tabindex")==="-1")return false;let t=e.closest("fieldset[disabled]");if(t){let r=t.querySelector("legend");if(!r||!r.contains(e))return false}return eu(e)}function Us(e){return Array.from(e.querySelectorAll(Jd)).filter(tu).sort((r,n)=>{let o=r.compareDocumentPosition(n);return o&Node.DOCUMENT_POSITION_FOLLOWING?-1:o&Node.DOCUMENT_POSITION_PRECEDING?1:0})}var uy={role:"dialog","aria-modal":true,tabIndex:-1};function my(e,t){return t==="none"?null:t&&typeof t=="object"?t.current??e:t==="first"?Us(e)[0]??e:e}function gy(e){return e?e.map(t=>t&&"current"in t?t.current:t).filter(t=>!!t):[]}function Yo(e){if(e)try{e.focus();}catch{}}function fo(e){let{open:t}=e,r=el.useRef(null),n=el.useRef(e);return n.current=e,el.useEffect(()=>{if(!t)return;let o=r.current;if(!o)return;let a=o.ownerDocument,s=a.activeElement,{hideBackground:l,lockScroll:i,initialFocus:c,keepInteractive:d}=n.current;qd(o);let u=l===false?void 0:ml([o,...gy(d)]),f=i===false?void 0:Qd(a);return Yo(my(o,c)),()=>{u?.(),f?.(),jd(o);let{returnFocus:m}=n.current;if(m===false)return;let p=a.activeElement;if(!(!p||p===a.body||o.contains(p)))return;let v=m&&typeof m=="object"?m.current:s;v&&a.contains(v)&&Yo(v);}},[t]),el.useEffect(()=>{if(!t)return;let o=r.current;if(!o)return;let a=o.ownerDocument,s=a.defaultView??a,l=c=>c?o.contains(c)?true:Ls([o]).some(d=>d.contains(c)):false,i=c=>{if(c.defaultPrevented||!Zd(o))return;let{closeOnEscape:d,trapFocus:u,onClose:f}=n.current;if(c.key==="Escape"){if(d===false)return;c.preventDefault(),f?.();return}if(c.key!=="Tab"||u===false)return;let m=a.activeElement;if(m&&!o.contains(m)&&l(m))return;let p=Us(o);if(p.length===0){c.preventDefault(),Yo(o);return}let w=p[0],v=p[p.length-1];if(!m||!o.contains(m)){c.preventDefault(),Yo(c.shiftKey?v:w);return}if(c.shiftKey&&(m===w||m===o)){c.preventDefault(),Yo(v);return}!c.shiftKey&&m===v&&(c.preventDefault(),Yo(w));};return s.addEventListener("keydown",i),()=>s.removeEventListener("keydown",i)},[t]),{dialogRef:r,dialogProps:uy}}var yy={left:{sm:"w-64",md:"w-80",lg:"w-96",xl:"w-[32rem]",full:"w-full",half:"w-1/2 h-full"},right:{sm:"w-64",md:"w-80",lg:"w-96",xl:"w-[32rem]",full:"w-full",half:"w-1/2 h-full"},top:{sm:"h-64",md:"h-80",lg:"h-96",xl:"h-[32rem]",full:"h-full",half:"w-1/2 h-full"},bottom:{sm:"h-64",md:"h-80",lg:"h-96",xl:"h-[32rem]",full:"h-full",half:"w-1/2 h-full"}},xy={left:"left-0 top-0 bottom-0",right:"right-0 top-0 bottom-0",top:"top-0 left-0 right-0",bottom:"bottom-0 left-0 right-0"},ou={left:{enter:"animate-in slide-in-from-left duration-300",exit:"animate-out slide-out-to-left duration-200"},right:{enter:"animate-in slide-in-from-right duration-300",exit:"animate-out slide-out-to-right duration-200"},top:{enter:"animate-in slide-in-from-top duration-300",exit:"animate-out slide-out-to-top duration-200"},bottom:{enter:"animate-in slide-in-from-bottom duration-300",exit:"animate-out slide-out-to-bottom duration-200"}},vy=jsxRuntime.jsx("svg",{className:"w-5 h-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:jsxRuntime.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M6 18L18 6M6 6l12 12"})});function au({open:e,onClose:t,children:r,position:n="right",size:o="md",customWidth:a,customHeight:s,showOverlay:l=true,closeOnOverlayClick:i=true,closeOnEscape:c=true,title:d,footer:u,className:f,overlayClassName:m,closeLabel:p,"aria-label":w,trapFocus:v=true,initialFocus:x,returnFocus:h,lockScroll:I=true}){let S=!!(a||s),L=el.useRef(null),R=We(),y=`${el.useId()}-drawer-title`,{dialogRef:M,dialogProps:k}=fo({open:e,onClose:t,closeOnEscape:c,trapFocus:v,initialFocus:x,returnFocus:h,lockScroll:I,keepInteractive:[L]}),z=el.useCallback(()=>{i&&t();},[i,t]);if(!e)return null;let H=jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[l&&jsxRuntime.jsx("div",{ref:L,className:g("fixed inset-0 bg-black/50 z-40 transition-opacity",e?"animate-in fade-in duration-200":"animate-out fade-out duration-150",m),onClick:z,"aria-hidden":"true"}),jsxRuntime.jsxs("div",{ref:M,...k,"aria-labelledby":d?y:void 0,"aria-label":d?void 0:w,className:g("fixed z-50 bg-white dark:bg-gray-900","shadow-xl overflow-hidden","flex flex-col focus:outline-none",xy[n],!S&&yy[n][o],e?ou[n].enter:ou[n].exit,f),style:{...a?{width:a}:{},...s?{height:s}:{}},children:[d&&jsxRuntime.jsxs("div",{className:"flex items-center justify-between px-6 py-4 border-b border-gray-200 dark:border-gray-700",children:[jsxRuntime.jsx("h2",{id:y,className:"text-lg font-semibold text-gray-900 dark:text-white",children:d}),jsxRuntime.jsx("button",{type:"button",onClick:t,className:g("rounded-lg p-1.5 text-gray-400 hover:bg-gray-100 hover:text-gray-900","dark:hover:bg-gray-800 dark:hover:text-white","focus:outline-none focus:ring-2 focus:ring-gray-300 dark:focus:ring-gray-600"),"aria-label":p??R.closeDrawer,children:vy})]}),jsxRuntime.jsx("div",{className:"flex-1 overflow-y-auto px-6 py-4",children:r}),u&&jsxRuntime.jsx("div",{className:"px-6 py-4 border-t border-gray-200 dark:border-gray-700",children:u})]})]});return typeof document<"u"?reactDom.createPortal(H,document.body):H}au.displayName="Drawer";var Ny={sm:{dropzone:"py-4 px-3",text:"text-xs",subtext:"text-[10px]",icon:"w-6 h-6",button:"px-2.5 py-1.5 text-xs",fileItem:"py-1 px-2 text-xs",gap:"gap-1"},md:{dropzone:"py-6 px-4",text:"text-sm",subtext:"text-xs",icon:"w-8 h-8",button:"px-3 py-2 text-sm",fileItem:"py-1.5 px-3 text-sm",gap:"gap-1.5"},lg:{dropzone:"py-8 px-6",text:"text-base",subtext:"text-sm",icon:"w-10 h-10",button:"px-4 py-2.5 text-base",fileItem:"py-2 px-4 text-base",gap:"gap-2"}},cu=e=>{if(e===0)return "0 B";let t=["B","KB","MB","GB"],r=Math.floor(Math.log(e)/Math.log(1024));return `${(e/Math.pow(1024,r)).toFixed(r===0?0:1)} ${t[r]}`},Ll=e=>e.webkitRelativePath||e.name,Sy=jsxRuntime.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:1.5,stroke:"currentColor",className:"w-full h-full",children:jsxRuntime.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M3 16.5v2.25A2.25 2.25 0 005.25 21h13.5A2.25 2.25 0 0021 18.75V16.5m-13.5-9L12 3m0 0l4.5 4.5M12 3v13.5"})}),Ry=jsxRuntime.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:1.5,stroke:"currentColor",className:"w-full h-full",children:jsxRuntime.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M3.75 9.776c.112-.017.227-.026.344-.026h15.812c.117 0 .232.009.344.026m-16.5 0a2.25 2.25 0 00-1.883 2.542l.857 6a2.25 2.25 0 002.227 1.932H19.05a2.25 2.25 0 002.227-1.932l.857-6a2.25 2.25 0 00-1.883-2.542m-16.5 0V6A2.25 2.25 0 016 3.75h3.879a1.5 1.5 0 011.06.44l2.122 2.12a1.5 1.5 0 001.06.44H18A2.25 2.25 0 0120.25 9v.776"})}),Ty=0;async function Py(e){let t=[],r=async n=>{if(n.isFile){let o=await new Promise((a,s)=>n.file(a,s));t.push(o);}else if(n.isDirectory){let o=n.createReader(),a=()=>new Promise((l,i)=>o.readEntries(l,i)),s=await a();for(;s.length>0;){for(let l of s)await r(l);s=await a();}}};for(let n of e)await r(n);return t}function Dy({value:e,onChange:t,accept:r,multiple:n=false,maxSize:o=10*1024*1024,maxFiles:a,mode:s="file",variant:l="dropzone",size:i="md",disabled:c=false,readOnly:d=false,label:u,helperText:f,error:m,showFileList:p=true,placeholder:w,browseLabel:v,browseFolderLabel:x,icon:h,onReject:I,className:S}){let[L,R]=el.useState([]),[T,y]=el.useState(false),M=el.useRef(null),k=el.useRef(null),z=el.useId(),H=e!==void 0,P=H?e.map((U,Q)=>({file:U,id:`ctrl-${Q}`})):L,B=Ny[i];el.useEffect(()=>{s==="directory"&&M.current&&M.current.setAttribute("webkitdirectory",""),s==="both"&&k.current&&k.current.setAttribute("webkitdirectory","");},[s]);let C=el.useMemo(()=>cu(o),[o]),b=el.useMemo(()=>r?r.split(",").map(U=>U.trim()).map(U=>U.startsWith(".")?U.toUpperCase():U.endsWith("/*")?U.replace("/*","").toUpperCase():U).join(", "):"All files",[r]),E=s==="directory"?"Drag & drop a folder here, or":s==="both"?"Drag & drop files or folders here, or":n?"Drag & drop files here, or":"Drag & drop a file here, or",N=s==="directory"?"Browse folder":"Browse",W="Browse folder",F=el.useCallback(U=>{if(U.size>o)return `File exceeds maximum size of ${C}`;if(r){let Q=r.split(",").map(te=>te.trim()),le=`.${U.name.split(".").pop()?.toLowerCase()}`;if(!Q.some(te=>te.startsWith(".")?le===te.toLowerCase():te.endsWith("/*")?U.type.startsWith(te.replace("/*","/")):U.type===te))return `File type not accepted. Expected: ${b}`}return null},[r,b,o,C]),K=el.useCallback(U=>{if(c||d)return;let Q=Array.from(U),le=[];for(let ye of Q){let te=F(ye);te?I?.(ye,te):le.push(ye);}if(le.length!==0)if(H)if(n){let te=[...e??[],...le],Ce=a?te.slice(0,a):te;t?.(Ce);}else t?.([le[0]]);else R(ye=>{let te=le.map(Ce=>({file:Ce,id:`file-${++Ty}`}));if(n){let Ce=[...ye,...te],Pe=a?Ce.slice(0,a):Ce,Se=Pe.map(De=>De.file);return t?.(Se),Pe}return t?.([le[0]]),[te[0]]});},[c,d,H,n,a,e,t,I,F]),j=el.useCallback(U=>{if(!(c||d)){if(H){let Q=(e??[]).filter((le,ye)=>ye!==U);t?.(Q);}else R(Q=>{let le=Q.filter((ye,te)=>te!==U);return t?.(le.map(ye=>ye.file)),le});M.current&&(M.current.value="");}},[c,d,H,e,t]),A=el.useCallback(()=>{c||d||(H?t?.([]):(R([]),t?.([])),M.current&&(M.current.value=""));},[c,d,H,t]),D=el.useCallback(U=>{U.target.files&&U.target.files.length>0&&K(U.target.files);},[K]),V=el.useCallback(U=>{U.preventDefault(),U.stopPropagation(),!c&&!d&&y(true);},[c,d]),O=el.useCallback(U=>{U.preventDefault(),U.stopPropagation(),y(false);},[]),_=el.useCallback(U=>{if(U.preventDefault(),U.stopPropagation(),y(false),c||d)return;let Q=U.dataTransfer.items;if(Q&&Q.length>0&&(s==="directory"||s==="both")){let le=[];for(let te=0;te<Q.length;te++){let Ce=Q[te].webkitGetAsEntry?.();Ce&&le.push(Ce);}if(le.some(te=>te.isDirectory)){Py(le).then(te=>{te.length>0&&K(te);});return}}U.dataTransfer.files&&U.dataTransfer.files.length>0&&K(U.dataTransfer.files);},[c,d,s,K]),X=el.useCallback(()=>{!c&&!d&&M.current?.click();},[c,d]),G=el.useCallback(()=>{!c&&!d&&k.current?.click();},[c,d]),$=P.length>0,Y=h||(s==="directory"?Ry:Sy),se=p&&$&&jsxRuntime.jsxs("div",{className:g("flex flex-col",B.gap),children:[P.map((U,Q)=>jsxRuntime.jsxs("div",{className:g("flex items-center justify-between rounded-md border border-gray-200 dark:border-gray-700 bg-gray-50 dark:bg-gray-800/50",B.fileItem),children:[jsxRuntime.jsxs("div",{className:"flex items-center gap-2 min-w-0 flex-1",children:[jsxRuntime.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:1.5,stroke:"currentColor",className:"w-4 h-4 shrink-0 text-gray-400 dark:text-gray-500",children:jsxRuntime.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M19.5 14.25v-2.625a3.375 3.375 0 00-3.375-3.375h-1.5A1.125 1.125 0 0113.5 7.125v-1.5a3.375 3.375 0 00-3.375-3.375H8.25m2.25 0H5.625c-.621 0-1.125.504-1.125 1.125v17.25c0 .621.504 1.125 1.125 1.125h12.75c.621 0 1.125-.504 1.125-1.125V11.25a9 9 0 00-9-9z"})}),jsxRuntime.jsx("span",{className:"truncate text-gray-700 dark:text-gray-300",children:Ll(U.file)}),jsxRuntime.jsxs("span",{className:"shrink-0 text-gray-400 dark:text-gray-500",children:["(",cu(U.file.size),")"]})]}),!c&&!d&&jsxRuntime.jsx("button",{type:"button",onClick:()=>j(Q),className:"shrink-0 ml-2 text-gray-400 hover:text-red-500 dark:text-gray-500 dark:hover:text-red-400 transition-colors cursor-pointer","aria-label":`Remove ${Ll(U.file)}`,children:jsxRuntime.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:1.5,stroke:"currentColor",className:"w-4 h-4",children:jsxRuntime.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M6 18L18 6M6 6l12 12"})})})]},U.id)),n&&P.length>1&&!c&&!d&&jsxRuntime.jsx("button",{type:"button",onClick:A,className:g("self-start text-gray-400 hover:text-red-500 dark:text-gray-500 dark:hover:text-red-400 transition-colors cursor-pointer",B.subtext),children:"Remove all"})]}),ae=g("rounded-md border border-gray-300 dark:border-gray-600 bg-white dark:bg-gray-800 text-gray-700 dark:text-gray-200 font-medium transition-colors","hover:bg-gray-50 dark:hover:bg-gray-700","disabled:opacity-50 disabled:cursor-not-allowed cursor-pointer","focus:outline-none focus:ring-2 focus:ring-blue-500 focus:ring-offset-1",B.button,m&&"border-red-300 dark:border-red-600");return jsxRuntime.jsxs("div",{className:g("flex flex-col",B.gap,S),children:[u&&jsxRuntime.jsx("label",{htmlFor:z,className:g("block font-medium text-gray-700 dark:text-gray-300",B.text),children:u}),jsxRuntime.jsx("input",{ref:M,id:z,type:"file",accept:s!=="directory"?r:void 0,multiple:n,onChange:D,className:"sr-only",disabled:c||d,"aria-describedby":m?`${z}-error`:f?`${z}-helper`:void 0,"aria-invalid":!!m}),s==="both"&&jsxRuntime.jsx("input",{ref:k,type:"file",onChange:D,className:"sr-only",disabled:c||d,tabIndex:-1,"aria-hidden":"true"}),l==="dropzone"?jsxRuntime.jsxs("div",{role:s==="both"?"group":"button",tabIndex:s==="both"?void 0:c||d?-1:0,onClick:s==="both"?void 0:X,onKeyDown:s==="both"?void 0:U=>{(U.key==="Enter"||U.key===" ")&&(U.preventDefault(),X());},onDragOver:V,onDragLeave:O,onDrop:_,className:g("flex flex-col items-center justify-center rounded-lg border-2 border-dashed transition-colors",B.dropzone,T&&!c&&!d?"border-blue-500 bg-blue-50 dark:bg-blue-900/20":"border-gray-300 dark:border-gray-600 bg-white dark:bg-gray-800",!c&&!d&&"hover:border-blue-400 dark:hover:border-blue-500 hover:bg-gray-50 dark:hover:bg-gray-800/70",s!=="both"&&!c&&!d&&"cursor-pointer",c&&"opacity-50 cursor-not-allowed",d&&"cursor-default",m&&"border-red-300 dark:border-red-600"),"aria-label":s==="both"?"File and folder drop zone":w||E,children:[jsxRuntime.jsx("div",{className:g("text-gray-400 dark:text-gray-500 mb-2",B.icon,T&&"text-blue-500 dark:text-blue-400"),children:Y}),jsxRuntime.jsxs("p",{className:g("text-gray-600 dark:text-gray-400",B.text),children:[w||E," ",!c&&!d&&s!=="both"&&jsxRuntime.jsx("span",{className:"text-blue-600 dark:text-blue-400 font-medium",children:v||N})]}),s==="both"&&!c&&!d&&jsxRuntime.jsxs("div",{className:g("flex items-center gap-3 mt-1",B.text),children:[jsxRuntime.jsx("button",{type:"button",onClick:X,className:"text-blue-600 dark:text-blue-400 font-medium hover:underline cursor-pointer focus:outline-none focus:ring-2 focus:ring-blue-500 focus:ring-offset-1 rounded",children:v||"Browse files"}),jsxRuntime.jsx("span",{className:"text-gray-300 dark:text-gray-600",children:"\xB7"}),jsxRuntime.jsx("button",{type:"button",onClick:G,className:"text-blue-600 dark:text-blue-400 font-medium hover:underline cursor-pointer focus:outline-none focus:ring-2 focus:ring-blue-500 focus:ring-offset-1 rounded",children:x||W})]}),jsxRuntime.jsxs("p",{className:g("text-gray-400 dark:text-gray-500 mt-1",B.subtext),children:[b," - Max ",C,n&&a&&` - Up to ${a} files`]})]}):jsxRuntime.jsxs("div",{className:"flex items-center gap-2",children:[s==="both"?jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx("button",{type:"button",onClick:X,disabled:c||d,className:ae,children:v||($?"Change files":"Choose files")}),jsxRuntime.jsx("button",{type:"button",onClick:G,disabled:c||d,className:ae,children:x||"Choose folder"})]}):jsxRuntime.jsx("button",{type:"button",onClick:X,disabled:c||d,className:ae,children:v||(s==="directory"?$?"Change folder":"Choose folder":$?"Change file":"Choose file")}),!$&&jsxRuntime.jsx("span",{className:g("text-gray-400 dark:text-gray-500",B.text),children:s==="directory"?"No folder selected":s==="both"?"No file or folder selected":"No file selected"}),$&&!p&&jsxRuntime.jsx("span",{className:g("text-gray-600 dark:text-gray-400 truncate",B.text),children:P.length===1?Ll(P[0].file):`${P.length} files selected`})]}),se,m&&jsxRuntime.jsx("p",{id:`${z}-error`,className:g("text-red-600 dark:text-red-400",B.subtext),role:"alert",children:m}),f&&!m&&jsxRuntime.jsx("p",{id:`${z}-helper`,className:g("text-gray-400 dark:text-gray-500",B.subtext),children:f})]})}var mu=el.createContext(null);function Sr(){let e=el.useContext(mu);if(!e)throw new Error("Dropdown compound components must be used within a Dropdown");return e}function gu({open:e,defaultOpen:t=false,onOpenChange:r,closeOnSelect:n=true,closeOnClickOutside:o=true,closeOnEscape:a=true,modal:s=false,children:l}){let[i,c]=el.useState(t),d=e!==void 0,u=d?e:i,f=el.useRef(null),m=el.useRef(null),p=el.useRef([]),[w,v]=el.useState(-1),x=el.useRef(0),h=el.useId(),I={triggerId:`dropdown-trigger-${h}`,contentId:`dropdown-content-${h}`},S=el.useCallback(y=>{d||c(y),r?.(y),y||v(-1);},[d,r]),L=el.useCallback((y,M)=>{p.current&&(p.current[y]=M);},[]),R=el.useCallback(()=>x.current++,[]),T={isOpen:u,setIsOpen:S,triggerRef:f,contentRef:m,closeOnSelect:n,closeOnClickOutside:o,closeOnEscape:a,modal:s,focusedIndex:w,setFocusedIndex:v,itemsRef:p,registerItem:L,getNextItemIndex:R,triggerId:I.triggerId,contentId:I.contentId};return jsxRuntime.jsx(mu.Provider,{value:T,children:jsxRuntime.jsx("div",{className:"relative inline-block",children:l})})}gu.displayName="Dropdown";var pu=el.memo(({isOpen:e})=>jsxRuntime.jsx("span",{className:g("inline-block transition-transform",e&&"rotate-180"),children:jsxRuntime.jsx("svg",{className:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24","aria-hidden":"true",children:jsxRuntime.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M19 9l-7 7-7-7"})})}));pu.displayName="ChevronIcon";function fu({asChild:e=false,disabled:t=false,children:r,className:n}){let{isOpen:o,setIsOpen:a,triggerRef:s,triggerId:l,contentId:i}=Sr(),u={ref:s,id:l,"aria-haspopup":"menu","aria-expanded":o,"aria-controls":o?i:void 0,disabled:t,onClick:()=>{t||a(!o);},onKeyDown:f=>{t||((f.key==="Enter"||f.key===" ")&&(f.preventDefault(),a(!o)),f.key==="ArrowDown"&&!o&&(f.preventDefault(),a(true)));}};return e&&el.isValidElement(r)?el.cloneElement(r,{...u,className:g(r.props.className,n)}):jsxRuntime.jsxs("button",{type:"button",...u,className:g("inline-flex items-center justify-center gap-2","rounded-md px-4 py-2","bg-white border border-gray-300","text-sm font-medium text-gray-700","hover:bg-gray-50","focus:outline-none focus-visible:ring-2 focus-visible:ring-blue-500 focus-visible:ring-offset-2","disabled:opacity-50 disabled:cursor-not-allowed","transition-colors",n),children:[r,jsxRuntime.jsx(pu,{isOpen:o})]})}fu.displayName="DropdownTrigger";function qo(e){let t=el.useRef(e);return el.useLayoutEffect(()=>{t.current=e;}),t}function jo(e,t,r=true){let n=qo(t);el.useEffect(()=>{if(!r)return;let o=a=>{let s=a.target;!e.current||e.current.contains(s)||n.current();};return document.addEventListener("mousedown",o),document.addEventListener("touchstart",o,{passive:true}),()=>{document.removeEventListener("mousedown",o),document.removeEventListener("touchstart",o);}},[r,n,e]);}function js({isOpen:e,onClose:t,itemsCount:r,focusedIndex:n,setFocusedIndex:o,onSelect:a,loop:s=true}){let l=qo(t),i=qo(a),c=qo(n),d=el.useCallback(u=>{if(!(!e||r===0))switch(u.key){case "ArrowDown":u.preventDefault(),o(s?f=>f<r-1?f+1:0:f=>Math.min(f+1,r-1));break;case "ArrowUp":u.preventDefault(),o(s?f=>f>0?f-1:r-1:f=>Math.max(f-1,0));break;case "Home":u.preventDefault(),o(0);break;case "End":u.preventDefault(),o(r-1);break;case "Enter":case " ":u.preventDefault(),i.current?.(c.current);break;case "Escape":u.preventDefault(),l.current();break;case "Tab":l.current();break}},[e,r,o,s,l,i,c]);return el.useEffect(()=>{if(e)return document.addEventListener("keydown",d),()=>document.removeEventListener("keydown",d)},[e,d]),{focusedIndex:n}}function bu(e,t,r){el.useEffect(()=>{r&&e.current&&e.current[t]&&e.current[t]?.focus();},[t,r,e]);}var Ky={fade:"animate-in fade-in-0 duration-200",scale:"animate-in fade-in-0 zoom-in-95 duration-200",slide:"animate-in fade-in-0 slide-in-from-top-2 duration-200",none:""};function xu({side:e="bottom",align:t="start",sideOffset:r=4,alignOffset:n=0,avoidCollisions:o=true,collisionPadding:a=8,minWidth:s,maxWidth:l,maxHeight:i=300,animation:c="scale",portal:d=true,children:u,className:f}){let{isOpen:m,setIsOpen:p,triggerRef:w,contentRef:v,closeOnClickOutside:x,closeOnEscape:h,modal:I,contentId:S,focusedIndex:L,setFocusedIndex:R,itemsRef:T}=Sr(),[y,M]=el.useState(false),k=Bn({triggerRef:w,contentRef:v,isOpen:m,side:e,align:t,sideOffset:r,alignOffset:n,avoidCollisions:o,collisionPadding:a});jo(v,()=>{x&&p(false);},m);let z=T.current?.filter(Boolean).length||0,H=el.useCallback(B=>{let C=T.current?.[B];C&&!C.hasAttribute("data-disabled")&&C.click();},[T]);js({isOpen:m,onClose:()=>{h&&(p(false),w.current?.focus());},itemsCount:z,focusedIndex:L,setFocusedIndex:R,onSelect:H}),el.useEffect(()=>{let B=v.current;if(B)return wn(B,()=>w.current)},[v,w]),el.useEffect(()=>{if(m&&T.current&&T.current.length>0){let B=setTimeout(()=>{R(0),T.current?.[0]?.focus();},10);return ()=>clearTimeout(B)}},[m,T,R]),el.useLayoutEffect(()=>{let B=0;if(!m){M(false);return}let C=()=>{let b=w.current?.getBoundingClientRect(),E=v.current?.getBoundingClientRect();if(k.isReady&&!!b&&!!E&&b.width>0&&b.height>0&&E.width>0&&E.height>0){M(true);return}B=requestAnimationFrame(C);};return M(false),B=requestAnimationFrame(C),()=>{B&&cancelAnimationFrame(B);}},[m,k.isReady,w,v]);let P=jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[I&&m&&jsxRuntime.jsx("div",{className:"fixed inset-0 z-40 bg-black/20",onClick:()=>p(false)}),jsxRuntime.jsx("div",{ref:v,id:S,role:"menu","aria-orientation":"vertical","aria-hidden":!m,tabIndex:-1,style:{position:"fixed",top:k.top,left:k.left,minWidth:s??w.current?.offsetWidth,maxWidth:l,maxHeight:i,visibility:m&&y?"visible":"hidden",opacity:m&&y?1:0,pointerEvents:m&&y?"auto":"none"},className:g("z-50 overflow-auto rounded-lg","border border-gray-200 bg-white shadow-lg","dark:border-gray-700 dark:bg-gray-800",m&&y&&Ky[c],f),children:jsxRuntime.jsx("div",{className:"py-1",children:u})})]});return d&&typeof document<"u"?reactDom.createPortal(P,document.body):P}xu.displayName="DropdownContent";var Qy={default:"text-gray-700 dark:text-gray-200 hover:bg-gray-100 dark:hover:bg-gray-700",danger:"text-red-600 dark:text-red-400 hover:bg-red-50 dark:hover:bg-red-900/20",success:"text-green-600 dark:text-green-400 hover:bg-green-50 dark:hover:bg-green-900/20"};function Cu({children:e,icon:t,iconPosition:r="left",description:n,shortcut:o,variant:a="default",closeOnSelect:s,onSelect:l,disabled:i=false,className:c,onClick:d,index:u,...f}){let{setIsOpen:m,closeOnSelect:p,focusedIndex:w,setFocusedIndex:v,registerItem:x,getNextItemIndex:h}=Sr(),I=el.useRef(null),[S]=el.useState(()=>u??h());el.useEffect(()=>(x(S,I.current),()=>{x(S,null);}),[S,x]);let L=s??p,R=w===S;return jsxRuntime.jsxs("button",{ref:I,role:"menuitem",type:"button",tabIndex:R?0:-1,disabled:i,"data-disabled":i||void 0,"data-focused":R||void 0,onClick:M=>{i||(l?.(),d?.(M),L&&m(false));},onMouseEnter:()=>{i||v(S);},className:g("relative flex w-full items-center px-3 py-2 text-left text-sm","outline-none transition-colors","focus:bg-gray-100 dark:focus:bg-gray-700",Qy[a],i&&"opacity-50 cursor-not-allowed hover:bg-transparent",R&&"bg-gray-100 dark:bg-gray-700",c),...f,children:[t&&r==="left"&&jsxRuntime.jsx("span",{className:"mr-2 shrink-0 w-5 h-5",children:t}),jsxRuntime.jsxs("span",{className:"flex-1 min-w-0",children:[jsxRuntime.jsx("span",{className:"block truncate",children:e}),n&&jsxRuntime.jsx("span",{className:"block text-xs text-gray-500 dark:text-gray-400 truncate",children:n})]}),t&&r==="right"&&jsxRuntime.jsx("span",{className:"ml-2 shrink-0 w-5 h-5",children:t}),o&&jsxRuntime.jsx("span",{className:"ml-auto pl-4 text-xs text-gray-400 dark:text-gray-500",children:o})]})}Cu.displayName="DropdownItem";function ku({className:e}){return jsxRuntime.jsx("hr",{className:g("my-1 h-px border-0 bg-gray-200 dark:bg-gray-700",e)})}ku.displayName="DropdownSeparator";function wu({children:e,className:t}){return jsxRuntime.jsx("div",{className:g("px-3 py-1.5 text-xs font-semibold text-gray-500 dark:text-gray-400",t),children:e})}wu.displayName="DropdownLabel";function Tu({checked:e,defaultChecked:t=false,onCheckedChange:r,children:n,icon:o,description:a,disabled:s=false,closeOnChange:l=false,className:i,index:c}){let{setIsOpen:d,focusedIndex:u,setFocusedIndex:f,registerItem:m,getNextItemIndex:p}=Sr(),w=el.useRef(null),[v]=el.useState(()=>c??p()),[x,h]=el.useState(t),I=e!==void 0,S=I?e:x;el.useEffect(()=>(m(v,w.current),()=>{m(v,null);}),[v,m]);let L=u===v;return jsxRuntime.jsxs("button",{ref:w,role:"menuitemcheckbox",type:"button",tabIndex:L?0:-1,"aria-checked":S,disabled:s,"data-disabled":s||void 0,"data-focused":L||void 0,onClick:()=>{if(s)return;let y=!S;I||h(y),r?.(y),l&&d(false);},onMouseEnter:()=>{s||f(v);},className:g("relative flex w-full items-center px-3 py-2 text-left text-sm","outline-none transition-colors","text-gray-700 dark:text-gray-200","hover:bg-gray-100 dark:hover:bg-gray-700","focus:bg-gray-100 dark:focus:bg-gray-700",s&&"opacity-50 cursor-not-allowed hover:bg-transparent",L&&"bg-gray-100 dark:bg-gray-700",i),children:[jsxRuntime.jsx("span",{className:"mr-2 shrink-0 w-4 h-4",children:o||jsxRuntime.jsx("span",{className:g("flex items-center justify-center w-4 h-4 rounded border-2 transition-colors",S?"bg-blue-600 border-blue-600":"border-gray-300 dark:border-gray-600"),children:S&&jsxRuntime.jsx("svg",{className:"w-3 h-3 text-white",viewBox:"0 0 16 16",fill:"none",children:jsxRuntime.jsx("path",{d:"M13.5 4.5L6 12L2.5 8.5",stroke:"currentColor",strokeWidth:"2.5",strokeLinecap:"round",strokeLinejoin:"round"})})})}),jsxRuntime.jsxs("span",{className:"flex-1 min-w-0",children:[jsxRuntime.jsx("span",{className:"block truncate",children:n}),a&&jsxRuntime.jsx("span",{className:"block text-xs text-gray-500 dark:text-gray-400 truncate",children:a})]})]})}Tu.displayName="DropdownCheckboxItem";var Lu=el.createContext(null);function ix(){let e=el.useContext(Lu);if(!e)throw new Error("DropdownRadioItem must be used within a DropdownRadioGroup");return e}function Eu({value:e,defaultValue:t="",onValueChange:r,children:n,className:o}){let[a,s]=el.useState(t),l=e!==void 0,i=l?e:a,c=el.useCallback(u=>{l||s(u),r?.(u);},[l,r]),d=el.useMemo(()=>({value:i,onValueChange:c}),[i,c]);return jsxRuntime.jsx(Lu.Provider,{value:d,children:jsxRuntime.jsx("div",{role:"group",className:o,children:n})})}Eu.displayName="DropdownRadioGroup";function Mu({value:e,children:t,icon:r,description:n,disabled:o=false,closeOnChange:a=true,className:s,index:l}){let{value:i,onValueChange:c}=ix(),{setIsOpen:d,focusedIndex:u,setFocusedIndex:f,registerItem:m,getNextItemIndex:p}=Sr(),w=el.useRef(null),[v]=el.useState(()=>l??p()),x=i===e;el.useEffect(()=>(m(v,w.current),()=>{m(v,null);}),[v,m]);let h=u===v;return jsxRuntime.jsxs("button",{ref:w,role:"menuitemradio",type:"button",tabIndex:h?0:-1,"aria-checked":x,disabled:o,"data-disabled":o||void 0,"data-focused":h||void 0,onClick:()=>{o||(c(e),a&&d(false));},onMouseEnter:()=>{o||f(v);},className:g("relative flex w-full items-center px-3 py-2 text-left text-sm","outline-none transition-colors","text-gray-700 dark:text-gray-200","hover:bg-gray-100 dark:hover:bg-gray-700","focus:bg-gray-100 dark:focus:bg-gray-700",o&&"opacity-50 cursor-not-allowed hover:bg-transparent",h&&"bg-gray-100 dark:bg-gray-700",s),children:[jsxRuntime.jsx("span",{className:"mr-2 shrink-0 w-4 h-4",children:r||jsxRuntime.jsx("span",{className:g("flex items-center justify-center w-4 h-4 rounded-full border-2 transition-colors",x?"border-blue-600":"border-gray-300 dark:border-gray-600"),children:x&&jsxRuntime.jsx("span",{className:"w-2 h-2 rounded-full bg-blue-600"})})}),jsxRuntime.jsxs("span",{className:"flex-1 min-w-0",children:[jsxRuntime.jsx("span",{className:"block truncate",children:t}),n&&jsxRuntime.jsx("span",{className:"block text-xs text-gray-500 dark:text-gray-400 truncate",children:n})]}),x&&!r&&jsxRuntime.jsx("svg",{className:"ml-auto w-4 h-4 text-blue-600",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:jsxRuntime.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M5 13l4 4L19 7"})})]})}Mu.displayName="DropdownRadioItem";var Wu=el.createContext(null);function Hu(){let e=el.useContext(Wu);if(!e)throw new Error("DropdownSubMenu components must be used within a DropdownSubMenu");return e}function Bu({children:e}){let[t,r]=el.useState(false),n=el.useRef(null),o=el.useRef(null),a=el.useMemo(()=>({isOpen:t,setIsOpen:r,triggerRef:n,contentRef:o}),[t]);return jsxRuntime.jsx(Wu.Provider,{value:a,children:jsxRuntime.jsx("div",{className:"relative",children:e})})}Bu.displayName="DropdownSubMenu";var Au=0;function Vu({children:e,icon:t,disabled:r=false,className:n,index:o}){let{isOpen:a,setIsOpen:s,triggerRef:l}=Hu(),{focusedIndex:i,setFocusedIndex:c,registerItem:d}=Sr(),u=el.useRef(o??-1);el.useEffect(()=>(o===void 0&&(u.current=Au++),d(u.current,l.current),()=>{d(u.current,null);}),[o,d,l]),el.useEffect(()=>()=>{Au=0;},[]);let f=i===u.current;return jsxRuntime.jsxs("button",{ref:l,role:"menuitem",type:"button",tabIndex:f?0:-1,"aria-haspopup":"menu","aria-expanded":a,disabled:r,"data-disabled":r||void 0,"data-focused":f||void 0,onMouseEnter:()=>{r||(c(u.current),s(true));},onMouseLeave:()=>{setTimeout(()=>{s(false);},100);},onKeyDown:v=>{r||(v.key==="ArrowRight"||v.key==="Enter")&&(v.preventDefault(),s(true));},className:g("relative flex w-full items-center px-3 py-2 text-left text-sm","outline-none transition-colors","text-gray-700 dark:text-gray-200","hover:bg-gray-100 dark:hover:bg-gray-700","focus:bg-gray-100 dark:focus:bg-gray-700",r&&"opacity-50 cursor-not-allowed hover:bg-transparent",f&&"bg-gray-100 dark:bg-gray-700",n),children:[t&&jsxRuntime.jsx("span",{className:"mr-2 shrink-0 w-5 h-5",children:t}),jsxRuntime.jsx("span",{className:"flex-1",children:e}),jsxRuntime.jsx("svg",{className:"ml-auto w-4 h-4 text-gray-400",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:jsxRuntime.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M9 5l7 7-7 7"})})]})}Vu.displayName="DropdownSubMenuTrigger";function Fu({children:e,sideOffset:t=0,className:r}){let{isOpen:n,setIsOpen:o,triggerRef:a,contentRef:s}=Hu(),[l,i]=el.useState(false),c=Bn({triggerRef:a,contentRef:s,isOpen:n,side:"right",align:"start",sideOffset:t,avoidCollisions:true});jo(s,()=>o(false),n),el.useEffect(()=>{let p=s.current;if(p)return wn(p,()=>a.current)},[s,a]);let d=el.useCallback(()=>{o(true);},[o]),u=el.useCallback(()=>{o(false);},[o]),f=p=>{(p.key==="ArrowLeft"||p.key==="Escape")&&(p.preventDefault(),o(false),a.current?.focus());};el.useLayoutEffect(()=>{let p=0;if(!n){i(false);return}let w=()=>{let v=a.current?.getBoundingClientRect(),x=s.current?.getBoundingClientRect();if(c.isReady&&!!v&&!!x&&v.width>0&&v.height>0&&x.width>0&&x.height>0){i(true);return}p=requestAnimationFrame(w);};return i(false),p=requestAnimationFrame(w),()=>{p&&cancelAnimationFrame(p);}},[n,c.isReady,a,s]);let m=jsxRuntime.jsx("div",{ref:s,role:"menu","aria-orientation":"vertical","aria-hidden":!n,tabIndex:-1,onMouseEnter:d,onMouseLeave:u,onKeyDown:f,style:{position:"fixed",top:c.top,left:c.left,visibility:n&&l?"visible":"hidden",opacity:n&&l?1:0,pointerEvents:n&&l?"auto":"none"},className:g("z-50 min-w-40 overflow-hidden rounded-lg","border border-gray-200 bg-white shadow-lg","dark:border-gray-700 dark:bg-gray-800",n&&l&&"animate-in fade-in-0 zoom-in-95 duration-150",r),children:jsxRuntime.jsx("div",{className:"py-1",children:e})});return typeof document<"u"?reactDom.createPortal(m,document.body):m}Fu.displayName="DropdownSubMenuContent";var px=(e="md")=>({sm:"text-xs p-1.5",md:"text-sm p-2.5",lg:"text-base p-3.5"})[e],Qo=({size:e="md",error:t,disabled:r,readOnly:n,icon:o,iconPosition:a})=>g("bg-gray-50 rounded-lg block w-full","border focus:outline-none focus:ring-0","dark:bg-gray-700 dark:placeholder-gray-400",px(e),o&&a==="left"?"pl-9":"",o&&a==="right"?"pr-9":"",r?"opacity-50 cursor-not-allowed":"",n?"bg-gray-100 dark:bg-gray-600 cursor-default":"",t?"border-red-500 dark:border-red-500":"border-gray-300 dark:border-gray-600"),Ou=(e,t)=>g("text-sm font-medium",e?"min-w-[120px]":"block mb-2",!t&&"text-gray-900 dark:text-white"),$u=e=>g("mt-1 text-xs",e?"text-red-500 dark:text-red-400":"text-gray-500 dark:text-gray-400"),bo=e=>g("absolute inset-y-0 flex items-center pointer-events-none",e==="left"?"left-2.5":"right-2.5");var Jo=({label:e,hideLabel:t,labelColor:r,error:n,helperText:o,inline:a,children:s,htmlFor:l})=>jsxRuntime.jsxs("div",{className:a?"flex items-center gap-4":"flex flex-col",children:[e&&!t&&jsxRuntime.jsx("label",{htmlFor:l,className:Ou(a||false,r),style:r?{color:r}:void 0,children:e}),jsxRuntime.jsx("div",{className:a?"flex-1":"w-full",children:s}),o&&jsxRuntime.jsx("p",{className:g($u(n),a&&"ml-34"),children:o})]});var ln=el.forwardRef(({label:e,inline:t=false,size:r="md",labelColor:n,borderColor:o,textColor:a,disabled:s=false,readOnly:l=false,error:i=false,helperText:c,hideLabel:d=false,icon:u,iconPosition:f="left",multiline:m=false,rows:p=3,focused:w=false,className:v,...x},h)=>{let I=el.useRef(null),S=k=>{I.current=k,typeof h=="function"?h(k):h&&(h.current=k);};el.useEffect(()=>{w&&I.current?.focus();},[w]);let L=el.useId(),R=g(Qo({size:r,error:i,disabled:s,readOnly:l,icon:u,iconPosition:f}),m&&"resize-vertical",v),T={...o&&{borderColor:o},...a&&{color:a}},y=o||a?T:void 0;return jsxRuntime.jsx(Jo,{label:e,hideLabel:d,labelColor:n,error:i,helperText:c,inline:t,htmlFor:L,children:jsxRuntime.jsxs("div",{className:"relative w-full",children:[u&&jsxRuntime.jsx("span",{className:bo(f),children:u}),m?jsxRuntime.jsx("textarea",{ref:S,id:L,disabled:s,readOnly:l,rows:p,tabIndex:l||s?-1:void 0,className:R,style:y,...x}):jsxRuntime.jsx("input",{ref:S,id:L,disabled:s,readOnly:l,tabIndex:l||s?-1:void 0,className:R,style:y,...x})]})})});ln.displayName="Input";var Sx=e=>jsxRuntime.jsxs("div",{className:"flex items-center gap-2 px-3 py-2 hover:bg-gray-100 dark:hover:bg-gray-700 cursor-pointer",children:[e.avatar&&jsxRuntime.jsx("img",{src:e.avatar,alt:e.label,className:"w-6 h-6 rounded-full"}),jsxRuntime.jsx("span",{className:"text-sm text-gray-900 dark:text-white",children:e.label})]}),Hl=el.forwardRef(({label:e,inline:t=false,size:r="md",labelColor:n,borderColor:o,textColor:a,disabled:s=false,readOnly:l=false,error:i=false,helperText:c,hideLabel:d=false,icon:u,iconPosition:f="left",mentionTrigger:m="@",suggestions:p=[],onMentionSearch:w,onMentionSelect:v,onMentionRemove:x,renderSuggestion:h,value:I,onChange:S,placeholder:L,loading:R=false,maxSuggestions:T=10,chipVariant:y="soft",chipColor:M="primary",chipSize:k="sm"},z)=>{let H=el.useId(),P=el.useRef(null),[B,C]=el.useState(false),[b,E]=el.useState(0),[N,W]=el.useState(""),F=g(Qo({size:r,error:i,disabled:s,readOnly:l,icon:u,iconPosition:f}),"min-h-[42px]","whitespace-pre-wrap","break-words"),K={...o&&{borderColor:o},...a&&{color:a}},j=o||a?K:void 0,A=el.useCallback(()=>{if(!P.current)return {text:"",mentions:[]};let $="",Y=[],se=0,ae=U=>{if(U.nodeType===Node.TEXT_NODE)$+=U.textContent||"",se+=(U.textContent||"").length;else if(U.nodeType===Node.ELEMENT_NODE){let Q=U;if(Q.hasAttribute("data-mention-id")){let le=Q.getAttribute("data-mention-id"),ye=Q.getAttribute("data-mention-label")||"",te=Q.getAttribute("data-mention-avatar")||void 0,Ce=`@${ye}`,Pe=se;Y.push({trigger:m,suggestion:{id:le||"",label:ye,avatar:te},startIndex:Pe,endIndex:Pe+Ce.length}),$+=Ce,se+=Ce.length;}else Q.childNodes.forEach(ae);}};return P.current.childNodes.forEach(ae),{text:$,mentions:Y}},[m]),D=el.useCallback(($,Y)=>{let se=document.createElement("span");return se.contentEditable="false",se.setAttribute("data-mention-id",$.id),se.setAttribute("data-mention-label",$.label),$.avatar&&se.setAttribute("data-mention-avatar",$.avatar),se.className="inline-block align-middle mx-0.5",se.style.userSelect="none",client.createRoot(se).render(jsxRuntime.jsx(Gs,{label:$.label,variant:y,color:M,size:k,closable:!s&&!l,onClose:Y,disabled:s,avatar:$.avatar?jsxRuntime.jsx("img",{src:$.avatar,alt:$.label,className:"w-full h-full object-cover"}):void 0})),se},[y,M,k,s,l]),V=el.useCallback($=>{if(!P.current)return;let Y=P.current.querySelector(`[data-mention-id="${$}"]`);if(Y){Y.remove();let se=A();S?.(se);let ae=I?.mentions.find(U=>U.suggestion.id===$)?.suggestion;ae&&x?.(ae);}},[A,S,x,I?.mentions]),O=el.useCallback(()=>{if(!P.current)return;let $=window.getSelection();if(!$||$.rangeCount===0)return;let Y=$.getRangeAt(0),se="";Y.startContainer.nodeType===Node.TEXT_NODE&&(se=Y.startContainer.textContent?.substring(0,Y.startOffset)||"");let ae=se.match(new RegExp(`${m}(\\w*)$`));if(ae){let Q=ae[1];W(Q),C(true),E(0),w?.(Q);}else C(false),W("");let U=A();S?.(U);},[m,w,S,A]),_=el.useCallback($=>{if(!P.current)return;let Y=window.getSelection();if(!Y||Y.rangeCount===0)return;let se=Y.getRangeAt(0);if(se.startContainer.nodeType===Node.TEXT_NODE){let U=se.startContainer,Q=U.textContent||"",le=se.startOffset,te=Q.substring(0,le).lastIndexOf(m);if(te!==-1){let Ce=Q.substring(0,te),Pe=Q.substring(le),Se=D($,()=>{V($.id);});if(Ce?(U.textContent=Ce,U.parentNode?.insertBefore(Se,U.nextSibling)):(U.parentNode?.insertBefore(Se,U),U.textContent="",U.textContent||U.remove()),Pe){let re=document.createTextNode(Pe);Se.parentNode?.insertBefore(re,Se.nextSibling);}let De=document.createTextNode(" ");Se.parentNode?.insertBefore(De,Se.nextSibling);let Ne=document.createRange();Ne.setStartAfter(De),Ne.collapse(true),Y.removeAllRanges(),Y.addRange(Ne);}}C(false),W("");let ae=A();S?.(ae),v?.($),P.current.focus();},[m,D,V,A,S,v]),X=el.useCallback($=>{let Y=p.slice(0,T);if(B&&Y.length>0)switch($.key){case "ArrowDown":$.preventDefault(),E(se=>se<Y.length-1?se+1:0);return;case "ArrowUp":$.preventDefault(),E(se=>se>0?se-1:Y.length-1);return;case "Enter":case "Tab":$.preventDefault(),Y[b]&&_(Y[b]);return;case "Escape":$.preventDefault(),C(false);return}if($.key==="Backspace"){let se=window.getSelection();if(!se||se.rangeCount===0)return;let ae=se.getRangeAt(0);if(ae.collapsed&&ae.startOffset===0){let U=ae.startContainer.previousSibling;if(U&&U.nodeType===Node.ELEMENT_NODE){let Q=U;if(Q.hasAttribute("data-mention-id")){$.preventDefault();let le=Q.getAttribute("data-mention-id");le&&V(le);return}}}if(ae.collapsed&&ae.startContainer.nodeType===Node.TEXT_NODE){let U=ae.startContainer;if(ae.startOffset===0){let Q=U.previousSibling;if(Q&&Q.nodeType===Node.ELEMENT_NODE){let le=Q;if(le.hasAttribute("data-mention-id")){$.preventDefault();let ye=le.getAttribute("data-mention-id");ye&&V(ye);return}}}}}},[B,p,b,T,_,V]);return el.useEffect(()=>{P.current&&(!(P.current.textContent||P.current.querySelector("[data-mention-id]"))&&L?P.current.setAttribute("data-placeholder",L):P.current.removeAttribute("data-placeholder"));},[L,I]),el.useEffect(()=>{P.current&&I?.text===""&&I?.mentions.length===0&&P.current.innerHTML.trim()&&(P.current.innerHTML="");},[I?.text,I?.mentions.length]),jsxRuntime.jsx(Jo,{label:e,hideLabel:d,labelColor:n,error:i,helperText:c,inline:t,htmlFor:H,children:jsxRuntime.jsxs("div",{className:"relative w-full",children:[u&&jsxRuntime.jsx("span",{className:bo(f),children:u}),jsxRuntime.jsx("div",{ref:$=>{typeof z=="function"?z($):z&&(z.current=$),P.current=$;},id:H,contentEditable:!s&&!l,suppressContentEditableWarning:true,onInput:O,onKeyDown:X,className:g(F,"empty:before:content-[attr(data-placeholder)] empty:before:text-gray-400 empty:before:dark:text-gray-500"),style:j,role:"textbox","aria-label":e,"aria-multiline":"true",tabIndex:l||s?-1:0}),B&&p.length>0&&jsxRuntime.jsx("div",{className:"absolute z-10 mt-1 w-full max-h-60 overflow-auto rounded-lg border border-gray-300 bg-white dark:bg-gray-700 dark:border-gray-600 shadow-lg",children:R?jsxRuntime.jsx("div",{className:"px-3 py-2 text-sm text-gray-500 dark:text-gray-400",children:"Loading..."}):p.slice(0,T).map(($,Y)=>jsxRuntime.jsx("div",{onClick:()=>_($),className:g(Y===b&&"bg-gray-100 dark:bg-gray-600"),children:h?h($):Sx($)},$.id))})]})})});Hl.displayName="MentionInput";var Bl=el.forwardRef(({label:e,inline:t=false,size:r="md",labelColor:n,borderColor:o,textColor:a,disabled:s=false,readOnly:l=false,error:i=false,helperText:c,hideLabel:d=false,icon:u,iconPosition:f="left",className:m,value:p,onChange:w,format:v="number",currency:x="USD",locale:h="en-US",decimals:I,min:S,max:L,step:R=1,prefix:T,suffix:y,thousandSeparator:M=true,allowNegative:k=true,onBlur:z,onFocus:H,...P},B)=>{let C=el.useId(),[b,E]=el.useState(null),N=el.useMemo(()=>{let G=v==="currency"?{style:"currency",currency:x,minimumFractionDigits:I??2,maximumFractionDigits:I??2}:v==="percentage"?{minimumFractionDigits:I??0,maximumFractionDigits:I??2}:{minimumFractionDigits:I??0,maximumFractionDigits:I??(v==="decimal"?2:0),useGrouping:M};try{return new Intl.NumberFormat(h,G)}catch{return null}},[v,x,h,I,M]),W=G=>{if(G==null)return "";if(!N)return String(G);let $=N.format(G);return v==="percentage"?($=T?`${T}${$}`:$,$=y||!$.includes("%")?`${$}%`:$,$):(T&&($=`${T}${$}`),y&&($=`${$}${y}`),$)},F=G=>{if(!G||G.trim()==="")return null;let $=G;if(T&&($=$.replace(T,"")),y&&($=$.replace(y,"")),$=$.replace(/[^\d.,-]/g,""),h.includes("fr")||h.includes("de")?$=$.replace(/\s/g,"").replace(",","."):$=$.replace(",",""),!$||$==="-"||$===".")return null;let Y=parseFloat($);return isNaN(Y)?null:!k&&Y<0?Math.abs(Y):S!==void 0&&Y<S?S:L!==void 0&&Y>L?L:Y},K=b??W(p??null),j=G=>{let $=h.includes("fr")||h.includes("de")?",":".";return new RegExp(`^-?[0-9${$===","?",":"\\."}]*$`).test(G)},A=G=>{let $=G.target.value;if($===""||j($)){E($);let Y=F($);w&&w(Y);}},D=G=>{let $=h.includes("fr")||h.includes("de")?",":".",Y=["Backspace","Delete","Tab","Escape","Enter","ArrowLeft","ArrowRight","ArrowUp","ArrowDown","Home","End"],se=/^[0-9]$/.test(G.key),ae=G.key===$,U=G.key==="-"&&k&&K.indexOf("-")===-1,Q=G.ctrlKey||G.metaKey;!se&&!ae&&!U&&!Y.includes(G.key)&&!Q&&G.preventDefault();},V=G=>{let $=p!=null?String(p):"";E($),H&&H(G);},O=G=>{let $=F(b??"");w&&$!==p&&w($),E(null),z&&z(G);},_=g(Qo({size:r,error:i,disabled:s,readOnly:l,icon:u,iconPosition:f}),o&&`border-[${o}]`,a&&`text-[${a}]`,m),X=jsxRuntime.jsxs("div",{className:"relative",children:[u&&f==="left"&&jsxRuntime.jsx("div",{className:bo(f),children:u}),jsxRuntime.jsx("input",{ref:B,id:C,type:"text",inputMode:"decimal",className:_,style:{borderColor:o,color:a},disabled:s,readOnly:l,value:K,onChange:A,onKeyDown:D,onFocus:V,onBlur:O,...P}),u&&f==="right"&&jsxRuntime.jsx("div",{className:bo(f),children:u})]});return jsxRuntime.jsx(Jo,{label:e,hideLabel:d,labelColor:n,error:i,helperText:c,inline:t,htmlFor:C,children:X})});Bl.displayName="NumberInput";function Ex({logo:e,logoHref:t="/",onLogoClick:r,navItems:n=[],actions:o,rightContent:a,variant:s="default",size:l="md",backgroundColor:i,textColor:c,hoverColor:d,navItemTextColor:u,navItemHoverColor:f,navItemBgHover:m,navItemActiveColor:p,sticky:w=false,fixed:v=false,showSearch:x=false,onSearch:h,searchPlaceholder:I="Search...",className:S,containerClassName:L}){let[R,T]=el.useState(false),[y,M]=el.useState(null),[k,z]=el.useState(""),H=()=>{T(!R);},P=A=>{M(y===A?null:A);},B=A=>{A.preventDefault(),h&&h(k);},C=g(w&&"sticky top-0 z-50",v&&"fixed top-0 left-0 right-0 z-50"),b=g(s==="default"&&!i&&"bg-neutral text-white",s==="transparent"&&!i&&"bg-transparent",s==="bordered"&&!i&&"bg-white border-b border-gray-200 text-gray-900 dark:bg-gray-900 dark:border-gray-800 dark:text-gray-100",s==="shadow"&&!i&&"bg-white shadow-md text-gray-900 dark:bg-gray-900 dark:text-gray-100"),E=g(l==="sm"&&"py-2",l==="md"&&"py-4",l==="lg"&&"py-6"),N=i||"",W=c||"",F=d||"",K=g(C,b,E,N,W,S),j=(A,D,V=false)=>{let O=A.children&&A.children.length>0,_=y===D,X=g("px-4 py-2 transition-colors flex items-center gap-2",V?"block w-full text-left":"inline-flex",A.active&&"font-semibold border-b-2",A.active&&(p||"border-current"),u||(s==="default"||s==="transparent"?"text-gray-300":"text-gray-600 dark:text-gray-300"),f||F||(s==="default"||s==="transparent"?"hover:text-white":"hover:text-blue-600 dark:hover:text-blue-400"),m||"");if(O)return jsxRuntime.jsxs("div",{className:V?"w-full":"relative",children:[jsxRuntime.jsxs("button",{type:"button",onClick:()=>P(D),className:X,children:[A.icon&&jsxRuntime.jsx("span",{className:"w-5 h-5",children:A.icon}),jsxRuntime.jsx("span",{children:A.label}),A.badge&&jsxRuntime.jsx("span",{className:"bg-red-500 text-white text-xs px-2 py-0.5 rounded-full",children:A.badge}),jsxRuntime.jsx("svg",{className:g("w-4 h-4 transition-transform",_&&"rotate-180"),fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:jsxRuntime.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M19 9l-7 7-7-7"})})]}),_&&jsxRuntime.jsx("div",{className:g("bg-white shadow-lg rounded-lg overflow-hidden dark:bg-gray-800 dark:shadow-black/40",V?"mt-2 mb-2":"absolute top-full left-0 mt-1 min-w-[200px]"),children:A.children?.map($=>jsxRuntime.jsx("a",{href:$.href,onClick:$.onClick,target:$.external?"_blank":void 0,rel:$.external?"noopener noreferrer":void 0,className:"block px-4 py-2 text-gray-700 hover:bg-gray-100 transition-colors dark:text-gray-200 dark:hover:bg-gray-700",children:jsxRuntime.jsxs("div",{className:"flex items-center gap-2",children:[$.icon&&jsxRuntime.jsx("span",{className:"w-5 h-5",children:$.icon}),jsxRuntime.jsx("span",{children:$.label}),$.badge&&jsxRuntime.jsx("span",{className:"bg-red-500 text-white text-xs px-2 py-0.5 rounded-full ml-auto",children:$.badge}),$.external&&jsxRuntime.jsx("svg",{className:"w-4 h-4 ml-auto",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:jsxRuntime.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M10 6H6a2 2 0 00-2 2v10a2 2 0 002 2h10a2 2 0 002-2v-4M14 4h6m0 0v6m0-6L10 14"})})]})},$.href??$.label))})]},A.href??A.label);let G=jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[A.icon&&jsxRuntime.jsx("span",{className:"w-5 h-5",children:A.icon}),jsxRuntime.jsx("span",{children:A.label}),A.badge&&jsxRuntime.jsx("span",{className:"bg-red-500 text-white text-xs px-2 py-0.5 rounded-full",children:A.badge}),A.external&&jsxRuntime.jsx("svg",{className:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:jsxRuntime.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M10 6H6a2 2 0 00-2 2v10a2 2 0 002 2h10a2 2 0 002-2v-4M14 4h6m0 0v6m0-6L10 14"})})]});return A.onClick?jsxRuntime.jsx("button",{type:"button",onClick:A.onClick,className:X,children:G},A.href??A.label):jsxRuntime.jsx("a",{href:A.href,target:A.external?"_blank":void 0,rel:A.external?"noopener noreferrer":void 0,className:X,children:G},A.href??A.label)};return jsxRuntime.jsxs("header",{className:K,children:[jsxRuntime.jsxs("nav",{className:g("container mx-auto flex items-center justify-between px-4",L),children:[e&&jsxRuntime.jsx("div",{className:"flex items-center",children:t?jsxRuntime.jsx("a",{href:t,onClick:r,className:"flex items-center hover:opacity-80 transition-opacity",children:e}):jsxRuntime.jsx("div",{className:"flex items-center",children:e})}),x&&jsxRuntime.jsx("form",{onSubmit:B,className:"hidden md:flex flex-1 max-w-md mx-8",children:jsxRuntime.jsx("input",{type:"search","aria-label":I,value:k,onChange:A=>z(A.target.value),placeholder:I,className:"w-full px-4 py-2 rounded-lg border border-gray-300 focus:outline-none focus:ring-2 focus:ring-blue-500 text-gray-900 dark:border-gray-700 dark:bg-gray-800 dark:text-gray-100 dark:placeholder-gray-500"})}),jsxRuntime.jsx("div",{className:"hidden md:flex items-center gap-2",children:n.map((A,D)=>j(A,D,false))}),(o||a)&&jsxRuntime.jsxs("div",{className:"hidden md:flex items-center gap-2 ml-4",children:[o,a]}),n.length>0&&jsxRuntime.jsx("div",{className:"md:hidden",children:jsxRuntime.jsx("button",{type:"button",className:g("inline-flex rounded-lg border-2 p-2 w-10 h-10 justify-center transition-colors focus:outline-none",s==="default"||s==="transparent"?"text-gray-300 hover:text-white":"text-gray-600 hover:text-gray-900 dark:text-gray-300 dark:hover:text-gray-100"),onClick:H,"aria-label":"Toggle menu","aria-expanded":R,children:jsxRuntime.jsx("svg",{className:"w-5 h-5","aria-hidden":"true",xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 17 14",children:jsxRuntime.jsx("path",{stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"2",d:"M1 1h15M1 7h15M1 13h15"})})})})]}),R&&n.length>0&&jsxRuntime.jsx("div",{className:g("md:hidden border-t animate-in slide-in-from-top duration-300",s==="default"||s==="transparent"?"border-gray-700":"border-gray-200 dark:border-gray-800"),children:jsxRuntime.jsxs("div",{className:"flex flex-col py-2 px-4",children:[x&&jsxRuntime.jsx("form",{onSubmit:B,className:"mb-4",children:jsxRuntime.jsx("input",{type:"search","aria-label":I,value:k,onChange:A=>z(A.target.value),placeholder:I,className:"w-full px-4 py-2 rounded-lg border border-gray-300 focus:outline-none focus:ring-2 focus:ring-blue-500 text-gray-900 dark:border-gray-700 dark:bg-gray-800 dark:text-gray-100 dark:placeholder-gray-500"})}),n.map((A,D)=>j(A,D,true)),(o||a)&&jsxRuntime.jsxs("div",{className:"flex flex-col gap-2 mt-4 pt-4 border-t border-gray-700",children:[o,a]})]})})]})}var Wx=jsxRuntime.jsxs("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",children:[jsxRuntime.jsx("path",{d:"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7"}),jsxRuntime.jsx("path",{d:"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z"})]}),Hx=jsxRuntime.jsxs("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",children:[jsxRuntime.jsx("path",{d:"M19 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h11l5 5v11a2 2 0 0 1-2 2z"}),jsxRuntime.jsx("polyline",{points:"17 21 17 13 7 13 7 21"}),jsxRuntime.jsx("polyline",{points:"7 3 7 8 15 8"})]}),Bx=jsxRuntime.jsxs("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",children:[jsxRuntime.jsx("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),jsxRuntime.jsx("line",{x1:"6",y1:"6",x2:"18",y2:"18"})]}),Vx=jsxRuntime.jsxs("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",children:[jsxRuntime.jsx("polyline",{points:"1 4 1 10 7 10"}),jsxRuntime.jsx("path",{d:"M3.51 15a9 9 0 1 0 2.13-9.36L1 10"})]}),Fx=jsxRuntime.jsxs("svg",{className:"animate-spin h-4 w-4",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",children:[jsxRuntime.jsx("circle",{className:"opacity-25",cx:"12",cy:"12",r:"10"}),jsxRuntime.jsx("path",{className:"opacity-75",d:"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4z",fill:"currentColor"})]}),Ox={xs:"w-4 h-4 text-[10px]",sm:"w-5 h-5 text-xs",md:"w-6 h-6 text-sm",lg:"w-7 h-7 text-base"},$x={top:"bottom-full left-1/2 -translate-x-1/2 mb-2",bottom:"top-full left-1/2 -translate-x-1/2 mt-2",left:"right-full top-1/2 -translate-y-1/2 mr-2",right:"left-full top-1/2 -translate-y-1/2 ml-2"},_x={sm:"w-56",md:"w-72",lg:"w-96",xl:"w-[32rem]"},Xx=[zx__default.default],Gx={h1:({...e})=>jsxRuntime.jsx("h1",{className:"text-xl font-bold mb-2 text-gray-900 dark:text-gray-100",...e}),h2:({...e})=>jsxRuntime.jsx("h2",{className:"text-lg font-semibold mt-4 mb-2 text-gray-900 dark:text-gray-100",...e}),h3:({...e})=>jsxRuntime.jsx("h3",{className:"text-base font-semibold mt-3 mb-1 text-gray-900 dark:text-gray-100",...e}),p:({...e})=>jsxRuntime.jsx("p",{className:"my-1 text-gray-700 dark:text-gray-300",...e}),ul:({...e})=>jsxRuntime.jsx("ul",{className:"list-disc list-inside space-y-1 my-2 text-gray-700 dark:text-gray-300",...e}),ol:({...e})=>jsxRuntime.jsx("ol",{className:"list-decimal list-inside space-y-1 my-2 text-gray-700 dark:text-gray-300",...e}),code:({className:e,children:t,...r})=>!e?.includes("language-")?jsxRuntime.jsx("code",{className:"bg-gray-100 dark:bg-gray-800 px-1.5 py-0.5 rounded text-sm font-mono text-gray-900 dark:text-gray-100",...r,children:t}):jsxRuntime.jsx("code",{className:"block bg-gray-100 dark:bg-gray-800 rounded-lg p-3 my-2 overflow-x-auto text-sm font-mono text-gray-900 dark:text-gray-100",...r,children:t}),pre:({...e})=>jsxRuntime.jsx("pre",{className:"my-2",...e}),a:({...e})=>jsxRuntime.jsx("a",{className:"text-blue-600 dark:text-blue-400 hover:underline",...e}),strong:({...e})=>jsxRuntime.jsx("strong",{className:"font-semibold text-gray-900 dark:text-gray-100",...e}),em:({...e})=>jsxRuntime.jsx("em",{className:"italic",...e}),blockquote:({...e})=>jsxRuntime.jsx("blockquote",{className:"border-l-4 border-gray-300 dark:border-gray-600 pl-4 my-2 italic text-gray-600 dark:text-gray-400",...e})};function Gu({content:e,markdown:t=false,position:r="bottom",size:n="sm",className:o="",visible:a=true,editable:s=false,onSave:l,onReset:i,width:c="md",title:d,markdownEditor:u,markdownEditorUnavailableLabel:f}){let m=We(),[p,w]=el.useState(false),[v,x]=el.useState(false),[h,I]=el.useState(""),[S,L]=el.useState(false),[R,T]=el.useState(null),y=el.useRef(null),M=el.useRef(null),k=el.useRef(null),z=el.useRef(null);el.useEffect(()=>{if(!p)return;let E=W=>{y.current&&!y.current.contains(W.target)&&M.current&&!M.current.contains(W.target)&&(v||w(false));},N=W=>{W.key==="Escape"&&(v?(x(false),I("")):w(false));};return document.addEventListener("mousedown",E),document.addEventListener("keydown",N),()=>{document.removeEventListener("mousedown",E),document.removeEventListener("keydown",N);}},[p,v]),el.useEffect(()=>{v&&k.current&&k.current.focus();},[v]),el.useEffect(()=>()=>{z.current&&clearTimeout(z.current);},[]);let H=el.useCallback(()=>{I(typeof e=="string"?e:""),x(true),T(null);},[e]),P=el.useCallback(()=>{x(false),I(""),T(null);},[]),B=el.useCallback(async()=>{if(!l){T({type:"error",text:"Aucune fonction de sauvegarde fournie"});return}L(true);try{await l(h)?(T({type:"success",text:"Sauvegard\xE9 avec succ\xE8s !"}),x(!1),z.current&&clearTimeout(z.current),z.current=setTimeout(()=>T(null),2e3)):T({type:"error",text:"Erreur lors de la sauvegarde"});}catch{T({type:"error",text:"Erreur lors de la sauvegarde"});}finally{L(false);}},[h,l]),C=el.useCallback(async()=>{if(i&&confirm("\xCAtes-vous s\xFBr de vouloir r\xE9initialiser ce contenu ?")){L(true);try{await i()?(T({type:"success",text:"R\xE9initialis\xE9 avec succ\xE8s !"}),x(!1),z.current&&clearTimeout(z.current),z.current=setTimeout(()=>T(null),2e3)):T({type:"error",text:"Erreur lors de la r\xE9initialisation"});}catch{T({type:"error",text:"Erreur lors de la r\xE9initialisation"});}finally{L(false);}}},[i]),b=e;return a?jsxRuntime.jsxs("div",{className:"relative inline-flex items-center",children:[jsxRuntime.jsx("button",{type:"button",ref:y,onClick:()=>w(!p),className:`
3
+ ${Ox[n]}
4
4
  inline-flex items-center justify-center
5
5
  rounded-full border border-gray-300 dark:border-gray-600
6
6
  bg-white dark:bg-gray-800
@@ -12,20 +12,20 @@
12
12
  transition-all duration-150
13
13
  focus:outline-none focus:ring-2 focus:ring-blue-500/50
14
14
  ${o}
15
- `,"aria-label":"Afficher l'aide","aria-expanded":g,children:jsxRuntime.jsx("span",{className:"font-medium",children:"?"})}),g&&jsxRuntime.jsxs("div",{ref:k,className:`
16
- absolute z-50 ${qb[r]}
17
- ${Zb[d]} max-h-[80vh] overflow-hidden flex flex-col
15
+ `,"aria-label":"Afficher l'aide","aria-expanded":p,children:jsxRuntime.jsx("span",{className:"font-medium",children:"?"})}),p&&jsxRuntime.jsxs("div",{ref:M,className:`
16
+ absolute z-50 ${$x[r]}
17
+ ${_x[c]} max-h-[80vh] overflow-hidden flex flex-col
18
18
  bg-white dark:bg-gray-900
19
19
  border border-gray-200 dark:border-gray-700
20
20
  rounded-xl shadow-xl
21
21
  text-sm text-gray-700 dark:text-gray-300
22
22
  animate-in fade-in-0 zoom-in-95 duration-150
23
- `,role:"tooltip",children:[(c||s)&&jsxRuntime.jsxs("div",{className:"flex items-center justify-between px-4 py-2 border-b border-gray-200 dark:border-gray-700 bg-gray-50 dark:bg-gray-800/50",children:[jsxRuntime.jsx("div",{className:"flex items-center gap-2",children:c&&jsxRuntime.jsx("h3",{className:"text-sm font-semibold",children:c})}),s&&jsxRuntime.jsx("div",{className:"flex items-center gap-1",children:b?jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx("button",{type:"button",onClick:T,disabled:w,className:"p-1.5 rounded-md hover:bg-green-100 dark:hover:bg-green-900/30 text-green-600 dark:text-green-400 transition-colors disabled:opacity-50 cursor-pointer",title:"Sauvegarder",children:w?Yb:Gb}),jsxRuntime.jsx("button",{type:"button",onClick:L,className:"p-1.5 rounded-md hover:bg-gray-200 dark:hover:bg-gray-700 text-gray-500 hover:text-gray-700 dark:hover:text-gray-300 transition-colors cursor-pointer",title:"Annuler",children:Kb}),i&&jsxRuntime.jsx("button",{type:"button",onClick:S,disabled:w,className:"p-1.5 rounded-md hover:bg-orange-100 dark:hover:bg-orange-900/30 text-orange-600 dark:text-orange-400 transition-colors disabled:opacity-50 cursor-pointer",title:"R\xE9initialiser",children:Ub})]}):jsxRuntime.jsx("button",{type:"button",onClick:O,className:"p-1.5 rounded-md hover:bg-gray-200 dark:hover:bg-gray-700 text-gray-500 hover:text-gray-700 dark:hover:text-gray-300 transition-colors cursor-pointer",title:"Modifier",children:Xb})})]}),h&&jsxRuntime.jsx("div",{className:`px-4 py-2 text-xs ${h.type==="success"?"bg-green-50 dark:bg-green-900/20 text-green-600 dark:text-green-400":"bg-red-50 dark:bg-red-900/20 text-red-600 dark:text-red-400"}`,children:h.text}),jsxRuntime.jsx("div",{className:"flex-1 overflow-y-auto p-4",children:b?t?p?jsxRuntime.jsx(p,{value:y,onChange:M,placeholder:"\xC9crivez en Markdown..."}):jsxRuntime.jsx("p",{role:"alert",className:"p-3 text-sm text-gray-500 dark:text-gray-400",children:f??m.markdownEditorUnavailable}):jsxRuntime.jsx("div",{className:"space-y-2",children:jsxRuntime.jsx("textarea",{ref:I,"aria-label":"Contenu d'aide",value:y,onChange:N=>M(N.target.value),className:"w-full h-64 p-3 text-sm bg-gray-50 dark:bg-gray-800 border border-gray-200 dark:border-gray-700 rounded-lg resize-none focus:outline-none focus:ring-2 focus:ring-blue-500/50 text-gray-700 dark:text-gray-300 font-mono",placeholder:"\xC9crivez votre contenu d'aide..."})}):typeof C=="string"?jsxRuntime.jsx("div",{className:"prose prose-sm dark:prose-invert max-w-none",children:t?jsxRuntime.jsx($b__default.default,{remarkPlugins:Qb,components:Jb,children:C}):jsxRuntime.jsx("div",{dangerouslySetInnerHTML:{__html:Ob__default.default.sanitize(C)}})}):C})]})]}):null}function eh({children:e,content:t,markdown:r=false,position:n="bottom",size:o="sm",visible:a=true,editable:s=false,onSave:l,onReset:i,width:d="md",title:c,className:p,markdownEditor:f,markdownEditorUnavailableLabel:m}){return jsxRuntime.jsxs("div",{className:"inline-flex items-center gap-2.5",children:[e,jsxRuntime.jsx(mc,{content:t,markdown:r,position:n,size:o,visible:a,editable:s,onSave:l,onReset:i,width:d,title:c,className:p,markdownEditor:f,markdownEditorUnavailableLabel:m})]})}var ah={"16/9":"aspect-[16/9]","4/3":"aspect-[4/3]","1/1":"aspect-square",auto:""},sh=e=>new Promise((t,r)=>{let n=new FileReader;n.onload=o=>{let a=o.target?.result;t(a);},n.onerror=()=>{r(new Error("Erreur lors de la lecture du fichier"));},n.readAsDataURL(e);});function ih({value:e,onChange:t,onUpload:r,label:n="Image",maxSize:o=5*1024*1024,accept:a="image/*",helpText:s,disabled:l=false,className:i="",showUrlInput:d=true,urlPlaceholder:c="https://example.com/image.jpg",aspectRatio:p="16/9"}){let[f,m]=js.useState(false),[g,x]=js.useState(null),b=js.useRef(null),v=js.useId(),y=js.useMemo(()=>(o/(1024*1024)).toFixed(0),[o]),M=`Formats accept\xE9s : ${a==="image/*"?"JPG, PNG, GIF, WebP":a} (max ${y}MB)`,w=js.useCallback(async k=>{let I=k.target.files?.[0];if(I){if(!I.type.startsWith("image/")){x("Le fichier doit \xEAtre une image");return}if(I.size>o){x(`Le fichier est trop volumineux (max ${y}MB)`);return}m(true),x(null);try{if(r){let W=await r(I);t(W);}else {let W=await sh(I);t(W);}b.current&&(b.current.value="");}catch(W){console.error("Upload error:",W),x(W instanceof Error?W.message:"Erreur lors de l'upload");}finally{m(false);}}},[o,y,t,r]),P=js.useCallback(()=>{t(""),b.current&&(b.current.value=""),x(null);},[t]),h=js.useCallback(k=>{t(k),x(null);},[t]),E=js.useCallback(()=>{b.current?.click();},[]),D=js.useCallback(k=>{h(k.target.value);},[h]);return jsxRuntime.jsxs("div",{className:`space-y-2 ${i}`,children:[n&&jsxRuntime.jsx("label",{className:"block text-sm font-semibold text-gray-700 dark:text-gray-300",children:n}),e&&jsxRuntime.jsxs("div",{className:"relative w-full overflow-hidden rounded-lg border border-gray-300 dark:border-gray-600 bg-gray-50 dark:bg-gray-800/50",children:[jsxRuntime.jsx("div",{className:`relative ${ah[p]} ${p==="auto"?"max-h-64":""} flex items-center justify-center`,children:jsxRuntime.jsx("img",{src:e,alt:"Aper\xE7u",className:"w-full h-full object-contain"})}),jsxRuntime.jsx("button",{type:"button",onClick:P,disabled:l,className:"absolute top-2 right-2 bg-red-500 text-white rounded-full w-6 h-6 flex items-center justify-center text-xs hover:bg-red-600 transition-colors cursor-pointer disabled:opacity-50 disabled:cursor-not-allowed",title:"Supprimer l'image",children:"\xD7"})]}),jsxRuntime.jsxs("div",{className:"flex gap-2",children:[jsxRuntime.jsx("input",{ref:b,type:"file","aria-label":"Choisir une image",accept:a,onChange:w,className:"hidden",disabled:l||f}),jsxRuntime.jsx("button",{type:"button",onClick:E,disabled:l||f,className:"px-3 py-2 text-sm border border-gray-300 dark:border-gray-600 rounded-md hover:bg-gray-50 dark:hover:bg-gray-700 disabled:opacity-50 disabled:cursor-not-allowed transition-colors cursor-pointer bg-white dark:bg-gray-800 text-gray-700 dark:text-gray-200",children:f?"\u23F3 Upload...":e?"\u{1F4C1} Changer l'image":"\u{1F4C1} Choisir une image"})]}),d&&jsxRuntime.jsxs("div",{className:"space-y-1",children:[jsxRuntime.jsx("label",{htmlFor:v,className:"block text-xs text-gray-500 dark:text-gray-400",children:"Ou URL directe :"}),jsxRuntime.jsx("input",{id:v,type:"url",value:e||"",onChange:D,placeholder:c,disabled:l,className:"w-full px-3 py-2 text-sm border border-gray-300 dark:border-gray-600 rounded-md focus:ring-2 focus:ring-blue-500 focus:border-blue-500 dark:bg-gray-800 dark:text-gray-200 disabled:opacity-50 disabled:cursor-not-allowed"})]}),g&&jsxRuntime.jsxs("div",{className:"text-red-600 dark:text-red-400 text-sm bg-red-50 dark:bg-red-900/20 p-2 rounded border border-red-200 dark:border-red-800",children:["\u274C ",g]}),jsxRuntime.jsx("div",{className:"text-xs text-gray-500 dark:text-gray-400",children:s||M})]})}var Qa={default:"bg-gray-400",primary:"bg-blue-600",success:"bg-green-500",warning:"bg-yellow-400",error:"bg-red-500",info:"bg-cyan-500",dark:"bg-gray-900 dark:bg-gray-700",purple:"bg-purple-600",indigo:"bg-indigo-600",teal:"bg-teal-500"},ki={xs:"w-2 h-2",sm:"w-2.5 h-2.5",md:"w-3 h-3",lg:"w-3.5 h-3.5",xl:"w-4 h-4"},lh={xs:"min-w-4 h-4 text-[10px] px-1",sm:"min-w-5 h-5 text-xs px-1",md:"min-w-5 h-5 text-xs px-1.5",lg:"min-w-6 h-6 text-sm px-1.5",xl:"min-w-7 h-7 text-sm px-2"},Ci={"top-left":"top-0 left-0 -translate-x-1/2 -translate-y-1/2","top-center":"top-0 left-1/2 -translate-x-1/2 -translate-y-1/2","top-right":"top-0 right-0 translate-x-1/2 -translate-y-1/2","center-left":"top-1/2 left-0 -translate-x-1/2 -translate-y-1/2",center:"top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2","center-right":"top-1/2 right-0 translate-x-1/2 -translate-y-1/2","bottom-left":"bottom-0 left-0 -translate-x-1/2 translate-y-1/2","bottom-center":"bottom-0 left-1/2 -translate-x-1/2 translate-y-1/2","bottom-right":"bottom-0 right-0 translate-x-1/2 translate-y-1/2"},wi={"top-left":"top-0 left-0","top-center":"top-0 left-1/2 -translate-x-1/2","top-right":"top-0 right-0","center-left":"top-1/2 left-0 -translate-y-1/2",center:"top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2","center-right":"top-1/2 right-0 -translate-y-1/2","bottom-left":"bottom-0 left-0","bottom-center":"bottom-0 left-1/2 -translate-x-1/2","bottom-right":"bottom-0 right-0"};function dh(e,t){return e>t?`${t}+`:`${e}`}function ch({color:e="primary",size:t="md",placement:r="top-right",bordered:n=false,borderColor:o,pulse:a=false,offset:s=false,className:l,...i}){return jsxRuntime.jsx("span",{"data-testid":"indicator",className:u("absolute z-10 rounded-full",Qa[e],ki[t],s?wi[r]:Ci[r],n&&u("ring-2 ring-white dark:ring-gray-900",o),a&&"animate-pulse",l),...i})}function uh({color:e="error",size:t="md",placement:r="top-right",count:n=0,maxCount:o=99,bordered:a=false,borderColor:s,pulse:l=false,offset:i=false,className:d,...c}){return jsxRuntime.jsx("span",{"data-testid":"indicator",className:u("absolute z-10 inline-flex items-center justify-center rounded-full font-semibold text-white",Qa[e],lh[t],i?wi[r]:Ci[r],a&&u("ring-2 ring-white dark:ring-gray-900",s),l&&"animate-pulse",d),...c,children:dh(n,o)})}function ph({color:e="success",size:t="md",placement:r="bottom-right",bordered:n=true,borderColor:o,pulse:a=false,offset:s=false,className:l,...i}){return jsxRuntime.jsx("span",{"data-testid":"indicator",className:u("absolute z-10 rounded-full",Qa[e],ki[t],s?wi[r]:Ci[r],n&&u("ring-2 ring-white dark:ring-gray-900",o),a&&"animate-pulse",l),...i})}function mh({color:e="primary",size:t="sm",label:r,className:n,...o}){return jsxRuntime.jsxs("span",{"data-testid":"indicator",className:u("inline-flex items-center gap-2",n),...o,children:[jsxRuntime.jsx("span",{className:u("rounded-full shrink-0",Qa[e],ki[t])}),r?jsxRuntime.jsx("span",{className:"text-sm text-gray-700 dark:text-gray-300",children:r}):null]})}function fc({variant:e="dot",children:t,...r}){if(e==="legend")return jsxRuntime.jsx(mh,{...r});let n=(()=>{switch(e){case "count":return jsxRuntime.jsx(uh,{...r});case "status":return jsxRuntime.jsx(ph,{...r});default:return jsxRuntime.jsx(ch,{...r})}})();return t?jsxRuntime.jsxs("div",{className:"relative inline-flex",children:[t,n]}):n}fc.displayName="Indicator";var gh={xs:"text-xs",sm:"text-sm",md:"text-sm",lg:"text-base",xl:"text-lg"},hc={xs:"w-3 h-3",sm:"w-3.5 h-3.5",md:"w-4 h-4",lg:"w-4.5 h-4.5",xl:"w-5 h-5"},fh={normal:"font-normal",medium:"font-medium",semibold:"font-semibold",bold:"font-bold"},bh={default:{default:"text-gray-700 dark:text-gray-200",light:"text-gray-500 dark:text-gray-400",strong:"text-gray-900 dark:text-white"},primary:{default:"text-blue-600 dark:text-blue-400",light:"text-blue-400 dark:text-blue-300",strong:"text-blue-700 dark:text-blue-300"},secondary:{default:"text-purple-600 dark:text-purple-400",light:"text-purple-400 dark:text-purple-300",strong:"text-purple-700 dark:text-purple-300"},success:{default:"text-green-600 dark:text-green-400",light:"text-green-400 dark:text-green-300",strong:"text-green-700 dark:text-green-300"},warning:{default:"text-yellow-600 dark:text-yellow-400",light:"text-yellow-400 dark:text-yellow-300",strong:"text-yellow-700 dark:text-yellow-300"},error:{default:"text-red-600 dark:text-red-400",light:"text-red-400 dark:text-red-300",strong:"text-red-700 dark:text-red-300"},info:{default:"text-cyan-600 dark:text-cyan-400",light:"text-cyan-400 dark:text-cyan-300",strong:"text-cyan-700 dark:text-cyan-300"},muted:{default:"text-gray-500 dark:text-gray-400",light:"text-gray-400 dark:text-gray-500",strong:"text-gray-600 dark:text-gray-300"}};function xc({children:e,size:t="md",color:r="default",variant:n="default",weight:o="medium",textColor:a,required:s=false,requiredIndicator:l="*",optional:i=false,optionalText:d="(optional)",tooltip:c,icon:p,endIcon:f,disabled:m=false,truncate:g=false,as:x="label",className:b,...v}){let y=x,M=u("inline-flex items-center gap-1.5 transition-colors",gh[t],fh[o]),w=a||bh[r][n];return jsxRuntime.jsxs(y,{className:u(M,w,m?"opacity-50 cursor-not-allowed":"cursor-default",b),title:c,"aria-disabled":m,...v,children:[p&&jsxRuntime.jsx("span",{className:u("shrink-0",hc[t]),children:p}),jsxRuntime.jsxs("span",{className:u(g&&"truncate"),children:[e,s&&jsxRuntime.jsx("span",{className:"text-red-500 ml-0.5","aria-hidden":"true",children:l}),s&&jsxRuntime.jsx("span",{className:"sr-only",children:"(required)"})]}),i&&!s&&jsxRuntime.jsx("span",{className:"text-gray-400 dark:text-gray-500 font-normal",children:d}),f&&jsxRuntime.jsx("span",{className:u("shrink-0",hc[t]),children:f})]})}xc.displayName="Label";var xh=2,vh=2,kh=12,Ch=16,vc="cell:",kc=false,wh=js.memo(function({cells:t,radius:r}){return jsxRuntime.jsx("g",{children:t.map(n=>jsxRuntime.jsxs("g",{children:[jsxRuntime.jsx("rect",{x:n.x,y:n.y,width:n.width,height:n.height,rx:r,fill:n.missing?void 0:n.color,className:n.missing?"fill-gray-100 dark:fill-gray-800":void 0}),n.label?jsxRuntime.jsx("text",{x:n.x+n.width/2,y:n.y+n.height/2,textAnchor:"middle",dominantBaseline:"central",className:u("text-[10px] [font-variant-numeric:tabular-nums]",n.onDark?"fill-gray-50 dark:fill-gray-900":"fill-gray-900 dark:fill-gray-50"),children:n.label}):null]},n.key))})});function Nh({width:e,height:t,columns:r,rows:n,lookup:o,colorScale:a,x:s,y:l,size:i,cellGap:d,cellRadius:c,showValues:p,tooltip:f,plotLabel:m,formatValue:g,formatX:x,formatY:b,onCellClick:v}){let[y,M]=js.useState(null),w=js.useMemo(()=>{let I=r.map((A,B)=>x(A,B)),W=n.map((A,B)=>b(A,B)),O={top:8,right:8,bottom:s.hidden?8:s.height??24+(s.label?16:0),left:l.hidden?8:l.height??br(W)+kh+(l.label?16:0)},L=Math.max(0,e-O.left-O.right),T=Math.max(0,t-O.top-O.bottom),S=Rn(r.map((A,B)=>B),[0,L],{paddingInner:0,paddingOuter:0}),C=Rn(n.map((A,B)=>B),[0,T],{paddingInner:0,paddingOuter:0}),N=Math.max(0,S.bandwidth-d),R=Math.max(0,C.bandwidth-d),$=[];n.forEach((A,B)=>{r.forEach((U,Q)=>{let Y=o.get(`${dt(U)}|${dt(A)}`)?.value??null,z=null;if(p&&Y!==null&&R>=Ch){let X=g(Y);Sn(X,10)+6<=N&&(z=X);}$.push({key:`${Q}-${B}`,column:Q,row:B,x:S(Q)+d/2,y:C(B)+d/2,width:N,height:R,color:Y===null?"transparent":a(Y),label:z,onDark:Y!==null&&a.onDark(Y),missing:Y===null});});});let H=Io(I.length,L,br(I)),K=Io(W.length,T,15),_=s.hidden?[]:I.map((A,B)=>({value:r[B],offset:S.center(B),label:A})).filter((A,B)=>B%H===0),F=l.hidden?[]:W.map((A,B)=>({value:n[B],offset:C.center(B),label:A})).filter((A,B)=>B%K===0);return {margin:O,innerWidth:L,innerHeight:T,columnScale:S,rowScale:C,cells:$,columnTicks:_,rowTicks:F}},[r,n,o,a,s,l,e,t,d,p,g,x,b]),P=js.useCallback((I,W)=>{let O=r[I],L=n[W],T=o.get(`${dt(O)}|${dt(L)}`),S=T?.value??null;return {x:O,y:L,xLabel:x(O,I),yLabel:b(L,W),value:S,formattedValue:S===null?"\u2014":g(S),color:S===null?"transparent":a(S),datum:T?.datum}},[r,n,o,a,g,x,b]),h=js.useCallback(I=>{if(f===false||r.length===0||n.length===0)return;let W=I.currentTarget.getBoundingClientRect(),O=I.clientX-W.left-w.margin.left,L=I.clientY-W.top-w.margin.top,T=Math.floor(O/(w.columnScale.step||1)),S=Math.floor(L/(w.rowScale.step||1));if(T<0||T>=r.length||S<0||S>=n.length){M(null);return}M(C=>C?.column===T&&C.row===S?C:{column:T,row:S});},[f,r.length,n.length,w.margin,w.columnScale,w.rowScale]),E=js.useCallback(I=>{if(r.length===0||n.length===0)return;let W=y??{column:0,row:0},O;switch(I.key){case "ArrowRight":O={...W,column:Math.min(r.length-1,W.column+1)};break;case "ArrowLeft":O={...W,column:Math.max(0,W.column-1)};break;case "ArrowDown":O={...W,row:Math.min(n.length-1,W.row+1)};break;case "ArrowUp":O={...W,row:Math.max(0,W.row-1)};break;case "Home":O={...W,column:0};break;case "End":O={...W,column:r.length-1};break;case "Escape":O=null;break;default:O=void 0;}O!==void 0&&(I.preventDefault(),M(O));},[r.length,n.length,y]),D=js.useCallback(()=>{!v||!y||v(P(y.column,y.row));},[v,y,P]),k=y?P(y.column,y.row):null;return jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsxs("svg",{width:e,height:t,role:"img","aria-label":m??`${s.label??s.key} / ${l.label??l.key}`,tabIndex:0,className:"touch-none focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-blue-500",onPointerMove:h,onPointerLeave:()=>M(null),onKeyDown:E,onBlur:()=>M(null),onClick:D,children:[jsxRuntime.jsxs("g",{transform:`translate(${w.margin.left}, ${w.margin.top})`,children:[jsxRuntime.jsx(wh,{cells:w.cells,radius:c}),y?jsxRuntime.jsx("rect",{x:w.columnScale(y.column)+d/2,y:w.rowScale(y.row)+d/2,width:Math.max(0,w.columnScale.bandwidth-d),height:Math.max(0,w.rowScale.bandwidth-d),rx:c,fill:"none",strokeWidth:2,className:"stroke-gray-900 dark:stroke-white","aria-hidden":"true"}):null]}),jsxRuntime.jsx("g",{transform:`translate(${w.margin.left}, ${w.margin.top+w.innerHeight})`,children:s.hidden?null:jsxRuntime.jsx(St,{orientation:"bottom",ticks:w.columnTicks,length:w.innerWidth,showLine:false,tickSize:0,label:s.label,size:i})}),jsxRuntime.jsx("g",{transform:`translate(${w.margin.left}, ${w.margin.top})`,children:l.hidden?null:jsxRuntime.jsx(St,{orientation:"left",ticks:w.rowTicks,length:w.innerHeight,showLine:false,tickSize:0,label:l.label,size:i})})]}),y&&k&&f!==false?jsxRuntime.jsx(jt,{x:w.margin.left+w.columnScale.center(y.column),y:w.margin.top+w.rowScale.center(y.row),containerWidth:e,children:typeof f=="function"?f(k):jsxRuntime.jsxs("div",{className:"flex flex-col gap-1",children:[jsxRuntime.jsxs("div",{className:"font-medium text-gray-900 dark:text-gray-100",children:[k.yLabel," \xB7 ",k.xLabel]}),jsxRuntime.jsxs("div",{className:"flex items-center gap-2",children:[jsxRuntime.jsx("span",{className:"h-2.5 w-2.5 shrink-0 rounded-sm",style:{backgroundColor:k.color},"aria-hidden":"true"}),jsxRuntime.jsx("span",{className:"font-semibold text-gray-900 [font-variant-numeric:tabular-nums] dark:text-gray-100",children:k.formattedValue})]})]})}):null]})}function Cc(e,t,r){if(r)return r;let n=new Map;return e.forEach((o,a)=>{let s=Ut(o,t,a),l=dt(s);n.has(l)||n.set(l,s);}),[...n.values()]}function Sh({data:e,x:t,y:r,value:n,format:o,domain:a,scale:s="sequential",center:l=0,steps:i,colors:d,xDomain:c,yDomain:p,cellGap:f=xh,cellRadius:m=vh,showValues:g=false,height:x=280,width:b,size:v="md",legend:y=true,legendLabel:M,tooltip:w=true,tableView:P=false,title:h,description:E,loading:D=false,emptyState:k,locale:I,plotLabel:W,onCellClick:O,className:L,...T}){i!==void 0&&i>Ta&&!kc&&(kc=true,console.warn(`[@synertech/ui] A Heatmap was cut into ${i} colour classes. Past ${Ta} two neighbouring cells stop being tellable apart: leave \`steps\` unset and let the ramp stay continuous.`));let S=js.useMemo(()=>Cc(e,t.key,c),[e,t.key,c]),C=js.useMemo(()=>Cc(e,r.key,p),[e,r.key,p]),N=js.useMemo(()=>{let U=new Map;return e.forEach((Q,J)=>{let Y=et(Q,n);if(Y===null)return;let z=Ut(Q,t.key,J),X=Ut(Q,r.key,J);U.set(`${dt(z)}|${dt(X)}`,{value:Y,datum:Q});}),U},[e,t.key,r.key,n]),R=js.useMemo(()=>o??(U=>vt(U,I)),[o,I]),$=js.useMemo(()=>t.format??(U=>bt(U,I)),[t.format,I]),H=js.useMemo(()=>r.format??(U=>bt(U,I)),[r.format,I]),K=js.useMemo(()=>{let U=a??Ot([...N.values()].map(Q=>Q.value))??[0,1];return s==="diverging"?qn(U,{center:l,steps:i,colors:d}):Bs(U,{steps:i,colors:d})},[a,N,s,l,i,d]),_=js.useMemo(()=>C.map(U=>{let Q={[r.key]:U};return S.forEach(J=>{Q[`${vc}${dt(J)}`]=N.get(`${dt(J)}|${dt(U)}`)?.value??null;}),Q}),[C,S,N,r.key]),F=js.useMemo(()=>S.map((U,Q)=>({key:`${vc}${dt(U)}`,label:$(U,Q)})),[S,$]),A=y!==false,B=typeof y=="string"?y:"bottom";return jsxRuntime.jsx(Kt,{title:h,description:E,height:x,width:b,size:v,loading:D,empty:N.size===0,emptyState:k,tableView:P,legendPosition:B,legend:A?jsxRuntime.jsx(Bo,{scale:K,label:M,format:R,size:v,locale:I}):void 0,table:P?jsxRuntime.jsx(Yt,{data:_,series:F,xKey:r.key,xLabel:r.label??r.key,formatX:H,formatValue:R,caption:typeof h=="string"?h:void 0}):void 0,className:L,...T,children:({width:U})=>jsxRuntime.jsx(Nh,{width:U,height:x,columns:S,rows:C,lookup:N,colorScale:K,x:t,y:r,size:v,cellGap:f,cellRadius:m,showValues:g,tooltip:w,plotLabel:W,formatValue:R,formatX:$,formatY:H,onCellClick:O})})}var Ph=24,Eh=10,Dh=10,Mh=js.memo(function({lines:t,showMarkers:r}){return jsxRuntime.jsx("g",{children:t.map(n=>jsxRuntime.jsxs("g",{children:[n.solid?jsxRuntime.jsx("path",{d:n.solid,fill:"none",stroke:n.color,strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"}):null,n.dashed?jsxRuntime.jsx("path",{d:n.dashed,fill:"none",stroke:n.color,strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round",strokeDasharray:"5 4"}):null,r?n.markers.map(o=>jsxRuntime.jsx("circle",{cx:o.x,cy:o.y,r:3,fill:n.color,strokeWidth:2,className:"stroke-white dark:stroke-gray-800"},`${o.x}-${o.y}`)):null]},n.key))})});function Ih({width:e,height:t,data:r,resolvedSeries:n,x:o,y:a,grid:s,size:l,curve:i,forecastFrom:d,forecastLabel:c,markers:p,connectNulls:f,referenceLines:m,margin:g,tooltip:x,onPointClick:b,plotLabel:v,formatValue:y,formatX:M}){let[w,P]=js.useState(null),h=js.useMemo(()=>{let T=n.filter(K=>!K.hidden),S=cn({width:e,height:t,data:r,x:o,y:a,bounds:Ot(ir(r,T.map(K=>K.key))),margin:g,placement:"point",formatValue:y,formatX:M,extraTop:c?Eh:0}),C=S.categoryCenters,N=S.valueScale,R=d===void 0?-1:S.xValues.findIndex(K=>dt(K)===dt(d)),$=T.map(K=>{let _=r.map((B,U)=>{let Q=et(B,K.key);return {x:C[U],y:Q===null?Number.NaN:N(Q),defined:Q!==null}}),F={connectNulls:f},A=R>=0;return {key:K.key,color:K.color,solid:K.dashed?"":Yr(A?_.slice(0,R+1):_,i,F),dashed:K.dashed?Yr(_,i,F):A?Yr(_.slice(R),i,F):"",markers:_.filter(B=>B.defined!==false)}}),H=r.length>1?S.innerWidth/(r.length-1):0;return {visible:T,xValues:S.xValues,xPositions:C,xTicks:S.categoryTicks,yTicks:S.valueTicks,yScale:N,innerWidth:S.innerWidth,innerHeight:S.innerHeight,margin:S.margin,lines:$,forecastIndex:R,showMarkers:p==="always"||p==="auto"&&H>=Ph&&r.length>1}},[r,n,o,a,e,t,g,i,f,d,c,p,y,M]),E=js.useCallback(T=>h.visible.map(S=>{let C=et(r[T],S.key);return {seriesKey:S.key,seriesLabel:Bt(S),color:S.color,value:C,formattedValue:C===null?"\u2014":y(C),datum:r[T]}}),[r,h.visible,y]),D=js.useCallback(T=>{if(x===false||r.length===0)return;let S=T.currentTarget.getBoundingClientRect(),C=T.clientX-S.left-h.margin.left,N=dn(h.xPositions,C);P(N>=0?N:null);},[x,r.length,h.margin.left,h.xPositions]),k=js.useCallback(T=>{if(r.length===0)return;let S=r.length-1,C=w??0,N=T.key==="ArrowRight"?Math.min(S,C+1):T.key==="ArrowLeft"?Math.max(0,C-1):T.key==="Home"?0:T.key==="End"?S:T.key==="Escape"?null:void 0;N!==void 0&&(T.preventDefault(),P(N));},[r.length,w]),I=js.useCallback(()=>{if(!b||w===null)return;let[T]=E(w);T&&b({...T,index:w,x:h.xValues[w]});},[b,w,E,h.xValues]),W=w===null?null:E(w),O=(W??[]).filter(T=>T.value!==null),L=w===null||W===null?null:{x:h.xValues[w],xLabel:M(h.xValues[w],w),index:w,points:W};return jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsxs("svg",{width:e,height:t,role:"img","aria-label":v??h.visible.map(T=>Bt(T)).join(", "),tabIndex:0,className:"touch-none focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-blue-500",onPointerMove:D,onPointerLeave:()=>P(null),onKeyDown:k,onBlur:()=>P(null),onClick:I,children:[jsxRuntime.jsxs("g",{transform:`translate(${h.margin.left}, ${h.margin.top})`,children:[jsxRuntime.jsx(Kr,{width:h.innerWidth,height:h.innerHeight,horizontal:s==="y"||s==="both"?h.yTicks.map(T=>T.offset):void 0,vertical:s==="x"||s==="both"?h.xTicks.map(T=>T.offset):void 0}),m?.map(T=>{let S=h.yScale(T.value),C=S<Dh?S+12:S-4;return jsxRuntime.jsxs("g",{children:[jsxRuntime.jsx("line",{x1:0,y1:S,x2:h.innerWidth,y2:S,stroke:T.color??"var(--color-chart-muted)",strokeWidth:1,strokeDasharray:T.dashed===false?void 0:"4 4"}),T.label?jsxRuntime.jsx("text",{x:h.innerWidth,y:C,textAnchor:"end",className:"fill-gray-500 text-[10px] dark:fill-gray-400",children:T.label}):null]},`${T.value}-${T.label??""}`)}),h.forecastIndex>=0?jsxRuntime.jsxs("g",{children:[jsxRuntime.jsx("line",{x1:h.xPositions[h.forecastIndex],y1:0,x2:h.xPositions[h.forecastIndex],y2:h.innerHeight,className:"stroke-gray-300 dark:stroke-gray-600",strokeWidth:1,strokeDasharray:"3 3"}),c?jsxRuntime.jsx("text",{x:h.xPositions[h.forecastIndex]+4,y:-2,className:"fill-gray-500 text-[10px] dark:fill-gray-400",children:c}):null]}):null,jsxRuntime.jsx(Mh,{lines:h.lines,showMarkers:h.showMarkers}),w!==null?jsxRuntime.jsxs("g",{"aria-hidden":"true",children:[jsxRuntime.jsx("line",{x1:h.xPositions[w],y1:0,x2:h.xPositions[w],y2:h.innerHeight,className:"stroke-gray-400 dark:stroke-gray-500",strokeWidth:1}),O.map(T=>jsxRuntime.jsx("circle",{cx:h.xPositions[w],cy:h.yScale(T.value),r:4,fill:T.color,strokeWidth:2,className:"stroke-white dark:stroke-gray-800"},T.seriesKey))]}):null]}),jsxRuntime.jsx("g",{transform:`translate(${h.margin.left}, ${h.margin.top+h.innerHeight})`,children:o.hidden?null:jsxRuntime.jsx(St,{orientation:"bottom",ticks:h.xTicks,length:h.innerWidth,label:o.label,size:l})}),jsxRuntime.jsx("g",{transform:`translate(${h.margin.left}, ${h.margin.top})`,children:a?.hidden?null:jsxRuntime.jsx(St,{orientation:"left",ticks:h.yTicks,length:h.innerHeight,showLine:false,label:a?.label,size:l})})]}),L&&x!==false?jsxRuntime.jsx(jt,{x:h.margin.left+h.xPositions[L.index],y:h.margin.top+(O.length>0?Math.min(...O.map(T=>h.yScale(T.value))):h.innerHeight/2),containerWidth:e,children:typeof x=="function"?x(L):jsxRuntime.jsx(vr,{title:L.xLabel,points:L.points})}):null]})}function Lh({data:e,series:t,x:r,y:n,height:o=240,width:a,size:s="md",grid:l="y",legend:i,tooltip:d=true,tableView:c=false,emphasis:p,title:f,description:m,loading:g=false,emptyState:x,onPointClick:b,curve:v="monotone",forecastFrom:y,forecastLabel:M,markers:w="auto",connectNulls:P=false,referenceLines:h,legendToggle:E=true,margin:D,locale:k,plotLabel:I,className:W,...O}){let[L,T]=js.useState(()=>new Set),S=js.useMemo(()=>t.map((_,F)=>({..._,hidden:_.hidden||L.has(_.key),color:Ir(_,F,p)})),[t,L,p]),C=js.useMemo(()=>n?.format??(_=>vt(_,k)),[n?.format,k]),N=js.useMemo(()=>r.format??(_=>r.scale==="time"?bt(_ instanceof Date?_:new Date(Lr(_)),k):bt(_,k)),[r.format,r.scale,k]),R=js.useCallback(_=>{T(F=>{let A=new Set(F);return A.has(_)?A.delete(_):A.add(_),A});},[]),$=i===void 0?t.length>=2:i!==false,H=typeof i=="string"?i:"bottom",K=S.filter(_=>!_.hidden).length;return jsxRuntime.jsx(Kt,{title:f,description:m,height:o,width:a,size:s,loading:g,empty:e.length===0||K===0,emptyState:x,tableView:c,legendPosition:H,legend:$?jsxRuntime.jsx(yr,{items:Ur(S,p),position:H,marker:"line",size:s,onToggle:E?R:void 0}):void 0,table:c?jsxRuntime.jsx(Yt,{data:e,series:S,xKey:r.key,xLabel:r.label??r.key,formatX:N,formatValue:C,caption:typeof f=="string"?f:void 0}):void 0,className:W,...O,children:({width:_})=>jsxRuntime.jsx(Ih,{width:_,height:o,data:e,resolvedSeries:S,x:r,y:n,grid:l,size:s,curve:v,forecastFrom:y,forecastLabel:M,markers:w,connectNulls:P,referenceLines:h,margin:D,tooltip:d,onPointClick:b,plotLabel:I,formatValue:C,formatX:N})})}var Fh={sm:"max-w-sm",md:"max-w-2xl",lg:"max-w-4xl",xl:"max-w-6xl",full:"max-w-full"},rn=js.forwardRef(({isOpen:e,onClose:t,title:r="Modal Title",children:n,buttonLabel:o,onButtonClick:a,className:s,allowFullScreen:l=false,showSubmit:i=true,submitLabel:d,onSubmitClick:c,showCancel:p=false,cancelLabel:f,onCancelClick:m,buttonsPosition:g="right",showHeaderDivider:x=true,showFooterDivider:b=true,description:v,icon:y,size:M="md",reverseButtons:w=false,headerClassName:P,contentClassName:h,footerClassName:E,titleClassName:D,descriptionClassName:k,submitClassName:I,cancelClassName:W,closeLabel:O,enterFullScreenLabel:L,exitFullScreenLabel:T,"aria-label":S,closeOnEscape:C=true,trapFocus:N=true,initialFocus:R,returnFocus:$,lockScroll:H=true},K)=>{let[_,F]=js.useState(false),A=At(),B=js.useId(),U=`${B}-title`,Q=`${B}-description`,{dialogRef:J,dialogProps:Y}=An({open:e,onClose:t,closeOnEscape:C,trapFocus:N,initialFocus:R,returnFocus:$,lockScroll:H});if(!e)return null;let z=o??d??A.confirm,X=f??A.cancel,ne=O??A.closeModal,re=_?T??A.exitFullScreen:L??A.enterFullScreen,q=a??c,de=async()=>{q&&await q(),t();},xe=async()=>{m&&await m(),t();};return jsxRuntime.jsx("div",{className:u("overflow-y-auto overflow-x-hidden fixed inset-0 z-50 flex items-center justify-center bg-black/30 backdrop-blur-sm",s),"aria-hidden":!e,children:jsxRuntime.jsx("div",{className:u("relative p-4 w-full max-h-full transition-all duration-300",_?"max-w-full h-full p-0":Fh[M]),ref:K,children:jsxRuntime.jsxs("div",{...Y,ref:J,"aria-labelledby":r?U:void 0,"aria-label":r?void 0:S,"aria-describedby":v?Q:void 0,className:u("relative bg-white shadow dark:bg-gray-700 border-b-4 transition-all duration-300 focus:outline-none",_?"rounded-none h-full flex flex-col":"rounded-lg"),children:[jsxRuntime.jsxs("div",{className:u("flex items-center justify-between p-4 md:p-5 rounded-t",x&&"border-b border-gray-200 dark:border-gray-600",P),children:[jsxRuntime.jsxs("div",{className:"flex items-center gap-3",children:[y&&jsxRuntime.jsx("div",{className:"shrink-0 text-gray-500 dark:text-gray-400",children:y}),jsxRuntime.jsxs("div",{children:[jsxRuntime.jsx("h3",{id:U,className:u("text-xl font-semibold text-gray-900 dark:text-white",D),children:r}),v&&jsxRuntime.jsx("p",{id:Q,className:u("mt-1 text-sm text-gray-500 dark:text-gray-400",k),children:v})]})]}),jsxRuntime.jsxs("div",{className:"flex items-center gap-1 ms-auto",children:[l&&jsxRuntime.jsx("button",{type:"button",onClick:()=>F(ke=>!ke),className:"text-gray-400 bg-transparent hover:bg-gray-200 hover:text-gray-900 rounded-lg text-sm w-8 h-8 inline-flex justify-center items-center dark:hover:bg-gray-600 dark:hover:text-white","aria-label":re,children:_?jsxRuntime.jsx("svg",{className:"w-3.5 h-3.5","aria-hidden":"true",xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 18 18",children:jsxRuntime.jsx("path",{stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"2",d:"M7 1H1v6m16 0V1h-6m0 16h6v-6M1 11v6h6"})}):jsxRuntime.jsx("svg",{className:"w-3.5 h-3.5","aria-hidden":"true",xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 18 18",children:jsxRuntime.jsx("path",{stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"2",d:"M11 1h6v6M1 11v6h6m0-12L1 1m16 16-6-6"})})}),jsxRuntime.jsxs("button",{type:"button",onClick:t,className:"text-gray-400 bg-transparent hover:bg-gray-200 hover:text-gray-900 rounded-lg text-sm w-8 h-8 inline-flex justify-center items-center dark:hover:bg-gray-600 dark:hover:text-white",children:[jsxRuntime.jsx("svg",{className:"w-3 h-3","aria-hidden":"true",xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 14 14",children:jsxRuntime.jsx("path",{stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"2",d:"m1 1 6 6m0 0 6 6M7 7l6-6M7 7l-6 6"})}),jsxRuntime.jsx("span",{className:"sr-only",children:ne})]})]})]}),jsxRuntime.jsx("div",{className:u("p-4 md:p-5 space-y-4",_&&"flex-1 overflow-y-auto",h),children:n}),(i||p)&&jsxRuntime.jsxs("div",{className:u("flex items-center gap-2 p-4 md:p-5 rounded-b",b&&"border-t border-gray-200 dark:border-gray-600",g==="right"?"justify-end":g==="center"?"justify-center":"justify-start",w&&"flex-row-reverse",E),children:[p&&jsxRuntime.jsx("button",{type:"button",onClick:xe,className:u("text-gray-500 bg-white hover:bg-gray-100 focus:ring-4 focus:outline-none focus:ring-gray-200 font-medium rounded-lg text-sm px-5 py-2.5 border border-gray-200 dark:bg-gray-700 dark:text-gray-300 dark:border-gray-500 dark:hover:bg-gray-600 dark:hover:text-white",W),children:X}),i&&jsxRuntime.jsx("button",{type:"button",onClick:de,className:u("text-white bg-blue-600 hover:bg-blue-700 focus:ring-4 focus:outline-none focus:ring-blue-300 font-medium rounded-lg text-sm px-5 py-2.5 text-center dark:bg-blue-500 dark:hover:bg-blue-600",I),children:z})]})]})})})});rn.displayName="Modal";function Oh(e,t,r,n){let o=r*2+1+n*2+2;if(t<=o)return Array.from({length:t},(f,m)=>m+1);let a=Array.from({length:n},(f,m)=>m+1).filter(f=>f<=t),s=Array.from({length:n},(f,m)=>t-n+1+m).filter(f=>f>=1),l=Math.max(e-r,n+1),i=Math.min(e+r,t-n),d=l>n+2,c=i<t-n-1,p=[];for(let f of a)p.push(f);if(d)p.push("ellipsis");else for(let f=n+1;f<l;f++)p.push(f);for(let f=l;f<=i;f++)p.push(f);if(c)p.push("ellipsis");else for(let f=i+1;f<=t-n;f++)p.push(f);for(let f of s)p.includes(f)||p.push(f);return p}function $h({className:e}){return jsxRuntime.jsx("svg",{className:e,fill:"none",stroke:"currentColor",viewBox:"0 0 24 24","aria-hidden":"true",children:jsxRuntime.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M15 19l-7-7 7-7"})})}function _h({className:e}){return jsxRuntime.jsx("svg",{className:e,fill:"none",stroke:"currentColor",viewBox:"0 0 24 24","aria-hidden":"true",children:jsxRuntime.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M9 5l7 7-7 7"})})}function Xh({className:e}){return jsxRuntime.jsx("svg",{className:e,fill:"none",stroke:"currentColor",viewBox:"0 0 24 24","aria-hidden":"true",children:jsxRuntime.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M11 19l-7-7 7-7M18 19l-7-7 7-7"})})}function Gh({className:e}){return jsxRuntime.jsx("svg",{className:e,fill:"none",stroke:"currentColor",viewBox:"0 0 24 24","aria-hidden":"true",children:jsxRuntime.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M13 5l7 7-7 7M6 5l7 7-7 7"})})}var Kh={sm:{button:"h-7 min-w-7 px-1.5 text-xs",icon:"h-3 w-3",gap:"gap-0.5",text:"text-xs"},md:{button:"h-9 min-w-9 px-2.5 text-sm",icon:"h-4 w-4",gap:"gap-1",text:"text-sm"},lg:{button:"h-11 min-w-11 px-3.5 text-base",icon:"h-5 w-5",gap:"gap-1.5",text:"text-base"}},Uh={default:{base:"rounded-md font-medium transition-colors",idle:"text-gray-700 hover:bg-gray-100 dark:text-gray-300 dark:hover:bg-gray-700",active:"bg-blue-600 text-white hover:bg-blue-700 dark:bg-blue-500 dark:hover:bg-blue-600",disabled:"text-gray-300 cursor-not-allowed dark:text-gray-600"},outlined:{base:"rounded-md border font-medium transition-colors",idle:"border-gray-300 text-gray-700 hover:bg-gray-50 dark:border-gray-600 dark:text-gray-300 dark:hover:bg-gray-800",active:"border-blue-600 bg-blue-50 text-blue-600 hover:bg-blue-100 dark:border-blue-400 dark:bg-blue-900/30 dark:text-blue-400 dark:hover:bg-blue-900/50",disabled:"border-gray-200 text-gray-300 cursor-not-allowed dark:border-gray-700 dark:text-gray-600"},minimal:{base:"rounded-md font-medium transition-colors",idle:"text-gray-600 hover:text-gray-900 dark:text-gray-400 dark:hover:text-gray-200",active:"text-blue-600 font-semibold hover:text-blue-700 dark:text-blue-400 dark:hover:text-blue-300",disabled:"text-gray-300 cursor-not-allowed dark:text-gray-600"}};function Yh({page:e,totalPages:t,onPageChange:r,size:n="md",variant:o="default",showFirstLast:a=false,siblings:s=1,boundaries:l=1,disabled:i=false,labels:d,totalItems:c,pageSize:p,pageSizeOptions:f,onPageSizeChange:m,className:g,...x}){let b=Kh[n],v=Uh[o],y=js.useMemo(()=>Oh(e,t,s,l),[e,t,s,l]),M=js.useCallback(I=>{i||I<1||I>t||I===e||r(I);},[i,t,e,r]),w=e<=1,P=e>=t,h=u("inline-flex items-center justify-center select-none",b.button,v.base),E=(I,W,O,L)=>jsxRuntime.jsx("button",{type:"button",onClick:I,disabled:i||W,"aria-label":O,"aria-disabled":i||W,className:u(h,i||W?v.disabled:v.idle),children:L}),D=c!==void 0&&p?(e-1)*p+1:void 0,k=c!==void 0&&p?Math.min(e*p,c):void 0;return jsxRuntime.jsxs("nav",{"aria-label":"Pagination",className:u("flex items-center",b.gap,g),...x,children:[c!==void 0&&p&&jsxRuntime.jsxs("span",{className:u("mr-2 text-gray-600 dark:text-gray-400 whitespace-nowrap",b.text),children:[D,"\u2013",k," of ",c]}),f&&f.length>0&&m&&jsxRuntime.jsxs("div",{className:u("mr-2 flex items-center whitespace-nowrap",b.gap,b.text),children:[jsxRuntime.jsx("label",{htmlFor:"pagination-page-size",className:"text-gray-600 dark:text-gray-400",children:"Rows:"}),jsxRuntime.jsx("select",{id:"pagination-page-size",value:p,onChange:I=>m(Number(I.target.value)),disabled:i,className:u("rounded border border-gray-300 bg-white px-1.5 py-0.5 dark:border-gray-600 dark:bg-gray-800 dark:text-gray-200",b.text,i&&"cursor-not-allowed opacity-50"),children:f.map(I=>jsxRuntime.jsx("option",{value:I,children:I},I))})]}),jsxRuntime.jsxs("div",{className:u("flex items-center",b.gap),children:[a&&E(()=>M(1),w,d?.first??"Go to first page",jsxRuntime.jsx(Xh,{className:b.icon})),E(()=>M(e-1),w,d?.previous??"Go to previous page",jsxRuntime.jsx($h,{className:b.icon})),y.map((I,W)=>I==="ellipsis"?jsxRuntime.jsx("span",{className:u("inline-flex items-center justify-center select-none",b.button,"text-gray-400 dark:text-gray-500"),"aria-hidden":"true",children:"\u2026"},`ellipsis-${W}`):jsxRuntime.jsx("button",{type:"button",onClick:()=>M(I),disabled:i,"aria-current":I===e?"page":void 0,"aria-label":`Page ${I}`,className:u(h,I===e?v.active:i?v.disabled:v.idle),children:I},I)),E(()=>M(e+1),P,d?.next??"Go to next page",jsxRuntime.jsx(_h,{className:b.icon})),a&&E(()=>M(t),P,d?.last??"Go to last page",jsxRuntime.jsx(Gh,{className:b.icon}))]})]})}var qh=.62,Zh=2,Qh=3,Jh=.16,ey=64,ty=22,Ni=6,Nc=false;function ry({width:e,height:t,slices:r,variant:n,innerRadius:o,showLabels:a,centerLabel:s,tooltip:l,plotLabel:i,formatValue:d,onSliceClick:c}){let[p,f]=js.useState(null),m=js.useMemo(()=>{let h=a?ey:8,E=a?ty:8,D=Math.max(0,Math.min((e-h*2)/2,(t-E*2)/2));return {cx:e/2,cy:t/2,outerRadius:D,inner:n==="donut"?D*(o??qh):(o??0)*D,pad:D>0&&r.length>1?Zh/D/2:0}},[e,t,n,o,a,r.length]),{cx:g,cy:x,outerRadius:b,inner:v,pad:y}=m,M=js.useCallback(h=>{let E=(h.startAngle+h.endAngle)/2,D=Math.sin(E)>=0,k={x:g+Math.sin(E)*(b+4),y:x-Math.cos(E)*(b+4)},I={x:g+Math.sin(E)*(b+14),y:x-Math.cos(E)*(b+14)},W={x:D?I.x+10:I.x-10,y:I.y};return {from:k,elbow:I,end:W,anchor:D?"start":"end"}},[g,x,b]),w=js.useCallback(h=>{if(r.length===0)return;let E=r.length-1,D=p??0,k=h.key==="ArrowRight"||h.key==="ArrowDown"?Math.min(E,D+1):h.key==="ArrowLeft"||h.key==="ArrowUp"?Math.max(0,D-1):h.key==="Home"?0:h.key==="End"?E:h.key==="Escape"?null:void 0;k!==void 0&&(h.preventDefault(),f(k));},[r.length,p]),P=p===null?null:r[p];return jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsxs("svg",{width:e,height:t,role:"img","aria-label":i??r.map(h=>h.label).join(", "),tabIndex:0,className:"touch-none focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-blue-500",onPointerLeave:()=>f(null),onBlur:()=>f(null),onKeyDown:w,children:[r.map((h,E)=>jsxRuntime.jsx("path",{d:Fl({cx:g,cy:x,innerRadius:v,outerRadius:b+(p===E?Qh:0),startAngle:h.startAngle+y,endAngle:Math.max(h.startAngle+y,h.endAngle-y)}),fill:h.color,onPointerEnter:()=>l===false?void 0:f(E),onClick:()=>c?.({key:h.key,label:h.label,value:h.value,share:h.share})},h.key)),a?r.filter(h=>h.endAngle-h.startAngle>=Jh).map(h=>{let{from:E,elbow:D,end:k,anchor:I}=M(h);return jsxRuntime.jsxs("g",{"aria-hidden":"true",children:[jsxRuntime.jsx("polyline",{points:`${E.x},${E.y} ${D.x},${D.y} ${k.x},${k.y}`,fill:"none",className:"stroke-gray-300 dark:stroke-gray-600",strokeWidth:1}),jsxRuntime.jsx("text",{x:I==="start"?k.x+3:k.x-3,y:k.y,textAnchor:I,dominantBaseline:"middle",className:"fill-gray-600 text-[10px] dark:fill-gray-300",children:h.label})]},`label-${h.key}`)}):null,n==="donut"&&s?jsxRuntime.jsxs("g",{"aria-hidden":"true",children:[jsxRuntime.jsx("text",{x:g,y:x-(s.label?2:0),textAnchor:"middle",dominantBaseline:"middle",className:"fill-gray-900 text-lg font-semibold dark:fill-gray-100",children:s.value}),s.label?jsxRuntime.jsx("text",{x:g,y:x+14,textAnchor:"middle",dominantBaseline:"middle",className:"fill-gray-500 text-[10px] dark:fill-gray-400",children:s.label}):null]}):null]}),P&&l!==false?jsxRuntime.jsx(jt,{x:g+Math.sin((P.startAngle+P.endAngle)/2)*(b*.7),y:x-Math.cos((P.startAngle+P.endAngle)/2)*(b*.7),containerWidth:e,children:typeof l=="function"?l({seriesKey:P.key,seriesLabel:P.label,color:P.color,value:P.value,formattedValue:d(P.value),datum:{},share:P.share}):jsxRuntime.jsx(vr,{title:P.label,points:[{seriesKey:P.key,seriesLabel:xr(P.share),color:P.color,value:P.value,formattedValue:d(P.value),datum:{}}]})}):null]})}function ny({data:e,x:t,value:r,variant:n="pie",innerRadius:o,maxSlices:a=Ni,otherLabel:s,sort:l="desc",showLabels:i=true,centerLabel:d,height:c=260,width:p,size:f="md",legend:m,tooltip:g=true,tableView:x=false,title:b,description:v,loading:y=false,emptyState:M,locale:w,plotLabel:P,onSliceClick:h,className:E,...D}){let k=At(),I=js.useCallback(N=>vt(N,w),[w]),W=js.useCallback(N=>t.format?t.format(N,0):bt(N,w),[t,w]),{slices:O,total:L,rows:T}=js.useMemo(()=>{let N=e.map((A,B)=>({key:String(Ut(A,t.key,B)),label:W(Ut(A,t.key,B)),value:et(A,r)??0,color:jn(B),datum:A})),R=l==="none"?N:[...N].sort((A,B)=>l==="asc"?A.value-B.value:B.value-A.value),$=R.slice(0,a),H=R.slice(a);H.length>0&&$.push({key:"__other__",label:s??k.chartOther,value:H.reduce((A,B)=>A+B.value,0),color:Mr,datum:{}}),$.length>Ni&&!Nc&&(Nc=true,console.warn(`[@synertech/ui] A PieChart is drawing ${$.length} slices. Past ${Ni} the slices stop being tellable apart: lower \`maxSlices\`, or use a BarChart, which compares lengths rather than angles.`));let K=$.reduce((A,B)=>A+Math.max(0,B.value),0),_=0;return {slices:$.map(A=>{let B=K===0?0:Math.max(0,A.value)/K,U=_;return _+=B*Math.PI*2,{...A,share:B,startAngle:U,endAngle:_}}),total:K,rows:$.map(A=>({[t.key]:A.label,[r]:A.value}))}},[e,t.key,r,l,a,s,k.chartOther,W]),S=m===void 0?true:m!==false,C=typeof m=="string"?m:"bottom";return jsxRuntime.jsx(Kt,{title:b,description:v,height:c,width:p,size:f,loading:y,empty:O.length===0||L===0,emptyState:M,tableView:x,legendPosition:C,legend:S?jsxRuntime.jsx(yr,{items:O.map(N=>({key:N.key,label:`${N.label} \xB7 ${xr(N.share)}`,color:N.color})),position:C,marker:"rect",size:f}):void 0,table:x?jsxRuntime.jsx(Yt,{data:T,series:[{key:r,label:t.label??r}],xKey:t.key,xLabel:t.label??t.key,formatValue:I,caption:typeof b=="string"?b:void 0}):void 0,className:E,...D,children:({width:N})=>jsxRuntime.jsx(ry,{width:N,height:c,slices:O,variant:n,innerRadius:o,showLabels:i,centerLabel:d,tooltip:g,plotLabel:P,formatValue:I,onSliceClick:h})})}var ay={xs:"h-1",sm:"h-1.5",md:"h-2.5",lg:"h-4",xl:"h-6"},sy={default:"bg-gray-500 dark:bg-gray-400",primary:"bg-blue-600 dark:bg-blue-500",success:"bg-green-600 dark:bg-green-500",warning:"bg-yellow-500 dark:bg-yellow-400",error:"bg-red-600 dark:bg-red-500",info:"bg-cyan-600 dark:bg-cyan-500"},iy={default:"text-gray-700 dark:text-gray-300",primary:"text-blue-600 dark:text-blue-400",success:"text-green-600 dark:text-green-400",warning:"text-yellow-600 dark:text-yellow-400",error:"text-red-600 dark:text-red-400",info:"text-cyan-600 dark:text-cyan-400"},Rc="bg-[repeating-linear-gradient(45deg,transparent,transparent_10px,rgba(255,255,255,0.2)_10px,rgba(255,255,255,0.2)_20px)]",ly={default:"bg-gradient-to-r from-gray-400 to-gray-600",primary:"bg-gradient-to-r from-blue-400 to-blue-700",success:"bg-gradient-to-r from-green-400 to-green-700",warning:"bg-gradient-to-r from-yellow-300 to-yellow-600",error:"bg-gradient-to-r from-red-400 to-red-700",info:"bg-gradient-to-r from-cyan-400 to-cyan-700"};function Pc({value:e=0,indeterminate:t=false,size:r="md",color:n="primary",variant:o="default",showValue:a=false,valueFormat:s,label:l,animated:i=true,className:d,...c}){let p=Math.min(100,Math.max(0,e)),f=o==="gradient"?ly[n]:sy[n],m=s?s(p):`${Math.round(p)}%`;return jsxRuntime.jsxs("div",{className:u("w-full",d),...c,children:[(l||a)&&jsxRuntime.jsxs("div",{className:"flex items-center justify-between mb-1",children:[l&&jsxRuntime.jsx("span",{className:"text-sm font-medium text-gray-700 dark:text-gray-300",children:l}),a&&!t&&jsxRuntime.jsx("span",{className:u("text-sm font-semibold",iy[n],!l&&"ml-auto"),children:m})]}),jsxRuntime.jsx("div",{role:"progressbar","aria-valuenow":t?void 0:p,"aria-valuemin":0,"aria-valuemax":100,"aria-label":l,className:u("relative w-full overflow-hidden rounded-full bg-gray-200 dark:bg-gray-700",ay[r]),children:t?jsxRuntime.jsx("div",{className:u("absolute h-full w-1/3 rounded-full",f,o==="striped"&&Rc,"animate-[progress-indeterminate_1.5s_ease-in-out_infinite]")}):jsxRuntime.jsx("div",{className:u("h-full rounded-full",f,o==="striped"&&Rc,i&&"transition-[width] duration-300 ease-out"),style:{width:`${p}%`}})})]})}Pc.displayName="ProgressBar";var py=e=>({sm:"w-4 h-4",md:"w-5 h-5",lg:"w-6 h-6"})[e],my=e=>({sm:"w-2 h-2",md:"w-2.5 h-2.5",lg:"w-3 h-3"})[e],gy=(e,t,r,n,o,a,s,l)=>{if(t)return u("border-2",n?"":"border-red-500",r&&!o?"bg-red-500":"");switch(e){case "filled":return u("border-2",l?"":"border-gray-300 dark:border-gray-600",r?a?"":"bg-blue-600 border-blue-600 dark:bg-blue-500 dark:border-blue-500":s?"":"bg-gray-200 border-gray-200 dark:bg-gray-700 dark:border-gray-700");case "outlined":return u("border-[3px]",l?"":r?"border-blue-600 dark:border-blue-500":"border-gray-300 dark:border-gray-600","bg-white dark:bg-gray-800");default:return u("border-2",l?"":r?"border-blue-600 dark:border-blue-500":"border-gray-300 dark:border-gray-600","bg-white dark:bg-gray-800")}},fy={},Ec=js.forwardRef(({label:e,description:t,value:r,checked:n,defaultChecked:o=false,onCheckedChange:a,size:s="md",variant:l="default",labelPosition:i="right",error:d=false,disabled:c=false,readOnly:p=false,required:f=false,checkedColor:m,uncheckedColor:g,borderColor:x,labelColor:b,errorColor:v,dotColor:y,hoverColor:M,focusRingColor:w,showFocusRing:P=true,className:h,containerClassName:E,...D},k)=>{let[I,W]=js.useState(o),O=n!==void 0,L=O?n:I,T=js.useId(),S=typeof d=="string"?d:void 0,C=!!d,N=Q=>{if(c||p)return;let J=Q.target.checked;O||W(J),a?.(J);},R=js.useMemo(()=>gy(l,C,L,v,y,m,g,x),[l,C,L,v,y,m,g,x]),$=js.useMemo(()=>{let Q={};return m&&L&&(Q.backgroundColor=m,Q.borderColor=m),g&&!L&&(Q.backgroundColor=g),x&&(Q.borderColor=x),Q},[m,g,x,L]),H=js.useMemo(()=>y?{backgroundColor:y}:{},[y]),K=js.useMemo(()=>b?{color:b}:{},[b]),_=js.useMemo(()=>v?{color:v}:{},[v]),F=b?"":"text-gray-700 dark:text-gray-200",A=v?"":"text-red-500",B=M?"":"hover:border-blue-500 dark:hover:border-blue-400",U=w?"":"focus-visible:ring-blue-500";return jsxRuntime.jsxs("div",{className:u("inline-flex flex-col",E),style:fy,children:[jsxRuntime.jsxs("label",{className:u("inline-flex items-center cursor-pointer",c&&"opacity-50 cursor-not-allowed",p&&"cursor-default",i==="left"&&"flex-row-reverse"),htmlFor:T,children:[jsxRuntime.jsxs("div",{className:"relative inline-flex items-center",children:[jsxRuntime.jsx("input",{ref:k,type:"radio",id:T,value:r,checked:L,onChange:N,disabled:c,readOnly:p,required:f,"aria-invalid":C,"aria-describedby":S?`${T}-error`:void 0,className:"sr-only peer",tabIndex:p?-1:void 0,...D}),jsxRuntime.jsx("div",{className:u("rounded-full transition-all duration-200",py(s),R,!c&&!p&&B,!c&&!p&&P&&"peer-focus-visible:ring-2 ring-offset-2",!c&&!p&&P&&U,h),style:$,children:L&&jsxRuntime.jsx("div",{className:u("rounded-full absolute inset-0 m-auto transition-all duration-200",my(s),y?"":l==="outlined"||l==="default"?"bg-blue-600 dark:bg-blue-500":"bg-white"),style:H})})]}),e&&jsxRuntime.jsxs("span",{className:u("select-none",i==="left"?"mr-2":"ml-2",F,c&&"opacity-50"),style:K,children:[e,f&&jsxRuntime.jsx("span",{className:"text-red-500 ml-1",children:"*"})]})]}),t&&!C&&jsxRuntime.jsx("p",{className:u("text-sm text-gray-500 dark:text-gray-400 mt-1",i==="left"?"text-right":"ml-7"),children:t}),S&&jsxRuntime.jsx("p",{id:`${T}-error`,className:u("text-sm mt-1",i==="left"?"text-right":"ml-7",A),style:_,children:S})]})});Ec.displayName="RadioButton";var Ri=()=>{},vy=[],ky=jsxRuntime.jsx("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",className:"shrink-0",children:jsxRuntime.jsx("path",{d:"M4 6L8 10L12 6",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})}),Cy=jsxRuntime.jsx("svg",{width:"14",height:"14",viewBox:"0 0 14 14",fill:"none","aria-hidden":"true",className:"shrink-0",children:jsxRuntime.jsx("path",{d:"M10.5 3.5L3.5 10.5M3.5 3.5L10.5 10.5",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})}),wy=jsxRuntime.jsxs("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",className:"shrink-0 animate-spin",children:[jsxRuntime.jsx("circle",{cx:"8",cy:"8",r:"6",stroke:"currentColor",strokeWidth:"2",strokeOpacity:"0.25"}),jsxRuntime.jsx("path",{d:"M14 8a6 6 0 00-6-6",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round"})]}),Ny=jsxRuntime.jsx("svg",{width:"14",height:"14",viewBox:"0 0 14 14",fill:"none","aria-hidden":"true",className:"shrink-0",children:jsxRuntime.jsx("path",{d:"M11.5 3.5L5.5 10.5L2.5 7.5",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})}),ia={sm:{trigger:"h-8 px-2.5 text-xs gap-1.5",content:"text-xs",option:"px-2.5 py-1.5",searchInput:"px-2.5 py-1.5 text-xs"},md:{trigger:"h-10 px-3 text-sm gap-2",content:"text-sm",option:"px-3 py-2",searchInput:"px-3 py-2 text-sm"},lg:{trigger:"h-12 px-4 text-base gap-2.5",content:"text-base",option:"px-4 py-2.5",searchInput:"px-4 py-2.5 text-base"}},Dc={default:{trigger:"border border-gray-300 bg-white dark:border-gray-600 dark:bg-gray-800",focus:"focus:ring-2 focus:ring-blue-500 focus:border-blue-500"},outlined:{trigger:"border-2 border-gray-300 bg-transparent dark:border-gray-600",focus:"focus:ring-2 focus:ring-blue-500 focus:border-blue-500"},filled:{trigger:"border border-transparent bg-gray-100 dark:bg-gray-700",focus:"focus:ring-2 focus:ring-blue-500 focus:border-blue-500"}};function bn(...e){let t="";for(let r=0;r<e.length;r++){let n=e[r];n&&(t&&(t+=" "),t+=n);}return t}function Sy(e,t){if(!t)return e;let r=t.toLowerCase();return e.filter(n=>{if(n.label.toLowerCase().includes(r)||n.value.toLowerCase().includes(r))return true;if(n.keywords){for(let o of n.keywords)if(o.toLowerCase().includes(r))return true}return false})}var Ry=js.memo(js.forwardRef(function({option:t,isSelected:r,isHighlighted:n,isDisabled:o,sizeKey:a,optionId:s,onClick:l,onMouseEnter:i,index:d},c){let p=()=>{o||l(t.value);},f=()=>{o||i(d);};return jsxRuntime.jsxs("div",{ref:c,id:s,role:"option","aria-selected":r,"aria-disabled":o||void 0,"data-highlighted":n||void 0,className:bn(ia[a].option,"flex items-center gap-2 cursor-pointer select-none transition-colors",n&&!o&&"bg-blue-50 dark:bg-blue-900/30",r&&!n&&"bg-gray-50 dark:bg-gray-700/50",o&&"opacity-50 cursor-not-allowed"),onClick:p,onMouseEnter:f,children:[t.icon?jsxRuntime.jsx("span",{className:"flex shrink-0 items-center",children:t.icon}):null,jsxRuntime.jsxs("span",{className:"flex flex-col min-w-0 flex-1",children:[jsxRuntime.jsx("span",{className:"truncate",children:t.label}),t.description?jsxRuntime.jsx("span",{className:"text-xs text-gray-500 dark:text-gray-400 truncate",children:t.description}):null]}),r?jsxRuntime.jsx("span",{className:"ml-auto text-blue-600 dark:text-blue-400",children:Ny}):null]})}));function Ty({options:e=vy,value:t,defaultValue:r,onValueChange:n,searchable:o=false,clearable:a=false,disabled:s=false,readOnly:l=false,loading:i=false,size:d="md",variant:c="default",placeholder:p="Select...",label:f,description:m,helperText:g,error:x,required:b=false,noOptionsText:v="No options",onSearchChange:y,name:M,className:w,triggerClassName:P,contentClassName:h,maxHeight:E=256}){let D=js.useId(),k=`${D}-label`,I=`${D}-trigger`,W=`${D}-listbox`,O=js.useRef(null),L=js.useRef(null),T=js.useRef(null),S=js.useRef([]),C=t!==void 0,[N,R]=js.useState(r??""),$=C?t:N,[H,K]=js.useState(false),[_,F]=js.useState(""),[A,B]=js.useState(-1),[U,Q]=js.useState(null),J=js.useMemo(()=>o?Sy(e,_):e,[e,_,o]),Y=js.useMemo(()=>e.find(ie=>ie.value===$)??null,[e,$]),z=js.useMemo(()=>{let ie=new Set;for(let he of e)he.disabled&&ie.add(he.value);return ie},[e]),X=js.useCallback(ie=>{C||R(ie),(n??Ri)(ie),K(false),F(""),B(-1),O.current?.focus();},[C,n]),ne=js.useCallback(ie=>{ie.stopPropagation(),C||R(""),(n??Ri)(""),F(""),O.current?.focus();},[C,n]),re=js.useCallback(()=>{s||l||(K(true),F(""),B(-1));},[s,l]),q=js.useCallback(()=>{K(false),F(""),B(-1),O.current?.focus();},[]),de=js.useCallback(()=>{H?q():re();},[H,q,re]),xe=js.useCallback((ie,he)=>{let Ie=J.length;if(Ie===0)return -1;let xt=ie;for(let Te=0;Te<Ie;Te++)if(xt=((xt+he)%Ie+Ie)%Ie,!z.has(J[xt].value))return xt;return -1},[J,z]),ke=js.useCallback(ie=>{if(!(s||l)){if(H){switch(ie.key){case "ArrowDown":{ie.preventDefault();let he=xe(A,1);he!==-1&&B(he);break}case "ArrowUp":{ie.preventDefault();let he=xe(A,-1);he!==-1&&B(he);break}case "Home":{ie.preventDefault();let he=xe(-1,1);he!==-1&&B(he);break}case "End":{ie.preventDefault();let he=xe(J.length,-1);he!==-1&&B(he);break}case "Enter":{if(ie.preventDefault(),A>=0&&A<J.length){let he=J[A];z.has(he.value)||X(he.value);}break}case " ":if(ie.preventDefault(),A>=0&&A<J.length){let he=J[A];z.has(he.value)||X(he.value);}else q();break;case "Escape":ie.preventDefault(),q();break;case "Tab":q();break}return}switch(ie.key){case "ArrowDown":case "ArrowUp":ie.preventDefault(),re();break;case "Enter":case " ":ie.preventDefault(),re();break}}},[s,l,H,re,q,A,J,z,xe,X]),le=js.useCallback(ie=>{switch(ie.key){case "ArrowDown":{ie.preventDefault();let he=xe(A,1);he!==-1&&B(he);break}case "ArrowUp":{ie.preventDefault();let he=xe(A,-1);he!==-1&&B(he);break}case "Home":{ie.preventDefault();let he=xe(-1,1);he!==-1&&B(he);break}case "End":{ie.preventDefault();let he=xe(J.length,-1);he!==-1&&B(he);break}case "Enter":{if(ie.preventDefault(),A>=0&&A<J.length){let he=J[A];z.has(he.value)||X(he.value);}break}case "Escape":ie.preventDefault(),q();break;case "Tab":q();break}},[A,J,z,xe,X,q]),Se=js.useCallback(ie=>{let he=ie.target.value;F(he),B(-1),(y??Ri)(he);},[y]);js.useEffect(()=>{if(!H)return;let ie=he=>{let Ie=he.target;O.current?.contains(Ie)||L.current?.contains(Ie)||q();};return document.addEventListener("mousedown",ie),document.addEventListener("touchstart",ie,{passive:true}),()=>{document.removeEventListener("mousedown",ie),document.removeEventListener("touchstart",ie);}},[H,q]),js.useEffect(()=>{if(!H||!O.current){Q(null);return}let ie=()=>{let he=O.current;if(!he)return;let Ie=he.getBoundingClientRect(),xt=window.innerHeight-Ie.bottom,Te=Ie.top,Ee=E+8,nt=xt<Ee&&Te>xt?"top":"bottom";Q({top:nt==="bottom"?Ie.bottom+window.scrollY+4:Ie.top+window.scrollY-Ee,left:Ie.left+window.scrollX,width:Ie.width,placement:nt});};return ie(),window.addEventListener("scroll",ie,true),window.addEventListener("resize",ie),()=>{window.removeEventListener("scroll",ie,true),window.removeEventListener("resize",ie);}},[H,E]),js.useEffect(()=>{H&&o&&T.current?.focus();},[H,o]),js.useEffect(()=>{let ie=L.current;if(!(!H||!ie))return Ln(ie,()=>O.current)},[H]),js.useEffect(()=>{if(A>=0){let ie=S.current[A];ie&&typeof ie.scrollIntoView=="function"&&ie.scrollIntoView({block:"nearest"});}},[A]);let Me=$!==""&&$!==void 0,je=a&&Me&&!s&&!l&&!i,at=!s&&!l,$e=bn("w-full flex items-center justify-between rounded-md transition-colors","text-gray-900 dark:text-gray-100",ia[d].trigger,Dc[c].trigger,!x&&at&&Dc[c].focus,x&&"border-red-500 dark:border-red-400 focus:ring-2 focus:ring-red-500 focus:border-red-500",s&&"opacity-50 cursor-not-allowed bg-gray-50 dark:bg-gray-900",l&&"cursor-default",!s&&!l&&"cursor-pointer",P);return jsxRuntime.jsxs("div",{className:bn("flex flex-col gap-1",w),children:[f?jsxRuntime.jsxs("label",{id:k,htmlFor:I,className:"text-sm font-medium text-gray-700 dark:text-gray-300",children:[f,b?jsxRuntime.jsx("span",{className:"text-red-500 ml-0.5","aria-hidden":"true",children:"*"}):null]}):null,m?jsxRuntime.jsx("p",{className:"text-xs text-gray-500 dark:text-gray-400",children:m}):null,jsxRuntime.jsxs("button",{ref:O,id:I,type:"button",role:"combobox","aria-expanded":H,"aria-haspopup":"listbox","aria-controls":H?W:void 0,"aria-labelledby":f?k:void 0,"aria-required":b||void 0,"aria-invalid":x?true:void 0,"aria-activedescendant":H&&A>=0?`${D}-option-${A}`:void 0,disabled:s,className:$e,onClick:at?de:void 0,onKeyDown:ke,children:[jsxRuntime.jsxs("span",{className:bn("flex items-center gap-2 min-w-0 flex-1 truncate",!Me&&"text-gray-400 dark:text-gray-500"),children:[Y?.icon?jsxRuntime.jsx("span",{className:"flex shrink-0 items-center",children:Y.icon}):null,jsxRuntime.jsx("span",{className:"truncate",children:Me&&Y?Y.label:p})]}),jsxRuntime.jsxs("span",{className:"flex items-center gap-1 shrink-0",children:[i?jsxRuntime.jsx("span",{className:"text-gray-400",children:wy}):null,je?jsxRuntime.jsx("span",{role:"button",tabIndex:-1,"aria-label":"Clear selection",className:"text-gray-400 hover:text-gray-600 dark:hover:text-gray-300 p-0.5 rounded transition-colors",onClick:ne,onMouseDown:ie=>ie.preventDefault(),children:Cy}):null,jsxRuntime.jsx("span",{className:bn("text-gray-400 transition-transform duration-200",H&&"rotate-180"),children:ky})]})]}),x?jsxRuntime.jsx("p",{role:"alert",className:"text-xs text-red-500 dark:text-red-400",children:x}):g?jsxRuntime.jsx("p",{className:"text-xs text-gray-500 dark:text-gray-400",children:g}):null,M?jsxRuntime.jsx("input",{type:"hidden",name:M,value:$??""}):null,H&&U?reactDom.createPortal(jsxRuntime.jsxs("div",{ref:L,role:"listbox",id:W,"aria-labelledby":f?k:void 0,className:bn("fixed z-50 bg-white dark:bg-gray-800 border border-gray-200 dark:border-gray-700","rounded-md shadow-lg overflow-hidden","animate-in fade-in-0 zoom-in-95",ia[d].content,h),style:{top:U.top,left:U.left,width:U.width,position:"absolute"},onKeyDown:le,children:[o?jsxRuntime.jsx("div",{className:"border-b border-gray-200 dark:border-gray-700",children:jsxRuntime.jsx("input",{ref:T,type:"text",role:"searchbox","aria-label":"Search options",className:bn(ia[d].searchInput,"w-full outline-none bg-transparent text-gray-900 dark:text-gray-100","placeholder:text-gray-400 dark:placeholder:text-gray-500"),placeholder:"Search...",value:_,onChange:Se,onKeyDown:le})}):null,jsxRuntime.jsx("div",{className:"overflow-y-auto",style:{maxHeight:E},children:J.length===0?jsxRuntime.jsx("div",{className:bn(ia[d].option,"text-gray-500 dark:text-gray-400 text-center py-4"),children:v}):J.map((ie,he)=>jsxRuntime.jsx(Ry,{option:ie,isSelected:ie.value===$,isHighlighted:he===A,isDisabled:i||z.has(ie.value),sizeKey:d,optionId:`${D}-option-${he}`,onClick:X,onMouseEnter:B,index:he,ref:Ie=>{S.current[he]=Ie;}},ie.value))})]}),document.body):null]})}var Pi=js.createContext(null);function On(){let e=js.useContext(Pi);if(!e)throw new Error("Sidebar sub-components must be used within <Sidebar>");return e}function Dy(){return On()}var My=({className:e})=>jsxRuntime.jsx("svg",{className:u("w-4 h-4",e),viewBox:"0 0 20 20",fill:"currentColor","aria-hidden":"true",children:jsxRuntime.jsx("path",{fillRule:"evenodd",d:"M12.79 5.23a.75.75 0 01-.02 1.06L8.832 10l3.938 3.71a.75.75 0 11-1.04 1.08l-4.5-4.25a.75.75 0 010-1.08l4.5-4.25a.75.75 0 011.06.02z",clipRule:"evenodd"})}),Iy=({className:e})=>jsxRuntime.jsx("svg",{className:u("w-4 h-4",e),viewBox:"0 0 20 20",fill:"currentColor","aria-hidden":"true",children:jsxRuntime.jsx("path",{fillRule:"evenodd",d:"M5.23 7.21a.75.75 0 011.06.02L10 11.168l3.71-3.938a.75.75 0 111.08 1.04l-4.25 4.5a.75.75 0 01-1.08 0l-4.25-4.5a.75.75 0 01.02-1.06z",clipRule:"evenodd"})}),Ly=({className:e})=>jsxRuntime.jsx("svg",{className:u("w-5 h-5",e),viewBox:"0 0 20 20",fill:"currentColor","aria-hidden":"true",children:jsxRuntime.jsx("path",{d:"M6.28 5.22a.75.75 0 00-1.06 1.06L8.94 10l-3.72 3.72a.75.75 0 101.06 1.06L10 11.06l3.72 3.72a.75.75 0 101.06-1.06L11.06 10l3.72-3.72a.75.75 0 00-1.06-1.06L10 8.94 6.28 5.22z"})});function Lc({text:e,position:t,children:r}){let[n,o]=js.useState(false),[a,s]=js.useState({top:0,left:0}),l=js.useRef(null);return jsxRuntime.jsxs("div",{ref:l,onMouseEnter:()=>{if(l.current){let d=l.current.getBoundingClientRect();s({top:d.top+d.height/2,left:t==="left"?d.right+8:d.left-8});}o(true);},onMouseLeave:()=>o(false),className:"relative",children:[r,n&&jsxRuntime.jsx("div",{className:u("fixed z-[9999] px-2.5 py-1.5 text-xs font-medium text-white bg-gray-900 dark:bg-gray-700 rounded-md shadow-lg whitespace-nowrap pointer-events-none",t==="right"&&"-translate-x-full"),style:{top:a.top,left:a.left,transform:`translateY(-50%)${t==="right"?" translateX(-100%)":""}`},role:"tooltip",children:e})]})}function Ay({collapsed:e,defaultCollapsed:t=false,onCollapsedChange:r,expandedWidth:n=260,collapsedWidth:o=64,position:a="left",variant:s="default",mobileBreakpoint:l=768,mobileOpen:i,onMobileOpenChange:d,className:c,"aria-label":p,closeLabel:f,trapFocus:m=true,initialFocus:g,returnFocus:x,lockScroll:b=true,children:v}){let y=At(),M=js.useRef(null),w=js.useRef(null),[P,h]=js.useState(t),[E,D]=js.useState(false),[k,I]=js.useState(false),W=e!==void 0,O=W?e:P,L=i!==void 0,T=L?i:E;js.useEffect(()=>{let F=window.matchMedia(`(max-width: ${l}px)`),A=B=>{I(B.matches),B.matches||(L||D(false),d?.(false));};return A(F),F.addEventListener("change",A),()=>F.removeEventListener("change",A)},[l,L,d]);let S=js.useCallback(()=>{if(k){let F=!T;L||D(F),d?.(F);}else {let F=!O;W||h(F),r?.(F);}},[k,T,O,L,W,d,r]),C=js.useCallback(()=>{L||D(false),d?.(false);},[L,d]);js.useEffect(()=>{let F=w.current;F&&(k&&!T?(F.setAttribute("inert",""),F.setAttribute("aria-hidden","true")):(F.removeAttribute("inert"),F.removeAttribute("aria-hidden")));},[k,T]);let{dialogRef:N,dialogProps:R}=An({open:k&&T,onClose:C,trapFocus:m,initialFocus:g,returnFocus:x,lockScroll:b,keepInteractive:[M]}),$={default:"bg-white dark:bg-gray-900",bordered:u("bg-white dark:bg-gray-900",a==="left"?"border-r border-gray-200 dark:border-gray-700":"border-l border-gray-200 dark:border-gray-700"),floating:"bg-white dark:bg-gray-900 m-3 rounded-xl shadow-xl border border-gray-200 dark:border-gray-700"},H=O&&!k?o:n,K=jsxRuntime.jsx("aside",{className:u("flex flex-col h-full overflow-hidden transition-[width] duration-200 ease-in-out",$[s],c),style:{width:k?n:H,minWidth:k?n:H},"data-testid":"sidebar","data-collapsed":O&&!k,"data-mobile":k,"data-position":a,children:v}),_={collapsed:O&&!k,isMobile:k,mobileOpen:T,position:a,variant:s,expandedWidth:n,collapsedWidth:o,toggle:S,closeMobile:C,closeLabel:f};return k?jsxRuntime.jsxs(Pi.Provider,{value:_,children:[T&&jsxRuntime.jsx("div",{ref:M,className:"fixed inset-0 z-40 bg-black/50 transition-opacity",onClick:C,"aria-hidden":"true","data-testid":"sidebar-overlay"}),jsxRuntime.jsx("div",{ref:F=>{w.current=F,N.current=F;},...R,"aria-label":p??y.sidebar,className:u("fixed top-0 z-50 h-full transition-transform duration-200 ease-in-out focus:outline-none",a==="left"?"left-0":"right-0",T?"translate-x-0":a==="left"?"-translate-x-full":"translate-x-full"),children:K})]}):jsxRuntime.jsx(Pi.Provider,{value:_,children:K})}function zy({className:e,children:t}){let r=On(),n=At();return jsxRuntime.jsxs("div",{className:u("flex items-center shrink-0 px-4 h-14 overflow-hidden",r.collapsed&&"justify-center px-2",e),"data-testid":"sidebar-header",children:[t,r.isMobile&&r.mobileOpen&&jsxRuntime.jsx("button",{type:"button",onClick:r.closeMobile,className:"ml-auto p-1 rounded-md text-gray-400 hover:text-gray-600 dark:hover:text-gray-300 hover:bg-gray-100 dark:hover:bg-gray-800 cursor-pointer","aria-label":r.closeLabel??n.closeSidebar,children:jsxRuntime.jsx(Ly,{})})]})}function Wy({className:e,children:t}){return jsxRuntime.jsx("div",{className:u("flex-1 overflow-y-auto overflow-x-hidden py-2",e),"data-testid":"sidebar-content",children:t})}function Hy({className:e,children:t}){let r=On();return jsxRuntime.jsx("div",{className:u("shrink-0 border-t border-gray-200 dark:border-gray-700 px-4 py-3 overflow-hidden",r.collapsed&&"px-2 flex justify-center",e),"data-testid":"sidebar-footer",children:t})}function Fy({label:e,className:t,children:r}){let n=On();return jsxRuntime.jsxs("div",{className:u("py-2",t),"data-testid":"sidebar-group",children:[e&&!n.collapsed&&jsxRuntime.jsx("div",{className:"px-4 py-1.5 text-[11px] font-semibold uppercase tracking-wider text-gray-400 dark:text-gray-500",children:e}),e&&n.collapsed&&jsxRuntime.jsx("div",{className:"mx-auto my-1 w-6 border-t border-gray-200 dark:border-gray-700"}),jsxRuntime.jsx("div",{className:"space-y-0.5 px-2",children:r})]})}function Vy({icon:e,label:t,badge:r,badgeColor:n="bg-blue-600 text-white",active:o=false,disabled:a=false,href:s,onClick:l,tooltip:i,className:d}){let c=On(),p=c.collapsed,f=i??t,m=jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[e&&jsxRuntime.jsx("span",{className:u("shrink-0 w-5 h-5",p&&"w-5 h-5"),children:e}),!p&&jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx("span",{className:"flex-1 truncate",children:t}),r!=null&&jsxRuntime.jsx("span",{className:u("shrink-0 inline-flex items-center justify-center rounded-full text-[10px] font-semibold min-w-[18px] h-[18px] px-1",n),children:r})]}),p&&r!==void 0&&r!==null&&jsxRuntime.jsx("span",{className:"absolute top-1 right-1 w-2 h-2 rounded-full bg-blue-600"})]}),g=u("relative flex items-center gap-3 rounded-md text-sm font-medium transition-colors w-full",p?"justify-center px-2 py-2.5":"px-3 py-2",o?"bg-blue-50 text-blue-700 dark:bg-blue-900/30 dark:text-blue-400":"text-gray-700 dark:text-gray-300 hover:bg-gray-100 dark:hover:bg-gray-800",a&&"opacity-50 pointer-events-none",!a&&"cursor-pointer",d),x=()=>{a||(l?.(),c.isMobile&&c.closeMobile());},b=s?jsxRuntime.jsx("a",{href:a?void 0:s,className:g,onClick:x,"aria-current":o?"page":void 0,"data-testid":"sidebar-item",children:m}):jsxRuntime.jsx("button",{type:"button",className:g,onClick:x,disabled:a,"aria-current":o?"page":void 0,"data-testid":"sidebar-item",children:m});return p?jsxRuntime.jsx(Lc,{text:f,position:c.position,children:b}):b}function By({icon:e,label:t,badge:r,defaultOpen:n=false,className:o,children:a}){let s=On(),[l,i]=js.useState(n),d=js.useRef(null),[c,p]=js.useState(n?void 0:0),f=js.useRef(true);return js.useEffect(()=>{if(f.current){f.current=false,p(l?void 0:0);return}if(l){let m=d.current;if(m){p(m.scrollHeight);let g=setTimeout(()=>p(void 0),200);return ()=>clearTimeout(g)}}else {let m=d.current;m&&(p(m.scrollHeight),requestAnimationFrame(()=>p(0)));}},[l]),s.collapsed?jsxRuntime.jsx(Lc,{text:t,position:s.position,children:jsxRuntime.jsxs("button",{type:"button",className:u("relative flex items-center justify-center gap-3 rounded-md text-sm font-medium transition-colors w-full px-2 py-2.5","text-gray-700 dark:text-gray-300 hover:bg-gray-100 dark:hover:bg-gray-800 cursor-pointer",o),onClick:()=>{s.toggle(),i(true);},"data-testid":"sidebar-submenu-trigger",children:[e&&jsxRuntime.jsx("span",{className:"shrink-0 w-5 h-5",children:e}),r!=null&&jsxRuntime.jsx("span",{className:"absolute top-1 right-1 w-2 h-2 rounded-full bg-blue-600"})]})}):jsxRuntime.jsxs("div",{className:o,"data-testid":"sidebar-submenu",children:[jsxRuntime.jsxs("button",{type:"button",className:u("flex items-center gap-3 rounded-md text-sm font-medium transition-colors w-full px-3 py-2","text-gray-700 dark:text-gray-300 hover:bg-gray-100 dark:hover:bg-gray-800 cursor-pointer"),onClick:()=>i(!l),"aria-expanded":l,"data-testid":"sidebar-submenu-trigger",children:[e&&jsxRuntime.jsx("span",{className:"shrink-0 w-5 h-5",children:e}),jsxRuntime.jsx("span",{className:"flex-1 truncate text-left",children:t}),r!=null&&jsxRuntime.jsx("span",{className:"shrink-0 inline-flex items-center justify-center rounded-full text-[10px] font-semibold min-w-[18px] h-[18px] px-1 bg-blue-600 text-white",children:r}),jsxRuntime.jsx(Iy,{className:u("shrink-0 text-gray-400 transition-transform duration-200",l&&"rotate-180")})]}),jsxRuntime.jsx("div",{className:"overflow-hidden transition-[height] duration-200 ease-in-out",style:{height:c===void 0?"auto":c},children:jsxRuntime.jsx("div",{ref:d,className:"pl-4 py-0.5",children:a})})]})}function Oy({className:e}){let t=On(),r=At(),n=t.isMobile?t.mobileOpen?t.closeLabel??r.closeSidebar:r.openSidebar:t.collapsed?r.expandSidebar:r.collapseSidebar;return jsxRuntime.jsx("button",{type:"button",onClick:t.toggle,className:u("p-1.5 rounded-md text-gray-400 hover:text-gray-600 dark:hover:text-gray-300 hover:bg-gray-100 dark:hover:bg-gray-800 transition-colors cursor-pointer",e),"aria-label":n,"data-testid":"sidebar-toggle",children:jsxRuntime.jsx(My,{className:u("transition-transform duration-200",t.collapsed&&"rotate-180",t.position==="right"&&!t.collapsed&&"rotate-180",t.position==="right"&&t.collapsed&&"rotate-0")})})}function Di({data:e,width:t=96,height:r=28,curve:n="monotone",color:o=Sa[0],strokeWidth:a=2,area:s=false,emphasizeLast:l=false,domain:i,ariaLabel:d,className:c,...p}){let f=Math.max(a/2,l?a+2.5:0),m=i??Ot(e)??[0,1],g=Ar([0,Math.max(1,e.length-1)],[f,t-f]),x=Ar(m,[r-f,f]),b=e.map((y,M)=>({x:g(M),y:y==null?Number.NaN:x(y),defined:y!=null&&Number.isFinite(y)})),v=[...b].reverse().find(y=>y.defined!==false);return jsxRuntime.jsxs("svg",{width:t,height:r,viewBox:`0 0 ${t} ${r}`,className:u("overflow-visible",c),role:d?"img":void 0,"aria-label":d,"aria-hidden":d?void 0:true,...p,children:[s?jsxRuntime.jsx("path",{d:Ho(b,r-f,n),fill:o,fillOpacity:.12,stroke:"none"}):null,jsxRuntime.jsx("path",{d:Yr(b,n),fill:"none",stroke:o,strokeWidth:a,strokeLinecap:"round",strokeLinejoin:"round",vectorEffect:"non-scaling-stroke"}),l&&v?jsxRuntime.jsx("circle",{cx:v.x,cy:v.y,r:a,fill:o,strokeWidth:2,className:"stroke-white dark:stroke-gray-800"}):null]})}var _y={sm:"p-3",md:"p-4",lg:"p-5"},Xy={sm:"text-[11px]",md:"text-xs",lg:"text-sm"},Gy={sm:"text-xl",md:"text-2xl",lg:"text-3xl"},Ac={sm:{width:72,height:22},md:{width:96,height:28},lg:{width:120,height:34}};function Ky(e){return e.direction?e.direction:e.value>0?"up":e.value<0?"down":"flat"}function Uy(e,t){return e==="flat"||t==="neutral"?"text-gray-500 dark:text-gray-400":e===t?"text-green-600 dark:text-green-400":"text-red-600 dark:text-red-400"}function Yy({direction:e}){return e==="flat"?jsxRuntime.jsx("svg",{width:"10",height:"10",viewBox:"0 0 10 10",fill:"currentColor","aria-hidden":"true",children:jsxRuntime.jsx("rect",{x:"1",y:"4.25",width:"8",height:"1.5",rx:"0.75"})}):jsxRuntime.jsx("svg",{width:"10",height:"10",viewBox:"0 0 10 10",fill:"currentColor","aria-hidden":"true",children:jsxRuntime.jsx("path",{d:e==="up"?"M5 1 L9.5 8 L0.5 8 Z":"M5 9 L0.5 2 L9.5 2 Z"})})}function jy({label:e,value:t,format:r,delta:n,trend:o,trendColor:a,icon:s,size:l="md",loading:i=false,variant:d="card",footer:c,className:p,...f}){let m=typeof t=="number"?(r??vt)(t):t,g=n?Ky(n):"flat",x=n?(n.format??(b=>xr(b,{signed:true})))(n.value):null;return jsxRuntime.jsxs("div",{className:u("flex flex-col gap-2",d==="card"&&u("rounded-lg border border-gray-200 bg-white dark:border-gray-700 dark:bg-gray-800",_y[l]),p),...f,children:[jsxRuntime.jsxs("div",{className:"flex items-start justify-between gap-2",children:[jsxRuntime.jsx("span",{className:u("font-medium text-gray-500 dark:text-gray-400",Xy[l]),children:e}),s?jsxRuntime.jsx("span",{className:"shrink-0 text-gray-400",children:s}):null]}),jsxRuntime.jsxs("div",{className:"flex items-end justify-between gap-3",children:[jsxRuntime.jsxs("div",{className:"flex min-w-0 flex-col gap-1",children:[i?jsxRuntime.jsx("div",{className:"flex items-center",style:{height:l==="lg"?30:24},"aria-busy":"true","aria-live":"polite",children:jsxRuntime.jsx(Un,{indeterminate:true,size:l==="lg"?"sm":"xs",thickness:"thin","aria-hidden":"true"})}):jsxRuntime.jsx("span",{className:u("leading-none font-semibold text-gray-900 dark:text-gray-100",Gy[l]),children:m}),n&&!i?jsxRuntime.jsxs("span",{className:u("flex items-center gap-1 text-xs font-medium",Uy(g,n.goodWhen??"up")),children:[jsxRuntime.jsx(Yy,{direction:g}),x,n.period?jsxRuntime.jsx("span",{className:"font-normal text-gray-500 dark:text-gray-400",children:n.period}):null]}):null]}),o&&o.length>0&&!i?jsxRuntime.jsx(Di,{data:o,color:a,emphasizeLast:true,area:true,width:Ac[l].width,height:Ac[l].height,className:"shrink-0"}):null]}),c?jsxRuntime.jsx("div",{className:"text-xs text-gray-500 dark:text-gray-400",children:c}):null]})}var qy={1:"sm:grid-cols-1",2:"sm:grid-cols-2",3:"sm:grid-cols-3",4:"sm:grid-cols-2 lg:grid-cols-4"};function Zy({columns:e=4,className:t,children:r,...n}){return jsxRuntime.jsx("div",{className:u("grid grid-cols-1 gap-3",qy[e],t),...n,children:r})}var Jy={text:"rounded h-4 w-full",circular:"rounded-full",rectangular:"rounded-none",rounded:"rounded-lg"},ex={pulse:"animate-pulse",wave:"animate-shimmer bg-gradient-to-r from-gray-200 via-gray-100 to-gray-200 dark:from-gray-700 dark:via-gray-600 dark:to-gray-700 bg-[length:200%_100%]",none:""},tx="bg-gray-200 dark:bg-gray-700";function zc({variant:e="text",animation:t="pulse",width:r,height:n,count:o=1,className:a,style:s,...l}){let i={...r!==void 0&&{width:typeof r=="number"?`${r}px`:r},...n!==void 0&&{height:typeof n=="number"?`${n}px`:n},...s};e==="circular"&&r&&!n&&(i.height=i.width);let d=u(tx,Jy[e],ex[t],a);return o===1?jsxRuntime.jsx("div",{className:d,style:i,"aria-busy":"true","aria-live":"polite",...l}):jsxRuntime.jsx("div",{className:"space-y-2",children:Array.from({length:o}).map((c,p)=>jsxRuntime.jsx("div",{className:d,style:i,"aria-busy":"true","aria-live":"polite",...l},p))})}zc.displayName="Skeleton";var sx={sm:"h-1",md:"h-1.5",lg:"h-2"},ix={sm:"w-3.5 h-3.5",md:"w-4 h-4",lg:"w-5 h-5"},lx={sm:14,md:16,lg:20},dx="[&::-webkit-slider-thumb]:appearance-none [&::-webkit-slider-thumb]:rounded-full [&::-moz-range-thumb]:appearance-none [&::-moz-range-thumb]:rounded-full [&::-moz-range-thumb]:border-0",cx={sm:"[&::-webkit-slider-thumb]:h-3.5 [&::-webkit-slider-thumb]:w-3.5 [&::-moz-range-thumb]:h-3.5 [&::-moz-range-thumb]:w-3.5",md:"[&::-webkit-slider-thumb]:h-4 [&::-webkit-slider-thumb]:w-4 [&::-moz-range-thumb]:h-4 [&::-moz-range-thumb]:w-4",lg:"[&::-webkit-slider-thumb]:h-5 [&::-webkit-slider-thumb]:w-5 [&::-moz-range-thumb]:h-5 [&::-moz-range-thumb]:w-5"},ux={sm:"h-4",md:"h-5",lg:"h-6"},px={primary:"bg-blue-600 dark:bg-blue-500",success:"bg-green-600 dark:bg-green-500",warning:"bg-yellow-500 dark:bg-yellow-400",error:"bg-red-600 dark:bg-red-500",info:"bg-cyan-600 dark:bg-cyan-500",neutral:"bg-gray-600 dark:bg-gray-400"},mx={primary:"border-blue-600 dark:border-blue-500",success:"border-green-600 dark:border-green-500",warning:"border-yellow-500 dark:border-yellow-400",error:"border-red-600 dark:border-red-500",info:"border-cyan-600 dark:border-cyan-500",neutral:"border-gray-600 dark:border-gray-400"},gx={primary:"peer-focus-visible:ring-blue-500",success:"peer-focus-visible:ring-green-500",warning:"peer-focus-visible:ring-yellow-500",error:"peer-focus-visible:ring-red-500",info:"peer-focus-visible:ring-cyan-500",neutral:"peer-focus-visible:ring-gray-500"},fx={primary:"text-blue-600 dark:text-blue-400",success:"text-green-600 dark:text-green-400",warning:"text-yellow-600 dark:text-yellow-400",error:"text-red-600 dark:text-red-400",info:"text-cyan-600 dark:text-cyan-400",neutral:"text-gray-700 dark:text-gray-300"},Wc=(e,t,r)=>Math.min(r,Math.max(t,e)),Ii=(e,t,r)=>r>t?(Wc(e,t,r)-t)/(r-t)*100:0,ss=(e,t)=>{let r=(.5-e/100)*t,n=Math.round(Math.abs(r)*1e3)/1e3;return `calc(${e}% ${r<0?"-":"+"} ${n}px)`},bx=(e,t,r,n)=>{if(!e)return [];if(Array.isArray(e))return e;let o=n>0?n:1,a=Math.floor((r-t)/o);return a<=0||a>20?[{value:t},{value:r}]:Array.from({length:a+1},(s,l)=>({value:t+l*o}))},Hc=js.forwardRef(({value:e,defaultValue:t,onValueChange:r,min:n=0,max:o=100,step:a=1,size:s="md",color:l="primary",disabled:i=false,readOnly:d=false,label:c,description:p,error:f=false,showValue:m=false,showTooltip:g=false,valueFormat:x,marks:b,trackColor:v,fillColor:y,thumbColor:M,className:w,containerClassName:P,id:h,...E},D)=>{let[k,I]=js.useState(t??n),W=e!==void 0,L=Wc(W?e:k,n,o),T=js.useId(),S=h??T,C=typeof f=="string"?f:void 0,N=!!f,R=!i&&!d,$=N?"error":l,H=Ii(L,n,o),K=lx[s],_=Y=>{if(!R)return;let z=Number(Y.target.value);W||I(z),r?.(z);},F=js.useMemo(()=>bx(b,n,o,a),[b,n,o,a]),A=F.some(Y=>Y.label!=null),B=x?x(L):`${L}`,U={width:ss(H,K)};y&&(U.backgroundColor=y);let Q={left:ss(H,K)};M&&(Q.backgroundColor=M,Q.borderColor=M);let J=v?{backgroundColor:v}:{};return jsxRuntime.jsxs("div",{className:u("w-full",P),children:[(c||m)&&jsxRuntime.jsxs("div",{className:"flex items-center justify-between mb-1.5",children:[c?jsxRuntime.jsx("label",{htmlFor:S,className:u("text-sm font-medium text-gray-700 dark:text-gray-200",i&&"opacity-50"),children:c}):jsxRuntime.jsx("span",{}),m&&jsxRuntime.jsx("span",{className:u("text-sm font-semibold tabular-nums",fx[$]),children:B})]}),jsxRuntime.jsxs("div",{className:u("relative flex items-center",ux[s],i&&"opacity-50"),children:[jsxRuntime.jsx("input",{ref:D,type:"range",id:S,min:n,max:o,step:a,value:L,onChange:_,disabled:i,readOnly:d,"aria-invalid":N,"aria-readonly":d||void 0,"aria-describedby":C?`${S}-error`:void 0,tabIndex:R?void 0:-1,className:u("peer absolute inset-0 z-10 m-0 h-full w-full cursor-pointer appearance-none bg-transparent opacity-0",dx,cx[s],!R&&"pointer-events-none cursor-default",w),...E}),jsxRuntime.jsxs("div",{className:u("pointer-events-none relative w-full overflow-hidden rounded-full bg-gray-200 dark:bg-gray-700",sx[s]),style:J,children:[jsxRuntime.jsx("div",{className:u("absolute inset-y-0 left-0 rounded-full transition-[width] duration-150 ease-out",y?"":px[$]),style:U}),F.map((Y,z)=>{let X=Ii(Y.value,n,o),ne=Y.value<=L;return jsxRuntime.jsx("span",{"data-slider-mark":"",className:u("absolute top-1/2 h-1 w-1 -translate-x-1/2 -translate-y-1/2 rounded-full",ne?"bg-white/80":"bg-gray-400 dark:bg-gray-500"),style:{left:ss(X,K)}},`mark-${Y.value}-${z}`)})]}),jsxRuntime.jsx("div",{"data-slider-thumb":"",className:u("pointer-events-none absolute top-1/2 -translate-x-1/2 -translate-y-1/2 rounded-full border-2 bg-white shadow transition-transform dark:bg-gray-100",ix[s],M?"":mx[$],R&&"peer-hover:scale-110 peer-active:scale-110","peer-focus-visible:scale-110 peer-focus-visible:ring-2 peer-focus-visible:ring-offset-2",gx[$]),style:Q,children:g&&jsxRuntime.jsx("span",{"data-slider-tooltip":"",className:u("pointer-events-none absolute bottom-full left-1/2 mb-2 -translate-x-1/2 rounded bg-gray-900 px-1.5 py-0.5 text-xs font-medium text-white opacity-0 transition-opacity dark:bg-gray-700","peer-hover:opacity-100 peer-focus-visible:opacity-100 peer-active:opacity-100"),children:B})})]}),A&&jsxRuntime.jsx("div",{className:"relative mt-1.5 h-4",children:F.map((Y,z)=>Y.label!=null?jsxRuntime.jsx("span",{className:"absolute -translate-x-1/2 whitespace-nowrap text-xs text-gray-500 dark:text-gray-400",style:{left:ss(Ii(Y.value,n,o),K)},children:Y.label},`mark-label-${Y.value}-${z}`):null)}),p&&!C&&jsxRuntime.jsx("p",{className:"mt-1.5 text-sm text-gray-500 dark:text-gray-400",children:p}),C&&jsxRuntime.jsx("p",{id:`${S}-error`,className:"mt-1.5 text-sm text-red-500 dark:text-red-400",children:C})]})});Hc.displayName="Slider";var Li=js.createContext(null);function yo(){let e=js.useContext(Li);if(!e)throw new Error("Tabs components must be used within a Tabs provider");return e}function Vc({children:e,defaultValue:t="",value:r,onValueChange:n,variant:o="underline",size:a="md",color:s="default",fullWidth:l=false,orientation:i="horizontal",className:d}){let[c,p]=js.useState(t),f=r!==void 0,m=f?r:c,g=js.useCallback(b=>{f||p(b),n?.(b);},[f,n]),x=js.useMemo(()=>({value:m,onValueChange:g,variant:o,size:a,color:s,orientation:i,fullWidth:l}),[m,g,o,a,s,i,l]);return jsxRuntime.jsx(Li.Provider,{value:x,children:jsxRuntime.jsx("div",{className:u("w-full",i==="vertical"&&"flex gap-4",d),"data-orientation":i,children:e})})}Vc.displayName="Tabs";var Cx={none:"gap-0",sm:"gap-1",md:"gap-2",lg:"gap-4"};function Bc({children:e,className:t,bgColor:r,gap:n="none"}){let{variant:o,orientation:a,fullWidth:s}=yo(),l=u("flex",a==="vertical"?"flex-col":"flex-row items-center",Cx[n]),i={underline:"border-b border-gray-200 dark:border-gray-700",pills:u("p-1 rounded-lg",r||"bg-gray-100 dark:bg-gray-800"),enclosed:"border-b border-gray-200 dark:border-gray-700",soft:u("p-1 rounded-lg",r||"bg-gray-100/50 dark:bg-gray-800/50")};return jsxRuntime.jsx("div",{role:"tablist","aria-orientation":a,className:u(l,i[o],s&&"w-full",t),children:e})}Bc.displayName="TabsList";var Nx={sm:"px-3 py-1.5 text-xs gap-1.5",md:"px-4 py-2 text-sm gap-2",lg:"px-5 py-2.5 text-base gap-2"},Oc={sm:"w-3.5 h-3.5",md:"w-4 h-4",lg:"w-5 h-5"},$c={default:{underline:{active:"text-gray-900 dark:text-white border-gray-900 dark:border-white",inactive:"text-gray-500 dark:text-gray-400 border-transparent hover:text-gray-700 dark:hover:text-gray-300"},pills:{active:"bg-white dark:bg-gray-700 text-gray-900 dark:text-white shadow-sm",inactive:"text-gray-600 dark:text-gray-400 hover:text-gray-900 dark:hover:text-white"},enclosed:{active:"bg-white dark:bg-gray-800 text-gray-900 dark:text-white border-gray-200 dark:border-gray-700 border-b-white dark:border-b-gray-800",inactive:"text-gray-500 dark:text-gray-400 hover:text-gray-700 dark:hover:text-gray-300 border-transparent"},soft:{active:"bg-gray-200 dark:bg-gray-700 text-gray-900 dark:text-white",inactive:"text-gray-600 dark:text-gray-400 hover:text-gray-900 dark:hover:text-white hover:bg-gray-100 dark:hover:bg-gray-700/50"}},primary:{underline:{active:"text-blue-600 dark:text-blue-400 border-blue-600 dark:border-blue-400",inactive:"text-gray-500 dark:text-gray-400 border-transparent hover:text-blue-600 dark:hover:text-blue-400"},pills:{active:"bg-blue-600 text-white",inactive:"text-gray-600 dark:text-gray-400 hover:text-blue-600 dark:hover:text-blue-400"},enclosed:{active:"bg-blue-50 dark:bg-blue-900/20 text-blue-600 dark:text-blue-400 border-blue-200 dark:border-blue-800 border-b-blue-50 dark:border-b-blue-900/20",inactive:"text-gray-500 dark:text-gray-400 hover:text-blue-600 dark:hover:text-blue-400 border-transparent"},soft:{active:"bg-blue-100 dark:bg-blue-900/50 text-blue-700 dark:text-blue-300",inactive:"text-gray-600 dark:text-gray-400 hover:text-blue-600 dark:hover:text-blue-400 hover:bg-blue-50 dark:hover:bg-blue-900/20"}},secondary:{underline:{active:"text-purple-600 dark:text-purple-400 border-purple-600 dark:border-purple-400",inactive:"text-gray-500 dark:text-gray-400 border-transparent hover:text-purple-600 dark:hover:text-purple-400"},pills:{active:"bg-purple-600 text-white",inactive:"text-gray-600 dark:text-gray-400 hover:text-purple-600 dark:hover:text-purple-400"},enclosed:{active:"bg-purple-50 dark:bg-purple-900/20 text-purple-600 dark:text-purple-400 border-purple-200 dark:border-purple-800 border-b-purple-50 dark:border-b-purple-900/20",inactive:"text-gray-500 dark:text-gray-400 hover:text-purple-600 dark:hover:text-purple-400 border-transparent"},soft:{active:"bg-purple-100 dark:bg-purple-900/50 text-purple-700 dark:text-purple-300",inactive:"text-gray-600 dark:text-gray-400 hover:text-purple-600 dark:hover:text-purple-400 hover:bg-purple-50 dark:hover:bg-purple-900/20"}},success:{underline:{active:"text-green-600 dark:text-green-400 border-green-600 dark:border-green-400",inactive:"text-gray-500 dark:text-gray-400 border-transparent hover:text-green-600 dark:hover:text-green-400"},pills:{active:"bg-green-600 text-white",inactive:"text-gray-600 dark:text-gray-400 hover:text-green-600 dark:hover:text-green-400"},enclosed:{active:"bg-green-50 dark:bg-green-900/20 text-green-600 dark:text-green-400 border-green-200 dark:border-green-800 border-b-green-50 dark:border-b-green-900/20",inactive:"text-gray-500 dark:text-gray-400 hover:text-green-600 dark:hover:text-green-400 border-transparent"},soft:{active:"bg-green-100 dark:bg-green-900/50 text-green-700 dark:text-green-300",inactive:"text-gray-600 dark:text-gray-400 hover:text-green-600 dark:hover:text-green-400 hover:bg-green-50 dark:hover:bg-green-900/20"}},warning:{underline:{active:"text-yellow-600 dark:text-yellow-400 border-yellow-600 dark:border-yellow-400",inactive:"text-gray-500 dark:text-gray-400 border-transparent hover:text-yellow-600 dark:hover:text-yellow-400"},pills:{active:"bg-yellow-500 text-white",inactive:"text-gray-600 dark:text-gray-400 hover:text-yellow-600 dark:hover:text-yellow-400"},enclosed:{active:"bg-yellow-50 dark:bg-yellow-900/20 text-yellow-600 dark:text-yellow-400 border-yellow-200 dark:border-yellow-800 border-b-yellow-50 dark:border-b-yellow-900/20",inactive:"text-gray-500 dark:text-gray-400 hover:text-yellow-600 dark:hover:text-yellow-400 border-transparent"},soft:{active:"bg-yellow-100 dark:bg-yellow-900/50 text-yellow-700 dark:text-yellow-300",inactive:"text-gray-600 dark:text-gray-400 hover:text-yellow-600 dark:hover:text-yellow-400 hover:bg-yellow-50 dark:hover:bg-yellow-900/20"}},error:{underline:{active:"text-red-600 dark:text-red-400 border-red-600 dark:border-red-400",inactive:"text-gray-500 dark:text-gray-400 border-transparent hover:text-red-600 dark:hover:text-red-400"},pills:{active:"bg-red-600 text-white",inactive:"text-gray-600 dark:text-gray-400 hover:text-red-600 dark:hover:text-red-400"},enclosed:{active:"bg-red-50 dark:bg-red-900/20 text-red-600 dark:text-red-400 border-red-200 dark:border-red-800 border-b-red-50 dark:border-b-red-900/20",inactive:"text-gray-500 dark:text-gray-400 hover:text-red-600 dark:hover:text-red-400 border-transparent"},soft:{active:"bg-red-100 dark:bg-red-900/50 text-red-700 dark:text-red-300",inactive:"text-gray-600 dark:text-gray-400 hover:text-red-600 dark:hover:text-red-400 hover:bg-red-50 dark:hover:bg-red-900/20"}}},Sx={underline:"border-b-2 -mb-px",pills:"rounded-md",enclosed:"border border-b-0 rounded-t-md -mb-px",soft:"rounded-md"};function _c({value:e,children:t,disabled:r=false,icon:n,endIcon:o,className:a,activeClassName:s,inactiveClassName:l}){let{value:i,onValueChange:d,variant:c,size:p,color:f,fullWidth:m}=yo(),g=i===e,x=()=>{r||d(e);},b=w=>{(w.key==="Enter"||w.key===" ")&&(w.preventDefault(),x());},v=u("inline-flex items-center justify-center font-medium transition-all duration-200","focus:outline-none focus-visible:ring-2 focus-visible:ring-offset-2 focus-visible:ring-blue-500",Nx[p],m&&"flex-1"),y=g?u($c[f][c].active,s):u($c[f][c].inactive,l),M=r?"opacity-50 cursor-not-allowed":"cursor-pointer";return jsxRuntime.jsxs("button",{type:"button",role:"tab","aria-selected":g,"aria-disabled":r,tabIndex:g?0:-1,onClick:x,onKeyDown:b,disabled:r,className:u(v,Sx[c],y,M,a),children:[n&&jsxRuntime.jsx("span",{className:u("shrink-0",Oc[p]),children:n}),jsxRuntime.jsx("span",{children:t}),o&&jsxRuntime.jsx("span",{className:u("shrink-0",Oc[p]),children:o})]})}_c.displayName="TabsTrigger";function Xc({value:e,children:t,className:r,forceMount:n=false}){let{value:o}=yo(),a=o===e;return !a&&!n?null:jsxRuntime.jsx("div",{role:"tabpanel",hidden:!a,tabIndex:0,className:u("mt-4 focus:outline-none focus-visible:ring-2 focus-visible:ring-offset-2 focus-visible:ring-blue-500 rounded-md",!a&&"hidden",r),children:t})}Xc.displayName="TabsContent";function Px({className:e}){return jsxRuntime.jsx("svg",{className:e,viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",children:jsxRuntime.jsx("path",{d:"M9 12L11 14L15 10M21 12C21 16.97 16.97 21 12 21C7.03 21 3 16.97 3 12C3 7.03 7.03 3 12 3C16.97 3 21 7.03 21 12Z",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})})}function Ex({className:e}){return jsxRuntime.jsx("svg",{className:e,viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",children:jsxRuntime.jsx("path",{d:"M12 8V12M12 16H12.01M21 12C21 16.97 16.97 21 12 21C7.03 21 3 16.97 3 12C3 7.03 7.03 3 12 3C16.97 3 21 7.03 21 12Z",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})})}function Dx({className:e}){return jsxRuntime.jsx("svg",{className:e,viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",children:jsxRuntime.jsx("path",{d:"M12 9V13M12 17H12.01M10.29 3.86L1.82 18C1.65 18.3 1.55 18.65 1.55 18.99C1.55 19.34 1.64 19.69 1.81 19.99C1.99 20.29 2.24 20.55 2.54 20.72C2.84 20.901 3.18 20.99 3.53 21H20.47C20.82 20.99 21.16 20.901 21.46 20.72C21.76 20.55 22.01 20.29 22.19 19.99C22.36 19.69 22.449 19.34 22.448 18.99C22.447 18.65 22.35 18.3 22.18 18L13.71 3.86C13.53 3.57 13.28 3.32 12.98 3.15C12.68 2.99 12.34 2.9 12 2.9C11.66 2.9 11.32 2.99 11.02 3.15C10.72 3.32 10.47 3.57 10.29 3.86Z",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})})}function Gc({className:e}){return jsxRuntime.jsx("svg",{className:e,viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",children:jsxRuntime.jsx("path",{d:"M13 16H12V12H11M12 8H12.01M21 12C21 16.97 16.97 21 12 21C7.03 21 3 16.97 3 12C3 7.03 7.03 3 12 3C16.97 3 21 7.03 21 12Z",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})})}function Mx({className:e}){return jsxRuntime.jsx("svg",{className:e,viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",children:jsxRuntime.jsx("path",{d:"M4 4L12 12M12 4L4 12",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})})}var Ix={success:Px,error:Ex,warning:Dx,info:Gc,default:Gc},Lx={success:{solid:"bg-green-600 text-white border-green-600",outlined:"bg-white text-green-700 border-green-600 dark:bg-gray-900 dark:text-green-400",soft:"bg-green-50 text-green-700 border-green-200 dark:bg-green-900/20 dark:text-green-400 dark:border-green-800"},error:{solid:"bg-red-600 text-white border-red-600",outlined:"bg-white text-red-700 border-red-600 dark:bg-gray-900 dark:text-red-400",soft:"bg-red-50 text-red-700 border-red-200 dark:bg-red-900/20 dark:text-red-400 dark:border-red-800"},warning:{solid:"bg-yellow-500 text-white border-yellow-500",outlined:"bg-white text-yellow-700 border-yellow-500 dark:bg-gray-900 dark:text-yellow-400",soft:"bg-yellow-50 text-yellow-700 border-yellow-200 dark:bg-yellow-900/20 dark:text-yellow-400 dark:border-yellow-800"},info:{solid:"bg-blue-600 text-white border-blue-600",outlined:"bg-white text-blue-700 border-blue-600 dark:bg-gray-900 dark:text-blue-400",soft:"bg-blue-50 text-blue-700 border-blue-200 dark:bg-blue-900/20 dark:text-blue-400 dark:border-blue-800"},default:{solid:"bg-gray-700 text-white border-gray-700",outlined:"bg-white text-gray-700 border-gray-300 dark:bg-gray-900 dark:text-gray-300",soft:"bg-gray-50 text-gray-700 border-gray-200 dark:bg-gray-800 dark:text-gray-300 dark:border-gray-700"}},Ax={success:"text-green-600 dark:text-green-400",error:"text-red-600 dark:text-red-400",warning:"text-yellow-600 dark:text-yellow-400",info:"text-blue-600 dark:text-blue-400",default:"text-gray-600 dark:text-gray-400"};function Uc({children:e,title:t,description:r,type:n="default",variant:o="soft",icon:a,action:s,onClose:l,closable:i=true,className:d,...c}){let p=Ix[n],f=jsxRuntime.jsx(p,{className:"w-5 h-5"}),m=e??r;return jsxRuntime.jsxs("div",{role:"alert",className:u("flex items-start gap-3 p-4 rounded-lg border shadow-lg min-w-[320px] max-w-md","animate-in slide-in-from-top-2 fade-in duration-300",Lx[n][o],d),...c,children:[jsxRuntime.jsx("div",{className:u("flex-shrink-0 mt-0.5",o==="solid"?"text-white":Ax[n]),children:a??f}),jsxRuntime.jsxs("div",{className:"flex-1 min-w-0",children:[t&&jsxRuntime.jsx("div",{className:"font-semibold text-sm mb-1",children:t}),m&&jsxRuntime.jsx("div",{className:"text-sm opacity-90",children:m}),s&&jsxRuntime.jsx("div",{className:"mt-3",children:s})]}),i&&jsxRuntime.jsx("button",{type:"button",onClick:l,className:u("flex-shrink-0 rounded-md p-1 transition-colors hover:bg-black/10 dark:hover:bg-white/10","focus:outline-none focus-visible:ring-2 focus-visible:ring-offset-2 focus-visible:ring-current",o==="solid"?"text-white":""),"aria-label":"Close notification",children:jsxRuntime.jsx(Mx,{className:"w-4 h-4"})})]})}Uc.displayName="Toast";var Hx={default:"bg-gray-900 text-white dark:bg-gray-700",light:"bg-white text-gray-900 border border-gray-200 shadow-lg dark:bg-gray-800 dark:text-white dark:border-gray-600",error:"bg-red-600 text-white",success:"bg-green-600 text-white",warning:"bg-yellow-500 text-white",info:"bg-blue-600 text-white"},Fx={default:{top:"border-t-gray-900 dark:border-t-gray-700",bottom:"border-b-gray-900 dark:border-b-gray-700",left:"border-l-gray-900 dark:border-l-gray-700",right:"border-r-gray-900 dark:border-r-gray-700"},light:{top:"border-t-white dark:border-t-gray-800",bottom:"border-b-white dark:border-b-gray-800",left:"border-l-white dark:border-l-gray-800",right:"border-r-white dark:border-r-gray-800"},error:{top:"border-t-red-600",bottom:"border-b-red-600",left:"border-l-red-600",right:"border-r-red-600"},success:{top:"border-t-green-600",bottom:"border-b-green-600",left:"border-l-green-600",right:"border-r-green-600"},warning:{top:"border-t-yellow-500",bottom:"border-b-yellow-500",left:"border-l-yellow-500",right:"border-r-yellow-500"},info:{top:"border-t-blue-600",bottom:"border-b-blue-600",left:"border-l-blue-600",right:"border-r-blue-600"}},Vx={sm:"px-2 py-1 text-xs",md:"px-3 py-1.5 text-sm",lg:"px-4 py-2 text-base"},Bx={sm:"border-4",md:"border-[5px]",lg:"border-[6px]"},Ox={top:"bottom-full left-1/2 -translate-x-1/2 mb-2",bottom:"top-full left-1/2 -translate-x-1/2 mt-2",left:"right-full top-1/2 -translate-y-1/2 mr-2",right:"left-full top-1/2 -translate-y-1/2 ml-2"},$x={top:"top-full left-1/2 -translate-x-1/2 border-l-transparent border-r-transparent border-b-transparent",bottom:"bottom-full left-1/2 -translate-x-1/2 border-l-transparent border-r-transparent border-t-transparent",left:"left-full top-1/2 -translate-y-1/2 border-t-transparent border-b-transparent border-r-transparent",right:"right-full top-1/2 -translate-y-1/2 border-t-transparent border-b-transparent border-l-transparent"};function yt({children:e,content:t,position:r="top",variant:n="default",size:o="md",trigger:a="hover",open:s,delay:l=0,showArrow:i=true,maxWidth:d="max-w-xs",className:c,contentClassName:p,disabled:f=false,...m}){let[g,x]=js.useState(false),b=js.useRef(null),v=js.useCallback(()=>{f||(l>0?b.current=setTimeout(()=>x(true),l):x(true));},[l,f]),y=js.useCallback(()=>{b.current&&(clearTimeout(b.current),b.current=null),x(false);},[]),M=js.useCallback(()=>{f||x(h=>!h);},[f]),w=a==="manual"?s:g,P={hover:{onMouseEnter:v,onMouseLeave:y,onFocus:v,onBlur:y},click:{onClick:M},manual:{}}[a];return jsxRuntime.jsxs("div",{className:u("relative inline-flex",c),...P,...m,children:[e,w&&!f&&jsxRuntime.jsxs("div",{role:"tooltip",className:u("absolute z-50 whitespace-normal wrap-break-word rounded-md","transition-opacity duration-150",Ox[r],Hx[n],Vx[o],d,p),children:[t,i&&jsxRuntime.jsx("span",{className:u("absolute w-0 h-0 border-solid",Bx[o],$x[r],Fx[n][r]),"aria-hidden":"true"})]})]})}yt.displayName="Tooltip";function Xx(e){switch(e){case "bordered":return "border-t border-gray-200 dark:border-gray-700 bg-white dark:bg-gray-900 text-gray-700 dark:text-gray-300";case "minimal":return "bg-transparent text-gray-600 dark:text-gray-400";case "dark":return "bg-gray-900 text-gray-300";default:return "bg-gray-100 dark:bg-gray-800 text-gray-700 dark:text-gray-300"}}function Gx(e){switch(e){case "sm":return "py-6";case "lg":return "py-16";default:return "py-10"}}function qc({variant:e="default",size:t="md",sticky:r=false,className:n,children:o,...a}){return jsxRuntime.jsx("footer",{className:u(Xx(e),Gx(t),r&&"sticky bottom-0 z-40",n),...a,children:jsxRuntime.jsx("div",{className:"container mx-auto px-4",children:o})})}qc.displayName="Footer";function Kx(e){switch(e){case 1:return "grid-cols-1";case 2:return "grid-cols-1 sm:grid-cols-2";case 3:return "grid-cols-1 sm:grid-cols-2 lg:grid-cols-3";case 4:return "grid-cols-1 sm:grid-cols-2 lg:grid-cols-4";case 5:return "grid-cols-1 sm:grid-cols-2 lg:grid-cols-5";case 6:return "grid-cols-2 sm:grid-cols-3 lg:grid-cols-6";default:return ""}}function Zc({title:e,titleClassName:t,columns:r,className:n,children:o,...a}){return jsxRuntime.jsxs("div",{className:u(r&&"grid gap-8",Kx(r),n),...a,children:[e&&jsxRuntime.jsx("h3",{className:u("text-sm font-semibold uppercase tracking-wider text-gray-900 dark:text-white",r&&"col-span-full",t),children:e}),o]})}Zc.displayName="FooterSection";function Qc({title:e,titleClassName:t,className:r,children:n,...o}){return jsxRuntime.jsxs("div",{className:u("flex flex-col gap-3",r),...o,children:[e&&jsxRuntime.jsx("h4",{className:u("text-sm font-semibold uppercase tracking-wider text-gray-900 dark:text-white",t),children:e}),n]})}Qc.displayName="FooterColumn";function Jc({external:e=false,className:t,children:r,...n}){return jsxRuntime.jsx("a",{className:u("text-sm text-gray-600 dark:text-gray-400 hover:text-gray-900 dark:hover:text-white transition-colors",t),target:e?"_blank":void 0,rel:e?"noopener noreferrer":void 0,...n,children:r})}Jc.displayName="FooterLink";function eu({copyright:e,className:t,children:r,...n}){return jsxRuntime.jsxs("div",{className:u("mt-8 border-t border-gray-200 dark:border-gray-700 pt-6 flex flex-col sm:flex-row items-center justify-between gap-4",t),...n,children:[e&&jsxRuntime.jsx("p",{className:"text-sm text-gray-500 dark:text-gray-400",children:e}),r]})}eu.displayName="FooterBottom";function tu({className:e,children:t,...r}){return jsxRuntime.jsx("div",{className:u("flex items-center gap-4",e),...r,children:t})}tu.displayName="FooterSocial";function ru({icon:e,label:t,className:r,...n}){return jsxRuntime.jsx("a",{className:u("text-gray-500 dark:text-gray-400 hover:text-gray-900 dark:hover:text-white transition-colors",r),target:"_blank",rel:"noopener noreferrer","aria-label":t,...n,children:e})}ru.displayName="FooterSocialLink";var tv=4.5,rv=48,ou=false,nv=js.memo(function({points:t}){return jsxRuntime.jsx("g",{children:t.map(r=>jsxRuntime.jsx("circle",{cx:r.cx,cy:r.cy,r:r.r,fill:r.color,fillOpacity:.85,strokeWidth:2,className:"stroke-white dark:stroke-gray-800"},`${r.seriesKey}-${r.index}`))})});function ov({width:e,height:t,data:r,resolvedSeries:n,x:o,y:a,grid:s,size:l,bubble:i,trendLine:d,quadrants:c,pointRadius:p,margin:f,tooltip:m,onPointClick:g,plotLabel:x,formatValue:b,formatX:v}){let[y,M]=js.useState(null),w=js.useMemo(()=>{let E=n.filter(N=>!N.hidden),D=E.map(N=>N.key),k=cn({width:e,height:t,data:r,x:{...o,scale:o.scale==="time"?"time":"linear"},y:a,bounds:Ot(ir(r,D)),margin:f,formatValue:b,formatX:v}),I=i?ir(r,[i.key]):[],W=i?Ot(I):null,[O,L]=i?.range??[4,14],T=N=>{if(!i||!W)return p;let R=et(N,i.key);if(R===null)return O;let[$,H]=W,K=H===$?1:(R-$)/(H-$);return Math.sqrt(O*O+K*(L*L-O*O))},S=[];E.forEach(N=>{r.forEach((R,$)=>{let H=et(R,N.key),K=k.categoryPositions[$];H===null||!Number.isFinite(K)||S.push({seriesKey:N.key,seriesLabel:Bt(N),color:N.color,index:$,cx:K,cy:k.valueScale(H),r:T(R),xValue:Lr(k.xValues[$]),yValue:H});});});let C=null;if(d&&S.length>1){let N=S.length,R=S.reduce((F,A)=>F+A.xValue,0),$=S.reduce((F,A)=>F+A.yValue,0),H=S.reduce((F,A)=>F+A.xValue*A.yValue,0),K=S.reduce((F,A)=>F+A.xValue*A.xValue,0),_=N*K-R*R;if(_!==0){let F=(N*H-R*$)/_,A=($-F*R)/N,B=S.map(Y=>Y.xValue),[U,Q]=[Math.min(...B),Math.max(...B)],J=S.map(Y=>Y.cx);C={x1:Math.min(...J),y1:k.valueScale(F*U+A),x2:Math.max(...J),y2:k.valueScale(F*Q+A)};}}return {visible:E,points:S,trend:C,xTicks:k.categoryTicks,yTicks:k.valueTicks,valueScale:k.valueScale,positions:k.categoryPositions,innerWidth:k.innerWidth,innerHeight:k.innerHeight,margin:k.margin,xValues:k.xValues}},[r,n,o,a,e,t,f,i,d,p,b,v]),P=js.useCallback(E=>{if(m===false||w.points.length===0)return;let D=E.currentTarget.getBoundingClientRect(),k=E.clientX-D.left-w.margin.left,I=E.clientY-D.top-w.margin.top,W=null,O=rv;for(let L of w.points){let T=Math.hypot(L.cx-k,L.cy-I);T<O&&(O=T,W=L);}M(W);},[m,w.points,w.margin]),h=js.useCallback(()=>{!g||!y||g({seriesKey:y.seriesKey,seriesLabel:y.seriesLabel,color:y.color,value:y.yValue,formattedValue:b(y.yValue),datum:r[y.index],index:y.index,x:w.xValues[y.index]});},[g,y,b,r,w.xValues]);return jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsxs("svg",{width:e,height:t,role:"img","aria-label":x??w.visible.map(E=>Bt(E)).join(", "),tabIndex:0,className:"touch-none focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-blue-500",onPointerMove:P,onPointerLeave:()=>M(null),onBlur:()=>M(null),onClick:h,children:[jsxRuntime.jsxs("g",{transform:`translate(${w.margin.left}, ${w.margin.top})`,children:[jsxRuntime.jsx(Kr,{width:w.innerWidth,height:w.innerHeight,horizontal:s==="y"||s==="both"?w.yTicks.map(E=>E.offset):void 0,vertical:s==="x"||s==="both"?w.xTicks.map(E=>E.offset):void 0}),c?.y!==void 0?jsxRuntime.jsx("line",{x1:0,y1:w.valueScale(c.y),x2:w.innerWidth,y2:w.valueScale(c.y),stroke:"var(--color-chart-muted)",strokeWidth:1,strokeDasharray:"4 4"}):null,w.trend?jsxRuntime.jsx("line",{x1:w.trend.x1,y1:w.trend.y1,x2:w.trend.x2,y2:w.trend.y2,stroke:"var(--color-chart-muted)",strokeWidth:1.5,strokeDasharray:"4 4"}):null,jsxRuntime.jsx(nv,{points:w.points}),y?jsxRuntime.jsx("circle",{cx:y.cx,cy:y.cy,r:y.r+3,fill:"none",stroke:y.color,strokeWidth:2,"aria-hidden":"true"}):null]}),jsxRuntime.jsx("g",{transform:`translate(${w.margin.left}, ${w.margin.top+w.innerHeight})`,children:o.hidden?null:jsxRuntime.jsx(St,{orientation:"bottom",ticks:w.xTicks,length:w.innerWidth,label:o.label,size:l})}),jsxRuntime.jsx("g",{transform:`translate(${w.margin.left}, ${w.margin.top})`,children:a?.hidden?null:jsxRuntime.jsx(St,{orientation:"left",ticks:w.yTicks,length:w.innerHeight,showLine:false,label:a?.label,size:l})})]}),y&&m!==false?jsxRuntime.jsx(jt,{x:w.margin.left+y.cx,y:w.margin.top+y.cy,containerWidth:e,children:typeof m=="function"?m({x:w.xValues[y.index],xLabel:v(w.xValues[y.index],y.index),index:y.index,points:[{seriesKey:y.seriesKey,seriesLabel:y.seriesLabel,color:y.color,value:y.yValue,formattedValue:b(y.yValue),datum:r[y.index]}]}):jsxRuntime.jsx(vr,{title:`${o.label??o.key} ${v(w.xValues[y.index],y.index)}`,points:[{seriesKey:y.seriesKey,seriesLabel:y.seriesLabel,color:y.color,value:y.yValue,formattedValue:b(y.yValue),datum:r[y.index]}]})}):null]})}function av({data:e,series:t,x:r,y:n,height:o=280,width:a,size:s="md",grid:l="both",legend:i,tooltip:d=true,tableView:c=false,emphasis:p,title:f,description:m,loading:g=false,emptyState:x,onPointClick:b,bubble:v,trendLine:y=false,quadrants:M,pointRadius:w=tv,legendToggle:P=true,margin:h,locale:E,plotLabel:D,className:k,...I}){let[W,O]=js.useState(()=>new Set);t.length>3&&!ou&&(ou=true,console.warn(`[@synertech/ui] A ScatterChart was given ${t.length} series. Any two marks can sit side by side here, and only the first ${3} palette slots stay tellable apart under that test: facet the chart instead.`));let L=js.useMemo(()=>t.map((H,K)=>({...H,hidden:H.hidden||W.has(H.key),color:Ir(H,K,p)})),[t,W,p]),T=js.useMemo(()=>n?.format??(H=>vt(H,E)),[n?.format,E]),S=js.useMemo(()=>r.format??(H=>r.scale==="time"?bt(H instanceof Date?H:new Date(Lr(H)),E):vt(Lr(H),E)),[r.format,r.scale,E]),C=js.useCallback(H=>{O(K=>{let _=new Set(K);return _.has(H)?_.delete(H):_.add(H),_});},[]),N=i===void 0?t.length>=2:i!==false,R=typeof i=="string"?i:"bottom",$=L.filter(H=>!H.hidden).length;return jsxRuntime.jsx(Kt,{title:f,description:m,height:o,width:a,size:s,loading:g,empty:e.length===0||$===0,emptyState:x,tableView:c,legendPosition:R,legend:N?jsxRuntime.jsx(yr,{items:Ur(L,p),position:R,marker:"dot",size:s,onToggle:P?C:void 0}):void 0,table:c?jsxRuntime.jsx(Yt,{data:e,series:L,xKey:r.key,xLabel:r.label??r.key,formatX:S,formatValue:T,caption:typeof f=="string"?f:void 0}):void 0,className:k,...I,children:({width:H})=>jsxRuntime.jsx(ov,{width:H,height:o,data:e,resolvedSeries:L,x:r,y:n,grid:l,size:s,bubble:v,trendLine:y,quadrants:M,pointRadius:w,margin:h,tooltip:d,onPointClick:b,plotLabel:D,formatValue:T,formatX:S})})}var su="se-grid-pattern",iu=js.memo(function({gridSize:t,zoom:r}){let n=t*r;return jsxRuntime.jsxs("svg",{className:"absolute inset-0 w-full h-full pointer-events-none","aria-hidden":"true",children:[jsxRuntime.jsx("defs",{children:jsxRuntime.jsx("pattern",{id:su,width:n,height:n,patternUnits:"userSpaceOnUse",children:jsxRuntime.jsx("circle",{cx:1,cy:1,r:1,className:"fill-gray-300 dark:fill-gray-600"})})}),jsxRuntime.jsx("rect",{width:"100%",height:"100%",fill:`url(#${su})`})]})});function hn(e,t){return e.collapsed?40:e.height?e.height:40+(e.notes?24:0)+e.fields.length*32+(t?36:0)}function xo(e,t){return 40+(t?24:0)+e*32+32/2}function lu(e,t,r){let n=e.fields.findIndex(i=>i.id===t);if(n===-1)return null;let o=e.width??260,a=!!e.notes,s=e.y+xo(n,a);return {x:r==="left"?e.x+0:e.x+o-0,y:s}}function Fi(e,t){return Math.round(e/t)*t}function ca(e,t,r){return Math.min(r,Math.max(t,e))}function ua(e,t,r,n){return {x:(e-n.left-r.x)/r.zoom,y:(t-n.top-r.y)/r.zoom}}function cs(e,t,r,n){let o=Math.abs(r-e),a=Math.max(50,o*.5),s=e+a,l=t,i=r-a;return `M ${e} ${t} C ${s} ${l}, ${i} ${n}, ${r} ${n}`}function du(e,t,r,n,o=40){if(e.length===0)return {x:0,y:0,zoom:1};let a=1/0,s=1/0,l=-1/0,i=-1/0;for(let g of e){let x=g.width??260,b=hn(g,n);a=Math.min(a,g.x),s=Math.min(s,g.y),l=Math.max(l,g.x+x),i=Math.max(i,g.y+b);}let d=l-a+o*2,c=i-s+o*2,p=Math.min(t/d,r/c,1),f=(t-d*p)/2-(a-o)*p,m=(r-c*p)/2-(s-o)*p;return {x:f,y:m,zoom:p}}var ma=["text","varchar","char","int2","int4","int8","serial","bigserial","float4","float8","numeric","decimal","bool","date","time","timestamp","timestamptz","uuid","json","jsonb","bytea"];function cu(){return `table-${Date.now()}-${Math.random().toString(36).slice(2,8)}`}function pa(){return `field-${Date.now()}-${Math.random().toString(36).slice(2,8)}`}function Vi(){return `rel-${Date.now()}-${Math.random().toString(36).slice(2,8)}`}function Bi(e="new_field"){return {id:pa(),name:e,type:"text",nullable:true}}function Oi(e,t,r="new_table"){return {id:cu(),name:r,x:e,y:t,fields:[{id:pa(),name:"id",type:"serial",primaryKey:true},{id:pa(),name:"createdAt",type:"timestamp"},{id:pa(),name:"updatedAt",type:"timestamp"}]}}var us=()=>jsxRuntime.jsxs("svg",{className:"w-3.5 h-3.5 text-indigo-500 flex-shrink-0",viewBox:"0 0 16 16",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round",children:[jsxRuntime.jsx("path",{d:"M10 1l2 2-5 5M8.5 4.5L11 7"}),jsxRuntime.jsx("circle",{cx:"4.5",cy:"11.5",r:"3"})]}),pu=()=>jsxRuntime.jsxs("svg",{className:"w-3.5 h-3.5 flex-shrink-0",viewBox:"0 0 16 16",fill:"currentColor",children:[jsxRuntime.jsx("circle",{cx:"8",cy:"8",r:"6",className:"fill-blue-500"}),jsxRuntime.jsx("path",{d:"M5 8h6M8 5l3 3-3 3",stroke:"white",strokeWidth:"1.5",fill:"none",strokeLinecap:"round",strokeLinejoin:"round"})]}),cv=({collapsed:e})=>jsxRuntime.jsx("svg",{className:"w-3.5 h-3.5",viewBox:"0 0 16 16",fill:"currentColor",children:e?jsxRuntime.jsx("path",{d:"M6 3l5 5-5 5V3z"}):jsxRuntime.jsx("path",{d:"M3 6l5 5 5-5H3z"})}),mu=()=>jsxRuntime.jsx("svg",{className:"w-3.5 h-3.5 text-amber-500 flex-shrink-0",viewBox:"0 0 16 16",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round",children:jsxRuntime.jsx("path",{d:"M3 2v12M7 4h6M7 8h4M7 12h5"})}),gu=()=>jsxRuntime.jsx("svg",{className:"w-3.5 h-3.5 text-purple-500 flex-shrink-0",viewBox:"0 0 16 16",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round",children:jsxRuntime.jsx("path",{d:"M4 2v8a4 4 0 008 0V2"})}),uv=()=>jsxRuntime.jsx("svg",{className:"w-3 h-3",viewBox:"0 0 16 16",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",children:jsxRuntime.jsx("path",{d:"M4 8h8"})}),pv=()=>jsxRuntime.jsxs("svg",{className:"w-3 h-3 text-gray-300",viewBox:"0 0 16 16",fill:"currentColor",children:[jsxRuntime.jsx("circle",{cx:"5",cy:"4",r:"1.5"}),jsxRuntime.jsx("circle",{cx:"11",cy:"4",r:"1.5"}),jsxRuntime.jsx("circle",{cx:"5",cy:"8",r:"1.5"}),jsxRuntime.jsx("circle",{cx:"11",cy:"8",r:"1.5"}),jsxRuntime.jsx("circle",{cx:"5",cy:"12",r:"1.5"}),jsxRuntime.jsx("circle",{cx:"11",cy:"12",r:"1.5"})]}),mv=js.memo(function({field:t,tableId:r,editable:n,readOnly:o,disabled:a,onFieldChange:s}){let[l,i]=js.useState(false),[d,c]=js.useState(t.defaultValue??""),p=n&&!o&&!a,f=()=>{i(false),s?.(r,t.id,{defaultValue:d||void 0});};return p?l?jsxRuntime.jsx("input",{className:"text-xs w-16 text-emerald-500 bg-transparent border-b border-emerald-300 outline-none focus:ring-0 p-0 flex-shrink-0","aria-label":`Default value for ${t.name}`,value:d,onChange:m=>c(m.target.value),onBlur:f,onKeyDown:m=>{m.key==="Enter"&&f(),m.key==="Escape"&&i(false);},onMouseDown:m=>m.stopPropagation(),autoFocus:true}):t.defaultValue?jsxRuntime.jsxs("button",{type:"button",className:"text-xs text-emerald-500 flex-shrink-0 truncate max-w-16 cursor-pointer",onClick:m=>{m.stopPropagation(),c(t.defaultValue??""),i(true);},onMouseDown:m=>m.stopPropagation(),title:`Default: ${t.defaultValue}`,children:["= ",t.defaultValue]}):jsxRuntime.jsx("button",{type:"button",className:"text-xs text-gray-300 flex-shrink-0 opacity-0 group-hover:opacity-30 hover:!opacity-100 cursor-pointer transition-opacity",onClick:m=>{m.stopPropagation(),c(""),i(true);},onMouseDown:m=>m.stopPropagation(),title:"Set default value",children:"= \u2205"}):t.defaultValue?jsxRuntime.jsxs("span",{className:"text-xs text-emerald-500 flex-shrink-0 truncate max-w-16",title:`Default: ${t.defaultValue}`,children:["= ",t.defaultValue]}):null}),bu=js.memo(function({table:t,selected:r,disabled:n,readOnly:o,editable:a,dropTarget:s,fieldTypes:l,onTableNameChange:i,onTableNotesChange:d,onToggleCollapse:c,onFieldChange:p,onFieldAdd:f,onFieldRemove:m,onFieldReorder:g,onResizeStart:x}){let b=t.width??260,v=t.collapsed??false,y=l.length>0?l:ma,[M,w]=js.useState(null),[P,h]=js.useState(null),E=js.useRef(null),D=js.useCallback(C=>{i?.(t.id,C.target.value);},[t.id,i]),k=js.useCallback((C,N)=>{p?.(t.id,C,{name:N});},[t.id,p]),I=js.useCallback((C,N)=>{p?.(t.id,C,{type:N});},[t.id,p]),W=js.useCallback((C,N)=>{p?.(t.id,C,{primaryKey:!N});},[t.id,p]),O=js.useCallback((C,N)=>{p?.(t.id,C,{nullable:!N});},[t.id,p]),L=js.useCallback((C,N)=>{p?.(t.id,C,{indexed:!N});},[t.id,p]),T=js.useCallback((C,N)=>{p?.(t.id,C,{unique:!N});},[t.id,p]),S=js.useCallback(()=>{f?.(t.id);},[t.id,f]);return jsxRuntime.jsxs("div",{"data-table-id":t.id,className:u("absolute bg-white dark:bg-gray-800 border-2 border-dashed rounded-lg shadow-sm cursor-grab active:cursor-grabbing",t.height?"flex flex-col":void 0,s?"border-green-400 shadow-green-100 dark:shadow-green-900/30 shadow-md":r?"border-blue-500 shadow-blue-100 dark:shadow-blue-900/30":"border-gray-300 dark:border-gray-600",n&&"opacity-60",t.locked&&"!cursor-default"),style:{left:t.x,top:t.y,width:b,height:t.height,userSelect:"none",overflow:t.height?"hidden":void 0},children:[jsxRuntime.jsxs("div",{className:u("flex items-center justify-between px-3 gap-2","bg-gray-50 dark:bg-gray-700 border-b border-gray-200 dark:border-gray-600"),style:{height:40},children:[a&&!o&&!n?jsxRuntime.jsx("input",{className:"flex-1 min-w-0 text-sm font-semibold text-gray-800 dark:text-gray-100 bg-transparent border-none outline-none focus:ring-0 p-0 truncate cursor-text","aria-label":"Table name",value:t.name,onChange:D,onMouseDown:C=>C.stopPropagation()}):jsxRuntime.jsx("span",{className:"flex-1 min-w-0 text-sm font-semibold text-gray-800 dark:text-gray-100 truncate",children:t.name}),jsxRuntime.jsx("button",{type:"button",className:"flex-shrink-0 p-1 rounded hover:bg-gray-200 dark:hover:bg-gray-600 text-gray-500 dark:text-gray-400",onClick:C=>{C.stopPropagation(),c?.(t.id);},onMouseDown:C=>C.stopPropagation(),"aria-label":v?"Expand table":"Collapse table",children:jsxRuntime.jsx(cv,{collapsed:v})})]}),!v&&(a&&!o&&!n?jsxRuntime.jsx("div",{className:"px-3 border-b border-gray-100 dark:border-gray-700 flex items-center",style:{height:24},children:jsxRuntime.jsx("input",{className:"w-full text-xs italic text-gray-400 dark:text-gray-500 bg-transparent border-none outline-none focus:ring-0 p-0 placeholder-gray-400 dark:placeholder-gray-500","aria-label":"Table notes",placeholder:"Add notes...",value:t.notes??"",onChange:C=>d?.(t.id,C.target.value),onMouseDown:C=>C.stopPropagation()})}):t.notes?jsxRuntime.jsx("div",{className:"px-3 border-b border-gray-100 dark:border-gray-700 flex items-center",style:{height:24},children:jsxRuntime.jsx("span",{className:"text-xs italic text-gray-400 dark:text-gray-500 truncate",children:t.notes})}):null),!v&&jsxRuntime.jsxs("div",{className:t.height?"overflow-y-auto flex-1 min-h-0":void 0,children:[t.fields.map((C,N)=>jsxRuntime.jsxs("div",{"data-field-id":C.id,"data-table-id":t.id,className:u("flex items-center gap-1.5 pr-2 relative group",a&&!o&&!n?"pl-[18px]":"pl-2","border-b border-gray-100 dark:border-gray-700 last:border-b-0",s?"bg-blue-50/50 dark:bg-blue-900/10":"hover:bg-gray-50 dark:hover:bg-gray-750",M===N&&"opacity-40",P===N&&"!border-t-2 !border-t-blue-400"),style:{height:32},draggable:a&&!o&&!n,onDragStart:R=>{!a||o||n||(R.stopPropagation(),E.current=N,w(N),R.dataTransfer.effectAllowed="move",R.dataTransfer.setData("text/plain",String(N)));},onDragOver:R=>{E.current!==null&&(R.preventDefault(),R.stopPropagation(),h(N));},onDragLeave:()=>{P===N&&h(null);},onDrop:R=>{R.preventDefault(),R.stopPropagation(),E.current!==null&&E.current!==N&&g?.(t.id,E.current,N),E.current=null,w(null),h(null);},onDragEnd:()=>{E.current=null,w(null),h(null);},children:[jsxRuntime.jsx("div",{"data-connection-side":"left","data-field-id":C.id,"data-table-id":t.id,className:u("absolute -left-[5px] w-2.5 h-2.5 rounded-full border-2 border-white dark:border-gray-800 cursor-crosshair z-10 transition-all",s?"opacity-100 bg-green-400 scale-150 shadow-[0_0_6px_rgba(74,222,128,0.6)]":"opacity-0 group-hover:opacity-100 bg-blue-400"),style:{top:32/2-5}}),a&&!o&&!n&&jsxRuntime.jsx("span",{className:"absolute left-[3px] cursor-grab active:cursor-grabbing opacity-0 group-hover:opacity-100 transition-opacity z-10",style:{top:32/2-6},children:jsxRuntime.jsx(pv,{})}),a&&!o&&!n?jsxRuntime.jsx("button",{type:"button",className:u("w-4 text-xs font-bold flex-shrink-0 text-center cursor-pointer",C.nullable?"text-gray-400":"text-transparent"),onClick:R=>{R.stopPropagation(),O(C.id,C.nullable??false);},onMouseDown:R=>R.stopPropagation(),title:C.nullable?"Nullable":"Not nullable",children:"?"}):jsxRuntime.jsx("span",{className:u("w-4 text-xs font-bold flex-shrink-0 text-center",C.nullable?"text-gray-400":"text-transparent"),children:C.nullable?"?":""}),C.primaryKey&&C.foreignKey?jsxRuntime.jsxs("span",{className:"flex items-center gap-0.5 flex-shrink-0",children:[a&&!o&&!n?jsxRuntime.jsx("button",{type:"button",className:"flex-shrink-0 cursor-pointer",onClick:R=>{R.stopPropagation(),W(C.id,true);},onMouseDown:R=>R.stopPropagation(),title:"Primary Key (click to remove)",children:jsxRuntime.jsx(us,{})}):jsxRuntime.jsx(us,{}),jsxRuntime.jsx(pu,{})]}):C.primaryKey?a&&!o&&!n?jsxRuntime.jsx("button",{type:"button",className:"flex-shrink-0 cursor-pointer",onClick:R=>{R.stopPropagation(),W(C.id,true);},onMouseDown:R=>R.stopPropagation(),title:"Primary Key (click to remove)",children:jsxRuntime.jsx(us,{})}):jsxRuntime.jsx(us,{}):C.foreignKey?jsxRuntime.jsx(pu,{}):a&&!o&&!n?jsxRuntime.jsx("button",{type:"button",className:"w-3.5 h-3.5 flex-shrink-0 rounded text-gray-300 hover:text-indigo-400 transition-colors cursor-pointer",onClick:R=>{R.stopPropagation(),W(C.id,false);},onMouseDown:R=>R.stopPropagation(),title:"Set as Primary Key","aria-label":"Set as primary key",children:jsxRuntime.jsxs("svg",{className:"w-3.5 h-3.5",viewBox:"0 0 16 16",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round",opacity:"0.3",children:[jsxRuntime.jsx("path",{d:"M10 1l2 2-5 5M8.5 4.5L11 7"}),jsxRuntime.jsx("circle",{cx:"4.5",cy:"11.5",r:"3"})]})}):jsxRuntime.jsx("span",{className:"w-3.5 flex-shrink-0"}),a&&!o&&!n?jsxRuntime.jsx("input",{className:u("flex-1 min-w-0 text-xs bg-transparent border-none outline-none focus:ring-0 p-0 truncate cursor-text",C.primaryKey?"text-blue-600 dark:text-blue-400 font-medium":"text-gray-700 dark:text-gray-300"),"aria-label":"Field name",value:C.name,onChange:R=>k(C.id,R.target.value),onMouseDown:R=>R.stopPropagation()}):jsxRuntime.jsx("span",{className:u("flex-1 min-w-0 text-xs truncate",C.primaryKey?"text-blue-600 dark:text-blue-400 font-medium":"text-gray-700 dark:text-gray-300"),children:C.name}),a&&!o&&!n?jsxRuntime.jsxs("select",{className:"text-xs text-gray-400 dark:text-gray-500 bg-transparent border-none outline-none focus:ring-0 p-0 cursor-pointer text-right",value:C.type,onChange:R=>I(C.id,R.target.value),onMouseDown:R=>R.stopPropagation(),children:[y.map(R=>jsxRuntime.jsx("option",{value:R,children:R},R)),!y.includes(C.type)&&jsxRuntime.jsx("option",{value:C.type,children:C.type})]}):jsxRuntime.jsx("span",{className:"text-xs text-gray-400 dark:text-gray-500 flex-shrink-0",children:C.type}),jsxRuntime.jsx(mv,{field:C,tableId:t.id,editable:a,readOnly:o,disabled:n,onFieldChange:p}),C.indexed&&jsxRuntime.jsx(mu,{}),C.unique&&jsxRuntime.jsx(gu,{}),a&&!o&&!n&&jsxRuntime.jsxs("div",{className:"absolute right-1 top-0 bottom-0 flex items-center gap-0.5 opacity-0 group-hover:opacity-100 transition-opacity bg-gradient-to-l from-white via-white to-transparent dark:from-gray-800 dark:via-gray-800 pl-4 pr-1 z-10",children:[jsxRuntime.jsx("button",{type:"button",className:u("cursor-pointer transition-opacity",C.indexed?"opacity-100":"opacity-30 hover:opacity-100"),onClick:R=>{R.stopPropagation(),L(C.id,C.indexed??false);},onMouseDown:R=>R.stopPropagation(),title:C.indexed?"Indexed (click to remove)":"Add index",children:jsxRuntime.jsx(mu,{})}),jsxRuntime.jsx("button",{type:"button",className:u("cursor-pointer transition-opacity",C.unique?"opacity-100":"opacity-30 hover:opacity-100"),onClick:R=>{R.stopPropagation(),T(C.id,C.unique??false);},onMouseDown:R=>R.stopPropagation(),title:C.unique?"Unique (click to remove)":"Add unique constraint",children:jsxRuntime.jsx(gu,{})}),jsxRuntime.jsx("button",{type:"button",className:"p-0.5 rounded text-gray-300 hover:text-red-500 hover:bg-red-50 dark:hover:bg-red-900/20 cursor-pointer",onClick:R=>{R.stopPropagation(),m?.(t.id,C.id);},onMouseDown:R=>R.stopPropagation(),title:"Remove field",children:jsxRuntime.jsx(uv,{})})]}),jsxRuntime.jsx("div",{"data-connection-side":"right","data-field-id":C.id,"data-table-id":t.id,className:u("absolute -right-[5px] w-2.5 h-2.5 rounded-full border-2 border-white dark:border-gray-800 cursor-crosshair z-10 transition-all",s?"opacity-100 bg-green-400 scale-150 shadow-[0_0_6px_rgba(74,222,128,0.6)]":"opacity-0 group-hover:opacity-100 bg-green-400"),style:{top:32/2-5}})]},C.id)),a&&!o&&!n&&jsxRuntime.jsxs("button",{type:"button",className:"flex items-center justify-center w-full gap-1 text-xs text-gray-400 hover:text-blue-500 hover:bg-gray-50 dark:hover:bg-gray-750 transition-colors cursor-pointer",style:{height:36},onClick:C=>{C.stopPropagation(),S();},onMouseDown:C=>C.stopPropagation(),children:[jsxRuntime.jsx("svg",{className:"w-3 h-3",viewBox:"0 0 16 16",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",children:jsxRuntime.jsx("path",{d:"M8 4v8M4 8h8"})}),"Add field"]})]}),!n&&!o&&jsxRuntime.jsx("div",{"data-resize-handle":"corner",className:"absolute -bottom-[5px] -right-[5px] w-[14px] h-[14px] cursor-nwse-resize z-20 group/resize",onMouseDown:C=>{C.stopPropagation(),C.preventDefault();let N=t.height??hn(t,a);x?.(t.id,C.clientX,C.clientY,b,N);},children:jsxRuntime.jsxs("svg",{className:"w-full h-full text-gray-300 group-hover/resize:text-blue-400 transition-colors",viewBox:"0 0 14 14",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",children:[jsxRuntime.jsx("path",{d:"M12 2v10H2",opacity:"0"}),jsxRuntime.jsx("path",{d:"M6 12L12 6"}),jsxRuntime.jsx("path",{d:"M10 12L12 10"})]})})]})});function fv(e,t){let r=t.find(g=>g.id===e.from.tableId),n=t.find(g=>g.id===e.to.tableId);if(!r||!n||r.collapsed||n.collapsed)return null;let o=r.fields.findIndex(g=>g.id===e.from.fieldId),a=n.fields.findIndex(g=>g.id===e.to.fieldId);if(o===-1||a===-1)return null;let s=r.width??260,l=n.width??260,i=r.x+s/2,d=n.x+l/2,c=r.y+xo(o,!!r.notes),p=n.y+xo(a,!!n.notes),f,m;return i<=d?(f=r.x+s,m=n.x):(f=r.x,m=n.x+l),{x1:f,y1:c,x2:m,y2:p,cardinality:e.cardinality??"1:n"}}var Xi=["1:1","1:n","n:1","n:n"];function bv(e){let t=Xi.indexOf(e);return Xi[(t+1)%Xi.length]}var yu=js.memo(function({relations:t,tables:r,viewport:n,selectedRelationId:o,disabled:a,onRelationClick:s,onCardinalityChange:l}){return jsxRuntime.jsx("svg",{className:"absolute top-0 left-0 pointer-events-none",style:{width:"100%",height:"100%",overflow:"visible"},children:jsxRuntime.jsx("g",{transform:`translate(${n.x}, ${n.y}) scale(${n.zoom})`,children:t.map(i=>{let d=fv(i,r);if(!d)return null;let{x1:c,y1:p,x2:f,y2:m,cardinality:g}=d,x=cs(c,p,f,m),b=o===i.id,v=(c+f)/2,y=(p+m)/2;return jsxRuntime.jsxs("g",{children:[jsxRuntime.jsx("path",{d:x,fill:"none",stroke:"transparent",strokeWidth:16,className:"pointer-events-auto cursor-pointer",onClick:M=>{a||s?.(i.id,M);}}),jsxRuntime.jsx("path",{d:x,fill:"none",stroke:b?"#3b82f6":"#9ca3af",strokeWidth:b?2.5:1.5,className:"transition-colors"}),jsxRuntime.jsx("circle",{cx:c,cy:p,r:3,fill:b?"#3b82f6":"#9ca3af"}),jsxRuntime.jsx("circle",{cx:f,cy:m,r:3,fill:b?"#3b82f6":"#9ca3af"}),g&&jsxRuntime.jsxs("g",{className:a?void 0:"pointer-events-auto cursor-pointer",onClick:a?void 0:M=>{M.stopPropagation(),l?.(i.id,bv(g));},children:[jsxRuntime.jsx("rect",{x:v-14,y:y-9,width:28,height:18,rx:4,fill:"white",stroke:b?"#3b82f6":"#d1d5db",strokeWidth:1}),jsxRuntime.jsx("text",{x:v,y:y+4,textAnchor:"middle",className:"text-[10px] font-mono",fill:b?"#3b82f6":"#6b7280",children:g})]})]},i.id)})})})});var yv=()=>jsxRuntime.jsx("svg",{className:"w-4 h-4",viewBox:"0 0 20 20",fill:"currentColor","aria-hidden":"true",children:jsxRuntime.jsx("path",{fillRule:"evenodd",d:"M10 5a1 1 0 011 1v3h3a1 1 0 110 2h-3v3a1 1 0 11-2 0v-3H6a1 1 0 110-2h3V6a1 1 0 011-1z",clipRule:"evenodd"})}),xv=()=>jsxRuntime.jsx("svg",{className:"w-4 h-4",viewBox:"0 0 20 20",fill:"currentColor","aria-hidden":"true",children:jsxRuntime.jsx("path",{fillRule:"evenodd",d:"M5 10a1 1 0 011-1h8a1 1 0 110 2H6a1 1 0 01-1-1z",clipRule:"evenodd"})}),vv=()=>jsxRuntime.jsx("svg",{className:"w-4 h-4",viewBox:"0 0 20 20",fill:"currentColor","aria-hidden":"true",children:jsxRuntime.jsx("path",{fillRule:"evenodd",d:"M4 2a1 1 0 011 1v2.101a7.002 7.002 0 0111.601 2.566 1 1 0 11-1.885.666A5.002 5.002 0 005.999 7H9a1 1 0 010 2H4a1 1 0 01-1-1V3a1 1 0 011-1zm.008 9.057a1 1 0 011.276.61A5.002 5.002 0 0014.001 13H11a1 1 0 110-2h5a1 1 0 011 1v5a1 1 0 11-2 0v-2.101a7.002 7.002 0 01-11.601-2.566 1 1 0 01.61-1.276z",clipRule:"evenodd"})}),kv=()=>jsxRuntime.jsx("svg",{className:"w-4 h-4",viewBox:"0 0 20 20",fill:"currentColor","aria-hidden":"true",children:jsxRuntime.jsx("path",{d:"M3 4a1 1 0 011-1h4a1 1 0 010 2H6.414l2.293 2.293a1 1 0 01-1.414 1.414L5 6.414V8a1 1 0 01-2 0V4zm9 1a1 1 0 010-2h4a1 1 0 011 1v4a1 1 0 01-2 0V6.414l-2.293 2.293a1 1 0 11-1.414-1.414L13.586 5H12zm-9 7a1 1 0 012 0v1.586l2.293-2.293a1 1 0 011.414 1.414L6.414 15H8a1 1 0 010 2H4a1 1 0 01-1-1v-4zm13 0a1 1 0 01-2 0v-1.586l-2.293 2.293a1 1 0 01-1.414-1.414L13.586 9H12a1 1 0 010-2h4a1 1 0 011 1v4z"})}),Cv=()=>jsxRuntime.jsx("svg",{className:"w-4 h-4",viewBox:"0 0 20 20",fill:"currentColor","aria-hidden":"true",children:jsxRuntime.jsx("path",{fillRule:"evenodd",d:"M6 2a2 2 0 00-2 2v12a2 2 0 002 2h8a2 2 0 002-2V4a2 2 0 00-2-2H6zm4 5a1 1 0 011 1v1h1a1 1 0 110 2h-1v1a1 1 0 11-2 0v-1H8a1 1 0 110-2h1V8a1 1 0 011-1z",clipRule:"evenodd"})}),wv=()=>jsxRuntime.jsx("svg",{className:"w-4 h-4",viewBox:"0 0 20 20",fill:"currentColor","aria-hidden":"true",children:jsxRuntime.jsx("path",{fillRule:"evenodd",d:"M3 17a1 1 0 011-1h12a1 1 0 110 2H4a1 1 0 01-1-1zm3.293-7.707a1 1 0 011.414 0L9 10.586V3a1 1 0 112 0v7.586l1.293-1.293a1 1 0 111.414 1.414l-3 3a1 1 0 01-1.414 0l-3-3a1 1 0 010-1.414z",clipRule:"evenodd"})}),Nv=()=>jsxRuntime.jsx("svg",{className:"w-4 h-4",viewBox:"0 0 20 20",fill:"currentColor","aria-hidden":"true",children:jsxRuntime.jsx("path",{fillRule:"evenodd",d:"M3 17a1 1 0 011-1h12a1 1 0 110 2H4a1 1 0 01-1-1zM6.293 6.707a1 1 0 010-1.414l3-3a1 1 0 011.414 0l3 3a1 1 0 01-1.414 1.414L11 5.414V13a1 1 0 11-2 0V5.414L7.707 6.707a1 1 0 01-1.414 0z",clipRule:"evenodd"})}),Sv=()=>jsxRuntime.jsx("svg",{className:"w-4 h-4",viewBox:"0 0 20 20",fill:"currentColor","aria-hidden":"true",children:jsxRuntime.jsx("path",{fillRule:"evenodd",d:"M2 5a2 2 0 012-2h12a2 2 0 012 2v2a2 2 0 01-2 2H4a2 2 0 01-2-2V5zm14 1a1 1 0 11-2 0 1 1 0 012 0zM2 13a2 2 0 012-2h12a2 2 0 012 2v2a2 2 0 01-2 2H4a2 2 0 01-2-2v-2zm14 1a1 1 0 11-2 0 1 1 0 012 0z",clipRule:"evenodd"})}),Rv=()=>jsxRuntime.jsx("svg",{className:"w-4 h-4",viewBox:"0 0 20 20",fill:"currentColor","aria-hidden":"true",children:jsxRuntime.jsx("path",{fillRule:"evenodd",d:"M7.707 3.293a1 1 0 010 1.414L5.414 7H11a7 7 0 017 7v2a1 1 0 11-2 0v-2a5 5 0 00-5-5H5.414l2.293 2.293a1 1 0 11-1.414 1.414l-4-4a1 1 0 010-1.414l4-4a1 1 0 011.414 0z",clipRule:"evenodd"})}),Tv=()=>jsxRuntime.jsx("svg",{className:"w-4 h-4",viewBox:"0 0 20 20",fill:"currentColor","aria-hidden":"true",children:jsxRuntime.jsx("path",{fillRule:"evenodd",d:"M12.293 3.293a1 1 0 011.414 0l4 4a1 1 0 010 1.414l-4 4a1 1 0 01-1.414-1.414L14.586 9H9a5 5 0 00-5 5v2a1 1 0 11-2 0v-2a7 7 0 017-7h5.586l-2.293-2.293a1 1 0 010-1.414z",clipRule:"evenodd"})}),Pv=()=>jsxRuntime.jsx("svg",{className:"w-4 h-4",viewBox:"0 0 20 20",fill:"currentColor","aria-hidden":"true",children:jsxRuntime.jsx("path",{d:"M3 3h4v4H3V3zm0 10h4v4H3v-4zm10-10h4v4h-4V3zm0 10h4v4h-4v-4zM7 5h6v1H7V5zm0 8h6v1H7v-1zM5 7v6h1V7H5zm8 0v6h1V7h-1z"})}),xu=js.memo(function({zoom:t,onZoomIn:r,onZoomOut:n,onResetView:o,onFitToContent:a,onAddTable:s,onExportJSON:l,onImportJSON:i,onExportSQL:d,onUndo:c,onRedo:p,canUndo:f=false,canRedo:m=false,onAutoLayout:g,disabled:x,className:b}){let[v,y]=js.useState(false),[M,w]=js.useState(false),[P,h]=js.useState(false),[E,D]=js.useState(""),[k,I]=js.useState(""),[W,O]=js.useState(""),L=js.useCallback(()=>{D(l()),y(true);},[l]),T=js.useCallback(()=>{k.trim()&&(i(k.trim()),I(""),w(false));},[k,i]),S=js.useCallback(()=>{I(""),w(false);},[]),C=js.useCallback(()=>{y(false);},[]),N=js.useCallback(()=>{d&&(O(d()),h(true));},[d]),R=js.useCallback(()=>{h(false);},[]),$=Math.round(t*100);return jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsxs("div",{className:u("absolute top-3 left-3 z-20 flex items-center gap-2 bg-white dark:bg-gray-800 rounded-lg shadow-md border border-gray-200 dark:border-gray-600 px-2 py-1.5",b),"data-testid":"schema-toolbar",onMouseDown:H=>H.stopPropagation(),children:[jsxRuntime.jsxs(ao,{size:"sm",children:[jsxRuntime.jsx(yt,{content:"Zoom in",size:"sm",position:"bottom",children:jsxRuntime.jsx(ht,{icon:jsxRuntime.jsx(yv,{}),size:"sm",bgColor:"bg-gray-100 hover:bg-gray-200 dark:bg-gray-700 dark:hover:bg-gray-600",textColor:"text-gray-700 dark:text-gray-200",onClick:r,disabled:x,"aria-label":"Zoom in"})}),jsxRuntime.jsx(yt,{content:"Zoom out",size:"sm",position:"bottom",children:jsxRuntime.jsx(ht,{icon:jsxRuntime.jsx(xv,{}),size:"sm",bgColor:"bg-gray-100 hover:bg-gray-200 dark:bg-gray-700 dark:hover:bg-gray-600",textColor:"text-gray-700 dark:text-gray-200",onClick:n,disabled:x,"aria-label":"Zoom out"})})]}),jsxRuntime.jsxs("span",{className:"text-xs font-mono text-gray-500 dark:text-gray-400 min-w-[3ch] text-center select-none",children:[$,"%"]}),jsxRuntime.jsx("div",{className:"w-px h-5 bg-gray-200 dark:bg-gray-600"}),jsxRuntime.jsx(yt,{content:"Reset view",size:"sm",position:"bottom",children:jsxRuntime.jsx(ht,{icon:jsxRuntime.jsx(vv,{}),size:"sm",bgColor:"bg-gray-100 hover:bg-gray-200 dark:bg-gray-700 dark:hover:bg-gray-600",textColor:"text-gray-700 dark:text-gray-200",onClick:o,disabled:x,"aria-label":"Reset view"})}),jsxRuntime.jsx(yt,{content:"Fit to content",size:"sm",position:"bottom",children:jsxRuntime.jsx(ht,{icon:jsxRuntime.jsx(kv,{}),size:"sm",bgColor:"bg-gray-100 hover:bg-gray-200 dark:bg-gray-700 dark:hover:bg-gray-600",textColor:"text-gray-700 dark:text-gray-200",onClick:a,disabled:x,"aria-label":"Fit to content"})}),jsxRuntime.jsx("div",{className:"w-px h-5 bg-gray-200 dark:bg-gray-600"}),jsxRuntime.jsx(yt,{content:"Add table",size:"sm",position:"bottom",children:jsxRuntime.jsx(ht,{icon:jsxRuntime.jsx(Cv,{}),size:"sm",bgColor:"bg-gray-100 hover:bg-gray-200 dark:bg-gray-700 dark:hover:bg-gray-600",textColor:"text-gray-700 dark:text-gray-200",onClick:s,disabled:x,"aria-label":"Add table"})}),jsxRuntime.jsx("div",{className:"w-px h-5 bg-gray-200 dark:bg-gray-600"}),jsxRuntime.jsx(yt,{content:"Export JSON",size:"sm",position:"bottom",children:jsxRuntime.jsx(ht,{icon:jsxRuntime.jsx(wv,{}),size:"sm",bgColor:"bg-gray-100 hover:bg-gray-200 dark:bg-gray-700 dark:hover:bg-gray-600",textColor:"text-gray-700 dark:text-gray-200",onClick:L,disabled:x,"aria-label":"Export JSON"})}),jsxRuntime.jsx(yt,{content:"Import JSON",size:"sm",position:"bottom",children:jsxRuntime.jsx(ht,{icon:jsxRuntime.jsx(Nv,{}),size:"sm",bgColor:"bg-gray-100 hover:bg-gray-200 dark:bg-gray-700 dark:hover:bg-gray-600",textColor:"text-gray-700 dark:text-gray-200",onClick:()=>w(true),disabled:x,"aria-label":"Import JSON"})}),d&&jsxRuntime.jsx(yt,{content:"Export SQL",size:"sm",position:"bottom",children:jsxRuntime.jsx(ht,{icon:jsxRuntime.jsx(Sv,{}),size:"sm",bgColor:"bg-gray-100 hover:bg-gray-200 dark:bg-gray-700 dark:hover:bg-gray-600",textColor:"text-gray-700 dark:text-gray-200",onClick:N,disabled:x,"aria-label":"Export SQL"})}),(c||p)&&jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx("div",{className:"w-px h-5 bg-gray-200 dark:bg-gray-600"}),jsxRuntime.jsxs(ao,{size:"sm",children:[jsxRuntime.jsx(yt,{content:"Undo (Ctrl+Z)",size:"sm",position:"bottom",children:jsxRuntime.jsx(ht,{icon:jsxRuntime.jsx(Rv,{}),size:"sm",bgColor:"bg-gray-100 hover:bg-gray-200 dark:bg-gray-700 dark:hover:bg-gray-600",textColor:"text-gray-700 dark:text-gray-200",onClick:c,disabled:x||!f,"aria-label":"Undo"})}),jsxRuntime.jsx(yt,{content:"Redo (Ctrl+Y)",size:"sm",position:"bottom",children:jsxRuntime.jsx(ht,{icon:jsxRuntime.jsx(Tv,{}),size:"sm",bgColor:"bg-gray-100 hover:bg-gray-200 dark:bg-gray-700 dark:hover:bg-gray-600",textColor:"text-gray-700 dark:text-gray-200",onClick:p,disabled:x||!m,"aria-label":"Redo"})})]})]}),g&&jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx("div",{className:"w-px h-5 bg-gray-200 dark:bg-gray-600"}),jsxRuntime.jsx(yt,{content:"Auto layout",size:"sm",position:"bottom",children:jsxRuntime.jsx(ht,{icon:jsxRuntime.jsx(Pv,{}),size:"sm",bgColor:"bg-gray-100 hover:bg-gray-200 dark:bg-gray-700 dark:hover:bg-gray-600",textColor:"text-gray-700 dark:text-gray-200",onClick:g,disabled:x,"aria-label":"Auto layout"})})]})]}),jsxRuntime.jsx(rn,{isOpen:v,onClose:C,title:"Export Schema",description:"Copy the JSON below to save your schema.",size:"lg",showSubmit:false,showCancel:true,cancelLabel:"Close",children:jsxRuntime.jsx(Vr,{label:"Schema JSON",multiline:true,rows:12,value:E,readOnly:true,size:"sm"})}),jsxRuntime.jsx(rn,{isOpen:M,onClose:S,title:"Import Schema",description:"Paste schema JSON to load it into the editor.",size:"lg",showSubmit:true,submitLabel:"Import",onSubmitClick:T,showCancel:true,cancelLabel:"Cancel",children:jsxRuntime.jsx(Vr,{label:"Schema JSON",multiline:true,rows:12,value:k,onChange:H=>I(H.target.value),placeholder:'{"tables": [], "relations": []}',size:"sm"})}),jsxRuntime.jsx(rn,{isOpen:P,onClose:R,title:"Export SQL",description:"Generated PostgreSQL CREATE TABLE statements.",size:"lg",showSubmit:false,showCancel:true,cancelLabel:"Close",children:jsxRuntime.jsx(Vr,{label:"SQL",multiline:true,rows:16,value:W,readOnly:true,size:"sm"})})]})});var Dv=()=>jsxRuntime.jsxs("svg",{className:"w-3.5 h-3.5",viewBox:"0 0 16 16",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round",children:[jsxRuntime.jsx("path",{d:"M10 1l2 2-5 5M8.5 4.5L11 7"}),jsxRuntime.jsx("circle",{cx:"4.5",cy:"11.5",r:"3"})]}),Mv=()=>jsxRuntime.jsx("span",{className:"text-xs font-bold text-gray-500 w-3.5 text-center",children:"?"}),Iv=()=>jsxRuntime.jsxs("svg",{className:"w-3.5 h-3.5",viewBox:"0 0 16 16",fill:"currentColor",children:[jsxRuntime.jsx("circle",{cx:"8",cy:"8",r:"6",className:"fill-blue-500"}),jsxRuntime.jsx("path",{d:"M5 8h6M8 5l3 3-3 3",stroke:"white",strokeWidth:"1.5",fill:"none",strokeLinecap:"round",strokeLinejoin:"round"})]}),Lv=()=>jsxRuntime.jsx("svg",{className:"w-3.5 h-3.5 text-amber-500",viewBox:"0 0 16 16",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round",children:jsxRuntime.jsx("path",{d:"M3 2v12M7 4h6M7 8h4M7 12h5"})}),Av=()=>jsxRuntime.jsx("svg",{className:"w-3.5 h-3.5 text-purple-500",viewBox:"0 0 16 16",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round",children:jsxRuntime.jsx("path",{d:"M4 2v8a4 4 0 008 0V2"})}),vu=js.memo(function({className:t}){return jsxRuntime.jsxs("div",{className:u("absolute top-3 right-3 z-20 flex items-center gap-4 bg-white dark:bg-gray-800 rounded-lg shadow-md border border-gray-200 dark:border-gray-600 px-3 py-2",t),"data-testid":"schema-legend",children:[jsxRuntime.jsxs("div",{className:"flex items-center gap-1.5",children:[jsxRuntime.jsx(Dv,{}),jsxRuntime.jsx("span",{className:"text-xs text-gray-600 dark:text-gray-300",children:"Primary Key"})]}),jsxRuntime.jsxs("div",{className:"flex items-center gap-1.5",children:[jsxRuntime.jsx(Mv,{}),jsxRuntime.jsx("span",{className:"text-xs text-gray-600 dark:text-gray-300",children:"Nullable"})]}),jsxRuntime.jsxs("div",{className:"flex items-center gap-1.5",children:[jsxRuntime.jsx(Iv,{}),jsxRuntime.jsx("span",{className:"text-xs text-gray-600 dark:text-gray-300",children:"Foreign Key"})]}),jsxRuntime.jsxs("div",{className:"flex items-center gap-1.5",children:[jsxRuntime.jsx(Lv,{}),jsxRuntime.jsx("span",{className:"text-xs text-gray-600 dark:text-gray-300",children:"Index"})]}),jsxRuntime.jsxs("div",{className:"flex items-center gap-1.5",children:[jsxRuntime.jsx(Av,{}),jsxRuntime.jsx("span",{className:"text-xs text-gray-600 dark:text-gray-300",children:"Unique"})]})]})});var ms=180,gs=120,wo=10,ku=js.memo(function({tables:t,viewport:r,containerWidth:n,containerHeight:o,editable:a,onViewportChange:s,className:l}){let i=js.useRef(null),d=js.useMemo(()=>{if(t.length===0)return null;let P=1/0,h=1/0,E=-1/0,D=-1/0;for(let R of t){let $=R.width??260,H=hn(R,a);P=Math.min(P,R.x),h=Math.min(h,R.y),E=Math.max(E,R.x+$),D=Math.max(D,R.y+H);}let k=-r.x/r.zoom,I=-r.y/r.zoom,W=k+n/r.zoom,O=I+o/r.zoom;P=Math.min(P,k),h=Math.min(h,I),E=Math.max(E,W),D=Math.max(D,O);let L=E-P+wo*2,T=D-h+wo*2,S=Math.min((ms-4)/L,(gs-4)/T),C=(ms-L*S)/2,N=(gs-T*S)/2;return {minX:P,minY:h,scale:S,offsetX:C,offsetY:N,vpMinX:k,vpMinY:I}},[t,r,n,o,a]),c=js.useCallback(P=>{if(!d)return;let h=i.current?.getBoundingClientRect();if(!h)return;let E=P.clientX-h.left,D=P.clientY-h.top,k=(E-d.offsetX)/d.scale+d.minX-wo,I=(D-d.offsetY)/d.scale+d.minY-wo;s({...r,x:-(k-n/(2*r.zoom))*r.zoom,y:-(I-o/(2*r.zoom))*r.zoom});},[d,r,n,o,s]);if(!d)return null;let{minX:p,minY:f,scale:m,offsetX:g,offsetY:x,vpMinX:b,vpMinY:v}=d,y=(P,h)=>({x:(P-p+wo)*m+g,y:(h-f+wo)*m+x}),M=y(b,v),w={w:n/r.zoom*m,h:o/r.zoom*m};return jsxRuntime.jsx("div",{ref:i,className:u("absolute bottom-3 right-3 z-20 bg-white/90 dark:bg-gray-800/90 rounded-lg shadow-md border border-gray-200 dark:border-gray-600 cursor-pointer overflow-hidden",l),style:{width:ms,height:gs},onClick:c,onMouseDown:P=>P.stopPropagation(),"data-testid":"schema-minimap",children:jsxRuntime.jsxs("svg",{width:ms,height:gs,children:[t.map(P=>{let h=P.width??260,E=hn(P,a),D=y(P.x,P.y);return jsxRuntime.jsx("rect",{x:D.x,y:D.y,width:h*m,height:E*m,fill:P.color??"#e5e7eb",stroke:"#9ca3af",strokeWidth:.5,rx:1},P.id)}),jsxRuntime.jsx("rect",{x:M.x,y:M.y,width:w.w,height:w.h,fill:"rgba(59, 130, 246, 0.1)",stroke:"#3b82f6",strokeWidth:1,rx:1})]})})});function sn(e){return `"${e.replace(/"/g,'""')}"`}function Cu(e){return {text:"TEXT",varchar:"VARCHAR(255)",char:"CHAR(1)",int2:"SMALLINT",int4:"INTEGER",int8:"BIGINT",serial:"SERIAL",bigserial:"BIGSERIAL",float4:"REAL",float8:"DOUBLE PRECISION",numeric:"NUMERIC",decimal:"DECIMAL",bool:"BOOLEAN",date:"DATE",time:"TIME",timestamp:"TIMESTAMP",timestamptz:"TIMESTAMP WITH TIME ZONE",uuid:"UUID",json:"JSON",jsonb:"JSONB",bytea:"BYTEA"}[e]??e.toUpperCase()}function Bv(e){let t=[sn(e.name)];return e.type==="serial"||e.type,t.push(Cu(e.type)),e.primaryKey&&t.push("PRIMARY KEY"),!e.nullable&&!e.primaryKey&&t.push("NOT NULL"),e.unique&&!e.primaryKey&&t.push("UNIQUE"),e.defaultValue&&t.push(`DEFAULT ${e.defaultValue}`)," "+t.join(" ")}function Ov(e,t,r){let n=[],o=[];for(let i of e.fields)n.push(Bv(i));for(let i of e.fields)if(i.foreignKey){let d=r.find(p=>p.id===i.foreignKey.tableId),c=d?.fields.find(p=>p.id===i.foreignKey.fieldId);d&&c&&o.push(` CONSTRAINT ${sn(`fk_${e.name}_${i.name}`)} FOREIGN KEY (${sn(i.name)}) REFERENCES ${sn(d.name)} (${sn(c.name)})`);}let a=[];for(let i of e.fields)i.indexed&&!i.primaryKey&&!i.unique&&a.push(`CREATE INDEX ${sn(`idx_${e.name}_${i.name}`)} ON ${sn(e.name)} (${sn(i.name)});`);let s=[...n,...o],l=`CREATE TABLE ${sn(e.name)} (
23
+ `,role:"tooltip",children:[(d||s)&&jsxRuntime.jsxs("div",{className:"flex items-center justify-between px-4 py-2 border-b border-gray-200 dark:border-gray-700 bg-gray-50 dark:bg-gray-800/50",children:[jsxRuntime.jsx("div",{className:"flex items-center gap-2",children:d&&jsxRuntime.jsx("h3",{className:"text-sm font-semibold",children:d})}),s&&jsxRuntime.jsx("div",{className:"flex items-center gap-1",children:v?jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx("button",{type:"button",onClick:B,disabled:S,className:"p-1.5 rounded-md hover:bg-green-100 dark:hover:bg-green-900/30 text-green-600 dark:text-green-400 transition-colors disabled:opacity-50 cursor-pointer",title:"Sauvegarder",children:S?Fx:Hx}),jsxRuntime.jsx("button",{type:"button",onClick:P,className:"p-1.5 rounded-md hover:bg-gray-200 dark:hover:bg-gray-700 text-gray-500 hover:text-gray-700 dark:hover:text-gray-300 transition-colors cursor-pointer",title:"Annuler",children:Bx}),i&&jsxRuntime.jsx("button",{type:"button",onClick:C,disabled:S,className:"p-1.5 rounded-md hover:bg-orange-100 dark:hover:bg-orange-900/30 text-orange-600 dark:text-orange-400 transition-colors disabled:opacity-50 cursor-pointer",title:"R\xE9initialiser",children:Vx})]}):jsxRuntime.jsx("button",{type:"button",onClick:H,className:"p-1.5 rounded-md hover:bg-gray-200 dark:hover:bg-gray-700 text-gray-500 hover:text-gray-700 dark:hover:text-gray-300 transition-colors cursor-pointer",title:"Modifier",children:Wx})})]}),R&&jsxRuntime.jsx("div",{className:`px-4 py-2 text-xs ${R.type==="success"?"bg-green-50 dark:bg-green-900/20 text-green-600 dark:text-green-400":"bg-red-50 dark:bg-red-900/20 text-red-600 dark:text-red-400"}`,children:R.text}),jsxRuntime.jsx("div",{className:"flex-1 overflow-y-auto p-4",children:v?t?u?jsxRuntime.jsx(u,{value:h,onChange:I,placeholder:"\xC9crivez en Markdown..."}):jsxRuntime.jsx("p",{role:"alert",className:"p-3 text-sm text-gray-500 dark:text-gray-400",children:f??m.markdownEditorUnavailable}):jsxRuntime.jsx("div",{className:"space-y-2",children:jsxRuntime.jsx("textarea",{ref:k,"aria-label":"Contenu d'aide",value:h,onChange:E=>I(E.target.value),className:"w-full h-64 p-3 text-sm bg-gray-50 dark:bg-gray-800 border border-gray-200 dark:border-gray-700 rounded-lg resize-none focus:outline-none focus:ring-2 focus:ring-blue-500/50 text-gray-700 dark:text-gray-300 font-mono",placeholder:"\xC9crivez votre contenu d'aide..."})}):typeof b=="string"?jsxRuntime.jsx("div",{className:"prose prose-sm dark:prose-invert max-w-none",children:t?jsxRuntime.jsx(Ax__default.default,{remarkPlugins:Xx,components:Gx,children:b}):jsxRuntime.jsx("div",{dangerouslySetInnerHTML:{__html:Ix__default.default.sanitize(b)}})}):b})]})]}):null}function Kx({children:e,content:t,markdown:r=false,position:n="bottom",size:o="sm",visible:a=true,editable:s=false,onSave:l,onReset:i,width:c="md",title:d,className:u,markdownEditor:f,markdownEditorUnavailableLabel:m}){return jsxRuntime.jsxs("div",{className:"inline-flex items-center gap-2.5",children:[e,jsxRuntime.jsx(Gu,{content:t,markdown:r,position:n,size:o,visible:a,editable:s,onSave:l,onReset:i,width:c,title:d,className:u,markdownEditor:f,markdownEditorUnavailableLabel:m})]})}var Zx={"16/9":"aspect-[16/9]","4/3":"aspect-[4/3]","1/1":"aspect-square",auto:""},Qx=e=>new Promise((t,r)=>{let n=new FileReader;n.onload=o=>{let a=o.target?.result;t(a);},n.onerror=()=>{r(new Error("Erreur lors de la lecture du fichier"));},n.readAsDataURL(e);});function Jx({value:e,onChange:t,onUpload:r,label:n="Image",maxSize:o=5*1024*1024,accept:a="image/*",helpText:s,disabled:l=false,className:i="",showUrlInput:c=true,urlPlaceholder:d="https://example.com/image.jpg",aspectRatio:u="16/9"}){let[f,m]=el.useState(false),[p,w]=el.useState(null),v=el.useRef(null),x=el.useId(),h=el.useMemo(()=>(o/(1024*1024)).toFixed(0),[o]),I=`Formats accept\xE9s : ${a==="image/*"?"JPG, PNG, GIF, WebP":a} (max ${h}MB)`,S=el.useCallback(async M=>{let k=M.target.files?.[0];if(k){if(!k.type.startsWith("image/")){w("Le fichier doit \xEAtre une image");return}if(k.size>o){w(`Le fichier est trop volumineux (max ${h}MB)`);return}m(true),w(null);try{if(r){let z=await r(k);t(z);}else {let z=await Qx(k);t(z);}v.current&&(v.current.value="");}catch(z){console.error("Upload error:",z),w(z instanceof Error?z.message:"Erreur lors de l'upload");}finally{m(false);}}},[o,h,t,r]),L=el.useCallback(()=>{t(""),v.current&&(v.current.value=""),w(null);},[t]),R=el.useCallback(M=>{t(M),w(null);},[t]),T=el.useCallback(()=>{v.current?.click();},[]),y=el.useCallback(M=>{R(M.target.value);},[R]);return jsxRuntime.jsxs("div",{className:`space-y-2 ${i}`,children:[n&&jsxRuntime.jsx("label",{className:"block text-sm font-semibold text-gray-700 dark:text-gray-300",children:n}),e&&jsxRuntime.jsxs("div",{className:"relative w-full overflow-hidden rounded-lg border border-gray-300 dark:border-gray-600 bg-gray-50 dark:bg-gray-800/50",children:[jsxRuntime.jsx("div",{className:`relative ${Zx[u]} ${u==="auto"?"max-h-64":""} flex items-center justify-center`,children:jsxRuntime.jsx("img",{src:e,alt:"Aper\xE7u",className:"w-full h-full object-contain"})}),jsxRuntime.jsx("button",{type:"button",onClick:L,disabled:l,className:"absolute top-2 right-2 bg-red-500 text-white rounded-full w-6 h-6 flex items-center justify-center text-xs hover:bg-red-600 transition-colors cursor-pointer disabled:opacity-50 disabled:cursor-not-allowed",title:"Supprimer l'image",children:"\xD7"})]}),jsxRuntime.jsxs("div",{className:"flex gap-2",children:[jsxRuntime.jsx("input",{ref:v,type:"file","aria-label":"Choisir une image",accept:a,onChange:S,className:"hidden",disabled:l||f}),jsxRuntime.jsx("button",{type:"button",onClick:T,disabled:l||f,className:"px-3 py-2 text-sm border border-gray-300 dark:border-gray-600 rounded-md hover:bg-gray-50 dark:hover:bg-gray-700 disabled:opacity-50 disabled:cursor-not-allowed transition-colors cursor-pointer bg-white dark:bg-gray-800 text-gray-700 dark:text-gray-200",children:f?"\u23F3 Upload...":e?"\u{1F4C1} Changer l'image":"\u{1F4C1} Choisir une image"})]}),c&&jsxRuntime.jsxs("div",{className:"space-y-1",children:[jsxRuntime.jsx("label",{htmlFor:x,className:"block text-xs text-gray-500 dark:text-gray-400",children:"Ou URL directe :"}),jsxRuntime.jsx("input",{id:x,type:"url",value:e||"",onChange:y,placeholder:d,disabled:l,className:"w-full px-3 py-2 text-sm border border-gray-300 dark:border-gray-600 rounded-md focus:ring-2 focus:ring-blue-500 focus:border-blue-500 dark:bg-gray-800 dark:text-gray-200 disabled:opacity-50 disabled:cursor-not-allowed"})]}),p&&jsxRuntime.jsxs("div",{className:"text-red-600 dark:text-red-400 text-sm bg-red-50 dark:bg-red-900/20 p-2 rounded border border-red-200 dark:border-red-800",children:["\u274C ",p]}),jsxRuntime.jsx("div",{className:"text-xs text-gray-500 dark:text-gray-400",children:s||I})]})}var ti={default:"bg-gray-400",primary:"bg-blue-600",success:"bg-green-500",warning:"bg-yellow-400",error:"bg-red-500",info:"bg-cyan-500",dark:"bg-gray-900 dark:bg-gray-700",purple:"bg-purple-600",indigo:"bg-indigo-600",teal:"bg-teal-500"},Ol={xs:"w-2 h-2",sm:"w-2.5 h-2.5",md:"w-3 h-3",lg:"w-3.5 h-3.5",xl:"w-4 h-4"},ev={xs:"min-w-4 h-4 text-[10px] px-1",sm:"min-w-5 h-5 text-xs px-1",md:"min-w-5 h-5 text-xs px-1.5",lg:"min-w-6 h-6 text-sm px-1.5",xl:"min-w-7 h-7 text-sm px-2"},$l={"top-left":"top-0 left-0 -translate-x-1/2 -translate-y-1/2","top-center":"top-0 left-1/2 -translate-x-1/2 -translate-y-1/2","top-right":"top-0 right-0 translate-x-1/2 -translate-y-1/2","center-left":"top-1/2 left-0 -translate-x-1/2 -translate-y-1/2",center:"top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2","center-right":"top-1/2 right-0 translate-x-1/2 -translate-y-1/2","bottom-left":"bottom-0 left-0 -translate-x-1/2 translate-y-1/2","bottom-center":"bottom-0 left-1/2 -translate-x-1/2 translate-y-1/2","bottom-right":"bottom-0 right-0 translate-x-1/2 translate-y-1/2"},_l={"top-left":"top-0 left-0","top-center":"top-0 left-1/2 -translate-x-1/2","top-right":"top-0 right-0","center-left":"top-1/2 left-0 -translate-y-1/2",center:"top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2","center-right":"top-1/2 right-0 -translate-y-1/2","bottom-left":"bottom-0 left-0","bottom-center":"bottom-0 left-1/2 -translate-x-1/2","bottom-right":"bottom-0 right-0"};function tv(e,t){return e>t?`${t}+`:`${e}`}function rv({color:e="primary",size:t="md",placement:r="top-right",bordered:n=false,borderColor:o,pulse:a=false,offset:s=false,className:l,...i}){return jsxRuntime.jsx("span",{"data-testid":"indicator",className:g("absolute z-10 rounded-full",ti[e],Ol[t],s?_l[r]:$l[r],n&&g("ring-2 ring-white dark:ring-gray-900",o),a&&"animate-pulse",l),...i})}function nv({color:e="error",size:t="md",placement:r="top-right",count:n=0,maxCount:o=99,bordered:a=false,borderColor:s,pulse:l=false,offset:i=false,className:c,...d}){return jsxRuntime.jsx("span",{"data-testid":"indicator",className:g("absolute z-10 inline-flex items-center justify-center rounded-full font-semibold text-white",ti[e],ev[t],i?_l[r]:$l[r],a&&g("ring-2 ring-white dark:ring-gray-900",s),l&&"animate-pulse",c),...d,children:tv(n,o)})}function ov({color:e="success",size:t="md",placement:r="bottom-right",bordered:n=true,borderColor:o,pulse:a=false,offset:s=false,className:l,...i}){return jsxRuntime.jsx("span",{"data-testid":"indicator",className:g("absolute z-10 rounded-full",ti[e],Ol[t],s?_l[r]:$l[r],n&&g("ring-2 ring-white dark:ring-gray-900",o),a&&"animate-pulse",l),...i})}function av({color:e="primary",size:t="sm",label:r,className:n,...o}){return jsxRuntime.jsxs("span",{"data-testid":"indicator",className:g("inline-flex items-center gap-2",n),...o,children:[jsxRuntime.jsx("span",{className:g("rounded-full shrink-0",ti[e],Ol[t])}),r?jsxRuntime.jsx("span",{className:"text-sm text-gray-700 dark:text-gray-300",children:r}):null]})}function Uu({variant:e="dot",children:t,...r}){if(e==="legend")return jsxRuntime.jsx(av,{...r});let n=(()=>{switch(e){case "count":return jsxRuntime.jsx(nv,{...r});case "status":return jsxRuntime.jsx(ov,{...r});default:return jsxRuntime.jsx(rv,{...r})}})();return t?jsxRuntime.jsxs("div",{className:"relative inline-flex",children:[t,n]}):n}Uu.displayName="Indicator";var sv={xs:"text-xs",sm:"text-sm",md:"text-sm",lg:"text-base",xl:"text-lg"},qu={xs:"w-3 h-3",sm:"w-3.5 h-3.5",md:"w-4 h-4",lg:"w-4.5 h-4.5",xl:"w-5 h-5"},iv={normal:"font-normal",medium:"font-medium",semibold:"font-semibold",bold:"font-bold"},lv={default:{default:"text-gray-700 dark:text-gray-200",light:"text-gray-500 dark:text-gray-400",strong:"text-gray-900 dark:text-white"},primary:{default:"text-blue-600 dark:text-blue-400",light:"text-blue-400 dark:text-blue-300",strong:"text-blue-700 dark:text-blue-300"},secondary:{default:"text-purple-600 dark:text-purple-400",light:"text-purple-400 dark:text-purple-300",strong:"text-purple-700 dark:text-purple-300"},success:{default:"text-green-600 dark:text-green-400",light:"text-green-400 dark:text-green-300",strong:"text-green-700 dark:text-green-300"},warning:{default:"text-yellow-600 dark:text-yellow-400",light:"text-yellow-400 dark:text-yellow-300",strong:"text-yellow-700 dark:text-yellow-300"},error:{default:"text-red-600 dark:text-red-400",light:"text-red-400 dark:text-red-300",strong:"text-red-700 dark:text-red-300"},info:{default:"text-cyan-600 dark:text-cyan-400",light:"text-cyan-400 dark:text-cyan-300",strong:"text-cyan-700 dark:text-cyan-300"},muted:{default:"text-gray-500 dark:text-gray-400",light:"text-gray-400 dark:text-gray-500",strong:"text-gray-600 dark:text-gray-300"}};function Zu({children:e,size:t="md",color:r="default",variant:n="default",weight:o="medium",textColor:a,required:s=false,requiredIndicator:l="*",optional:i=false,optionalText:c="(optional)",tooltip:d,icon:u,endIcon:f,disabled:m=false,truncate:p=false,as:w="label",className:v,...x}){let h=w,I=g("inline-flex items-center gap-1.5 transition-colors",sv[t],iv[o]),S=a||lv[r][n];return jsxRuntime.jsxs(h,{className:g(I,S,m?"opacity-50 cursor-not-allowed":"cursor-default",v),title:d,"aria-disabled":m,...x,children:[u&&jsxRuntime.jsx("span",{className:g("shrink-0",qu[t]),children:u}),jsxRuntime.jsxs("span",{className:g(p&&"truncate"),children:[e,s&&jsxRuntime.jsx("span",{className:"text-red-500 ml-0.5","aria-hidden":"true",children:l}),s&&jsxRuntime.jsx("span",{className:"sr-only",children:"(required)"})]}),i&&!s&&jsxRuntime.jsx("span",{className:"text-gray-400 dark:text-gray-500 font-normal",children:c}),f&&jsxRuntime.jsx("span",{className:g("shrink-0",qu[t]),children:f})]})}Zu.displayName="Label";var uv=2,mv=2,gv=12,pv=16,Qu="cell:",Ju=false,fv=el.memo(function({cells:t,radius:r}){return jsxRuntime.jsx("g",{children:t.map(n=>jsxRuntime.jsxs("g",{children:[jsxRuntime.jsx("rect",{x:n.x,y:n.y,width:n.width,height:n.height,rx:r,fill:n.missing?void 0:n.color,className:n.missing?"fill-gray-100 dark:fill-gray-800":void 0}),n.label?jsxRuntime.jsx("text",{x:n.x+n.width/2,y:n.y+n.height/2,textAnchor:"middle",dominantBaseline:"central",className:g("text-[10px] [font-variant-numeric:tabular-nums]",n.onDark?"fill-gray-50 dark:fill-gray-900":"fill-gray-900 dark:fill-gray-50"),children:n.label}):null]},n.key))})});function hv({width:e,height:t,columns:r,rows:n,lookup:o,colorScale:a,x:s,y:l,size:i,cellGap:c,cellRadius:d,showValues:u,tooltip:f,plotLabel:m,formatValue:p,formatX:w,formatY:v,onCellClick:x}){let[h,I]=el.useState(null),S=el.useMemo(()=>{let k=r.map((D,V)=>w(D,V)),z=n.map((D,V)=>v(D,V)),H={top:8,right:8,bottom:s.hidden?8:s.height??24+(s.label?16:0),left:l.hidden?8:l.height??wr(z)+gv+(l.label?16:0)},P=Math.max(0,e-H.left-H.right),B=Math.max(0,t-H.top-H.bottom),C=xn(r.map((D,V)=>V),[0,P],{paddingInner:0,paddingOuter:0}),b=xn(n.map((D,V)=>V),[0,B],{paddingInner:0,paddingOuter:0}),E=Math.max(0,C.bandwidth-c),N=Math.max(0,b.bandwidth-c),W=[];n.forEach((D,V)=>{r.forEach((O,_)=>{let G=o.get(`${ft(O)}|${ft(D)}`)?.value??null,$=null;if(u&&G!==null&&N>=pv){let Y=p(G);tr(Y,10)+6<=E&&($=Y);}W.push({key:`${_}-${V}`,column:_,row:V,x:C(_)+c/2,y:b(V)+c/2,width:E,height:N,color:G===null?"transparent":a(G),label:$,onDark:G!==null&&a.onDark(G),missing:G===null});});});let F=ha(k.length,P,wr(k)),K=ha(z.length,B,15),j=s.hidden?[]:k.map((D,V)=>({value:r[V],offset:C.center(V),label:D})).filter((D,V)=>V%F===0),A=l.hidden?[]:z.map((D,V)=>({value:n[V],offset:b.center(V),label:D})).filter((D,V)=>V%K===0);return {margin:H,innerWidth:P,innerHeight:B,columnScale:C,rowScale:b,cells:W,columnTicks:j,rowTicks:A}},[r,n,o,a,s,l,e,t,c,u,p,w,v]),L=el.useCallback((k,z)=>{let H=r[k],P=n[z],B=o.get(`${ft(H)}|${ft(P)}`),C=B?.value??null;return {x:H,y:P,xLabel:w(H,k),yLabel:v(P,z),value:C,formattedValue:C===null?"\u2014":p(C),color:C===null?"transparent":a(C),datum:B?.datum}},[r,n,o,a,p,w,v]),R=el.useCallback(k=>{if(f===false||r.length===0||n.length===0)return;let z=k.currentTarget.getBoundingClientRect(),H=k.clientX-z.left-S.margin.left,P=k.clientY-z.top-S.margin.top,B=Math.floor(H/(S.columnScale.step||1)),C=Math.floor(P/(S.rowScale.step||1));if(B<0||B>=r.length||C<0||C>=n.length){I(null);return}I(b=>b?.column===B&&b.row===C?b:{column:B,row:C});},[f,r.length,n.length,S.margin,S.columnScale,S.rowScale]),T=el.useCallback(k=>{if(r.length===0||n.length===0)return;let z=h??{column:0,row:0},H;switch(k.key){case "ArrowRight":H={...z,column:Math.min(r.length-1,z.column+1)};break;case "ArrowLeft":H={...z,column:Math.max(0,z.column-1)};break;case "ArrowDown":H={...z,row:Math.min(n.length-1,z.row+1)};break;case "ArrowUp":H={...z,row:Math.max(0,z.row-1)};break;case "Home":H={...z,column:0};break;case "End":H={...z,column:r.length-1};break;case "Escape":H=null;break;default:H=void 0;}H!==void 0&&(k.preventDefault(),I(H));},[r.length,n.length,h]),y=el.useCallback(()=>{!x||!h||x(L(h.column,h.row));},[x,h,L]),M=h?L(h.column,h.row):null;return jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsxs("svg",{width:e,height:t,role:"img","aria-label":m??`${s.label??s.key} / ${l.label??l.key}`,tabIndex:0,className:"touch-none focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-blue-500",onPointerMove:R,onPointerLeave:()=>I(null),onKeyDown:T,onBlur:()=>I(null),onClick:y,children:[jsxRuntime.jsxs("g",{transform:`translate(${S.margin.left}, ${S.margin.top})`,children:[jsxRuntime.jsx(fv,{cells:S.cells,radius:d}),h?jsxRuntime.jsx("rect",{x:S.columnScale(h.column)+c/2,y:S.rowScale(h.row)+c/2,width:Math.max(0,S.columnScale.bandwidth-c),height:Math.max(0,S.rowScale.bandwidth-c),rx:d,fill:"none",strokeWidth:2,className:"stroke-gray-900 dark:stroke-white","aria-hidden":"true"}):null]}),jsxRuntime.jsx("g",{transform:`translate(${S.margin.left}, ${S.margin.top+S.innerHeight})`,children:s.hidden?null:jsxRuntime.jsx(Ue,{orientation:"bottom",ticks:S.columnTicks,length:S.innerWidth,showLine:false,tickSize:0,label:s.label,size:i})}),jsxRuntime.jsx("g",{transform:`translate(${S.margin.left}, ${S.margin.top})`,children:l.hidden?null:jsxRuntime.jsx(Ue,{orientation:"left",ticks:S.rowTicks,length:S.innerHeight,showLine:false,tickSize:0,label:l.label,size:i})})]}),h&&M&&f!==false?jsxRuntime.jsx(dt,{x:S.margin.left+S.columnScale.center(h.column),y:S.margin.top+S.rowScale.center(h.row),containerWidth:e,children:typeof f=="function"?f(M):jsxRuntime.jsxs("div",{className:"flex flex-col gap-1",children:[jsxRuntime.jsxs("div",{className:"font-medium text-gray-900 dark:text-gray-100",children:[M.yLabel," \xB7 ",M.xLabel]}),jsxRuntime.jsxs("div",{className:"flex items-center gap-2",children:[jsxRuntime.jsx("span",{className:"h-2.5 w-2.5 shrink-0 rounded-sm",style:{backgroundColor:M.color},"aria-hidden":"true"}),jsxRuntime.jsx("span",{className:"font-semibold text-gray-900 [font-variant-numeric:tabular-nums] dark:text-gray-100",children:M.formattedValue})]})]})}):null]})}function em(e,t,r){if(r)return r;let n=new Map;return e.forEach((o,a)=>{let s=ct(o,t,a),l=ft(s);n.has(l)||n.set(l,s);}),[...n.values()]}function bv({data:e,x:t,y:r,value:n,format:o,domain:a,scale:s="sequential",center:l=0,steps:i,colors:c,xDomain:d,yDomain:u,cellGap:f=uv,cellRadius:m=mv,showValues:p=false,height:w=280,width:v,size:x="md",legend:h=true,legendLabel:I,tooltip:S=true,tableView:L=false,title:R,description:T,loading:y=false,emptyState:M,locale:k,plotLabel:z,onCellClick:H,className:P,...B}){i!==void 0&&i>ys&&!Ju&&(Ju=true,console.warn(`[@synertech/ui] A Heatmap was cut into ${i} colour classes. Past ${ys} two neighbouring cells stop being tellable apart: leave \`steps\` unset and let the ramp stay continuous.`));let C=el.useMemo(()=>em(e,t.key,d),[e,t.key,d]),b=el.useMemo(()=>em(e,r.key,u),[e,r.key,u]),E=el.useMemo(()=>{let O=new Map;return e.forEach((_,X)=>{let G=Ee(_,n);if(G===null)return;let $=ct(_,t.key,X),Y=ct(_,r.key,X);O.set(`${ft($)}|${ft(Y)}`,{value:G,datum:_});}),O},[e,t.key,r.key,n]),N=el.useMemo(()=>o??(O=>nt(O,k)),[o,k]),W=el.useMemo(()=>t.format??(O=>Ze(O,k)),[t.format,k]),F=el.useMemo(()=>r.format??(O=>Ze(O,k)),[r.format,k]),K=el.useMemo(()=>{let O=a??Yt([...E.values()].map(_=>_.value))??[0,1];return s==="diverging"?Mo(O,{center:l,steps:i,colors:c}):va(O,{steps:i,colors:c})},[a,E,s,l,i,c]),j=el.useMemo(()=>b.map(O=>{let _={[r.key]:O};return C.forEach(X=>{_[`${Qu}${ft(X)}`]=E.get(`${ft(X)}|${ft(O)}`)?.value??null;}),_}),[b,C,E,r.key]),A=el.useMemo(()=>C.map((O,_)=>({key:`${Qu}${ft(O)}`,label:W(O,_)})),[C,W]),D=h!==false,V=typeof h=="string"?h:"bottom";return jsxRuntime.jsx(lt,{title:R,description:T,height:w,width:v,size:x,loading:y,empty:E.size===0,emptyState:M,tableView:L,legendPosition:V,legend:D?jsxRuntime.jsx(Ra,{scale:K,label:I,format:N,size:x,locale:k}):void 0,table:L?jsxRuntime.jsx(zt,{data:j,series:A,xKey:r.key,xLabel:r.label??r.key,formatX:F,formatValue:N,caption:typeof R=="string"?R:void 0}):void 0,className:P,...B,children:({width:O})=>jsxRuntime.jsx(hv,{width:O,height:w,columns:C,rows:b,lookup:E,colorScale:K,x:t,y:r,size:x,cellGap:f,cellRadius:m,showValues:p,tooltip:S,plotLabel:z,formatValue:N,formatX:W,formatY:F,onCellClick:H})})}var vv=24,Cv=10,kv=10,wv=el.memo(function({lines:t,showMarkers:r}){return jsxRuntime.jsx("g",{children:t.map(n=>jsxRuntime.jsxs("g",{children:[n.solid?jsxRuntime.jsx("path",{d:n.solid,fill:"none",stroke:n.color,strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"}):null,n.dashed?jsxRuntime.jsx("path",{d:n.dashed,fill:"none",stroke:n.color,strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round",strokeDasharray:"5 4"}):null,r?n.markers.map(o=>jsxRuntime.jsx("circle",{cx:o.x,cy:o.y,r:3,fill:n.color,strokeWidth:2,className:"stroke-white dark:stroke-gray-800"},`${o.x}-${o.y}`)):null]},n.key))})});function Nv({width:e,height:t,data:r,resolvedSeries:n,x:o,y:a,grid:s,size:l,curve:i,forecastFrom:c,forecastLabel:d,markers:u,connectNulls:f,referenceLines:m,annotations:p,annotationsLabel:w,margin:v,tooltip:x,onPointClick:h,plotLabel:I,formatValue:S,formatX:L}){let[R,T]=el.useState(null),y=el.useMemo(()=>{let b=n.filter(A=>!A.hidden),E=rr({width:e,height:t,data:r,x:o,y:a,bounds:Yt(fr(r,b.map(A=>A.key))),margin:v,placement:"point",formatValue:S,formatX:L,extraTop:d?Cv:0}),N=E.categoryCenters,W=E.valueScale,F=c===void 0?-1:E.xValues.findIndex(A=>ft(A)===ft(c)),K=b.map(A=>{let D=r.map((_,X)=>{let G=Ee(_,A.key);return {x:N[X],y:G===null?Number.NaN:W(G),defined:G!==null}}),V={connectNulls:f},O=F>=0;return {key:A.key,color:A.color,solid:A.dashed?"":Xr(O?D.slice(0,F+1):D,i,V),dashed:A.dashed?Xr(D,i,V):O?Xr(D.slice(F),i,V):"",markers:D.filter(_=>_.defined!==false)}}),j=r.length>1?E.innerWidth/(r.length-1):0;return {visible:b,locate:zo(E),xValues:E.xValues,xPositions:N,xTicks:E.categoryTicks,yTicks:E.valueTicks,yScale:W,innerWidth:E.innerWidth,innerHeight:E.innerHeight,margin:E.margin,lines:K,forecastIndex:F,showMarkers:u==="always"||u==="auto"&&j>=vv&&r.length>1}},[r,n,o,a,e,t,v,i,f,c,d,u,S,L]),M=el.useCallback(b=>y.visible.map(E=>{let N=Ee(r[b],E.key);return {seriesKey:E.key,seriesLabel:Kt(E),color:E.color,value:N,formattedValue:N===null?"\u2014":S(N),datum:r[b]}}),[r,y.visible,S]),k=el.useCallback(b=>{if(x===false||r.length===0)return;let E=b.currentTarget.getBoundingClientRect(),N=b.clientX-E.left-y.margin.left,W=Vt(y.xPositions,N);T(W>=0?W:null);},[x,r.length,y.margin.left,y.xPositions]),z=el.useCallback(b=>{if(r.length===0)return;let E=r.length-1,N=R??0,W=b.key==="ArrowRight"?Math.min(E,N+1):b.key==="ArrowLeft"?Math.max(0,N-1):b.key==="Home"?0:b.key==="End"?E:b.key==="Escape"?null:void 0;W!==void 0&&(b.preventDefault(),T(W));},[r.length,R]),H=el.useCallback(()=>{if(!h||R===null)return;let[b]=M(R);b&&h({...b,index:R,x:y.xValues[R]});},[h,R,M,y.xValues]),P=R===null?null:M(R),B=(P??[]).filter(b=>b.value!==null),C=R===null||P===null?null:{x:y.xValues[R],xLabel:L(y.xValues[R],R),index:R,points:P};return jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsxs("svg",{width:e,height:t,role:"img","aria-label":I??[y.visible.map(b=>Kt(b)).join(", "),Jn(p,w)].filter(Boolean).join(". "),tabIndex:0,className:"touch-none focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-blue-500",onPointerMove:k,onPointerLeave:()=>T(null),onKeyDown:z,onBlur:()=>T(null),onClick:H,children:[jsxRuntime.jsxs("g",{transform:`translate(${y.margin.left}, ${y.margin.top})`,children:[jsxRuntime.jsx(_t,{width:y.innerWidth,height:y.innerHeight,horizontal:s==="y"||s==="both"?y.yTicks.map(b=>b.offset):void 0,vertical:s==="x"||s==="both"?y.xTicks.map(b=>b.offset):void 0}),p?jsxRuntime.jsx(tn,{layer:"under",annotations:p,xAt:y.locate,yAt:y.yScale,width:y.innerWidth,height:y.innerHeight}):null,m?.map(b=>{let E=y.yScale(b.value),N=E<kv?E+12:E-4;return jsxRuntime.jsxs("g",{children:[jsxRuntime.jsx("line",{x1:0,y1:E,x2:y.innerWidth,y2:E,stroke:b.color??"var(--color-chart-muted)",strokeWidth:1,strokeDasharray:b.dashed===false?void 0:"4 4"}),b.label?jsxRuntime.jsx("text",{x:y.innerWidth,y:N,textAnchor:"end",className:"fill-gray-500 text-[10px] dark:fill-gray-400",children:b.label}):null]},`${b.value}-${b.label??""}`)}),y.forecastIndex>=0?jsxRuntime.jsxs("g",{children:[jsxRuntime.jsx("line",{x1:y.xPositions[y.forecastIndex],y1:0,x2:y.xPositions[y.forecastIndex],y2:y.innerHeight,className:"stroke-gray-300 dark:stroke-gray-600",strokeWidth:1,strokeDasharray:"3 3"}),d?jsxRuntime.jsx("text",{x:y.xPositions[y.forecastIndex]+4,y:-2,className:"fill-gray-500 text-[10px] dark:fill-gray-400",children:d}):null]}):null,jsxRuntime.jsx(wv,{lines:y.lines,showMarkers:y.showMarkers}),p?jsxRuntime.jsx(tn,{annotations:p,xAt:y.locate,yAt:y.yScale,width:y.innerWidth,height:y.innerHeight}):null,R!==null?jsxRuntime.jsxs("g",{"aria-hidden":"true",children:[jsxRuntime.jsx("line",{x1:y.xPositions[R],y1:0,x2:y.xPositions[R],y2:y.innerHeight,className:"stroke-gray-400 dark:stroke-gray-500",strokeWidth:1}),B.map(b=>jsxRuntime.jsx("circle",{cx:y.xPositions[R],cy:y.yScale(b.value),r:4,fill:b.color,strokeWidth:2,className:"stroke-white dark:stroke-gray-800"},b.seriesKey))]}):null]}),jsxRuntime.jsx("g",{transform:`translate(${y.margin.left}, ${y.margin.top+y.innerHeight})`,children:o.hidden?null:jsxRuntime.jsx(Ue,{orientation:"bottom",ticks:y.xTicks,length:y.innerWidth,label:o.label,size:l})}),jsxRuntime.jsx("g",{transform:`translate(${y.margin.left}, ${y.margin.top})`,children:a?.hidden?null:jsxRuntime.jsx(Ue,{orientation:"left",ticks:y.yTicks,length:y.innerHeight,showLine:false,label:a?.label,size:l})})]}),C&&x!==false?jsxRuntime.jsx(dt,{x:y.margin.left+y.xPositions[C.index],y:y.margin.top+(B.length>0?Math.min(...B.map(b=>y.yScale(b.value))):y.innerHeight/2),containerWidth:e,children:typeof x=="function"?x(C):jsxRuntime.jsx(Nr,{title:C.xLabel,points:C.points})}):null]})}function Sv({data:e,series:t,x:r,y:n,height:o=240,width:a,size:s="md",grid:l="y",legend:i,tooltip:c=true,tableView:d=false,emphasis:u,title:f,description:m,loading:p=false,emptyState:w,onPointClick:v,curve:x="monotone",forecastFrom:h,forecastLabel:I,markers:S="auto",connectNulls:L=false,referenceLines:R,annotations:T,legendToggle:y=true,margin:M,locale:k,plotLabel:z,className:H,...P}){let B=We(),[C,b]=el.useState(()=>new Set),E=el.useMemo(()=>t.map((D,V)=>({...D,hidden:D.hidden||C.has(D.key),color:Lr(D,V,u)})),[t,C,u]),N=el.useMemo(()=>n?.format??(D=>nt(D,k)),[n?.format,k]),W=el.useMemo(()=>r.format??(D=>r.scale==="time"?Ze(D instanceof Date?D:new Date(_r(D)),k):Ze(D,k)),[r.format,r.scale,k]),F=el.useCallback(D=>{b(V=>{let O=new Set(V);return O.has(D)?O.delete(D):O.add(D),O});},[]),K=i===void 0?t.length>=2:i!==false,j=typeof i=="string"?i:"bottom",A=E.filter(D=>!D.hidden).length;return jsxRuntime.jsx(lt,{title:f,description:m,height:o,width:a,size:s,loading:p,empty:e.length===0||A===0,emptyState:w,tableView:d,legendPosition:j,legend:K?jsxRuntime.jsx(Xt,{items:$r(E,u),position:j,marker:"line",size:s,onToggle:y?F:void 0}):void 0,table:d?jsxRuntime.jsx(zt,{data:e,series:E,xKey:r.key,xLabel:r.label??r.key,formatX:W,formatValue:N,caption:typeof f=="string"?f:void 0}):void 0,className:H,...P,children:({width:D})=>jsxRuntime.jsx(Nv,{width:D,height:o,data:e,resolvedSeries:E,x:r,y:n,grid:l,size:s,curve:x,forecastFrom:h,forecastLabel:I,markers:S,connectNulls:L,referenceLines:R,annotations:T,annotationsLabel:B.chartAnnotations,margin:M,tooltip:c,onPointClick:v,plotLabel:z,formatValue:N,formatX:W})})}var Lv={sm:"max-w-sm",md:"max-w-2xl",lg:"max-w-4xl",xl:"max-w-6xl",full:"max-w-full"},Ln=el.forwardRef(({isOpen:e,onClose:t,title:r="Modal Title",children:n,buttonLabel:o,onButtonClick:a,className:s,allowFullScreen:l=false,showSubmit:i=true,submitLabel:c,onSubmitClick:d,showCancel:u=false,cancelLabel:f,onCancelClick:m,buttonsPosition:p="right",showHeaderDivider:w=true,showFooterDivider:v=true,description:x,icon:h,size:I="md",reverseButtons:S=false,headerClassName:L,contentClassName:R,footerClassName:T,titleClassName:y,descriptionClassName:M,submitClassName:k,cancelClassName:z,closeLabel:H,enterFullScreenLabel:P,exitFullScreenLabel:B,"aria-label":C,closeOnEscape:b=true,trapFocus:E=true,initialFocus:N,returnFocus:W,lockScroll:F=true},K)=>{let[j,A]=el.useState(false),D=We(),V=el.useId(),O=`${V}-title`,_=`${V}-description`,{dialogRef:X,dialogProps:G}=fo({open:e,onClose:t,closeOnEscape:b,trapFocus:E,initialFocus:N,returnFocus:W,lockScroll:F});if(!e)return null;let $=o??c??D.confirm,Y=f??D.cancel,se=H??D.closeModal,ae=j?B??D.exitFullScreen:P??D.enterFullScreen,U=a??d,Q=async()=>{U&&await U(),t();},le=async()=>{m&&await m(),t();};return jsxRuntime.jsx("div",{className:g("overflow-y-auto overflow-x-hidden fixed inset-0 z-50 flex items-center justify-center bg-black/30 backdrop-blur-sm",s),"aria-hidden":!e,children:jsxRuntime.jsx("div",{className:g("relative p-4 w-full max-h-full transition-all duration-300",j?"max-w-full h-full p-0":Lv[I]),ref:K,children:jsxRuntime.jsxs("div",{...G,ref:X,"aria-labelledby":r?O:void 0,"aria-label":r?void 0:C,"aria-describedby":x?_:void 0,className:g("relative bg-white shadow dark:bg-gray-700 border-b-4 transition-all duration-300 focus:outline-none",j?"rounded-none h-full flex flex-col":"rounded-lg"),children:[jsxRuntime.jsxs("div",{className:g("flex items-center justify-between p-4 md:p-5 rounded-t",w&&"border-b border-gray-200 dark:border-gray-600",L),children:[jsxRuntime.jsxs("div",{className:"flex items-center gap-3",children:[h&&jsxRuntime.jsx("div",{className:"shrink-0 text-gray-500 dark:text-gray-400",children:h}),jsxRuntime.jsxs("div",{children:[jsxRuntime.jsx("h3",{id:O,className:g("text-xl font-semibold text-gray-900 dark:text-white",y),children:r}),x&&jsxRuntime.jsx("p",{id:_,className:g("mt-1 text-sm text-gray-500 dark:text-gray-400",M),children:x})]})]}),jsxRuntime.jsxs("div",{className:"flex items-center gap-1 ms-auto",children:[l&&jsxRuntime.jsx("button",{type:"button",onClick:()=>A(ye=>!ye),className:"text-gray-400 bg-transparent hover:bg-gray-200 hover:text-gray-900 rounded-lg text-sm w-8 h-8 inline-flex justify-center items-center dark:hover:bg-gray-600 dark:hover:text-white","aria-label":ae,children:j?jsxRuntime.jsx("svg",{className:"w-3.5 h-3.5","aria-hidden":"true",xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 18 18",children:jsxRuntime.jsx("path",{stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"2",d:"M7 1H1v6m16 0V1h-6m0 16h6v-6M1 11v6h6"})}):jsxRuntime.jsx("svg",{className:"w-3.5 h-3.5","aria-hidden":"true",xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 18 18",children:jsxRuntime.jsx("path",{stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"2",d:"M11 1h6v6M1 11v6h6m0-12L1 1m16 16-6-6"})})}),jsxRuntime.jsxs("button",{type:"button",onClick:t,className:"text-gray-400 bg-transparent hover:bg-gray-200 hover:text-gray-900 rounded-lg text-sm w-8 h-8 inline-flex justify-center items-center dark:hover:bg-gray-600 dark:hover:text-white",children:[jsxRuntime.jsx("svg",{className:"w-3 h-3","aria-hidden":"true",xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 14 14",children:jsxRuntime.jsx("path",{stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"2",d:"m1 1 6 6m0 0 6 6M7 7l6-6M7 7l-6 6"})}),jsxRuntime.jsx("span",{className:"sr-only",children:se})]})]})]}),jsxRuntime.jsx("div",{className:g("p-4 md:p-5 space-y-4",j&&"flex-1 overflow-y-auto",R),children:n}),(i||u)&&jsxRuntime.jsxs("div",{className:g("flex items-center gap-2 p-4 md:p-5 rounded-b",v&&"border-t border-gray-200 dark:border-gray-600",p==="right"?"justify-end":p==="center"?"justify-center":"justify-start",S&&"flex-row-reverse",T),children:[u&&jsxRuntime.jsx("button",{type:"button",onClick:le,className:g("text-gray-500 bg-white hover:bg-gray-100 focus:ring-4 focus:outline-none focus:ring-gray-200 font-medium rounded-lg text-sm px-5 py-2.5 border border-gray-200 dark:bg-gray-700 dark:text-gray-300 dark:border-gray-500 dark:hover:bg-gray-600 dark:hover:text-white",z),children:Y}),i&&jsxRuntime.jsx("button",{type:"button",onClick:Q,className:g("text-white bg-blue-600 hover:bg-blue-700 focus:ring-4 focus:outline-none focus:ring-blue-300 font-medium rounded-lg text-sm px-5 py-2.5 text-center dark:bg-blue-500 dark:hover:bg-blue-600",k),children:$})]})]})})})});Ln.displayName="Modal";function Iv(e,t,r,n){let o=r*2+1+n*2+2;if(t<=o)return Array.from({length:t},(f,m)=>m+1);let a=Array.from({length:n},(f,m)=>m+1).filter(f=>f<=t),s=Array.from({length:n},(f,m)=>t-n+1+m).filter(f=>f>=1),l=Math.max(e-r,n+1),i=Math.min(e+r,t-n),c=l>n+2,d=i<t-n-1,u=[];for(let f of a)u.push(f);if(c)u.push("ellipsis");else for(let f=n+1;f<l;f++)u.push(f);for(let f=l;f<=i;f++)u.push(f);if(d)u.push("ellipsis");else for(let f=i+1;f<=t-n;f++)u.push(f);for(let f of s)u.includes(f)||u.push(f);return u}function Av({className:e}){return jsxRuntime.jsx("svg",{className:e,fill:"none",stroke:"currentColor",viewBox:"0 0 24 24","aria-hidden":"true",children:jsxRuntime.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M15 19l-7-7 7-7"})})}function zv({className:e}){return jsxRuntime.jsx("svg",{className:e,fill:"none",stroke:"currentColor",viewBox:"0 0 24 24","aria-hidden":"true",children:jsxRuntime.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M9 5l7 7-7 7"})})}function Wv({className:e}){return jsxRuntime.jsx("svg",{className:e,fill:"none",stroke:"currentColor",viewBox:"0 0 24 24","aria-hidden":"true",children:jsxRuntime.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M11 19l-7-7 7-7M18 19l-7-7 7-7"})})}function Hv({className:e}){return jsxRuntime.jsx("svg",{className:e,fill:"none",stroke:"currentColor",viewBox:"0 0 24 24","aria-hidden":"true",children:jsxRuntime.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M13 5l7 7-7 7M6 5l7 7-7 7"})})}var Bv={sm:{button:"h-7 min-w-7 px-1.5 text-xs",icon:"h-3 w-3",gap:"gap-0.5",text:"text-xs"},md:{button:"h-9 min-w-9 px-2.5 text-sm",icon:"h-4 w-4",gap:"gap-1",text:"text-sm"},lg:{button:"h-11 min-w-11 px-3.5 text-base",icon:"h-5 w-5",gap:"gap-1.5",text:"text-base"}},Vv={default:{base:"rounded-md font-medium transition-colors",idle:"text-gray-700 hover:bg-gray-100 dark:text-gray-300 dark:hover:bg-gray-700",active:"bg-blue-600 text-white hover:bg-blue-700 dark:bg-blue-500 dark:hover:bg-blue-600",disabled:"text-gray-300 cursor-not-allowed dark:text-gray-600"},outlined:{base:"rounded-md border font-medium transition-colors",idle:"border-gray-300 text-gray-700 hover:bg-gray-50 dark:border-gray-600 dark:text-gray-300 dark:hover:bg-gray-800",active:"border-blue-600 bg-blue-50 text-blue-600 hover:bg-blue-100 dark:border-blue-400 dark:bg-blue-900/30 dark:text-blue-400 dark:hover:bg-blue-900/50",disabled:"border-gray-200 text-gray-300 cursor-not-allowed dark:border-gray-700 dark:text-gray-600"},minimal:{base:"rounded-md font-medium transition-colors",idle:"text-gray-600 hover:text-gray-900 dark:text-gray-400 dark:hover:text-gray-200",active:"text-blue-600 font-semibold hover:text-blue-700 dark:text-blue-400 dark:hover:text-blue-300",disabled:"text-gray-300 cursor-not-allowed dark:text-gray-600"}};function Fv({page:e,totalPages:t,onPageChange:r,size:n="md",variant:o="default",showFirstLast:a=false,siblings:s=1,boundaries:l=1,disabled:i=false,labels:c,totalItems:d,pageSize:u,pageSizeOptions:f,onPageSizeChange:m,className:p,...w}){let v=Bv[n],x=Vv[o],h=el.useMemo(()=>Iv(e,t,s,l),[e,t,s,l]),I=el.useCallback(k=>{i||k<1||k>t||k===e||r(k);},[i,t,e,r]),S=e<=1,L=e>=t,R=g("inline-flex items-center justify-center select-none",v.button,x.base),T=(k,z,H,P)=>jsxRuntime.jsx("button",{type:"button",onClick:k,disabled:i||z,"aria-label":H,"aria-disabled":i||z,className:g(R,i||z?x.disabled:x.idle),children:P}),y=d!==void 0&&u?(e-1)*u+1:void 0,M=d!==void 0&&u?Math.min(e*u,d):void 0;return jsxRuntime.jsxs("nav",{"aria-label":"Pagination",className:g("flex items-center",v.gap,p),...w,children:[d!==void 0&&u&&jsxRuntime.jsxs("span",{className:g("mr-2 text-gray-600 dark:text-gray-400 whitespace-nowrap",v.text),children:[y,"\u2013",M," of ",d]}),f&&f.length>0&&m&&jsxRuntime.jsxs("div",{className:g("mr-2 flex items-center whitespace-nowrap",v.gap,v.text),children:[jsxRuntime.jsx("label",{htmlFor:"pagination-page-size",className:"text-gray-600 dark:text-gray-400",children:"Rows:"}),jsxRuntime.jsx("select",{id:"pagination-page-size",value:u,onChange:k=>m(Number(k.target.value)),disabled:i,className:g("rounded border border-gray-300 bg-white px-1.5 py-0.5 dark:border-gray-600 dark:bg-gray-800 dark:text-gray-200",v.text,i&&"cursor-not-allowed opacity-50"),children:f.map(k=>jsxRuntime.jsx("option",{value:k,children:k},k))})]}),jsxRuntime.jsxs("div",{className:g("flex items-center",v.gap),children:[a&&T(()=>I(1),S,c?.first??"Go to first page",jsxRuntime.jsx(Wv,{className:v.icon})),T(()=>I(e-1),S,c?.previous??"Go to previous page",jsxRuntime.jsx(Av,{className:v.icon})),h.map((k,z)=>k==="ellipsis"?jsxRuntime.jsx("span",{className:g("inline-flex items-center justify-center select-none",v.button,"text-gray-400 dark:text-gray-500"),"aria-hidden":"true",children:"\u2026"},`ellipsis-${z}`):jsxRuntime.jsx("button",{type:"button",onClick:()=>I(k),disabled:i,"aria-current":k===e?"page":void 0,"aria-label":`Page ${k}`,className:g(R,k===e?x.active:i?x.disabled:x.idle),children:k},k)),T(()=>I(e+1),L,c?.next??"Go to next page",jsxRuntime.jsx(zv,{className:v.icon})),a&&T(()=>I(t),L,c?.last??"Go to last page",jsxRuntime.jsx(Hv,{className:v.icon}))]})]})}var _v=.62,Xv=2,Gv=3,Kv=.16,Uv=64,Yv=22,Xl=6,rm=false;function qv({width:e,height:t,slices:r,variant:n,innerRadius:o,showLabels:a,centerLabel:s,tooltip:l,patterns:i,patternBaseId:c,plotLabel:d,formatValue:u,onSliceClick:f}){let[m,p]=el.useState(null),w=el.useMemo(()=>{let y=a?Uv:8,M=a?Yv:8,k=Math.max(0,Math.min((e-y*2)/2,(t-M*2)/2));return {cx:e/2,cy:t/2,outerRadius:k,inner:n==="donut"?k*(o??_v):(o??0)*k,pad:k>0&&r.length>1?Xv/k/2:0}},[e,t,n,o,a,r.length]),{cx:v,cy:x,outerRadius:h,inner:I,pad:S}=w,L=el.useCallback(y=>{let M=(y.startAngle+y.endAngle)/2,k=Math.sin(M)>=0,z={x:v+Math.sin(M)*(h+4),y:x-Math.cos(M)*(h+4)},H={x:v+Math.sin(M)*(h+14),y:x-Math.cos(M)*(h+14)},P={x:k?H.x+10:H.x-10,y:H.y};return {from:z,elbow:H,end:P,anchor:k?"start":"end"}},[v,x,h]),R=el.useCallback(y=>{if(r.length===0)return;let M=r.length-1,k=m??0,z=y.key==="ArrowRight"||y.key==="ArrowDown"?Math.min(M,k+1):y.key==="ArrowLeft"||y.key==="ArrowUp"?Math.max(0,k-1):y.key==="Home"?0:y.key==="End"?M:y.key==="Escape"?null:void 0;z!==void 0&&(y.preventDefault(),p(z));},[r.length,m]),T=m===null?null:r[m];return jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsxs("svg",{width:e,height:t,role:"img","aria-label":d??r.map(y=>y.label).join(", "),tabIndex:0,className:"touch-none focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-blue-500",onPointerLeave:()=>p(null),onBlur:()=>p(null),onKeyDown:R,children:[i?jsxRuntime.jsx(ro,{id:c,entries:r.map(y=>({slot:y.slot,color:y.color}))}):null,r.map((y,M)=>jsxRuntime.jsx("path",{d:sd({cx:v,cy:x,innerRadius:I,outerRadius:h+(m===M?Gv:0),startAngle:y.startAngle+S,endAngle:Math.max(y.startAngle+S,y.endAngle-S)}),fill:to(i,c,y.slot,y.color),onPointerEnter:()=>l===false?void 0:p(M),onClick:()=>f?.({key:y.key,label:y.label,value:y.value,share:y.share})},y.key)),a?r.filter(y=>y.endAngle-y.startAngle>=Kv).map(y=>{let{from:M,elbow:k,end:z,anchor:H}=L(y);return jsxRuntime.jsxs("g",{"aria-hidden":"true",children:[jsxRuntime.jsx("polyline",{points:`${M.x},${M.y} ${k.x},${k.y} ${z.x},${z.y}`,fill:"none",className:"stroke-gray-300 dark:stroke-gray-600",strokeWidth:1}),jsxRuntime.jsx("text",{x:H==="start"?z.x+3:z.x-3,y:z.y,textAnchor:H,dominantBaseline:"middle",className:"fill-gray-600 text-[10px] dark:fill-gray-300",children:y.label})]},`label-${y.key}`)}):null,n==="donut"&&s?jsxRuntime.jsxs("g",{"aria-hidden":"true",children:[jsxRuntime.jsx("text",{x:v,y:x-(s.label?2:0),textAnchor:"middle",dominantBaseline:"middle",className:"fill-gray-900 text-lg font-semibold dark:fill-gray-100",children:s.value}),s.label?jsxRuntime.jsx("text",{x:v,y:x+14,textAnchor:"middle",dominantBaseline:"middle",className:"fill-gray-500 text-[10px] dark:fill-gray-400",children:s.label}):null]}):null]}),T&&l!==false?jsxRuntime.jsx(dt,{x:v+Math.sin((T.startAngle+T.endAngle)/2)*(h*.7),y:x-Math.cos((T.startAngle+T.endAngle)/2)*(h*.7),containerWidth:e,children:typeof l=="function"?l({seriesKey:T.key,seriesLabel:T.label,color:T.color,value:T.value,formattedValue:u(T.value),datum:{},share:T.share}):jsxRuntime.jsx(Nr,{title:T.label,points:[{seriesKey:T.key,seriesLabel:Ut(T.share),color:T.color,value:T.value,formattedValue:u(T.value),datum:{}}]})}):null]})}function jv({data:e,x:t,value:r,variant:n="pie",innerRadius:o,maxSlices:a=Xl,otherLabel:s,sort:l="desc",showLabels:i=true,centerLabel:c,patterns:d=false,height:u=260,width:f,size:m="md",legend:p,tooltip:w=true,tableView:v=false,title:x,description:h,loading:I=false,emptyState:S,locale:L,plotLabel:R,onSliceClick:T,className:y,...M}){let k=We(),z=el.useId(),H=el.useCallback(W=>nt(W,L),[L]),P=el.useCallback(W=>t.format?t.format(W,0):Ze(W,L),[t,L]),{slices:B,total:C,rows:b}=el.useMemo(()=>{let W=e.map((O,_)=>({key:String(ct(O,t.key,_)),label:P(ct(O,t.key,_)),value:Ee(O,r)??0,color:Dr(_),slot:_,datum:O})),F=l==="none"?W:[...W].sort((O,_)=>l==="asc"?O.value-_.value:_.value-O.value),K=F.slice(0,a),j=F.slice(a);j.length>0&&K.push({key:"__other__",label:s??k.chartOther,value:j.reduce((O,_)=>O+_.value,0),color:Pr,slot:-1,datum:{}}),K.length>Xl&&!rm&&(rm=true,console.warn(`[@synertech/ui] A PieChart is drawing ${K.length} slices. Past ${Xl} the slices stop being tellable apart: lower \`maxSlices\`, or use a BarChart, which compares lengths rather than angles.`));let A=K.reduce((O,_)=>O+Math.max(0,_.value),0),D=0;return {slices:K.map(O=>{let _=A===0?0:Math.max(0,O.value)/A,X=D;return D+=_*Math.PI*2,{...O,share:_,startAngle:X,endAngle:D}}),total:A,rows:K.map(O=>({[t.key]:O.label,[r]:O.value}))}},[e,t.key,r,l,a,s,k.chartOther,P]),E=p===void 0?true:p!==false,N=typeof p=="string"?p:"bottom";return jsxRuntime.jsx(lt,{title:x,description:h,height:u,width:f,size:m,loading:I,empty:B.length===0||C===0,emptyState:S,tableView:v,legendPosition:N,legend:E?jsxRuntime.jsx(Xt,{items:B.map(W=>({key:W.key,label:`${W.label} \xB7 ${Ut(W.share)}`,color:W.color,...d?{pattern:W.slot}:{}})),position:N,marker:"rect",size:m}):void 0,table:v?jsxRuntime.jsx(zt,{data:b,series:[{key:r,label:t.label??r}],xKey:t.key,xLabel:t.label??t.key,formatValue:H,caption:typeof x=="string"?x:void 0}):void 0,className:y,...M,children:({width:W})=>jsxRuntime.jsx(qv,{width:W,height:u,slices:B,variant:n,innerRadius:o,showLabels:i,centerLabel:c,tooltip:w,patterns:d,patternBaseId:z,plotLabel:R,formatValue:H,onSliceClick:T})})}var Qv={xs:"h-1",sm:"h-1.5",md:"h-2.5",lg:"h-4",xl:"h-6"},Jv={default:"bg-gray-500 dark:bg-gray-400",primary:"bg-blue-600 dark:bg-blue-500",success:"bg-green-600 dark:bg-green-500",warning:"bg-yellow-500 dark:bg-yellow-400",error:"bg-red-600 dark:bg-red-500",info:"bg-cyan-600 dark:bg-cyan-500"},e1={default:"text-gray-700 dark:text-gray-300",primary:"text-blue-600 dark:text-blue-400",success:"text-green-600 dark:text-green-400",warning:"text-yellow-600 dark:text-yellow-400",error:"text-red-600 dark:text-red-400",info:"text-cyan-600 dark:text-cyan-400"},om="bg-[repeating-linear-gradient(45deg,transparent,transparent_10px,rgba(255,255,255,0.2)_10px,rgba(255,255,255,0.2)_20px)]",t1={default:"bg-gradient-to-r from-gray-400 to-gray-600",primary:"bg-gradient-to-r from-blue-400 to-blue-700",success:"bg-gradient-to-r from-green-400 to-green-700",warning:"bg-gradient-to-r from-yellow-300 to-yellow-600",error:"bg-gradient-to-r from-red-400 to-red-700",info:"bg-gradient-to-r from-cyan-400 to-cyan-700"};function sm({value:e=0,indeterminate:t=false,size:r="md",color:n="primary",variant:o="default",showValue:a=false,valueFormat:s,label:l,animated:i=true,className:c,...d}){let u=Math.min(100,Math.max(0,e)),f=o==="gradient"?t1[n]:Jv[n],m=s?s(u):`${Math.round(u)}%`;return jsxRuntime.jsxs("div",{className:g("w-full",c),...d,children:[(l||a)&&jsxRuntime.jsxs("div",{className:"flex items-center justify-between mb-1",children:[l&&jsxRuntime.jsx("span",{className:"text-sm font-medium text-gray-700 dark:text-gray-300",children:l}),a&&!t&&jsxRuntime.jsx("span",{className:g("text-sm font-semibold",e1[n],!l&&"ml-auto"),children:m})]}),jsxRuntime.jsx("div",{role:"progressbar","aria-valuenow":t?void 0:u,"aria-valuemin":0,"aria-valuemax":100,"aria-label":l,className:g("relative w-full overflow-hidden rounded-full bg-gray-200 dark:bg-gray-700",Qv[r]),children:t?jsxRuntime.jsx("div",{className:g("absolute h-full w-1/3 rounded-full",f,o==="striped"&&om,"animate-[progress-indeterminate_1.5s_ease-in-out_infinite]")}):jsxRuntime.jsx("div",{className:g("h-full rounded-full",f,o==="striped"&&om,i&&"transition-[width] duration-300 ease-out"),style:{width:`${u}%`}})})]})}sm.displayName="ProgressBar";var a1=e=>({sm:"w-4 h-4",md:"w-5 h-5",lg:"w-6 h-6"})[e],s1=e=>({sm:"w-2 h-2",md:"w-2.5 h-2.5",lg:"w-3 h-3"})[e],i1=(e,t,r,n,o,a,s,l)=>{if(t)return g("border-2",n?"":"border-red-500",r&&!o?"bg-red-500":"");switch(e){case "filled":return g("border-2",l?"":"border-gray-300 dark:border-gray-600",r?a?"":"bg-blue-600 border-blue-600 dark:bg-blue-500 dark:border-blue-500":s?"":"bg-gray-200 border-gray-200 dark:bg-gray-700 dark:border-gray-700");case "outlined":return g("border-[3px]",l?"":r?"border-blue-600 dark:border-blue-500":"border-gray-300 dark:border-gray-600","bg-white dark:bg-gray-800");default:return g("border-2",l?"":r?"border-blue-600 dark:border-blue-500":"border-gray-300 dark:border-gray-600","bg-white dark:bg-gray-800")}},l1={},im=el.forwardRef(({label:e,description:t,value:r,checked:n,defaultChecked:o=false,onCheckedChange:a,size:s="md",variant:l="default",labelPosition:i="right",error:c=false,disabled:d=false,readOnly:u=false,required:f=false,checkedColor:m,uncheckedColor:p,borderColor:w,labelColor:v,errorColor:x,dotColor:h,hoverColor:I,focusRingColor:S,showFocusRing:L=true,className:R,containerClassName:T,...y},M)=>{let[k,z]=el.useState(o),H=n!==void 0,P=H?n:k,B=el.useId(),C=typeof c=="string"?c:void 0,b=!!c,E=_=>{if(d||u)return;let X=_.target.checked;H||z(X),a?.(X);},N=el.useMemo(()=>i1(l,b,P,x,h,m,p,w),[l,b,P,x,h,m,p,w]),W=el.useMemo(()=>{let _={};return m&&P&&(_.backgroundColor=m,_.borderColor=m),p&&!P&&(_.backgroundColor=p),w&&(_.borderColor=w),_},[m,p,w,P]),F=el.useMemo(()=>h?{backgroundColor:h}:{},[h]),K=el.useMemo(()=>v?{color:v}:{},[v]),j=el.useMemo(()=>x?{color:x}:{},[x]),A=v?"":"text-gray-700 dark:text-gray-200",D=x?"":"text-red-500",V=I?"":"hover:border-blue-500 dark:hover:border-blue-400",O=S?"":"focus-visible:ring-blue-500";return jsxRuntime.jsxs("div",{className:g("inline-flex flex-col",T),style:l1,children:[jsxRuntime.jsxs("label",{className:g("inline-flex items-center cursor-pointer",d&&"opacity-50 cursor-not-allowed",u&&"cursor-default",i==="left"&&"flex-row-reverse"),htmlFor:B,children:[jsxRuntime.jsxs("div",{className:"relative inline-flex items-center",children:[jsxRuntime.jsx("input",{ref:M,type:"radio",id:B,value:r,checked:P,onChange:E,disabled:d,readOnly:u,required:f,"aria-invalid":b,"aria-describedby":C?`${B}-error`:void 0,className:"sr-only peer",tabIndex:u?-1:void 0,...y}),jsxRuntime.jsx("div",{className:g("rounded-full transition-all duration-200",a1(s),N,!d&&!u&&V,!d&&!u&&L&&"peer-focus-visible:ring-2 ring-offset-2",!d&&!u&&L&&O,R),style:W,children:P&&jsxRuntime.jsx("div",{className:g("rounded-full absolute inset-0 m-auto transition-all duration-200",s1(s),h?"":l==="outlined"||l==="default"?"bg-blue-600 dark:bg-blue-500":"bg-white"),style:F})})]}),e&&jsxRuntime.jsxs("span",{className:g("select-none",i==="left"?"mr-2":"ml-2",A,d&&"opacity-50"),style:K,children:[e,f&&jsxRuntime.jsx("span",{className:"text-red-500 ml-1",children:"*"})]})]}),t&&!b&&jsxRuntime.jsx("p",{className:g("text-sm text-gray-500 dark:text-gray-400 mt-1",i==="left"?"text-right":"ml-7"),children:t}),C&&jsxRuntime.jsx("p",{id:`${B}-error`,className:g("text-sm mt-1",i==="left"?"text-right":"ml-7",D),style:j,children:C})]})});im.displayName="RadioButton";var Kl=()=>{},g1=[],p1=jsxRuntime.jsx("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",className:"shrink-0",children:jsxRuntime.jsx("path",{d:"M4 6L8 10L12 6",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})}),f1=jsxRuntime.jsx("svg",{width:"14",height:"14",viewBox:"0 0 14 14",fill:"none","aria-hidden":"true",className:"shrink-0",children:jsxRuntime.jsx("path",{d:"M10.5 3.5L3.5 10.5M3.5 3.5L10.5 10.5",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})}),h1=jsxRuntime.jsxs("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",className:"shrink-0 animate-spin",children:[jsxRuntime.jsx("circle",{cx:"8",cy:"8",r:"6",stroke:"currentColor",strokeWidth:"2",strokeOpacity:"0.25"}),jsxRuntime.jsx("path",{d:"M14 8a6 6 0 00-6-6",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round"})]}),b1=jsxRuntime.jsx("svg",{width:"14",height:"14",viewBox:"0 0 14 14",fill:"none","aria-hidden":"true",className:"shrink-0",children:jsxRuntime.jsx("path",{d:"M11.5 3.5L5.5 10.5L2.5 7.5",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})}),ja={sm:{trigger:"h-8 px-2.5 text-xs gap-1.5",content:"text-xs",option:"px-2.5 py-1.5",searchInput:"px-2.5 py-1.5 text-xs"},md:{trigger:"h-10 px-3 text-sm gap-2",content:"text-sm",option:"px-3 py-2",searchInput:"px-3 py-2 text-sm"},lg:{trigger:"h-12 px-4 text-base gap-2.5",content:"text-base",option:"px-4 py-2.5",searchInput:"px-4 py-2.5 text-base"}},lm={default:{trigger:"border border-gray-300 bg-white dark:border-gray-600 dark:bg-gray-800",focus:"focus:ring-2 focus:ring-blue-500 focus:border-blue-500"},outlined:{trigger:"border-2 border-gray-300 bg-transparent dark:border-gray-600",focus:"focus:ring-2 focus:ring-blue-500 focus:border-blue-500"},filled:{trigger:"border border-transparent bg-gray-100 dark:bg-gray-700",focus:"focus:ring-2 focus:ring-blue-500 focus:border-blue-500"}};function _n(...e){let t="";for(let r=0;r<e.length;r++){let n=e[r];n&&(t&&(t+=" "),t+=n);}return t}function y1(e,t){if(!t)return e;let r=t.toLowerCase();return e.filter(n=>{if(n.label.toLowerCase().includes(r)||n.value.toLowerCase().includes(r))return true;if(n.keywords){for(let o of n.keywords)if(o.toLowerCase().includes(r))return true}return false})}var x1=el.memo(el.forwardRef(function({option:t,isSelected:r,isHighlighted:n,isDisabled:o,sizeKey:a,optionId:s,onClick:l,onMouseEnter:i,index:c},d){let u=()=>{o||l(t.value);},f=()=>{o||i(c);};return jsxRuntime.jsxs("div",{ref:d,id:s,role:"option","aria-selected":r,"aria-disabled":o||void 0,"data-highlighted":n||void 0,className:_n(ja[a].option,"flex items-center gap-2 cursor-pointer select-none transition-colors",n&&!o&&"bg-blue-50 dark:bg-blue-900/30",r&&!n&&"bg-gray-50 dark:bg-gray-700/50",o&&"opacity-50 cursor-not-allowed"),onClick:u,onMouseEnter:f,children:[t.icon?jsxRuntime.jsx("span",{className:"flex shrink-0 items-center",children:t.icon}):null,jsxRuntime.jsxs("span",{className:"flex flex-col min-w-0 flex-1",children:[jsxRuntime.jsx("span",{className:"truncate",children:t.label}),t.description?jsxRuntime.jsx("span",{className:"text-xs text-gray-500 dark:text-gray-400 truncate",children:t.description}):null]}),r?jsxRuntime.jsx("span",{className:"ml-auto text-blue-600 dark:text-blue-400",children:b1}):null]})}));function v1({options:e=g1,value:t,defaultValue:r,onValueChange:n,searchable:o=false,clearable:a=false,disabled:s=false,readOnly:l=false,loading:i=false,size:c="md",variant:d="default",placeholder:u="Select...",label:f,description:m,helperText:p,error:w,required:v=false,noOptionsText:x="No options",onSearchChange:h,name:I,className:S,triggerClassName:L,contentClassName:R,maxHeight:T=256}){let y=el.useId(),M=`${y}-label`,k=`${y}-trigger`,z=`${y}-listbox`,H=el.useRef(null),P=el.useRef(null),B=el.useRef(null),C=el.useRef([]),b=t!==void 0,[E,N]=el.useState(r??""),W=b?t:E,[F,K]=el.useState(false),[j,A]=el.useState(""),[D,V]=el.useState(-1),[O,_]=el.useState(null),X=el.useMemo(()=>o?y1(e,j):e,[e,j,o]),G=el.useMemo(()=>e.find(re=>re.value===W)??null,[e,W]),$=el.useMemo(()=>{let re=new Set;for(let fe of e)fe.disabled&&re.add(fe.value);return re},[e]),Y=el.useCallback(re=>{b||N(re),(n??Kl)(re),K(false),A(""),V(-1),H.current?.focus();},[b,n]),se=el.useCallback(re=>{re.stopPropagation(),b||N(""),(n??Kl)(""),A(""),H.current?.focus();},[b,n]),ae=el.useCallback(()=>{s||l||(K(true),A(""),V(-1));},[s,l]),U=el.useCallback(()=>{K(false),A(""),V(-1),H.current?.focus();},[]),Q=el.useCallback(()=>{F?U():ae();},[F,U,ae]),le=el.useCallback((re,fe)=>{let je=X.length;if(je===0)return -1;let Dt=re;for(let Ie=0;Ie<je;Ie++)if(Dt=((Dt+fe)%je+je)%je,!$.has(X[Dt].value))return Dt;return -1},[X,$]),ye=el.useCallback(re=>{if(!(s||l)){if(F){switch(re.key){case "ArrowDown":{re.preventDefault();let fe=le(D,1);fe!==-1&&V(fe);break}case "ArrowUp":{re.preventDefault();let fe=le(D,-1);fe!==-1&&V(fe);break}case "Home":{re.preventDefault();let fe=le(-1,1);fe!==-1&&V(fe);break}case "End":{re.preventDefault();let fe=le(X.length,-1);fe!==-1&&V(fe);break}case "Enter":{if(re.preventDefault(),D>=0&&D<X.length){let fe=X[D];$.has(fe.value)||Y(fe.value);}break}case " ":if(re.preventDefault(),D>=0&&D<X.length){let fe=X[D];$.has(fe.value)||Y(fe.value);}else U();break;case "Escape":re.preventDefault(),U();break;case "Tab":U();break}return}switch(re.key){case "ArrowDown":case "ArrowUp":re.preventDefault(),ae();break;case "Enter":case " ":re.preventDefault(),ae();break}}},[s,l,F,ae,U,D,X,$,le,Y]),te=el.useCallback(re=>{switch(re.key){case "ArrowDown":{re.preventDefault();let fe=le(D,1);fe!==-1&&V(fe);break}case "ArrowUp":{re.preventDefault();let fe=le(D,-1);fe!==-1&&V(fe);break}case "Home":{re.preventDefault();let fe=le(-1,1);fe!==-1&&V(fe);break}case "End":{re.preventDefault();let fe=le(X.length,-1);fe!==-1&&V(fe);break}case "Enter":{if(re.preventDefault(),D>=0&&D<X.length){let fe=X[D];$.has(fe.value)||Y(fe.value);}break}case "Escape":re.preventDefault(),U();break;case "Tab":U();break}},[D,X,$,le,Y,U]),Ce=el.useCallback(re=>{let fe=re.target.value;A(fe),V(-1),(h??Kl)(fe);},[h]);el.useEffect(()=>{if(!F)return;let re=fe=>{let je=fe.target;H.current?.contains(je)||P.current?.contains(je)||U();};return document.addEventListener("mousedown",re),document.addEventListener("touchstart",re,{passive:true}),()=>{document.removeEventListener("mousedown",re),document.removeEventListener("touchstart",re);}},[F,U]),el.useEffect(()=>{if(!F||!H.current){_(null);return}let re=()=>{let fe=H.current;if(!fe)return;let je=fe.getBoundingClientRect(),Dt=window.innerHeight-je.bottom,Ie=je.top,we=T+8,pt=Dt<we&&Ie>Dt?"top":"bottom";_({top:pt==="bottom"?je.bottom+window.scrollY+4:je.top+window.scrollY-we,left:je.left+window.scrollX,width:je.width,placement:pt});};return re(),window.addEventListener("scroll",re,true),window.addEventListener("resize",re),()=>{window.removeEventListener("scroll",re,true),window.removeEventListener("resize",re);}},[F,T]),el.useEffect(()=>{F&&o&&B.current?.focus();},[F,o]),el.useEffect(()=>{let re=P.current;if(!(!F||!re))return wn(re,()=>H.current)},[F]),el.useEffect(()=>{if(D>=0){let re=C.current[D];re&&typeof re.scrollIntoView=="function"&&re.scrollIntoView({block:"nearest"});}},[D]);let Pe=W!==""&&W!==void 0,Se=a&&Pe&&!s&&!l&&!i,De=!s&&!l,Ne=_n("w-full flex items-center justify-between rounded-md transition-colors","text-gray-900 dark:text-gray-100",ja[c].trigger,lm[d].trigger,!w&&De&&lm[d].focus,w&&"border-red-500 dark:border-red-400 focus:ring-2 focus:ring-red-500 focus:border-red-500",s&&"opacity-50 cursor-not-allowed bg-gray-50 dark:bg-gray-900",l&&"cursor-default",!s&&!l&&"cursor-pointer",L);return jsxRuntime.jsxs("div",{className:_n("flex flex-col gap-1",S),children:[f?jsxRuntime.jsxs("label",{id:M,htmlFor:k,className:"text-sm font-medium text-gray-700 dark:text-gray-300",children:[f,v?jsxRuntime.jsx("span",{className:"text-red-500 ml-0.5","aria-hidden":"true",children:"*"}):null]}):null,m?jsxRuntime.jsx("p",{className:"text-xs text-gray-500 dark:text-gray-400",children:m}):null,jsxRuntime.jsxs("button",{ref:H,id:k,type:"button",role:"combobox","aria-expanded":F,"aria-haspopup":"listbox","aria-controls":F?z:void 0,"aria-labelledby":f?M:void 0,"aria-required":v||void 0,"aria-invalid":w?true:void 0,"aria-activedescendant":F&&D>=0?`${y}-option-${D}`:void 0,disabled:s,className:Ne,onClick:De?Q:void 0,onKeyDown:ye,children:[jsxRuntime.jsxs("span",{className:_n("flex items-center gap-2 min-w-0 flex-1 truncate",!Pe&&"text-gray-400 dark:text-gray-500"),children:[G?.icon?jsxRuntime.jsx("span",{className:"flex shrink-0 items-center",children:G.icon}):null,jsxRuntime.jsx("span",{className:"truncate",children:Pe&&G?G.label:u})]}),jsxRuntime.jsxs("span",{className:"flex items-center gap-1 shrink-0",children:[i?jsxRuntime.jsx("span",{className:"text-gray-400",children:h1}):null,Se?jsxRuntime.jsx("span",{role:"button",tabIndex:-1,"aria-label":"Clear selection",className:"text-gray-400 hover:text-gray-600 dark:hover:text-gray-300 p-0.5 rounded transition-colors",onClick:se,onMouseDown:re=>re.preventDefault(),children:f1}):null,jsxRuntime.jsx("span",{className:_n("text-gray-400 transition-transform duration-200",F&&"rotate-180"),children:p1})]})]}),w?jsxRuntime.jsx("p",{role:"alert",className:"text-xs text-red-500 dark:text-red-400",children:w}):p?jsxRuntime.jsx("p",{className:"text-xs text-gray-500 dark:text-gray-400",children:p}):null,I?jsxRuntime.jsx("input",{type:"hidden",name:I,value:W??""}):null,F&&O?reactDom.createPortal(jsxRuntime.jsxs("div",{ref:P,role:"listbox",id:z,"aria-labelledby":f?M:void 0,className:_n("fixed z-50 bg-white dark:bg-gray-800 border border-gray-200 dark:border-gray-700","rounded-md shadow-lg overflow-hidden","animate-in fade-in-0 zoom-in-95",ja[c].content,R),style:{top:O.top,left:O.left,width:O.width,position:"absolute"},onKeyDown:te,children:[o?jsxRuntime.jsx("div",{className:"border-b border-gray-200 dark:border-gray-700",children:jsxRuntime.jsx("input",{ref:B,type:"text",role:"searchbox","aria-label":"Search options",className:_n(ja[c].searchInput,"w-full outline-none bg-transparent text-gray-900 dark:text-gray-100","placeholder:text-gray-400 dark:placeholder:text-gray-500"),placeholder:"Search...",value:j,onChange:Ce,onKeyDown:te})}):null,jsxRuntime.jsx("div",{className:"overflow-y-auto",style:{maxHeight:T},children:X.length===0?jsxRuntime.jsx("div",{className:_n(ja[c].option,"text-gray-500 dark:text-gray-400 text-center py-4"),children:x}):X.map((re,fe)=>jsxRuntime.jsx(x1,{option:re,isSelected:re.value===W,isHighlighted:fe===D,isDisabled:i||$.has(re.value),sizeKey:c,optionId:`${y}-option-${fe}`,onClick:Y,onMouseEnter:V,index:fe,ref:je=>{C.current[fe]=je;}},re.value))})]}),document.body):null]})}var Yl=el.createContext(null);function ko(){let e=el.useContext(Yl);if(!e)throw new Error("Sidebar sub-components must be used within <Sidebar>");return e}function w1(){return ko()}var N1=({className:e})=>jsxRuntime.jsx("svg",{className:g("w-4 h-4",e),viewBox:"0 0 20 20",fill:"currentColor","aria-hidden":"true",children:jsxRuntime.jsx("path",{fillRule:"evenodd",d:"M12.79 5.23a.75.75 0 01-.02 1.06L8.832 10l3.938 3.71a.75.75 0 11-1.04 1.08l-4.5-4.25a.75.75 0 010-1.08l4.5-4.25a.75.75 0 011.06.02z",clipRule:"evenodd"})}),S1=({className:e})=>jsxRuntime.jsx("svg",{className:g("w-4 h-4",e),viewBox:"0 0 20 20",fill:"currentColor","aria-hidden":"true",children:jsxRuntime.jsx("path",{fillRule:"evenodd",d:"M5.23 7.21a.75.75 0 011.06.02L10 11.168l3.71-3.938a.75.75 0 111.08 1.04l-4.25 4.5a.75.75 0 01-1.08 0l-4.25-4.5a.75.75 0 01.02-1.06z",clipRule:"evenodd"})}),R1=({className:e})=>jsxRuntime.jsx("svg",{className:g("w-5 h-5",e),viewBox:"0 0 20 20",fill:"currentColor","aria-hidden":"true",children:jsxRuntime.jsx("path",{d:"M6.28 5.22a.75.75 0 00-1.06 1.06L8.94 10l-3.72 3.72a.75.75 0 101.06 1.06L10 11.06l3.72 3.72a.75.75 0 101.06-1.06L11.06 10l3.72-3.72a.75.75 0 00-1.06-1.06L10 8.94 6.28 5.22z"})});function um({text:e,position:t,children:r}){let[n,o]=el.useState(false),[a,s]=el.useState({top:0,left:0}),l=el.useRef(null);return jsxRuntime.jsxs("div",{ref:l,onMouseEnter:()=>{if(l.current){let c=l.current.getBoundingClientRect();s({top:c.top+c.height/2,left:t==="left"?c.right+8:c.left-8});}o(true);},onMouseLeave:()=>o(false),className:"relative",children:[r,n&&jsxRuntime.jsx("div",{className:g("fixed z-[9999] px-2.5 py-1.5 text-xs font-medium text-white bg-gray-900 dark:bg-gray-700 rounded-md shadow-lg whitespace-nowrap pointer-events-none",t==="right"&&"-translate-x-full"),style:{top:a.top,left:a.left,transform:`translateY(-50%)${t==="right"?" translateX(-100%)":""}`},role:"tooltip",children:e})]})}function T1({collapsed:e,defaultCollapsed:t=false,onCollapsedChange:r,expandedWidth:n=260,collapsedWidth:o=64,position:a="left",variant:s="default",mobileBreakpoint:l=768,mobileOpen:i,onMobileOpenChange:c,className:d,"aria-label":u,closeLabel:f,trapFocus:m=true,initialFocus:p,returnFocus:w,lockScroll:v=true,children:x}){let h=We(),I=el.useRef(null),S=el.useRef(null),[L,R]=el.useState(t),[T,y]=el.useState(false),[M,k]=el.useState(false),z=e!==void 0,H=z?e:L,P=i!==void 0,B=P?i:T;el.useEffect(()=>{let A=window.matchMedia(`(max-width: ${l}px)`),D=V=>{k(V.matches),V.matches||(P||y(false),c?.(false));};return D(A),A.addEventListener("change",D),()=>A.removeEventListener("change",D)},[l,P,c]);let C=el.useCallback(()=>{if(M){let A=!B;P||y(A),c?.(A);}else {let A=!H;z||R(A),r?.(A);}},[M,B,H,P,z,c,r]),b=el.useCallback(()=>{P||y(false),c?.(false);},[P,c]);el.useEffect(()=>{let A=S.current;A&&(M&&!B?(A.setAttribute("inert",""),A.setAttribute("aria-hidden","true")):(A.removeAttribute("inert"),A.removeAttribute("aria-hidden")));},[M,B]);let{dialogRef:E,dialogProps:N}=fo({open:M&&B,onClose:b,trapFocus:m,initialFocus:p,returnFocus:w,lockScroll:v,keepInteractive:[I]}),W={default:"bg-white dark:bg-gray-900",bordered:g("bg-white dark:bg-gray-900",a==="left"?"border-r border-gray-200 dark:border-gray-700":"border-l border-gray-200 dark:border-gray-700"),floating:"bg-white dark:bg-gray-900 m-3 rounded-xl shadow-xl border border-gray-200 dark:border-gray-700"},F=H&&!M?o:n,K=jsxRuntime.jsx("aside",{className:g("flex flex-col h-full overflow-hidden transition-[width] duration-200 ease-in-out",W[s],d),style:{width:M?n:F,minWidth:M?n:F},"data-testid":"sidebar","data-collapsed":H&&!M,"data-mobile":M,"data-position":a,children:x}),j={collapsed:H&&!M,isMobile:M,mobileOpen:B,position:a,variant:s,expandedWidth:n,collapsedWidth:o,toggle:C,closeMobile:b,closeLabel:f};return M?jsxRuntime.jsxs(Yl.Provider,{value:j,children:[B&&jsxRuntime.jsx("div",{ref:I,className:"fixed inset-0 z-40 bg-black/50 transition-opacity",onClick:b,"aria-hidden":"true","data-testid":"sidebar-overlay"}),jsxRuntime.jsx("div",{ref:A=>{S.current=A,E.current=A;},...N,"aria-label":u??h.sidebar,className:g("fixed top-0 z-50 h-full transition-transform duration-200 ease-in-out focus:outline-none",a==="left"?"left-0":"right-0",B?"translate-x-0":a==="left"?"-translate-x-full":"translate-x-full"),children:K})]}):jsxRuntime.jsx(Yl.Provider,{value:j,children:K})}function P1({className:e,children:t}){let r=ko(),n=We();return jsxRuntime.jsxs("div",{className:g("flex items-center shrink-0 px-4 h-14 overflow-hidden",r.collapsed&&"justify-center px-2",e),"data-testid":"sidebar-header",children:[t,r.isMobile&&r.mobileOpen&&jsxRuntime.jsx("button",{type:"button",onClick:r.closeMobile,className:"ml-auto p-1 rounded-md text-gray-400 hover:text-gray-600 dark:hover:text-gray-300 hover:bg-gray-100 dark:hover:bg-gray-800 cursor-pointer","aria-label":r.closeLabel??n.closeSidebar,children:jsxRuntime.jsx(R1,{})})]})}function D1({className:e,children:t}){return jsxRuntime.jsx("div",{className:g("flex-1 overflow-y-auto overflow-x-hidden py-2",e),"data-testid":"sidebar-content",children:t})}function L1({className:e,children:t}){let r=ko();return jsxRuntime.jsx("div",{className:g("shrink-0 border-t border-gray-200 dark:border-gray-700 px-4 py-3 overflow-hidden",r.collapsed&&"px-2 flex justify-center",e),"data-testid":"sidebar-footer",children:t})}function E1({label:e,className:t,children:r}){let n=ko();return jsxRuntime.jsxs("div",{className:g("py-2",t),"data-testid":"sidebar-group",children:[e&&!n.collapsed&&jsxRuntime.jsx("div",{className:"px-4 py-1.5 text-[11px] font-semibold uppercase tracking-wider text-gray-400 dark:text-gray-500",children:e}),e&&n.collapsed&&jsxRuntime.jsx("div",{className:"mx-auto my-1 w-6 border-t border-gray-200 dark:border-gray-700"}),jsxRuntime.jsx("div",{className:"space-y-0.5 px-2",children:r})]})}function M1({icon:e,label:t,badge:r,badgeColor:n="bg-blue-600 text-white",active:o=false,disabled:a=false,href:s,onClick:l,tooltip:i,className:c}){let d=ko(),u=d.collapsed,f=i??t,m=jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[e&&jsxRuntime.jsx("span",{className:g("shrink-0 w-5 h-5",u&&"w-5 h-5"),children:e}),!u&&jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx("span",{className:"flex-1 truncate",children:t}),r!=null&&jsxRuntime.jsx("span",{className:g("shrink-0 inline-flex items-center justify-center rounded-full text-[10px] font-semibold min-w-[18px] h-[18px] px-1",n),children:r})]}),u&&r!==void 0&&r!==null&&jsxRuntime.jsx("span",{className:"absolute top-1 right-1 w-2 h-2 rounded-full bg-blue-600"})]}),p=g("relative flex items-center gap-3 rounded-md text-sm font-medium transition-colors w-full",u?"justify-center px-2 py-2.5":"px-3 py-2",o?"bg-blue-50 text-blue-700 dark:bg-blue-900/30 dark:text-blue-400":"text-gray-700 dark:text-gray-300 hover:bg-gray-100 dark:hover:bg-gray-800",a&&"opacity-50 pointer-events-none",!a&&"cursor-pointer",c),w=()=>{a||(l?.(),d.isMobile&&d.closeMobile());},v=s?jsxRuntime.jsx("a",{href:a?void 0:s,className:p,onClick:w,"aria-current":o?"page":void 0,"data-testid":"sidebar-item",children:m}):jsxRuntime.jsx("button",{type:"button",className:p,onClick:w,disabled:a,"aria-current":o?"page":void 0,"data-testid":"sidebar-item",children:m});return u?jsxRuntime.jsx(um,{text:f,position:d.position,children:v}):v}function I1({icon:e,label:t,badge:r,defaultOpen:n=false,className:o,children:a}){let s=ko(),[l,i]=el.useState(n),c=el.useRef(null),[d,u]=el.useState(n?void 0:0),f=el.useRef(true);return el.useEffect(()=>{if(f.current){f.current=false,u(l?void 0:0);return}if(l){let m=c.current;if(m){u(m.scrollHeight);let p=setTimeout(()=>u(void 0),200);return ()=>clearTimeout(p)}}else {let m=c.current;m&&(u(m.scrollHeight),requestAnimationFrame(()=>u(0)));}},[l]),s.collapsed?jsxRuntime.jsx(um,{text:t,position:s.position,children:jsxRuntime.jsxs("button",{type:"button",className:g("relative flex items-center justify-center gap-3 rounded-md text-sm font-medium transition-colors w-full px-2 py-2.5","text-gray-700 dark:text-gray-300 hover:bg-gray-100 dark:hover:bg-gray-800 cursor-pointer",o),onClick:()=>{s.toggle(),i(true);},"data-testid":"sidebar-submenu-trigger",children:[e&&jsxRuntime.jsx("span",{className:"shrink-0 w-5 h-5",children:e}),r!=null&&jsxRuntime.jsx("span",{className:"absolute top-1 right-1 w-2 h-2 rounded-full bg-blue-600"})]})}):jsxRuntime.jsxs("div",{className:o,"data-testid":"sidebar-submenu",children:[jsxRuntime.jsxs("button",{type:"button",className:g("flex items-center gap-3 rounded-md text-sm font-medium transition-colors w-full px-3 py-2","text-gray-700 dark:text-gray-300 hover:bg-gray-100 dark:hover:bg-gray-800 cursor-pointer"),onClick:()=>i(!l),"aria-expanded":l,"data-testid":"sidebar-submenu-trigger",children:[e&&jsxRuntime.jsx("span",{className:"shrink-0 w-5 h-5",children:e}),jsxRuntime.jsx("span",{className:"flex-1 truncate text-left",children:t}),r!=null&&jsxRuntime.jsx("span",{className:"shrink-0 inline-flex items-center justify-center rounded-full text-[10px] font-semibold min-w-[18px] h-[18px] px-1 bg-blue-600 text-white",children:r}),jsxRuntime.jsx(S1,{className:g("shrink-0 text-gray-400 transition-transform duration-200",l&&"rotate-180")})]}),jsxRuntime.jsx("div",{className:"overflow-hidden transition-[height] duration-200 ease-in-out",style:{height:d===void 0?"auto":d},children:jsxRuntime.jsx("div",{ref:c,className:"pl-4 py-0.5",children:a})})]})}function A1({className:e}){let t=ko(),r=We(),n=t.isMobile?t.mobileOpen?t.closeLabel??r.closeSidebar:r.openSidebar:t.collapsed?r.expandSidebar:r.collapseSidebar;return jsxRuntime.jsx("button",{type:"button",onClick:t.toggle,className:g("p-1.5 rounded-md text-gray-400 hover:text-gray-600 dark:hover:text-gray-300 hover:bg-gray-100 dark:hover:bg-gray-800 transition-colors cursor-pointer",e),"aria-label":n,"data-testid":"sidebar-toggle",children:jsxRuntime.jsx(N1,{className:g("transition-transform duration-200",t.collapsed&&"rotate-180",t.position==="right"&&!t.collapsed&&"rotate-180",t.position==="right"&&t.collapsed&&"rotate-0")})})}function jl({data:e,width:t=96,height:r=28,curve:n="monotone",color:o=bs[0],strokeWidth:a=2,area:s=false,emphasizeLast:l=false,domain:i,ariaLabel:c,className:d,...u}){let f=Math.max(a/2,l?a+2.5:0),m=i??Yt(e)??[0,1],p=Er([0,Math.max(1,e.length-1)],[f,t-f]),w=Er(m,[r-f,f]),v=e.map((h,I)=>({x:p(I),y:h==null?Number.NaN:w(h),defined:h!=null&&Number.isFinite(h)})),x=[...v].reverse().find(h=>h.defined!==false);return jsxRuntime.jsxs("svg",{width:t,height:r,viewBox:`0 0 ${t} ${r}`,className:g("overflow-visible",d),role:c?"img":void 0,"aria-label":c,"aria-hidden":c?void 0:true,...u,children:[s?jsxRuntime.jsx("path",{d:Na(v,r-f,n),fill:o,fillOpacity:.12,stroke:"none"}):null,jsxRuntime.jsx("path",{d:Xr(v,n),fill:"none",stroke:o,strokeWidth:a,strokeLinecap:"round",strokeLinejoin:"round",vectorEffect:"non-scaling-stroke"}),l&&x?jsxRuntime.jsx("circle",{cx:x.x,cy:x.y,r:a,fill:o,strokeWidth:2,className:"stroke-white dark:stroke-gray-800"}):null]})}var W1={sm:"p-3",md:"p-4",lg:"p-5"},H1={sm:"text-[11px]",md:"text-xs",lg:"text-sm"},B1={sm:"text-xl",md:"text-2xl",lg:"text-3xl"},mm={sm:{width:72,height:22},md:{width:96,height:28},lg:{width:120,height:34}};function V1(e){return e.direction?e.direction:e.value>0?"up":e.value<0?"down":"flat"}function F1(e,t){return e==="flat"||t==="neutral"?"text-gray-500 dark:text-gray-400":e===t?"text-green-600 dark:text-green-400":"text-red-600 dark:text-red-400"}function O1({direction:e}){return e==="flat"?jsxRuntime.jsx("svg",{width:"10",height:"10",viewBox:"0 0 10 10",fill:"currentColor","aria-hidden":"true",children:jsxRuntime.jsx("rect",{x:"1",y:"4.25",width:"8",height:"1.5",rx:"0.75"})}):jsxRuntime.jsx("svg",{width:"10",height:"10",viewBox:"0 0 10 10",fill:"currentColor","aria-hidden":"true",children:jsxRuntime.jsx("path",{d:e==="up"?"M5 1 L9.5 8 L0.5 8 Z":"M5 9 L0.5 2 L9.5 2 Z"})})}function $1({label:e,value:t,format:r,delta:n,trend:o,trendColor:a,icon:s,size:l="md",loading:i=false,variant:c="card",footer:d,className:u,...f}){let m=typeof t=="number"?(r??nt)(t):t,p=n?V1(n):"flat",w=n?(n.format??(v=>Ut(v,{signed:true})))(n.value):null;return jsxRuntime.jsxs("div",{className:g("flex flex-col gap-2",c==="card"&&g("rounded-lg border border-gray-200 bg-white dark:border-gray-700 dark:bg-gray-800",W1[l]),u),...f,children:[jsxRuntime.jsxs("div",{className:"flex items-start justify-between gap-2",children:[jsxRuntime.jsx("span",{className:g("font-medium text-gray-500 dark:text-gray-400",H1[l]),children:e}),s?jsxRuntime.jsx("span",{className:"shrink-0 text-gray-400",children:s}):null]}),jsxRuntime.jsxs("div",{className:"flex items-end justify-between gap-3",children:[jsxRuntime.jsxs("div",{className:"flex min-w-0 flex-col gap-1",children:[i?jsxRuntime.jsx("div",{className:"flex items-center",style:{height:l==="lg"?30:24},"aria-busy":"true","aria-live":"polite",children:jsxRuntime.jsx(Po,{indeterminate:true,size:l==="lg"?"sm":"xs",thickness:"thin","aria-hidden":"true"})}):jsxRuntime.jsx("span",{className:g("leading-none font-semibold text-gray-900 dark:text-gray-100",B1[l]),children:m}),n&&!i?jsxRuntime.jsxs("span",{className:g("flex items-center gap-1 text-xs font-medium",F1(p,n.goodWhen??"up")),children:[jsxRuntime.jsx(O1,{direction:p}),w,n.period?jsxRuntime.jsx("span",{className:"font-normal text-gray-500 dark:text-gray-400",children:n.period}):null]}):null]}),o&&o.length>0&&!i?jsxRuntime.jsx(jl,{data:o,color:a,emphasizeLast:true,area:true,width:mm[l].width,height:mm[l].height,className:"shrink-0"}):null]}),d?jsxRuntime.jsx("div",{className:"text-xs text-gray-500 dark:text-gray-400",children:d}):null]})}var _1={1:"sm:grid-cols-1",2:"sm:grid-cols-2",3:"sm:grid-cols-3",4:"sm:grid-cols-2 lg:grid-cols-4"};function X1({columns:e=4,className:t,children:r,...n}){return jsxRuntime.jsx("div",{className:g("grid grid-cols-1 gap-3",_1[e],t),...n,children:r})}var K1={text:"rounded h-4 w-full",circular:"rounded-full",rectangular:"rounded-none",rounded:"rounded-lg"},U1={pulse:"animate-pulse",wave:"animate-shimmer bg-gradient-to-r from-gray-200 via-gray-100 to-gray-200 dark:from-gray-700 dark:via-gray-600 dark:to-gray-700 bg-[length:200%_100%]",none:""},Y1="bg-gray-200 dark:bg-gray-700";function gm({variant:e="text",animation:t="pulse",width:r,height:n,count:o=1,className:a,style:s,...l}){let i={...r!==void 0&&{width:typeof r=="number"?`${r}px`:r},...n!==void 0&&{height:typeof n=="number"?`${n}px`:n},...s};e==="circular"&&r&&!n&&(i.height=i.width);let c=g(Y1,K1[e],U1[t],a);return o===1?jsxRuntime.jsx("div",{className:c,style:i,"aria-busy":"true","aria-live":"polite",...l}):jsxRuntime.jsx("div",{className:"space-y-2",children:Array.from({length:o}).map((d,u)=>jsxRuntime.jsx("div",{className:c,style:i,"aria-busy":"true","aria-live":"polite",...l},u))})}gm.displayName="Skeleton";var J1={sm:"h-1",md:"h-1.5",lg:"h-2"},eC={sm:"w-3.5 h-3.5",md:"w-4 h-4",lg:"w-5 h-5"},tC={sm:14,md:16,lg:20},rC="[&::-webkit-slider-thumb]:appearance-none [&::-webkit-slider-thumb]:rounded-full [&::-moz-range-thumb]:appearance-none [&::-moz-range-thumb]:rounded-full [&::-moz-range-thumb]:border-0",nC={sm:"[&::-webkit-slider-thumb]:h-3.5 [&::-webkit-slider-thumb]:w-3.5 [&::-moz-range-thumb]:h-3.5 [&::-moz-range-thumb]:w-3.5",md:"[&::-webkit-slider-thumb]:h-4 [&::-webkit-slider-thumb]:w-4 [&::-moz-range-thumb]:h-4 [&::-moz-range-thumb]:w-4",lg:"[&::-webkit-slider-thumb]:h-5 [&::-webkit-slider-thumb]:w-5 [&::-moz-range-thumb]:h-5 [&::-moz-range-thumb]:w-5"},oC={sm:"h-4",md:"h-5",lg:"h-6"},aC={primary:"bg-blue-600 dark:bg-blue-500",success:"bg-green-600 dark:bg-green-500",warning:"bg-yellow-500 dark:bg-yellow-400",error:"bg-red-600 dark:bg-red-500",info:"bg-cyan-600 dark:bg-cyan-500",neutral:"bg-gray-600 dark:bg-gray-400"},sC={primary:"border-blue-600 dark:border-blue-500",success:"border-green-600 dark:border-green-500",warning:"border-yellow-500 dark:border-yellow-400",error:"border-red-600 dark:border-red-500",info:"border-cyan-600 dark:border-cyan-500",neutral:"border-gray-600 dark:border-gray-400"},iC={primary:"peer-focus-visible:ring-blue-500",success:"peer-focus-visible:ring-green-500",warning:"peer-focus-visible:ring-yellow-500",error:"peer-focus-visible:ring-red-500",info:"peer-focus-visible:ring-cyan-500",neutral:"peer-focus-visible:ring-gray-500"},lC={primary:"text-blue-600 dark:text-blue-400",success:"text-green-600 dark:text-green-400",warning:"text-yellow-600 dark:text-yellow-400",error:"text-red-600 dark:text-red-400",info:"text-cyan-600 dark:text-cyan-400",neutral:"text-gray-700 dark:text-gray-300"},pm=(e,t,r)=>Math.min(r,Math.max(t,e)),Ql=(e,t,r)=>r>t?(pm(e,t,r)-t)/(r-t)*100:0,ci=(e,t)=>{let r=(.5-e/100)*t,n=Math.round(Math.abs(r)*1e3)/1e3;return `calc(${e}% ${r<0?"-":"+"} ${n}px)`},cC=(e,t,r,n)=>{if(!e)return [];if(Array.isArray(e))return e;let o=n>0?n:1,a=Math.floor((r-t)/o);return a<=0||a>20?[{value:t},{value:r}]:Array.from({length:a+1},(s,l)=>({value:t+l*o}))},fm=el.forwardRef(({value:e,defaultValue:t,onValueChange:r,min:n=0,max:o=100,step:a=1,size:s="md",color:l="primary",disabled:i=false,readOnly:c=false,label:d,description:u,error:f=false,showValue:m=false,showTooltip:p=false,valueFormat:w,marks:v,trackColor:x,fillColor:h,thumbColor:I,className:S,containerClassName:L,id:R,...T},y)=>{let[M,k]=el.useState(t??n),z=e!==void 0,P=pm(z?e:M,n,o),B=el.useId(),C=R??B,b=typeof f=="string"?f:void 0,E=!!f,N=!i&&!c,W=E?"error":l,F=Ql(P,n,o),K=tC[s],j=G=>{if(!N)return;let $=Number(G.target.value);z||k($),r?.($);},A=el.useMemo(()=>cC(v,n,o,a),[v,n,o,a]),D=A.some(G=>G.label!=null),V=w?w(P):`${P}`,O={width:ci(F,K)};h&&(O.backgroundColor=h);let _={left:ci(F,K)};I&&(_.backgroundColor=I,_.borderColor=I);let X=x?{backgroundColor:x}:{};return jsxRuntime.jsxs("div",{className:g("w-full",L),children:[(d||m)&&jsxRuntime.jsxs("div",{className:"flex items-center justify-between mb-1.5",children:[d?jsxRuntime.jsx("label",{htmlFor:C,className:g("text-sm font-medium text-gray-700 dark:text-gray-200",i&&"opacity-50"),children:d}):jsxRuntime.jsx("span",{}),m&&jsxRuntime.jsx("span",{className:g("text-sm font-semibold tabular-nums",lC[W]),children:V})]}),jsxRuntime.jsxs("div",{className:g("relative flex items-center",oC[s],i&&"opacity-50"),children:[jsxRuntime.jsx("input",{ref:y,type:"range",id:C,min:n,max:o,step:a,value:P,onChange:j,disabled:i,readOnly:c,"aria-invalid":E,"aria-readonly":c||void 0,"aria-describedby":b?`${C}-error`:void 0,tabIndex:N?void 0:-1,className:g("peer absolute inset-0 z-10 m-0 h-full w-full cursor-pointer appearance-none bg-transparent opacity-0",rC,nC[s],!N&&"pointer-events-none cursor-default",S),...T}),jsxRuntime.jsxs("div",{className:g("pointer-events-none relative w-full overflow-hidden rounded-full bg-gray-200 dark:bg-gray-700",J1[s]),style:X,children:[jsxRuntime.jsx("div",{className:g("absolute inset-y-0 left-0 rounded-full transition-[width] duration-150 ease-out",h?"":aC[W]),style:O}),A.map((G,$)=>{let Y=Ql(G.value,n,o),se=G.value<=P;return jsxRuntime.jsx("span",{"data-slider-mark":"",className:g("absolute top-1/2 h-1 w-1 -translate-x-1/2 -translate-y-1/2 rounded-full",se?"bg-white/80":"bg-gray-400 dark:bg-gray-500"),style:{left:ci(Y,K)}},`mark-${G.value}-${$}`)})]}),jsxRuntime.jsx("div",{"data-slider-thumb":"",className:g("pointer-events-none absolute top-1/2 -translate-x-1/2 -translate-y-1/2 rounded-full border-2 bg-white shadow transition-transform dark:bg-gray-100",eC[s],I?"":sC[W],N&&"peer-hover:scale-110 peer-active:scale-110","peer-focus-visible:scale-110 peer-focus-visible:ring-2 peer-focus-visible:ring-offset-2",iC[W]),style:_,children:p&&jsxRuntime.jsx("span",{"data-slider-tooltip":"",className:g("pointer-events-none absolute bottom-full left-1/2 mb-2 -translate-x-1/2 rounded bg-gray-900 px-1.5 py-0.5 text-xs font-medium text-white opacity-0 transition-opacity dark:bg-gray-700","peer-hover:opacity-100 peer-focus-visible:opacity-100 peer-active:opacity-100"),children:V})})]}),D&&jsxRuntime.jsx("div",{className:"relative mt-1.5 h-4",children:A.map((G,$)=>G.label!=null?jsxRuntime.jsx("span",{className:"absolute -translate-x-1/2 whitespace-nowrap text-xs text-gray-500 dark:text-gray-400",style:{left:ci(Ql(G.value,n,o),K)},children:G.label},`mark-label-${G.value}-${$}`):null)}),u&&!b&&jsxRuntime.jsx("p",{className:"mt-1.5 text-sm text-gray-500 dark:text-gray-400",children:u}),b&&jsxRuntime.jsx("p",{id:`${C}-error`,className:"mt-1.5 text-sm text-red-500 dark:text-red-400",children:b})]})});fm.displayName="Slider";var Jl=el.createContext(null);function ra(){let e=el.useContext(Jl);if(!e)throw new Error("Tabs components must be used within a Tabs provider");return e}function bm({children:e,defaultValue:t="",value:r,onValueChange:n,variant:o="underline",size:a="md",color:s="default",fullWidth:l=false,orientation:i="horizontal",className:c}){let[d,u]=el.useState(t),f=r!==void 0,m=f?r:d,p=el.useCallback(v=>{f||u(v),n?.(v);},[f,n]),w=el.useMemo(()=>({value:m,onValueChange:p,variant:o,size:a,color:s,orientation:i,fullWidth:l}),[m,p,o,a,s,i,l]);return jsxRuntime.jsx(Jl.Provider,{value:w,children:jsxRuntime.jsx("div",{className:g("w-full",i==="vertical"&&"flex gap-4",c),"data-orientation":i,children:e})})}bm.displayName="Tabs";var fC={none:"gap-0",sm:"gap-1",md:"gap-2",lg:"gap-4"};function ym({children:e,className:t,bgColor:r,gap:n="none"}){let{variant:o,orientation:a,fullWidth:s}=ra(),l=g("flex",a==="vertical"?"flex-col":"flex-row items-center",fC[n]),i={underline:"border-b border-gray-200 dark:border-gray-700",pills:g("p-1 rounded-lg",r||"bg-gray-100 dark:bg-gray-800"),enclosed:"border-b border-gray-200 dark:border-gray-700",soft:g("p-1 rounded-lg",r||"bg-gray-100/50 dark:bg-gray-800/50")};return jsxRuntime.jsx("div",{role:"tablist","aria-orientation":a,className:g(l,i[o],s&&"w-full",t),children:e})}ym.displayName="TabsList";var bC={sm:"px-3 py-1.5 text-xs gap-1.5",md:"px-4 py-2 text-sm gap-2",lg:"px-5 py-2.5 text-base gap-2"},xm={sm:"w-3.5 h-3.5",md:"w-4 h-4",lg:"w-5 h-5"},vm={default:{underline:{active:"text-gray-900 dark:text-white border-gray-900 dark:border-white",inactive:"text-gray-500 dark:text-gray-400 border-transparent hover:text-gray-700 dark:hover:text-gray-300"},pills:{active:"bg-white dark:bg-gray-700 text-gray-900 dark:text-white shadow-sm",inactive:"text-gray-600 dark:text-gray-400 hover:text-gray-900 dark:hover:text-white"},enclosed:{active:"bg-white dark:bg-gray-800 text-gray-900 dark:text-white border-gray-200 dark:border-gray-700 border-b-white dark:border-b-gray-800",inactive:"text-gray-500 dark:text-gray-400 hover:text-gray-700 dark:hover:text-gray-300 border-transparent"},soft:{active:"bg-gray-200 dark:bg-gray-700 text-gray-900 dark:text-white",inactive:"text-gray-600 dark:text-gray-400 hover:text-gray-900 dark:hover:text-white hover:bg-gray-100 dark:hover:bg-gray-700/50"}},primary:{underline:{active:"text-blue-600 dark:text-blue-400 border-blue-600 dark:border-blue-400",inactive:"text-gray-500 dark:text-gray-400 border-transparent hover:text-blue-600 dark:hover:text-blue-400"},pills:{active:"bg-blue-600 text-white",inactive:"text-gray-600 dark:text-gray-400 hover:text-blue-600 dark:hover:text-blue-400"},enclosed:{active:"bg-blue-50 dark:bg-blue-900/20 text-blue-600 dark:text-blue-400 border-blue-200 dark:border-blue-800 border-b-blue-50 dark:border-b-blue-900/20",inactive:"text-gray-500 dark:text-gray-400 hover:text-blue-600 dark:hover:text-blue-400 border-transparent"},soft:{active:"bg-blue-100 dark:bg-blue-900/50 text-blue-700 dark:text-blue-300",inactive:"text-gray-600 dark:text-gray-400 hover:text-blue-600 dark:hover:text-blue-400 hover:bg-blue-50 dark:hover:bg-blue-900/20"}},secondary:{underline:{active:"text-purple-600 dark:text-purple-400 border-purple-600 dark:border-purple-400",inactive:"text-gray-500 dark:text-gray-400 border-transparent hover:text-purple-600 dark:hover:text-purple-400"},pills:{active:"bg-purple-600 text-white",inactive:"text-gray-600 dark:text-gray-400 hover:text-purple-600 dark:hover:text-purple-400"},enclosed:{active:"bg-purple-50 dark:bg-purple-900/20 text-purple-600 dark:text-purple-400 border-purple-200 dark:border-purple-800 border-b-purple-50 dark:border-b-purple-900/20",inactive:"text-gray-500 dark:text-gray-400 hover:text-purple-600 dark:hover:text-purple-400 border-transparent"},soft:{active:"bg-purple-100 dark:bg-purple-900/50 text-purple-700 dark:text-purple-300",inactive:"text-gray-600 dark:text-gray-400 hover:text-purple-600 dark:hover:text-purple-400 hover:bg-purple-50 dark:hover:bg-purple-900/20"}},success:{underline:{active:"text-green-600 dark:text-green-400 border-green-600 dark:border-green-400",inactive:"text-gray-500 dark:text-gray-400 border-transparent hover:text-green-600 dark:hover:text-green-400"},pills:{active:"bg-green-600 text-white",inactive:"text-gray-600 dark:text-gray-400 hover:text-green-600 dark:hover:text-green-400"},enclosed:{active:"bg-green-50 dark:bg-green-900/20 text-green-600 dark:text-green-400 border-green-200 dark:border-green-800 border-b-green-50 dark:border-b-green-900/20",inactive:"text-gray-500 dark:text-gray-400 hover:text-green-600 dark:hover:text-green-400 border-transparent"},soft:{active:"bg-green-100 dark:bg-green-900/50 text-green-700 dark:text-green-300",inactive:"text-gray-600 dark:text-gray-400 hover:text-green-600 dark:hover:text-green-400 hover:bg-green-50 dark:hover:bg-green-900/20"}},warning:{underline:{active:"text-yellow-600 dark:text-yellow-400 border-yellow-600 dark:border-yellow-400",inactive:"text-gray-500 dark:text-gray-400 border-transparent hover:text-yellow-600 dark:hover:text-yellow-400"},pills:{active:"bg-yellow-500 text-white",inactive:"text-gray-600 dark:text-gray-400 hover:text-yellow-600 dark:hover:text-yellow-400"},enclosed:{active:"bg-yellow-50 dark:bg-yellow-900/20 text-yellow-600 dark:text-yellow-400 border-yellow-200 dark:border-yellow-800 border-b-yellow-50 dark:border-b-yellow-900/20",inactive:"text-gray-500 dark:text-gray-400 hover:text-yellow-600 dark:hover:text-yellow-400 border-transparent"},soft:{active:"bg-yellow-100 dark:bg-yellow-900/50 text-yellow-700 dark:text-yellow-300",inactive:"text-gray-600 dark:text-gray-400 hover:text-yellow-600 dark:hover:text-yellow-400 hover:bg-yellow-50 dark:hover:bg-yellow-900/20"}},error:{underline:{active:"text-red-600 dark:text-red-400 border-red-600 dark:border-red-400",inactive:"text-gray-500 dark:text-gray-400 border-transparent hover:text-red-600 dark:hover:text-red-400"},pills:{active:"bg-red-600 text-white",inactive:"text-gray-600 dark:text-gray-400 hover:text-red-600 dark:hover:text-red-400"},enclosed:{active:"bg-red-50 dark:bg-red-900/20 text-red-600 dark:text-red-400 border-red-200 dark:border-red-800 border-b-red-50 dark:border-b-red-900/20",inactive:"text-gray-500 dark:text-gray-400 hover:text-red-600 dark:hover:text-red-400 border-transparent"},soft:{active:"bg-red-100 dark:bg-red-900/50 text-red-700 dark:text-red-300",inactive:"text-gray-600 dark:text-gray-400 hover:text-red-600 dark:hover:text-red-400 hover:bg-red-50 dark:hover:bg-red-900/20"}}},yC={underline:"border-b-2 -mb-px",pills:"rounded-md",enclosed:"border border-b-0 rounded-t-md -mb-px",soft:"rounded-md"};function Cm({value:e,children:t,disabled:r=false,icon:n,endIcon:o,className:a,activeClassName:s,inactiveClassName:l}){let{value:i,onValueChange:c,variant:d,size:u,color:f,fullWidth:m}=ra(),p=i===e,w=()=>{r||c(e);},v=S=>{(S.key==="Enter"||S.key===" ")&&(S.preventDefault(),w());},x=g("inline-flex items-center justify-center font-medium transition-all duration-200","focus:outline-none focus-visible:ring-2 focus-visible:ring-offset-2 focus-visible:ring-blue-500",bC[u],m&&"flex-1"),h=p?g(vm[f][d].active,s):g(vm[f][d].inactive,l),I=r?"opacity-50 cursor-not-allowed":"cursor-pointer";return jsxRuntime.jsxs("button",{type:"button",role:"tab","aria-selected":p,"aria-disabled":r,tabIndex:p?0:-1,onClick:w,onKeyDown:v,disabled:r,className:g(x,yC[d],h,I,a),children:[n&&jsxRuntime.jsx("span",{className:g("shrink-0",xm[u]),children:n}),jsxRuntime.jsx("span",{children:t}),o&&jsxRuntime.jsx("span",{className:g("shrink-0",xm[u]),children:o})]})}Cm.displayName="TabsTrigger";function km({value:e,children:t,className:r,forceMount:n=false}){let{value:o}=ra(),a=o===e;return !a&&!n?null:jsxRuntime.jsx("div",{role:"tabpanel",hidden:!a,tabIndex:0,className:g("mt-4 focus:outline-none focus-visible:ring-2 focus-visible:ring-offset-2 focus-visible:ring-blue-500 rounded-md",!a&&"hidden",r),children:t})}km.displayName="TabsContent";function CC({className:e}){return jsxRuntime.jsx("svg",{className:e,viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",children:jsxRuntime.jsx("path",{d:"M9 12L11 14L15 10M21 12C21 16.97 16.97 21 12 21C7.03 21 3 16.97 3 12C3 7.03 7.03 3 12 3C16.97 3 21 7.03 21 12Z",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})})}function kC({className:e}){return jsxRuntime.jsx("svg",{className:e,viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",children:jsxRuntime.jsx("path",{d:"M12 8V12M12 16H12.01M21 12C21 16.97 16.97 21 12 21C7.03 21 3 16.97 3 12C3 7.03 7.03 3 12 3C16.97 3 21 7.03 21 12Z",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})})}function wC({className:e}){return jsxRuntime.jsx("svg",{className:e,viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",children:jsxRuntime.jsx("path",{d:"M12 9V13M12 17H12.01M10.29 3.86L1.82 18C1.65 18.3 1.55 18.65 1.55 18.99C1.55 19.34 1.64 19.69 1.81 19.99C1.99 20.29 2.24 20.55 2.54 20.72C2.84 20.901 3.18 20.99 3.53 21H20.47C20.82 20.99 21.16 20.901 21.46 20.72C21.76 20.55 22.01 20.29 22.19 19.99C22.36 19.69 22.449 19.34 22.448 18.99C22.447 18.65 22.35 18.3 22.18 18L13.71 3.86C13.53 3.57 13.28 3.32 12.98 3.15C12.68 2.99 12.34 2.9 12 2.9C11.66 2.9 11.32 2.99 11.02 3.15C10.72 3.32 10.47 3.57 10.29 3.86Z",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})})}function wm({className:e}){return jsxRuntime.jsx("svg",{className:e,viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",children:jsxRuntime.jsx("path",{d:"M13 16H12V12H11M12 8H12.01M21 12C21 16.97 16.97 21 12 21C7.03 21 3 16.97 3 12C3 7.03 7.03 3 12 3C16.97 3 21 7.03 21 12Z",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})})}function NC({className:e}){return jsxRuntime.jsx("svg",{className:e,viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",children:jsxRuntime.jsx("path",{d:"M4 4L12 12M12 4L4 12",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})})}var SC={success:CC,error:kC,warning:wC,info:wm,default:wm},RC={success:{solid:"bg-green-600 text-white border-green-600",outlined:"bg-white text-green-700 border-green-600 dark:bg-gray-900 dark:text-green-400",soft:"bg-green-50 text-green-700 border-green-200 dark:bg-green-900/20 dark:text-green-400 dark:border-green-800"},error:{solid:"bg-red-600 text-white border-red-600",outlined:"bg-white text-red-700 border-red-600 dark:bg-gray-900 dark:text-red-400",soft:"bg-red-50 text-red-700 border-red-200 dark:bg-red-900/20 dark:text-red-400 dark:border-red-800"},warning:{solid:"bg-yellow-500 text-white border-yellow-500",outlined:"bg-white text-yellow-700 border-yellow-500 dark:bg-gray-900 dark:text-yellow-400",soft:"bg-yellow-50 text-yellow-700 border-yellow-200 dark:bg-yellow-900/20 dark:text-yellow-400 dark:border-yellow-800"},info:{solid:"bg-blue-600 text-white border-blue-600",outlined:"bg-white text-blue-700 border-blue-600 dark:bg-gray-900 dark:text-blue-400",soft:"bg-blue-50 text-blue-700 border-blue-200 dark:bg-blue-900/20 dark:text-blue-400 dark:border-blue-800"},default:{solid:"bg-gray-700 text-white border-gray-700",outlined:"bg-white text-gray-700 border-gray-300 dark:bg-gray-900 dark:text-gray-300",soft:"bg-gray-50 text-gray-700 border-gray-200 dark:bg-gray-800 dark:text-gray-300 dark:border-gray-700"}},TC={success:"text-green-600 dark:text-green-400",error:"text-red-600 dark:text-red-400",warning:"text-yellow-600 dark:text-yellow-400",info:"text-blue-600 dark:text-blue-400",default:"text-gray-600 dark:text-gray-400"};function Sm({children:e,title:t,description:r,type:n="default",variant:o="soft",icon:a,action:s,onClose:l,closable:i=true,className:c,...d}){let u=SC[n],f=jsxRuntime.jsx(u,{className:"w-5 h-5"}),m=e??r;return jsxRuntime.jsxs("div",{role:"alert",className:g("flex items-start gap-3 p-4 rounded-lg border shadow-lg min-w-[320px] max-w-md","animate-in slide-in-from-top-2 fade-in duration-300",RC[n][o],c),...d,children:[jsxRuntime.jsx("div",{className:g("flex-shrink-0 mt-0.5",o==="solid"?"text-white":TC[n]),children:a??f}),jsxRuntime.jsxs("div",{className:"flex-1 min-w-0",children:[t&&jsxRuntime.jsx("div",{className:"font-semibold text-sm mb-1",children:t}),m&&jsxRuntime.jsx("div",{className:"text-sm opacity-90",children:m}),s&&jsxRuntime.jsx("div",{className:"mt-3",children:s})]}),i&&jsxRuntime.jsx("button",{type:"button",onClick:l,className:g("flex-shrink-0 rounded-md p-1 transition-colors hover:bg-black/10 dark:hover:bg-white/10","focus:outline-none focus-visible:ring-2 focus-visible:ring-offset-2 focus-visible:ring-current",o==="solid"?"text-white":""),"aria-label":"Close notification",children:jsxRuntime.jsx(NC,{className:"w-4 h-4"})})]})}Sm.displayName="Toast";var LC={default:"bg-gray-900 text-white dark:bg-gray-700",light:"bg-white text-gray-900 border border-gray-200 shadow-lg dark:bg-gray-800 dark:text-white dark:border-gray-600",error:"bg-red-600 text-white",success:"bg-green-600 text-white",warning:"bg-yellow-500 text-white",info:"bg-blue-600 text-white"},EC={default:{top:"border-t-gray-900 dark:border-t-gray-700",bottom:"border-b-gray-900 dark:border-b-gray-700",left:"border-l-gray-900 dark:border-l-gray-700",right:"border-r-gray-900 dark:border-r-gray-700"},light:{top:"border-t-white dark:border-t-gray-800",bottom:"border-b-white dark:border-b-gray-800",left:"border-l-white dark:border-l-gray-800",right:"border-r-white dark:border-r-gray-800"},error:{top:"border-t-red-600",bottom:"border-b-red-600",left:"border-l-red-600",right:"border-r-red-600"},success:{top:"border-t-green-600",bottom:"border-b-green-600",left:"border-l-green-600",right:"border-r-green-600"},warning:{top:"border-t-yellow-500",bottom:"border-b-yellow-500",left:"border-l-yellow-500",right:"border-r-yellow-500"},info:{top:"border-t-blue-600",bottom:"border-b-blue-600",left:"border-l-blue-600",right:"border-r-blue-600"}},MC={sm:"px-2 py-1 text-xs",md:"px-3 py-1.5 text-sm",lg:"px-4 py-2 text-base"},IC={sm:"border-4",md:"border-[5px]",lg:"border-[6px]"},AC={top:"bottom-full left-1/2 -translate-x-1/2 mb-2",bottom:"top-full left-1/2 -translate-x-1/2 mt-2",left:"right-full top-1/2 -translate-y-1/2 mr-2",right:"left-full top-1/2 -translate-y-1/2 ml-2"},zC={top:"top-full left-1/2 -translate-x-1/2 border-l-transparent border-r-transparent border-b-transparent",bottom:"bottom-full left-1/2 -translate-x-1/2 border-l-transparent border-r-transparent border-t-transparent",left:"left-full top-1/2 -translate-y-1/2 border-t-transparent border-b-transparent border-r-transparent",right:"right-full top-1/2 -translate-y-1/2 border-t-transparent border-b-transparent border-l-transparent"};function Ht({children:e,content:t,position:r="top",variant:n="default",size:o="md",trigger:a="hover",open:s,delay:l=0,showArrow:i=true,maxWidth:c="max-w-xs",className:d,contentClassName:u,disabled:f=false,...m}){let[p,w]=el.useState(false),v=el.useRef(null),x=el.useCallback(()=>{f||(l>0?v.current=setTimeout(()=>w(true),l):w(true));},[l,f]),h=el.useCallback(()=>{v.current&&(clearTimeout(v.current),v.current=null),w(false);},[]),I=el.useCallback(()=>{f||w(R=>!R);},[f]),S=a==="manual"?s:p,L={hover:{onMouseEnter:x,onMouseLeave:h,onFocus:x,onBlur:h},click:{onClick:I},manual:{}}[a];return jsxRuntime.jsxs("div",{className:g("relative inline-flex",d),...L,...m,children:[e,S&&!f&&jsxRuntime.jsxs("div",{role:"tooltip",className:g("absolute z-50 whitespace-normal wrap-break-word rounded-md","transition-opacity duration-150",AC[r],LC[n],MC[o],c,u),children:[t,i&&jsxRuntime.jsx("span",{className:g("absolute w-0 h-0 border-solid",IC[o],zC[r],EC[n][r]),"aria-hidden":"true"})]})]})}Ht.displayName="Tooltip";function HC(e){switch(e){case "bordered":return "border-t border-gray-200 dark:border-gray-700 bg-white dark:bg-gray-900 text-gray-700 dark:text-gray-300";case "minimal":return "bg-transparent text-gray-600 dark:text-gray-400";case "dark":return "bg-gray-900 text-gray-300";default:return "bg-gray-100 dark:bg-gray-800 text-gray-700 dark:text-gray-300"}}function BC(e){switch(e){case "sm":return "py-6";case "lg":return "py-16";default:return "py-10"}}function Pm({variant:e="default",size:t="md",sticky:r=false,className:n,children:o,...a}){return jsxRuntime.jsx("footer",{className:g(HC(e),BC(t),r&&"sticky bottom-0 z-40",n),...a,children:jsxRuntime.jsx("div",{className:"container mx-auto px-4",children:o})})}Pm.displayName="Footer";function VC(e){switch(e){case 1:return "grid-cols-1";case 2:return "grid-cols-1 sm:grid-cols-2";case 3:return "grid-cols-1 sm:grid-cols-2 lg:grid-cols-3";case 4:return "grid-cols-1 sm:grid-cols-2 lg:grid-cols-4";case 5:return "grid-cols-1 sm:grid-cols-2 lg:grid-cols-5";case 6:return "grid-cols-2 sm:grid-cols-3 lg:grid-cols-6";default:return ""}}function Dm({title:e,titleClassName:t,columns:r,className:n,children:o,...a}){return jsxRuntime.jsxs("div",{className:g(r&&"grid gap-8",VC(r),n),...a,children:[e&&jsxRuntime.jsx("h3",{className:g("text-sm font-semibold uppercase tracking-wider text-gray-900 dark:text-white",r&&"col-span-full",t),children:e}),o]})}Dm.displayName="FooterSection";function Lm({title:e,titleClassName:t,className:r,children:n,...o}){return jsxRuntime.jsxs("div",{className:g("flex flex-col gap-3",r),...o,children:[e&&jsxRuntime.jsx("h4",{className:g("text-sm font-semibold uppercase tracking-wider text-gray-900 dark:text-white",t),children:e}),n]})}Lm.displayName="FooterColumn";function Em({external:e=false,className:t,children:r,...n}){return jsxRuntime.jsx("a",{className:g("text-sm text-gray-600 dark:text-gray-400 hover:text-gray-900 dark:hover:text-white transition-colors",t),target:e?"_blank":void 0,rel:e?"noopener noreferrer":void 0,...n,children:r})}Em.displayName="FooterLink";function Mm({copyright:e,className:t,children:r,...n}){return jsxRuntime.jsxs("div",{className:g("mt-8 border-t border-gray-200 dark:border-gray-700 pt-6 flex flex-col sm:flex-row items-center justify-between gap-4",t),...n,children:[e&&jsxRuntime.jsx("p",{className:"text-sm text-gray-500 dark:text-gray-400",children:e}),r]})}Mm.displayName="FooterBottom";function Im({className:e,children:t,...r}){return jsxRuntime.jsx("div",{className:g("flex items-center gap-4",e),...r,children:t})}Im.displayName="FooterSocial";function Am({icon:e,label:t,className:r,...n}){return jsxRuntime.jsx("a",{className:g("text-gray-500 dark:text-gray-400 hover:text-gray-900 dark:hover:text-white transition-colors",r),target:"_blank",rel:"noopener noreferrer","aria-label":t,...n,children:e})}Am.displayName="FooterSocialLink";var YC=4.5,qC=48,Wm=false,jC=el.memo(function({points:t}){return jsxRuntime.jsx("g",{children:t.map(r=>jsxRuntime.jsx("circle",{cx:r.cx,cy:r.cy,r:r.r,fill:r.color,fillOpacity:.85,strokeWidth:2,className:"stroke-white dark:stroke-gray-800"},`${r.seriesKey}-${r.index}`))})});function ZC({width:e,height:t,data:r,resolvedSeries:n,x:o,y:a,grid:s,size:l,bubble:i,trendLine:c,quadrants:d,pointRadius:u,margin:f,tooltip:m,onPointClick:p,plotLabel:w,formatValue:v,formatX:x}){let[h,I]=el.useState(null),S=el.useMemo(()=>{let T=n.filter(E=>!E.hidden),y=T.map(E=>E.key),M=rr({width:e,height:t,data:r,x:{...o,scale:o.scale==="time"?"time":"linear"},y:a,bounds:Yt(fr(r,y)),margin:f,formatValue:v,formatX:x}),k=i?fr(r,[i.key]):[],z=i?Yt(k):null,[H,P]=i?.range??[4,14],B=E=>{if(!i||!z)return u;let N=Ee(E,i.key);if(N===null)return H;let[W,F]=z,K=F===W?1:(N-W)/(F-W);return Math.sqrt(H*H+K*(P*P-H*H))},C=[];T.forEach(E=>{r.forEach((N,W)=>{let F=Ee(N,E.key),K=M.categoryPositions[W];F===null||!Number.isFinite(K)||C.push({seriesKey:E.key,seriesLabel:Kt(E),color:E.color,index:W,cx:K,cy:M.valueScale(F),r:B(N),xValue:_r(M.xValues[W]),yValue:F});});});let b=null;if(c&&C.length>1){let E=C.length,N=C.reduce((A,D)=>A+D.xValue,0),W=C.reduce((A,D)=>A+D.yValue,0),F=C.reduce((A,D)=>A+D.xValue*D.yValue,0),K=C.reduce((A,D)=>A+D.xValue*D.xValue,0),j=E*K-N*N;if(j!==0){let A=(E*F-N*W)/j,D=(W-A*N)/E,V=C.map(G=>G.xValue),[O,_]=[Math.min(...V),Math.max(...V)],X=C.map(G=>G.cx);b={x1:Math.min(...X),y1:M.valueScale(A*O+D),x2:Math.max(...X),y2:M.valueScale(A*_+D)};}}return {visible:T,points:C,trend:b,xTicks:M.categoryTicks,yTicks:M.valueTicks,valueScale:M.valueScale,positions:M.categoryPositions,innerWidth:M.innerWidth,innerHeight:M.innerHeight,margin:M.margin,xValues:M.xValues}},[r,n,o,a,e,t,f,i,c,u,v,x]),L=el.useCallback(T=>{if(m===false||S.points.length===0)return;let y=T.currentTarget.getBoundingClientRect(),M=T.clientX-y.left-S.margin.left,k=T.clientY-y.top-S.margin.top,z=null,H=qC;for(let P of S.points){let B=Math.hypot(P.cx-M,P.cy-k);B<H&&(H=B,z=P);}I(z);},[m,S.points,S.margin]),R=el.useCallback(()=>{!p||!h||p({seriesKey:h.seriesKey,seriesLabel:h.seriesLabel,color:h.color,value:h.yValue,formattedValue:v(h.yValue),datum:r[h.index],index:h.index,x:S.xValues[h.index]});},[p,h,v,r,S.xValues]);return jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsxs("svg",{width:e,height:t,role:"img","aria-label":w??S.visible.map(T=>Kt(T)).join(", "),tabIndex:0,className:"touch-none focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-blue-500",onPointerMove:L,onPointerLeave:()=>I(null),onBlur:()=>I(null),onClick:R,children:[jsxRuntime.jsxs("g",{transform:`translate(${S.margin.left}, ${S.margin.top})`,children:[jsxRuntime.jsx(_t,{width:S.innerWidth,height:S.innerHeight,horizontal:s==="y"||s==="both"?S.yTicks.map(T=>T.offset):void 0,vertical:s==="x"||s==="both"?S.xTicks.map(T=>T.offset):void 0}),d?.y!==void 0?jsxRuntime.jsx("line",{x1:0,y1:S.valueScale(d.y),x2:S.innerWidth,y2:S.valueScale(d.y),stroke:"var(--color-chart-muted)",strokeWidth:1,strokeDasharray:"4 4"}):null,S.trend?jsxRuntime.jsx("line",{x1:S.trend.x1,y1:S.trend.y1,x2:S.trend.x2,y2:S.trend.y2,stroke:"var(--color-chart-muted)",strokeWidth:1.5,strokeDasharray:"4 4"}):null,jsxRuntime.jsx(jC,{points:S.points}),h?jsxRuntime.jsx("circle",{cx:h.cx,cy:h.cy,r:h.r+3,fill:"none",stroke:h.color,strokeWidth:2,"aria-hidden":"true"}):null]}),jsxRuntime.jsx("g",{transform:`translate(${S.margin.left}, ${S.margin.top+S.innerHeight})`,children:o.hidden?null:jsxRuntime.jsx(Ue,{orientation:"bottom",ticks:S.xTicks,length:S.innerWidth,label:o.label,size:l})}),jsxRuntime.jsx("g",{transform:`translate(${S.margin.left}, ${S.margin.top})`,children:a?.hidden?null:jsxRuntime.jsx(Ue,{orientation:"left",ticks:S.yTicks,length:S.innerHeight,showLine:false,label:a?.label,size:l})})]}),h&&m!==false?jsxRuntime.jsx(dt,{x:S.margin.left+h.cx,y:S.margin.top+h.cy,containerWidth:e,children:typeof m=="function"?m({x:S.xValues[h.index],xLabel:x(S.xValues[h.index],h.index),index:h.index,points:[{seriesKey:h.seriesKey,seriesLabel:h.seriesLabel,color:h.color,value:h.yValue,formattedValue:v(h.yValue),datum:r[h.index]}]}):jsxRuntime.jsx(Nr,{title:`${o.label??o.key} ${x(S.xValues[h.index],h.index)}`,points:[{seriesKey:h.seriesKey,seriesLabel:h.seriesLabel,color:h.color,value:h.yValue,formattedValue:v(h.yValue),datum:r[h.index]}]})}):null]})}function QC({data:e,series:t,x:r,y:n,height:o=280,width:a,size:s="md",grid:l="both",legend:i,tooltip:c=true,tableView:d=false,emphasis:u,title:f,description:m,loading:p=false,emptyState:w,onPointClick:v,bubble:x,trendLine:h=false,quadrants:I,pointRadius:S=YC,legendToggle:L=true,margin:R,locale:T,plotLabel:y,className:M,...k}){let[z,H]=el.useState(()=>new Set);t.length>3&&!Wm&&(Wm=true,console.warn(`[@synertech/ui] A ScatterChart was given ${t.length} series. Any two marks can sit side by side here, and only the first ${3} palette slots stay tellable apart under that test: facet the chart instead.`));let P=el.useMemo(()=>t.map((F,K)=>({...F,hidden:F.hidden||z.has(F.key),color:Lr(F,K,u)})),[t,z,u]),B=el.useMemo(()=>n?.format??(F=>nt(F,T)),[n?.format,T]),C=el.useMemo(()=>r.format??(F=>r.scale==="time"?Ze(F instanceof Date?F:new Date(_r(F)),T):nt(_r(F),T)),[r.format,r.scale,T]),b=el.useCallback(F=>{H(K=>{let j=new Set(K);return j.has(F)?j.delete(F):j.add(F),j});},[]),E=i===void 0?t.length>=2:i!==false,N=typeof i=="string"?i:"bottom",W=P.filter(F=>!F.hidden).length;return jsxRuntime.jsx(lt,{title:f,description:m,height:o,width:a,size:s,loading:p,empty:e.length===0||W===0,emptyState:w,tableView:d,legendPosition:N,legend:E?jsxRuntime.jsx(Xt,{items:$r(P,u),position:N,marker:"dot",size:s,onToggle:L?b:void 0}):void 0,table:d?jsxRuntime.jsx(zt,{data:e,series:P,xKey:r.key,xLabel:r.label??r.key,formatX:C,formatValue:B,caption:typeof f=="string"?f:void 0}):void 0,className:M,...k,children:({width:F})=>jsxRuntime.jsx(ZC,{width:F,height:o,data:e,resolvedSeries:P,x:r,y:n,grid:l,size:s,bubble:x,trendLine:h,quadrants:I,pointRadius:S,margin:R,tooltip:c,onPointClick:v,plotLabel:y,formatValue:B,formatX:C})})}var Bm="se-grid-pattern",Vm=el.memo(function({gridSize:t,zoom:r}){let n=t*r;return jsxRuntime.jsxs("svg",{className:"absolute inset-0 w-full h-full pointer-events-none","aria-hidden":"true",children:[jsxRuntime.jsx("defs",{children:jsxRuntime.jsx("pattern",{id:Bm,width:n,height:n,patternUnits:"userSpaceOnUse",children:jsxRuntime.jsx("circle",{cx:1,cy:1,r:1,className:"fill-gray-300 dark:fill-gray-600"})})}),jsxRuntime.jsx("rect",{width:"100%",height:"100%",fill:`url(#${Bm})`})]})});function Xn(e,t){return e.collapsed?40:e.height?e.height:40+(e.notes?24:0)+e.fields.length*32+(t?36:0)}function na(e,t){return 40+(t?24:0)+e*32+32/2}function Fm(e,t,r){let n=e.fields.findIndex(i=>i.id===t);if(n===-1)return null;let o=e.width??260,a=!!e.notes,s=e.y+na(n,a);return {x:r==="left"?e.x+0:e.x+o-0,y:s}}function oc(e,t){return Math.round(e/t)*t}function Ja(e,t,r){return Math.min(r,Math.max(t,e))}function es(e,t,r,n){return {x:(e-n.left-r.x)/r.zoom,y:(t-n.top-r.y)/r.zoom}}function gi(e,t,r,n){let o=Math.abs(r-e),a=Math.max(50,o*.5),s=e+a,l=t,i=r-a;return `M ${e} ${t} C ${s} ${l}, ${i} ${n}, ${r} ${n}`}function Om(e,t,r,n,o=40){if(e.length===0)return {x:0,y:0,zoom:1};let a=1/0,s=1/0,l=-1/0,i=-1/0;for(let p of e){let w=p.width??260,v=Xn(p,n);a=Math.min(a,p.x),s=Math.min(s,p.y),l=Math.max(l,p.x+w),i=Math.max(i,p.y+v);}let c=l-a+o*2,d=i-s+o*2,u=Math.min(t/c,r/d,1),f=(t-c*u)/2-(a-o)*u,m=(r-d*u)/2-(s-o)*u;return {x:f,y:m,zoom:u}}var rs=["text","varchar","char","int2","int4","int8","serial","bigserial","float4","float8","numeric","decimal","bool","date","time","timestamp","timestamptz","uuid","json","jsonb","bytea"];function $m(){return `table-${Date.now()}-${Math.random().toString(36).slice(2,8)}`}function ts(){return `field-${Date.now()}-${Math.random().toString(36).slice(2,8)}`}function ac(){return `rel-${Date.now()}-${Math.random().toString(36).slice(2,8)}`}function sc(e="new_field"){return {id:ts(),name:e,type:"text",nullable:true}}function ic(e,t,r="new_table"){return {id:$m(),name:r,x:e,y:t,fields:[{id:ts(),name:"id",type:"serial",primaryKey:true},{id:ts(),name:"createdAt",type:"timestamp"},{id:ts(),name:"updatedAt",type:"timestamp"}]}}var pi=()=>jsxRuntime.jsxs("svg",{className:"w-3.5 h-3.5 text-indigo-500 flex-shrink-0",viewBox:"0 0 16 16",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round",children:[jsxRuntime.jsx("path",{d:"M10 1l2 2-5 5M8.5 4.5L11 7"}),jsxRuntime.jsx("circle",{cx:"4.5",cy:"11.5",r:"3"})]}),Xm=()=>jsxRuntime.jsxs("svg",{className:"w-3.5 h-3.5 flex-shrink-0",viewBox:"0 0 16 16",fill:"currentColor",children:[jsxRuntime.jsx("circle",{cx:"8",cy:"8",r:"6",className:"fill-blue-500"}),jsxRuntime.jsx("path",{d:"M5 8h6M8 5l3 3-3 3",stroke:"white",strokeWidth:"1.5",fill:"none",strokeLinecap:"round",strokeLinejoin:"round"})]}),nk=({collapsed:e})=>jsxRuntime.jsx("svg",{className:"w-3.5 h-3.5",viewBox:"0 0 16 16",fill:"currentColor",children:e?jsxRuntime.jsx("path",{d:"M6 3l5 5-5 5V3z"}):jsxRuntime.jsx("path",{d:"M3 6l5 5 5-5H3z"})}),Gm=()=>jsxRuntime.jsx("svg",{className:"w-3.5 h-3.5 text-amber-500 flex-shrink-0",viewBox:"0 0 16 16",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round",children:jsxRuntime.jsx("path",{d:"M3 2v12M7 4h6M7 8h4M7 12h5"})}),Km=()=>jsxRuntime.jsx("svg",{className:"w-3.5 h-3.5 text-purple-500 flex-shrink-0",viewBox:"0 0 16 16",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round",children:jsxRuntime.jsx("path",{d:"M4 2v8a4 4 0 008 0V2"})}),ok=()=>jsxRuntime.jsx("svg",{className:"w-3 h-3",viewBox:"0 0 16 16",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",children:jsxRuntime.jsx("path",{d:"M4 8h8"})}),ak=()=>jsxRuntime.jsxs("svg",{className:"w-3 h-3 text-gray-300",viewBox:"0 0 16 16",fill:"currentColor",children:[jsxRuntime.jsx("circle",{cx:"5",cy:"4",r:"1.5"}),jsxRuntime.jsx("circle",{cx:"11",cy:"4",r:"1.5"}),jsxRuntime.jsx("circle",{cx:"5",cy:"8",r:"1.5"}),jsxRuntime.jsx("circle",{cx:"11",cy:"8",r:"1.5"}),jsxRuntime.jsx("circle",{cx:"5",cy:"12",r:"1.5"}),jsxRuntime.jsx("circle",{cx:"11",cy:"12",r:"1.5"})]}),sk=el.memo(function({field:t,tableId:r,editable:n,readOnly:o,disabled:a,onFieldChange:s}){let[l,i]=el.useState(false),[c,d]=el.useState(t.defaultValue??""),u=n&&!o&&!a,f=()=>{i(false),s?.(r,t.id,{defaultValue:c||void 0});};return u?l?jsxRuntime.jsx("input",{className:"text-xs w-16 text-emerald-500 bg-transparent border-b border-emerald-300 outline-none focus:ring-0 p-0 flex-shrink-0","aria-label":`Default value for ${t.name}`,value:c,onChange:m=>d(m.target.value),onBlur:f,onKeyDown:m=>{m.key==="Enter"&&f(),m.key==="Escape"&&i(false);},onMouseDown:m=>m.stopPropagation(),autoFocus:true}):t.defaultValue?jsxRuntime.jsxs("button",{type:"button",className:"text-xs text-emerald-500 flex-shrink-0 truncate max-w-16 cursor-pointer",onClick:m=>{m.stopPropagation(),d(t.defaultValue??""),i(true);},onMouseDown:m=>m.stopPropagation(),title:`Default: ${t.defaultValue}`,children:["= ",t.defaultValue]}):jsxRuntime.jsx("button",{type:"button",className:"text-xs text-gray-300 flex-shrink-0 opacity-0 group-hover:opacity-30 hover:!opacity-100 cursor-pointer transition-opacity",onClick:m=>{m.stopPropagation(),d(""),i(true);},onMouseDown:m=>m.stopPropagation(),title:"Set default value",children:"= \u2205"}):t.defaultValue?jsxRuntime.jsxs("span",{className:"text-xs text-emerald-500 flex-shrink-0 truncate max-w-16",title:`Default: ${t.defaultValue}`,children:["= ",t.defaultValue]}):null}),Ym=el.memo(function({table:t,selected:r,disabled:n,readOnly:o,editable:a,dropTarget:s,fieldTypes:l,onTableNameChange:i,onTableNotesChange:c,onToggleCollapse:d,onFieldChange:u,onFieldAdd:f,onFieldRemove:m,onFieldReorder:p,onResizeStart:w}){let v=t.width??260,x=t.collapsed??false,h=l.length>0?l:rs,[I,S]=el.useState(null),[L,R]=el.useState(null),T=el.useRef(null),y=el.useCallback(b=>{i?.(t.id,b.target.value);},[t.id,i]),M=el.useCallback((b,E)=>{u?.(t.id,b,{name:E});},[t.id,u]),k=el.useCallback((b,E)=>{u?.(t.id,b,{type:E});},[t.id,u]),z=el.useCallback((b,E)=>{u?.(t.id,b,{primaryKey:!E});},[t.id,u]),H=el.useCallback((b,E)=>{u?.(t.id,b,{nullable:!E});},[t.id,u]),P=el.useCallback((b,E)=>{u?.(t.id,b,{indexed:!E});},[t.id,u]),B=el.useCallback((b,E)=>{u?.(t.id,b,{unique:!E});},[t.id,u]),C=el.useCallback(()=>{f?.(t.id);},[t.id,f]);return jsxRuntime.jsxs("div",{"data-table-id":t.id,className:g("absolute bg-white dark:bg-gray-800 border-2 border-dashed rounded-lg shadow-sm cursor-grab active:cursor-grabbing",t.height?"flex flex-col":void 0,s?"border-green-400 shadow-green-100 dark:shadow-green-900/30 shadow-md":r?"border-blue-500 shadow-blue-100 dark:shadow-blue-900/30":"border-gray-300 dark:border-gray-600",n&&"opacity-60",t.locked&&"!cursor-default"),style:{left:t.x,top:t.y,width:v,height:t.height,userSelect:"none",overflow:t.height?"hidden":void 0},children:[jsxRuntime.jsxs("div",{className:g("flex items-center justify-between px-3 gap-2","bg-gray-50 dark:bg-gray-700 border-b border-gray-200 dark:border-gray-600"),style:{height:40},children:[a&&!o&&!n?jsxRuntime.jsx("input",{className:"flex-1 min-w-0 text-sm font-semibold text-gray-800 dark:text-gray-100 bg-transparent border-none outline-none focus:ring-0 p-0 truncate cursor-text","aria-label":"Table name",value:t.name,onChange:y,onMouseDown:b=>b.stopPropagation()}):jsxRuntime.jsx("span",{className:"flex-1 min-w-0 text-sm font-semibold text-gray-800 dark:text-gray-100 truncate",children:t.name}),jsxRuntime.jsx("button",{type:"button",className:"flex-shrink-0 p-1 rounded hover:bg-gray-200 dark:hover:bg-gray-600 text-gray-500 dark:text-gray-400",onClick:b=>{b.stopPropagation(),d?.(t.id);},onMouseDown:b=>b.stopPropagation(),"aria-label":x?"Expand table":"Collapse table",children:jsxRuntime.jsx(nk,{collapsed:x})})]}),!x&&(a&&!o&&!n?jsxRuntime.jsx("div",{className:"px-3 border-b border-gray-100 dark:border-gray-700 flex items-center",style:{height:24},children:jsxRuntime.jsx("input",{className:"w-full text-xs italic text-gray-400 dark:text-gray-500 bg-transparent border-none outline-none focus:ring-0 p-0 placeholder-gray-400 dark:placeholder-gray-500","aria-label":"Table notes",placeholder:"Add notes...",value:t.notes??"",onChange:b=>c?.(t.id,b.target.value),onMouseDown:b=>b.stopPropagation()})}):t.notes?jsxRuntime.jsx("div",{className:"px-3 border-b border-gray-100 dark:border-gray-700 flex items-center",style:{height:24},children:jsxRuntime.jsx("span",{className:"text-xs italic text-gray-400 dark:text-gray-500 truncate",children:t.notes})}):null),!x&&jsxRuntime.jsxs("div",{className:t.height?"overflow-y-auto flex-1 min-h-0":void 0,children:[t.fields.map((b,E)=>jsxRuntime.jsxs("div",{"data-field-id":b.id,"data-table-id":t.id,className:g("flex items-center gap-1.5 pr-2 relative group",a&&!o&&!n?"pl-[18px]":"pl-2","border-b border-gray-100 dark:border-gray-700 last:border-b-0",s?"bg-blue-50/50 dark:bg-blue-900/10":"hover:bg-gray-50 dark:hover:bg-gray-750",I===E&&"opacity-40",L===E&&"!border-t-2 !border-t-blue-400"),style:{height:32},draggable:a&&!o&&!n,onDragStart:N=>{!a||o||n||(N.stopPropagation(),T.current=E,S(E),N.dataTransfer.effectAllowed="move",N.dataTransfer.setData("text/plain",String(E)));},onDragOver:N=>{T.current!==null&&(N.preventDefault(),N.stopPropagation(),R(E));},onDragLeave:()=>{L===E&&R(null);},onDrop:N=>{N.preventDefault(),N.stopPropagation(),T.current!==null&&T.current!==E&&p?.(t.id,T.current,E),T.current=null,S(null),R(null);},onDragEnd:()=>{T.current=null,S(null),R(null);},children:[jsxRuntime.jsx("div",{"data-connection-side":"left","data-field-id":b.id,"data-table-id":t.id,className:g("absolute -left-[5px] w-2.5 h-2.5 rounded-full border-2 border-white dark:border-gray-800 cursor-crosshair z-10 transition-all",s?"opacity-100 bg-green-400 scale-150 shadow-[0_0_6px_rgba(74,222,128,0.6)]":"opacity-0 group-hover:opacity-100 bg-blue-400"),style:{top:32/2-5}}),a&&!o&&!n&&jsxRuntime.jsx("span",{className:"absolute left-[3px] cursor-grab active:cursor-grabbing opacity-0 group-hover:opacity-100 transition-opacity z-10",style:{top:32/2-6},children:jsxRuntime.jsx(ak,{})}),a&&!o&&!n?jsxRuntime.jsx("button",{type:"button",className:g("w-4 text-xs font-bold flex-shrink-0 text-center cursor-pointer",b.nullable?"text-gray-400":"text-transparent"),onClick:N=>{N.stopPropagation(),H(b.id,b.nullable??false);},onMouseDown:N=>N.stopPropagation(),title:b.nullable?"Nullable":"Not nullable",children:"?"}):jsxRuntime.jsx("span",{className:g("w-4 text-xs font-bold flex-shrink-0 text-center",b.nullable?"text-gray-400":"text-transparent"),children:b.nullable?"?":""}),b.primaryKey&&b.foreignKey?jsxRuntime.jsxs("span",{className:"flex items-center gap-0.5 flex-shrink-0",children:[a&&!o&&!n?jsxRuntime.jsx("button",{type:"button",className:"flex-shrink-0 cursor-pointer",onClick:N=>{N.stopPropagation(),z(b.id,true);},onMouseDown:N=>N.stopPropagation(),title:"Primary Key (click to remove)",children:jsxRuntime.jsx(pi,{})}):jsxRuntime.jsx(pi,{}),jsxRuntime.jsx(Xm,{})]}):b.primaryKey?a&&!o&&!n?jsxRuntime.jsx("button",{type:"button",className:"flex-shrink-0 cursor-pointer",onClick:N=>{N.stopPropagation(),z(b.id,true);},onMouseDown:N=>N.stopPropagation(),title:"Primary Key (click to remove)",children:jsxRuntime.jsx(pi,{})}):jsxRuntime.jsx(pi,{}):b.foreignKey?jsxRuntime.jsx(Xm,{}):a&&!o&&!n?jsxRuntime.jsx("button",{type:"button",className:"w-3.5 h-3.5 flex-shrink-0 rounded text-gray-300 hover:text-indigo-400 transition-colors cursor-pointer",onClick:N=>{N.stopPropagation(),z(b.id,false);},onMouseDown:N=>N.stopPropagation(),title:"Set as Primary Key","aria-label":"Set as primary key",children:jsxRuntime.jsxs("svg",{className:"w-3.5 h-3.5",viewBox:"0 0 16 16",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round",opacity:"0.3",children:[jsxRuntime.jsx("path",{d:"M10 1l2 2-5 5M8.5 4.5L11 7"}),jsxRuntime.jsx("circle",{cx:"4.5",cy:"11.5",r:"3"})]})}):jsxRuntime.jsx("span",{className:"w-3.5 flex-shrink-0"}),a&&!o&&!n?jsxRuntime.jsx("input",{className:g("flex-1 min-w-0 text-xs bg-transparent border-none outline-none focus:ring-0 p-0 truncate cursor-text",b.primaryKey?"text-blue-600 dark:text-blue-400 font-medium":"text-gray-700 dark:text-gray-300"),"aria-label":"Field name",value:b.name,onChange:N=>M(b.id,N.target.value),onMouseDown:N=>N.stopPropagation()}):jsxRuntime.jsx("span",{className:g("flex-1 min-w-0 text-xs truncate",b.primaryKey?"text-blue-600 dark:text-blue-400 font-medium":"text-gray-700 dark:text-gray-300"),children:b.name}),a&&!o&&!n?jsxRuntime.jsxs("select",{className:"text-xs text-gray-400 dark:text-gray-500 bg-transparent border-none outline-none focus:ring-0 p-0 cursor-pointer text-right",value:b.type,onChange:N=>k(b.id,N.target.value),onMouseDown:N=>N.stopPropagation(),children:[h.map(N=>jsxRuntime.jsx("option",{value:N,children:N},N)),!h.includes(b.type)&&jsxRuntime.jsx("option",{value:b.type,children:b.type})]}):jsxRuntime.jsx("span",{className:"text-xs text-gray-400 dark:text-gray-500 flex-shrink-0",children:b.type}),jsxRuntime.jsx(sk,{field:b,tableId:t.id,editable:a,readOnly:o,disabled:n,onFieldChange:u}),b.indexed&&jsxRuntime.jsx(Gm,{}),b.unique&&jsxRuntime.jsx(Km,{}),a&&!o&&!n&&jsxRuntime.jsxs("div",{className:"absolute right-1 top-0 bottom-0 flex items-center gap-0.5 opacity-0 group-hover:opacity-100 transition-opacity bg-gradient-to-l from-white via-white to-transparent dark:from-gray-800 dark:via-gray-800 pl-4 pr-1 z-10",children:[jsxRuntime.jsx("button",{type:"button",className:g("cursor-pointer transition-opacity",b.indexed?"opacity-100":"opacity-30 hover:opacity-100"),onClick:N=>{N.stopPropagation(),P(b.id,b.indexed??false);},onMouseDown:N=>N.stopPropagation(),title:b.indexed?"Indexed (click to remove)":"Add index",children:jsxRuntime.jsx(Gm,{})}),jsxRuntime.jsx("button",{type:"button",className:g("cursor-pointer transition-opacity",b.unique?"opacity-100":"opacity-30 hover:opacity-100"),onClick:N=>{N.stopPropagation(),B(b.id,b.unique??false);},onMouseDown:N=>N.stopPropagation(),title:b.unique?"Unique (click to remove)":"Add unique constraint",children:jsxRuntime.jsx(Km,{})}),jsxRuntime.jsx("button",{type:"button",className:"p-0.5 rounded text-gray-300 hover:text-red-500 hover:bg-red-50 dark:hover:bg-red-900/20 cursor-pointer",onClick:N=>{N.stopPropagation(),m?.(t.id,b.id);},onMouseDown:N=>N.stopPropagation(),title:"Remove field",children:jsxRuntime.jsx(ok,{})})]}),jsxRuntime.jsx("div",{"data-connection-side":"right","data-field-id":b.id,"data-table-id":t.id,className:g("absolute -right-[5px] w-2.5 h-2.5 rounded-full border-2 border-white dark:border-gray-800 cursor-crosshair z-10 transition-all",s?"opacity-100 bg-green-400 scale-150 shadow-[0_0_6px_rgba(74,222,128,0.6)]":"opacity-0 group-hover:opacity-100 bg-green-400"),style:{top:32/2-5}})]},b.id)),a&&!o&&!n&&jsxRuntime.jsxs("button",{type:"button",className:"flex items-center justify-center w-full gap-1 text-xs text-gray-400 hover:text-blue-500 hover:bg-gray-50 dark:hover:bg-gray-750 transition-colors cursor-pointer",style:{height:36},onClick:b=>{b.stopPropagation(),C();},onMouseDown:b=>b.stopPropagation(),children:[jsxRuntime.jsx("svg",{className:"w-3 h-3",viewBox:"0 0 16 16",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",children:jsxRuntime.jsx("path",{d:"M8 4v8M4 8h8"})}),"Add field"]})]}),!n&&!o&&jsxRuntime.jsx("div",{"data-resize-handle":"corner",className:"absolute -bottom-[5px] -right-[5px] w-[14px] h-[14px] cursor-nwse-resize z-20 group/resize",onMouseDown:b=>{b.stopPropagation(),b.preventDefault();let E=t.height??Xn(t,a);w?.(t.id,b.clientX,b.clientY,v,E);},children:jsxRuntime.jsxs("svg",{className:"w-full h-full text-gray-300 group-hover/resize:text-blue-400 transition-colors",viewBox:"0 0 14 14",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",children:[jsxRuntime.jsx("path",{d:"M12 2v10H2",opacity:"0"}),jsxRuntime.jsx("path",{d:"M6 12L12 6"}),jsxRuntime.jsx("path",{d:"M10 12L12 10"})]})})]})});function lk(e,t){let r=t.find(p=>p.id===e.from.tableId),n=t.find(p=>p.id===e.to.tableId);if(!r||!n||r.collapsed||n.collapsed)return null;let o=r.fields.findIndex(p=>p.id===e.from.fieldId),a=n.fields.findIndex(p=>p.id===e.to.fieldId);if(o===-1||a===-1)return null;let s=r.width??260,l=n.width??260,i=r.x+s/2,c=n.x+l/2,d=r.y+na(o,!!r.notes),u=n.y+na(a,!!n.notes),f,m;return i<=c?(f=r.x+s,m=n.x):(f=r.x,m=n.x+l),{x1:f,y1:d,x2:m,y2:u,cardinality:e.cardinality??"1:n"}}var dc=["1:1","1:n","n:1","n:n"];function ck(e){let t=dc.indexOf(e);return dc[(t+1)%dc.length]}var jm=el.memo(function({relations:t,tables:r,viewport:n,selectedRelationId:o,disabled:a,onRelationClick:s,onCardinalityChange:l}){return jsxRuntime.jsx("svg",{className:"absolute top-0 left-0 pointer-events-none",style:{width:"100%",height:"100%",overflow:"visible"},children:jsxRuntime.jsx("g",{transform:`translate(${n.x}, ${n.y}) scale(${n.zoom})`,children:t.map(i=>{let c=lk(i,r);if(!c)return null;let{x1:d,y1:u,x2:f,y2:m,cardinality:p}=c,w=gi(d,u,f,m),v=o===i.id,x=(d+f)/2,h=(u+m)/2;return jsxRuntime.jsxs("g",{children:[jsxRuntime.jsx("path",{d:w,fill:"none",stroke:"transparent",strokeWidth:16,className:"pointer-events-auto cursor-pointer",onClick:I=>{a||s?.(i.id,I);}}),jsxRuntime.jsx("path",{d:w,fill:"none",stroke:v?"#3b82f6":"#9ca3af",strokeWidth:v?2.5:1.5,className:"transition-colors"}),jsxRuntime.jsx("circle",{cx:d,cy:u,r:3,fill:v?"#3b82f6":"#9ca3af"}),jsxRuntime.jsx("circle",{cx:f,cy:m,r:3,fill:v?"#3b82f6":"#9ca3af"}),p&&jsxRuntime.jsxs("g",{className:a?void 0:"pointer-events-auto cursor-pointer",onClick:a?void 0:I=>{I.stopPropagation(),l?.(i.id,ck(p));},children:[jsxRuntime.jsx("rect",{x:x-14,y:h-9,width:28,height:18,rx:4,fill:"white",stroke:v?"#3b82f6":"#d1d5db",strokeWidth:1}),jsxRuntime.jsx("text",{x,y:h+4,textAnchor:"middle",className:"text-[10px] font-mono",fill:v?"#3b82f6":"#6b7280",children:p})]})]},i.id)})})})});var uk=()=>jsxRuntime.jsx("svg",{className:"w-4 h-4",viewBox:"0 0 20 20",fill:"currentColor","aria-hidden":"true",children:jsxRuntime.jsx("path",{fillRule:"evenodd",d:"M10 5a1 1 0 011 1v3h3a1 1 0 110 2h-3v3a1 1 0 11-2 0v-3H6a1 1 0 110-2h3V6a1 1 0 011-1z",clipRule:"evenodd"})}),mk=()=>jsxRuntime.jsx("svg",{className:"w-4 h-4",viewBox:"0 0 20 20",fill:"currentColor","aria-hidden":"true",children:jsxRuntime.jsx("path",{fillRule:"evenodd",d:"M5 10a1 1 0 011-1h8a1 1 0 110 2H6a1 1 0 01-1-1z",clipRule:"evenodd"})}),gk=()=>jsxRuntime.jsx("svg",{className:"w-4 h-4",viewBox:"0 0 20 20",fill:"currentColor","aria-hidden":"true",children:jsxRuntime.jsx("path",{fillRule:"evenodd",d:"M4 2a1 1 0 011 1v2.101a7.002 7.002 0 0111.601 2.566 1 1 0 11-1.885.666A5.002 5.002 0 005.999 7H9a1 1 0 010 2H4a1 1 0 01-1-1V3a1 1 0 011-1zm.008 9.057a1 1 0 011.276.61A5.002 5.002 0 0014.001 13H11a1 1 0 110-2h5a1 1 0 011 1v5a1 1 0 11-2 0v-2.101a7.002 7.002 0 01-11.601-2.566 1 1 0 01.61-1.276z",clipRule:"evenodd"})}),pk=()=>jsxRuntime.jsx("svg",{className:"w-4 h-4",viewBox:"0 0 20 20",fill:"currentColor","aria-hidden":"true",children:jsxRuntime.jsx("path",{d:"M3 4a1 1 0 011-1h4a1 1 0 010 2H6.414l2.293 2.293a1 1 0 01-1.414 1.414L5 6.414V8a1 1 0 01-2 0V4zm9 1a1 1 0 010-2h4a1 1 0 011 1v4a1 1 0 01-2 0V6.414l-2.293 2.293a1 1 0 11-1.414-1.414L13.586 5H12zm-9 7a1 1 0 012 0v1.586l2.293-2.293a1 1 0 011.414 1.414L6.414 15H8a1 1 0 010 2H4a1 1 0 01-1-1v-4zm13 0a1 1 0 01-2 0v-1.586l-2.293 2.293a1 1 0 01-1.414-1.414L13.586 9H12a1 1 0 010-2h4a1 1 0 011 1v4z"})}),fk=()=>jsxRuntime.jsx("svg",{className:"w-4 h-4",viewBox:"0 0 20 20",fill:"currentColor","aria-hidden":"true",children:jsxRuntime.jsx("path",{fillRule:"evenodd",d:"M6 2a2 2 0 00-2 2v12a2 2 0 002 2h8a2 2 0 002-2V4a2 2 0 00-2-2H6zm4 5a1 1 0 011 1v1h1a1 1 0 110 2h-1v1a1 1 0 11-2 0v-1H8a1 1 0 110-2h1V8a1 1 0 011-1z",clipRule:"evenodd"})}),hk=()=>jsxRuntime.jsx("svg",{className:"w-4 h-4",viewBox:"0 0 20 20",fill:"currentColor","aria-hidden":"true",children:jsxRuntime.jsx("path",{fillRule:"evenodd",d:"M3 17a1 1 0 011-1h12a1 1 0 110 2H4a1 1 0 01-1-1zm3.293-7.707a1 1 0 011.414 0L9 10.586V3a1 1 0 112 0v7.586l1.293-1.293a1 1 0 111.414 1.414l-3 3a1 1 0 01-1.414 0l-3-3a1 1 0 010-1.414z",clipRule:"evenodd"})}),bk=()=>jsxRuntime.jsx("svg",{className:"w-4 h-4",viewBox:"0 0 20 20",fill:"currentColor","aria-hidden":"true",children:jsxRuntime.jsx("path",{fillRule:"evenodd",d:"M3 17a1 1 0 011-1h12a1 1 0 110 2H4a1 1 0 01-1-1zM6.293 6.707a1 1 0 010-1.414l3-3a1 1 0 011.414 0l3 3a1 1 0 01-1.414 1.414L11 5.414V13a1 1 0 11-2 0V5.414L7.707 6.707a1 1 0 01-1.414 0z",clipRule:"evenodd"})}),yk=()=>jsxRuntime.jsx("svg",{className:"w-4 h-4",viewBox:"0 0 20 20",fill:"currentColor","aria-hidden":"true",children:jsxRuntime.jsx("path",{fillRule:"evenodd",d:"M2 5a2 2 0 012-2h12a2 2 0 012 2v2a2 2 0 01-2 2H4a2 2 0 01-2-2V5zm14 1a1 1 0 11-2 0 1 1 0 012 0zM2 13a2 2 0 012-2h12a2 2 0 012 2v2a2 2 0 01-2 2H4a2 2 0 01-2-2v-2zm14 1a1 1 0 11-2 0 1 1 0 012 0z",clipRule:"evenodd"})}),xk=()=>jsxRuntime.jsx("svg",{className:"w-4 h-4",viewBox:"0 0 20 20",fill:"currentColor","aria-hidden":"true",children:jsxRuntime.jsx("path",{fillRule:"evenodd",d:"M7.707 3.293a1 1 0 010 1.414L5.414 7H11a7 7 0 017 7v2a1 1 0 11-2 0v-2a5 5 0 00-5-5H5.414l2.293 2.293a1 1 0 11-1.414 1.414l-4-4a1 1 0 010-1.414l4-4a1 1 0 011.414 0z",clipRule:"evenodd"})}),vk=()=>jsxRuntime.jsx("svg",{className:"w-4 h-4",viewBox:"0 0 20 20",fill:"currentColor","aria-hidden":"true",children:jsxRuntime.jsx("path",{fillRule:"evenodd",d:"M12.293 3.293a1 1 0 011.414 0l4 4a1 1 0 010 1.414l-4 4a1 1 0 01-1.414-1.414L14.586 9H9a5 5 0 00-5 5v2a1 1 0 11-2 0v-2a7 7 0 017-7h5.586l-2.293-2.293a1 1 0 010-1.414z",clipRule:"evenodd"})}),Ck=()=>jsxRuntime.jsx("svg",{className:"w-4 h-4",viewBox:"0 0 20 20",fill:"currentColor","aria-hidden":"true",children:jsxRuntime.jsx("path",{d:"M3 3h4v4H3V3zm0 10h4v4H3v-4zm10-10h4v4h-4V3zm0 10h4v4h-4v-4zM7 5h6v1H7V5zm0 8h6v1H7v-1zM5 7v6h1V7H5zm8 0v6h1V7h-1z"})}),Zm=el.memo(function({zoom:t,onZoomIn:r,onZoomOut:n,onResetView:o,onFitToContent:a,onAddTable:s,onExportJSON:l,onImportJSON:i,onExportSQL:c,onUndo:d,onRedo:u,canUndo:f=false,canRedo:m=false,onAutoLayout:p,disabled:w,className:v}){let[x,h]=el.useState(false),[I,S]=el.useState(false),[L,R]=el.useState(false),[T,y]=el.useState(""),[M,k]=el.useState(""),[z,H]=el.useState(""),P=el.useCallback(()=>{y(l()),h(true);},[l]),B=el.useCallback(()=>{M.trim()&&(i(M.trim()),k(""),S(false));},[M,i]),C=el.useCallback(()=>{k(""),S(false);},[]),b=el.useCallback(()=>{h(false);},[]),E=el.useCallback(()=>{c&&(H(c()),R(true));},[c]),N=el.useCallback(()=>{R(false);},[]),W=Math.round(t*100);return jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsxs("div",{className:g("absolute top-3 left-3 z-20 flex items-center gap-2 bg-white dark:bg-gray-800 rounded-lg shadow-md border border-gray-200 dark:border-gray-600 px-2 py-1.5",v),"data-testid":"schema-toolbar",onMouseDown:F=>F.stopPropagation(),children:[jsxRuntime.jsxs(_o,{size:"sm",children:[jsxRuntime.jsx(Ht,{content:"Zoom in",size:"sm",position:"bottom",children:jsxRuntime.jsx(Wt,{icon:jsxRuntime.jsx(uk,{}),size:"sm",bgColor:"bg-gray-100 hover:bg-gray-200 dark:bg-gray-700 dark:hover:bg-gray-600",textColor:"text-gray-700 dark:text-gray-200",onClick:r,disabled:w,"aria-label":"Zoom in"})}),jsxRuntime.jsx(Ht,{content:"Zoom out",size:"sm",position:"bottom",children:jsxRuntime.jsx(Wt,{icon:jsxRuntime.jsx(mk,{}),size:"sm",bgColor:"bg-gray-100 hover:bg-gray-200 dark:bg-gray-700 dark:hover:bg-gray-600",textColor:"text-gray-700 dark:text-gray-200",onClick:n,disabled:w,"aria-label":"Zoom out"})})]}),jsxRuntime.jsxs("span",{className:"text-xs font-mono text-gray-500 dark:text-gray-400 min-w-[3ch] text-center select-none",children:[W,"%"]}),jsxRuntime.jsx("div",{className:"w-px h-5 bg-gray-200 dark:bg-gray-600"}),jsxRuntime.jsx(Ht,{content:"Reset view",size:"sm",position:"bottom",children:jsxRuntime.jsx(Wt,{icon:jsxRuntime.jsx(gk,{}),size:"sm",bgColor:"bg-gray-100 hover:bg-gray-200 dark:bg-gray-700 dark:hover:bg-gray-600",textColor:"text-gray-700 dark:text-gray-200",onClick:o,disabled:w,"aria-label":"Reset view"})}),jsxRuntime.jsx(Ht,{content:"Fit to content",size:"sm",position:"bottom",children:jsxRuntime.jsx(Wt,{icon:jsxRuntime.jsx(pk,{}),size:"sm",bgColor:"bg-gray-100 hover:bg-gray-200 dark:bg-gray-700 dark:hover:bg-gray-600",textColor:"text-gray-700 dark:text-gray-200",onClick:a,disabled:w,"aria-label":"Fit to content"})}),jsxRuntime.jsx("div",{className:"w-px h-5 bg-gray-200 dark:bg-gray-600"}),jsxRuntime.jsx(Ht,{content:"Add table",size:"sm",position:"bottom",children:jsxRuntime.jsx(Wt,{icon:jsxRuntime.jsx(fk,{}),size:"sm",bgColor:"bg-gray-100 hover:bg-gray-200 dark:bg-gray-700 dark:hover:bg-gray-600",textColor:"text-gray-700 dark:text-gray-200",onClick:s,disabled:w,"aria-label":"Add table"})}),jsxRuntime.jsx("div",{className:"w-px h-5 bg-gray-200 dark:bg-gray-600"}),jsxRuntime.jsx(Ht,{content:"Export JSON",size:"sm",position:"bottom",children:jsxRuntime.jsx(Wt,{icon:jsxRuntime.jsx(hk,{}),size:"sm",bgColor:"bg-gray-100 hover:bg-gray-200 dark:bg-gray-700 dark:hover:bg-gray-600",textColor:"text-gray-700 dark:text-gray-200",onClick:P,disabled:w,"aria-label":"Export JSON"})}),jsxRuntime.jsx(Ht,{content:"Import JSON",size:"sm",position:"bottom",children:jsxRuntime.jsx(Wt,{icon:jsxRuntime.jsx(bk,{}),size:"sm",bgColor:"bg-gray-100 hover:bg-gray-200 dark:bg-gray-700 dark:hover:bg-gray-600",textColor:"text-gray-700 dark:text-gray-200",onClick:()=>S(true),disabled:w,"aria-label":"Import JSON"})}),c&&jsxRuntime.jsx(Ht,{content:"Export SQL",size:"sm",position:"bottom",children:jsxRuntime.jsx(Wt,{icon:jsxRuntime.jsx(yk,{}),size:"sm",bgColor:"bg-gray-100 hover:bg-gray-200 dark:bg-gray-700 dark:hover:bg-gray-600",textColor:"text-gray-700 dark:text-gray-200",onClick:E,disabled:w,"aria-label":"Export SQL"})}),(d||u)&&jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx("div",{className:"w-px h-5 bg-gray-200 dark:bg-gray-600"}),jsxRuntime.jsxs(_o,{size:"sm",children:[jsxRuntime.jsx(Ht,{content:"Undo (Ctrl+Z)",size:"sm",position:"bottom",children:jsxRuntime.jsx(Wt,{icon:jsxRuntime.jsx(xk,{}),size:"sm",bgColor:"bg-gray-100 hover:bg-gray-200 dark:bg-gray-700 dark:hover:bg-gray-600",textColor:"text-gray-700 dark:text-gray-200",onClick:d,disabled:w||!f,"aria-label":"Undo"})}),jsxRuntime.jsx(Ht,{content:"Redo (Ctrl+Y)",size:"sm",position:"bottom",children:jsxRuntime.jsx(Wt,{icon:jsxRuntime.jsx(vk,{}),size:"sm",bgColor:"bg-gray-100 hover:bg-gray-200 dark:bg-gray-700 dark:hover:bg-gray-600",textColor:"text-gray-700 dark:text-gray-200",onClick:u,disabled:w||!m,"aria-label":"Redo"})})]})]}),p&&jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx("div",{className:"w-px h-5 bg-gray-200 dark:bg-gray-600"}),jsxRuntime.jsx(Ht,{content:"Auto layout",size:"sm",position:"bottom",children:jsxRuntime.jsx(Wt,{icon:jsxRuntime.jsx(Ck,{}),size:"sm",bgColor:"bg-gray-100 hover:bg-gray-200 dark:bg-gray-700 dark:hover:bg-gray-600",textColor:"text-gray-700 dark:text-gray-200",onClick:p,disabled:w,"aria-label":"Auto layout"})})]})]}),jsxRuntime.jsx(Ln,{isOpen:x,onClose:b,title:"Export Schema",description:"Copy the JSON below to save your schema.",size:"lg",showSubmit:false,showCancel:true,cancelLabel:"Close",children:jsxRuntime.jsx(ln,{label:"Schema JSON",multiline:true,rows:12,value:T,readOnly:true,size:"sm"})}),jsxRuntime.jsx(Ln,{isOpen:I,onClose:C,title:"Import Schema",description:"Paste schema JSON to load it into the editor.",size:"lg",showSubmit:true,submitLabel:"Import",onSubmitClick:B,showCancel:true,cancelLabel:"Cancel",children:jsxRuntime.jsx(ln,{label:"Schema JSON",multiline:true,rows:12,value:M,onChange:F=>k(F.target.value),placeholder:'{"tables": [], "relations": []}',size:"sm"})}),jsxRuntime.jsx(Ln,{isOpen:L,onClose:N,title:"Export SQL",description:"Generated PostgreSQL CREATE TABLE statements.",size:"lg",showSubmit:false,showCancel:true,cancelLabel:"Close",children:jsxRuntime.jsx(ln,{label:"SQL",multiline:true,rows:16,value:z,readOnly:true,size:"sm"})})]})});var wk=()=>jsxRuntime.jsxs("svg",{className:"w-3.5 h-3.5",viewBox:"0 0 16 16",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round",children:[jsxRuntime.jsx("path",{d:"M10 1l2 2-5 5M8.5 4.5L11 7"}),jsxRuntime.jsx("circle",{cx:"4.5",cy:"11.5",r:"3"})]}),Nk=()=>jsxRuntime.jsx("span",{className:"text-xs font-bold text-gray-500 w-3.5 text-center",children:"?"}),Sk=()=>jsxRuntime.jsxs("svg",{className:"w-3.5 h-3.5",viewBox:"0 0 16 16",fill:"currentColor",children:[jsxRuntime.jsx("circle",{cx:"8",cy:"8",r:"6",className:"fill-blue-500"}),jsxRuntime.jsx("path",{d:"M5 8h6M8 5l3 3-3 3",stroke:"white",strokeWidth:"1.5",fill:"none",strokeLinecap:"round",strokeLinejoin:"round"})]}),Rk=()=>jsxRuntime.jsx("svg",{className:"w-3.5 h-3.5 text-amber-500",viewBox:"0 0 16 16",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round",children:jsxRuntime.jsx("path",{d:"M3 2v12M7 4h6M7 8h4M7 12h5"})}),Tk=()=>jsxRuntime.jsx("svg",{className:"w-3.5 h-3.5 text-purple-500",viewBox:"0 0 16 16",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round",children:jsxRuntime.jsx("path",{d:"M4 2v8a4 4 0 008 0V2"})}),Qm=el.memo(function({className:t}){return jsxRuntime.jsxs("div",{className:g("absolute top-3 right-3 z-20 flex items-center gap-4 bg-white dark:bg-gray-800 rounded-lg shadow-md border border-gray-200 dark:border-gray-600 px-3 py-2",t),"data-testid":"schema-legend",children:[jsxRuntime.jsxs("div",{className:"flex items-center gap-1.5",children:[jsxRuntime.jsx(wk,{}),jsxRuntime.jsx("span",{className:"text-xs text-gray-600 dark:text-gray-300",children:"Primary Key"})]}),jsxRuntime.jsxs("div",{className:"flex items-center gap-1.5",children:[jsxRuntime.jsx(Nk,{}),jsxRuntime.jsx("span",{className:"text-xs text-gray-600 dark:text-gray-300",children:"Nullable"})]}),jsxRuntime.jsxs("div",{className:"flex items-center gap-1.5",children:[jsxRuntime.jsx(Sk,{}),jsxRuntime.jsx("span",{className:"text-xs text-gray-600 dark:text-gray-300",children:"Foreign Key"})]}),jsxRuntime.jsxs("div",{className:"flex items-center gap-1.5",children:[jsxRuntime.jsx(Rk,{}),jsxRuntime.jsx("span",{className:"text-xs text-gray-600 dark:text-gray-300",children:"Index"})]}),jsxRuntime.jsxs("div",{className:"flex items-center gap-1.5",children:[jsxRuntime.jsx(Tk,{}),jsxRuntime.jsx("span",{className:"text-xs text-gray-600 dark:text-gray-300",children:"Unique"})]})]})});var hi=180,bi=120,ia=10,Jm=el.memo(function({tables:t,viewport:r,containerWidth:n,containerHeight:o,editable:a,onViewportChange:s,className:l}){let i=el.useRef(null),c=el.useMemo(()=>{if(t.length===0)return null;let L=1/0,R=1/0,T=-1/0,y=-1/0;for(let N of t){let W=N.width??260,F=Xn(N,a);L=Math.min(L,N.x),R=Math.min(R,N.y),T=Math.max(T,N.x+W),y=Math.max(y,N.y+F);}let M=-r.x/r.zoom,k=-r.y/r.zoom,z=M+n/r.zoom,H=k+o/r.zoom;L=Math.min(L,M),R=Math.min(R,k),T=Math.max(T,z),y=Math.max(y,H);let P=T-L+ia*2,B=y-R+ia*2,C=Math.min((hi-4)/P,(bi-4)/B),b=(hi-P*C)/2,E=(bi-B*C)/2;return {minX:L,minY:R,scale:C,offsetX:b,offsetY:E,vpMinX:M,vpMinY:k}},[t,r,n,o,a]),d=el.useCallback(L=>{if(!c)return;let R=i.current?.getBoundingClientRect();if(!R)return;let T=L.clientX-R.left,y=L.clientY-R.top,M=(T-c.offsetX)/c.scale+c.minX-ia,k=(y-c.offsetY)/c.scale+c.minY-ia;s({...r,x:-(M-n/(2*r.zoom))*r.zoom,y:-(k-o/(2*r.zoom))*r.zoom});},[c,r,n,o,s]);if(!c)return null;let{minX:u,minY:f,scale:m,offsetX:p,offsetY:w,vpMinX:v,vpMinY:x}=c,h=(L,R)=>({x:(L-u+ia)*m+p,y:(R-f+ia)*m+w}),I=h(v,x),S={w:n/r.zoom*m,h:o/r.zoom*m};return jsxRuntime.jsx("div",{ref:i,className:g("absolute bottom-3 right-3 z-20 bg-white/90 dark:bg-gray-800/90 rounded-lg shadow-md border border-gray-200 dark:border-gray-600 cursor-pointer overflow-hidden",l),style:{width:hi,height:bi},onClick:d,onMouseDown:L=>L.stopPropagation(),"data-testid":"schema-minimap",children:jsxRuntime.jsxs("svg",{width:hi,height:bi,children:[t.map(L=>{let R=L.width??260,T=Xn(L,a),y=h(L.x,L.y);return jsxRuntime.jsx("rect",{x:y.x,y:y.y,width:R*m,height:T*m,fill:L.color??"#e5e7eb",stroke:"#9ca3af",strokeWidth:.5,rx:1},L.id)}),jsxRuntime.jsx("rect",{x:I.x,y:I.y,width:S.w,height:S.h,fill:"rgba(59, 130, 246, 0.1)",stroke:"#3b82f6",strokeWidth:1,rx:1})]})})});function An(e){return `"${e.replace(/"/g,'""')}"`}function eg(e){return {text:"TEXT",varchar:"VARCHAR(255)",char:"CHAR(1)",int2:"SMALLINT",int4:"INTEGER",int8:"BIGINT",serial:"SERIAL",bigserial:"BIGSERIAL",float4:"REAL",float8:"DOUBLE PRECISION",numeric:"NUMERIC",decimal:"DECIMAL",bool:"BOOLEAN",date:"DATE",time:"TIME",timestamp:"TIMESTAMP",timestamptz:"TIMESTAMP WITH TIME ZONE",uuid:"UUID",json:"JSON",jsonb:"JSONB",bytea:"BYTEA"}[e]??e.toUpperCase()}function Ik(e){let t=[An(e.name)];return e.type==="serial"||e.type,t.push(eg(e.type)),e.primaryKey&&t.push("PRIMARY KEY"),!e.nullable&&!e.primaryKey&&t.push("NOT NULL"),e.unique&&!e.primaryKey&&t.push("UNIQUE"),e.defaultValue&&t.push(`DEFAULT ${e.defaultValue}`)," "+t.join(" ")}function Ak(e,t,r){let n=[],o=[];for(let i of e.fields)n.push(Ik(i));for(let i of e.fields)if(i.foreignKey){let c=r.find(u=>u.id===i.foreignKey.tableId),d=c?.fields.find(u=>u.id===i.foreignKey.fieldId);c&&d&&o.push(` CONSTRAINT ${An(`fk_${e.name}_${i.name}`)} FOREIGN KEY (${An(i.name)}) REFERENCES ${An(c.name)} (${An(d.name)})`);}let a=[];for(let i of e.fields)i.indexed&&!i.primaryKey&&!i.unique&&a.push(`CREATE INDEX ${An(`idx_${e.name}_${i.name}`)} ON ${An(e.name)} (${An(i.name)});`);let s=[...n,...o],l=`CREATE TABLE ${An(e.name)} (
24
24
  ${s.join(`,
25
25
  `)}
26
26
  );`;return a.length>0?l+`
27
27
 
28
28
  `+a.join(`
29
- `):l}function fs(e){let{tables:t,relations:r}=e;return t.length===0?"-- No tables defined":[...t].sort((a,s)=>{let l=a.fields.some(d=>d.foreignKey),i=s.fields.some(d=>d.foreignKey);return l&&!i?1:!l&&i?-1:0}).map(a=>Ov(a,r,t)).join(`
29
+ `):l}function yi(e){let{tables:t,relations:r}=e;return t.length===0?"-- No tables defined":[...t].sort((a,s)=>{let l=a.fields.some(c=>c.foreignKey),i=s.fields.some(c=>c.foreignKey);return l&&!i?1:!l&&i?-1:0}).map(a=>Ak(a,r,t)).join(`
30
30
 
31
- `)}var $v=60,_v=40;function Ui(e,t){if(e.length===0)return e;let r=new Map;for(let g of e){let x=new Set;for(let b of g.fields)b.foreignKey&&x.add(b.foreignKey.tableId);r.set(g.id,x);}let n=new Map;for(let g of e)n.set(g.id,0);for(let[,g]of r)for(let x of g)n.has(x);for(let[g,x]of r)n.set(g,x.size);let o=[],a=[];for(let[g,x]of n)x===0&&a.push(g);for(;a.length>0;){let g=a.shift();o.push(g);for(let[x,b]of r)if(b.has(g)){let v=(n.get(x)??0)-1;n.set(x,v),v===0&&a.push(x);}}let s=new Set(o);for(let g of e)s.has(g.id)||(o.push(g.id),s.add(g.id));let l=new Map(e.map(g=>[g.id,g])),i=Math.max(1,Math.ceil(Math.sqrt(o.length))),d=0,c=0,p=0,f=0,m=[];for(let g of o){let x=l.get(g);if(!x)continue;let b=x.width??260,v=hn(x,t);m.push({...x,x:d,y:c}),f=Math.max(f,v),p++,p>=i?(p=0,d=0,c+=f+_v,f=0):d+=b+$v;}return m}var ji={x:0,y:0,zoom:1},qi=.1,Uv=.1,Yv=3,jv=20,qv=50;function Zv({value:e,defaultValue:t,onValueChange:r,fieldTypes:n=ma,onTableClick:o,onTableDoubleClick:a,onTableContextMenu:s,onFieldClick:l,onFieldDoubleClick:i,readOnly:d=false,disabled:c=false,draggableTables:p=true,panOnDrag:f=true,zoomOnWheel:m=true,editable:g=true,minZoom:x=Uv,maxZoom:b=Yv,snapToGrid:v=false,gridSize:y=jv,showGrid:M=true,toolbar:w=true,legend:P=true,autoFit:h=false,className:E},D){let k=e!==void 0,[I,W]=js.useState(()=>t??{tables:[],relations:[],viewport:{...ji}}),O=k?e:I,L=O.tables,T=O.relations,S=O.viewport??ji,C=js.useRef(null),N=js.useRef(null),[R,$]=js.useState(null),[H,K]=js.useState(null),[_,F]=js.useState(null),[A,B]=js.useState(null),[U,Q]=js.useState({width:0,height:0}),J=js.useRef([]),Y=js.useRef(-1),z=js.useRef(false),X=js.useRef(S);X.current=S;let ne=js.useRef(L);ne.current=L;let re=js.useRef(T);re.current=T;let q=js.useRef(v);q.current=v;let de=js.useRef(y);de.current=y;let xe=js.useRef(g);xe.current=g;let ke=js.useCallback(G=>{if(z.current)return;let te=J.current,oe=Y.current;J.current=te.slice(0,oe+1),J.current.push(G),J.current.length>qv&&J.current.shift(),Y.current=J.current.length-1;},[]),le=js.useCallback(G=>{if(k){let te=G(e);ke(te),r?.(te);}else W(te=>{let oe=G(te);return ke(oe),r?.(oe),oe});},[k,e,r,ke]),Se=js.useRef(le);Se.current=le;let Me=js.useCallback(G=>{le(te=>({...te,viewport:G}));},[le]),je=js.useRef(Me);je.current=Me,js.useEffect(()=>{function G(ae){let pe=N.current;if(!pe)return;let Ve=C.current?.getBoundingClientRect();if(!Ve)return;let Ye=X.current;if(pe.type==="pan"){let Xe=ae.clientX-pe.startX,Le=ae.clientY-pe.startY;je.current({...Ye,x:pe.startVpX+Xe,y:pe.startVpY+Le});}if(pe.type==="table"){let Xe=ua(ae.clientX,ae.clientY,Ye,Ve),Le=Xe.x-pe.offsetX,It=Xe.y-pe.offsetY;q.current&&(Le=Fi(Le,de.current),It=Fi(It,de.current)),Se.current(Ge=>({...Ge,tables:Ge.tables.map(gt=>gt.id===pe.tableId?{...gt,x:Le,y:It}:gt)}));}if(pe.type==="relation"){let Xe=ua(ae.clientX,ae.clientY,Ye,Ve);N.current={...pe,currentX:Xe.x,currentY:Xe.y},F({fromX:pe.fromX,fromY:pe.fromY,currentX:Xe.x,currentY:Xe.y});}if(pe.type==="resize"){let Xe=(ae.clientX-pe.startX)/Ye.zoom,Le=(ae.clientY-pe.startY)/Ye.zoom,It=180,Ge=80,gt=Math.max(It,pe.startWidth+Xe),Nt=Math.max(Ge,pe.startHeight+Le);Se.current(it=>({...it,tables:it.tables.map(Vt=>Vt.id===pe.tableId?{...Vt,width:gt,height:Nt}:Vt)}));}}function te(ae,pe,Ve,Ye){let Xe=X.current,Le=ua(ae,pe,Xe,Ve),It=1/0,Ge=null,gt=null;for(let Nt of Ye){if(Nt.collapsed)continue;let it=Nt.fields.length;if(it===0)continue;let Vt=Nt.width??260,Rr=40+it*32+(xe.current?36:0),Tr=40;if(!(Le.x<Nt.x-Tr||Le.x>Nt.x+Vt+Tr||Le.y<Nt.y-Tr||Le.y>Nt.y+Rr+Tr))for(let rr=0;rr<Nt.fields.length;rr++){let Cs=Nt.y+xo(rr,!!Nt.notes),ha=Math.abs(Le.y-Cs);ha<It&&(It=ha,Ge=Nt.id,gt=Nt.fields[rr].id);}}return Ge&&gt?{tableId:Ge,fieldId:gt}:null}function oe(ae){let pe=N.current;if(pe){if(pe.type==="relation"){let Ve=C.current?.getBoundingClientRect();if(Ve){let Ye=re.current,Xe=ne.current,Le=te(ae.clientX,ae.clientY,Ve,Xe);if(Le&&Le.tableId!==pe.fromTableId&&!Ye.some(Ge=>Ge.from.tableId===pe.fromTableId&&Ge.from.fieldId===pe.fromFieldId&&Ge.to.tableId===Le.tableId&&Ge.to.fieldId===Le.fieldId)){let Ge=pe.fromTableId,gt=pe.fromFieldId,Nt=Le.tableId,it=Le.fieldId;Se.current(Vt=>({...Vt,tables:Vt.tables.map(Rr=>Rr.id===Nt?{...Rr,fields:Rr.fields.map(Tr=>Tr.id===it?{...Tr,foreignKey:{tableId:Ge,fieldId:gt}}:Tr)}:Rr),relations:[...Vt.relations,{id:Vi(),from:{tableId:Ge,fieldId:gt},to:{tableId:Nt,fieldId:it},cardinality:"1:n"}]}));}}F(null),B(null);}N.current=null;}}return document.addEventListener("mousemove",G),document.addEventListener("mouseup",oe),()=>{document.removeEventListener("mousemove",G),document.removeEventListener("mouseup",oe);}},[]);let at=js.useCallback(G=>{if(!m||c)return;G.preventDefault();let te=C.current?.getBoundingClientRect();if(!te)return;let oe=G.clientX-te.left,ae=G.clientY-te.top,pe=G.deltaY<0?1:-1,Ve=ca(S.zoom+pe*qi,x,b),Ye=Ve/S.zoom;Me({x:oe-(oe-S.x)*Ye,y:ae-(ae-S.y)*Ye,zoom:Ve});},[m,c,S,x,b,Me]),$e=js.useCallback(G=>{if(c)return;let te=G.target,oe=te.tagName,ae=oe==="INPUT"||oe==="SELECT"||oe==="TEXTAREA"||oe==="BUTTON";if(te.closest("[data-resize-handle]"))return;let pe=te.closest("[data-connection-side]");if(pe&&!ae){if(d)return;G.preventDefault();let Ye=pe.getAttribute("data-table-id"),Xe=pe.getAttribute("data-field-id");if(!Ye||!Xe)return;let Le=L.find(gt=>gt.id===Ye);if(!Le)return;let It=pe.getAttribute("data-connection-side"),Ge=lu(Le,Xe,It);if(!Ge)return;N.current={type:"relation",fromTableId:Ye,fromFieldId:Xe,fromX:Ge.x,fromY:Ge.y,currentX:Ge.x,currentY:Ge.y},F({fromX:Ge.x,fromY:Ge.y,currentX:Ge.x,currentY:Ge.y}),B(Ye);return}let Ve=te.closest("[data-table-id]");if(Ve){if(d)return;let Ye=Ve.getAttribute("data-table-id");if(K(null),$(Ye),ae)return;if(p){let Xe=C.current?.getBoundingClientRect();if(!Xe)return;let Le=L.find(Ge=>Ge.id===Ye);if(!Le||Le.locked)return;let It=ua(G.clientX,G.clientY,S,Xe);N.current={type:"table",tableId:Ye,offsetX:It.x-Le.x,offsetY:It.y-Le.y};}return}$(null),K(null),f&&G.button===0&&(N.current={type:"pan",startX:G.clientX,startY:G.clientY,startVpX:S.x,startVpY:S.y});},[c,d,p,f,S,L]),ie=js.useCallback(G=>{let te=G.target;if(te.closest("[data-connection-side]"))return null;let oe=te.closest("[data-table-id]");if(!oe)return null;let ae=oe.getAttribute("data-table-id");return L.find(pe=>pe.id===ae)??null},[L]),he=js.useCallback(G=>{if(c)return;let te=ie(G);te&&o&&o({table:te,nativeEvent:G.nativeEvent});},[o,c,ie]),Ie=js.useCallback(G=>{if(c)return;let te=ie(G);te&&a&&a({table:te,nativeEvent:G.nativeEvent});},[a,c,ie]),xt=js.useCallback(G=>{if(c)return;let te=ie(G);te&&s&&(G.preventDefault(),s({table:te,nativeEvent:G.nativeEvent}));},[s,c,ie]),Te=js.useCallback((G,te)=>{c||(te.stopPropagation(),$(null),K(G));},[c]),Ee=js.useCallback((G,te)=>{le(oe=>({...oe,relations:oe.relations.map(ae=>ae.id===G?{...ae,cardinality:te}:ae)}));},[le]),nt=Y.current>0,pr=Y.current<J.current.length-1,pt=js.useCallback(()=>{if(Y.current<=0)return;z.current=true,Y.current--;let G=J.current[Y.current];k||W(G),r?.(G),z.current=false;},[k,r]),Ht=js.useCallback(()=>{if(Y.current>=J.current.length-1)return;z.current=true,Y.current++;let G=J.current[Y.current];k||W(G),r?.(G),z.current=false;},[k,r]),Ft=js.useCallback(()=>fs(O),[O]),sr=js.useCallback(()=>{le(G=>({...G,tables:Ui(G.tables,g)}));},[le,g]),Nr=js.useCallback((G,te,oe)=>{te!==oe&&le(ae=>({...ae,tables:ae.tables.map(pe=>{if(pe.id!==G)return pe;let Ve=[...pe.fields],[Ye]=Ve.splice(te,1);return Ve.splice(oe,0,Ye),{...pe,fields:Ve}})}));},[le]);js.useEffect(()=>{let G=C.current;if(!G)return;let te=new ResizeObserver(oe=>{for(let ae of oe)Q({width:ae.contentRect.width,height:ae.contentRect.height});});return te.observe(G),()=>te.disconnect()},[]);let Gt=js.useRef(false);Gt.current||(Gt.current=true,J.current=[O],Y.current=0);let er=js.useCallback(G=>{if(!(d||c)){if((G.ctrlKey||G.metaKey)&&G.key==="z"&&!G.shiftKey){G.preventDefault(),pt();return}if((G.ctrlKey||G.metaKey)&&(G.key==="y"||G.key==="z"&&G.shiftKey)){G.preventDefault(),Ht();return}if(G.key==="Delete"||G.key==="Backspace"){let te=G.target;if(te.tagName==="INPUT"||te.tagName==="TEXTAREA"||te.tagName==="SELECT")return;R&&(le(oe=>({...oe,tables:oe.tables.filter(ae=>ae.id!==R),relations:oe.relations.filter(ae=>ae.from.tableId!==R&&ae.to.tableId!==R)})),$(null)),H&&(le(oe=>{let ae=oe.relations.find(pe=>pe.id===H);return {...oe,tables:ae?oe.tables.map(pe=>pe.id===ae.to.tableId?{...pe,fields:pe.fields.map(Ve=>Ve.id===ae.to.fieldId?{...Ve,foreignKey:void 0}:Ve)}:pe):oe.tables,relations:oe.relations.filter(pe=>pe.id!==H)}}),K(null));}G.key==="Escape"&&($(null),K(null));}},[d,c,R,H,le,pt,Ht]),tr=js.useCallback((G,te)=>{le(oe=>({...oe,tables:oe.tables.map(ae=>ae.id===G?{...ae,name:te}:ae)}));},[le]),ue=js.useCallback((G,te)=>{le(oe=>({...oe,tables:oe.tables.map(ae=>ae.id===G?{...ae,notes:te}:ae)}));},[le]),me=js.useCallback(G=>{le(te=>({...te,tables:te.tables.map(oe=>oe.id===G?{...oe,collapsed:!oe.collapsed}:oe)}));},[le]),Z=js.useCallback((G,te,oe)=>{le(ae=>({...ae,tables:ae.tables.map(pe=>pe.id===G?{...pe,fields:pe.fields.map(Ve=>Ve.id===te?{...Ve,...oe}:Ve)}:pe)}));},[le]),ee=js.useCallback(G=>{le(te=>({...te,tables:te.tables.map(oe=>oe.id===G?{...oe,fields:[...oe.fields,Bi()]}:oe)}));},[le]),fe=js.useCallback((G,te)=>{le(oe=>({...oe,tables:oe.tables.map(ae=>ae.id===G?{...ae,fields:ae.fields.filter(pe=>pe.id!==te)}:ae),relations:oe.relations.filter(ae=>!(ae.from.tableId===G&&ae.from.fieldId===te)&&!(ae.to.tableId===G&&ae.to.fieldId===te))}));},[le]),ge=js.useCallback((G,te,oe,ae,pe)=>{N.current={type:"resize",tableId:G,startX:te,startY:oe,startWidth:ae,startHeight:pe};},[]),Re=js.useCallback(()=>{let G=ca(S.zoom+qi,x,b);Me({...S,zoom:G});},[S,x,b,Me]),ve=js.useCallback(()=>{let G=ca(S.zoom-qi,x,b);Me({...S,zoom:G});},[S,x,b,Me]),we=js.useCallback(()=>{Me({...ji});},[Me]),Fe=js.useCallback(()=>{let G=C.current?.getBoundingClientRect();if(!G)return;let te=du(L,G.width,G.height,g),oe=ca(te.zoom,x,b);Me({...te,zoom:oe});},[L,g,x,b,Me]),Ae=js.useCallback(G=>{le(te=>({...te,tables:[...te.tables,G]}));},[le]),ot=js.useCallback(G=>{le(te=>({...te,tables:te.tables.filter(oe=>oe.id!==G),relations:te.relations.filter(oe=>oe.from.tableId!==G&&oe.to.tableId!==G)}));},[le]),qe=js.useCallback((G,te)=>{le(oe=>({...oe,tables:oe.tables.map(ae=>ae.id===G?{...ae,fields:[...ae.fields,te]}:ae)}));},[le]),_e=js.useCallback((G,te)=>{fe(G,te);},[fe]),Mt=js.useCallback(G=>{le(te=>({...te,tables:te.tables.map(oe=>oe.id===G.to.tableId?{...oe,fields:oe.fields.map(ae=>ae.id===G.to.fieldId?{...ae,foreignKey:{tableId:G.from.tableId,fieldId:G.from.fieldId}}:ae)}:oe),relations:[...te.relations,G]}));},[le]),st=js.useCallback(G=>{le(te=>{let oe=te.relations.find(ae=>ae.id===G);return {...te,tables:oe?te.tables.map(ae=>ae.id===oe.to.tableId?{...ae,fields:ae.fields.map(pe=>pe.id===oe.to.fieldId?{...pe,foreignKey:void 0}:pe)}:ae):te.tables,relations:te.relations.filter(ae=>ae.id!==G)}});},[le]),mr=js.useCallback(()=>JSON.stringify(O,null,2),[O]),Gr=js.useCallback(G=>{try{let te=JSON.parse(G);te&&Array.isArray(te.tables)&&Array.isArray(te.relations)&&le(()=>te);}catch{}},[le]),wn=js.useCallback(()=>{let G=C.current?.getBoundingClientRect(),te=X.current,oe=100,ae=100;G&&(oe=(G.width/2-te.x)/te.zoom-260/2,ae=(G.height/2-te.y)/te.zoom-60),Ae(Oi(oe,ae));},[Ae]),Xn=js.useCallback(()=>fs(O),[O]);js.useImperativeHandle(D,()=>({zoomIn:Re,zoomOut:ve,resetView:we,fitToContent:Fe,addTable:Ae,removeTable:ot,addField:qe,removeField:_e,addRelation:Mt,removeRelation:st,toJSON:mr,loadJSON:Gr,toSQL:Xn}),[Re,ve,we,Fe,Ae,ot,qe,_e,Mt,st,mr,Gr,Xn]);let Sr=js.useRef(false);js.useEffect(()=>{h&&!Sr.current&&C.current&&(Sr.current=true,Fe());},[h,Fe]);let gr=js.useMemo(()=>({transform:`translate(${S.x}px, ${S.y}px) scale(${S.zoom})`,transformOrigin:"0 0"}),[S.x,S.y,S.zoom]);return jsxRuntime.jsxs("div",{ref:C,"data-testid":"schema-editor",className:u("relative w-full overflow-hidden bg-gray-50 dark:bg-gray-900 select-none",c&&"opacity-60 pointer-events-none",E),tabIndex:0,onWheel:at,onMouseDown:$e,onClick:he,onDoubleClick:Ie,onContextMenu:xt,onKeyDown:er,children:[M&&jsxRuntime.jsx(iu,{gridSize:y,zoom:S.zoom}),w&&!d&&jsxRuntime.jsx(xu,{zoom:S.zoom,onZoomIn:Re,onZoomOut:ve,onResetView:we,onFitToContent:Fe,onAddTable:wn,onExportJSON:mr,onImportJSON:Gr,onExportSQL:Ft,onUndo:pt,onRedo:Ht,canUndo:nt,canRedo:pr,onAutoLayout:sr,disabled:c}),P&&jsxRuntime.jsx(vu,{}),jsxRuntime.jsx(yu,{relations:T,tables:L,viewport:S,selectedRelationId:H,disabled:c||d,onRelationClick:Te,onCardinalityChange:Ee}),jsxRuntime.jsx("div",{style:gr,children:L.map(G=>jsxRuntime.jsx(bu,{table:G,selected:R===G.id,disabled:c||d,readOnly:d,editable:g,dropTarget:A!==null&&A!==G.id&&!G.collapsed,fieldTypes:n,onTableNameChange:tr,onTableNotesChange:ue,onToggleCollapse:me,onFieldChange:Z,onFieldAdd:ee,onFieldRemove:fe,onFieldReorder:Nr,onResizeStart:ge},G.id))}),_&&jsxRuntime.jsxs("svg",{"data-testid":"drag-relation-overlay",style:{position:"absolute",top:0,left:0,width:"100%",height:"100%",pointerEvents:"none",zIndex:1e3,overflow:"visible"},children:[jsxRuntime.jsx("path",{d:cs(_.fromX*S.zoom+S.x,_.fromY*S.zoom+S.y,_.currentX*S.zoom+S.x,_.currentY*S.zoom+S.y),fill:"none",stroke:"#3b82f6",strokeWidth:2.5,strokeDasharray:"8 4"}),jsxRuntime.jsx("circle",{cx:_.fromX*S.zoom+S.x,cy:_.fromY*S.zoom+S.y,r:5,fill:"#3b82f6"}),jsxRuntime.jsx("circle",{cx:_.currentX*S.zoom+S.x,cy:_.currentY*S.zoom+S.y,r:4,fill:"#3b82f6",opacity:.6})]}),P&&U.width>0&&jsxRuntime.jsx(ku,{tables:L,viewport:S,containerWidth:U.width,containerHeight:U.height,editable:g,onViewportChange:Me})]})}var Nu=js.forwardRef(Zv);Nu.displayName="SchemaEditor";var Su="wf-grid-pattern",Ru=js.memo(function({gridSize:t,zoom:r}){let n=t*r;return jsxRuntime.jsxs("svg",{className:"absolute inset-0 w-full h-full pointer-events-none","aria-hidden":"true",children:[jsxRuntime.jsx("defs",{children:jsxRuntime.jsx("pattern",{id:Su,width:n,height:n,patternUnits:"userSpaceOnUse",children:jsxRuntime.jsx("circle",{cx:1,cy:1,r:1,className:"fill-gray-300 dark:fill-gray-600"})})}),jsxRuntime.jsx("rect",{width:"100%",height:"100%",fill:`url(#${Su})`})]})});function Zi(e,t){return Math.round(e/t)*t}function fa(e,t,r){return Math.min(r,Math.max(t,e))}function So(e,t,r,n){return {x:(e-n.left-r.x)/r.zoom,y:(t-n.top-r.y)/r.zoom}}function ga(e,t="horizontal"){return t==="vertical"?e==="in"?"top":"bottom":e==="in"?"left":"right"}function Ro(e,t,r,n="horizontal"){let o=e.width??180,a=e.height??60,s=t.side??ga(t.kind,n),l=r.filter(p=>(p.side??ga(p.kind,n))===s),i=l.findIndex(p=>p.id===t.id),d=l.length,c=d===1?.5:(i+1)/(d+1);switch(s){case "left":return {x:e.x-8,y:e.y+a*c};case "right":return {x:e.x+o+8,y:e.y+a*c};case "top":return {x:e.x+o*c,y:e.y-8};case "bottom":return {x:e.x+o*c,y:e.y+a+8}}}function hs(e,t,r,n,o="horizontal"){if(o==="vertical"){let p=Math.abs(n-t),f=Math.max(50,p*.5),m=e,g=t+f,x=r,b=n-f;return `M ${e} ${t} C ${m} ${g}, ${x} ${b}, ${r} ${n}`}let a=Math.abs(r-e),s=Math.max(50,a*.5),l=e+s,i=t,d=r-s;return `M ${e} ${t} C ${l} ${i}, ${d} ${n}, ${r} ${n}`}function Tu(e,t,r,n=40){if(e.length===0)return {x:0,y:0,zoom:1};let o=1/0,a=1/0,s=-1/0,l=-1/0;for(let m of e){let g=m.width??180,x=m.height??60;o=Math.min(o,m.x),a=Math.min(a,m.y),s=Math.max(s,m.x+g),l=Math.max(l,m.y+x);}let i=s-o+n*2,d=l-a+n*2,c=Math.min(t/i,r/d,1),p=(t-i*c)/2-(o-n)*c,f=(r-d*c)/2-(a-n)*c;return {x:p,y:f,zoom:c}}var t1=180,r1=60,ys=12,To=28,Ji=24,n1=-8;function o1(e,t,r,n,o="horizontal"){let a=e.side??ga(e.kind,o),s=t.filter(c=>(c.side??ga(c.kind,o))===a),l=s.findIndex(c=>c.id===e.id),i=s.length,d=i===1?.5:(l+1)/(i+1);switch(a){case "left":return {left:0,top:n*d};case "right":return {left:r,top:n*d};case "top":return {left:r*d,top:0};case "bottom":return {left:r*d,top:n}}}function a1({port:e,allPorts:t,nodeId:r,nodeWidth:n,nodeHeight:o,disabled:a,direction:s,onMouseUp:l}){let i=o1(e,t,n,o,s),d=a||e.disabled,c=js.useCallback(p=>{d||(p.stopPropagation(),l(r,e.id));},[d,r,e.id,l]);return jsxRuntime.jsx("div",{"data-testid":`port-${r}-${e.id}`,"data-port-id":e.id,"data-port-kind":e.kind,"data-node-id":r,className:"absolute",style:{left:i.left-To/2,top:i.top-To/2,width:To,height:To,zIndex:20},onMouseUp:c,title:e.label??e.id,children:jsxRuntime.jsx("div",{className:u("absolute rounded-full border-2 transition-colors",d?"bg-gray-300 border-gray-400 cursor-not-allowed":e.kind==="in"?"bg-blue-400 border-blue-600 hover:bg-blue-300 cursor-crosshair":"bg-green-400 border-green-600 hover:bg-green-300 cursor-crosshair"),style:{width:ys,height:ys,left:(To-ys)/2,top:(To-ys)/2}})})}function s1(e,t,r){let n=e??"top-right",o=n1,a=t*(Ji+4);switch(n){case "top-right":return {top:o,right:o-a};case "top-left":return {top:o,left:o+a};case "bottom-right":return {bottom:o,right:o-a};case "bottom-left":return {bottom:o,left:o+a}}}function i1({action:e,nodeId:t,index:r,nodeWidth:n,disabled:o,onActionClick:a}){let s=js.useCallback(d=>{d.stopPropagation(),d.preventDefault(),!o&&a(t,e.id,d.nativeEvent);},[o,t,e.id,a]),l=js.useCallback(d=>{d.stopPropagation();},[]),i=s1(e.position,r);return jsxRuntime.jsx("button",{"data-testid":`action-${t}-${e.id}`,"data-action-id":e.id,"data-node-id":t,type:"button",className:u("absolute flex items-center justify-center rounded-full border shadow-sm transition-all","bg-white border-gray-300 text-gray-600","hover:bg-gray-50 hover:border-gray-400 hover:text-gray-800 hover:shadow-md","active:scale-95",o&&"opacity-50 cursor-not-allowed",!o&&"cursor-pointer",e.className),style:{...i,width:Ji,height:Ji,zIndex:30},onClick:s,onMouseDown:l,title:e.label,disabled:o,children:jsxRuntime.jsx("span",{className:"flex items-center justify-center w-3.5 h-3.5 [&>svg]:w-full [&>svg]:h-full",children:e.icon})})}var Pu=js.memo(function({node:t,registry:r,ports:n,selected:o,disabled:a,draggable:s,direction:l,onPortMouseUp:i,onActionClick:d}){let c=t.width??t1,p=t.height??r1,f=r.render({node:t,selected:o,disabled:a}),g=(typeof r.actions=="function"?r.actions(t):r.actions)?.filter(b=>typeof b.hidden=="function"?!b.hidden(t):!b.hidden),x=new Map;if(g)for(let b of g){let v=b.position??"top-right",y=x.get(v)??[];y.push(b),x.set(v,y);}return jsxRuntime.jsxs("div",{"data-testid":`workflow-node-${t.id}`,"data-node-id":t.id,className:u("absolute select-none group/node",s&&!t.locked&&"cursor-grab active:cursor-grabbing",t.locked&&"cursor-not-allowed opacity-75",o&&"ring-2 ring-blue-500 ring-offset-1 rounded-lg"),style:{left:t.x,top:t.y,width:c,height:p,overflow:"visible"},children:[f,n.map(b=>jsxRuntime.jsx(a1,{port:b,allPorts:n,nodeId:t.id,nodeWidth:c,nodeHeight:p,disabled:a,direction:l,onMouseUp:i},b.id)),d&&x.size>0&&Array.from(x.entries()).map(([,b])=>b.map((v,y)=>jsxRuntime.jsx(i1,{action:v,nodeId:t.id,index:y,nodeWidth:c,disabled:a,onActionClick:d},v.id)))]})});function Eu(e,t,r,n,o="horizontal"){let a=r.find(i=>i.id===e);if(!a)return null;let s=n(a),l=s.find(i=>i.id===t);return l?Ro(a,l,s,o):null}var c1=js.memo(function({edge:t,fromPos:r,toPos:n,selected:o,disabled:a,direction:s,onClick:l}){let i=hs(r.x,r.y,n.x,n.y,s),d=(r.x+n.x)/2,c=(r.y+n.y)/2,p=js.useCallback(f=>{f.stopPropagation(),l(t.id,f);},[t.id,l]);return jsxRuntime.jsxs("g",{"data-testid":`workflow-edge-${t.id}`,children:[jsxRuntime.jsx("path",{d:i,fill:"none",stroke:"transparent",strokeWidth:16,className:"cursor-pointer",onClick:p}),jsxRuntime.jsx("path",{d:i,fill:"none",className:u("transition-colors pointer-events-none",a||t.disabled?"stroke-gray-300":o?"stroke-blue-500":"stroke-gray-400"),strokeWidth:o?2.5:2,strokeDasharray:t.disabled?"6 3":void 0}),t.label&&jsxRuntime.jsx("text",{x:d,y:c-8,textAnchor:"middle",className:"fill-gray-600 dark:fill-gray-300 text-xs pointer-events-none select-none",fontSize:11,children:t.label})]})}),Mu=js.memo(function({edges:t,nodes:r,selectedEdgeId:n,disabled:o,direction:a,onEdgeClick:s,getNodePorts:l}){return jsxRuntime.jsx("svg",{className:"absolute pointer-events-none",style:{top:0,left:0,width:1,height:1,overflow:"visible"},children:jsxRuntime.jsx("g",{className:"pointer-events-auto",children:t.map(i=>{let d=Eu(i.from.nodeId,i.from.portId,r,l,a),c=Eu(i.to.nodeId,i.to.portId,r,l,a);return !d||!c?null:jsxRuntime.jsx(c1,{edge:i,fromPos:d,toPos:c,selected:i.id===n,disabled:o,direction:a,onClick:s},i.id)})})})});var m1=()=>jsxRuntime.jsx("svg",{className:"w-4 h-4",viewBox:"0 0 20 20",fill:"currentColor","aria-hidden":"true",children:jsxRuntime.jsx("path",{fillRule:"evenodd",d:"M10 5a1 1 0 011 1v3h3a1 1 0 110 2h-3v3a1 1 0 11-2 0v-3H6a1 1 0 110-2h3V6a1 1 0 011-1z",clipRule:"evenodd"})}),g1=()=>jsxRuntime.jsx("svg",{className:"w-4 h-4",viewBox:"0 0 20 20",fill:"currentColor","aria-hidden":"true",children:jsxRuntime.jsx("path",{fillRule:"evenodd",d:"M5 10a1 1 0 011-1h8a1 1 0 110 2H6a1 1 0 01-1-1z",clipRule:"evenodd"})}),f1=()=>jsxRuntime.jsx("svg",{className:"w-4 h-4",viewBox:"0 0 20 20",fill:"currentColor","aria-hidden":"true",children:jsxRuntime.jsx("path",{fillRule:"evenodd",d:"M4 2a1 1 0 011 1v2.101a7.002 7.002 0 0111.601 2.566 1 1 0 11-1.885.666A5.002 5.002 0 005.999 7H9a1 1 0 010 2H4a1 1 0 01-1-1V3a1 1 0 011-1zm.008 9.057a1 1 0 011.276.61A5.002 5.002 0 0014.001 13H11a1 1 0 110-2h5a1 1 0 011 1v5a1 1 0 11-2 0v-2.101a7.002 7.002 0 01-11.601-2.566 1 1 0 01.61-1.276z",clipRule:"evenodd"})}),b1=()=>jsxRuntime.jsx("svg",{className:"w-4 h-4",viewBox:"0 0 20 20",fill:"currentColor","aria-hidden":"true",children:jsxRuntime.jsx("path",{d:"M3 4a1 1 0 011-1h4a1 1 0 010 2H6.414l2.293 2.293a1 1 0 01-1.414 1.414L5 6.414V8a1 1 0 01-2 0V4zm9 1a1 1 0 010-2h4a1 1 0 011 1v4a1 1 0 01-2 0V6.414l-2.293 2.293a1 1 0 11-1.414-1.414L13.586 5H12zm-9 7a1 1 0 012 0v1.586l2.293-2.293a1 1 0 011.414 1.414L6.414 15H8a1 1 0 010 2H4a1 1 0 01-1-1v-4zm13 0a1 1 0 01-2 0v-1.586l-2.293 2.293a1 1 0 01-1.414-1.414L13.586 9H12a1 1 0 010-2h4a1 1 0 011 1v4z"})}),h1=()=>jsxRuntime.jsx("svg",{className:"w-4 h-4",viewBox:"0 0 20 20",fill:"currentColor","aria-hidden":"true",children:jsxRuntime.jsx("path",{fillRule:"evenodd",d:"M3 17a1 1 0 011-1h12a1 1 0 110 2H4a1 1 0 01-1-1zm3.293-7.707a1 1 0 011.414 0L9 10.586V3a1 1 0 112 0v7.586l1.293-1.293a1 1 0 111.414 1.414l-3 3a1 1 0 01-1.414 0l-3-3a1 1 0 010-1.414z",clipRule:"evenodd"})}),y1=()=>jsxRuntime.jsx("svg",{className:"w-4 h-4",viewBox:"0 0 20 20",fill:"currentColor","aria-hidden":"true",children:jsxRuntime.jsx("path",{fillRule:"evenodd",d:"M3 17a1 1 0 011-1h12a1 1 0 110 2H4a1 1 0 01-1-1zM6.293 6.707a1 1 0 010-1.414l3-3a1 1 0 011.414 0l3 3a1 1 0 01-1.414 1.414L11 5.414V13a1 1 0 11-2 0V5.414L7.707 6.707a1 1 0 01-1.414 0z",clipRule:"evenodd"})}),x1=()=>jsxRuntime.jsx("svg",{className:"w-4 h-4",viewBox:"0 0 20 20",fill:"currentColor","aria-hidden":"true",children:jsxRuntime.jsx("path",{fillRule:"evenodd",d:"M10.293 3.293a1 1 0 011.414 0l6 6a1 1 0 010 1.414l-6 6a1 1 0 01-1.414-1.414L14.586 11H3a1 1 0 110-2h11.586l-4.293-4.293a1 1 0 010-1.414z",clipRule:"evenodd"})}),v1=()=>jsxRuntime.jsx("svg",{className:"w-4 h-4",viewBox:"0 0 20 20",fill:"currentColor","aria-hidden":"true",children:jsxRuntime.jsx("path",{fillRule:"evenodd",d:"M16.707 10.293a1 1 0 010 1.414l-6 6a1 1 0 01-1.414 0l-6-6a1 1 0 111.414-1.414L9 14.586V3a1 1 0 012 0v11.586l4.293-4.293a1 1 0 011.414 0z",clipRule:"evenodd"})}),Lu=js.memo(function({zoom:t,direction:r,onDirectionChange:n,onZoomIn:o,onZoomOut:a,onResetView:s,onFitToContent:l,onExportJSON:i,onImportJSON:d,disabled:c,className:p}){let[f,m]=js.useState(false),[g,x]=js.useState(false),[b,v]=js.useState(""),[y,M]=js.useState(""),w=js.useCallback(()=>{v(i()),m(true);},[i]),P=js.useCallback(()=>{y.trim()&&(d(y.trim()),M(""),x(false));},[y,d]),h=js.useCallback(()=>{M(""),x(false);},[]),E=js.useCallback(()=>{m(false);},[]),D=Math.round(t*100);return jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsxs("div",{className:u("absolute top-3 left-3 z-20 flex items-center gap-2 bg-white dark:bg-gray-800 rounded-lg shadow-md border border-gray-200 dark:border-gray-600 px-2 py-1.5",p),"data-testid":"workflow-toolbar",children:[jsxRuntime.jsxs(ao,{size:"sm",children:[jsxRuntime.jsx(yt,{content:"Zoom in",size:"sm",position:"bottom",children:jsxRuntime.jsx(ht,{icon:jsxRuntime.jsx(m1,{}),size:"sm",bgColor:"bg-gray-100 hover:bg-gray-200 dark:bg-gray-700 dark:hover:bg-gray-600",textColor:"text-gray-700 dark:text-gray-200",onClick:o,disabled:c,"aria-label":"Zoom in"})}),jsxRuntime.jsx(yt,{content:"Zoom out",size:"sm",position:"bottom",children:jsxRuntime.jsx(ht,{icon:jsxRuntime.jsx(g1,{}),size:"sm",bgColor:"bg-gray-100 hover:bg-gray-200 dark:bg-gray-700 dark:hover:bg-gray-600",textColor:"text-gray-700 dark:text-gray-200",onClick:a,disabled:c,"aria-label":"Zoom out"})})]}),jsxRuntime.jsxs("span",{className:"text-xs font-mono text-gray-500 dark:text-gray-400 min-w-[3ch] text-center select-none",children:[D,"%"]}),jsxRuntime.jsx("div",{className:"w-px h-5 bg-gray-200 dark:bg-gray-600"}),jsxRuntime.jsx(yt,{content:"Reset view",size:"sm",position:"bottom",children:jsxRuntime.jsx(ht,{icon:jsxRuntime.jsx(f1,{}),size:"sm",bgColor:"bg-gray-100 hover:bg-gray-200 dark:bg-gray-700 dark:hover:bg-gray-600",textColor:"text-gray-700 dark:text-gray-200",onClick:s,disabled:c,"aria-label":"Reset view"})}),jsxRuntime.jsx(yt,{content:"Fit to content",size:"sm",position:"bottom",children:jsxRuntime.jsx(ht,{icon:jsxRuntime.jsx(b1,{}),size:"sm",bgColor:"bg-gray-100 hover:bg-gray-200 dark:bg-gray-700 dark:hover:bg-gray-600",textColor:"text-gray-700 dark:text-gray-200",onClick:l,disabled:c,"aria-label":"Fit to content"})}),n&&jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx("div",{className:"w-px h-5 bg-gray-200 dark:bg-gray-600"}),jsxRuntime.jsx(yt,{content:r==="horizontal"?"Switch to vertical":"Switch to horizontal",size:"sm",position:"bottom",children:jsxRuntime.jsx(ht,{icon:r==="horizontal"?jsxRuntime.jsx(x1,{}):jsxRuntime.jsx(v1,{}),size:"sm",bgColor:"bg-gray-100 hover:bg-gray-200 dark:bg-gray-700 dark:hover:bg-gray-600",textColor:"text-gray-700 dark:text-gray-200",onClick:()=>n(r==="horizontal"?"vertical":"horizontal"),disabled:c,"aria-label":r==="horizontal"?"Switch to vertical":"Switch to horizontal"})})]}),jsxRuntime.jsx("div",{className:"w-px h-5 bg-gray-200 dark:bg-gray-600"}),jsxRuntime.jsx(yt,{content:"Export JSON",size:"sm",position:"bottom",children:jsxRuntime.jsx(ht,{icon:jsxRuntime.jsx(h1,{}),size:"sm",bgColor:"bg-gray-100 hover:bg-gray-200 dark:bg-gray-700 dark:hover:bg-gray-600",textColor:"text-gray-700 dark:text-gray-200",onClick:w,disabled:c,"aria-label":"Export JSON"})}),jsxRuntime.jsx(yt,{content:"Import JSON",size:"sm",position:"bottom",children:jsxRuntime.jsx(ht,{icon:jsxRuntime.jsx(y1,{}),size:"sm",bgColor:"bg-gray-100 hover:bg-gray-200 dark:bg-gray-700 dark:hover:bg-gray-600",textColor:"text-gray-700 dark:text-gray-200",onClick:()=>x(true),disabled:c,"aria-label":"Import JSON"})})]}),jsxRuntime.jsx(rn,{isOpen:f,onClose:E,title:"Export Workflow",description:"Copy the JSON below to save your workflow.",size:"lg",showSubmit:false,showCancel:true,cancelLabel:"Close",children:jsxRuntime.jsx(Vr,{label:"Workflow JSON",multiline:true,rows:12,value:b,readOnly:true,size:"sm"})}),jsxRuntime.jsx(rn,{isOpen:g,onClose:h,title:"Import Workflow",description:"Paste workflow JSON to load it into the editor.",size:"lg",showSubmit:true,submitLabel:"Import",onSubmitClick:P,showCancel:true,cancelLabel:"Cancel",children:jsxRuntime.jsx(Vr,{label:"Workflow JSON",multiline:true,rows:12,value:y,onChange:k=>M(k.target.value),placeholder:'{"nodes": [], "edges": []}',size:"sm"})})]})});var el={x:0,y:0,zoom:1},tl=.1,w1=.1,N1=3,S1=20;function Wu(){return `edge-${Date.now()}-${Math.random().toString(36).slice(2,8)}`}function R1({value:e,defaultValue:t,onValueChange:r,nodeRegistry:n,direction:o="horizontal",onDirectionChange:a,onNodeClick:s,onNodeDoubleClick:l,onNodeContextMenu:i,onNodeAction:d,readOnly:c=false,disabled:p=false,draggableNodes:f=true,connectable:m=true,selectable:g=true,multiSelect:x=false,panOnDrag:b=true,zoomOnWheel:v=true,minZoom:y=w1,maxZoom:M=N1,snapToGrid:w=false,gridSize:P=S1,showGrid:h=true,toolbar:E=true,autoFit:D=false,className:k},I){let W=e!==void 0,[O,L]=js.useState(()=>t??{nodes:[],edges:[],viewport:{...el}}),T=W?e:O,S=T.nodes,C=T.edges,N=T.viewport??el,R=js.useRef(null),$=js.useRef(null),[H,K]=js.useState(new Set),[_,F]=js.useState(null),[A,B]=js.useState(null),U=js.useRef(N);U.current=N;let Q=js.useRef(S);Q.current=S;let J=js.useRef(C);J.current=C;let Y=js.useRef(w);Y.current=w;let z=js.useRef(P);z.current=P;let X=js.useRef(n);X.current=n;let ne=js.useRef(o);ne.current=o;let re=js.useCallback(Z=>{W?r?.(Z(e)):L(ee=>{let fe=Z(ee);return r?.(fe),fe});},[W,e,r]),q=js.useRef(re);q.current=re;let de=js.useCallback(Z=>{re(ee=>({...ee,viewport:Z}));},[re]),xe=js.useRef(de);xe.current=de;let ke=js.useCallback(Z=>{let ee=n[Z.type];return ee?.getPorts?ee.getPorts(Z):Z.ports??[]},[n]),le=js.useRef(ke);le.current=ke;let Se=js.useCallback((Z,ee,fe)=>{let ge=Q.current,Re=J.current,ve=ge.find(st=>st.id===Z.fromNodeId),we=ge.find(st=>st.id===ee);if(!ve||!we)return;let Fe=le.current(ve),Ae=le.current(we),ot=Fe.find(st=>st.id===Z.fromPortId),qe=Ae.find(st=>st.id===fe);if(!ot||!qe||qe.kind!=="in"||Z.fromNodeId===ee)return;let _e=X.current[ve.type];if(_e?.canConnect&&!_e.canConnect({fromNode:ve,toNode:we,fromPort:ot,toPort:qe}))return;Re.some(st=>st.from.nodeId===Z.fromNodeId&&st.from.portId===Z.fromPortId&&st.to.nodeId===ee&&st.to.portId===fe)||q.current(st=>({...st,edges:[...st.edges,{id:Wu(),from:{nodeId:Z.fromNodeId,portId:Z.fromPortId},to:{nodeId:ee,portId:fe}}]}));},[]);js.useEffect(()=>{function Z(fe){let ge=$.current;if(!ge)return;let Re=R.current?.getBoundingClientRect();if(!Re)return;let ve=U.current;if(ge.type==="pan"){let we=fe.clientX-ge.startX,Fe=fe.clientY-ge.startY;xe.current({...ve,x:ge.startViewportX+we,y:ge.startViewportY+Fe});}if(ge.type==="node"){let we=So(fe.clientX,fe.clientY,ve,Re),Fe=we.x-ge.offsetX,Ae=we.y-ge.offsetY;Y.current&&(Fe=Zi(Fe,z.current),Ae=Zi(Ae,z.current)),q.current(ot=>({...ot,nodes:ot.nodes.map(qe=>qe.id===ge.nodeId?{...qe,x:Fe,y:Ae}:qe)}));}if(ge.type==="edge"){let we=So(fe.clientX,fe.clientY,ve,Re);$.current={...ge,currentX:we.x,currentY:we.y},B({fromX:ge.fromX,fromY:ge.fromY,currentX:we.x,currentY:we.y});}}function ee(fe){let ge=$.current;if(ge){if(ge.type==="edge"){let Re=R.current?.getBoundingClientRect();if(Re){let ve=U.current,we=So(fe.clientX,fe.clientY,ve,Re),Fe=25,Ae=Q.current,ot=1/0,qe=null,_e=null;for(let Mt of Ae){let st=le.current(Mt);for(let mr of st){if(mr.kind!=="in")continue;let Gr=Ro(Mt,mr,st,ne.current),wn=Math.sqrt((we.x-Gr.x)**2+(we.y-Gr.y)**2);wn<Fe&&wn<ot&&(ot=wn,qe=Mt.id,_e=mr.id);}}qe&&_e&&Se(ge,qe,_e);}B(null);}$.current=null;}}return document.addEventListener("mousemove",Z),document.addEventListener("mouseup",ee),()=>{document.removeEventListener("mousemove",Z),document.removeEventListener("mouseup",ee);}},[Se]);let Me=js.useCallback(Z=>{if(!v||p)return;Z.preventDefault();let ee=R.current?.getBoundingClientRect();if(!ee)return;let fe=Z.clientX-ee.left,ge=Z.clientY-ee.top,Re=Z.deltaY<0?1:-1,ve=fa(N.zoom+Re*tl,y,M),we=ve/N.zoom;de({x:fe-(fe-N.x)*we,y:ge-(ge-N.y)*we,zoom:ve});},[v,p,N,y,M,de]),je=js.useCallback(Z=>{if(p)return;let ee=Z.target;if(ee.closest("[data-action-id]"))return;let ge=ee.closest("[data-port-id]");if(ge){if(!m||c)return;Z.preventDefault();let ve=ge.getAttribute("data-node-id"),we=ge.getAttribute("data-port-id"),Fe=ge.getAttribute("data-port-kind");if(!ve||!we||Fe!=="out")return;let Ae=S.find(Mt=>Mt.id===ve);if(!Ae)return;let ot=ke(Ae),qe=ot.find(Mt=>Mt.id===we);if(!qe)return;let _e=Ro(Ae,qe,ot,ne.current);$.current={type:"edge",fromNodeId:ve,fromPortId:we,fromX:_e.x,fromY:_e.y,currentX:_e.x,currentY:_e.y},B({fromX:_e.x,fromY:_e.y,currentX:_e.x,currentY:_e.y});return}let Re=ee.closest("[data-node-id]");if(Re){if(c)return;let ve=Re.getAttribute("data-node-id");if(g&&(F(null),x&&Z.shiftKey?K(we=>{let Fe=new Set(we);return Fe.has(ve)?Fe.delete(ve):Fe.add(ve),Fe}):K(new Set([ve]))),f){let we=R.current?.getBoundingClientRect();if(!we)return;let Fe=S.find(ot=>ot.id===ve);if(!Fe||Fe.locked)return;let Ae=So(Z.clientX,Z.clientY,N,we);$.current={type:"node",nodeId:ve,startX:Ae.x,startY:Ae.y,offsetX:Ae.x-Fe.x,offsetY:Ae.y-Fe.y};}return}g&&(K(new Set),F(null)),b&&Z.button===0&&($.current={type:"pan",startX:Z.clientX,startY:Z.clientY,startViewportX:N.x,startViewportY:N.y});},[p,m,c,g,x,f,b,N,S,ke]),at=js.useCallback(Z=>{let ee=$.current;if(!ee||ee.type!=="edge")return;let fe=R.current?.getBoundingClientRect();if(fe){let ge=So(Z.clientX,Z.clientY,N,fe),Re=30,ve=1/0,we=null,Fe=null;for(let Ae of S){let ot=ke(Ae);for(let qe of ot){if(qe.kind!=="in")continue;let _e=Ro(Ae,qe,ot,ne.current),Mt=Math.sqrt((ge.x-_e.x)**2+(ge.y-_e.y)**2);Mt<Re&&Mt<ve&&(ve=Mt,we=Ae.id,Fe=qe.id);}}if(we&&Fe){let Ae=ee.fromNodeId,ot=ee.fromPortId;Ae!==we&&(C.some(_e=>_e.from.nodeId===Ae&&_e.from.portId===ot&&_e.to.nodeId===we&&_e.to.portId===Fe)||re(_e=>({..._e,edges:[..._e.edges,{id:Wu(),from:{nodeId:Ae,portId:ot},to:{nodeId:we,portId:Fe}}]})));}}$.current=null,B(null);},[N,S,C,ke,re]),$e=js.useCallback((Z,ee)=>{let fe=$.current;!fe||fe.type!=="edge"||(Se(fe,Z,ee),$.current=null,B(null));},[Se]),ie=js.useCallback(Z=>{let ee=Z.target;if(ee.closest("[data-port-id]")||ee.closest("[data-action-id]"))return null;let Re=ee.closest("[data-node-id]");if(!Re)return null;let ve=Re.getAttribute("data-node-id");return S.find(we=>we.id===ve)??null},[S]),he=js.useCallback(Z=>{if(!s||p)return;let ee=ie(Z);ee&&s({node:ee,nativeEvent:Z.nativeEvent});},[s,p,ie]),Ie=js.useCallback(Z=>{if(!l||p)return;let ee=ie(Z);ee&&l({node:ee,nativeEvent:Z.nativeEvent});},[l,p,ie]),xt=js.useCallback(Z=>{if(!i||p)return;let ee=ie(Z);ee&&(Z.preventDefault(),i({node:ee,nativeEvent:Z.nativeEvent}));},[i,p,ie]),Te=js.useCallback((Z,ee,fe)=>{if(!d||p)return;let ge=S.find(Re=>Re.id===Z);ge&&d({node:ge,actionId:ee,nativeEvent:fe});},[d,p,S]),Ee=js.useCallback((Z,ee)=>{!g||p||(ee.stopPropagation(),K(new Set),F(Z));},[g,p]),nt=js.useCallback(Z=>{c||p||((Z.key==="Delete"||Z.key==="Backspace")&&(H.size>0&&(re(ee=>({...ee,nodes:ee.nodes.filter(fe=>!H.has(fe.id)),edges:ee.edges.filter(fe=>!H.has(fe.from.nodeId)&&!H.has(fe.to.nodeId))})),K(new Set)),_&&(re(ee=>({...ee,edges:ee.edges.filter(fe=>fe.id!==_)})),F(null))),Z.key==="Escape"&&(K(new Set),F(null)));},[c,p,H,_,re]),pr=js.useCallback(()=>{let Z=fa(N.zoom+tl,y,M);de({...N,zoom:Z});},[N,y,M,de]),pt=js.useCallback(()=>{let Z=fa(N.zoom-tl,y,M);de({...N,zoom:Z});},[N,y,M,de]),Ht=js.useCallback(()=>{de({...el});},[de]),Ft=js.useCallback(()=>{let Z=R.current?.getBoundingClientRect();if(!Z)return;let ee=Tu(S,Z.width,Z.height),fe=fa(ee.zoom,y,M);de({...ee,zoom:fe});},[S,y,M,de]),sr=js.useCallback(Z=>{re(ee=>({...ee,nodes:[...ee.nodes,Z]}));},[re]),Nr=js.useCallback(Z=>{re(ee=>({...ee,nodes:ee.nodes.filter(fe=>fe.id!==Z),edges:ee.edges.filter(fe=>fe.from.nodeId!==Z&&fe.to.nodeId!==Z)}));},[re]),Gt=js.useCallback(()=>JSON.stringify(T,null,2),[T]),er=js.useCallback(Z=>{try{let ee=JSON.parse(Z);ee&&Array.isArray(ee.nodes)&&Array.isArray(ee.edges)&&re(()=>ee);}catch{}},[re]);js.useImperativeHandle(I,()=>({zoomIn:pr,zoomOut:pt,resetView:Ht,fitToContent:Ft,addNode:sr,removeNode:Nr,toJSON:Gt,loadJSON:er}),[pr,pt,Ht,Ft,sr,Nr,Gt,er]);let tr=js.useRef(false);js.useEffect(()=>{D&&!tr.current&&R.current&&(tr.current=true,Ft());},[D,Ft]);let ue=js.useMemo(()=>{let Z=new Map;for(let ee of S)Z.set(ee.id,ke(ee));return Z},[S,ke]),me=js.useMemo(()=>({transform:`translate(${N.x}px, ${N.y}px) scale(${N.zoom})`,transformOrigin:"0 0"}),[N.x,N.y,N.zoom]);return jsxRuntime.jsxs("div",{ref:R,"data-testid":"workflow-editor",className:u("relative w-full overflow-hidden bg-gray-50 dark:bg-gray-900 select-none",p&&"opacity-60 pointer-events-none",k),tabIndex:0,onWheel:Me,onMouseDown:je,onMouseUp:at,onClick:he,onDoubleClick:Ie,onContextMenu:xt,onKeyDown:nt,children:[h&&jsxRuntime.jsx(Ru,{gridSize:P,zoom:N.zoom}),E&&!c&&jsxRuntime.jsx(Lu,{zoom:N.zoom,direction:o,onDirectionChange:a,onZoomIn:pr,onZoomOut:pt,onResetView:Ht,onFitToContent:Ft,onExportJSON:Gt,onImportJSON:er,disabled:p}),jsxRuntime.jsxs("div",{style:me,children:[jsxRuntime.jsx(Mu,{edges:C,nodes:S,selectedEdgeId:_,disabled:p||c,direction:o,onEdgeClick:Ee,getNodePorts:Z=>ue.get(Z.id)??[]}),S.map(Z=>{let ee=n[Z.type];if(!ee)return null;let fe=ue.get(Z.id)??[];return jsxRuntime.jsx(Pu,{node:Z,registry:ee,ports:fe,selected:H.has(Z.id),disabled:p||c,draggable:f&&!c,direction:o,onPortMouseUp:$e,onActionClick:d?Te:void 0},Z.id)})]}),A&&jsxRuntime.jsxs("svg",{"data-testid":"drag-edge-overlay",style:{position:"absolute",top:0,left:0,width:"100%",height:"100%",pointerEvents:"none",zIndex:1e3,overflow:"visible"},children:[jsxRuntime.jsx("path",{d:hs(A.fromX*N.zoom+N.x,A.fromY*N.zoom+N.y,A.currentX*N.zoom+N.x,A.currentY*N.zoom+N.y,o),fill:"none",stroke:"#3b82f6",strokeWidth:2.5,strokeDasharray:"8 4"}),jsxRuntime.jsx("circle",{cx:A.fromX*N.zoom+N.x,cy:A.fromY*N.zoom+N.y,r:5,fill:"#3b82f6"}),jsxRuntime.jsx("circle",{cx:A.currentX*N.zoom+N.x,cy:A.currentY*N.zoom+N.y,r:4,fill:"#3b82f6",opacity:.6})]})]})}var Hu=js.forwardRef(R1);Hu.displayName="WorkflowEditor";var Ou=js.createContext(null);function Cn(){let e=js.useContext(Ou);if(!e)throw new Error("useWizard and Wizard sub-components must be used within <Wizard>");return e}var nl=(e,t,r)=>Math.max(t,Math.min(e,r)),ol={sm:{circle:"h-7 w-7 text-xs",dot:"h-2.5 w-2.5",icon:"h-3.5 w-3.5",title:"text-xs",desc:"text-[11px]",connector:"h-0.5"},md:{circle:"h-9 w-9 text-sm",dot:"h-3 w-3",icon:"h-4 w-4",title:"text-sm",desc:"text-xs",connector:"h-0.5"},lg:{circle:"h-11 w-11 text-base",dot:"h-3.5 w-3.5",icon:"h-5 w-5",title:"text-base",desc:"text-sm",connector:"h-1"}},Xr={primary:{solid:"bg-blue-600 text-white",bg:"bg-blue-600",text:"text-blue-600 dark:text-blue-400",ring:"focus-visible:ring-blue-500",ringSoft:"ring-blue-500/20"},secondary:{solid:"bg-gray-700 text-white",bg:"bg-gray-700",text:"text-gray-700 dark:text-gray-300",ring:"focus-visible:ring-gray-500",ringSoft:"ring-gray-500/20"},success:{solid:"bg-green-600 text-white",bg:"bg-green-600",text:"text-green-600 dark:text-green-400",ring:"focus-visible:ring-green-500",ringSoft:"ring-green-500/20"},warning:{solid:"bg-amber-500 text-white",bg:"bg-amber-500",text:"text-amber-600 dark:text-amber-400",ring:"focus-visible:ring-amber-500",ringSoft:"ring-amber-500/20"},error:{solid:"bg-red-600 text-white",bg:"bg-red-600",text:"text-red-600 dark:text-red-400",ring:"focus-visible:ring-red-500",ringSoft:"ring-red-500/20"}};function E1({className:e}){return jsxRuntime.jsx("svg",{className:e,viewBox:"0 0 20 20",fill:"currentColor","aria-hidden":"true",children:jsxRuntime.jsx("path",{fillRule:"evenodd",d:"M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z",clipRule:"evenodd"})})}function $u({steps:e,step:t,defaultStep:r=0,onStepChange:n,onComplete:o,orientation:a="horizontal",variant:s="default",size:l="md",color:i="primary",linear:d=true,className:c,children:p}){let f=e.length,m=Math.max(0,f-1),g=t!==void 0,[x,b]=js.useState(()=>nl(r,0,m)),v=nl(g?t:x,0,m),[y,M]=js.useState(v);y<v&&M(v);let w=v<=0,P=v>=m,h=js.useCallback((L,T)=>{let S=nl(L,0,m);S!==v&&(g||b(S),M(C=>Math.max(C,S)),n?.(S,{previous:v,direction:T}));},[v,g,m,n]),E=js.useCallback(L=>{let T=e[L];return !T||T.disabled?false:d?L<=y:true},[e,d,y]),D=js.useCallback(L=>{E(L)&&h(L,L>v?"jump":"backward");},[E,h,v]),k=js.useCallback(()=>{if(P){o?.();return}h(v+1,"forward");},[P,o,h,v]),I=js.useCallback(()=>{w||h(v-1,"backward");},[w,h,v]),W=js.useCallback(L=>e[L]?.error?"error":L===v?"active":L<v?"completed":"upcoming",[e,v]),O={steps:e,activeStep:v,totalSteps:f,isFirstStep:w,isLastStep:P,orientation:a,variant:s,size:l,color:i,linear:d,goToStep:D,goNext:k,goBack:I,getStepStatus:W,isStepAccessible:E};return jsxRuntime.jsx(Ou.Provider,{value:O,children:jsxRuntime.jsx("div",{className:u("flex w-full flex-col gap-6",c),"data-testid":"wizard","data-orientation":a,children:p})})}function Vu({index:e,status:t}){let{variant:r,size:n,color:o,steps:a}=Cn(),s=ol[n],l=a[e];if(r==="dots"){let c=t==="upcoming"?"bg-gray-300 dark:bg-gray-600":t==="error"?"bg-red-600":Xr[o].bg;return jsxRuntime.jsx("span",{className:u("shrink-0 rounded-full transition-colors",s.dot,c),"aria-hidden":"true"})}let i=t==="completed"?u(Xr[o].solid,"border-transparent"):t==="active"?u(Xr[o].solid,"border-transparent ring-4",Xr[o].ringSoft):t==="error"?"border-transparent bg-red-600 text-white":"border-2 border-gray-300 bg-white text-gray-500 dark:border-gray-600 dark:bg-gray-800 dark:text-gray-400",d=t==="completed"?jsxRuntime.jsx(E1,{className:s.icon}):t==="error"?jsxRuntime.jsx("span",{className:"font-semibold leading-none",children:"!"}):l.icon??jsxRuntime.jsx("span",{className:"font-medium leading-none",children:e+1});return jsxRuntime.jsx("span",{className:u("flex shrink-0 items-center justify-center rounded-full transition-all",s.circle,i),"aria-hidden":"true",children:d})}function Bu({index:e,status:t}){let{steps:r,size:n,color:o,variant:a}=Cn(),s=ol[n],l=r[e],d=t==="active"?Xr[o].text:t==="completed"?"text-gray-900 dark:text-gray-100":t==="error"?"text-red-600 dark:text-red-400":"text-gray-500 dark:text-gray-400";return jsxRuntime.jsxs("span",{className:"flex min-w-0 flex-col",children:[jsxRuntime.jsxs("span",{className:u("font-medium leading-tight",s.title,d),children:[a==="simple"&&jsxRuntime.jsxs("span",{className:"mr-1 tabular-nums",children:[e+1,"."]}),l.title,l.optional&&jsxRuntime.jsx("span",{className:"ml-1 text-xs font-normal text-gray-400 dark:text-gray-500",children:"(optional)"})]}),l.description&&jsxRuntime.jsx("span",{className:u("mt-0.5 text-gray-400 dark:text-gray-500",s.desc),children:l.description})]})}function _u({className:e,hideConnector:t=false,hideLabels:r=false}){let n=Cn(),{steps:o,orientation:a,size:s,variant:l,color:i,activeStep:d}=n,c=ol[s],p=a==="vertical",f=l!=="simple";return jsxRuntime.jsx("ol",{className:u("flex w-full",p?"flex-col":"items-start",e),"data-testid":"wizard-steps","data-orientation":a,children:o.map((m,g)=>{let x=n.getStepStatus(g),b=g===d,v=n.isStepAccessible(g)&&!b,y=g===o.length-1,w=g<d?Xr[i].bg:"bg-gray-200 dark:bg-gray-700";return p?jsxRuntime.jsx("li",{className:"flex","aria-current":b?"step":void 0,"data-status":x,"data-testid":"wizard-step",children:jsxRuntime.jsxs("button",{type:"button",disabled:!v,onClick:()=>n.goToStep(g),className:u("flex items-stretch gap-3 rounded-md text-left focus:outline-none focus-visible:ring-2 focus-visible:ring-offset-2",Xr[i].ring,v?"cursor-pointer":"cursor-default"),children:[jsxRuntime.jsxs("span",{className:"flex flex-col items-center",children:[f&&jsxRuntime.jsx(Vu,{index:g,status:x}),!t&&!y&&jsxRuntime.jsx("span",{className:u("my-1 w-0.5 flex-1 rounded",w),"aria-hidden":"true"})]}),!r&&jsxRuntime.jsx("span",{className:u(y?"pb-0":"pb-6"),children:jsxRuntime.jsx(Bu,{index:g,status:x})})]})},m.id??g):jsxRuntime.jsxs("li",{className:u("flex items-center",!y&&"flex-1"),"aria-current":b?"step":void 0,"data-status":x,"data-testid":"wizard-step",children:[jsxRuntime.jsxs("button",{type:"button",disabled:!v,onClick:()=>n.goToStep(g),className:u("flex items-center gap-2.5 rounded-md focus:outline-none focus-visible:ring-2 focus-visible:ring-offset-2",Xr[i].ring,v?"cursor-pointer":"cursor-default"),children:[f&&jsxRuntime.jsx(Vu,{index:g,status:x}),!r&&jsxRuntime.jsx(Bu,{index:g,status:x})]}),!t&&!y&&jsxRuntime.jsx("span",{className:u("mx-2 flex-1 rounded",c.connector,w),"aria-hidden":"true"})]},m.id??g)})})}function Xu({index:e,keepMounted:t=false,className:r,children:n}){let{activeStep:o}=Cn(),a=e===o;return !a&&!t?null:jsxRuntime.jsx("div",{role:"tabpanel",hidden:!a,"data-testid":"wizard-panel","data-active":a,"data-step":e,className:u("w-full",r),children:n})}function Gu({className:e,children:t}){let r=Cn();return jsxRuntime.jsx("div",{className:u("w-full",e),"data-testid":"wizard-content",children:typeof t=="function"?t(r):t})}var Ku="inline-flex cursor-pointer items-center justify-center gap-2 rounded-lg px-4 py-2 text-sm font-medium transition-colors focus:outline-none focus-visible:ring-2 focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50";function al({children:e,label:t="Previous",className:r,onClick:n,disabled:o,...a}){let{goBack:s,isFirstStep:l}=Cn();return jsxRuntime.jsx("button",{type:"button",onClick:d=>{n?.(d),d.defaultPrevented||s();},disabled:o??l,"data-testid":"wizard-previous",className:u(Ku,"border border-gray-300 bg-white text-gray-700 hover:bg-gray-50 focus-visible:ring-gray-400 dark:border-gray-600 dark:bg-gray-800 dark:text-gray-200 dark:hover:bg-gray-700",r),...a,children:e??t})}function sl({children:e,label:t="Next",finishLabel:r="Finish",className:n,onClick:o,...a}){let{goNext:s,isLastStep:l,color:i}=Cn();return jsxRuntime.jsx("button",{type:"button",onClick:c=>{o?.(c),c.defaultPrevented||s();},"data-testid":"wizard-next",className:u(Ku,Xr[i].solid,Xr[i].ring,"hover:opacity-90",n),...a,children:e??(l?r:t)})}function Uu({className:e,children:t,align:r="between"}){let n={between:"justify-between",start:"justify-start",center:"justify-center",end:"justify-end"}[r];return jsxRuntime.jsx("div",{className:u("flex items-center gap-3",n,e),"data-testid":"wizard-actions",children:t??jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(al,{}),jsxRuntime.jsx(sl,{})]})})}$u.displayName="Wizard";_u.displayName="WizardSteps";Xu.displayName="WizardPanel";Gu.displayName="WizardContent";Uu.displayName="WizardActions";al.displayName="WizardPrevious";sl.displayName="WizardNext";exports.Accordion=f0;exports.AccordionContent=y0;exports.AccordionItem=b0;exports.AccordionTrigger=h0;exports.AdvanceDetachable=xl;exports.AreaChart=wp;exports.Avatar=Tp;exports.Badge=$l;exports.Banner=Gl;exports.BarChart=$p;exports.Breadcrumb=em;exports.BulletChart=cm;exports.Button=ht;exports.ButtonGroup=ao;exports.CHART_ALL_PAIRS_LIMIT=Ra;exports.CHART_DIVERGING_COLORS=Na;exports.CHART_DIVERGING_DARK_STOPS=Ml;exports.CHART_DIVERGING_NEUTRAL_INDEX=El;exports.CHART_MAX_COLOR_CLASSES=Ta;exports.CHART_MUTED_COLOR=Mr;exports.CHART_ORDINAL_COLORS=Fs;exports.CHART_ORDINAL_DARK_STOPS=cp;exports.CHART_PALETTE_SIZE=dp;exports.CHART_SEQUENTIAL_COLORS=Hs;exports.CHART_SEQUENTIAL_DARK_STOPS=Dl;exports.CHART_SERIES_COLORS=Sa;exports.Calendar=Em;exports.Card=Ql;exports.CardBody=td;exports.CardDescription=ad;exports.CardFooter=rd;exports.CardHeader=ed;exports.CardImage=nd;exports.CardTitle=od;exports.ChartAxis=St;exports.ChartContainer=Kt;exports.ChartFacets=Zm;exports.ChartGrid=Kr;exports.ChartLegend=yr;exports.ChartScaleLegend=Bo;exports.ChartTableView=Yt;exports.ChartTooltip=jt;exports.ChartTooltipContent=vr;exports.Checkbox=Xo;exports.CheckboxGroup=ld;exports.CheckboxGroupItem=dd;exports.Chip=Ba;exports.CircularProgress=Un;exports.DEFAULT_CHART_WIDTH=Nl;exports.DEFAULT_FIELD_TYPES=ma;exports.DataGrid=Tg;exports.Detachable=md;exports.DeviceMockup=sf;exports.Divider=fd;exports.Drawer=Td;exports.Dropdown=zd;exports.DropdownCheckboxItem=jd;exports.DropdownContent=Od;exports.DropdownItem=_d;exports.DropdownLabel=Gd;exports.DropdownRadioGroup=Jd;exports.DropdownRadioItem=ec;exports.DropdownSeparator=Xd;exports.DropdownSubMenu=sc;exports.DropdownSubMenuContent=lc;exports.DropdownSubMenuTrigger=ic;exports.DropdownTrigger=Hd;exports.FOCUSABLE_SELECTOR=kd;exports.FileSelector=Lf;exports.Footer=qc;exports.FooterBottom=eu;exports.FooterColumn=Qc;exports.FooterLink=Jc;exports.FooterSection=Zc;exports.FooterSocial=tu;exports.FooterSocialLink=ru;exports.Header=Vb;exports.Heatmap=Sh;exports.HelpButton=mc;exports.INERT_IGNORE_ATTRIBUTE=bd;exports.ImageUploader=ih;exports.Indicator=fc;exports.Input=Vr;exports.Label=xc;exports.LineChart=Lh;exports.MentionInput=hi;exports.Modal=rn;exports.NumberInput=yi;exports.Pagination=Yh;exports.PieChart=ny;exports.ProgressBar=Pc;exports.RadioButton=Ec;exports.ScatterChart=av;exports.SchemaEditor=Nu;exports.Select=Ty;exports.Sidebar=Ay;exports.SidebarContent=Wy;exports.SidebarFooter=Hy;exports.SidebarGroup=Fy;exports.SidebarHeader=zy;exports.SidebarItem=Vy;exports.SidebarSubMenu=By;exports.SidebarToggle=Oy;exports.Skeleton=zc;exports.Slider=Hc;exports.Sparkline=Di;exports.StatCard=jy;exports.StatCardGroup=Zy;exports.Table=Ls;exports.TableBody=As;exports.TableCell=Ca;exports.TableHeader=zs;exports.TableHeaderCell=wa;exports.TableRow=Ws;exports.Tabs=Vc;exports.TabsContent=Xc;exports.TabsList=Bc;exports.TabsTrigger=_c;exports.Toast=Uc;exports.Tooltip=yt;exports.UILabelsProvider=B0;exports.WithHelpButton=eh;exports.Wizard=$u;exports.WizardActions=Uu;exports.WizardContent=Gu;exports.WizardNext=sl;exports.WizardPanel=Xu;exports.WizardPrevious=al;exports.WizardSteps=_u;exports.WorkflowEditor=Hu;exports.autoLayoutTables=Ui;exports.cn=u;exports.createDefaultField=Bi;exports.createDefaultTable=Oi;exports.createDivergingScale=qn;exports.createSequentialScale=Bs;exports.defaultUILabels=Cl;exports.findOwnedLayers=_a;exports.frenchUILabels=V0;exports.generateFieldId=pa;exports.generateRelationId=Vi;exports.generateSQL=fs;exports.generateTableId=cu;exports.getFocusableElements=Xa;exports.getOrdinalColor=pp;exports.getSeriesColor=jn;exports.getSeriesLabel=Bt;exports.hideOthers=ii;exports.isElementVisible=Cd;exports.isFocusable=wd;exports.rampColor=Vs;exports.registerFloatingLayer=Ln;exports.resetFacetWarnings=Qm;exports.resolveSeriesColor=Ir;exports.toLegendItems=Ur;exports.useChartSize=Is;exports.useClickOutside=uo;exports.useDialogA11y=An;exports.useDropdownContext=nr;exports.useFocusItem=Vd;exports.useKeyboardNavigation=Ua;exports.usePositioning=po;exports.useSidebar=Dy;exports.useUILabels=At;exports.useWizard=Cn;
31
+ `)}var zk=60,Wk=40;function gc(e,t){if(e.length===0)return e;let r=new Map;for(let p of e){let w=new Set;for(let v of p.fields)v.foreignKey&&w.add(v.foreignKey.tableId);r.set(p.id,w);}let n=new Map;for(let p of e)n.set(p.id,0);for(let[,p]of r)for(let w of p)n.has(w);for(let[p,w]of r)n.set(p,w.size);let o=[],a=[];for(let[p,w]of n)w===0&&a.push(p);for(;a.length>0;){let p=a.shift();o.push(p);for(let[w,v]of r)if(v.has(p)){let x=(n.get(w)??0)-1;n.set(w,x),x===0&&a.push(w);}}let s=new Set(o);for(let p of e)s.has(p.id)||(o.push(p.id),s.add(p.id));let l=new Map(e.map(p=>[p.id,p])),i=Math.max(1,Math.ceil(Math.sqrt(o.length))),c=0,d=0,u=0,f=0,m=[];for(let p of o){let w=l.get(p);if(!w)continue;let v=w.width??260,x=Xn(w,t);m.push({...w,x:c,y:d}),f=Math.max(f,x),u++,u>=i?(u=0,c=0,d+=f+Wk,f=0):c+=v+zk;}return m}var fc={x:0,y:0,zoom:1},hc=.1,Fk=.1,Ok=3,$k=20,_k=50;function Xk({value:e,defaultValue:t,onValueChange:r,fieldTypes:n=rs,onTableClick:o,onTableDoubleClick:a,onTableContextMenu:s,onFieldClick:l,onFieldDoubleClick:i,readOnly:c=false,disabled:d=false,draggableTables:u=true,panOnDrag:f=true,zoomOnWheel:m=true,editable:p=true,minZoom:w=Fk,maxZoom:v=Ok,snapToGrid:x=false,gridSize:h=$k,showGrid:I=true,toolbar:S=true,legend:L=true,autoFit:R=false,className:T},y){let M=e!==void 0,[k,z]=el.useState(()=>t??{tables:[],relations:[],viewport:{...fc}}),H=M?e:k,P=H.tables,B=H.relations,C=H.viewport??fc,b=el.useRef(null),E=el.useRef(null),[N,W]=el.useState(null),[F,K]=el.useState(null),[j,A]=el.useState(null),[D,V]=el.useState(null),[O,_]=el.useState({width:0,height:0}),X=el.useRef([]),G=el.useRef(-1),$=el.useRef(false),Y=el.useRef(C);Y.current=C;let se=el.useRef(P);se.current=P;let ae=el.useRef(B);ae.current=B;let U=el.useRef(x);U.current=x;let Q=el.useRef(h);Q.current=h;let le=el.useRef(p);le.current=p;let ye=el.useCallback(Z=>{if($.current)return;let oe=X.current,ie=G.current;X.current=oe.slice(0,ie+1),X.current.push(Z),X.current.length>_k&&X.current.shift(),G.current=X.current.length-1;},[]),te=el.useCallback(Z=>{if(M){let oe=Z(e);ye(oe),r?.(oe);}else z(oe=>{let ie=Z(oe);return ye(ie),r?.(ie),ie});},[M,e,r,ye]),Ce=el.useRef(te);Ce.current=te;let Pe=el.useCallback(Z=>{te(oe=>({...oe,viewport:Z}));},[te]),Se=el.useRef(Pe);Se.current=Pe,el.useEffect(()=>{function Z(ce){let pe=E.current;if(!pe)return;let Ke=b.current?.getBoundingClientRect();if(!Ke)return;let ot=Y.current;if(pe.type==="pan"){let Je=ce.clientX-pe.startX,Ve=ce.clientY-pe.startY;Se.current({...ot,x:pe.startVpX+Je,y:pe.startVpY+Ve});}if(pe.type==="table"){let Je=es(ce.clientX,ce.clientY,ot,Ke),Ve=Je.x-pe.offsetX,or=Je.y-pe.offsetY;U.current&&(Ve=oc(Ve,Q.current),or=oc(or,Q.current)),Ce.current(et=>({...et,tables:et.tables.map(It=>It.id===pe.tableId?{...It,x:Ve,y:or}:It)}));}if(pe.type==="relation"){let Je=es(ce.clientX,ce.clientY,ot,Ke);E.current={...pe,currentX:Je.x,currentY:Je.y},A({fromX:pe.fromX,fromY:pe.fromY,currentX:Je.x,currentY:Je.y});}if(pe.type==="resize"){let Je=(ce.clientX-pe.startX)/ot.zoom,Ve=(ce.clientY-pe.startY)/ot.zoom,or=180,et=80,It=Math.max(or,pe.startWidth+Je),$t=Math.max(et,pe.startHeight+Ve);Ce.current(Ct=>({...Ct,tables:Ct.tables.map(lr=>lr.id===pe.tableId?{...lr,width:It,height:$t}:lr)}));}}function oe(ce,pe,Ke,ot){let Je=Y.current,Ve=es(ce,pe,Je,Ke),or=1/0,et=null,It=null;for(let $t of ot){if($t.collapsed)continue;let Ct=$t.fields.length;if(Ct===0)continue;let lr=$t.width??260,qr=40+Ct*32+(le.current?36:0),jr=40;if(!(Ve.x<$t.x-jr||Ve.x>$t.x+lr+jr||Ve.y<$t.y-jr||Ve.y>$t.y+qr+jr))for(let kr=0;kr<$t.fields.length;kr++){let Si=$t.y+na(kr,!!$t.notes),ss=Math.abs(Ve.y-Si);ss<or&&(or=ss,et=$t.id,It=$t.fields[kr].id);}}return et&&It?{tableId:et,fieldId:It}:null}function ie(ce){let pe=E.current;if(pe){if(pe.type==="relation"){let Ke=b.current?.getBoundingClientRect();if(Ke){let ot=ae.current,Je=se.current,Ve=oe(ce.clientX,ce.clientY,Ke,Je);if(Ve&&Ve.tableId!==pe.fromTableId&&!ot.some(et=>et.from.tableId===pe.fromTableId&&et.from.fieldId===pe.fromFieldId&&et.to.tableId===Ve.tableId&&et.to.fieldId===Ve.fieldId)){let et=pe.fromTableId,It=pe.fromFieldId,$t=Ve.tableId,Ct=Ve.fieldId;Ce.current(lr=>({...lr,tables:lr.tables.map(qr=>qr.id===$t?{...qr,fields:qr.fields.map(jr=>jr.id===Ct?{...jr,foreignKey:{tableId:et,fieldId:It}}:jr)}:qr),relations:[...lr.relations,{id:ac(),from:{tableId:et,fieldId:It},to:{tableId:$t,fieldId:Ct},cardinality:"1:n"}]}));}}A(null),V(null);}E.current=null;}}return document.addEventListener("mousemove",Z),document.addEventListener("mouseup",ie),()=>{document.removeEventListener("mousemove",Z),document.removeEventListener("mouseup",ie);}},[]);let De=el.useCallback(Z=>{if(!m||d)return;Z.preventDefault();let oe=b.current?.getBoundingClientRect();if(!oe)return;let ie=Z.clientX-oe.left,ce=Z.clientY-oe.top,pe=Z.deltaY<0?1:-1,Ke=Ja(C.zoom+pe*hc,w,v),ot=Ke/C.zoom;Pe({x:ie-(ie-C.x)*ot,y:ce-(ce-C.y)*ot,zoom:Ke});},[m,d,C,w,v,Pe]),Ne=el.useCallback(Z=>{if(d)return;let oe=Z.target,ie=oe.tagName,ce=ie==="INPUT"||ie==="SELECT"||ie==="TEXTAREA"||ie==="BUTTON";if(oe.closest("[data-resize-handle]"))return;let pe=oe.closest("[data-connection-side]");if(pe&&!ce){if(c)return;Z.preventDefault();let ot=pe.getAttribute("data-table-id"),Je=pe.getAttribute("data-field-id");if(!ot||!Je)return;let Ve=P.find(It=>It.id===ot);if(!Ve)return;let or=pe.getAttribute("data-connection-side"),et=Fm(Ve,Je,or);if(!et)return;E.current={type:"relation",fromTableId:ot,fromFieldId:Je,fromX:et.x,fromY:et.y,currentX:et.x,currentY:et.y},A({fromX:et.x,fromY:et.y,currentX:et.x,currentY:et.y}),V(ot);return}let Ke=oe.closest("[data-table-id]");if(Ke){if(c)return;let ot=Ke.getAttribute("data-table-id");if(K(null),W(ot),ce)return;if(u){let Je=b.current?.getBoundingClientRect();if(!Je)return;let Ve=P.find(et=>et.id===ot);if(!Ve||Ve.locked)return;let or=es(Z.clientX,Z.clientY,C,Je);E.current={type:"table",tableId:ot,offsetX:or.x-Ve.x,offsetY:or.y-Ve.y};}return}W(null),K(null),f&&Z.button===0&&(E.current={type:"pan",startX:Z.clientX,startY:Z.clientY,startVpX:C.x,startVpY:C.y});},[d,c,u,f,C,P]),re=el.useCallback(Z=>{let oe=Z.target;if(oe.closest("[data-connection-side]"))return null;let ie=oe.closest("[data-table-id]");if(!ie)return null;let ce=ie.getAttribute("data-table-id");return P.find(pe=>pe.id===ce)??null},[P]),fe=el.useCallback(Z=>{if(d)return;let oe=re(Z);oe&&o&&o({table:oe,nativeEvent:Z.nativeEvent});},[o,d,re]),je=el.useCallback(Z=>{if(d)return;let oe=re(Z);oe&&a&&a({table:oe,nativeEvent:Z.nativeEvent});},[a,d,re]),Dt=el.useCallback(Z=>{if(d)return;let oe=re(Z);oe&&s&&(Z.preventDefault(),s({table:oe,nativeEvent:Z.nativeEvent}));},[s,d,re]),Ie=el.useCallback((Z,oe)=>{d||(oe.stopPropagation(),W(null),K(Z));},[d]),we=el.useCallback((Z,oe)=>{te(ie=>({...ie,relations:ie.relations.map(ce=>ce.id===Z?{...ce,cardinality:oe}:ce)}));},[te]),pt=G.current>0,Bt=G.current<X.current.length-1,yt=el.useCallback(()=>{if(G.current<=0)return;$.current=true,G.current--;let Z=X.current[G.current];M||z(Z),r?.(Z),$.current=false;},[M,r]),er=el.useCallback(()=>{if(G.current>=X.current.length-1)return;$.current=true,G.current++;let Z=X.current[G.current];M||z(Z),r?.(Z),$.current=false;},[M,r]),Mt=el.useCallback(()=>yi(H),[H]),Nt=el.useCallback(()=>{te(Z=>({...Z,tables:gc(Z.tables,p)}));},[te,p]),gr=el.useCallback((Z,oe,ie)=>{oe!==ie&&te(ce=>({...ce,tables:ce.tables.map(pe=>{if(pe.id!==Z)return pe;let Ke=[...pe.fields],[ot]=Ke.splice(oe,1);return Ke.splice(ie,0,ot),{...pe,fields:Ke}})}));},[te]);el.useEffect(()=>{let Z=b.current;if(!Z)return;let oe=new ResizeObserver(ie=>{for(let ce of ie)_({width:ce.contentRect.width,height:ce.contentRect.height});});return oe.observe(Z),()=>oe.disconnect()},[]);let pr=el.useRef(false);pr.current||(pr.current=true,X.current=[H],G.current=0);let vt=el.useCallback(Z=>{if(!(c||d)){if((Z.ctrlKey||Z.metaKey)&&Z.key==="z"&&!Z.shiftKey){Z.preventDefault(),yt();return}if((Z.ctrlKey||Z.metaKey)&&(Z.key==="y"||Z.key==="z"&&Z.shiftKey)){Z.preventDefault(),er();return}if(Z.key==="Delete"||Z.key==="Backspace"){let oe=Z.target;if(oe.tagName==="INPUT"||oe.tagName==="TEXTAREA"||oe.tagName==="SELECT")return;N&&(te(ie=>({...ie,tables:ie.tables.filter(ce=>ce.id!==N),relations:ie.relations.filter(ce=>ce.from.tableId!==N&&ce.to.tableId!==N)})),W(null)),F&&(te(ie=>{let ce=ie.relations.find(pe=>pe.id===F);return {...ie,tables:ce?ie.tables.map(pe=>pe.id===ce.to.tableId?{...pe,fields:pe.fields.map(Ke=>Ke.id===ce.to.fieldId?{...Ke,foreignKey:void 0}:Ke)}:pe):ie.tables,relations:ie.relations.filter(pe=>pe.id!==F)}}),K(null));}Z.key==="Escape"&&(W(null),K(null));}},[c,d,N,F,te,yt,er]),Cr=el.useCallback((Z,oe)=>{te(ie=>({...ie,tables:ie.tables.map(ce=>ce.id===Z?{...ce,name:oe}:ce)}));},[te]),he=el.useCallback((Z,oe)=>{te(ie=>({...ie,tables:ie.tables.map(ce=>ce.id===Z?{...ce,notes:oe}:ce)}));},[te]),ge=el.useCallback(Z=>{te(oe=>({...oe,tables:oe.tables.map(ie=>ie.id===Z?{...ie,collapsed:!ie.collapsed}:ie)}));},[te]),J=el.useCallback((Z,oe,ie)=>{te(ce=>({...ce,tables:ce.tables.map(pe=>pe.id===Z?{...pe,fields:pe.fields.map(Ke=>Ke.id===oe?{...Ke,...ie}:Ke)}:pe)}));},[te]),ne=el.useCallback(Z=>{te(oe=>({...oe,tables:oe.tables.map(ie=>ie.id===Z?{...ie,fields:[...ie.fields,sc()]}:ie)}));},[te]),be=el.useCallback((Z,oe)=>{te(ie=>({...ie,tables:ie.tables.map(ce=>ce.id===Z?{...ce,fields:ce.fields.filter(pe=>pe.id!==oe)}:ce),relations:ie.relations.filter(ce=>!(ce.from.tableId===Z&&ce.from.fieldId===oe)&&!(ce.to.tableId===Z&&ce.to.fieldId===oe))}));},[te]),me=el.useCallback((Z,oe,ie,ce,pe)=>{E.current={type:"resize",tableId:Z,startX:oe,startY:ie,startWidth:ce,startHeight:pe};},[]),Me=el.useCallback(()=>{let Z=Ja(C.zoom+hc,w,v);Pe({...C,zoom:Z});},[C,w,v,Pe]),ke=el.useCallback(()=>{let Z=Ja(C.zoom-hc,w,v);Pe({...C,zoom:Z});},[C,w,v,Pe]),Re=el.useCallback(()=>{Pe({...fc});},[Pe]),Be=el.useCallback(()=>{let Z=b.current?.getBoundingClientRect();if(!Z)return;let oe=Om(P,Z.width,Z.height,p),ie=Ja(oe.zoom,w,v);Pe({...oe,zoom:ie});},[P,p,w,v,Pe]),ze=el.useCallback(Z=>{te(oe=>({...oe,tables:[...oe.tables,Z]}));},[te]),st=el.useCallback(Z=>{te(oe=>({...oe,tables:oe.tables.filter(ie=>ie.id!==Z),relations:oe.relations.filter(ie=>ie.from.tableId!==Z&&ie.to.tableId!==Z)}));},[te]),qe=el.useCallback((Z,oe)=>{te(ie=>({...ie,tables:ie.tables.map(ce=>ce.id===Z?{...ce,fields:[...ce.fields,oe]}:ce)}));},[te]),Oe=el.useCallback((Z,oe)=>{be(Z,oe);},[be]),Ot=el.useCallback(Z=>{te(oe=>({...oe,tables:oe.tables.map(ie=>ie.id===Z.to.tableId?{...ie,fields:ie.fields.map(ce=>ce.id===Z.to.fieldId?{...ce,foreignKey:{tableId:Z.from.tableId,fieldId:Z.from.fieldId}}:ce)}:ie),relations:[...oe.relations,Z]}));},[te]),xt=el.useCallback(Z=>{te(oe=>{let ie=oe.relations.find(ce=>ce.id===Z);return {...oe,tables:ie?oe.tables.map(ce=>ce.id===ie.to.tableId?{...ce,fields:ce.fields.map(pe=>pe.id===ie.to.fieldId?{...pe,foreignKey:void 0}:pe)}:ce):oe.tables,relations:oe.relations.filter(ce=>ce.id!==Z)}});},[te]),Br=el.useCallback(()=>JSON.stringify(H,null,2),[H]),pn=el.useCallback(Z=>{try{let oe=JSON.parse(Z);oe&&Array.isArray(oe.tables)&&Array.isArray(oe.relations)&&te(()=>oe);}catch{}},[te]),jn=el.useCallback(()=>{let Z=b.current?.getBoundingClientRect(),oe=Y.current,ie=100,ce=100;Z&&(ie=(Z.width/2-oe.x)/oe.zoom-260/2,ce=(Z.height/2-oe.y)/oe.zoom-60),ze(ic(ie,ce));},[ze]),So=el.useCallback(()=>yi(H),[H]);el.useImperativeHandle(y,()=>({zoomIn:Me,zoomOut:ke,resetView:Re,fitToContent:Be,addTable:ze,removeTable:st,addField:qe,removeField:Oe,addRelation:Ot,removeRelation:xt,toJSON:Br,loadJSON:pn,toSQL:So}),[Me,ke,Re,Be,ze,st,qe,Oe,Ot,xt,Br,pn,So]);let Yr=el.useRef(false);el.useEffect(()=>{R&&!Yr.current&&b.current&&(Yr.current=true,Be());},[R,Be]);let Vr=el.useMemo(()=>({transform:`translate(${C.x}px, ${C.y}px) scale(${C.zoom})`,transformOrigin:"0 0"}),[C.x,C.y,C.zoom]);return jsxRuntime.jsxs("div",{ref:b,"data-testid":"schema-editor",className:g("relative w-full overflow-hidden bg-gray-50 dark:bg-gray-900 select-none",d&&"opacity-60 pointer-events-none",T),tabIndex:0,onWheel:De,onMouseDown:Ne,onClick:fe,onDoubleClick:je,onContextMenu:Dt,onKeyDown:vt,children:[I&&jsxRuntime.jsx(Vm,{gridSize:h,zoom:C.zoom}),S&&!c&&jsxRuntime.jsx(Zm,{zoom:C.zoom,onZoomIn:Me,onZoomOut:ke,onResetView:Re,onFitToContent:Be,onAddTable:jn,onExportJSON:Br,onImportJSON:pn,onExportSQL:Mt,onUndo:yt,onRedo:er,canUndo:pt,canRedo:Bt,onAutoLayout:Nt,disabled:d}),L&&jsxRuntime.jsx(Qm,{}),jsxRuntime.jsx(jm,{relations:B,tables:P,viewport:C,selectedRelationId:F,disabled:d||c,onRelationClick:Ie,onCardinalityChange:we}),jsxRuntime.jsx("div",{style:Vr,children:P.map(Z=>jsxRuntime.jsx(Ym,{table:Z,selected:N===Z.id,disabled:d||c,readOnly:c,editable:p,dropTarget:D!==null&&D!==Z.id&&!Z.collapsed,fieldTypes:n,onTableNameChange:Cr,onTableNotesChange:he,onToggleCollapse:ge,onFieldChange:J,onFieldAdd:ne,onFieldRemove:be,onFieldReorder:gr,onResizeStart:me},Z.id))}),j&&jsxRuntime.jsxs("svg",{"data-testid":"drag-relation-overlay",style:{position:"absolute",top:0,left:0,width:"100%",height:"100%",pointerEvents:"none",zIndex:1e3,overflow:"visible"},children:[jsxRuntime.jsx("path",{d:gi(j.fromX*C.zoom+C.x,j.fromY*C.zoom+C.y,j.currentX*C.zoom+C.x,j.currentY*C.zoom+C.y),fill:"none",stroke:"#3b82f6",strokeWidth:2.5,strokeDasharray:"8 4"}),jsxRuntime.jsx("circle",{cx:j.fromX*C.zoom+C.x,cy:j.fromY*C.zoom+C.y,r:5,fill:"#3b82f6"}),jsxRuntime.jsx("circle",{cx:j.currentX*C.zoom+C.x,cy:j.currentY*C.zoom+C.y,r:4,fill:"#3b82f6",opacity:.6})]}),L&&O.width>0&&jsxRuntime.jsx(Jm,{tables:P,viewport:C,containerWidth:O.width,containerHeight:O.height,editable:p,onViewportChange:Pe})]})}var rg=el.forwardRef(Xk);rg.displayName="SchemaEditor";var ng="wf-grid-pattern",og=el.memo(function({gridSize:t,zoom:r}){let n=t*r;return jsxRuntime.jsxs("svg",{className:"absolute inset-0 w-full h-full pointer-events-none","aria-hidden":"true",children:[jsxRuntime.jsx("defs",{children:jsxRuntime.jsx("pattern",{id:ng,width:n,height:n,patternUnits:"userSpaceOnUse",children:jsxRuntime.jsx("circle",{cx:1,cy:1,r:1,className:"fill-gray-300 dark:fill-gray-600"})})}),jsxRuntime.jsx("rect",{width:"100%",height:"100%",fill:`url(#${ng})`})]})});function bc(e,t){return Math.round(e/t)*t}function os(e,t,r){return Math.min(r,Math.max(t,e))}function ca(e,t,r,n){return {x:(e-n.left-r.x)/r.zoom,y:(t-n.top-r.y)/r.zoom}}function ns(e,t="horizontal"){return t==="vertical"?e==="in"?"top":"bottom":e==="in"?"left":"right"}function da(e,t,r,n="horizontal"){let o=e.width??180,a=e.height??60,s=t.side??ns(t.kind,n),l=r.filter(u=>(u.side??ns(u.kind,n))===s),i=l.findIndex(u=>u.id===t.id),c=l.length,d=c===1?.5:(i+1)/(c+1);switch(s){case "left":return {x:e.x-8,y:e.y+a*d};case "right":return {x:e.x+o+8,y:e.y+a*d};case "top":return {x:e.x+o*d,y:e.y-8};case "bottom":return {x:e.x+o*d,y:e.y+a+8}}}function vi(e,t,r,n,o="horizontal"){if(o==="vertical"){let u=Math.abs(n-t),f=Math.max(50,u*.5),m=e,p=t+f,w=r,v=n-f;return `M ${e} ${t} C ${m} ${p}, ${w} ${v}, ${r} ${n}`}let a=Math.abs(r-e),s=Math.max(50,a*.5),l=e+s,i=t,c=r-s;return `M ${e} ${t} C ${l} ${i}, ${c} ${n}, ${r} ${n}`}function ag(e,t,r,n=40){if(e.length===0)return {x:0,y:0,zoom:1};let o=1/0,a=1/0,s=-1/0,l=-1/0;for(let m of e){let p=m.width??180,w=m.height??60;o=Math.min(o,m.x),a=Math.min(a,m.y),s=Math.max(s,m.x+p),l=Math.max(l,m.y+w);}let i=s-o+n*2,c=l-a+n*2,d=Math.min(t/i,r/c,1),u=(t-i*d)/2-(o-n)*d,f=(r-c*d)/2-(a-n)*d;return {x:u,y:f,zoom:d}}var Yk=180,qk=60,Ci=12,ua=28,xc=24,jk=-8;function Zk(e,t,r,n,o="horizontal"){let a=e.side??ns(e.kind,o),s=t.filter(d=>(d.side??ns(d.kind,o))===a),l=s.findIndex(d=>d.id===e.id),i=s.length,c=i===1?.5:(l+1)/(i+1);switch(a){case "left":return {left:0,top:n*c};case "right":return {left:r,top:n*c};case "top":return {left:r*c,top:0};case "bottom":return {left:r*c,top:n}}}function Qk({port:e,allPorts:t,nodeId:r,nodeWidth:n,nodeHeight:o,disabled:a,direction:s,onMouseUp:l}){let i=Zk(e,t,n,o,s),c=a||e.disabled,d=el.useCallback(u=>{c||(u.stopPropagation(),l(r,e.id));},[c,r,e.id,l]);return jsxRuntime.jsx("div",{"data-testid":`port-${r}-${e.id}`,"data-port-id":e.id,"data-port-kind":e.kind,"data-node-id":r,className:"absolute",style:{left:i.left-ua/2,top:i.top-ua/2,width:ua,height:ua,zIndex:20},onMouseUp:d,title:e.label??e.id,children:jsxRuntime.jsx("div",{className:g("absolute rounded-full border-2 transition-colors",c?"bg-gray-300 border-gray-400 cursor-not-allowed":e.kind==="in"?"bg-blue-400 border-blue-600 hover:bg-blue-300 cursor-crosshair":"bg-green-400 border-green-600 hover:bg-green-300 cursor-crosshair"),style:{width:Ci,height:Ci,left:(ua-Ci)/2,top:(ua-Ci)/2}})})}function Jk(e,t,r){let n=e??"top-right",o=jk,a=t*(xc+4);switch(n){case "top-right":return {top:o,right:o-a};case "top-left":return {top:o,left:o+a};case "bottom-right":return {bottom:o,right:o-a};case "bottom-left":return {bottom:o,left:o+a}}}function ew({action:e,nodeId:t,index:r,nodeWidth:n,disabled:o,onActionClick:a}){let s=el.useCallback(c=>{c.stopPropagation(),c.preventDefault(),!o&&a(t,e.id,c.nativeEvent);},[o,t,e.id,a]),l=el.useCallback(c=>{c.stopPropagation();},[]),i=Jk(e.position,r);return jsxRuntime.jsx("button",{"data-testid":`action-${t}-${e.id}`,"data-action-id":e.id,"data-node-id":t,type:"button",className:g("absolute flex items-center justify-center rounded-full border shadow-sm transition-all","bg-white border-gray-300 text-gray-600","hover:bg-gray-50 hover:border-gray-400 hover:text-gray-800 hover:shadow-md","active:scale-95",o&&"opacity-50 cursor-not-allowed",!o&&"cursor-pointer",e.className),style:{...i,width:xc,height:xc,zIndex:30},onClick:s,onMouseDown:l,title:e.label,disabled:o,children:jsxRuntime.jsx("span",{className:"flex items-center justify-center w-3.5 h-3.5 [&>svg]:w-full [&>svg]:h-full",children:e.icon})})}var sg=el.memo(function({node:t,registry:r,ports:n,selected:o,disabled:a,draggable:s,direction:l,onPortMouseUp:i,onActionClick:c}){let d=t.width??Yk,u=t.height??qk,f=r.render({node:t,selected:o,disabled:a}),p=(typeof r.actions=="function"?r.actions(t):r.actions)?.filter(v=>typeof v.hidden=="function"?!v.hidden(t):!v.hidden),w=new Map;if(p)for(let v of p){let x=v.position??"top-right",h=w.get(x)??[];h.push(v),w.set(x,h);}return jsxRuntime.jsxs("div",{"data-testid":`workflow-node-${t.id}`,"data-node-id":t.id,className:g("absolute select-none group/node",s&&!t.locked&&"cursor-grab active:cursor-grabbing",t.locked&&"cursor-not-allowed opacity-75",o&&"ring-2 ring-blue-500 ring-offset-1 rounded-lg"),style:{left:t.x,top:t.y,width:d,height:u,overflow:"visible"},children:[f,n.map(v=>jsxRuntime.jsx(Qk,{port:v,allPorts:n,nodeId:t.id,nodeWidth:d,nodeHeight:u,disabled:a,direction:l,onMouseUp:i},v.id)),c&&w.size>0&&Array.from(w.entries()).map(([,v])=>v.map((x,h)=>jsxRuntime.jsx(ew,{action:x,nodeId:t.id,index:h,nodeWidth:d,disabled:a,onActionClick:c},x.id)))]})});function ig(e,t,r,n,o="horizontal"){let a=r.find(i=>i.id===e);if(!a)return null;let s=n(a),l=s.find(i=>i.id===t);return l?da(a,l,s,o):null}var nw=el.memo(function({edge:t,fromPos:r,toPos:n,selected:o,disabled:a,direction:s,onClick:l}){let i=vi(r.x,r.y,n.x,n.y,s),c=(r.x+n.x)/2,d=(r.y+n.y)/2,u=el.useCallback(f=>{f.stopPropagation(),l(t.id,f);},[t.id,l]);return jsxRuntime.jsxs("g",{"data-testid":`workflow-edge-${t.id}`,children:[jsxRuntime.jsx("path",{d:i,fill:"none",stroke:"transparent",strokeWidth:16,className:"cursor-pointer",onClick:u}),jsxRuntime.jsx("path",{d:i,fill:"none",className:g("transition-colors pointer-events-none",a||t.disabled?"stroke-gray-300":o?"stroke-blue-500":"stroke-gray-400"),strokeWidth:o?2.5:2,strokeDasharray:t.disabled?"6 3":void 0}),t.label&&jsxRuntime.jsx("text",{x:c,y:d-8,textAnchor:"middle",className:"fill-gray-600 dark:fill-gray-300 text-xs pointer-events-none select-none",fontSize:11,children:t.label})]})}),cg=el.memo(function({edges:t,nodes:r,selectedEdgeId:n,disabled:o,direction:a,onEdgeClick:s,getNodePorts:l}){return jsxRuntime.jsx("svg",{className:"absolute pointer-events-none",style:{top:0,left:0,width:1,height:1,overflow:"visible"},children:jsxRuntime.jsx("g",{className:"pointer-events-auto",children:t.map(i=>{let c=ig(i.from.nodeId,i.from.portId,r,l,a),d=ig(i.to.nodeId,i.to.portId,r,l,a);return !c||!d?null:jsxRuntime.jsx(nw,{edge:i,fromPos:c,toPos:d,selected:i.id===n,disabled:o,direction:a,onClick:s},i.id)})})})});var sw=()=>jsxRuntime.jsx("svg",{className:"w-4 h-4",viewBox:"0 0 20 20",fill:"currentColor","aria-hidden":"true",children:jsxRuntime.jsx("path",{fillRule:"evenodd",d:"M10 5a1 1 0 011 1v3h3a1 1 0 110 2h-3v3a1 1 0 11-2 0v-3H6a1 1 0 110-2h3V6a1 1 0 011-1z",clipRule:"evenodd"})}),iw=()=>jsxRuntime.jsx("svg",{className:"w-4 h-4",viewBox:"0 0 20 20",fill:"currentColor","aria-hidden":"true",children:jsxRuntime.jsx("path",{fillRule:"evenodd",d:"M5 10a1 1 0 011-1h8a1 1 0 110 2H6a1 1 0 01-1-1z",clipRule:"evenodd"})}),lw=()=>jsxRuntime.jsx("svg",{className:"w-4 h-4",viewBox:"0 0 20 20",fill:"currentColor","aria-hidden":"true",children:jsxRuntime.jsx("path",{fillRule:"evenodd",d:"M4 2a1 1 0 011 1v2.101a7.002 7.002 0 0111.601 2.566 1 1 0 11-1.885.666A5.002 5.002 0 005.999 7H9a1 1 0 010 2H4a1 1 0 01-1-1V3a1 1 0 011-1zm.008 9.057a1 1 0 011.276.61A5.002 5.002 0 0014.001 13H11a1 1 0 110-2h5a1 1 0 011 1v5a1 1 0 11-2 0v-2.101a7.002 7.002 0 01-11.601-2.566 1 1 0 01.61-1.276z",clipRule:"evenodd"})}),cw=()=>jsxRuntime.jsx("svg",{className:"w-4 h-4",viewBox:"0 0 20 20",fill:"currentColor","aria-hidden":"true",children:jsxRuntime.jsx("path",{d:"M3 4a1 1 0 011-1h4a1 1 0 010 2H6.414l2.293 2.293a1 1 0 01-1.414 1.414L5 6.414V8a1 1 0 01-2 0V4zm9 1a1 1 0 010-2h4a1 1 0 011 1v4a1 1 0 01-2 0V6.414l-2.293 2.293a1 1 0 11-1.414-1.414L13.586 5H12zm-9 7a1 1 0 012 0v1.586l2.293-2.293a1 1 0 011.414 1.414L6.414 15H8a1 1 0 010 2H4a1 1 0 01-1-1v-4zm13 0a1 1 0 01-2 0v-1.586l-2.293 2.293a1 1 0 01-1.414-1.414L13.586 9H12a1 1 0 010-2h4a1 1 0 011 1v4z"})}),dw=()=>jsxRuntime.jsx("svg",{className:"w-4 h-4",viewBox:"0 0 20 20",fill:"currentColor","aria-hidden":"true",children:jsxRuntime.jsx("path",{fillRule:"evenodd",d:"M3 17a1 1 0 011-1h12a1 1 0 110 2H4a1 1 0 01-1-1zm3.293-7.707a1 1 0 011.414 0L9 10.586V3a1 1 0 112 0v7.586l1.293-1.293a1 1 0 111.414 1.414l-3 3a1 1 0 01-1.414 0l-3-3a1 1 0 010-1.414z",clipRule:"evenodd"})}),uw=()=>jsxRuntime.jsx("svg",{className:"w-4 h-4",viewBox:"0 0 20 20",fill:"currentColor","aria-hidden":"true",children:jsxRuntime.jsx("path",{fillRule:"evenodd",d:"M3 17a1 1 0 011-1h12a1 1 0 110 2H4a1 1 0 01-1-1zM6.293 6.707a1 1 0 010-1.414l3-3a1 1 0 011.414 0l3 3a1 1 0 01-1.414 1.414L11 5.414V13a1 1 0 11-2 0V5.414L7.707 6.707a1 1 0 01-1.414 0z",clipRule:"evenodd"})}),mw=()=>jsxRuntime.jsx("svg",{className:"w-4 h-4",viewBox:"0 0 20 20",fill:"currentColor","aria-hidden":"true",children:jsxRuntime.jsx("path",{fillRule:"evenodd",d:"M10.293 3.293a1 1 0 011.414 0l6 6a1 1 0 010 1.414l-6 6a1 1 0 01-1.414-1.414L14.586 11H3a1 1 0 110-2h11.586l-4.293-4.293a1 1 0 010-1.414z",clipRule:"evenodd"})}),gw=()=>jsxRuntime.jsx("svg",{className:"w-4 h-4",viewBox:"0 0 20 20",fill:"currentColor","aria-hidden":"true",children:jsxRuntime.jsx("path",{fillRule:"evenodd",d:"M16.707 10.293a1 1 0 010 1.414l-6 6a1 1 0 01-1.414 0l-6-6a1 1 0 111.414-1.414L9 14.586V3a1 1 0 012 0v11.586l4.293-4.293a1 1 0 011.414 0z",clipRule:"evenodd"})}),ug=el.memo(function({zoom:t,direction:r,onDirectionChange:n,onZoomIn:o,onZoomOut:a,onResetView:s,onFitToContent:l,onExportJSON:i,onImportJSON:c,disabled:d,className:u}){let[f,m]=el.useState(false),[p,w]=el.useState(false),[v,x]=el.useState(""),[h,I]=el.useState(""),S=el.useCallback(()=>{x(i()),m(true);},[i]),L=el.useCallback(()=>{h.trim()&&(c(h.trim()),I(""),w(false));},[h,c]),R=el.useCallback(()=>{I(""),w(false);},[]),T=el.useCallback(()=>{m(false);},[]),y=Math.round(t*100);return jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsxs("div",{className:g("absolute top-3 left-3 z-20 flex items-center gap-2 bg-white dark:bg-gray-800 rounded-lg shadow-md border border-gray-200 dark:border-gray-600 px-2 py-1.5",u),"data-testid":"workflow-toolbar",children:[jsxRuntime.jsxs(_o,{size:"sm",children:[jsxRuntime.jsx(Ht,{content:"Zoom in",size:"sm",position:"bottom",children:jsxRuntime.jsx(Wt,{icon:jsxRuntime.jsx(sw,{}),size:"sm",bgColor:"bg-gray-100 hover:bg-gray-200 dark:bg-gray-700 dark:hover:bg-gray-600",textColor:"text-gray-700 dark:text-gray-200",onClick:o,disabled:d,"aria-label":"Zoom in"})}),jsxRuntime.jsx(Ht,{content:"Zoom out",size:"sm",position:"bottom",children:jsxRuntime.jsx(Wt,{icon:jsxRuntime.jsx(iw,{}),size:"sm",bgColor:"bg-gray-100 hover:bg-gray-200 dark:bg-gray-700 dark:hover:bg-gray-600",textColor:"text-gray-700 dark:text-gray-200",onClick:a,disabled:d,"aria-label":"Zoom out"})})]}),jsxRuntime.jsxs("span",{className:"text-xs font-mono text-gray-500 dark:text-gray-400 min-w-[3ch] text-center select-none",children:[y,"%"]}),jsxRuntime.jsx("div",{className:"w-px h-5 bg-gray-200 dark:bg-gray-600"}),jsxRuntime.jsx(Ht,{content:"Reset view",size:"sm",position:"bottom",children:jsxRuntime.jsx(Wt,{icon:jsxRuntime.jsx(lw,{}),size:"sm",bgColor:"bg-gray-100 hover:bg-gray-200 dark:bg-gray-700 dark:hover:bg-gray-600",textColor:"text-gray-700 dark:text-gray-200",onClick:s,disabled:d,"aria-label":"Reset view"})}),jsxRuntime.jsx(Ht,{content:"Fit to content",size:"sm",position:"bottom",children:jsxRuntime.jsx(Wt,{icon:jsxRuntime.jsx(cw,{}),size:"sm",bgColor:"bg-gray-100 hover:bg-gray-200 dark:bg-gray-700 dark:hover:bg-gray-600",textColor:"text-gray-700 dark:text-gray-200",onClick:l,disabled:d,"aria-label":"Fit to content"})}),n&&jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx("div",{className:"w-px h-5 bg-gray-200 dark:bg-gray-600"}),jsxRuntime.jsx(Ht,{content:r==="horizontal"?"Switch to vertical":"Switch to horizontal",size:"sm",position:"bottom",children:jsxRuntime.jsx(Wt,{icon:r==="horizontal"?jsxRuntime.jsx(mw,{}):jsxRuntime.jsx(gw,{}),size:"sm",bgColor:"bg-gray-100 hover:bg-gray-200 dark:bg-gray-700 dark:hover:bg-gray-600",textColor:"text-gray-700 dark:text-gray-200",onClick:()=>n(r==="horizontal"?"vertical":"horizontal"),disabled:d,"aria-label":r==="horizontal"?"Switch to vertical":"Switch to horizontal"})})]}),jsxRuntime.jsx("div",{className:"w-px h-5 bg-gray-200 dark:bg-gray-600"}),jsxRuntime.jsx(Ht,{content:"Export JSON",size:"sm",position:"bottom",children:jsxRuntime.jsx(Wt,{icon:jsxRuntime.jsx(dw,{}),size:"sm",bgColor:"bg-gray-100 hover:bg-gray-200 dark:bg-gray-700 dark:hover:bg-gray-600",textColor:"text-gray-700 dark:text-gray-200",onClick:S,disabled:d,"aria-label":"Export JSON"})}),jsxRuntime.jsx(Ht,{content:"Import JSON",size:"sm",position:"bottom",children:jsxRuntime.jsx(Wt,{icon:jsxRuntime.jsx(uw,{}),size:"sm",bgColor:"bg-gray-100 hover:bg-gray-200 dark:bg-gray-700 dark:hover:bg-gray-600",textColor:"text-gray-700 dark:text-gray-200",onClick:()=>w(true),disabled:d,"aria-label":"Import JSON"})})]}),jsxRuntime.jsx(Ln,{isOpen:f,onClose:T,title:"Export Workflow",description:"Copy the JSON below to save your workflow.",size:"lg",showSubmit:false,showCancel:true,cancelLabel:"Close",children:jsxRuntime.jsx(ln,{label:"Workflow JSON",multiline:true,rows:12,value:v,readOnly:true,size:"sm"})}),jsxRuntime.jsx(Ln,{isOpen:p,onClose:R,title:"Import Workflow",description:"Paste workflow JSON to load it into the editor.",size:"lg",showSubmit:true,submitLabel:"Import",onSubmitClick:L,showCancel:true,cancelLabel:"Cancel",children:jsxRuntime.jsx(ln,{label:"Workflow JSON",multiline:true,rows:12,value:h,onChange:M=>I(M.target.value),placeholder:'{"nodes": [], "edges": []}',size:"sm"})})]})});var vc={x:0,y:0,zoom:1},Cc=.1,hw=.1,bw=3,yw=20;function pg(){return `edge-${Date.now()}-${Math.random().toString(36).slice(2,8)}`}function xw({value:e,defaultValue:t,onValueChange:r,nodeRegistry:n,direction:o="horizontal",onDirectionChange:a,onNodeClick:s,onNodeDoubleClick:l,onNodeContextMenu:i,onNodeAction:c,readOnly:d=false,disabled:u=false,draggableNodes:f=true,connectable:m=true,selectable:p=true,multiSelect:w=false,panOnDrag:v=true,zoomOnWheel:x=true,minZoom:h=hw,maxZoom:I=bw,snapToGrid:S=false,gridSize:L=yw,showGrid:R=true,toolbar:T=true,autoFit:y=false,className:M},k){let z=e!==void 0,[H,P]=el.useState(()=>t??{nodes:[],edges:[],viewport:{...vc}}),B=z?e:H,C=B.nodes,b=B.edges,E=B.viewport??vc,N=el.useRef(null),W=el.useRef(null),[F,K]=el.useState(new Set),[j,A]=el.useState(null),[D,V]=el.useState(null),O=el.useRef(E);O.current=E;let _=el.useRef(C);_.current=C;let X=el.useRef(b);X.current=b;let G=el.useRef(S);G.current=S;let $=el.useRef(L);$.current=L;let Y=el.useRef(n);Y.current=n;let se=el.useRef(o);se.current=o;let ae=el.useCallback(J=>{z?r?.(J(e)):P(ne=>{let be=J(ne);return r?.(be),be});},[z,e,r]),U=el.useRef(ae);U.current=ae;let Q=el.useCallback(J=>{ae(ne=>({...ne,viewport:J}));},[ae]),le=el.useRef(Q);le.current=Q;let ye=el.useCallback(J=>{let ne=n[J.type];return ne?.getPorts?ne.getPorts(J):J.ports??[]},[n]),te=el.useRef(ye);te.current=ye;let Ce=el.useCallback((J,ne,be)=>{let me=_.current,Me=X.current,ke=me.find(xt=>xt.id===J.fromNodeId),Re=me.find(xt=>xt.id===ne);if(!ke||!Re)return;let Be=te.current(ke),ze=te.current(Re),st=Be.find(xt=>xt.id===J.fromPortId),qe=ze.find(xt=>xt.id===be);if(!st||!qe||qe.kind!=="in"||J.fromNodeId===ne)return;let Oe=Y.current[ke.type];if(Oe?.canConnect&&!Oe.canConnect({fromNode:ke,toNode:Re,fromPort:st,toPort:qe}))return;Me.some(xt=>xt.from.nodeId===J.fromNodeId&&xt.from.portId===J.fromPortId&&xt.to.nodeId===ne&&xt.to.portId===be)||U.current(xt=>({...xt,edges:[...xt.edges,{id:pg(),from:{nodeId:J.fromNodeId,portId:J.fromPortId},to:{nodeId:ne,portId:be}}]}));},[]);el.useEffect(()=>{function J(be){let me=W.current;if(!me)return;let Me=N.current?.getBoundingClientRect();if(!Me)return;let ke=O.current;if(me.type==="pan"){let Re=be.clientX-me.startX,Be=be.clientY-me.startY;le.current({...ke,x:me.startViewportX+Re,y:me.startViewportY+Be});}if(me.type==="node"){let Re=ca(be.clientX,be.clientY,ke,Me),Be=Re.x-me.offsetX,ze=Re.y-me.offsetY;G.current&&(Be=bc(Be,$.current),ze=bc(ze,$.current)),U.current(st=>({...st,nodes:st.nodes.map(qe=>qe.id===me.nodeId?{...qe,x:Be,y:ze}:qe)}));}if(me.type==="edge"){let Re=ca(be.clientX,be.clientY,ke,Me);W.current={...me,currentX:Re.x,currentY:Re.y},V({fromX:me.fromX,fromY:me.fromY,currentX:Re.x,currentY:Re.y});}}function ne(be){let me=W.current;if(me){if(me.type==="edge"){let Me=N.current?.getBoundingClientRect();if(Me){let ke=O.current,Re=ca(be.clientX,be.clientY,ke,Me),Be=25,ze=_.current,st=1/0,qe=null,Oe=null;for(let Ot of ze){let xt=te.current(Ot);for(let Br of xt){if(Br.kind!=="in")continue;let pn=da(Ot,Br,xt,se.current),jn=Math.sqrt((Re.x-pn.x)**2+(Re.y-pn.y)**2);jn<Be&&jn<st&&(st=jn,qe=Ot.id,Oe=Br.id);}}qe&&Oe&&Ce(me,qe,Oe);}V(null);}W.current=null;}}return document.addEventListener("mousemove",J),document.addEventListener("mouseup",ne),()=>{document.removeEventListener("mousemove",J),document.removeEventListener("mouseup",ne);}},[Ce]);let Pe=el.useCallback(J=>{if(!x||u)return;J.preventDefault();let ne=N.current?.getBoundingClientRect();if(!ne)return;let be=J.clientX-ne.left,me=J.clientY-ne.top,Me=J.deltaY<0?1:-1,ke=os(E.zoom+Me*Cc,h,I),Re=ke/E.zoom;Q({x:be-(be-E.x)*Re,y:me-(me-E.y)*Re,zoom:ke});},[x,u,E,h,I,Q]),Se=el.useCallback(J=>{if(u)return;let ne=J.target;if(ne.closest("[data-action-id]"))return;let me=ne.closest("[data-port-id]");if(me){if(!m||d)return;J.preventDefault();let ke=me.getAttribute("data-node-id"),Re=me.getAttribute("data-port-id"),Be=me.getAttribute("data-port-kind");if(!ke||!Re||Be!=="out")return;let ze=C.find(Ot=>Ot.id===ke);if(!ze)return;let st=ye(ze),qe=st.find(Ot=>Ot.id===Re);if(!qe)return;let Oe=da(ze,qe,st,se.current);W.current={type:"edge",fromNodeId:ke,fromPortId:Re,fromX:Oe.x,fromY:Oe.y,currentX:Oe.x,currentY:Oe.y},V({fromX:Oe.x,fromY:Oe.y,currentX:Oe.x,currentY:Oe.y});return}let Me=ne.closest("[data-node-id]");if(Me){if(d)return;let ke=Me.getAttribute("data-node-id");if(p&&(A(null),w&&J.shiftKey?K(Re=>{let Be=new Set(Re);return Be.has(ke)?Be.delete(ke):Be.add(ke),Be}):K(new Set([ke]))),f){let Re=N.current?.getBoundingClientRect();if(!Re)return;let Be=C.find(st=>st.id===ke);if(!Be||Be.locked)return;let ze=ca(J.clientX,J.clientY,E,Re);W.current={type:"node",nodeId:ke,startX:ze.x,startY:ze.y,offsetX:ze.x-Be.x,offsetY:ze.y-Be.y};}return}p&&(K(new Set),A(null)),v&&J.button===0&&(W.current={type:"pan",startX:J.clientX,startY:J.clientY,startViewportX:E.x,startViewportY:E.y});},[u,m,d,p,w,f,v,E,C,ye]),De=el.useCallback(J=>{let ne=W.current;if(!ne||ne.type!=="edge")return;let be=N.current?.getBoundingClientRect();if(be){let me=ca(J.clientX,J.clientY,E,be),Me=30,ke=1/0,Re=null,Be=null;for(let ze of C){let st=ye(ze);for(let qe of st){if(qe.kind!=="in")continue;let Oe=da(ze,qe,st,se.current),Ot=Math.sqrt((me.x-Oe.x)**2+(me.y-Oe.y)**2);Ot<Me&&Ot<ke&&(ke=Ot,Re=ze.id,Be=qe.id);}}if(Re&&Be){let ze=ne.fromNodeId,st=ne.fromPortId;ze!==Re&&(b.some(Oe=>Oe.from.nodeId===ze&&Oe.from.portId===st&&Oe.to.nodeId===Re&&Oe.to.portId===Be)||ae(Oe=>({...Oe,edges:[...Oe.edges,{id:pg(),from:{nodeId:ze,portId:st},to:{nodeId:Re,portId:Be}}]})));}}W.current=null,V(null);},[E,C,b,ye,ae]),Ne=el.useCallback((J,ne)=>{let be=W.current;!be||be.type!=="edge"||(Ce(be,J,ne),W.current=null,V(null));},[Ce]),re=el.useCallback(J=>{let ne=J.target;if(ne.closest("[data-port-id]")||ne.closest("[data-action-id]"))return null;let Me=ne.closest("[data-node-id]");if(!Me)return null;let ke=Me.getAttribute("data-node-id");return C.find(Re=>Re.id===ke)??null},[C]),fe=el.useCallback(J=>{if(!s||u)return;let ne=re(J);ne&&s({node:ne,nativeEvent:J.nativeEvent});},[s,u,re]),je=el.useCallback(J=>{if(!l||u)return;let ne=re(J);ne&&l({node:ne,nativeEvent:J.nativeEvent});},[l,u,re]),Dt=el.useCallback(J=>{if(!i||u)return;let ne=re(J);ne&&(J.preventDefault(),i({node:ne,nativeEvent:J.nativeEvent}));},[i,u,re]),Ie=el.useCallback((J,ne,be)=>{if(!c||u)return;let me=C.find(Me=>Me.id===J);me&&c({node:me,actionId:ne,nativeEvent:be});},[c,u,C]),we=el.useCallback((J,ne)=>{!p||u||(ne.stopPropagation(),K(new Set),A(J));},[p,u]),pt=el.useCallback(J=>{d||u||((J.key==="Delete"||J.key==="Backspace")&&(F.size>0&&(ae(ne=>({...ne,nodes:ne.nodes.filter(be=>!F.has(be.id)),edges:ne.edges.filter(be=>!F.has(be.from.nodeId)&&!F.has(be.to.nodeId))})),K(new Set)),j&&(ae(ne=>({...ne,edges:ne.edges.filter(be=>be.id!==j)})),A(null))),J.key==="Escape"&&(K(new Set),A(null)));},[d,u,F,j,ae]),Bt=el.useCallback(()=>{let J=os(E.zoom+Cc,h,I);Q({...E,zoom:J});},[E,h,I,Q]),yt=el.useCallback(()=>{let J=os(E.zoom-Cc,h,I);Q({...E,zoom:J});},[E,h,I,Q]),er=el.useCallback(()=>{Q({...vc});},[Q]),Mt=el.useCallback(()=>{let J=N.current?.getBoundingClientRect();if(!J)return;let ne=ag(C,J.width,J.height),be=os(ne.zoom,h,I);Q({...ne,zoom:be});},[C,h,I,Q]),Nt=el.useCallback(J=>{ae(ne=>({...ne,nodes:[...ne.nodes,J]}));},[ae]),gr=el.useCallback(J=>{ae(ne=>({...ne,nodes:ne.nodes.filter(be=>be.id!==J),edges:ne.edges.filter(be=>be.from.nodeId!==J&&be.to.nodeId!==J)}));},[ae]),pr=el.useCallback(()=>JSON.stringify(B,null,2),[B]),vt=el.useCallback(J=>{try{let ne=JSON.parse(J);ne&&Array.isArray(ne.nodes)&&Array.isArray(ne.edges)&&ae(()=>ne);}catch{}},[ae]);el.useImperativeHandle(k,()=>({zoomIn:Bt,zoomOut:yt,resetView:er,fitToContent:Mt,addNode:Nt,removeNode:gr,toJSON:pr,loadJSON:vt}),[Bt,yt,er,Mt,Nt,gr,pr,vt]);let Cr=el.useRef(false);el.useEffect(()=>{y&&!Cr.current&&N.current&&(Cr.current=true,Mt());},[y,Mt]);let he=el.useMemo(()=>{let J=new Map;for(let ne of C)J.set(ne.id,ye(ne));return J},[C,ye]),ge=el.useMemo(()=>({transform:`translate(${E.x}px, ${E.y}px) scale(${E.zoom})`,transformOrigin:"0 0"}),[E.x,E.y,E.zoom]);return jsxRuntime.jsxs("div",{ref:N,"data-testid":"workflow-editor",className:g("relative w-full overflow-hidden bg-gray-50 dark:bg-gray-900 select-none",u&&"opacity-60 pointer-events-none",M),tabIndex:0,onWheel:Pe,onMouseDown:Se,onMouseUp:De,onClick:fe,onDoubleClick:je,onContextMenu:Dt,onKeyDown:pt,children:[R&&jsxRuntime.jsx(og,{gridSize:L,zoom:E.zoom}),T&&!d&&jsxRuntime.jsx(ug,{zoom:E.zoom,direction:o,onDirectionChange:a,onZoomIn:Bt,onZoomOut:yt,onResetView:er,onFitToContent:Mt,onExportJSON:pr,onImportJSON:vt,disabled:u}),jsxRuntime.jsxs("div",{style:ge,children:[jsxRuntime.jsx(cg,{edges:b,nodes:C,selectedEdgeId:j,disabled:u||d,direction:o,onEdgeClick:we,getNodePorts:J=>he.get(J.id)??[]}),C.map(J=>{let ne=n[J.type];if(!ne)return null;let be=he.get(J.id)??[];return jsxRuntime.jsx(sg,{node:J,registry:ne,ports:be,selected:F.has(J.id),disabled:u||d,draggable:f&&!d,direction:o,onPortMouseUp:Ne,onActionClick:c?Ie:void 0},J.id)})]}),D&&jsxRuntime.jsxs("svg",{"data-testid":"drag-edge-overlay",style:{position:"absolute",top:0,left:0,width:"100%",height:"100%",pointerEvents:"none",zIndex:1e3,overflow:"visible"},children:[jsxRuntime.jsx("path",{d:vi(D.fromX*E.zoom+E.x,D.fromY*E.zoom+E.y,D.currentX*E.zoom+E.x,D.currentY*E.zoom+E.y,o),fill:"none",stroke:"#3b82f6",strokeWidth:2.5,strokeDasharray:"8 4"}),jsxRuntime.jsx("circle",{cx:D.fromX*E.zoom+E.x,cy:D.fromY*E.zoom+E.y,r:5,fill:"#3b82f6"}),jsxRuntime.jsx("circle",{cx:D.currentX*E.zoom+E.x,cy:D.currentY*E.zoom+E.y,r:4,fill:"#3b82f6",opacity:.6})]})]})}var fg=el.forwardRef(xw);fg.displayName="WorkflowEditor";var xg=el.createContext(null);function qn(){let e=el.useContext(xg);if(!e)throw new Error("useWizard and Wizard sub-components must be used within <Wizard>");return e}var wc=(e,t,r)=>Math.max(t,Math.min(e,r)),Nc={sm:{circle:"h-7 w-7 text-xs",dot:"h-2.5 w-2.5",icon:"h-3.5 w-3.5",title:"text-xs",desc:"text-[11px]",connector:"h-0.5"},md:{circle:"h-9 w-9 text-sm",dot:"h-3 w-3",icon:"h-4 w-4",title:"text-sm",desc:"text-xs",connector:"h-0.5"},lg:{circle:"h-11 w-11 text-base",dot:"h-3.5 w-3.5",icon:"h-5 w-5",title:"text-base",desc:"text-sm",connector:"h-1"}},gn={primary:{solid:"bg-blue-600 text-white",bg:"bg-blue-600",text:"text-blue-600 dark:text-blue-400",ring:"focus-visible:ring-blue-500",ringSoft:"ring-blue-500/20"},secondary:{solid:"bg-gray-700 text-white",bg:"bg-gray-700",text:"text-gray-700 dark:text-gray-300",ring:"focus-visible:ring-gray-500",ringSoft:"ring-gray-500/20"},success:{solid:"bg-green-600 text-white",bg:"bg-green-600",text:"text-green-600 dark:text-green-400",ring:"focus-visible:ring-green-500",ringSoft:"ring-green-500/20"},warning:{solid:"bg-amber-500 text-white",bg:"bg-amber-500",text:"text-amber-600 dark:text-amber-400",ring:"focus-visible:ring-amber-500",ringSoft:"ring-amber-500/20"},error:{solid:"bg-red-600 text-white",bg:"bg-red-600",text:"text-red-600 dark:text-red-400",ring:"focus-visible:ring-red-500",ringSoft:"ring-red-500/20"}};function kw({className:e}){return jsxRuntime.jsx("svg",{className:e,viewBox:"0 0 20 20",fill:"currentColor","aria-hidden":"true",children:jsxRuntime.jsx("path",{fillRule:"evenodd",d:"M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z",clipRule:"evenodd"})})}function vg({steps:e,step:t,defaultStep:r=0,onStepChange:n,onComplete:o,orientation:a="horizontal",variant:s="default",size:l="md",color:i="primary",linear:c=true,className:d,children:u}){let f=e.length,m=Math.max(0,f-1),p=t!==void 0,[w,v]=el.useState(()=>wc(r,0,m)),x=wc(p?t:w,0,m),[h,I]=el.useState(x);h<x&&I(x);let S=x<=0,L=x>=m,R=el.useCallback((P,B)=>{let C=wc(P,0,m);C!==x&&(p||v(C),I(b=>Math.max(b,C)),n?.(C,{previous:x,direction:B}));},[x,p,m,n]),T=el.useCallback(P=>{let B=e[P];return !B||B.disabled?false:c?P<=h:true},[e,c,h]),y=el.useCallback(P=>{T(P)&&R(P,P>x?"jump":"backward");},[T,R,x]),M=el.useCallback(()=>{if(L){o?.();return}R(x+1,"forward");},[L,o,R,x]),k=el.useCallback(()=>{S||R(x-1,"backward");},[S,R,x]),z=el.useCallback(P=>e[P]?.error?"error":P===x?"active":P<x?"completed":"upcoming",[e,x]),H={steps:e,activeStep:x,totalSteps:f,isFirstStep:S,isLastStep:L,orientation:a,variant:s,size:l,color:i,linear:c,goToStep:y,goNext:M,goBack:k,getStepStatus:z,isStepAccessible:T};return jsxRuntime.jsx(xg.Provider,{value:H,children:jsxRuntime.jsx("div",{className:g("flex w-full flex-col gap-6",d),"data-testid":"wizard","data-orientation":a,children:u})})}function bg({index:e,status:t}){let{variant:r,size:n,color:o,steps:a}=qn(),s=Nc[n],l=a[e];if(r==="dots"){let d=t==="upcoming"?"bg-gray-300 dark:bg-gray-600":t==="error"?"bg-red-600":gn[o].bg;return jsxRuntime.jsx("span",{className:g("shrink-0 rounded-full transition-colors",s.dot,d),"aria-hidden":"true"})}let i=t==="completed"?g(gn[o].solid,"border-transparent"):t==="active"?g(gn[o].solid,"border-transparent ring-4",gn[o].ringSoft):t==="error"?"border-transparent bg-red-600 text-white":"border-2 border-gray-300 bg-white text-gray-500 dark:border-gray-600 dark:bg-gray-800 dark:text-gray-400",c=t==="completed"?jsxRuntime.jsx(kw,{className:s.icon}):t==="error"?jsxRuntime.jsx("span",{className:"font-semibold leading-none",children:"!"}):l.icon??jsxRuntime.jsx("span",{className:"font-medium leading-none",children:e+1});return jsxRuntime.jsx("span",{className:g("flex shrink-0 items-center justify-center rounded-full transition-all",s.circle,i),"aria-hidden":"true",children:c})}function yg({index:e,status:t}){let{steps:r,size:n,color:o,variant:a}=qn(),s=Nc[n],l=r[e],c=t==="active"?gn[o].text:t==="completed"?"text-gray-900 dark:text-gray-100":t==="error"?"text-red-600 dark:text-red-400":"text-gray-500 dark:text-gray-400";return jsxRuntime.jsxs("span",{className:"flex min-w-0 flex-col",children:[jsxRuntime.jsxs("span",{className:g("font-medium leading-tight",s.title,c),children:[a==="simple"&&jsxRuntime.jsxs("span",{className:"mr-1 tabular-nums",children:[e+1,"."]}),l.title,l.optional&&jsxRuntime.jsx("span",{className:"ml-1 text-xs font-normal text-gray-400 dark:text-gray-500",children:"(optional)"})]}),l.description&&jsxRuntime.jsx("span",{className:g("mt-0.5 text-gray-400 dark:text-gray-500",s.desc),children:l.description})]})}function Cg({className:e,hideConnector:t=false,hideLabels:r=false}){let n=qn(),{steps:o,orientation:a,size:s,variant:l,color:i,activeStep:c}=n,d=Nc[s],u=a==="vertical",f=l!=="simple";return jsxRuntime.jsx("ol",{className:g("flex w-full",u?"flex-col":"items-start",e),"data-testid":"wizard-steps","data-orientation":a,children:o.map((m,p)=>{let w=n.getStepStatus(p),v=p===c,x=n.isStepAccessible(p)&&!v,h=p===o.length-1,S=p<c?gn[i].bg:"bg-gray-200 dark:bg-gray-700";return u?jsxRuntime.jsx("li",{className:"flex","aria-current":v?"step":void 0,"data-status":w,"data-testid":"wizard-step",children:jsxRuntime.jsxs("button",{type:"button",disabled:!x,onClick:()=>n.goToStep(p),className:g("flex items-stretch gap-3 rounded-md text-left focus:outline-none focus-visible:ring-2 focus-visible:ring-offset-2",gn[i].ring,x?"cursor-pointer":"cursor-default"),children:[jsxRuntime.jsxs("span",{className:"flex flex-col items-center",children:[f&&jsxRuntime.jsx(bg,{index:p,status:w}),!t&&!h&&jsxRuntime.jsx("span",{className:g("my-1 w-0.5 flex-1 rounded",S),"aria-hidden":"true"})]}),!r&&jsxRuntime.jsx("span",{className:g(h?"pb-0":"pb-6"),children:jsxRuntime.jsx(yg,{index:p,status:w})})]})},m.id??p):jsxRuntime.jsxs("li",{className:g("flex items-center",!h&&"flex-1"),"aria-current":v?"step":void 0,"data-status":w,"data-testid":"wizard-step",children:[jsxRuntime.jsxs("button",{type:"button",disabled:!x,onClick:()=>n.goToStep(p),className:g("flex items-center gap-2.5 rounded-md focus:outline-none focus-visible:ring-2 focus-visible:ring-offset-2",gn[i].ring,x?"cursor-pointer":"cursor-default"),children:[f&&jsxRuntime.jsx(bg,{index:p,status:w}),!r&&jsxRuntime.jsx(yg,{index:p,status:w})]}),!t&&!h&&jsxRuntime.jsx("span",{className:g("mx-2 flex-1 rounded",d.connector,S),"aria-hidden":"true"})]},m.id??p)})})}function kg({index:e,keepMounted:t=false,className:r,children:n}){let{activeStep:o}=qn(),a=e===o;return !a&&!t?null:jsxRuntime.jsx("div",{role:"tabpanel",hidden:!a,"data-testid":"wizard-panel","data-active":a,"data-step":e,className:g("w-full",r),children:n})}function wg({className:e,children:t}){let r=qn();return jsxRuntime.jsx("div",{className:g("w-full",e),"data-testid":"wizard-content",children:typeof t=="function"?t(r):t})}var Ng="inline-flex cursor-pointer items-center justify-center gap-2 rounded-lg px-4 py-2 text-sm font-medium transition-colors focus:outline-none focus-visible:ring-2 focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50";function Sc({children:e,label:t="Previous",className:r,onClick:n,disabled:o,...a}){let{goBack:s,isFirstStep:l}=qn();return jsxRuntime.jsx("button",{type:"button",onClick:c=>{n?.(c),c.defaultPrevented||s();},disabled:o??l,"data-testid":"wizard-previous",className:g(Ng,"border border-gray-300 bg-white text-gray-700 hover:bg-gray-50 focus-visible:ring-gray-400 dark:border-gray-600 dark:bg-gray-800 dark:text-gray-200 dark:hover:bg-gray-700",r),...a,children:e??t})}function Rc({children:e,label:t="Next",finishLabel:r="Finish",className:n,onClick:o,...a}){let{goNext:s,isLastStep:l,color:i}=qn();return jsxRuntime.jsx("button",{type:"button",onClick:d=>{o?.(d),d.defaultPrevented||s();},"data-testid":"wizard-next",className:g(Ng,gn[i].solid,gn[i].ring,"hover:opacity-90",n),...a,children:e??(l?r:t)})}function Sg({className:e,children:t,align:r="between"}){let n={between:"justify-between",start:"justify-start",center:"justify-center",end:"justify-end"}[r];return jsxRuntime.jsx("div",{className:g("flex items-center gap-3",n,e),"data-testid":"wizard-actions",children:t??jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(Sc,{}),jsxRuntime.jsx(Rc,{})]})})}vg.displayName="Wizard";Cg.displayName="WizardSteps";kg.displayName="WizardPanel";wg.displayName="WizardContent";Sg.displayName="WizardActions";Sc.displayName="WizardPrevious";Rc.displayName="WizardNext";exports.Accordion=Ug;exports.AccordionContent=jg;exports.AccordionItem=Yg;exports.AccordionTrigger=qg;exports.AdvanceDetachable=Vc;exports.AreaChart=nf;exports.Avatar=lf;exports.Badge=dd;exports.Banner=hd;exports.BarChart=Rf;exports.BoxPlot=V0;exports.Breadcrumb=Bf;exports.BulletChart=Yf;exports.Button=Wt;exports.ButtonGroup=_o;exports.CHART_ALL_PAIRS_LIMIT=oo;exports.CHART_DIVERGING_COLORS=no;exports.CHART_DIVERGING_DARK_STOPS=Jc;exports.CHART_DIVERGING_NEUTRAL_INDEX=Zc;exports.CHART_DOWN_COLOR=Oi;exports.CHART_MAX_COLOR_CLASSES=ys;exports.CHART_MUTED_COLOR=Pr;exports.CHART_ORDINAL_COLORS=ya;exports.CHART_ORDINAL_DARK_STOPS=$i;exports.CHART_PALETTE_SIZE=_p;exports.CHART_PATTERNS=Hi;exports.CHART_SEQUENTIAL_COLORS=Vi;exports.CHART_SEQUENTIAL_DARK_STOPS=Qc;exports.CHART_SERIES_COLORS=bs;exports.CHART_SURFACE_COLOR=eo;exports.CHART_UP_COLOR=Fi;exports.Calendar=nl;exports.CandlestickChart=U0;exports.Card=wd;exports.CardBody=Rd;exports.CardDescription=Ld;exports.CardFooter=Td;exports.CardHeader=Sd;exports.CardImage=Pd;exports.CardTitle=Dd;exports.ChartAnnotationLayer=tn;exports.ChartAxis=Ue;exports.ChartContainer=lt;exports.ChartFacets=Z0;exports.ChartFilterBar=eh;exports.ChartGrid=_t;exports.ChartLegend=Xt;exports.ChartPatternDefs=ro;exports.ChartPeriodPicker=hh;exports.ChartScaleLegend=Ra;exports.ChartTableView=zt;exports.ChartTooltip=dt;exports.ChartTooltipContent=Nr;exports.Checkbox=Aa;exports.CheckboxGroup=Od;exports.CheckboxGroupItem=$d;exports.Chip=Gs;exports.CircularProgress=Po;exports.DEFAULT_CHART_PERIOD_PRESETS=gl;exports.DEFAULT_CHART_WIDTH=Xc;exports.DEFAULT_FIELD_TYPES=rs;exports.DataGrid=Pb;exports.Detachable=Kd;exports.DeviceMockup=iy;exports.Divider=Yd;exports.Drawer=au;exports.Dropdown=gu;exports.DropdownCheckboxItem=Tu;exports.DropdownContent=xu;exports.DropdownItem=Cu;exports.DropdownLabel=wu;exports.DropdownRadioGroup=Eu;exports.DropdownRadioItem=Mu;exports.DropdownSeparator=ku;exports.DropdownSubMenu=Bu;exports.DropdownSubMenuContent=Fu;exports.DropdownSubMenuTrigger=Vu;exports.DropdownTrigger=fu;exports.DumbbellChart=Sh;exports.FOCUSABLE_SELECTOR=Jd;exports.FileSelector=Dy;exports.Footer=Pm;exports.FooterBottom=Mm;exports.FooterColumn=Lm;exports.FooterLink=Em;exports.FooterSection=Dm;exports.FooterSocial=Im;exports.FooterSocialLink=Am;exports.FunnelChart=Ah;exports.GanttChart=$h;exports.Header=Ex;exports.Heatmap=bv;exports.HelpButton=Gu;exports.INERT_IGNORE_ATTRIBUTE=Md;exports.ImageUploader=Jx;exports.Indicator=Uu;exports.Input=ln;exports.Label=Zu;exports.LineChart=Sv;exports.MentionInput=Hl;exports.Modal=Ln;exports.NumberInput=Bl;exports.Pagination=Fv;exports.PieChart=jv;exports.ProgressBar=sm;exports.RadioButton=im;exports.ScatterChart=QC;exports.SchemaEditor=rg;exports.Select=v1;exports.Sidebar=T1;exports.SidebarContent=D1;exports.SidebarFooter=L1;exports.SidebarGroup=E1;exports.SidebarHeader=P1;exports.SidebarItem=M1;exports.SidebarSubMenu=I1;exports.SidebarToggle=A1;exports.Skeleton=gm;exports.Slider=fm;exports.Sparkline=jl;exports.StatCard=$1;exports.StatCardGroup=X1;exports.Table=fn;exports.TableBody=hn;exports.TableCell=Gt;exports.TableHeader=bn;exports.TableHeaderCell=St;exports.TableRow=yn;exports.Tabs=bm;exports.TabsContent=km;exports.TabsList=ym;exports.TabsTrigger=Cm;exports.Toast=Sm;exports.Tooltip=Ht;exports.UILabelsProvider=hp;exports.WaterfallChart=Qh;exports.WithHelpButton=Kx;exports.Wizard=vg;exports.WizardActions=Sg;exports.WizardContent=wg;exports.WizardNext=Rc;exports.WizardPanel=kg;exports.WizardPrevious=Sc;exports.WizardSteps=Cg;exports.WorkflowEditor=fg;exports.autoLayoutTables=gc;exports.binEdges=md;exports.binValues=Yi;exports.boxStats=ol;exports.cn=g;exports.createDefaultField=sc;exports.createDefaultTable=ic;exports.createDivergingScale=Mo;exports.createPeriod=Ea;exports.createSequentialScale=va;exports.defaultUILabels=Oc;exports.describeAnnotations=Jn;exports.endOfDay=Ms;exports.findOwnedLayers=Ls;exports.formatPeriodRange=pl;exports.formatTimeTick=Hs;exports.frenchUILabels=fp;exports.generateFieldId=ts;exports.generateRelationId=ac;exports.generateSQL=yi;exports.generateTableId=$m;exports.getFocusableElements=Us;exports.getOrdinalColor=Gp;exports.getPattern=hs;exports.getSeriesColor=Dr;exports.getSeriesLabel=Kt;exports.hideOthers=ml;exports.isElementVisible=eu;exports.isFocusable=tu;exports.niceTimeTicks=bl;exports.patternBackground=Bi;exports.patternFill=to;exports.patternId=fs;exports.quantile=M0;exports.quantileSorted=Pa;exports.rampColor=Eo;exports.registerFloatingLayer=wn;exports.resetBarChartWarnings=kf;exports.resetDumbbellWarnings=kh;exports.resetFacetWarnings=Q0;exports.resolvePeriodPreset=Id;exports.resolveSeriesColor=Lr;exports.samePeriod=uh;exports.startOfDay=Es;exports.sturgesBins=ud;exports.toLegendItems=$r;exports.toTimestamp=mo;exports.useChartSize=Wi;exports.useClickOutside=jo;exports.useDialogA11y=fo;exports.useDropdownContext=Sr;exports.useFocusItem=bu;exports.useKeyboardNavigation=js;exports.usePositioning=Bn;exports.useSidebar=w1;exports.useUILabels=We;exports.useWizard=qn;