buildgrid-ui 1.11.3 → 1.11.4

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.
@@ -1,9 +1,11 @@
1
1
  import { Locale } from 'date-fns/locale';
2
2
  export type Month = 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11;
3
+ export type Mode = 'month' | 'year';
3
4
  export interface MonthNavigatorProps {
4
5
  locale?: Locale;
5
6
  currentMonth: Month;
6
7
  currentYear: number;
7
8
  onChangeMonthYear: (month: Month, year: number) => void;
9
+ mode?: Mode;
8
10
  }
9
11
  export declare const MonthNavigator: (props: MonthNavigatorProps) => import("react/jsx-runtime").JSX.Element;
@@ -15480,9 +15480,15 @@ const RP = (e) => /* @__PURE__ */ c.jsx("div", { className: "unreset", dangerous
15480
15480
  }
15481
15481
  );
15482
15482
  }, MP = (e) => {
15483
- const { currentMonth: t, currentYear: n, onChangeMonthYear: r, locale: o = ga } = e, a = (s) => {
15484
- let i = t, u = n;
15485
- s === "prev" ? i === 0 ? (i = 11, u--) : i-- : i === 11 ? (i = 0, u++) : i++, r(i, u);
15483
+ const {
15484
+ currentMonth: t,
15485
+ currentYear: n,
15486
+ onChangeMonthYear: r,
15487
+ locale: o = ga,
15488
+ mode: a = "month"
15489
+ } = e, s = (i) => {
15490
+ let u = t, d = n;
15491
+ a === "month" ? i === "prev" ? u === 0 ? (u = 11, d--) : u-- : u === 11 ? (u = 0, d++) : u++ : d = i === "prev" ? d - 1 : d + 1, r(u, d);
15486
15492
  };
15487
15493
  return /* @__PURE__ */ c.jsxs("div", { className: "flex items-center justify-between", children: [
15488
15494
  /* @__PURE__ */ c.jsx(
@@ -15490,22 +15496,22 @@ const RP = (e) => /* @__PURE__ */ c.jsx("div", { className: "unreset", dangerous
15490
15496
  {
15491
15497
  variant: "ghost",
15492
15498
  size: "icon",
15493
- onClick: () => a("prev"),
15494
- "aria-label": "Previous month",
15499
+ onClick: () => s("prev"),
15500
+ "aria-label": `Previous ${a}`,
15495
15501
  children: /* @__PURE__ */ c.jsx(gv, { className: "!h-8 !w-8" })
15496
15502
  }
15497
15503
  ),
15498
15504
  /* @__PURE__ */ c.jsxs("div", { className: "text-center", children: [
15499
- /* @__PURE__ */ c.jsx("h2", { className: "text-2xl font-bold capitalize", children: o.localize.month(t, { width: "wide" }) }),
15500
- /* @__PURE__ */ c.jsx("p", { className: "text-sm text-muted-foreground", children: n })
15505
+ /* @__PURE__ */ c.jsx("h2", { className: "text-2xl font-bold capitalize", children: a === "month" ? o.localize.month(t, { width: "wide" }) : n }),
15506
+ a === "month" && /* @__PURE__ */ c.jsx("p", { className: "text-sm text-muted-foreground", children: n })
15501
15507
  ] }),
15502
15508
  /* @__PURE__ */ c.jsx(
15503
15509
  Se,
15504
15510
  {
15505
15511
  variant: "ghost",
15506
15512
  size: "icon",
15507
- onClick: () => a("next"),
15508
- "aria-label": "Next month",
15513
+ onClick: () => s("next"),
15514
+ "aria-label": `Next ${a}`,
15509
15515
  children: /* @__PURE__ */ c.jsx(vv, { className: "!h-8 !w-8" })
15510
15516
  }
15511
15517
  )
@@ -264,7 +264,7 @@ For more information, see https://radix-ui.com/primitives/docs/components/${t.do
264
264
  - \`null\` or \`undefined\` if the progress is indeterminate.
265
265
 
266
266
  Defaulting to \`null\`.`}var Gm=Fm,jN=Wm;const Es=c.forwardRef(({className:e,value:t,...n},r)=>l.jsx(Gm,{ref:r,className:A("relative h-2 w-full overflow-hidden rounded-full bg-primary/20",e),...n,children:l.jsx(jN,{className:"h-full w-full flex-1 bg-primary transition-all",style:{transform:`translateX(-${100-(t||0)}%)`}})}));Es.displayName=Gm.displayName;function kN(e){const{showStrengthMeter:t=!0,className:n,strengthLabels:r={veryWeak:"Very weak",weak:"Weak",medium:"Medium",strong:"Strong",veryStrong:"Very strong"},showPasswordLabel:o="Show password",hidePasswordLabel:a="Hide password",strengthTitle:s="Password strength",...i}=e,[u,d]=P.useState(""),[f,p]=P.useState(!1),g=y=>{let w=0;return y.length>=8&&(w+=25),y.match(/[a-z]/)&&(w+=25),y.match(/[A-Z]/)&&(w+=25),y.match(/[0-9]/)&&(w+=25),w},m=y=>y===0?r.veryWeak:y<=25?r.weak:y<=50?r.medium:y<=75?r.strong:r.veryStrong,v=g(u),h=m(v),b=y=>{var w;d(y.target.value),(w=e.onChange)==null||w.call(e,y)};return l.jsxs("div",{className:"w-full space-y-4",children:[l.jsxs("div",{className:"relative",children:[l.jsx(fr,{...i,type:f?"text":"password",value:u,onChange:b,className:`pr-10 ${n||""}`}),l.jsx(Ne,{type:"button",variant:"ghost",size:"icon",className:"absolute right-0 top-0 h-full",onClick:()=>p(!f),"aria-label":f?a:o,children:f?l.jsx(ey,{className:"h-4 w-4"}):l.jsx(ty,{className:"h-4 w-4"})})]}),t&&l.jsxs("div",{className:"space-y-2",children:[l.jsxs("div",{className:"flex justify-between text-sm",children:[l.jsxs("span",{children:[s,":"]}),l.jsx("span",{children:h})]}),l.jsx(Es,{value:v,className:"h-2"})]})]})}var Ns="Radio",[IN,Um]=ye(Ns),[ON,_N]=IN(Ns),Ym=c.forwardRef((e,t)=>{const{__scopeRadio:n,name:r,checked:o=!1,required:a,disabled:s,value:i="on",onCheck:u,form:d,...f}=e,[p,g]=c.useState(null),m=J(t,b=>g(b)),v=c.useRef(!1),h=p?d||!!p.closest("form"):!0;return l.jsxs(ON,{scope:n,checked:o,disabled:s,children:[l.jsx(L.button,{type:"button",role:"radio","aria-checked":o,"data-state":Xm(o),"data-disabled":s?"":void 0,disabled:s,value:i,...f,ref:m,onClick:I(e.onClick,b=>{o||u==null||u(),h&&(v.current=b.isPropagationStopped(),v.current||b.stopPropagation())})}),h&&l.jsx($N,{control:p,bubbles:!v.current,name:r,value:i,checked:o,required:a,disabled:s,form:d,style:{transform:"translateX(-100%)"}})]})});Ym.displayName=Ns;var Km="RadioIndicator",qm=c.forwardRef((e,t)=>{const{__scopeRadio:n,forceMount:r,...o}=e,a=_N(Km,n);return l.jsx(be,{present:r||a.checked,children:l.jsx(L.span,{"data-state":Xm(a.checked),"data-disabled":a.disabled?"":void 0,...o,ref:t})})});qm.displayName=Km;var $N=e=>{const{control:t,checked:n,bubbles:r=!0,...o}=e,a=c.useRef(null),s=On(n),i=Er(t);return c.useEffect(()=>{const u=a.current,d=window.HTMLInputElement.prototype,p=Object.getOwnPropertyDescriptor(d,"checked").set;if(s!==n&&p){const g=new Event("click",{bubbles:r});p.call(u,n),u.dispatchEvent(g)}},[s,n,r]),l.jsx("input",{type:"radio","aria-hidden":!0,defaultChecked:n,...o,tabIndex:-1,ref:a,style:{...e.style,...i,position:"absolute",pointerEvents:"none",opacity:0,margin:0}})};function Xm(e){return e?"checked":"unchecked"}var LN=["ArrowUp","ArrowDown","ArrowLeft","ArrowRight"],Ss="RadioGroup",[FN,_T]=ye(Ss,[Rt,Um]),Zm=Rt(),Qm=Um(),[BN,WN]=FN(Ss),Jm=c.forwardRef((e,t)=>{const{__scopeRadioGroup:n,name:r,defaultValue:o,value:a,required:s=!1,disabled:i=!1,orientation:u,dir:d,loop:f=!0,onValueChange:p,...g}=e,m=Zm(n),v=xt(d),[h,b]=Ee({prop:a,defaultProp:o,onChange:p});return l.jsx(BN,{scope:n,name:r,required:s,disabled:i,value:h,onValueChange:b,children:l.jsx(Gr,{asChild:!0,...m,orientation:u,dir:v,loop:f,children:l.jsx(L.div,{role:"radiogroup","aria-required":s,"aria-orientation":u,"data-disabled":i?"":void 0,dir:v,...g,ref:t})})})});Jm.displayName=Ss;var ep="RadioGroupItem",tp=c.forwardRef((e,t)=>{const{__scopeRadioGroup:n,disabled:r,...o}=e,a=WN(ep,n),s=a.disabled||r,i=Zm(n),u=Qm(n),d=c.useRef(null),f=J(t,d),p=a.value===o.value,g=c.useRef(!1);return c.useEffect(()=>{const m=h=>{LN.includes(h.key)&&(g.current=!0)},v=()=>g.current=!1;return document.addEventListener("keydown",m),document.addEventListener("keyup",v),()=>{document.removeEventListener("keydown",m),document.removeEventListener("keyup",v)}},[]),l.jsx(Ur,{asChild:!0,...i,focusable:!s,active:p,children:l.jsx(Ym,{disabled:s,required:a.required,checked:p,...u,...o,name:a.name,ref:f,onCheck:()=>a.onValueChange(o.value),onKeyDown:I(m=>{m.key==="Enter"&&m.preventDefault()}),onFocus:I(o.onFocus,()=>{var m;g.current&&((m=d.current)==null||m.click())})})})});tp.displayName=ep;var zN="RadioGroupIndicator",np=c.forwardRef((e,t)=>{const{__scopeRadioGroup:n,...r}=e,o=Qm(n);return l.jsx(qm,{...o,...r,ref:t})});np.displayName=zN;var rp=Jm,op=tp,VN=np;const ap=c.forwardRef(({className:e,...t},n)=>l.jsx(rp,{className:A("grid gap-2",e),...t,ref:n}));ap.displayName=rp.displayName;const sp=c.forwardRef(({className:e,...t},n)=>l.jsx(op,{ref:n,className:A("aspect-square h-4 w-4 rounded-full border border-primary text-primary shadow focus:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50",e),...t,children:l.jsx(VN,{className:"flex items-center justify-center",children:l.jsx($i,{className:"h-3.5 w-3.5 fill-primary"})})}));sp.displayName=op.displayName;function ip(e,[t,n]){return Math.min(n,Math.max(t,e))}var HN=[" ","Enter","ArrowUp","ArrowDown"],GN=[" ","Enter"],Qn="Select",[to,no,UN]=tn(Qn),[bn,$T]=ye(Qn,[UN,Mt]),ro=Mt(),[YN,jt]=bn(Qn),[KN,qN]=bn(Qn),lp=e=>{const{__scopeSelect:t,children:n,open:r,defaultOpen:o,onOpenChange:a,value:s,defaultValue:i,onValueChange:u,dir:d,name:f,autoComplete:p,disabled:g,required:m,form:v}=e,h=ro(t),[b,y]=c.useState(null),[w,x]=c.useState(null),[S,C]=c.useState(!1),M=xt(d),[T=!1,D]=Ee({prop:r,defaultProp:o,onChange:a}),[k,W]=Ee({prop:s,defaultProp:i,onChange:u}),Y=c.useRef(null),O=b?v||!!b.closest("form"):!0,[K,H]=c.useState(new Set),ee=Array.from(K).map(V=>V.props.value).join(";");return l.jsx(Vn,{...h,children:l.jsxs(YN,{required:m,scope:t,trigger:b,onTriggerChange:y,valueNode:w,onValueNodeChange:x,valueNodeHasChildren:S,onValueNodeHasChildrenChange:C,contentId:me(),value:k,onValueChange:W,open:T,onOpenChange:D,dir:M,triggerPointerDownPosRef:Y,disabled:g,children:[l.jsx(to.Provider,{scope:t,children:l.jsx(KN,{scope:e.__scopeSelect,onNativeOptionAdd:c.useCallback(V=>{H(q=>new Set(q).add(V))},[]),onNativeOptionRemove:c.useCallback(V=>{H(q=>{const G=new Set(q);return G.delete(V),G})},[]),children:n})}),O?l.jsxs(kp,{"aria-hidden":!0,required:m,tabIndex:-1,name:f,autoComplete:p,value:k,onChange:V=>W(V.target.value),disabled:g,form:v,children:[k===void 0?l.jsx("option",{value:""}):null,Array.from(K)]},ee):null]})})};lp.displayName=Qn;var cp="SelectTrigger",up=c.forwardRef((e,t)=>{const{__scopeSelect:n,disabled:r=!1,...o}=e,a=ro(n),s=jt(cp,n),i=s.disabled||r,u=J(t,s.onTriggerChange),d=no(n),f=c.useRef("touch"),[p,g,m]=Ip(h=>{const b=d().filter(x=>!x.disabled),y=b.find(x=>x.value===s.value),w=Op(b,h,y);w!==void 0&&s.onValueChange(w.value)}),v=h=>{i||(s.onOpenChange(!0),m()),h&&(s.triggerPointerDownPosRef.current={x:Math.round(h.pageX),y:Math.round(h.pageY)})};return l.jsx(Hn,{asChild:!0,...a,children:l.jsx(L.button,{type:"button",role:"combobox","aria-controls":s.contentId,"aria-expanded":s.open,"aria-required":s.required,"aria-autocomplete":"none",dir:s.dir,"data-state":s.open?"open":"closed",disabled:i,"data-disabled":i?"":void 0,"data-placeholder":jp(s.value)?"":void 0,...o,ref:u,onClick:I(o.onClick,h=>{h.currentTarget.focus(),f.current!=="mouse"&&v(h)}),onPointerDown:I(o.onPointerDown,h=>{f.current=h.pointerType;const b=h.target;b.hasPointerCapture(h.pointerId)&&b.releasePointerCapture(h.pointerId),h.button===0&&h.ctrlKey===!1&&h.pointerType==="mouse"&&(v(h),h.preventDefault())}),onKeyDown:I(o.onKeyDown,h=>{const b=p.current!=="";!(h.ctrlKey||h.altKey||h.metaKey)&&h.key.length===1&&g(h.key),!(b&&h.key===" ")&&HN.includes(h.key)&&(v(),h.preventDefault())})})})});up.displayName=cp;var dp="SelectValue",fp=c.forwardRef((e,t)=>{const{__scopeSelect:n,className:r,style:o,children:a,placeholder:s="",...i}=e,u=jt(dp,n),{onValueNodeHasChildrenChange:d}=u,f=a!==void 0,p=J(t,u.onValueNodeChange);return we(()=>{d(f)},[d,f]),l.jsx(L.span,{...i,ref:p,style:{pointerEvents:"none"},children:jp(u.value)?l.jsx(l.Fragment,{children:s}):a})});fp.displayName=dp;var XN="SelectIcon",mp=c.forwardRef((e,t)=>{const{__scopeSelect:n,children:r,...o}=e;return l.jsx(L.span,{"aria-hidden":!0,...o,ref:t,children:r||"▼"})});mp.displayName=XN;var Yt="SelectContent",pp=c.forwardRef((e,t)=>{const n=jt(Yt,e.__scopeSelect),[r,o]=c.useState();if(we(()=>{o(new DocumentFragment)},[]),!n.open){const a=r;return a?Nn.createPortal(l.jsx(hp,{scope:e.__scopeSelect,children:l.jsx(to.Slot,{scope:e.__scopeSelect,children:l.jsx("div",{children:e.children})})}),a):null}return l.jsx(gp,{...e,ref:t})});pp.displayName=Yt;var Ke=10,[hp,kt]=bn(Yt),ZN="SelectContentImpl",gp=c.forwardRef((e,t)=>{const{__scopeSelect:n,position:r="item-aligned",onCloseAutoFocus:o,onEscapeKeyDown:a,onPointerDownOutside:s,side:i,sideOffset:u,align:d,alignOffset:f,arrowPadding:p,collisionBoundary:g,collisionPadding:m,sticky:v,hideWhenDetached:h,avoidCollisions:b,...y}=e,w=jt(Yt,n),[x,S]=c.useState(null),[C,M]=c.useState(null),T=J(t,_=>S(_)),[D,k]=c.useState(null),[W,Y]=c.useState(null),O=no(n),[K,H]=c.useState(!1),ee=c.useRef(!1);c.useEffect(()=>{if(x)return In(x)},[x]),kn();const V=c.useCallback(_=>{const[Q,...ne]=O().map(ce=>ce.ref.current),[re]=ne.slice(-1),ie=document.activeElement;for(const ce of _)if(ce===ie||(ce==null||ce.scrollIntoView({block:"nearest"}),ce===Q&&C&&(C.scrollTop=0),ce===re&&C&&(C.scrollTop=C.scrollHeight),ce==null||ce.focus(),document.activeElement!==ie))return},[O,C]),q=c.useCallback(()=>V([D,x]),[V,D,x]);c.useEffect(()=>{K&&q()},[K,q]);const{onOpenChange:G,triggerPointerDownPosRef:j}=w;c.useEffect(()=>{if(x){let _={x:0,y:0};const Q=re=>{var ie,ce;_={x:Math.abs(Math.round(re.pageX)-(((ie=j.current)==null?void 0:ie.x)??0)),y:Math.abs(Math.round(re.pageY)-(((ce=j.current)==null?void 0:ce.y)??0))}},ne=re=>{_.x<=10&&_.y<=10?re.preventDefault():x.contains(re.target)||G(!1),document.removeEventListener("pointermove",Q),j.current=null};return j.current!==null&&(document.addEventListener("pointermove",Q),document.addEventListener("pointerup",ne,{capture:!0,once:!0})),()=>{document.removeEventListener("pointermove",Q),document.removeEventListener("pointerup",ne,{capture:!0})}}},[x,G,j]),c.useEffect(()=>{const _=()=>G(!1);return window.addEventListener("blur",_),window.addEventListener("resize",_),()=>{window.removeEventListener("blur",_),window.removeEventListener("resize",_)}},[G]);const[Z,te]=Ip(_=>{const Q=O().filter(ie=>!ie.disabled),ne=Q.find(ie=>ie.ref.current===document.activeElement),re=Op(Q,_,ne);re&&setTimeout(()=>re.ref.current.focus())}),R=c.useCallback((_,Q,ne)=>{const re=!ee.current&&!ne;(w.value!==void 0&&w.value===Q||re)&&(k(_),re&&(ee.current=!0))},[w.value]),$=c.useCallback(()=>x==null?void 0:x.focus(),[x]),F=c.useCallback((_,Q,ne)=>{const re=!ee.current&&!ne;(w.value!==void 0&&w.value===Q||re)&&Y(_)},[w.value]),B=r==="popper"?Ps:vp,X=B===Ps?{side:i,sideOffset:u,align:d,alignOffset:f,arrowPadding:p,collisionBoundary:g,collisionPadding:m,sticky:v,hideWhenDetached:h,avoidCollisions:b}:{};return l.jsx(hp,{scope:n,content:x,viewport:C,onViewportChange:M,itemRefCallback:R,selectedItem:D,onItemLeave:$,itemTextRefCallback:F,focusSelectedItem:q,selectedItemText:W,position:r,isPositioned:K,searchRef:Z,children:l.jsx(an,{as:ct,allowPinchZoom:!0,children:l.jsx(An,{asChild:!0,trapped:w.open,onMountAutoFocus:_=>{_.preventDefault()},onUnmountAutoFocus:I(o,_=>{var Q;(Q=w.trigger)==null||Q.focus({preventScroll:!0}),_.preventDefault()}),children:l.jsx(Lt,{asChild:!0,disableOutsidePointerEvents:!0,onEscapeKeyDown:a,onPointerDownOutside:s,onFocusOutside:_=>_.preventDefault(),onDismiss:()=>w.onOpenChange(!1),children:l.jsx(B,{role:"listbox",id:w.contentId,"data-state":w.open?"open":"closed",dir:w.dir,onContextMenu:_=>_.preventDefault(),...y,...X,onPlaced:()=>H(!0),ref:T,style:{display:"flex",flexDirection:"column",outline:"none",...y.style},onKeyDown:I(y.onKeyDown,_=>{const Q=_.ctrlKey||_.altKey||_.metaKey;if(_.key==="Tab"&&_.preventDefault(),!Q&&_.key.length===1&&te(_.key),["ArrowUp","ArrowDown","Home","End"].includes(_.key)){let re=O().filter(ie=>!ie.disabled).map(ie=>ie.ref.current);if(["ArrowUp","End"].includes(_.key)&&(re=re.slice().reverse()),["ArrowUp","ArrowDown"].includes(_.key)){const ie=_.target,ce=re.indexOf(ie);re=re.slice(ce+1)}setTimeout(()=>V(re)),_.preventDefault()}})})})})})})});gp.displayName=ZN;var QN="SelectItemAlignedPosition",vp=c.forwardRef((e,t)=>{const{__scopeSelect:n,onPlaced:r,...o}=e,a=jt(Yt,n),s=kt(Yt,n),[i,u]=c.useState(null),[d,f]=c.useState(null),p=J(t,T=>f(T)),g=no(n),m=c.useRef(!1),v=c.useRef(!0),{viewport:h,selectedItem:b,selectedItemText:y,focusSelectedItem:w}=s,x=c.useCallback(()=>{if(a.trigger&&a.valueNode&&i&&d&&h&&b&&y){const T=a.trigger.getBoundingClientRect(),D=d.getBoundingClientRect(),k=a.valueNode.getBoundingClientRect(),W=y.getBoundingClientRect();if(a.dir!=="rtl"){const ie=W.left-D.left,ce=k.left-ie,Se=T.left-ce,xe=T.width+Se,Re=Math.max(xe,D.width),We=window.innerWidth-Ke,Pe=ip(ce,[Ke,Math.max(Ke,We-Re)]);i.style.minWidth=xe+"px",i.style.left=Pe+"px"}else{const ie=D.right-W.right,ce=window.innerWidth-k.right-ie,Se=window.innerWidth-T.right-ce,xe=T.width+Se,Re=Math.max(xe,D.width),We=window.innerWidth-Ke,Pe=ip(ce,[Ke,Math.max(Ke,We-Re)]);i.style.minWidth=xe+"px",i.style.right=Pe+"px"}const Y=g(),O=window.innerHeight-Ke*2,K=h.scrollHeight,H=window.getComputedStyle(d),ee=parseInt(H.borderTopWidth,10),V=parseInt(H.paddingTop,10),q=parseInt(H.borderBottomWidth,10),G=parseInt(H.paddingBottom,10),j=ee+V+K+G+q,Z=Math.min(b.offsetHeight*5,j),te=window.getComputedStyle(h),R=parseInt(te.paddingTop,10),$=parseInt(te.paddingBottom,10),F=T.top+T.height/2-Ke,B=O-F,X=b.offsetHeight/2,_=b.offsetTop+X,Q=ee+V+_,ne=j-Q;if(Q<=F){const ie=Y.length>0&&b===Y[Y.length-1].ref.current;i.style.bottom="0px";const ce=d.clientHeight-h.offsetTop-h.offsetHeight,Se=Math.max(B,X+(ie?$:0)+ce+q),xe=Q+Se;i.style.height=xe+"px"}else{const ie=Y.length>0&&b===Y[0].ref.current;i.style.top="0px";const Se=Math.max(F,ee+h.offsetTop+(ie?R:0)+X)+ne;i.style.height=Se+"px",h.scrollTop=Q-F+h.offsetTop}i.style.margin=`${Ke}px 0`,i.style.minHeight=Z+"px",i.style.maxHeight=O+"px",r==null||r(),requestAnimationFrame(()=>m.current=!0)}},[g,a.trigger,a.valueNode,i,d,h,b,y,a.dir,r]);we(()=>x(),[x]);const[S,C]=c.useState();we(()=>{d&&C(window.getComputedStyle(d).zIndex)},[d]);const M=c.useCallback(T=>{T&&v.current===!0&&(x(),w==null||w(),v.current=!1)},[x,w]);return l.jsx(eS,{scope:n,contentWrapper:i,shouldExpandOnScrollRef:m,onScrollButtonChange:M,children:l.jsx("div",{ref:u,style:{display:"flex",flexDirection:"column",position:"fixed",zIndex:S},children:l.jsx(L.div,{...o,ref:p,style:{boxSizing:"border-box",maxHeight:"100%",...o.style}})})})});vp.displayName=QN;var JN="SelectPopperPosition",Ps=c.forwardRef((e,t)=>{const{__scopeSelect:n,align:r="start",collisionPadding:o=Ke,...a}=e,s=ro(n);return l.jsx(zr,{...s,...a,ref:t,align:r,collisionPadding:o,style:{boxSizing:"border-box",...a.style,"--radix-select-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-select-content-available-width":"var(--radix-popper-available-width)","--radix-select-content-available-height":"var(--radix-popper-available-height)","--radix-select-trigger-width":"var(--radix-popper-anchor-width)","--radix-select-trigger-height":"var(--radix-popper-anchor-height)"}})});Ps.displayName=JN;var[eS,Ts]=bn(Yt,{}),Ms="SelectViewport",bp=c.forwardRef((e,t)=>{const{__scopeSelect:n,nonce:r,...o}=e,a=kt(Ms,n),s=Ts(Ms,n),i=J(t,a.onViewportChange),u=c.useRef(0);return l.jsxs(l.Fragment,{children:[l.jsx("style",{dangerouslySetInnerHTML:{__html:"[data-radix-select-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-select-viewport]::-webkit-scrollbar{display:none}"},nonce:r}),l.jsx(to.Slot,{scope:n,children:l.jsx(L.div,{"data-radix-select-viewport":"",role:"presentation",...o,ref:i,style:{position:"relative",flex:1,overflow:"hidden auto",...o.style},onScroll:I(o.onScroll,d=>{const f=d.currentTarget,{contentWrapper:p,shouldExpandOnScrollRef:g}=s;if(g!=null&&g.current&&p){const m=Math.abs(u.current-f.scrollTop);if(m>0){const v=window.innerHeight-Ke*2,h=parseFloat(p.style.minHeight),b=parseFloat(p.style.height),y=Math.max(h,b);if(y<v){const w=y+m,x=Math.min(v,w),S=w-x;p.style.height=x+"px",p.style.bottom==="0px"&&(f.scrollTop=S>0?S:0,p.style.justifyContent="flex-end")}}}u.current=f.scrollTop})})})]})});bp.displayName=Ms;var yp="SelectGroup",[tS,nS]=bn(yp),wp=c.forwardRef((e,t)=>{const{__scopeSelect:n,...r}=e,o=me();return l.jsx(tS,{scope:n,id:o,children:l.jsx(L.div,{role:"group","aria-labelledby":o,...r,ref:t})})});wp.displayName=yp;var xp="SelectLabel",Cp=c.forwardRef((e,t)=>{const{__scopeSelect:n,...r}=e,o=nS(xp,n);return l.jsx(L.div,{id:o.id,...r,ref:t})});Cp.displayName=xp;var oo="SelectItem",[rS,Ep]=bn(oo),Np=c.forwardRef((e,t)=>{const{__scopeSelect:n,value:r,disabled:o=!1,textValue:a,...s}=e,i=jt(oo,n),u=kt(oo,n),d=i.value===r,[f,p]=c.useState(a??""),[g,m]=c.useState(!1),v=J(t,w=>{var x;return(x=u.itemRefCallback)==null?void 0:x.call(u,w,r,o)}),h=me(),b=c.useRef("touch"),y=()=>{o||(i.onValueChange(r),i.onOpenChange(!1))};if(r==="")throw new Error("A <Select.Item /> must have a value prop that is not an empty string. This is because the Select value can be set to an empty string to clear the selection and show the placeholder.");return l.jsx(rS,{scope:n,value:r,disabled:o,textId:h,isSelected:d,onItemTextChange:c.useCallback(w=>{p(x=>x||((w==null?void 0:w.textContent)??"").trim())},[]),children:l.jsx(to.ItemSlot,{scope:n,value:r,disabled:o,textValue:f,children:l.jsx(L.div,{role:"option","aria-labelledby":h,"data-highlighted":g?"":void 0,"aria-selected":d&&g,"data-state":d?"checked":"unchecked","aria-disabled":o||void 0,"data-disabled":o?"":void 0,tabIndex:o?void 0:-1,...s,ref:v,onFocus:I(s.onFocus,()=>m(!0)),onBlur:I(s.onBlur,()=>m(!1)),onClick:I(s.onClick,()=>{b.current!=="mouse"&&y()}),onPointerUp:I(s.onPointerUp,()=>{b.current==="mouse"&&y()}),onPointerDown:I(s.onPointerDown,w=>{b.current=w.pointerType}),onPointerMove:I(s.onPointerMove,w=>{var x;b.current=w.pointerType,o?(x=u.onItemLeave)==null||x.call(u):b.current==="mouse"&&w.currentTarget.focus({preventScroll:!0})}),onPointerLeave:I(s.onPointerLeave,w=>{var x;w.currentTarget===document.activeElement&&((x=u.onItemLeave)==null||x.call(u))}),onKeyDown:I(s.onKeyDown,w=>{var S;((S=u.searchRef)==null?void 0:S.current)!==""&&w.key===" "||(GN.includes(w.key)&&y(),w.key===" "&&w.preventDefault())})})})})});Np.displayName=oo;var Jn="SelectItemText",Sp=c.forwardRef((e,t)=>{const{__scopeSelect:n,className:r,style:o,...a}=e,s=jt(Jn,n),i=kt(Jn,n),u=Ep(Jn,n),d=qN(Jn,n),[f,p]=c.useState(null),g=J(t,y=>p(y),u.onItemTextChange,y=>{var w;return(w=i.itemTextRefCallback)==null?void 0:w.call(i,y,u.value,u.disabled)}),m=f==null?void 0:f.textContent,v=c.useMemo(()=>l.jsx("option",{value:u.value,disabled:u.disabled,children:m},u.value),[u.disabled,u.value,m]),{onNativeOptionAdd:h,onNativeOptionRemove:b}=d;return we(()=>(h(v),()=>b(v)),[h,b,v]),l.jsxs(l.Fragment,{children:[l.jsx(L.span,{id:u.textId,...a,ref:g}),u.isSelected&&s.valueNode&&!s.valueNodeHasChildren?Nn.createPortal(a.children,s.valueNode):null]})});Sp.displayName=Jn;var Pp="SelectItemIndicator",Tp=c.forwardRef((e,t)=>{const{__scopeSelect:n,...r}=e;return Ep(Pp,n).isSelected?l.jsx(L.span,{"aria-hidden":!0,...r,ref:t}):null});Tp.displayName=Pp;var Rs="SelectScrollUpButton",Mp=c.forwardRef((e,t)=>{const n=kt(Rs,e.__scopeSelect),r=Ts(Rs,e.__scopeSelect),[o,a]=c.useState(!1),s=J(t,r.onScrollButtonChange);return we(()=>{if(n.viewport&&n.isPositioned){let i=function(){const d=u.scrollTop>0;a(d)};const u=n.viewport;return i(),u.addEventListener("scroll",i),()=>u.removeEventListener("scroll",i)}},[n.viewport,n.isPositioned]),o?l.jsx(Dp,{...e,ref:s,onAutoScroll:()=>{const{viewport:i,selectedItem:u}=n;i&&u&&(i.scrollTop=i.scrollTop-u.offsetHeight)}}):null});Mp.displayName=Rs;var Ds="SelectScrollDownButton",Rp=c.forwardRef((e,t)=>{const n=kt(Ds,e.__scopeSelect),r=Ts(Ds,e.__scopeSelect),[o,a]=c.useState(!1),s=J(t,r.onScrollButtonChange);return we(()=>{if(n.viewport&&n.isPositioned){let i=function(){const d=u.scrollHeight-u.clientHeight,f=Math.ceil(u.scrollTop)<d;a(f)};const u=n.viewport;return i(),u.addEventListener("scroll",i),()=>u.removeEventListener("scroll",i)}},[n.viewport,n.isPositioned]),o?l.jsx(Dp,{...e,ref:s,onAutoScroll:()=>{const{viewport:i,selectedItem:u}=n;i&&u&&(i.scrollTop=i.scrollTop+u.offsetHeight)}}):null});Rp.displayName=Ds;var Dp=c.forwardRef((e,t)=>{const{__scopeSelect:n,onAutoScroll:r,...o}=e,a=kt("SelectScrollButton",n),s=c.useRef(null),i=no(n),u=c.useCallback(()=>{s.current!==null&&(window.clearInterval(s.current),s.current=null)},[]);return c.useEffect(()=>()=>u(),[u]),we(()=>{var f;const d=i().find(p=>p.ref.current===document.activeElement);(f=d==null?void 0:d.ref.current)==null||f.scrollIntoView({block:"nearest"})},[i]),l.jsx(L.div,{"aria-hidden":!0,...o,ref:t,style:{flexShrink:0,...o.style},onPointerDown:I(o.onPointerDown,()=>{s.current===null&&(s.current=window.setInterval(r,50))}),onPointerMove:I(o.onPointerMove,()=>{var d;(d=a.onItemLeave)==null||d.call(a),s.current===null&&(s.current=window.setInterval(r,50))}),onPointerLeave:I(o.onPointerLeave,()=>{u()})})}),oS="SelectSeparator",Ap=c.forwardRef((e,t)=>{const{__scopeSelect:n,...r}=e;return l.jsx(L.div,{"aria-hidden":!0,...r,ref:t})});Ap.displayName=oS;var As="SelectArrow",aS=c.forwardRef((e,t)=>{const{__scopeSelect:n,...r}=e,o=ro(n),a=jt(As,n),s=kt(As,n);return a.open&&s.position==="popper"?l.jsx(Vr,{...o,...r,ref:t}):null});aS.displayName=As;function jp(e){return e===""||e===void 0}var kp=c.forwardRef((e,t)=>{const{value:n,...r}=e,o=c.useRef(null),a=J(t,o),s=On(n);return c.useEffect(()=>{const i=o.current,u=window.HTMLSelectElement.prototype,f=Object.getOwnPropertyDescriptor(u,"value").set;if(s!==n&&f){const p=new Event("change",{bubbles:!0});f.call(i,n),i.dispatchEvent(p)}},[s,n]),l.jsx(as,{asChild:!0,children:l.jsx("select",{...r,ref:a,defaultValue:n})})});kp.displayName="BubbleSelect";function Ip(e){const t=he(e),n=c.useRef(""),r=c.useRef(0),o=c.useCallback(s=>{const i=n.current+s;t(i),function u(d){n.current=d,window.clearTimeout(r.current),d!==""&&(r.current=window.setTimeout(()=>u(""),1e3))}(i)},[t]),a=c.useCallback(()=>{n.current="",window.clearTimeout(r.current)},[]);return c.useEffect(()=>()=>window.clearTimeout(r.current),[]),[n,o,a]}function Op(e,t,n){const o=t.length>1&&Array.from(t).every(d=>d===t[0])?t[0]:t,a=n?e.indexOf(n):-1;let s=sS(e,Math.max(a,0));o.length===1&&(s=s.filter(d=>d!==n));const u=s.find(d=>d.textValue.toLowerCase().startsWith(o.toLowerCase()));return u!==n?u:void 0}function sS(e,t){return e.map((n,r)=>e[(t+r)%e.length])}var iS=lp,_p=up,lS=fp,cS=mp,$p=pp,uS=bp,dS=wp,Lp=Cp,Fp=Np,fS=Sp,mS=Tp,Bp=Mp,Wp=Rp,zp=Ap;const Vp=iS,pS=dS,Hp=lS,js=c.forwardRef(({className:e,children:t,...n},r)=>l.jsxs(_p,{ref:r,className:A("flex h-9 w-full items-center justify-between whitespace-nowrap rounded-md border border-input bg-transparent px-3 py-2 text-sm shadow-sm ring-offset-background placeholder:text-muted-foreground focus:outline-none focus:ring-1 focus:ring-ring disabled:cursor-not-allowed disabled:opacity-50 [&>span]:line-clamp-1",e),...n,children:[t,l.jsx(cS,{asChild:!0,children:l.jsx(Jt,{className:"h-4 w-4 opacity-50"})})]}));js.displayName=_p.displayName;const ks=c.forwardRef(({className:e,...t},n)=>l.jsx(Bp,{ref:n,className:A("flex cursor-default items-center justify-center py-1",e),...t,children:l.jsx(qb,{className:"h-4 w-4"})}));ks.displayName=Bp.displayName;const Is=c.forwardRef(({className:e,...t},n)=>l.jsx(Wp,{ref:n,className:A("flex cursor-default items-center justify-center py-1",e),...t,children:l.jsx(Jt,{className:"h-4 w-4"})}));Is.displayName=Wp.displayName;const Os=c.forwardRef(({className:e,children:t,position:n="popper",...r},o)=>l.jsxs($p,{ref:o,className:A("relative z-50 max-h-96 min-w-[8rem] overflow-hidden rounded-md border bg-popover text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",n==="popper"&&"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",e),position:n,...r,children:[l.jsx(ks,{}),l.jsx(uS,{className:A("p-1",n==="popper"&&"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)]"),children:t}),l.jsx(Is,{})]}));Os.displayName=$p.displayName;const Gp=c.forwardRef(({className:e,...t},n)=>l.jsx(Lp,{ref:n,className:A("px-2 py-1.5 text-sm font-semibold",e),...t}));Gp.displayName=Lp.displayName;const yn=c.forwardRef(({className:e,children:t,...n},r)=>l.jsxs(Fp,{ref:r,className:A("relative flex w-full cursor-default select-none items-center rounded-sm py-1.5 pl-2 pr-8 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",e),...n,children:[l.jsx("span",{className:"absolute right-2 flex h-3.5 w-3.5 items-center justify-center",children:l.jsx(mS,{children:l.jsx(Dn,{className:"h-4 w-4"})})}),l.jsx(fS,{children:t})]}));yn.displayName=Fp.displayName;const Up=c.forwardRef(({className:e,...t},n)=>l.jsx(zp,{ref:n,className:A("-mx-1 my-1 h-px bg-muted",e),...t}));Up.displayName=zp.displayName;const Yp=({className:e,repeat:t=1,...n})=>l.jsx(l.Fragment,{children:Array.from({length:t??1}).map((r,o)=>l.jsx("div",{className:A("animate-pulse rounded-md bg-gray-700/10 w-full h-5",e),...n},o))}),hS=["primary","secondary","success","error","warning","info","white","neutral"],gS=["xs","sm","md","lg","xl","2xl"],Kp=$t("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",{variants:{color:{primary:"text-primary",secondary:"text-secondary",success:"text-green-700",error:"text-red-700",warning:"text-yellow-700",info:"text-blue-700",white:"text-white",neutral:"text-gray-700"},size:{xs:"h-4 w-4",sm:"h-6 w-6",md:"h-8 w-8",lg:"h-10 w-10",xl:"h-14 w-14","2xl":"h-20 w-20"}},defaultVariants:{color:"primary",size:"md"}}),qp=e=>{const{label:t,size:n,color:r,className:o}=e;return l.jsxs("div",{className:A("flex flex-col justify-center items-center",o),children:[l.jsx(ly,{className:A(Kp({color:r,size:n}),"animate-spin")}),t&&l.jsx("p",{className:A("italic",Kp({color:r})),children:t})]})};var _s="Switch",[vS,LT]=ye(_s),[bS,yS]=vS(_s),Xp=c.forwardRef((e,t)=>{const{__scopeSwitch:n,name:r,checked:o,defaultChecked:a,required:s,disabled:i,value:u="on",onCheckedChange:d,form:f,...p}=e,[g,m]=c.useState(null),v=J(t,x=>m(x)),h=c.useRef(!1),b=g?f||!!g.closest("form"):!0,[y=!1,w]=Ee({prop:o,defaultProp:a,onChange:d});return l.jsxs(bS,{scope:n,checked:y,disabled:i,children:[l.jsx(L.button,{type:"button",role:"switch","aria-checked":y,"aria-required":s,"data-state":Jp(y),"data-disabled":i?"":void 0,disabled:i,value:u,...p,ref:v,onClick:I(e.onClick,x=>{w(S=>!S),b&&(h.current=x.isPropagationStopped(),h.current||x.stopPropagation())})}),b&&l.jsx(wS,{control:g,bubbles:!h.current,name:r,value:u,checked:y,required:s,disabled:i,form:f,style:{transform:"translateX(-100%)"}})]})});Xp.displayName=_s;var Zp="SwitchThumb",Qp=c.forwardRef((e,t)=>{const{__scopeSwitch:n,...r}=e,o=yS(Zp,n);return l.jsx(L.span,{"data-state":Jp(o.checked),"data-disabled":o.disabled?"":void 0,...r,ref:t})});Qp.displayName=Zp;var wS=e=>{const{control:t,checked:n,bubbles:r=!0,...o}=e,a=c.useRef(null),s=On(n),i=Er(t);return c.useEffect(()=>{const u=a.current,d=window.HTMLInputElement.prototype,p=Object.getOwnPropertyDescriptor(d,"checked").set;if(s!==n&&p){const g=new Event("click",{bubbles:r});p.call(u,n),u.dispatchEvent(g)}},[s,n,r]),l.jsx("input",{type:"checkbox","aria-hidden":!0,defaultChecked:n,...o,tabIndex:-1,ref:a,style:{...e.style,...i,position:"absolute",pointerEvents:"none",opacity:0,margin:0}})};function Jp(e){return e?"checked":"unchecked"}var eh=Xp,xS=Qp;const th=c.forwardRef(({className:e,...t},n)=>l.jsx(eh,{className:A("peer inline-flex h-5 w-9 shrink-0 cursor-pointer items-center rounded-full border-2 border-transparent shadow-sm transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=unchecked]:bg-input",e),...t,ref:n,children:l.jsx(xS,{className:A("pointer-events-none block h-4 w-4 rounded-full bg-background shadow-lg ring-0 transition-transform data-[state=checked]:translate-x-4 data-[state=unchecked]:translate-x-0")})}));th.displayName=eh.displayName;const nh=c.forwardRef(({className:e,...t},n)=>l.jsx("div",{className:"relative w-full overflow-auto",children:l.jsx("table",{ref:n,className:A("w-full caption-bottom text-sm",e),...t})}));nh.displayName="Table";const rh=c.forwardRef(({className:e,...t},n)=>l.jsx("thead",{ref:n,className:A("[&_tr]:border-b",e),...t}));rh.displayName="TableHeader";const oh=c.forwardRef(({className:e,...t},n)=>l.jsx("tbody",{ref:n,className:A("[&_tr:last-child]:border-0",e),...t}));oh.displayName="TableBody";const ah=c.forwardRef(({className:e,...t},n)=>l.jsx("tfoot",{ref:n,className:A("border-t bg-muted/50 font-medium [&>tr]:last:border-b-0",e),...t}));ah.displayName="TableFooter";const sh=c.forwardRef(({className:e,...t},n)=>l.jsx("tr",{ref:n,className:A("border-b transition-colors hover:bg-muted/50 data-[state=selected]:bg-muted",e),...t}));sh.displayName="TableRow";const ih=c.forwardRef(({className:e,...t},n)=>l.jsx("th",{ref:n,className:A("h-10 px-2 text-left align-middle font-medium text-muted-foreground [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]",e),...t}));ih.displayName="TableHead";const lh=c.forwardRef(({className:e,...t},n)=>l.jsx("td",{ref:n,className:A("p-2 align-middle [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]",e),...t}));lh.displayName="TableCell";const ch=c.forwardRef(({className:e,...t},n)=>l.jsx("caption",{ref:n,className:A("mt-4 text-sm text-muted-foreground",e),...t}));ch.displayName="TableCaption";var $s="Tabs",[CS,FT]=ye($s,[Rt]),uh=Rt(),[ES,Ls]=CS($s),dh=c.forwardRef((e,t)=>{const{__scopeTabs:n,value:r,onValueChange:o,defaultValue:a,orientation:s="horizontal",dir:i,activationMode:u="automatic",...d}=e,f=xt(i),[p,g]=Ee({prop:r,onChange:o,defaultProp:a});return l.jsx(ES,{scope:n,baseId:me(),value:p,onValueChange:g,orientation:s,dir:f,activationMode:u,children:l.jsx(L.div,{dir:f,"data-orientation":s,...d,ref:t})})});dh.displayName=$s;var fh="TabsList",mh=c.forwardRef((e,t)=>{const{__scopeTabs:n,loop:r=!0,...o}=e,a=Ls(fh,n),s=uh(n);return l.jsx(Gr,{asChild:!0,...s,orientation:a.orientation,dir:a.dir,loop:r,children:l.jsx(L.div,{role:"tablist","aria-orientation":a.orientation,...o,ref:t})})});mh.displayName=fh;var ph="TabsTrigger",hh=c.forwardRef((e,t)=>{const{__scopeTabs:n,value:r,disabled:o=!1,...a}=e,s=Ls(ph,n),i=uh(n),u=bh(s.baseId,r),d=yh(s.baseId,r),f=r===s.value;return l.jsx(Ur,{asChild:!0,...i,focusable:!o,active:f,children:l.jsx(L.button,{type:"button",role:"tab","aria-selected":f,"aria-controls":d,"data-state":f?"active":"inactive","data-disabled":o?"":void 0,disabled:o,id:u,...a,ref:t,onMouseDown:I(e.onMouseDown,p=>{!o&&p.button===0&&p.ctrlKey===!1?s.onValueChange(r):p.preventDefault()}),onKeyDown:I(e.onKeyDown,p=>{[" ","Enter"].includes(p.key)&&s.onValueChange(r)}),onFocus:I(e.onFocus,()=>{const p=s.activationMode!=="manual";!f&&!o&&p&&s.onValueChange(r)})})})});hh.displayName=ph;var gh="TabsContent",vh=c.forwardRef((e,t)=>{const{__scopeTabs:n,value:r,forceMount:o,children:a,...s}=e,i=Ls(gh,n),u=bh(i.baseId,r),d=yh(i.baseId,r),f=r===i.value,p=c.useRef(f);return c.useEffect(()=>{const g=requestAnimationFrame(()=>p.current=!1);return()=>cancelAnimationFrame(g)},[]),l.jsx(be,{present:o||f,children:({present:g})=>l.jsx(L.div,{"data-state":f?"active":"inactive","data-orientation":i.orientation,role:"tabpanel","aria-labelledby":u,hidden:!g,id:d,tabIndex:0,...s,ref:t,style:{...e.style,animationDuration:p.current?"0s":void 0},children:g&&a})})});vh.displayName=gh;function bh(e,t){return`${e}-trigger-${t}`}function yh(e,t){return`${e}-content-${t}`}var NS=dh,wh=mh,xh=hh,Ch=vh;const SS=NS,Eh=c.forwardRef(({className:e,...t},n)=>l.jsx(wh,{ref:n,className:A("inline-flex h-9 items-center justify-center rounded-lg bg-muted p-1 text-muted-foreground",e),...t}));Eh.displayName=wh.displayName;const Nh=c.forwardRef(({className:e,...t},n)=>l.jsx(xh,{ref:n,className:A("inline-flex items-center justify-center whitespace-nowrap rounded-md px-3 py-1 text-sm font-medium ring-offset-background transition-all focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:bg-background data-[state=active]:text-foreground data-[state=active]:shadow",e),...t}));Nh.displayName=xh.displayName;const Sh=c.forwardRef(({className:e,...t},n)=>l.jsx(Ch,{ref:n,className:A("mt-2 ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2",e),...t}));Sh.displayName=Ch.displayName;const Ph=c.forwardRef(({className:e,...t},n)=>l.jsx("textarea",{className:A("flex min-h-[60px] w-full rounded-md border border-input bg-transparent px-3 py-2 text-sm shadow-sm placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50 md:text-sm",e),ref:n,...t}));Ph.displayName="Textarea";var PS=e=>{switch(e){case"success":return RS;case"info":return AS;case"warning":return DS;case"error":return jS;default:return null}},TS=Array(12).fill(0),MS=({visible:e,className:t})=>P.createElement("div",{className:["sonner-loading-wrapper",t].filter(Boolean).join(" "),"data-visible":e},P.createElement("div",{className:"sonner-spinner"},TS.map((n,r)=>P.createElement("div",{className:"sonner-loading-bar",key:`spinner-bar-${r}`})))),RS=P.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",height:"20",width:"20"},P.createElement("path",{fillRule:"evenodd",d:"M10 18a8 8 0 100-16 8 8 0 000 16zm3.857-9.809a.75.75 0 00-1.214-.882l-3.483 4.79-1.88-1.88a.75.75 0 10-1.06 1.061l2.5 2.5a.75.75 0 001.137-.089l4-5.5z",clipRule:"evenodd"})),DS=P.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor",height:"20",width:"20"},P.createElement("path",{fillRule:"evenodd",d:"M9.401 3.003c1.155-2 4.043-2 5.197 0l7.355 12.748c1.154 2-.29 4.5-2.599 4.5H4.645c-2.309 0-3.752-2.5-2.598-4.5L9.4 3.003zM12 8.25a.75.75 0 01.75.75v3.75a.75.75 0 01-1.5 0V9a.75.75 0 01.75-.75zm0 8.25a.75.75 0 100-1.5.75.75 0 000 1.5z",clipRule:"evenodd"})),AS=P.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",height:"20",width:"20"},P.createElement("path",{fillRule:"evenodd",d:"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-7-4a1 1 0 11-2 0 1 1 0 012 0zM9 9a.75.75 0 000 1.5h.253a.25.25 0 01.244.304l-.459 2.066A1.75 1.75 0 0010.747 15H11a.75.75 0 000-1.5h-.253a.25.25 0 01-.244-.304l.459-2.066A1.75 1.75 0 009.253 9H9z",clipRule:"evenodd"})),jS=P.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",height:"20",width:"20"},P.createElement("path",{fillRule:"evenodd",d:"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-8-5a.75.75 0 01.75.75v4.5a.75.75 0 01-1.5 0v-4.5A.75.75 0 0110 5zm0 10a1 1 0 100-2 1 1 0 000 2z",clipRule:"evenodd"})),kS=P.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"},P.createElement("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),P.createElement("line",{x1:"6",y1:"6",x2:"18",y2:"18"})),IS=()=>{let[e,t]=P.useState(document.hidden);return P.useEffect(()=>{let n=()=>{t(document.hidden)};return document.addEventListener("visibilitychange",n),()=>window.removeEventListener("visibilitychange",n)},[]),e},Fs=1,OS=class{constructor(){this.subscribe=e=>(this.subscribers.push(e),()=>{let t=this.subscribers.indexOf(e);this.subscribers.splice(t,1)}),this.publish=e=>{this.subscribers.forEach(t=>t(e))},this.addToast=e=>{this.publish(e),this.toasts=[...this.toasts,e]},this.create=e=>{var t;let{message:n,...r}=e,o=typeof(e==null?void 0:e.id)=="number"||((t=e.id)==null?void 0:t.length)>0?e.id:Fs++,a=this.toasts.find(i=>i.id===o),s=e.dismissible===void 0?!0:e.dismissible;return a?this.toasts=this.toasts.map(i=>i.id===o?(this.publish({...i,...e,id:o,title:n}),{...i,...e,id:o,dismissible:s,title:n}):i):this.addToast({title:n,...r,dismissible:s,id:o}),o},this.dismiss=e=>(e||this.toasts.forEach(t=>{this.subscribers.forEach(n=>n({id:t.id,dismiss:!0}))}),this.subscribers.forEach(t=>t({id:e,dismiss:!0})),e),this.message=(e,t)=>this.create({...t,message:e}),this.error=(e,t)=>this.create({...t,message:e,type:"error"}),this.success=(e,t)=>this.create({...t,type:"success",message:e}),this.info=(e,t)=>this.create({...t,type:"info",message:e}),this.warning=(e,t)=>this.create({...t,type:"warning",message:e}),this.loading=(e,t)=>this.create({...t,type:"loading",message:e}),this.promise=(e,t)=>{if(!t)return;let n;t.loading!==void 0&&(n=this.create({...t,promise:e,type:"loading",message:t.loading,description:typeof t.description!="function"?t.description:void 0}));let r=e instanceof Promise?e:e(),o=n!==void 0,a,s=r.then(async u=>{if(a=["resolve",u],P.isValidElement(u))o=!1,this.create({id:n,type:"default",message:u});else if($S(u)&&!u.ok){o=!1;let d=typeof t.error=="function"?await t.error(`HTTP error! status: ${u.status}`):t.error,f=typeof t.description=="function"?await t.description(`HTTP error! status: ${u.status}`):t.description;this.create({id:n,type:"error",message:d,description:f})}else if(t.success!==void 0){o=!1;let d=typeof t.success=="function"?await t.success(u):t.success,f=typeof t.description=="function"?await t.description(u):t.description;this.create({id:n,type:"success",message:d,description:f})}}).catch(async u=>{if(a=["reject",u],t.error!==void 0){o=!1;let d=typeof t.error=="function"?await t.error(u):t.error,f=typeof t.description=="function"?await t.description(u):t.description;this.create({id:n,type:"error",message:d,description:f})}}).finally(()=>{var u;o&&(this.dismiss(n),n=void 0),(u=t.finally)==null||u.call(t)}),i=()=>new Promise((u,d)=>s.then(()=>a[0]==="reject"?d(a[1]):u(a[1])).catch(d));return typeof n!="string"&&typeof n!="number"?{unwrap:i}:Object.assign(n,{unwrap:i})},this.custom=(e,t)=>{let n=(t==null?void 0:t.id)||Fs++;return this.create({jsx:e(n),id:n,...t}),n},this.subscribers=[],this.toasts=[]}},$e=new OS,_S=(e,t)=>{let n=(t==null?void 0:t.id)||Fs++;return $e.addToast({title:e,...t,id:n}),n},$S=e=>e&&typeof e=="object"&&"ok"in e&&typeof e.ok=="boolean"&&"status"in e&&typeof e.status=="number",LS=_S,FS=()=>$e.toasts,gt=Object.assign(LS,{success:$e.success,info:$e.info,warning:$e.warning,error:$e.error,custom:$e.custom,message:$e.message,promise:$e.promise,dismiss:$e.dismiss,loading:$e.loading},{getHistory:FS});function BS(e,{insertAt:t}={}){if(typeof document>"u")return;let n=document.head||document.getElementsByTagName("head")[0],r=document.createElement("style");r.type="text/css",t==="top"&&n.firstChild?n.insertBefore(r,n.firstChild):n.appendChild(r),r.styleSheet?r.styleSheet.cssText=e:r.appendChild(document.createTextNode(e))}BS(`:where(html[dir="ltr"]),:where([data-sonner-toaster][dir="ltr"]){--toast-icon-margin-start: -3px;--toast-icon-margin-end: 4px;--toast-svg-margin-start: -1px;--toast-svg-margin-end: 0px;--toast-button-margin-start: auto;--toast-button-margin-end: 0;--toast-close-button-start: 0;--toast-close-button-end: unset;--toast-close-button-transform: translate(-35%, -35%)}:where(html[dir="rtl"]),:where([data-sonner-toaster][dir="rtl"]){--toast-icon-margin-start: 4px;--toast-icon-margin-end: -3px;--toast-svg-margin-start: 0px;--toast-svg-margin-end: -1px;--toast-button-margin-start: 0;--toast-button-margin-end: auto;--toast-close-button-start: unset;--toast-close-button-end: 0;--toast-close-button-transform: translate(35%, -35%)}:where([data-sonner-toaster]){position:fixed;width:var(--width);font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;--gray1: hsl(0, 0%, 99%);--gray2: hsl(0, 0%, 97.3%);--gray3: hsl(0, 0%, 95.1%);--gray4: hsl(0, 0%, 93%);--gray5: hsl(0, 0%, 90.9%);--gray6: hsl(0, 0%, 88.7%);--gray7: hsl(0, 0%, 85.8%);--gray8: hsl(0, 0%, 78%);--gray9: hsl(0, 0%, 56.1%);--gray10: hsl(0, 0%, 52.3%);--gray11: hsl(0, 0%, 43.5%);--gray12: hsl(0, 0%, 9%);--border-radius: 8px;box-sizing:border-box;padding:0;margin:0;list-style:none;outline:none;z-index:999999999;transition:transform .4s ease}:where([data-sonner-toaster][data-lifted="true"]){transform:translateY(-10px)}@media (hover: none) and (pointer: coarse){:where([data-sonner-toaster][data-lifted="true"]){transform:none}}:where([data-sonner-toaster][data-x-position="right"]){right:max(var(--offset),env(safe-area-inset-right))}:where([data-sonner-toaster][data-x-position="left"]){left:max(var(--offset),env(safe-area-inset-left))}:where([data-sonner-toaster][data-x-position="center"]){left:50%;transform:translate(-50%)}:where([data-sonner-toaster][data-y-position="top"]){top:max(var(--offset),env(safe-area-inset-top))}:where([data-sonner-toaster][data-y-position="bottom"]){bottom:max(var(--offset),env(safe-area-inset-bottom))}:where([data-sonner-toast]){--y: translateY(100%);--lift-amount: calc(var(--lift) * var(--gap));z-index:var(--z-index);position:absolute;opacity:0;transform:var(--y);filter:blur(0);touch-action:none;transition:transform .4s,opacity .4s,height .4s,box-shadow .2s;box-sizing:border-box;outline:none;overflow-wrap:anywhere}:where([data-sonner-toast][data-styled="true"]){padding:16px;background:var(--normal-bg);border:1px solid var(--normal-border);color:var(--normal-text);border-radius:var(--border-radius);box-shadow:0 4px 12px #0000001a;width:var(--width);font-size:13px;display:flex;align-items:center;gap:6px}:where([data-sonner-toast]:focus-visible){box-shadow:0 4px 12px #0000001a,0 0 0 2px #0003}:where([data-sonner-toast][data-y-position="top"]){top:0;--y: translateY(-100%);--lift: 1;--lift-amount: calc(1 * var(--gap))}:where([data-sonner-toast][data-y-position="bottom"]){bottom:0;--y: translateY(100%);--lift: -1;--lift-amount: calc(var(--lift) * var(--gap))}:where([data-sonner-toast]) :where([data-description]){font-weight:400;line-height:1.4;color:inherit}:where([data-sonner-toast]) :where([data-title]){font-weight:500;line-height:1.5;color:inherit}:where([data-sonner-toast]) :where([data-icon]){display:flex;height:16px;width:16px;position:relative;justify-content:flex-start;align-items:center;flex-shrink:0;margin-left:var(--toast-icon-margin-start);margin-right:var(--toast-icon-margin-end)}:where([data-sonner-toast][data-promise="true"]) :where([data-icon])>svg{opacity:0;transform:scale(.8);transform-origin:center;animation:sonner-fade-in .3s ease forwards}:where([data-sonner-toast]) :where([data-icon])>*{flex-shrink:0}:where([data-sonner-toast]) :where([data-icon]) svg{margin-left:var(--toast-svg-margin-start);margin-right:var(--toast-svg-margin-end)}:where([data-sonner-toast]) :where([data-content]){display:flex;flex-direction:column;gap:2px}[data-sonner-toast][data-styled=true] [data-button]{border-radius:4px;padding-left:8px;padding-right:8px;height:24px;font-size:12px;color:var(--normal-bg);background:var(--normal-text);margin-left:var(--toast-button-margin-start);margin-right:var(--toast-button-margin-end);border:none;cursor:pointer;outline:none;display:flex;align-items:center;flex-shrink:0;transition:opacity .4s,box-shadow .2s}:where([data-sonner-toast]) :where([data-button]):focus-visible{box-shadow:0 0 0 2px #0006}:where([data-sonner-toast]) :where([data-button]):first-of-type{margin-left:var(--toast-button-margin-start);margin-right:var(--toast-button-margin-end)}:where([data-sonner-toast]) :where([data-cancel]){color:var(--normal-text);background:rgba(0,0,0,.08)}:where([data-sonner-toast][data-theme="dark"]) :where([data-cancel]){background:rgba(255,255,255,.3)}:where([data-sonner-toast]) :where([data-close-button]){position:absolute;left:var(--toast-close-button-start);right:var(--toast-close-button-end);top:0;height:20px;width:20px;display:flex;justify-content:center;align-items:center;padding:0;color:var(--gray12);border:1px solid var(--gray4);transform:var(--toast-close-button-transform);border-radius:50%;cursor:pointer;z-index:1;transition:opacity .1s,background .2s,border-color .2s}[data-sonner-toast] [data-close-button]{background:var(--gray1)}:where([data-sonner-toast]) :where([data-close-button]):focus-visible{box-shadow:0 4px 12px #0000001a,0 0 0 2px #0003}:where([data-sonner-toast]) :where([data-disabled="true"]){cursor:not-allowed}:where([data-sonner-toast]):hover :where([data-close-button]):hover{background:var(--gray2);border-color:var(--gray5)}:where([data-sonner-toast][data-swiping="true"]):before{content:"";position:absolute;left:0;right:0;height:100%;z-index:-1}:where([data-sonner-toast][data-y-position="top"][data-swiping="true"]):before{bottom:50%;transform:scaleY(3) translateY(50%)}:where([data-sonner-toast][data-y-position="bottom"][data-swiping="true"]):before{top:50%;transform:scaleY(3) translateY(-50%)}:where([data-sonner-toast][data-swiping="false"][data-removed="true"]):before{content:"";position:absolute;inset:0;transform:scaleY(2)}:where([data-sonner-toast]):after{content:"";position:absolute;left:0;height:calc(var(--gap) + 1px);bottom:100%;width:100%}:where([data-sonner-toast][data-mounted="true"]){--y: translateY(0);opacity:1}:where([data-sonner-toast][data-expanded="false"][data-front="false"]){--scale: var(--toasts-before) * .05 + 1;--y: translateY(calc(var(--lift-amount) * var(--toasts-before))) scale(calc(-1 * var(--scale)));height:var(--front-toast-height)}:where([data-sonner-toast])>*{transition:opacity .4s}:where([data-sonner-toast][data-expanded="false"][data-front="false"][data-styled="true"])>*{opacity:0}:where([data-sonner-toast][data-visible="false"]){opacity:0;pointer-events:none}:where([data-sonner-toast][data-mounted="true"][data-expanded="true"]){--y: translateY(calc(var(--lift) * var(--offset)));height:var(--initial-height)}:where([data-sonner-toast][data-removed="true"][data-front="true"][data-swipe-out="false"]){--y: translateY(calc(var(--lift) * -100%));opacity:0}:where([data-sonner-toast][data-removed="true"][data-front="false"][data-swipe-out="false"][data-expanded="true"]){--y: translateY(calc(var(--lift) * var(--offset) + var(--lift) * -100%));opacity:0}:where([data-sonner-toast][data-removed="true"][data-front="false"][data-swipe-out="false"][data-expanded="false"]){--y: translateY(40%);opacity:0;transition:transform .5s,opacity .2s}:where([data-sonner-toast][data-removed="true"][data-front="false"]):before{height:calc(var(--initial-height) + 20%)}[data-sonner-toast][data-swiping=true]{transform:var(--y) translateY(var(--swipe-amount, 0px));transition:none}[data-sonner-toast][data-swiped=true]{user-select:none}[data-sonner-toast][data-swipe-out=true][data-y-position=bottom],[data-sonner-toast][data-swipe-out=true][data-y-position=top]{animation:swipe-out .2s ease-out forwards}@keyframes swipe-out{0%{transform:translateY(calc(var(--lift) * var(--offset) + var(--swipe-amount)));opacity:1}to{transform:translateY(calc(var(--lift) * var(--offset) + var(--swipe-amount) + var(--lift) * -100%));opacity:0}}@media (max-width: 600px){[data-sonner-toaster]{position:fixed;--mobile-offset: 16px;right:var(--mobile-offset);left:var(--mobile-offset);width:100%}[data-sonner-toaster][dir=rtl]{left:calc(var(--mobile-offset) * -1)}[data-sonner-toaster] [data-sonner-toast]{left:0;right:0;width:calc(100% - var(--mobile-offset) * 2)}[data-sonner-toaster][data-x-position=left]{left:var(--mobile-offset)}[data-sonner-toaster][data-y-position=bottom]{bottom:20px}[data-sonner-toaster][data-y-position=top]{top:20px}[data-sonner-toaster][data-x-position=center]{left:var(--mobile-offset);right:var(--mobile-offset);transform:none}}[data-sonner-toaster][data-theme=light]{--normal-bg: #fff;--normal-border: var(--gray4);--normal-text: var(--gray12);--success-bg: hsl(143, 85%, 96%);--success-border: hsl(145, 92%, 91%);--success-text: hsl(140, 100%, 27%);--info-bg: hsl(208, 100%, 97%);--info-border: hsl(221, 91%, 91%);--info-text: hsl(210, 92%, 45%);--warning-bg: hsl(49, 100%, 97%);--warning-border: hsl(49, 91%, 91%);--warning-text: hsl(31, 92%, 45%);--error-bg: hsl(359, 100%, 97%);--error-border: hsl(359, 100%, 94%);--error-text: hsl(360, 100%, 45%)}[data-sonner-toaster][data-theme=light] [data-sonner-toast][data-invert=true]{--normal-bg: #000;--normal-border: hsl(0, 0%, 20%);--normal-text: var(--gray1)}[data-sonner-toaster][data-theme=dark] [data-sonner-toast][data-invert=true]{--normal-bg: #fff;--normal-border: var(--gray3);--normal-text: var(--gray12)}[data-sonner-toaster][data-theme=dark]{--normal-bg: #000;--normal-border: hsl(0, 0%, 20%);--normal-text: var(--gray1);--success-bg: hsl(150, 100%, 6%);--success-border: hsl(147, 100%, 12%);--success-text: hsl(150, 86%, 65%);--info-bg: hsl(215, 100%, 6%);--info-border: hsl(223, 100%, 12%);--info-text: hsl(216, 87%, 65%);--warning-bg: hsl(64, 100%, 6%);--warning-border: hsl(60, 100%, 12%);--warning-text: hsl(46, 87%, 65%);--error-bg: hsl(358, 76%, 10%);--error-border: hsl(357, 89%, 16%);--error-text: hsl(358, 100%, 81%)}[data-rich-colors=true][data-sonner-toast][data-type=success],[data-rich-colors=true][data-sonner-toast][data-type=success] [data-close-button]{background:var(--success-bg);border-color:var(--success-border);color:var(--success-text)}[data-rich-colors=true][data-sonner-toast][data-type=info],[data-rich-colors=true][data-sonner-toast][data-type=info] [data-close-button]{background:var(--info-bg);border-color:var(--info-border);color:var(--info-text)}[data-rich-colors=true][data-sonner-toast][data-type=warning],[data-rich-colors=true][data-sonner-toast][data-type=warning] [data-close-button]{background:var(--warning-bg);border-color:var(--warning-border);color:var(--warning-text)}[data-rich-colors=true][data-sonner-toast][data-type=error],[data-rich-colors=true][data-sonner-toast][data-type=error] [data-close-button]{background:var(--error-bg);border-color:var(--error-border);color:var(--error-text)}.sonner-loading-wrapper{--size: 16px;height:var(--size);width:var(--size);position:absolute;inset:0;z-index:10}.sonner-loading-wrapper[data-visible=false]{transform-origin:center;animation:sonner-fade-out .2s ease forwards}.sonner-spinner{position:relative;top:50%;left:50%;height:var(--size);width:var(--size)}.sonner-loading-bar{animation:sonner-spin 1.2s linear infinite;background:var(--gray11);border-radius:6px;height:8%;left:-10%;position:absolute;top:-3.9%;width:24%}.sonner-loading-bar:nth-child(1){animation-delay:-1.2s;transform:rotate(.0001deg) translate(146%)}.sonner-loading-bar:nth-child(2){animation-delay:-1.1s;transform:rotate(30deg) translate(146%)}.sonner-loading-bar:nth-child(3){animation-delay:-1s;transform:rotate(60deg) translate(146%)}.sonner-loading-bar:nth-child(4){animation-delay:-.9s;transform:rotate(90deg) translate(146%)}.sonner-loading-bar:nth-child(5){animation-delay:-.8s;transform:rotate(120deg) translate(146%)}.sonner-loading-bar:nth-child(6){animation-delay:-.7s;transform:rotate(150deg) translate(146%)}.sonner-loading-bar:nth-child(7){animation-delay:-.6s;transform:rotate(180deg) translate(146%)}.sonner-loading-bar:nth-child(8){animation-delay:-.5s;transform:rotate(210deg) translate(146%)}.sonner-loading-bar:nth-child(9){animation-delay:-.4s;transform:rotate(240deg) translate(146%)}.sonner-loading-bar:nth-child(10){animation-delay:-.3s;transform:rotate(270deg) translate(146%)}.sonner-loading-bar:nth-child(11){animation-delay:-.2s;transform:rotate(300deg) translate(146%)}.sonner-loading-bar:nth-child(12){animation-delay:-.1s;transform:rotate(330deg) translate(146%)}@keyframes sonner-fade-in{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@keyframes sonner-fade-out{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.8)}}@keyframes sonner-spin{0%{opacity:1}to{opacity:.15}}@media (prefers-reduced-motion){[data-sonner-toast],[data-sonner-toast]>*,.sonner-loading-bar{transition:none!important;animation:none!important}}.sonner-loader{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);transform-origin:center;transition:opacity .2s,transform .2s}.sonner-loader[data-visible=false]{opacity:0;transform:scale(.8) translate(-50%,-50%)}
267
- `);function ao(e){return e.label!==void 0}var WS=3,zS="32px",Th=4e3,VS=356,HS=14,GS=20,US=200;function YS(...e){return e.filter(Boolean).join(" ")}var KS=e=>{var t,n,r,o,a,s,i,u,d,f,p;let{invert:g,toast:m,unstyled:v,interacting:h,setHeights:b,visibleToasts:y,heights:w,index:x,toasts:S,expanded:C,removeToast:M,defaultRichColors:T,closeButton:D,style:k,cancelButtonStyle:W,actionButtonStyle:Y,className:O="",descriptionClassName:K="",duration:H,position:ee,gap:V,loadingIcon:q,expandByDefault:G,classNames:j,icons:Z,closeButtonAriaLabel:te="Close toast",pauseWhenPageIsHidden:R,cn:$}=e,[F,B]=P.useState(!1),[X,_]=P.useState(!1),[Q,ne]=P.useState(!1),[re,ie]=P.useState(!1),[ce,Se]=P.useState(!1),[xe,Re]=P.useState(0),[We,Pe]=P.useState(0),Le=P.useRef(m.duration||H||Th),De=P.useRef(null),vt=P.useRef(null),E=x===0,U=x+1<=y,z=m.type,le=m.dismissible!==!1,Te=m.className||"",ge=m.descriptionClassName||"",oe=P.useMemo(()=>w.findIndex(ae=>ae.toastId===m.id)||0,[w,m.id]),qe=P.useMemo(()=>{var ae;return(ae=m.closeButton)!=null?ae:D},[m.closeButton,D]);P.useMemo(()=>m.duration||H||Th,[m.duration,H]);let ot=P.useRef(0),Ce=P.useRef(0),at=P.useRef(0),st=P.useRef(null),[Xe,Cn]=ee.split("-"),ze=P.useMemo(()=>w.reduce((ae,fe,ve)=>ve>=oe?ae:ae+fe.height,0),[w,oe]),mg=IS(),vT=m.invert||g,Zs=z==="loading";Ce.current=P.useMemo(()=>oe*V+ze,[oe,ze]),P.useEffect(()=>{B(!0)},[]),P.useEffect(()=>{let ae=vt.current;if(ae){let fe=ae.getBoundingClientRect().height;return Pe(fe),b(ve=>[{toastId:m.id,height:fe,position:m.position},...ve]),()=>b(ve=>ve.filter(Ze=>Ze.toastId!==m.id))}},[b,m.id]),P.useLayoutEffect(()=>{if(!F)return;let ae=vt.current,fe=ae.style.height;ae.style.height="auto";let ve=ae.getBoundingClientRect().height;ae.style.height=fe,Pe(ve),b(Ze=>Ze.find(it=>it.toastId===m.id)?Ze.map(it=>it.toastId===m.id?{...it,height:ve}:it):[{toastId:m.id,height:ve,position:m.position},...Ze])},[F,m.title,m.description,b,m.id]);let Ot=P.useCallback(()=>{_(!0),Re(Ce.current),b(ae=>ae.filter(fe=>fe.toastId!==m.id)),setTimeout(()=>{M(m)},US)},[m,M,b,Ce]);P.useEffect(()=>{if(m.promise&&z==="loading"||m.duration===1/0||m.type==="loading")return;let ae;return C||h||R&&mg?(()=>{if(at.current<ot.current){let fe=new Date().getTime()-ot.current;Le.current=Le.current-fe}at.current=new Date().getTime()})():Le.current!==1/0&&(ot.current=new Date().getTime(),ae=setTimeout(()=>{var fe;(fe=m.onAutoClose)==null||fe.call(m,m),Ot()},Le.current)),()=>clearTimeout(ae)},[C,h,m,z,R,mg,Ot]),P.useEffect(()=>{m.delete&&Ot()},[Ot,m.delete]);function bT(){var ae,fe,ve;return Z!=null&&Z.loading?P.createElement("div",{className:$(j==null?void 0:j.loader,(ae=m==null?void 0:m.classNames)==null?void 0:ae.loader,"sonner-loader"),"data-visible":z==="loading"},Z.loading):q?P.createElement("div",{className:$(j==null?void 0:j.loader,(fe=m==null?void 0:m.classNames)==null?void 0:fe.loader,"sonner-loader"),"data-visible":z==="loading"},q):P.createElement(MS,{className:$(j==null?void 0:j.loader,(ve=m==null?void 0:m.classNames)==null?void 0:ve.loader),visible:z==="loading"})}return P.createElement("li",{tabIndex:0,ref:vt,className:$(O,Te,j==null?void 0:j.toast,(t=m==null?void 0:m.classNames)==null?void 0:t.toast,j==null?void 0:j.default,j==null?void 0:j[z],(n=m==null?void 0:m.classNames)==null?void 0:n[z]),"data-sonner-toast":"","data-rich-colors":(r=m.richColors)!=null?r:T,"data-styled":!(m.jsx||m.unstyled||v),"data-mounted":F,"data-promise":!!m.promise,"data-swiped":ce,"data-removed":X,"data-visible":U,"data-y-position":Xe,"data-x-position":Cn,"data-index":x,"data-front":E,"data-swiping":Q,"data-dismissible":le,"data-type":z,"data-invert":vT,"data-swipe-out":re,"data-expanded":!!(C||G&&F),style:{"--index":x,"--toasts-before":x,"--z-index":S.length-x,"--offset":`${X?xe:Ce.current}px`,"--initial-height":G?"auto":`${We}px`,...k,...m.style},onPointerDown:ae=>{Zs||!le||(De.current=new Date,Re(Ce.current),ae.target.setPointerCapture(ae.pointerId),ae.target.tagName!=="BUTTON"&&(ne(!0),st.current={x:ae.clientX,y:ae.clientY}))},onPointerUp:()=>{var ae,fe,ve,Ze;if(re||!le)return;st.current=null;let it=Number(((ae=vt.current)==null?void 0:ae.style.getPropertyValue("--swipe-amount").replace("px",""))||0),ho=new Date().getTime()-((fe=De.current)==null?void 0:fe.getTime()),yT=Math.abs(it)/ho;if(Math.abs(it)>=GS||yT>.11){Re(Ce.current),(ve=m.onDismiss)==null||ve.call(m,m),Ot(),ie(!0),Se(!1);return}(Ze=vt.current)==null||Ze.style.setProperty("--swipe-amount","0px"),ne(!1)},onPointerMove:ae=>{var fe,ve;if(!st.current||!le)return;let Ze=ae.clientY-st.current.y,it=((fe=window.getSelection())==null?void 0:fe.toString().length)>0,ho=Xe==="top"?Math.min(0,Ze):Math.max(0,Ze);Math.abs(ho)>0&&Se(!0),!it&&((ve=vt.current)==null||ve.style.setProperty("--swipe-amount",`${ho}px`))}},qe&&!m.jsx?P.createElement("button",{"aria-label":te,"data-disabled":Zs,"data-close-button":!0,onClick:Zs||!le?()=>{}:()=>{var ae;Ot(),(ae=m.onDismiss)==null||ae.call(m,m)},className:$(j==null?void 0:j.closeButton,(o=m==null?void 0:m.classNames)==null?void 0:o.closeButton)},(a=Z==null?void 0:Z.close)!=null?a:kS):null,m.jsx||P.isValidElement(m.title)?m.jsx?m.jsx:typeof m.title=="function"?m.title():m.title:P.createElement(P.Fragment,null,z||m.icon||m.promise?P.createElement("div",{"data-icon":"",className:$(j==null?void 0:j.icon,(s=m==null?void 0:m.classNames)==null?void 0:s.icon)},m.promise||m.type==="loading"&&!m.icon?m.icon||bT():null,m.type!=="loading"?m.icon||(Z==null?void 0:Z[z])||PS(z):null):null,P.createElement("div",{"data-content":"",className:$(j==null?void 0:j.content,(i=m==null?void 0:m.classNames)==null?void 0:i.content)},P.createElement("div",{"data-title":"",className:$(j==null?void 0:j.title,(u=m==null?void 0:m.classNames)==null?void 0:u.title)},typeof m.title=="function"?m.title():m.title),m.description?P.createElement("div",{"data-description":"",className:$(K,ge,j==null?void 0:j.description,(d=m==null?void 0:m.classNames)==null?void 0:d.description)},typeof m.description=="function"?m.description():m.description):null),P.isValidElement(m.cancel)?m.cancel:m.cancel&&ao(m.cancel)?P.createElement("button",{"data-button":!0,"data-cancel":!0,style:m.cancelButtonStyle||W,onClick:ae=>{var fe,ve;ao(m.cancel)&&le&&((ve=(fe=m.cancel).onClick)==null||ve.call(fe,ae),Ot())},className:$(j==null?void 0:j.cancelButton,(f=m==null?void 0:m.classNames)==null?void 0:f.cancelButton)},m.cancel.label):null,P.isValidElement(m.action)?m.action:m.action&&ao(m.action)?P.createElement("button",{"data-button":!0,"data-action":!0,style:m.actionButtonStyle||Y,onClick:ae=>{var fe,ve;ao(m.action)&&((ve=(fe=m.action).onClick)==null||ve.call(fe,ae),!ae.defaultPrevented&&Ot())},className:$(j==null?void 0:j.actionButton,(p=m==null?void 0:m.classNames)==null?void 0:p.actionButton)},m.action.label):null))};function Mh(){if(typeof window>"u"||typeof document>"u")return"ltr";let e=document.documentElement.getAttribute("dir");return e==="auto"||!e?window.getComputedStyle(document.documentElement).direction:e}var qS=P.forwardRef(function(e,t){let{invert:n,position:r="bottom-right",hotkey:o=["altKey","KeyT"],expand:a,closeButton:s,className:i,offset:u,theme:d="light",richColors:f,duration:p,style:g,visibleToasts:m=WS,toastOptions:v,dir:h=Mh(),gap:b=HS,loadingIcon:y,icons:w,containerAriaLabel:x="Notifications",pauseWhenPageIsHidden:S,cn:C=YS}=e,[M,T]=P.useState([]),D=P.useMemo(()=>Array.from(new Set([r].concat(M.filter(R=>R.position).map(R=>R.position)))),[M,r]),[k,W]=P.useState([]),[Y,O]=P.useState(!1),[K,H]=P.useState(!1),[ee,V]=P.useState(d!=="system"?d:typeof window<"u"&&window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"),q=P.useRef(null),G=o.join("+").replace(/Key/g,"").replace(/Digit/g,""),j=P.useRef(null),Z=P.useRef(!1),te=P.useCallback(R=>{T($=>{var F;return(F=$.find(B=>B.id===R.id))!=null&&F.delete||$e.dismiss(R.id),$.filter(({id:B})=>B!==R.id)})},[]);return P.useEffect(()=>$e.subscribe(R=>{if(R.dismiss){T($=>$.map(F=>F.id===R.id?{...F,delete:!0}:F));return}setTimeout(()=>{En.flushSync(()=>{T($=>{let F=$.findIndex(B=>B.id===R.id);return F!==-1?[...$.slice(0,F),{...$[F],...R},...$.slice(F+1)]:[R,...$]})})})}),[]),P.useEffect(()=>{if(d!=="system"){V(d);return}if(d==="system"&&(window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches?V("dark"):V("light")),typeof window>"u")return;let R=window.matchMedia("(prefers-color-scheme: dark)");try{R.addEventListener("change",({matches:$})=>{V($?"dark":"light")})}catch{R.addListener(({matches:F})=>{try{V(F?"dark":"light")}catch(B){console.error(B)}})}},[d]),P.useEffect(()=>{M.length<=1&&O(!1)},[M]),P.useEffect(()=>{let R=$=>{var F,B;o.every(X=>$[X]||$.code===X)&&(O(!0),(F=q.current)==null||F.focus()),$.code==="Escape"&&(document.activeElement===q.current||(B=q.current)!=null&&B.contains(document.activeElement))&&O(!1)};return document.addEventListener("keydown",R),()=>document.removeEventListener("keydown",R)},[o]),P.useEffect(()=>{if(q.current)return()=>{j.current&&(j.current.focus({preventScroll:!0}),j.current=null,Z.current=!1)}},[q.current]),P.createElement("section",{"aria-label":`${x} ${G}`,tabIndex:-1,"aria-live":"polite","aria-relevant":"additions text","aria-atomic":"false"},D.map((R,$)=>{var F;let[B,X]=R.split("-");return M.length?P.createElement("ol",{key:R,dir:h==="auto"?Mh():h,tabIndex:-1,ref:q,className:i,"data-sonner-toaster":!0,"data-theme":ee,"data-y-position":B,"data-lifted":Y&&M.length>1&&!a,"data-x-position":X,style:{"--front-toast-height":`${((F=k[0])==null?void 0:F.height)||0}px`,"--offset":typeof u=="number"?`${u}px`:u||zS,"--width":`${VS}px`,"--gap":`${b}px`,...g},onBlur:_=>{Z.current&&!_.currentTarget.contains(_.relatedTarget)&&(Z.current=!1,j.current&&(j.current.focus({preventScroll:!0}),j.current=null))},onFocus:_=>{_.target instanceof HTMLElement&&_.target.dataset.dismissible==="false"||Z.current||(Z.current=!0,j.current=_.relatedTarget)},onMouseEnter:()=>O(!0),onMouseMove:()=>O(!0),onMouseLeave:()=>{K||O(!1)},onPointerDown:_=>{_.target instanceof HTMLElement&&_.target.dataset.dismissible==="false"||H(!0)},onPointerUp:()=>H(!1)},M.filter(_=>!_.position&&$===0||_.position===R).map((_,Q)=>{var ne,re;return P.createElement(KS,{key:_.id,icons:w,index:Q,toast:_,defaultRichColors:f,duration:(ne=v==null?void 0:v.duration)!=null?ne:p,className:v==null?void 0:v.className,descriptionClassName:v==null?void 0:v.descriptionClassName,invert:n,visibleToasts:m,closeButton:(re=v==null?void 0:v.closeButton)!=null?re:s,interacting:K,position:R,style:v==null?void 0:v.style,unstyled:v==null?void 0:v.unstyled,classNames:v==null?void 0:v.classNames,cancelButtonStyle:v==null?void 0:v.cancelButtonStyle,actionButtonStyle:v==null?void 0:v.actionButtonStyle,removeToast:te,toasts:M.filter(ie=>ie.position==_.position),heights:k.filter(ie=>ie.position==_.position),setHeights:W,expandByDefault:a,gap:b,loadingIcon:y,expanded:Y,pauseWhenPageIsHidden:S,cn:C})})):null}))});const so=({onClick:e})=>l.jsx(Ne,{onClick:()=>e(),variant:"ghost",size:"xl",className:"ml-auto px-3",children:l.jsx(sr,{className:"!h-6 !w-6"})}),XS={...gt,success:(e,t)=>{const n=gt.success(e,{...t,cancel:l.jsx(so,{onClick:()=>gt.dismiss(n)})});return n},error:(e,t)=>{const n=gt.error(e,{...t,cancel:l.jsx(so,{onClick:()=>gt.dismiss(n)})});return n},warning:(e,t)=>{const n=gt.warning(e,{...t,cancel:l.jsx(so,{onClick:()=>gt.dismiss(n)})});return n},info:(e,t)=>{const n=gt.info(e,{...t,cancel:l.jsx(so,{onClick:()=>gt.dismiss(n)})});return n}},ZS=({...e})=>l.jsx(qS,{className:"toaster group",toastOptions:{classNames:{title:"py-3 px-0",toast:"group toast group-[.toaster]:bg-background group-[.toaster]:text-foreground group-[.toaster]:border-border group-[.toaster]:shadow-lg p-0",description:"group-[.toast]:text-muted-foreground",actionButton:"group-[.toast]:bg-primary group-[.toast]:text-primary-foreground",icon:"p-4 group-data-[type=error]:text-red-500 group-data-[type=success]:text-green-500 group-data-[type=warning]:text-amber-500 group-data-[type=info]:text-blue-500",cancelButton:"group-[.toast]:bg-muted group-[.toast]:text-muted-foreground"}},...e});var QS="Toggle",Bs=c.forwardRef((e,t)=>{const{pressed:n,defaultPressed:r=!1,onPressedChange:o,...a}=e,[s=!1,i]=Ee({prop:n,onChange:o,defaultProp:r});return l.jsx(L.button,{type:"button","aria-pressed":s,"data-state":s?"on":"off","data-disabled":e.disabled?"":void 0,...a,ref:t,onClick:I(e.onClick,()=>{e.disabled||i(!s)})})});Bs.displayName=QS;var Rh=Bs;const Ws=$t("inline-flex items-center justify-center gap-2 rounded-md text-sm font-medium transition-colors hover:bg-muted hover:text-muted-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50 data-[state=on]:bg-accent data-[state=on]:text-accent-foreground [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",{variants:{variant:{default:"bg-transparent",outline:"border border-input bg-transparent shadow-sm hover:bg-accent hover:text-accent-foreground"},size:{default:"h-9 px-2 min-w-9",sm:"h-8 px-1.5 min-w-8",lg:"h-10 px-2.5 min-w-10"}},defaultVariants:{variant:"default",size:"default"}}),Dh=c.forwardRef(({className:e,variant:t,size:n,...r},o)=>l.jsx(Rh,{ref:o,className:A(Ws({variant:t,size:n,className:e})),...r}));Dh.displayName=Rh.displayName;var wn="ToggleGroup",[Ah,BT]=ye(wn,[Rt]),jh=Rt(),zs=P.forwardRef((e,t)=>{const{type:n,...r}=e;if(n==="single"){const o=r;return l.jsx(JS,{...o,ref:t})}if(n==="multiple"){const o=r;return l.jsx(eP,{...o,ref:t})}throw new Error(`Missing prop \`type\` expected on \`${wn}\``)});zs.displayName=wn;var[kh,Ih]=Ah(wn),JS=P.forwardRef((e,t)=>{const{value:n,defaultValue:r,onValueChange:o=()=>{},...a}=e,[s,i]=Ee({prop:n,defaultProp:r,onChange:o});return l.jsx(kh,{scope:e.__scopeToggleGroup,type:"single",value:s?[s]:[],onItemActivate:i,onItemDeactivate:P.useCallback(()=>i(""),[i]),children:l.jsx(Oh,{...a,ref:t})})}),eP=P.forwardRef((e,t)=>{const{value:n,defaultValue:r,onValueChange:o=()=>{},...a}=e,[s=[],i]=Ee({prop:n,defaultProp:r,onChange:o}),u=P.useCallback(f=>i((p=[])=>[...p,f]),[i]),d=P.useCallback(f=>i((p=[])=>p.filter(g=>g!==f)),[i]);return l.jsx(kh,{scope:e.__scopeToggleGroup,type:"multiple",value:s,onItemActivate:u,onItemDeactivate:d,children:l.jsx(Oh,{...a,ref:t})})});zs.displayName=wn;var[tP,nP]=Ah(wn),Oh=P.forwardRef((e,t)=>{const{__scopeToggleGroup:n,disabled:r=!1,rovingFocus:o=!0,orientation:a,dir:s,loop:i=!0,...u}=e,d=jh(n),f=xt(s),p={role:"group",dir:f,...u};return l.jsx(tP,{scope:n,rovingFocus:o,disabled:r,children:o?l.jsx(Gr,{asChild:!0,...d,orientation:a,dir:f,loop:i,children:l.jsx(L.div,{...p,ref:t})}):l.jsx(L.div,{...p,ref:t})})}),io="ToggleGroupItem",_h=P.forwardRef((e,t)=>{const n=Ih(io,e.__scopeToggleGroup),r=nP(io,e.__scopeToggleGroup),o=jh(e.__scopeToggleGroup),a=n.value.includes(e.value),s=r.disabled||e.disabled,i={...e,pressed:a,disabled:s},u=P.useRef(null);return r.rovingFocus?l.jsx(Ur,{asChild:!0,...o,focusable:!s,active:a,ref:u,children:l.jsx($h,{...i,ref:t})}):l.jsx($h,{...i,ref:t})});_h.displayName=io;var $h=P.forwardRef((e,t)=>{const{__scopeToggleGroup:n,value:r,...o}=e,a=Ih(io,n),s={role:"radio","aria-checked":e.pressed,"aria-pressed":void 0},i=a.type==="single"?s:void 0;return l.jsx(Bs,{...i,...o,ref:t,onPressedChange:u=>{u?a.onItemActivate(r):a.onItemDeactivate(r)}})}),Lh=zs,Fh=_h;const Bh=c.createContext({size:"default",variant:"default"}),Wh=c.forwardRef(({className:e,variant:t,size:n,children:r,...o},a)=>l.jsx(Lh,{ref:a,className:A("flex items-center justify-center gap-1",e),...o,children:l.jsx(Bh.Provider,{value:{variant:t,size:n},children:r})}));Wh.displayName=Lh.displayName;const zh=c.forwardRef(({className:e,children:t,variant:n,size:r,...o},a)=>{const s=c.useContext(Bh);return l.jsx(Fh,{ref:a,className:A(Ws({variant:s.variant||n,size:s.size||r}),e),...o,children:t})});zh.displayName=Fh.displayName;var[lo,WT]=ye("Tooltip",[Mt]),co=Mt(),Vh="TooltipProvider",rP=700,Vs="tooltip.open",[oP,Hs]=lo(Vh),Hh=e=>{const{__scopeTooltip:t,delayDuration:n=rP,skipDelayDuration:r=300,disableHoverableContent:o=!1,children:a}=e,[s,i]=c.useState(!0),u=c.useRef(!1),d=c.useRef(0);return c.useEffect(()=>{const f=d.current;return()=>window.clearTimeout(f)},[]),l.jsx(oP,{scope:t,isOpenDelayed:s,delayDuration:n,onOpen:c.useCallback(()=>{window.clearTimeout(d.current),i(!1)},[]),onClose:c.useCallback(()=>{window.clearTimeout(d.current),d.current=window.setTimeout(()=>i(!0),r)},[r]),isPointerInTransitRef:u,onPointerInTransitChange:c.useCallback(f=>{u.current=f},[]),disableHoverableContent:o,children:a})};Hh.displayName=Vh;var uo="Tooltip",[aP,er]=lo(uo),Gh=e=>{const{__scopeTooltip:t,children:n,open:r,defaultOpen:o=!1,onOpenChange:a,disableHoverableContent:s,delayDuration:i}=e,u=Hs(uo,e.__scopeTooltip),d=co(t),[f,p]=c.useState(null),g=me(),m=c.useRef(0),v=s??u.disableHoverableContent,h=i??u.delayDuration,b=c.useRef(!1),[y=!1,w]=Ee({prop:r,defaultProp:o,onChange:T=>{T?(u.onOpen(),document.dispatchEvent(new CustomEvent(Vs))):u.onClose(),a==null||a(T)}}),x=c.useMemo(()=>y?b.current?"delayed-open":"instant-open":"closed",[y]),S=c.useCallback(()=>{window.clearTimeout(m.current),m.current=0,b.current=!1,w(!0)},[w]),C=c.useCallback(()=>{window.clearTimeout(m.current),m.current=0,w(!1)},[w]),M=c.useCallback(()=>{window.clearTimeout(m.current),m.current=window.setTimeout(()=>{b.current=!0,w(!0),m.current=0},h)},[h,w]);return c.useEffect(()=>()=>{m.current&&(window.clearTimeout(m.current),m.current=0)},[]),l.jsx(Vn,{...d,children:l.jsx(aP,{scope:t,contentId:g,open:y,stateAttribute:x,trigger:f,onTriggerChange:p,onTriggerEnter:c.useCallback(()=>{u.isOpenDelayed?M():S()},[u.isOpenDelayed,M,S]),onTriggerLeave:c.useCallback(()=>{v?C():(window.clearTimeout(m.current),m.current=0)},[C,v]),onOpen:S,onClose:C,disableHoverableContent:v,children:n})})};Gh.displayName=uo;var Gs="TooltipTrigger",Uh=c.forwardRef((e,t)=>{const{__scopeTooltip:n,...r}=e,o=er(Gs,n),a=Hs(Gs,n),s=co(n),i=c.useRef(null),u=J(t,i,o.onTriggerChange),d=c.useRef(!1),f=c.useRef(!1),p=c.useCallback(()=>d.current=!1,[]);return c.useEffect(()=>()=>document.removeEventListener("pointerup",p),[p]),l.jsx(Hn,{asChild:!0,...s,children:l.jsx(L.button,{"aria-describedby":o.open?o.contentId:void 0,"data-state":o.stateAttribute,...r,ref:u,onPointerMove:I(e.onPointerMove,g=>{g.pointerType!=="touch"&&!f.current&&!a.isPointerInTransitRef.current&&(o.onTriggerEnter(),f.current=!0)}),onPointerLeave:I(e.onPointerLeave,()=>{o.onTriggerLeave(),f.current=!1}),onPointerDown:I(e.onPointerDown,()=>{d.current=!0,document.addEventListener("pointerup",p,{once:!0})}),onFocus:I(e.onFocus,()=>{d.current||o.onOpen()}),onBlur:I(e.onBlur,o.onClose),onClick:I(e.onClick,o.onClose)})})});Uh.displayName=Gs;var Us="TooltipPortal",[sP,iP]=lo(Us,{forceMount:void 0}),Yh=e=>{const{__scopeTooltip:t,forceMount:n,children:r,container:o}=e,a=er(Us,t);return l.jsx(sP,{scope:t,forceMount:n,children:l.jsx(be,{present:n||a.open,children:l.jsx(jn,{asChild:!0,container:o,children:r})})})};Yh.displayName=Us;var xn="TooltipContent",Kh=c.forwardRef((e,t)=>{const n=iP(xn,e.__scopeTooltip),{forceMount:r=n.forceMount,side:o="top",...a}=e,s=er(xn,e.__scopeTooltip);return l.jsx(be,{present:r||s.open,children:s.disableHoverableContent?l.jsx(qh,{side:o,...a,ref:t}):l.jsx(lP,{side:o,...a,ref:t})})}),lP=c.forwardRef((e,t)=>{const n=er(xn,e.__scopeTooltip),r=Hs(xn,e.__scopeTooltip),o=c.useRef(null),a=J(t,o),[s,i]=c.useState(null),{trigger:u,onClose:d}=n,f=o.current,{onPointerInTransitChange:p}=r,g=c.useCallback(()=>{i(null),p(!1)},[p]),m=c.useCallback((v,h)=>{const b=v.currentTarget,y={x:v.clientX,y:v.clientY},w=fP(y,b.getBoundingClientRect()),x=mP(y,w),S=pP(h.getBoundingClientRect()),C=gP([...x,...S]);i(C),p(!0)},[p]);return c.useEffect(()=>()=>g(),[g]),c.useEffect(()=>{if(u&&f){const v=b=>m(b,f),h=b=>m(b,u);return u.addEventListener("pointerleave",v),f.addEventListener("pointerleave",h),()=>{u.removeEventListener("pointerleave",v),f.removeEventListener("pointerleave",h)}}},[u,f,m,g]),c.useEffect(()=>{if(s){const v=h=>{const b=h.target,y={x:h.clientX,y:h.clientY},w=(u==null?void 0:u.contains(b))||(f==null?void 0:f.contains(b)),x=!hP(y,s);w?g():x&&(g(),d())};return document.addEventListener("pointermove",v),()=>document.removeEventListener("pointermove",v)}},[u,f,s,d,g]),l.jsx(qh,{...e,ref:a})}),[cP,uP]=lo(uo,{isInside:!1}),qh=c.forwardRef((e,t)=>{const{__scopeTooltip:n,children:r,"aria-label":o,onEscapeKeyDown:a,onPointerDownOutside:s,...i}=e,u=er(xn,n),d=co(n),{onClose:f}=u;return c.useEffect(()=>(document.addEventListener(Vs,f),()=>document.removeEventListener(Vs,f)),[f]),c.useEffect(()=>{if(u.trigger){const p=g=>{const m=g.target;m!=null&&m.contains(u.trigger)&&f()};return window.addEventListener("scroll",p,{capture:!0}),()=>window.removeEventListener("scroll",p,{capture:!0})}},[u.trigger,f]),l.jsx(Lt,{asChild:!0,disableOutsidePointerEvents:!1,onEscapeKeyDown:a,onPointerDownOutside:s,onFocusOutside:p=>p.preventDefault(),onDismiss:f,children:l.jsxs(zr,{"data-state":u.stateAttribute,...d,...i,ref:t,style:{...i.style,"--radix-tooltip-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-tooltip-content-available-width":"var(--radix-popper-available-width)","--radix-tooltip-content-available-height":"var(--radix-popper-available-height)","--radix-tooltip-trigger-width":"var(--radix-popper-anchor-width)","--radix-tooltip-trigger-height":"var(--radix-popper-anchor-height)"},children:[l.jsx(jo,{children:r}),l.jsx(cP,{scope:n,isInside:!0,children:l.jsx(am,{id:u.contentId,role:"tooltip",children:o||r})})]})})});Kh.displayName=xn;var Xh="TooltipArrow",dP=c.forwardRef((e,t)=>{const{__scopeTooltip:n,...r}=e,o=co(n);return uP(Xh,n).isInside?null:l.jsx(Vr,{...o,...r,ref:t})});dP.displayName=Xh;function fP(e,t){const n=Math.abs(t.top-e.y),r=Math.abs(t.bottom-e.y),o=Math.abs(t.right-e.x),a=Math.abs(t.left-e.x);switch(Math.min(n,r,o,a)){case a:return"left";case o:return"right";case n:return"top";case r:return"bottom";default:throw new Error("unreachable")}}function mP(e,t,n=5){const r=[];switch(t){case"top":r.push({x:e.x-n,y:e.y+n},{x:e.x+n,y:e.y+n});break;case"bottom":r.push({x:e.x-n,y:e.y-n},{x:e.x+n,y:e.y-n});break;case"left":r.push({x:e.x+n,y:e.y-n},{x:e.x+n,y:e.y+n});break;case"right":r.push({x:e.x-n,y:e.y-n},{x:e.x-n,y:e.y+n});break}return r}function pP(e){const{top:t,right:n,bottom:r,left:o}=e;return[{x:o,y:t},{x:n,y:t},{x:n,y:r},{x:o,y:r}]}function hP(e,t){const{x:n,y:r}=e;let o=!1;for(let a=0,s=t.length-1;a<t.length;s=a++){const i=t[a].x,u=t[a].y,d=t[s].x,f=t[s].y;u>r!=f>r&&n<(d-i)*(r-u)/(f-u)+i&&(o=!o)}return o}function gP(e){const t=e.slice();return t.sort((n,r)=>n.x<r.x?-1:n.x>r.x?1:n.y<r.y?-1:n.y>r.y?1:0),vP(t)}function vP(e){if(e.length<=1)return e.slice();const t=[];for(let r=0;r<e.length;r++){const o=e[r];for(;t.length>=2;){const a=t[t.length-1],s=t[t.length-2];if((a.x-s.x)*(o.y-s.y)>=(a.y-s.y)*(o.x-s.x))t.pop();else break}t.push(o)}t.pop();const n=[];for(let r=e.length-1;r>=0;r--){const o=e[r];for(;n.length>=2;){const a=n[n.length-1],s=n[n.length-2];if((a.x-s.x)*(o.y-s.y)>=(a.y-s.y)*(o.x-s.x))n.pop();else break}n.push(o)}return n.pop(),t.length===1&&n.length===1&&t[0].x===n[0].x&&t[0].y===n[0].y?t:t.concat(n)}var bP=Hh,yP=Gh,wP=Uh,xP=Yh,Zh=Kh;const CP=bP,EP=yP,NP=wP,Qh=c.forwardRef(({className:e,sideOffset:t=4,...n},r)=>l.jsx(xP,{children:l.jsx(Zh,{ref:r,sideOffset:t,className:A("z-50 overflow-hidden rounded-md bg-primary px-3 py-1.5 text-xs text-primary-foreground animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",e),...n})}));Qh.displayName=Zh.displayName;function SP(e){const{triggerElement:t,steps:n}=e,[r,o]=P.useState(!1),[a,s]=P.useState(0),i=()=>{s(d=>d<n.length-1?d+1:d)},u=()=>{s(d=>d>0?d-1:d)};return l.jsxs(Tr,{open:r,onOpenChange:o,children:[l.jsx(Gu,{asChild:!0,children:t}),l.jsxs(Fn,{className:"sm:max-w-[425px]",children:[l.jsxs(Mr,{className:A(n[a].title===""&&"sr-only"),children:[l.jsx(Rr,{children:n[a].title}),l.jsx(Dr,{className:"sr-only",children:n[a].title})]}),l.jsx("div",{children:n[a].description}),l.jsxs("div",{className:"flex items-center justify-between mt-4",children:[l.jsx(Ne,{variant:"ghost",size:"icon",onClick:u,disabled:a===0,children:l.jsx(Ro,{className:"h-4 w-4"})}),l.jsx("div",{className:"flex justify-center gap-1",children:n.map((d,f)=>l.jsx("div",{className:A("h-3 w-3 rounded-full",f===a?"bg-primary":"bg-gray-200")},f))}),l.jsx(Ne,{variant:"ghost",size:"icon",onClick:i,disabled:a===n.length-1,children:l.jsx(ar,{className:"h-4 w-4"})})]})]})]})}const PP=e=>l.jsx("div",{className:"unreset",dangerouslySetInnerHTML:{__html:e.children}}),TP=e=>{const{execCommand:t}=e,n=()=>{const a=document.createElement("input");a.type="file",a.accept="image/*",a.onchange=async s=>{var u;const i=(u=s.target.files)==null?void 0:u[0];if(i){const d=new FileReader;d.onload=()=>{t("insertImage",d.result)},d.readAsDataURL(i)}},a.click()},r=()=>{const a=prompt("Enter the URL:");a&&t("createLink",a)},o=a=>{t("fontSize",a)};return l.jsxs("div",{className:"flex flex-wrap gap-2 border-b pb-2 mb-2",children:[l.jsx(Ne,{variant:"outline",size:"icon",onClick:()=>t("bold"),children:l.jsx(Kb,{size:16})}),l.jsx(Ne,{variant:"outline",size:"icon",onClick:()=>t("italic"),children:l.jsx(oy,{size:16})}),l.jsx(Ne,{variant:"outline",size:"icon",onClick:()=>t("underline"),children:l.jsx(uy,{size:16})}),l.jsxs(Vp,{onValueChange:a=>o(a),defaultValue:"3",children:[l.jsx(js,{className:"w-[80px]",children:l.jsx(Hp,{placeholder:"Size"})}),l.jsxs(Os,{children:[l.jsx(yn,{value:"1",children:l.jsx("div",{children:"Small"})}),l.jsx(yn,{value:"3",children:l.jsx("div",{children:"Medium"})}),l.jsx(yn,{value:"5",children:l.jsx("div",{children:"Large"})}),l.jsx(yn,{value:"7",children:l.jsx("div",{children:"Extra Large"})})]})]}),l.jsx(Ne,{variant:"outline",size:"icon",onClick:()=>t("insertUnorderedList"),children:l.jsx(iy,{size:16})}),l.jsx(Ne,{variant:"outline",size:"icon",onClick:()=>t("insertOrderedList"),children:l.jsx(sy,{size:16})}),l.jsx(Ne,{variant:"outline",size:"icon",onClick:()=>t("formatBlock","blockquote"),children:l.jsx(cy,{size:16})}),l.jsx(Ne,{variant:"outline",size:"icon",onClick:n,children:l.jsx(ny,{size:16})}),l.jsx(Ne,{variant:"outline",size:"icon",onClick:r,children:l.jsx(ay,{size:16})})]})},MP=({initialValue:e="",onChange:t,className:n})=>{const r=P.useRef(null);P.useEffect(()=>{const s=new MutationObserver(()=>{t==null||t(r.current?r.current.innerHTML:"")});r.current&&s.observe(r.current,{childList:!0})},[]),P.useEffect(()=>{r.current&&(r.current.innerHTML=e)},[]);const o=()=>{r.current&&(t==null||t(r.current.innerHTML))},a=(s,i)=>{r.current&&(document.execCommand(s,!1,i),o())};return l.jsxs("div",{className:A("w-full p-4 border rounded-lg shadow-md",n),children:[l.jsx(TP,{execCommand:a}),l.jsx("div",{ref:r,contentEditable:!0,className:"w-full h-48 p-2 border rounded overflow-y-auto focus:outline-none min-h-20 resize-y unreset",onInput:o})]})},RP=e=>{const{observerOptions:t,images:n,classNames:r}=e,[o,a]=P.useState([]),s=P.useRef(null);return P.useEffect(()=>{const i={root:document.querySelector(".image-gallery"),rootMargin:"0px",threshold:1,...t};return s.current=new IntersectionObserver(u=>{u.forEach(d=>{if(d.isIntersecting&&d.target instanceof HTMLDivElement){const f=Number(d.target.dataset.index);a(p=>[...new Set([...p,f])])}})},i),()=>{var u;return(u=s.current)==null?void 0:u.disconnect()}},[]),P.useEffect(()=>{document.querySelectorAll(".image-cell").forEach(u=>{var d;return(d=s.current)==null?void 0:d.observe(u)})},[n]),l.jsx("div",{className:A("image-gallery overflow-auto grid grid-cols-[repeat(auto-fit,minmax(300px,1fr))]","gap-2 justify-center h-full",r==null?void 0:r.imageGallery),children:n.map((i,u)=>l.jsx("div",{"data-index":u,className:A("image-cell w-full h-52",r==null?void 0:r.imageCell),children:o.includes(u)&&l.jsx("img",{src:i,alt:`Gallery Image ${u+1}`,className:A("animate-fade-up animate-duration-[400ms] animate-ease-linear w-full h-full object-cover",r==null?void 0:r.image)})},u))})},DP=e=>{const{currentMonth:t,currentYear:n,onChangeMonthYear:r,locale:o=wo}=e,a=s=>{let i=t,u=n;s==="prev"?i===0?(i=11,u--):i--:i===11?(i=0,u++):i++,r(i,u)};return l.jsxs("div",{className:"flex items-center justify-between",children:[l.jsx(Ne,{variant:"ghost",size:"icon",onClick:()=>a("prev"),"aria-label":"Previous month",children:l.jsx(Ub,{className:"!h-8 !w-8"})}),l.jsxs("div",{className:"text-center",children:[l.jsx("h2",{className:"text-2xl font-bold capitalize",children:o.localize.month(t,{width:"wide"})}),l.jsx("p",{className:"text-sm text-muted-foreground",children:n})]}),l.jsx(Ne,{variant:"ghost",size:"icon",onClick:()=>a("next"),"aria-label":"Next month",children:l.jsx(Yb,{className:"!h-8 !w-8"})})]})};function Jh({totalPages:e,maxVisiblePages:t=5,mode:n="full",onPageChange:r,current:o=1}){const[a,s]=P.useState(o);P.useEffect(()=>{s(o)},[o]);const i=d=>{d>=1&&d<=e&&(s(d),r(d))},u=()=>{if(n==="minimal")return null;const d=[],f=Math.floor(t/2);let p=Math.max(a-f,2);const g=Math.min(p+t-3,e-1);g-p+3<t&&(p=Math.max(g-t+4,2)),d.push(l.jsx(ht,{children:l.jsx(Ut,{onClick:m=>{m.preventDefault(),i(1)},isActive:a===1,children:"1"})},1)),p>2&&d.push(l.jsx(ht,{children:l.jsx(Jr,{})},"start-ellipsis"));for(let m=p;m<=g;m++)d.push(l.jsx(ht,{children:l.jsx(Ut,{onClick:v=>{v.preventDefault(),i(m)},isActive:a===m,children:m})},m));return g<e-1&&d.push(l.jsx(ht,{children:l.jsx(Jr,{})},"end-ellipsis")),e>1&&d.push(l.jsx(ht,{children:l.jsx(Ut,{onClick:m=>{m.preventDefault(),i(e)},isActive:a===e,children:e})},e)),d};return l.jsx(vs,{children:l.jsxs(bs,{children:[l.jsx(ht,{children:l.jsx(ys,{disabled:a===1,onClick:d=>{d.preventDefault(),i(a-1)}})}),u(),l.jsx(ht,{children:l.jsx(ws,{disabled:a===e,onClick:d=>{d.preventDefault(),i(a+1)}})})]})})}const eg=({initIndex:e,onPageChange:t,totalItems:n,totalPages:r,pageTotalItems:o,currentPage:a,showItemsCounter:s=!0})=>l.jsxs("div",{className:"flex flex-col gap-2 items-end",children:[s&&l.jsxs("p",{children:[l.jsx("b",{children:e+1})," - ",l.jsx("b",{children:e+o})," (",n,")"]}),r>1&&l.jsx(Jh,{current:a,onPageChange:t,totalPages:r})]}),AP=e=>{const{data:t=[],perPage:n=50,initialPage:r=1,children:o,itemsContainerClass:a="",emptyState:s=l.jsx(Fi,{notFoundText:"No item found!"}),isLoading:i=!1,showItemsCounter:u=!0,loadingVariant:d="loader"}=e,[f,p]=P.useState(t),[g,m]=P.useState(r),v=Math.ceil(f.length/n),h=(g-1)*n,b=g*n,y=f.slice(h,b),w=i?l.jsx("section",{className:"w-full",children:d==="loader"?l.jsx(qp,{size:"lg"}):l.jsx(Yp,{className:"h-12 w-full",repeat:n})}):f.length===0?s:void 0;return l.jsxs("div",{className:"flex flex-col gap-4 items-end",children:[l.jsx(eg,{initIndex:h,endIndex:b,totalItems:f.length,totalPages:v,currentPage:g,pageTotalItems:y.length,onPageChange:m,showItemsCounter:u}),w?l.jsx("section",{className:"w-full",children:w}):l.jsx("section",{className:`w-full ${a}`,children:y.map((x,S)=>l.jsx(P.Fragment,{children:o(x,S)},x.id))}),l.jsx(eg,{initIndex:h,endIndex:b,totalItems:f.length,totalPages:v,currentPage:g,pageTotalItems:y.length,onPageChange:m,showItemsCounter:u})]})},jP=({fixed:e,isOpen:t,onToggle:n,children:r,className:o})=>{const[a,s]=P.useState(!0),i=P.useRef(null),u=P.useRef(null),d=t!==void 0?t:a,f=()=>{var g;e||(n?n(!1):s(!1),(g=u.current)==null||g.focus())},p=g=>{i.current&&!i.current.contains(g.target)&&!e&&f()};return P.useEffect(()=>{if(!e)return document.addEventListener("mousedown",p),()=>{document.removeEventListener("mousedown",p)}},[e]),l.jsxs(l.Fragment,{children:[l.jsx("aside",{ref:i,className:A("bg-white z-50 h-full shadow-md flex flex-col fixed top-0 left-0 transition-all duration-300 ease-in-out overflow-auto",{"w-72":e||d},{"w-0":!d&&!e},{"translate-x-0":d},{"-translate-x-full":!d&&!e},o),"aria-hidden":!d,children:r}),e&&l.jsx("div",{className:"w-72 relative"})]})},kP=({children:e,className:t})=>l.jsx("header",{className:A("p-4 flex justify-between items-center border-b",t),"aria-label":"Sidebar header",children:e}),IP=({children:e,className:t})=>l.jsx("nav",{"aria-label":"Sidebar navigation",className:t,children:e}),OP=({children:e,className:t})=>l.jsx("ul",{className:A("flex flex-col gap-2 my-4 px-4",t),children:e}),_P=({children:e,className:t,onClick:n})=>l.jsx("li",{className:A("flex items-center gap-2 hover:bg-gray-100 rounded transition-colors",t),onClick:n,children:e}),$P=({children:e,className:t})=>l.jsx("footer",{className:A("mt-auto p-4 text-sm",t),"aria-label":"Sidebar footer",children:e}),LP=()=>{const[e,t]=P.useState([]);return[e,a=>{t([...e,a])},a=>{const s=[...e];s.splice(a,1),t(s)},(a,s)=>{const i=[...e];i.filter(u=>u[a]!==s),t(i)}]};function FP(){const[e,t]=P.useState(null);return[e,async r=>{if(!(navigator!=null&&navigator.clipboard))return console.warn("Clipboard not supported"),!1;try{return await navigator.clipboard.writeText(r),t(r),!0}catch(o){return console.warn("Copy failed",o),t(null),!1}}]}function BP(e,t=250){const[n,r]=P.useState(e);return P.useEffect(()=>{const o=setTimeout(()=>{r(e)},t);return()=>{clearTimeout(o)}},[e,t]),n}const tg=c.createContext(void 0),ng={sm:"sm:max-w-[425px]",md:"sm:max-w-[550px]",lg:"sm:max-w-[700px]",xl:"sm:max-w-[900px]"},rg={info:{icon:ry,className:"text-blue-500"},success:{icon:Zb,className:"text-green-500"},error:{icon:Do,className:"text-red-500"},warning:{icon:Xb,className:"text-yellow-500"},confirm:{icon:_i,className:"text-blue-500"},custom:{icon:_i,className:"text-gray-500"}};function WP({children:e}){var h,b,y,w,x,S,C,M,T,D,k,W,Y;const[t,n]=c.useState({isOpen:!1,options:null}),r=c.useCallback(O=>{n({isOpen:!0,options:O})},[]),o=c.useCallback(()=>{n(O=>({...O,isOpen:!1}))},[]),a=c.useCallback(O=>{r({...O,type:"info"})},[r]),s=c.useCallback(O=>{r({...O,type:"success"})},[r]),i=c.useCallback(O=>{r({...O,type:"error"})},[r]),u=c.useCallback(O=>{r({...O,type:"warning"})},[r]),d=c.useCallback(O=>{r({...O,type:"custom"})},[r]),f=c.useCallback(O=>{r({...O,type:"confirm"})},[r]),p=(O,K)=>{let H=rg[O].icon;return K&&(H=K),l.jsx(H,{className:A("h-24 w-24",rg[O].className)})},g=c.useMemo(()=>({open:r,close:o,info:a,success:s,error:i,warning:u,custom:d,confirm:f}),[r,o,a,s,i,u,d,f]),[m,v]=c.useState(!1);return l.jsxs(tg.Provider,{value:g,children:[e,l.jsx(Tr,{open:t.isOpen,onOpenChange:O=>!O&&o(),modal:!0,children:l.jsxs(Fn,{className:A((h=t.options)!=null&&h.size?ng[t.options.size]:ng.sm,(b=t.options)==null?void 0:b.className),children:[t.options&&l.jsxs(Mr,{children:[l.jsx("div",{className:"mx-auto mb-6",children:p(t.options.type,t.options.icon)}),t.options.title&&l.jsx(Rr,{className:"text-center",children:t.options.title}),l.jsx(Dr,{className:"text-center",children:t.options.message})]}),((y=t.options)==null?void 0:y.type)==="confirm"&&l.jsxs("div",{className:"flex justify-center gap-4 mt-4",children:[l.jsx(Ne,{isLoading:m??((x=(w=t.options)==null?void 0:w.confirmButton)==null?void 0:x.loading),disabled:(C=(S=t.options)==null?void 0:S.confirmButton)==null?void 0:C.disabled,className:(M=t.options.confirmButton)==null?void 0:M.className,onClick:()=>{var K,H,ee,V;if(!((H=(K=t.options)==null?void 0:K.confirmButton)!=null&&H.onClick))throw new Error("Confirmation type dialog needs to implement the onConfirm function");const O=(V=(ee=t.options)==null?void 0:ee.confirmButton)==null?void 0:V.onClick();O instanceof Promise?(v(!0),O.then(()=>{v(!1),o()}).finally(()=>v(!1))):o()},children:((T=t.options.confirmButton)==null?void 0:T.label)??"Confirm"}),((D=t.options.cancelButton)==null?void 0:D.label)&&l.jsx(Ne,{variant:"outline",onClick:o,className:t.options.cancelButton.className,isLoading:(k=t.options.cancelButton)==null?void 0:k.loading,disabled:m||((W=t.options.cancelButton)==null?void 0:W.disabled),children:(Y=t.options.cancelButton)==null?void 0:Y.label})]})]})})]})}function zP(){const e=c.useContext(tg);if(e===void 0)throw new Error("useDialog must be used within a DialogProvider");return e}const VP=(e=!1)=>{const[t,n]=c.useState(e),r=c.useCallback(()=>n(!0),[]),o=c.useCallback(()=>n(!1),[]),a=c.useCallback(()=>n(s=>!s),[]);return{isOpen:t,open:r,close:o,toggle:a}},HP=(e=!1)=>{const[t,n]=c.useState(e),r=c.useCallback(()=>n(!0),[]),o=c.useCallback(()=>n(!1),[]);return[t,r,o]};/*!
267
+ `);function ao(e){return e.label!==void 0}var WS=3,zS="32px",Th=4e3,VS=356,HS=14,GS=20,US=200;function YS(...e){return e.filter(Boolean).join(" ")}var KS=e=>{var t,n,r,o,a,s,i,u,d,f,p;let{invert:g,toast:m,unstyled:v,interacting:h,setHeights:b,visibleToasts:y,heights:w,index:x,toasts:S,expanded:C,removeToast:M,defaultRichColors:T,closeButton:D,style:k,cancelButtonStyle:W,actionButtonStyle:Y,className:O="",descriptionClassName:K="",duration:H,position:ee,gap:V,loadingIcon:q,expandByDefault:G,classNames:j,icons:Z,closeButtonAriaLabel:te="Close toast",pauseWhenPageIsHidden:R,cn:$}=e,[F,B]=P.useState(!1),[X,_]=P.useState(!1),[Q,ne]=P.useState(!1),[re,ie]=P.useState(!1),[ce,Se]=P.useState(!1),[xe,Re]=P.useState(0),[We,Pe]=P.useState(0),Le=P.useRef(m.duration||H||Th),De=P.useRef(null),vt=P.useRef(null),E=x===0,U=x+1<=y,z=m.type,le=m.dismissible!==!1,Te=m.className||"",ge=m.descriptionClassName||"",oe=P.useMemo(()=>w.findIndex(ae=>ae.toastId===m.id)||0,[w,m.id]),qe=P.useMemo(()=>{var ae;return(ae=m.closeButton)!=null?ae:D},[m.closeButton,D]);P.useMemo(()=>m.duration||H||Th,[m.duration,H]);let ot=P.useRef(0),Ce=P.useRef(0),at=P.useRef(0),st=P.useRef(null),[Xe,Cn]=ee.split("-"),ze=P.useMemo(()=>w.reduce((ae,fe,ve)=>ve>=oe?ae:ae+fe.height,0),[w,oe]),mg=IS(),vT=m.invert||g,Zs=z==="loading";Ce.current=P.useMemo(()=>oe*V+ze,[oe,ze]),P.useEffect(()=>{B(!0)},[]),P.useEffect(()=>{let ae=vt.current;if(ae){let fe=ae.getBoundingClientRect().height;return Pe(fe),b(ve=>[{toastId:m.id,height:fe,position:m.position},...ve]),()=>b(ve=>ve.filter(Ze=>Ze.toastId!==m.id))}},[b,m.id]),P.useLayoutEffect(()=>{if(!F)return;let ae=vt.current,fe=ae.style.height;ae.style.height="auto";let ve=ae.getBoundingClientRect().height;ae.style.height=fe,Pe(ve),b(Ze=>Ze.find(it=>it.toastId===m.id)?Ze.map(it=>it.toastId===m.id?{...it,height:ve}:it):[{toastId:m.id,height:ve,position:m.position},...Ze])},[F,m.title,m.description,b,m.id]);let Ot=P.useCallback(()=>{_(!0),Re(Ce.current),b(ae=>ae.filter(fe=>fe.toastId!==m.id)),setTimeout(()=>{M(m)},US)},[m,M,b,Ce]);P.useEffect(()=>{if(m.promise&&z==="loading"||m.duration===1/0||m.type==="loading")return;let ae;return C||h||R&&mg?(()=>{if(at.current<ot.current){let fe=new Date().getTime()-ot.current;Le.current=Le.current-fe}at.current=new Date().getTime()})():Le.current!==1/0&&(ot.current=new Date().getTime(),ae=setTimeout(()=>{var fe;(fe=m.onAutoClose)==null||fe.call(m,m),Ot()},Le.current)),()=>clearTimeout(ae)},[C,h,m,z,R,mg,Ot]),P.useEffect(()=>{m.delete&&Ot()},[Ot,m.delete]);function bT(){var ae,fe,ve;return Z!=null&&Z.loading?P.createElement("div",{className:$(j==null?void 0:j.loader,(ae=m==null?void 0:m.classNames)==null?void 0:ae.loader,"sonner-loader"),"data-visible":z==="loading"},Z.loading):q?P.createElement("div",{className:$(j==null?void 0:j.loader,(fe=m==null?void 0:m.classNames)==null?void 0:fe.loader,"sonner-loader"),"data-visible":z==="loading"},q):P.createElement(MS,{className:$(j==null?void 0:j.loader,(ve=m==null?void 0:m.classNames)==null?void 0:ve.loader),visible:z==="loading"})}return P.createElement("li",{tabIndex:0,ref:vt,className:$(O,Te,j==null?void 0:j.toast,(t=m==null?void 0:m.classNames)==null?void 0:t.toast,j==null?void 0:j.default,j==null?void 0:j[z],(n=m==null?void 0:m.classNames)==null?void 0:n[z]),"data-sonner-toast":"","data-rich-colors":(r=m.richColors)!=null?r:T,"data-styled":!(m.jsx||m.unstyled||v),"data-mounted":F,"data-promise":!!m.promise,"data-swiped":ce,"data-removed":X,"data-visible":U,"data-y-position":Xe,"data-x-position":Cn,"data-index":x,"data-front":E,"data-swiping":Q,"data-dismissible":le,"data-type":z,"data-invert":vT,"data-swipe-out":re,"data-expanded":!!(C||G&&F),style:{"--index":x,"--toasts-before":x,"--z-index":S.length-x,"--offset":`${X?xe:Ce.current}px`,"--initial-height":G?"auto":`${We}px`,...k,...m.style},onPointerDown:ae=>{Zs||!le||(De.current=new Date,Re(Ce.current),ae.target.setPointerCapture(ae.pointerId),ae.target.tagName!=="BUTTON"&&(ne(!0),st.current={x:ae.clientX,y:ae.clientY}))},onPointerUp:()=>{var ae,fe,ve,Ze;if(re||!le)return;st.current=null;let it=Number(((ae=vt.current)==null?void 0:ae.style.getPropertyValue("--swipe-amount").replace("px",""))||0),ho=new Date().getTime()-((fe=De.current)==null?void 0:fe.getTime()),yT=Math.abs(it)/ho;if(Math.abs(it)>=GS||yT>.11){Re(Ce.current),(ve=m.onDismiss)==null||ve.call(m,m),Ot(),ie(!0),Se(!1);return}(Ze=vt.current)==null||Ze.style.setProperty("--swipe-amount","0px"),ne(!1)},onPointerMove:ae=>{var fe,ve;if(!st.current||!le)return;let Ze=ae.clientY-st.current.y,it=((fe=window.getSelection())==null?void 0:fe.toString().length)>0,ho=Xe==="top"?Math.min(0,Ze):Math.max(0,Ze);Math.abs(ho)>0&&Se(!0),!it&&((ve=vt.current)==null||ve.style.setProperty("--swipe-amount",`${ho}px`))}},qe&&!m.jsx?P.createElement("button",{"aria-label":te,"data-disabled":Zs,"data-close-button":!0,onClick:Zs||!le?()=>{}:()=>{var ae;Ot(),(ae=m.onDismiss)==null||ae.call(m,m)},className:$(j==null?void 0:j.closeButton,(o=m==null?void 0:m.classNames)==null?void 0:o.closeButton)},(a=Z==null?void 0:Z.close)!=null?a:kS):null,m.jsx||P.isValidElement(m.title)?m.jsx?m.jsx:typeof m.title=="function"?m.title():m.title:P.createElement(P.Fragment,null,z||m.icon||m.promise?P.createElement("div",{"data-icon":"",className:$(j==null?void 0:j.icon,(s=m==null?void 0:m.classNames)==null?void 0:s.icon)},m.promise||m.type==="loading"&&!m.icon?m.icon||bT():null,m.type!=="loading"?m.icon||(Z==null?void 0:Z[z])||PS(z):null):null,P.createElement("div",{"data-content":"",className:$(j==null?void 0:j.content,(i=m==null?void 0:m.classNames)==null?void 0:i.content)},P.createElement("div",{"data-title":"",className:$(j==null?void 0:j.title,(u=m==null?void 0:m.classNames)==null?void 0:u.title)},typeof m.title=="function"?m.title():m.title),m.description?P.createElement("div",{"data-description":"",className:$(K,ge,j==null?void 0:j.description,(d=m==null?void 0:m.classNames)==null?void 0:d.description)},typeof m.description=="function"?m.description():m.description):null),P.isValidElement(m.cancel)?m.cancel:m.cancel&&ao(m.cancel)?P.createElement("button",{"data-button":!0,"data-cancel":!0,style:m.cancelButtonStyle||W,onClick:ae=>{var fe,ve;ao(m.cancel)&&le&&((ve=(fe=m.cancel).onClick)==null||ve.call(fe,ae),Ot())},className:$(j==null?void 0:j.cancelButton,(f=m==null?void 0:m.classNames)==null?void 0:f.cancelButton)},m.cancel.label):null,P.isValidElement(m.action)?m.action:m.action&&ao(m.action)?P.createElement("button",{"data-button":!0,"data-action":!0,style:m.actionButtonStyle||Y,onClick:ae=>{var fe,ve;ao(m.action)&&((ve=(fe=m.action).onClick)==null||ve.call(fe,ae),!ae.defaultPrevented&&Ot())},className:$(j==null?void 0:j.actionButton,(p=m==null?void 0:m.classNames)==null?void 0:p.actionButton)},m.action.label):null))};function Mh(){if(typeof window>"u"||typeof document>"u")return"ltr";let e=document.documentElement.getAttribute("dir");return e==="auto"||!e?window.getComputedStyle(document.documentElement).direction:e}var qS=P.forwardRef(function(e,t){let{invert:n,position:r="bottom-right",hotkey:o=["altKey","KeyT"],expand:a,closeButton:s,className:i,offset:u,theme:d="light",richColors:f,duration:p,style:g,visibleToasts:m=WS,toastOptions:v,dir:h=Mh(),gap:b=HS,loadingIcon:y,icons:w,containerAriaLabel:x="Notifications",pauseWhenPageIsHidden:S,cn:C=YS}=e,[M,T]=P.useState([]),D=P.useMemo(()=>Array.from(new Set([r].concat(M.filter(R=>R.position).map(R=>R.position)))),[M,r]),[k,W]=P.useState([]),[Y,O]=P.useState(!1),[K,H]=P.useState(!1),[ee,V]=P.useState(d!=="system"?d:typeof window<"u"&&window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"),q=P.useRef(null),G=o.join("+").replace(/Key/g,"").replace(/Digit/g,""),j=P.useRef(null),Z=P.useRef(!1),te=P.useCallback(R=>{T($=>{var F;return(F=$.find(B=>B.id===R.id))!=null&&F.delete||$e.dismiss(R.id),$.filter(({id:B})=>B!==R.id)})},[]);return P.useEffect(()=>$e.subscribe(R=>{if(R.dismiss){T($=>$.map(F=>F.id===R.id?{...F,delete:!0}:F));return}setTimeout(()=>{En.flushSync(()=>{T($=>{let F=$.findIndex(B=>B.id===R.id);return F!==-1?[...$.slice(0,F),{...$[F],...R},...$.slice(F+1)]:[R,...$]})})})}),[]),P.useEffect(()=>{if(d!=="system"){V(d);return}if(d==="system"&&(window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches?V("dark"):V("light")),typeof window>"u")return;let R=window.matchMedia("(prefers-color-scheme: dark)");try{R.addEventListener("change",({matches:$})=>{V($?"dark":"light")})}catch{R.addListener(({matches:F})=>{try{V(F?"dark":"light")}catch(B){console.error(B)}})}},[d]),P.useEffect(()=>{M.length<=1&&O(!1)},[M]),P.useEffect(()=>{let R=$=>{var F,B;o.every(X=>$[X]||$.code===X)&&(O(!0),(F=q.current)==null||F.focus()),$.code==="Escape"&&(document.activeElement===q.current||(B=q.current)!=null&&B.contains(document.activeElement))&&O(!1)};return document.addEventListener("keydown",R),()=>document.removeEventListener("keydown",R)},[o]),P.useEffect(()=>{if(q.current)return()=>{j.current&&(j.current.focus({preventScroll:!0}),j.current=null,Z.current=!1)}},[q.current]),P.createElement("section",{"aria-label":`${x} ${G}`,tabIndex:-1,"aria-live":"polite","aria-relevant":"additions text","aria-atomic":"false"},D.map((R,$)=>{var F;let[B,X]=R.split("-");return M.length?P.createElement("ol",{key:R,dir:h==="auto"?Mh():h,tabIndex:-1,ref:q,className:i,"data-sonner-toaster":!0,"data-theme":ee,"data-y-position":B,"data-lifted":Y&&M.length>1&&!a,"data-x-position":X,style:{"--front-toast-height":`${((F=k[0])==null?void 0:F.height)||0}px`,"--offset":typeof u=="number"?`${u}px`:u||zS,"--width":`${VS}px`,"--gap":`${b}px`,...g},onBlur:_=>{Z.current&&!_.currentTarget.contains(_.relatedTarget)&&(Z.current=!1,j.current&&(j.current.focus({preventScroll:!0}),j.current=null))},onFocus:_=>{_.target instanceof HTMLElement&&_.target.dataset.dismissible==="false"||Z.current||(Z.current=!0,j.current=_.relatedTarget)},onMouseEnter:()=>O(!0),onMouseMove:()=>O(!0),onMouseLeave:()=>{K||O(!1)},onPointerDown:_=>{_.target instanceof HTMLElement&&_.target.dataset.dismissible==="false"||H(!0)},onPointerUp:()=>H(!1)},M.filter(_=>!_.position&&$===0||_.position===R).map((_,Q)=>{var ne,re;return P.createElement(KS,{key:_.id,icons:w,index:Q,toast:_,defaultRichColors:f,duration:(ne=v==null?void 0:v.duration)!=null?ne:p,className:v==null?void 0:v.className,descriptionClassName:v==null?void 0:v.descriptionClassName,invert:n,visibleToasts:m,closeButton:(re=v==null?void 0:v.closeButton)!=null?re:s,interacting:K,position:R,style:v==null?void 0:v.style,unstyled:v==null?void 0:v.unstyled,classNames:v==null?void 0:v.classNames,cancelButtonStyle:v==null?void 0:v.cancelButtonStyle,actionButtonStyle:v==null?void 0:v.actionButtonStyle,removeToast:te,toasts:M.filter(ie=>ie.position==_.position),heights:k.filter(ie=>ie.position==_.position),setHeights:W,expandByDefault:a,gap:b,loadingIcon:y,expanded:Y,pauseWhenPageIsHidden:S,cn:C})})):null}))});const so=({onClick:e})=>l.jsx(Ne,{onClick:()=>e(),variant:"ghost",size:"xl",className:"ml-auto px-3",children:l.jsx(sr,{className:"!h-6 !w-6"})}),XS={...gt,success:(e,t)=>{const n=gt.success(e,{...t,cancel:l.jsx(so,{onClick:()=>gt.dismiss(n)})});return n},error:(e,t)=>{const n=gt.error(e,{...t,cancel:l.jsx(so,{onClick:()=>gt.dismiss(n)})});return n},warning:(e,t)=>{const n=gt.warning(e,{...t,cancel:l.jsx(so,{onClick:()=>gt.dismiss(n)})});return n},info:(e,t)=>{const n=gt.info(e,{...t,cancel:l.jsx(so,{onClick:()=>gt.dismiss(n)})});return n}},ZS=({...e})=>l.jsx(qS,{className:"toaster group",toastOptions:{classNames:{title:"py-3 px-0",toast:"group toast group-[.toaster]:bg-background group-[.toaster]:text-foreground group-[.toaster]:border-border group-[.toaster]:shadow-lg p-0",description:"group-[.toast]:text-muted-foreground",actionButton:"group-[.toast]:bg-primary group-[.toast]:text-primary-foreground",icon:"p-4 group-data-[type=error]:text-red-500 group-data-[type=success]:text-green-500 group-data-[type=warning]:text-amber-500 group-data-[type=info]:text-blue-500",cancelButton:"group-[.toast]:bg-muted group-[.toast]:text-muted-foreground"}},...e});var QS="Toggle",Bs=c.forwardRef((e,t)=>{const{pressed:n,defaultPressed:r=!1,onPressedChange:o,...a}=e,[s=!1,i]=Ee({prop:n,onChange:o,defaultProp:r});return l.jsx(L.button,{type:"button","aria-pressed":s,"data-state":s?"on":"off","data-disabled":e.disabled?"":void 0,...a,ref:t,onClick:I(e.onClick,()=>{e.disabled||i(!s)})})});Bs.displayName=QS;var Rh=Bs;const Ws=$t("inline-flex items-center justify-center gap-2 rounded-md text-sm font-medium transition-colors hover:bg-muted hover:text-muted-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50 data-[state=on]:bg-accent data-[state=on]:text-accent-foreground [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",{variants:{variant:{default:"bg-transparent",outline:"border border-input bg-transparent shadow-sm hover:bg-accent hover:text-accent-foreground"},size:{default:"h-9 px-2 min-w-9",sm:"h-8 px-1.5 min-w-8",lg:"h-10 px-2.5 min-w-10"}},defaultVariants:{variant:"default",size:"default"}}),Dh=c.forwardRef(({className:e,variant:t,size:n,...r},o)=>l.jsx(Rh,{ref:o,className:A(Ws({variant:t,size:n,className:e})),...r}));Dh.displayName=Rh.displayName;var wn="ToggleGroup",[Ah,BT]=ye(wn,[Rt]),jh=Rt(),zs=P.forwardRef((e,t)=>{const{type:n,...r}=e;if(n==="single"){const o=r;return l.jsx(JS,{...o,ref:t})}if(n==="multiple"){const o=r;return l.jsx(eP,{...o,ref:t})}throw new Error(`Missing prop \`type\` expected on \`${wn}\``)});zs.displayName=wn;var[kh,Ih]=Ah(wn),JS=P.forwardRef((e,t)=>{const{value:n,defaultValue:r,onValueChange:o=()=>{},...a}=e,[s,i]=Ee({prop:n,defaultProp:r,onChange:o});return l.jsx(kh,{scope:e.__scopeToggleGroup,type:"single",value:s?[s]:[],onItemActivate:i,onItemDeactivate:P.useCallback(()=>i(""),[i]),children:l.jsx(Oh,{...a,ref:t})})}),eP=P.forwardRef((e,t)=>{const{value:n,defaultValue:r,onValueChange:o=()=>{},...a}=e,[s=[],i]=Ee({prop:n,defaultProp:r,onChange:o}),u=P.useCallback(f=>i((p=[])=>[...p,f]),[i]),d=P.useCallback(f=>i((p=[])=>p.filter(g=>g!==f)),[i]);return l.jsx(kh,{scope:e.__scopeToggleGroup,type:"multiple",value:s,onItemActivate:u,onItemDeactivate:d,children:l.jsx(Oh,{...a,ref:t})})});zs.displayName=wn;var[tP,nP]=Ah(wn),Oh=P.forwardRef((e,t)=>{const{__scopeToggleGroup:n,disabled:r=!1,rovingFocus:o=!0,orientation:a,dir:s,loop:i=!0,...u}=e,d=jh(n),f=xt(s),p={role:"group",dir:f,...u};return l.jsx(tP,{scope:n,rovingFocus:o,disabled:r,children:o?l.jsx(Gr,{asChild:!0,...d,orientation:a,dir:f,loop:i,children:l.jsx(L.div,{...p,ref:t})}):l.jsx(L.div,{...p,ref:t})})}),io="ToggleGroupItem",_h=P.forwardRef((e,t)=>{const n=Ih(io,e.__scopeToggleGroup),r=nP(io,e.__scopeToggleGroup),o=jh(e.__scopeToggleGroup),a=n.value.includes(e.value),s=r.disabled||e.disabled,i={...e,pressed:a,disabled:s},u=P.useRef(null);return r.rovingFocus?l.jsx(Ur,{asChild:!0,...o,focusable:!s,active:a,ref:u,children:l.jsx($h,{...i,ref:t})}):l.jsx($h,{...i,ref:t})});_h.displayName=io;var $h=P.forwardRef((e,t)=>{const{__scopeToggleGroup:n,value:r,...o}=e,a=Ih(io,n),s={role:"radio","aria-checked":e.pressed,"aria-pressed":void 0},i=a.type==="single"?s:void 0;return l.jsx(Bs,{...i,...o,ref:t,onPressedChange:u=>{u?a.onItemActivate(r):a.onItemDeactivate(r)}})}),Lh=zs,Fh=_h;const Bh=c.createContext({size:"default",variant:"default"}),Wh=c.forwardRef(({className:e,variant:t,size:n,children:r,...o},a)=>l.jsx(Lh,{ref:a,className:A("flex items-center justify-center gap-1",e),...o,children:l.jsx(Bh.Provider,{value:{variant:t,size:n},children:r})}));Wh.displayName=Lh.displayName;const zh=c.forwardRef(({className:e,children:t,variant:n,size:r,...o},a)=>{const s=c.useContext(Bh);return l.jsx(Fh,{ref:a,className:A(Ws({variant:s.variant||n,size:s.size||r}),e),...o,children:t})});zh.displayName=Fh.displayName;var[lo,WT]=ye("Tooltip",[Mt]),co=Mt(),Vh="TooltipProvider",rP=700,Vs="tooltip.open",[oP,Hs]=lo(Vh),Hh=e=>{const{__scopeTooltip:t,delayDuration:n=rP,skipDelayDuration:r=300,disableHoverableContent:o=!1,children:a}=e,[s,i]=c.useState(!0),u=c.useRef(!1),d=c.useRef(0);return c.useEffect(()=>{const f=d.current;return()=>window.clearTimeout(f)},[]),l.jsx(oP,{scope:t,isOpenDelayed:s,delayDuration:n,onOpen:c.useCallback(()=>{window.clearTimeout(d.current),i(!1)},[]),onClose:c.useCallback(()=>{window.clearTimeout(d.current),d.current=window.setTimeout(()=>i(!0),r)},[r]),isPointerInTransitRef:u,onPointerInTransitChange:c.useCallback(f=>{u.current=f},[]),disableHoverableContent:o,children:a})};Hh.displayName=Vh;var uo="Tooltip",[aP,er]=lo(uo),Gh=e=>{const{__scopeTooltip:t,children:n,open:r,defaultOpen:o=!1,onOpenChange:a,disableHoverableContent:s,delayDuration:i}=e,u=Hs(uo,e.__scopeTooltip),d=co(t),[f,p]=c.useState(null),g=me(),m=c.useRef(0),v=s??u.disableHoverableContent,h=i??u.delayDuration,b=c.useRef(!1),[y=!1,w]=Ee({prop:r,defaultProp:o,onChange:T=>{T?(u.onOpen(),document.dispatchEvent(new CustomEvent(Vs))):u.onClose(),a==null||a(T)}}),x=c.useMemo(()=>y?b.current?"delayed-open":"instant-open":"closed",[y]),S=c.useCallback(()=>{window.clearTimeout(m.current),m.current=0,b.current=!1,w(!0)},[w]),C=c.useCallback(()=>{window.clearTimeout(m.current),m.current=0,w(!1)},[w]),M=c.useCallback(()=>{window.clearTimeout(m.current),m.current=window.setTimeout(()=>{b.current=!0,w(!0),m.current=0},h)},[h,w]);return c.useEffect(()=>()=>{m.current&&(window.clearTimeout(m.current),m.current=0)},[]),l.jsx(Vn,{...d,children:l.jsx(aP,{scope:t,contentId:g,open:y,stateAttribute:x,trigger:f,onTriggerChange:p,onTriggerEnter:c.useCallback(()=>{u.isOpenDelayed?M():S()},[u.isOpenDelayed,M,S]),onTriggerLeave:c.useCallback(()=>{v?C():(window.clearTimeout(m.current),m.current=0)},[C,v]),onOpen:S,onClose:C,disableHoverableContent:v,children:n})})};Gh.displayName=uo;var Gs="TooltipTrigger",Uh=c.forwardRef((e,t)=>{const{__scopeTooltip:n,...r}=e,o=er(Gs,n),a=Hs(Gs,n),s=co(n),i=c.useRef(null),u=J(t,i,o.onTriggerChange),d=c.useRef(!1),f=c.useRef(!1),p=c.useCallback(()=>d.current=!1,[]);return c.useEffect(()=>()=>document.removeEventListener("pointerup",p),[p]),l.jsx(Hn,{asChild:!0,...s,children:l.jsx(L.button,{"aria-describedby":o.open?o.contentId:void 0,"data-state":o.stateAttribute,...r,ref:u,onPointerMove:I(e.onPointerMove,g=>{g.pointerType!=="touch"&&!f.current&&!a.isPointerInTransitRef.current&&(o.onTriggerEnter(),f.current=!0)}),onPointerLeave:I(e.onPointerLeave,()=>{o.onTriggerLeave(),f.current=!1}),onPointerDown:I(e.onPointerDown,()=>{d.current=!0,document.addEventListener("pointerup",p,{once:!0})}),onFocus:I(e.onFocus,()=>{d.current||o.onOpen()}),onBlur:I(e.onBlur,o.onClose),onClick:I(e.onClick,o.onClose)})})});Uh.displayName=Gs;var Us="TooltipPortal",[sP,iP]=lo(Us,{forceMount:void 0}),Yh=e=>{const{__scopeTooltip:t,forceMount:n,children:r,container:o}=e,a=er(Us,t);return l.jsx(sP,{scope:t,forceMount:n,children:l.jsx(be,{present:n||a.open,children:l.jsx(jn,{asChild:!0,container:o,children:r})})})};Yh.displayName=Us;var xn="TooltipContent",Kh=c.forwardRef((e,t)=>{const n=iP(xn,e.__scopeTooltip),{forceMount:r=n.forceMount,side:o="top",...a}=e,s=er(xn,e.__scopeTooltip);return l.jsx(be,{present:r||s.open,children:s.disableHoverableContent?l.jsx(qh,{side:o,...a,ref:t}):l.jsx(lP,{side:o,...a,ref:t})})}),lP=c.forwardRef((e,t)=>{const n=er(xn,e.__scopeTooltip),r=Hs(xn,e.__scopeTooltip),o=c.useRef(null),a=J(t,o),[s,i]=c.useState(null),{trigger:u,onClose:d}=n,f=o.current,{onPointerInTransitChange:p}=r,g=c.useCallback(()=>{i(null),p(!1)},[p]),m=c.useCallback((v,h)=>{const b=v.currentTarget,y={x:v.clientX,y:v.clientY},w=fP(y,b.getBoundingClientRect()),x=mP(y,w),S=pP(h.getBoundingClientRect()),C=gP([...x,...S]);i(C),p(!0)},[p]);return c.useEffect(()=>()=>g(),[g]),c.useEffect(()=>{if(u&&f){const v=b=>m(b,f),h=b=>m(b,u);return u.addEventListener("pointerleave",v),f.addEventListener("pointerleave",h),()=>{u.removeEventListener("pointerleave",v),f.removeEventListener("pointerleave",h)}}},[u,f,m,g]),c.useEffect(()=>{if(s){const v=h=>{const b=h.target,y={x:h.clientX,y:h.clientY},w=(u==null?void 0:u.contains(b))||(f==null?void 0:f.contains(b)),x=!hP(y,s);w?g():x&&(g(),d())};return document.addEventListener("pointermove",v),()=>document.removeEventListener("pointermove",v)}},[u,f,s,d,g]),l.jsx(qh,{...e,ref:a})}),[cP,uP]=lo(uo,{isInside:!1}),qh=c.forwardRef((e,t)=>{const{__scopeTooltip:n,children:r,"aria-label":o,onEscapeKeyDown:a,onPointerDownOutside:s,...i}=e,u=er(xn,n),d=co(n),{onClose:f}=u;return c.useEffect(()=>(document.addEventListener(Vs,f),()=>document.removeEventListener(Vs,f)),[f]),c.useEffect(()=>{if(u.trigger){const p=g=>{const m=g.target;m!=null&&m.contains(u.trigger)&&f()};return window.addEventListener("scroll",p,{capture:!0}),()=>window.removeEventListener("scroll",p,{capture:!0})}},[u.trigger,f]),l.jsx(Lt,{asChild:!0,disableOutsidePointerEvents:!1,onEscapeKeyDown:a,onPointerDownOutside:s,onFocusOutside:p=>p.preventDefault(),onDismiss:f,children:l.jsxs(zr,{"data-state":u.stateAttribute,...d,...i,ref:t,style:{...i.style,"--radix-tooltip-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-tooltip-content-available-width":"var(--radix-popper-available-width)","--radix-tooltip-content-available-height":"var(--radix-popper-available-height)","--radix-tooltip-trigger-width":"var(--radix-popper-anchor-width)","--radix-tooltip-trigger-height":"var(--radix-popper-anchor-height)"},children:[l.jsx(jo,{children:r}),l.jsx(cP,{scope:n,isInside:!0,children:l.jsx(am,{id:u.contentId,role:"tooltip",children:o||r})})]})})});Kh.displayName=xn;var Xh="TooltipArrow",dP=c.forwardRef((e,t)=>{const{__scopeTooltip:n,...r}=e,o=co(n);return uP(Xh,n).isInside?null:l.jsx(Vr,{...o,...r,ref:t})});dP.displayName=Xh;function fP(e,t){const n=Math.abs(t.top-e.y),r=Math.abs(t.bottom-e.y),o=Math.abs(t.right-e.x),a=Math.abs(t.left-e.x);switch(Math.min(n,r,o,a)){case a:return"left";case o:return"right";case n:return"top";case r:return"bottom";default:throw new Error("unreachable")}}function mP(e,t,n=5){const r=[];switch(t){case"top":r.push({x:e.x-n,y:e.y+n},{x:e.x+n,y:e.y+n});break;case"bottom":r.push({x:e.x-n,y:e.y-n},{x:e.x+n,y:e.y-n});break;case"left":r.push({x:e.x+n,y:e.y-n},{x:e.x+n,y:e.y+n});break;case"right":r.push({x:e.x-n,y:e.y-n},{x:e.x-n,y:e.y+n});break}return r}function pP(e){const{top:t,right:n,bottom:r,left:o}=e;return[{x:o,y:t},{x:n,y:t},{x:n,y:r},{x:o,y:r}]}function hP(e,t){const{x:n,y:r}=e;let o=!1;for(let a=0,s=t.length-1;a<t.length;s=a++){const i=t[a].x,u=t[a].y,d=t[s].x,f=t[s].y;u>r!=f>r&&n<(d-i)*(r-u)/(f-u)+i&&(o=!o)}return o}function gP(e){const t=e.slice();return t.sort((n,r)=>n.x<r.x?-1:n.x>r.x?1:n.y<r.y?-1:n.y>r.y?1:0),vP(t)}function vP(e){if(e.length<=1)return e.slice();const t=[];for(let r=0;r<e.length;r++){const o=e[r];for(;t.length>=2;){const a=t[t.length-1],s=t[t.length-2];if((a.x-s.x)*(o.y-s.y)>=(a.y-s.y)*(o.x-s.x))t.pop();else break}t.push(o)}t.pop();const n=[];for(let r=e.length-1;r>=0;r--){const o=e[r];for(;n.length>=2;){const a=n[n.length-1],s=n[n.length-2];if((a.x-s.x)*(o.y-s.y)>=(a.y-s.y)*(o.x-s.x))n.pop();else break}n.push(o)}return n.pop(),t.length===1&&n.length===1&&t[0].x===n[0].x&&t[0].y===n[0].y?t:t.concat(n)}var bP=Hh,yP=Gh,wP=Uh,xP=Yh,Zh=Kh;const CP=bP,EP=yP,NP=wP,Qh=c.forwardRef(({className:e,sideOffset:t=4,...n},r)=>l.jsx(xP,{children:l.jsx(Zh,{ref:r,sideOffset:t,className:A("z-50 overflow-hidden rounded-md bg-primary px-3 py-1.5 text-xs text-primary-foreground animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",e),...n})}));Qh.displayName=Zh.displayName;function SP(e){const{triggerElement:t,steps:n}=e,[r,o]=P.useState(!1),[a,s]=P.useState(0),i=()=>{s(d=>d<n.length-1?d+1:d)},u=()=>{s(d=>d>0?d-1:d)};return l.jsxs(Tr,{open:r,onOpenChange:o,children:[l.jsx(Gu,{asChild:!0,children:t}),l.jsxs(Fn,{className:"sm:max-w-[425px]",children:[l.jsxs(Mr,{className:A(n[a].title===""&&"sr-only"),children:[l.jsx(Rr,{children:n[a].title}),l.jsx(Dr,{className:"sr-only",children:n[a].title})]}),l.jsx("div",{children:n[a].description}),l.jsxs("div",{className:"flex items-center justify-between mt-4",children:[l.jsx(Ne,{variant:"ghost",size:"icon",onClick:u,disabled:a===0,children:l.jsx(Ro,{className:"h-4 w-4"})}),l.jsx("div",{className:"flex justify-center gap-1",children:n.map((d,f)=>l.jsx("div",{className:A("h-3 w-3 rounded-full",f===a?"bg-primary":"bg-gray-200")},f))}),l.jsx(Ne,{variant:"ghost",size:"icon",onClick:i,disabled:a===n.length-1,children:l.jsx(ar,{className:"h-4 w-4"})})]})]})]})}const PP=e=>l.jsx("div",{className:"unreset",dangerouslySetInnerHTML:{__html:e.children}}),TP=e=>{const{execCommand:t}=e,n=()=>{const a=document.createElement("input");a.type="file",a.accept="image/*",a.onchange=async s=>{var u;const i=(u=s.target.files)==null?void 0:u[0];if(i){const d=new FileReader;d.onload=()=>{t("insertImage",d.result)},d.readAsDataURL(i)}},a.click()},r=()=>{const a=prompt("Enter the URL:");a&&t("createLink",a)},o=a=>{t("fontSize",a)};return l.jsxs("div",{className:"flex flex-wrap gap-2 border-b pb-2 mb-2",children:[l.jsx(Ne,{variant:"outline",size:"icon",onClick:()=>t("bold"),children:l.jsx(Kb,{size:16})}),l.jsx(Ne,{variant:"outline",size:"icon",onClick:()=>t("italic"),children:l.jsx(oy,{size:16})}),l.jsx(Ne,{variant:"outline",size:"icon",onClick:()=>t("underline"),children:l.jsx(uy,{size:16})}),l.jsxs(Vp,{onValueChange:a=>o(a),defaultValue:"3",children:[l.jsx(js,{className:"w-[80px]",children:l.jsx(Hp,{placeholder:"Size"})}),l.jsxs(Os,{children:[l.jsx(yn,{value:"1",children:l.jsx("div",{children:"Small"})}),l.jsx(yn,{value:"3",children:l.jsx("div",{children:"Medium"})}),l.jsx(yn,{value:"5",children:l.jsx("div",{children:"Large"})}),l.jsx(yn,{value:"7",children:l.jsx("div",{children:"Extra Large"})})]})]}),l.jsx(Ne,{variant:"outline",size:"icon",onClick:()=>t("insertUnorderedList"),children:l.jsx(iy,{size:16})}),l.jsx(Ne,{variant:"outline",size:"icon",onClick:()=>t("insertOrderedList"),children:l.jsx(sy,{size:16})}),l.jsx(Ne,{variant:"outline",size:"icon",onClick:()=>t("formatBlock","blockquote"),children:l.jsx(cy,{size:16})}),l.jsx(Ne,{variant:"outline",size:"icon",onClick:n,children:l.jsx(ny,{size:16})}),l.jsx(Ne,{variant:"outline",size:"icon",onClick:r,children:l.jsx(ay,{size:16})})]})},MP=({initialValue:e="",onChange:t,className:n})=>{const r=P.useRef(null);P.useEffect(()=>{const s=new MutationObserver(()=>{t==null||t(r.current?r.current.innerHTML:"")});r.current&&s.observe(r.current,{childList:!0})},[]),P.useEffect(()=>{r.current&&(r.current.innerHTML=e)},[]);const o=()=>{r.current&&(t==null||t(r.current.innerHTML))},a=(s,i)=>{r.current&&(document.execCommand(s,!1,i),o())};return l.jsxs("div",{className:A("w-full p-4 border rounded-lg shadow-md",n),children:[l.jsx(TP,{execCommand:a}),l.jsx("div",{ref:r,contentEditable:!0,className:"w-full h-48 p-2 border rounded overflow-y-auto focus:outline-none min-h-20 resize-y unreset",onInput:o})]})},RP=e=>{const{observerOptions:t,images:n,classNames:r}=e,[o,a]=P.useState([]),s=P.useRef(null);return P.useEffect(()=>{const i={root:document.querySelector(".image-gallery"),rootMargin:"0px",threshold:1,...t};return s.current=new IntersectionObserver(u=>{u.forEach(d=>{if(d.isIntersecting&&d.target instanceof HTMLDivElement){const f=Number(d.target.dataset.index);a(p=>[...new Set([...p,f])])}})},i),()=>{var u;return(u=s.current)==null?void 0:u.disconnect()}},[]),P.useEffect(()=>{document.querySelectorAll(".image-cell").forEach(u=>{var d;return(d=s.current)==null?void 0:d.observe(u)})},[n]),l.jsx("div",{className:A("image-gallery overflow-auto grid grid-cols-[repeat(auto-fit,minmax(300px,1fr))]","gap-2 justify-center h-full",r==null?void 0:r.imageGallery),children:n.map((i,u)=>l.jsx("div",{"data-index":u,className:A("image-cell w-full h-52",r==null?void 0:r.imageCell),children:o.includes(u)&&l.jsx("img",{src:i,alt:`Gallery Image ${u+1}`,className:A("animate-fade-up animate-duration-[400ms] animate-ease-linear w-full h-full object-cover",r==null?void 0:r.image)})},u))})},DP=e=>{const{currentMonth:t,currentYear:n,onChangeMonthYear:r,locale:o=wo,mode:a="month"}=e,s=i=>{let u=t,d=n;a==="month"?i==="prev"?u===0?(u=11,d--):u--:u===11?(u=0,d++):u++:d=i==="prev"?d-1:d+1,r(u,d)};return l.jsxs("div",{className:"flex items-center justify-between",children:[l.jsx(Ne,{variant:"ghost",size:"icon",onClick:()=>s("prev"),"aria-label":`Previous ${a}`,children:l.jsx(Ub,{className:"!h-8 !w-8"})}),l.jsxs("div",{className:"text-center",children:[l.jsx("h2",{className:"text-2xl font-bold capitalize",children:a==="month"?o.localize.month(t,{width:"wide"}):n}),a==="month"&&l.jsx("p",{className:"text-sm text-muted-foreground",children:n})]}),l.jsx(Ne,{variant:"ghost",size:"icon",onClick:()=>s("next"),"aria-label":`Next ${a}`,children:l.jsx(Yb,{className:"!h-8 !w-8"})})]})};function Jh({totalPages:e,maxVisiblePages:t=5,mode:n="full",onPageChange:r,current:o=1}){const[a,s]=P.useState(o);P.useEffect(()=>{s(o)},[o]);const i=d=>{d>=1&&d<=e&&(s(d),r(d))},u=()=>{if(n==="minimal")return null;const d=[],f=Math.floor(t/2);let p=Math.max(a-f,2);const g=Math.min(p+t-3,e-1);g-p+3<t&&(p=Math.max(g-t+4,2)),d.push(l.jsx(ht,{children:l.jsx(Ut,{onClick:m=>{m.preventDefault(),i(1)},isActive:a===1,children:"1"})},1)),p>2&&d.push(l.jsx(ht,{children:l.jsx(Jr,{})},"start-ellipsis"));for(let m=p;m<=g;m++)d.push(l.jsx(ht,{children:l.jsx(Ut,{onClick:v=>{v.preventDefault(),i(m)},isActive:a===m,children:m})},m));return g<e-1&&d.push(l.jsx(ht,{children:l.jsx(Jr,{})},"end-ellipsis")),e>1&&d.push(l.jsx(ht,{children:l.jsx(Ut,{onClick:m=>{m.preventDefault(),i(e)},isActive:a===e,children:e})},e)),d};return l.jsx(vs,{children:l.jsxs(bs,{children:[l.jsx(ht,{children:l.jsx(ys,{disabled:a===1,onClick:d=>{d.preventDefault(),i(a-1)}})}),u(),l.jsx(ht,{children:l.jsx(ws,{disabled:a===e,onClick:d=>{d.preventDefault(),i(a+1)}})})]})})}const eg=({initIndex:e,onPageChange:t,totalItems:n,totalPages:r,pageTotalItems:o,currentPage:a,showItemsCounter:s=!0})=>l.jsxs("div",{className:"flex flex-col gap-2 items-end",children:[s&&l.jsxs("p",{children:[l.jsx("b",{children:e+1})," - ",l.jsx("b",{children:e+o})," (",n,")"]}),r>1&&l.jsx(Jh,{current:a,onPageChange:t,totalPages:r})]}),AP=e=>{const{data:t=[],perPage:n=50,initialPage:r=1,children:o,itemsContainerClass:a="",emptyState:s=l.jsx(Fi,{notFoundText:"No item found!"}),isLoading:i=!1,showItemsCounter:u=!0,loadingVariant:d="loader"}=e,[f,p]=P.useState(t),[g,m]=P.useState(r),v=Math.ceil(f.length/n),h=(g-1)*n,b=g*n,y=f.slice(h,b),w=i?l.jsx("section",{className:"w-full",children:d==="loader"?l.jsx(qp,{size:"lg"}):l.jsx(Yp,{className:"h-12 w-full",repeat:n})}):f.length===0?s:void 0;return l.jsxs("div",{className:"flex flex-col gap-4 items-end",children:[l.jsx(eg,{initIndex:h,endIndex:b,totalItems:f.length,totalPages:v,currentPage:g,pageTotalItems:y.length,onPageChange:m,showItemsCounter:u}),w?l.jsx("section",{className:"w-full",children:w}):l.jsx("section",{className:`w-full ${a}`,children:y.map((x,S)=>l.jsx(P.Fragment,{children:o(x,S)},x.id))}),l.jsx(eg,{initIndex:h,endIndex:b,totalItems:f.length,totalPages:v,currentPage:g,pageTotalItems:y.length,onPageChange:m,showItemsCounter:u})]})},jP=({fixed:e,isOpen:t,onToggle:n,children:r,className:o})=>{const[a,s]=P.useState(!0),i=P.useRef(null),u=P.useRef(null),d=t!==void 0?t:a,f=()=>{var g;e||(n?n(!1):s(!1),(g=u.current)==null||g.focus())},p=g=>{i.current&&!i.current.contains(g.target)&&!e&&f()};return P.useEffect(()=>{if(!e)return document.addEventListener("mousedown",p),()=>{document.removeEventListener("mousedown",p)}},[e]),l.jsxs(l.Fragment,{children:[l.jsx("aside",{ref:i,className:A("bg-white z-50 h-full shadow-md flex flex-col fixed top-0 left-0 transition-all duration-300 ease-in-out overflow-auto",{"w-72":e||d},{"w-0":!d&&!e},{"translate-x-0":d},{"-translate-x-full":!d&&!e},o),"aria-hidden":!d,children:r}),e&&l.jsx("div",{className:"w-72 relative"})]})},kP=({children:e,className:t})=>l.jsx("header",{className:A("p-4 flex justify-between items-center border-b",t),"aria-label":"Sidebar header",children:e}),IP=({children:e,className:t})=>l.jsx("nav",{"aria-label":"Sidebar navigation",className:t,children:e}),OP=({children:e,className:t})=>l.jsx("ul",{className:A("flex flex-col gap-2 my-4 px-4",t),children:e}),_P=({children:e,className:t,onClick:n})=>l.jsx("li",{className:A("flex items-center gap-2 hover:bg-gray-100 rounded transition-colors",t),onClick:n,children:e}),$P=({children:e,className:t})=>l.jsx("footer",{className:A("mt-auto p-4 text-sm",t),"aria-label":"Sidebar footer",children:e}),LP=()=>{const[e,t]=P.useState([]);return[e,a=>{t([...e,a])},a=>{const s=[...e];s.splice(a,1),t(s)},(a,s)=>{const i=[...e];i.filter(u=>u[a]!==s),t(i)}]};function FP(){const[e,t]=P.useState(null);return[e,async r=>{if(!(navigator!=null&&navigator.clipboard))return console.warn("Clipboard not supported"),!1;try{return await navigator.clipboard.writeText(r),t(r),!0}catch(o){return console.warn("Copy failed",o),t(null),!1}}]}function BP(e,t=250){const[n,r]=P.useState(e);return P.useEffect(()=>{const o=setTimeout(()=>{r(e)},t);return()=>{clearTimeout(o)}},[e,t]),n}const tg=c.createContext(void 0),ng={sm:"sm:max-w-[425px]",md:"sm:max-w-[550px]",lg:"sm:max-w-[700px]",xl:"sm:max-w-[900px]"},rg={info:{icon:ry,className:"text-blue-500"},success:{icon:Zb,className:"text-green-500"},error:{icon:Do,className:"text-red-500"},warning:{icon:Xb,className:"text-yellow-500"},confirm:{icon:_i,className:"text-blue-500"},custom:{icon:_i,className:"text-gray-500"}};function WP({children:e}){var h,b,y,w,x,S,C,M,T,D,k,W,Y;const[t,n]=c.useState({isOpen:!1,options:null}),r=c.useCallback(O=>{n({isOpen:!0,options:O})},[]),o=c.useCallback(()=>{n(O=>({...O,isOpen:!1}))},[]),a=c.useCallback(O=>{r({...O,type:"info"})},[r]),s=c.useCallback(O=>{r({...O,type:"success"})},[r]),i=c.useCallback(O=>{r({...O,type:"error"})},[r]),u=c.useCallback(O=>{r({...O,type:"warning"})},[r]),d=c.useCallback(O=>{r({...O,type:"custom"})},[r]),f=c.useCallback(O=>{r({...O,type:"confirm"})},[r]),p=(O,K)=>{let H=rg[O].icon;return K&&(H=K),l.jsx(H,{className:A("h-24 w-24",rg[O].className)})},g=c.useMemo(()=>({open:r,close:o,info:a,success:s,error:i,warning:u,custom:d,confirm:f}),[r,o,a,s,i,u,d,f]),[m,v]=c.useState(!1);return l.jsxs(tg.Provider,{value:g,children:[e,l.jsx(Tr,{open:t.isOpen,onOpenChange:O=>!O&&o(),modal:!0,children:l.jsxs(Fn,{className:A((h=t.options)!=null&&h.size?ng[t.options.size]:ng.sm,(b=t.options)==null?void 0:b.className),children:[t.options&&l.jsxs(Mr,{children:[l.jsx("div",{className:"mx-auto mb-6",children:p(t.options.type,t.options.icon)}),t.options.title&&l.jsx(Rr,{className:"text-center",children:t.options.title}),l.jsx(Dr,{className:"text-center",children:t.options.message})]}),((y=t.options)==null?void 0:y.type)==="confirm"&&l.jsxs("div",{className:"flex justify-center gap-4 mt-4",children:[l.jsx(Ne,{isLoading:m??((x=(w=t.options)==null?void 0:w.confirmButton)==null?void 0:x.loading),disabled:(C=(S=t.options)==null?void 0:S.confirmButton)==null?void 0:C.disabled,className:(M=t.options.confirmButton)==null?void 0:M.className,onClick:()=>{var K,H,ee,V;if(!((H=(K=t.options)==null?void 0:K.confirmButton)!=null&&H.onClick))throw new Error("Confirmation type dialog needs to implement the onConfirm function");const O=(V=(ee=t.options)==null?void 0:ee.confirmButton)==null?void 0:V.onClick();O instanceof Promise?(v(!0),O.then(()=>{v(!1),o()}).finally(()=>v(!1))):o()},children:((T=t.options.confirmButton)==null?void 0:T.label)??"Confirm"}),((D=t.options.cancelButton)==null?void 0:D.label)&&l.jsx(Ne,{variant:"outline",onClick:o,className:t.options.cancelButton.className,isLoading:(k=t.options.cancelButton)==null?void 0:k.loading,disabled:m||((W=t.options.cancelButton)==null?void 0:W.disabled),children:(Y=t.options.cancelButton)==null?void 0:Y.label})]})]})})]})}function zP(){const e=c.useContext(tg);if(e===void 0)throw new Error("useDialog must be used within a DialogProvider");return e}const VP=(e=!1)=>{const[t,n]=c.useState(e),r=c.useCallback(()=>n(!0),[]),o=c.useCallback(()=>n(!1),[]),a=c.useCallback(()=>n(s=>!s),[]);return{isOpen:t,open:r,close:o,toggle:a}},HP=(e=!1)=>{const[t,n]=c.useState(e),r=c.useCallback(()=>n(!0),[]),o=c.useCallback(()=>n(!1),[]);return[t,r,o]};/*!
268
268
  * Compressor.js v1.2.1
269
269
  * https://fengyuanchen.github.io/compressorjs
270
270
  *
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "buildgrid-ui",
3
- "version": "1.11.3",
3
+ "version": "1.11.4",
4
4
  "homepage": "http://adrianomaringolo.github.io/buildgrid-ui",
5
5
  "publishConfig": {
6
6
  "access": "public"