@noxickon/onyx 0.0.3 → 0.0.4-dev.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/chunks/Button-D-v4l8ZE.js +20 -0
- package/dist/chunks/{Button-BV4_pmoH.js → Button-bARrxYyo.js} +120 -121
- package/dist/chunks/Input-CLi1H63d.js +1 -0
- package/dist/chunks/{Input-BraK4lDE.js → Input-dfvmdIHi.js} +38 -38
- package/dist/chunks/errorHelper--G-SWQzN.js +18 -0
- package/dist/chunks/errorHelper-DaP_XxEx.js +1 -0
- package/dist/chunks/formatTimestamp-CMxOnPo1.js +12 -0
- package/dist/chunks/formatTimestamp-TTsNcy7u.js +1 -0
- package/dist/chunks/{index-DnVdNmco.js → useAuth-DDRXztKj.js} +240 -178
- package/dist/chunks/{index-DGjVEo0G.js → useAuth-DPnpY3XC.js} +18 -9
- package/dist/chunks/{useForm-BAbY8X4X.js → useForm-D4co95Vn.js} +785 -801
- package/dist/chunks/useForm-DUviJ7xS.js +18 -0
- package/dist/chunks/useQuery-BvCyJMae.js +2065 -0
- package/dist/chunks/useQuery-DTNHO7so.js +3 -0
- package/dist/context/context.cjs.js +1 -1
- package/dist/context/context.es.js +1 -1
- package/dist/context.d.ts +1 -0
- package/dist/hooks/hooks.cjs.js +6 -6
- package/dist/hooks/hooks.es.js +117 -118
- package/dist/index.css +1 -1
- package/dist/index.d.ts +18 -0
- package/dist/layout/layout.cjs.js +1 -1
- package/dist/layout/layout.es.js +1 -1
- package/dist/onyx.cjs.js +1 -1
- package/dist/onyx.es.js +425 -386
- package/dist/pages/pages.cjs.js +9 -3
- package/dist/pages/pages.es.js +35 -25
- package/dist/utils/utils.cjs.js +1 -0
- package/dist/utils/utils.es.js +8 -0
- package/dist/utils.d.ts +29 -0
- package/package.json +31 -26
- package/dist/chunks/Button-CU-zvMVL.js +0 -20
- package/dist/chunks/Input-C5dK8VSu.js +0 -1
- package/dist/chunks/index-Dgwp7JKP.js +0 -601
- package/dist/chunks/index-rUH_mzKt.js +0 -2
- package/dist/chunks/useAuth-BwjRd05B.js +0 -10
- package/dist/chunks/useAuth-CR3bAGqp.js +0 -61
- package/dist/chunks/useForm-cxgyAiOs.js +0 -26
- package/dist/chunks/useQuery--6GP2-dN.js +0 -2
- package/dist/chunks/useQuery-mFRa2XuW.js +0 -1481
package/dist/onyx.cjs.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require('./index.css');const e=require("./chunks/jsx-runtime-CITbqOLs.js"),b=require("react"),o=require("./chunks/Button-CU-zvMVL.js"),M=require("./chunks/Input-C5dK8VSu.js"),Z=require("react-dom"),de=require("./chunks/constants-B1_n9ezb.js"),ee=require("./chunks/useAuth-BwjRd05B.js"),ue=({children:t,className:s})=>e.jsxRuntimeExports.jsx("div",{className:o.twMerge("flex items-center gap-3",s),children:t}),G={rounded:"rounded-full",square:"rounded-lg"},K={sm:"h-6 w-6",md:"h-8 w-8",lg:"h-10 w-10",xl:"h-12 w-12","2xl":"h-16 w-16"},me={sm:"h-2 w-2",md:"h-2.5 w-2.5",lg:"h-3 w-3",xl:"h-3.5 w-3.5","2xl":"h-4 w-4"},pe={online:"bg-green-500",offline:"bg-neutral-500",away:"bg-yellow-500",busy:"bg-red-500"},fe={sm:"text-xs",md:"text-sm",lg:"text-base",xl:"text-base","2xl":"text-lg"},te=({alt:t,className:s,fallback:n,showStatus:i=!1,size:r="md",skeleton:x=!1,src:l,status:a,type:u="square"})=>{const[w,m]=b.useState(!1),[p,h]=b.useState(!1),[f,j]=b.useState(!0);b.useEffect(()=>{if(!l){m(!1),h(!0),j(!1);return}j(!0);const R=new Image;R.src=l;const N=()=>{m(!0),h(!1),j(!1)},c=()=>{m(!1),h(!0),j(!1)};return R.addEventListener("load",N),R.addEventListener("error",c),()=>{R.removeEventListener("load",N),R.removeEventListener("error",c)}},[l]);const v=()=>f&&x?e.jsxRuntimeExports.jsx("div",{className:o.twJoin("animate-pulse bg-zinc-800",G[u],K[r])}):w&&!p?e.jsxRuntimeExports.jsx("img",{alt:t,className:o.twMerge(G[u],K[r],"object-cover",s),loading:"lazy",src:l}):e.jsxRuntimeExports.jsx("div",{"aria-label":t,className:o.twMerge("flex items-center justify-center bg-zinc-800 font-medium text-white",G[u],K[r],fe[r],s),role:"img",children:typeof n=="string"&&n.length>2?n.substring(0,2):n});return e.jsxRuntimeExports.jsxs("div",{className:"relative shrink-0",children:[v(),i&&a&&e.jsxRuntimeExports.jsx("span",{"aria-label":`Status: ${a}`,className:o.twJoin("absolute right-0 bottom-0 rounded-full border-2 border-zinc-900",me[r],pe[a]),role:"status"})]})},be=({className:t,size:s="md",subtext:n,username:i})=>{const r={sm:"text-xs",md:"text-sm",lg:"text-base",xl:"text-lg","2xl":"text-xl"},x={sm:"text-xs",md:"text-xs",lg:"text-sm",xl:"text-sm","2xl":"text-base"};return e.jsxRuntimeExports.jsxs("div",{className:o.twMerge("flex flex-col justify-center overflow-hidden",t),children:[e.jsxRuntimeExports.jsx("span",{className:o.twJoin("block truncate font-medium text-white",r[s]),children:i}),n&&e.jsxRuntimeExports.jsx("span",{className:o.twJoin("block truncate text-neutral-400",x[s]),children:n})]})},he={sm:"px-1 py-0.5 text-xs",md:"px-1.5 py-0.5 text-sm",lg:"px-2 py-1 text-base"},je={purple:"bg-purple-500/25 text-purple-400",lime:"bg-lime-400/10 text-lime-300",red:"bg-red-500/25 text-red-400",yellow:"bg-yellow-500/25 text-yellow-400",green:"bg-green-500/25 text-green-400",blue:"bg-blue-500/25 text-blue-400",indigo:"bg-indigo-500/25 text-indigo-400",pink:"bg-pink-500/25 text-pink-400",amber:"bg-amber-500/25 text-amber-400",emerald:"bg-emerald-500/25 text-emerald-400",teal:"bg-teal-500/25 text-teal-400",cyan:"bg-cyan-500/25 text-cyan-400",sky:"bg-sky-500/25 text-sky-400",violet:"bg-violet-500/25 text-violet-400",fuchsia:"bg-fuchsia-500/25 text-fuchsia-400",gray:"bg-gray-500/25 text-gray-400"};function ge(t){const s=t.startsWith("#")?t.substring(1):t;if(!/^[0-9A-Fa-f]{3,6}$/.test(s))return"#FFFFFF";const i=parseInt(s.length===3?s[0]+s[0]:s.substr(0,2),16),r=parseInt(s.length===3?s[1]+s[1]:s.substr(2,2),16),x=parseInt(s.length===3?s[2]+s[2]:s.substr(4,2),16);return(.299*i+.587*r+.114*x)/255>.5?"#000000":"#FFFFFF"}const J=({bgColor:t,children:s,className:n,color:i="purple",size:r="md",textColor:x})=>{const l=!t&&!x?je[i]:"",a={};return t&&(a.backgroundColor=t,x||(a.color=ge(t))),x&&(a.color=x),e.jsxRuntimeExports.jsx("span",{className:o.twMerge("inline-flex items-center rounded-md font-medium",he[r],l,n),style:Object.keys(a).length?a:void 0,children:s})},we={default:"bg-zinc-900/90 border border-zinc-800",outline:"bg-transparent border border-zinc-700",gradient:"bg-gradient-to-br from-zinc-900 via-purple-900/20 to-zinc-900 border border-purple-800/30"},Ee={none:"p-0",sm:"p-3",md:"p-4",lg:"p-6"},ve={none:"",lift:"hover:scale-[1.01] hover:-translate-y-1",glow:"hover:shadow-lg hover:shadow-purple-500/10",border:"hover:border-purple-500/50"},Re={purple:"hover:border-purple-500/50",blue:"hover:border-blue-500/50",emerald:"hover:border-emerald-500/50",orange:"hover:border-orange-500/50",rose:"hover:border-rose-500/50",amber:"hover:border-amber-500/50",cyan:"hover:border-cyan-500/50",indigo:"hover:border-indigo-500/50"},ye={purple:"from-purple-500/5 to-pink-500/5",blue:"from-blue-500/5 to-cyan-500/5",emerald:"from-emerald-500/5 to-teal-500/5",orange:"from-orange-500/5 to-red-500/5",rose:"from-rose-500/5 to-pink-500/5",amber:"from-amber-500/5 to-orange-500/5",cyan:"from-cyan-500/5 to-blue-500/5",indigo:"from-indigo-500/5 to-purple-500/5"},Ne=({backdropBlur:t=!1,children:s,className:n,color:i="purple",equalHeight:r=!1,hoverVariant:x="lift",hoverable:l=!1,padding:a="md",variant:u="default",...w})=>{const m=l?x:"none",p=l&&m!=="none";return e.jsxRuntimeExports.jsxs("div",{className:o.twMerge("relative overflow-hidden rounded-lg transition-all duration-300",we[u],Ee[a],r&&"flex flex-col",t&&"backdrop-blur-sm",p&&ve[m],p&&"group hover:bg-white/5",p&&Re[i],n),...w,children:[p&&e.jsxRuntimeExports.jsx("div",{className:o.twMerge("absolute inset-0 bg-gradient-to-br opacity-0 transition-opacity duration-300 group-hover:opacity-100",ye[i])}),e.jsxRuntimeExports.jsx("div",{className:"relative z-10",children:s})]})},Oe={purple:{border:"border-purple-500/20",bg:"bg-purple-500/10",text:"text-purple-400"},blue:{border:"border-blue-500/20",bg:"bg-blue-500/10",text:"text-blue-400"},emerald:{border:"border-emerald-500/20",bg:"bg-emerald-500/10",text:"text-emerald-400"},orange:{border:"border-orange-500/20",bg:"bg-orange-500/10",text:"text-orange-400"},rose:{border:"border-rose-500/20",bg:"bg-rose-500/10",text:"text-rose-400"},amber:{border:"border-amber-500/20",bg:"bg-amber-500/10",text:"text-amber-400"},cyan:{border:"border-cyan-500/20",bg:"bg-cyan-500/10",text:"text-cyan-400"},indigo:{border:"border-indigo-500/20",bg:"bg-indigo-500/10",text:"text-indigo-400"}},ke=({action:t,children:s,className:n,color:i="purple",icon:r,iconColor:x,subtitle:l,title:a,...u})=>{if(s)return e.jsxRuntimeExports.jsx("div",{className:o.twMerge("mb-4",n),...u,children:s});const m=Oe[x||i];return e.jsxRuntimeExports.jsxs("div",{className:o.twMerge("mb-4 flex items-start justify-between gap-3",n),...u,children:[e.jsxRuntimeExports.jsxs("div",{className:"flex items-center gap-3",children:[r&&e.jsxRuntimeExports.jsx("div",{className:o.twMerge("rounded-lg border p-2",m.border,m.bg),children:e.jsxRuntimeExports.jsx(o.OxIcon,{className:m.text,icon:r})}),e.jsxRuntimeExports.jsxs("div",{children:[a&&e.jsxRuntimeExports.jsx("h3",{className:"text-base font-semibold text-white",children:a}),l&&e.jsxRuntimeExports.jsx("p",{className:"text-sm text-neutral-400",children:l})]})]}),t&&e.jsxRuntimeExports.jsx("div",{children:t})]})},Ce=({children:t,className:s,flexGrow:n=!0,...i})=>e.jsxRuntimeExports.jsx("div",{className:o.twMerge("py-2",n&&"flex-grow",s),...i,children:t}),Ie=({children:t,className:s,...n})=>e.jsxRuntimeExports.jsx("div",{className:o.twMerge("mt-4 flex items-center justify-end border-t border-neutral-800 pt-4",s),...n,children:t}),Se={sm:"h-4 w-4",md:"h-5 w-5",lg:"h-6 w-6"},Me={sm:.5,md:.7,lg:.9},ze=({checked:t,className:s,defaultChecked:n,description:i,disabled:r=!1,error:x=!1,errorMessage:l,id:a,label:u,name:w,onChange:m,required:p=!1,size:h="md",value:f,...j})=>{const v=b.useId(),R=a||v,N=`${R}-checkbox`,c=`${R}-description`,E=`${R}-error`,y=x&&l,S=e.jsxRuntimeExports.jsxs("div",{className:"relative inline-flex shrink-0",children:[e.jsxRuntimeExports.jsx("input",{id:N,"aria-describedby":[i?c:"",y?E:""].filter(Boolean).join(" ")||void 0,"aria-invalid":x,"aria-required":p,checked:t,className:o.twMerge("peer cursor-pointer appearance-none rounded-sm","checked:bg-violet-700","default-outset-focus","disabled:cursor-not-allowed disabled:opacity-50",x?"default-error-border":"default-border",Se[h],s),defaultChecked:n,disabled:r,name:w,type:"checkbox",value:f,onChange:m,...j}),e.jsxRuntimeExports.jsx(o.OxIcon,{className:"pointer-events-none absolute inset-0 m-auto opacity-0 peer-checked:opacity-80",icon:"mdiCheck",size:Me[h]||.7})]});return e.jsxRuntimeExports.jsxs("div",{className:"flex w-full flex-col gap-1",children:[e.jsxRuntimeExports.jsxs("div",{className:"flex items-start gap-2",children:[S,u&&e.jsxRuntimeExports.jsxs("div",{className:"flex w-full flex-col gap-1",children:[e.jsxRuntimeExports.jsx(M.OxLabel,{htmlFor:N,required:p,children:u}),i?e.jsxRuntimeExports.jsx(M.OxDescription,{id:c,disabled:r,children:i}):null]})]}),y?e.jsxRuntimeExports.jsx(M.OxErrorMessage,{id:E,children:l}):null]})},se=({align:t="center",ariaHaspopup:s,children:n,className:i,content:r,contentClassName:x,contentRole:l,contentStyle:a,disabled:u=!1,id:w,offset:m=8,onOpenChange:p,open:h,portal:f=!0,position:j="top",trigger:v="hover",useAriaControls:R=!1})=>{const N=b.useId(),[c,E]=b.useState(!1),y=b.useRef(null),S=b.useRef(null),L=h!==void 0,O=u?!1:L?h:c,D=w||N,z=b.useCallback(d=>{u||(p==null||p(d),L||E(d))},[u,L,p]),F=b.useCallback(()=>{if(!y.current||!S.current||!O)return;const d=y.current.getBoundingClientRect(),g=S.current.getBoundingClientRect(),k={width:window.innerWidth,height:window.innerHeight};let C=j;j==="top"&&d.top<g.height+m?C="bottom":j==="bottom"&&d.bottom+g.height+m>k.height?C="top":j==="left"&&d.left<g.width+m?C="right":j==="right"&&d.right+g.width+m>k.width&&(C="left");const I=B(d,g,C,t,m);S.current&&(S.current.style.left=`${I.x}px`,S.current.style.top=`${I.y}px`)},[O,j,t,m]);b.useEffect(()=>{if(!O||v!=="click")return;const d=g=>{y.current&&!y.current.contains(g.target)&&S.current&&!S.current.contains(g.target)&&z(!1)};return document.addEventListener("mousedown",d),()=>document.removeEventListener("mousedown",d)},[O,z,v]),b.useEffect(()=>{if(O){F();const d=()=>F(),g=()=>F();return window.addEventListener("resize",d),window.addEventListener("scroll",g,!0),()=>{window.removeEventListener("resize",d),window.removeEventListener("scroll",g,!0)}}},[O,j,t,m,F]);const B=(d,g,k,C,I)=>{let $=0,T=0;switch(k){case"top":$=d.left,T=d.top-g.height-I;break;case"bottom":$=d.left,T=d.bottom+I;break;case"left":$=d.left-g.width-I,T=d.top;break;case"right":$=d.right+I,T=d.top;break}if(k==="top"||k==="bottom")switch(C){case"start":break;case"center":$=d.left+(d.width-g.width)/2;break;case"end":$=d.right-g.width;break}else if(k==="left"||k==="right")switch(C){case"start":break;case"center":T=d.top+(d.height-g.height)/2;break;case"end":T=d.bottom-g.height;break}return{x:$,y:T}},P=()=>{v==="hover"&&z(!0)},V=()=>{v==="hover"&&z(!1)},W=()=>{v==="click"&&z(!O)},q=()=>{v==="focus"&&z(!0)},A=()=>{v==="focus"&&z(!1)},H=O?e.jsxRuntimeExports.jsx("div",{id:D,"aria-hidden":!O,className:o.twMerge("fixed z-50 transition-opacity duration-200",O?"opacity-100":"pointer-events-none opacity-0",x),ref:S,role:l,style:{left:-9999,top:-9999,...a},children:e.jsxRuntimeExports.jsx("div",{className:"relative",children:r})}):null;return e.jsxRuntimeExports.jsxs(e.jsxRuntimeExports.Fragment,{children:[e.jsxRuntimeExports.jsx("div",{"aria-controls":R&&O?D:void 0,"aria-describedby":!R&&O?D:void 0,"aria-expanded":R?O:void 0,"aria-haspopup":s,className:o.twMerge("w-full",i),ref:y,onBlur:A,onClick:W,onFocus:q,onMouseEnter:P,onMouseLeave:V,children:n}),f&&typeof document<"u"?Z.createPortal(H,document.body):H]})},Y=({children:t})=>e.jsxRuntimeExports.jsx(e.jsxRuntimeExports.Fragment,{children:t}),re=({children:t})=>e.jsxRuntimeExports.jsx(e.jsxRuntimeExports.Fragment,{children:t}),Q=({children:t,className:s})=>e.jsxRuntimeExports.jsx("div",{className:o.twMerge("sticky top-0 flex-shrink-0 border-b border-neutral-700 bg-zinc-1000/95 px-3 py-2 backdrop-blur-lg",s),children:t}),ne=b.createContext({open:!1,setOpen:()=>{},disabled:!1});function oe(){const t=b.useContext(ne);if(t===void 0)throw new Error("useDropdownContext must be used within a DropdownProvider");return t}const X=({animateIcon:t=!1,children:s,className:n,disabled:i=!1,icon:r,outline:x=!1,unstyled:l=!1,...a})=>{const{disabled:u,open:w}=oe(),m=i||u;return e.jsxRuntimeExports.jsxs("button",{"aria-expanded":w,"aria-haspopup":"menu",className:o.twMerge(!l&&["flex h-10 items-center justify-between rounded-lg px-3 py-2 text-sm enabled:cursor-pointer enabled:text-white enabled:hover:bg-white/6","default-outset-focus",x?"default-border":"bg-transparent","default-disabled"],n),disabled:m,type:"button",...a,children:[l?s:e.jsxRuntimeExports.jsx("span",{className:"flex items-center gap-2",children:s}),r&&e.jsxRuntimeExports.jsx(o.OxIcon,{className:o.twJoin(!l&&"ml-2",m&&"text-neutral-500",t&&["transition-transform duration-200",w&&"rotate-180"]),icon:r,size:.8})]})},ie=({children:t,className:s,defaultOpen:n=!1,disabled:i=!1,onOpenChange:r,open:x})=>{const[l,a]=b.useState(n),u=x!==void 0,w=u?x:l,m=c=>{i||(u||a(c),r==null||r(c))},p={open:w,setOpen:m,disabled:i};let h=null,f=null;const j={children:null,className:""},v={children:null,className:""};let R={side:"bottom",align:"start",className:""};b.Children.forEach(t,c=>{if(b.isValidElement(c)){if(c.type===X)h=c;else if(c.type===Q){const E=c.props;j.className=E.className,j.children=E.children}else if(c.type===re){const E=c.props;v.className=E.className,v.children=E.children}else if(c.type===Y){const E=c.props;f=E.children,R={side:E.side||"bottom",align:E.align||"start",className:E.className||""}}}});const N=e.jsxRuntimeExports.jsxs("div",{className:o.twMerge("default-border z-50 flex max-h-96 min-w-[8rem] flex-col overflow-hidden rounded-lg bg-zinc-1000/50 p-1 backdrop-blur-xl",R.side==="bottom"&&"animate-dropdown-in-bottom",R.side==="top"&&"animate-dropdown-in-top",R.className),children:[j.children?e.jsxRuntimeExports.jsx("div",{className:o.twMerge("flex-shrink-0 border-b border-neutral-700 bg-zinc-1000/95 px-3 py-2 backdrop-blur-sm",j.className),children:j.children}):null,e.jsxRuntimeExports.jsx("ul",{className:o.twMerge("min-h-0 flex-1 overflow-y-auto"),children:f}),v.children?e.jsxRuntimeExports.jsx("div",{className:o.twMerge("flex-shrink-0 border-t border-neutral-700 bg-zinc-1000/95 px-3 py-2 backdrop-blur-sm",v.className),children:v.children}):null]});return e.jsxRuntimeExports.jsx(ne.Provider,{value:p,children:e.jsxRuntimeExports.jsx("div",{className:o.twMerge("inline-block",s),children:e.jsxRuntimeExports.jsx(se,{align:R.align,content:N,contentRole:"menu",disabled:i,open:w,portal:!0,position:R.side,trigger:"click",onOpenChange:m,children:h})})})},le=({children:t,className:s,disabled:n=!1,icon:i,onClick:r,unstyled:x=!1})=>{const{setOpen:l}=oe(),a=u=>{n||(r&&r(u),l(!1))};return e.jsxRuntimeExports.jsx("li",{children:e.jsxRuntimeExports.jsxs("button",{className:o.twMerge(!x&&["group flex w-full items-center rounded-sm px-2 py-1.5 text-left text-sm enabled:text-white","enabled:cursor-pointer enabled:hover:bg-white/6","default-inset-focus","default-disabled"],s),disabled:n,role:"menuitem",onClick:a,children:[i&&e.jsxRuntimeExports.jsx(o.OxIcon,{className:o.twJoin("mr-2",n&&"text-neutral-500"),icon:i,size:.75}),t]})})},Le=({className:t})=>e.jsxRuntimeExports.jsx("li",{className:"px-1 py-1",children:e.jsxRuntimeExports.jsx("hr",{className:o.twMerge("border-t-neutral-700",t)})}),De=({children:t,className:s})=>e.jsxRuntimeExports.jsx("span",{className:o.twMerge("ml-auto text-xs tracking-widest text-neutral-500",s),"data-part":"dropdown-shortcut",children:t}),Fe=t=>{const n=Math.floor((new Date().getTime()-t.getTime())/(1e3*60));if(n<1)return"just now";if(n<60)return`${n}m ago`;const i=Math.floor(n/60);if(i<24)return`${i}h ago`;const r=Math.floor(i/24);return r<7?`${r}d ago`:t.toLocaleDateString()},$e={error:{background:"bg-rose-500/20",iconClass:"text-rose-400",icon:"mdiAlertCircleOutline"},success:{background:"bg-green-500/20",iconClass:"text-green-400",icon:"mdiCheckCircleOutline"},warning:{background:"bg-amber-500/20",iconClass:"text-amber-400",icon:"mdiAlertOutline"},info:{background:"bg-blue-500/20",iconClass:"text-blue-400",icon:"mdiInformationOutline"},default:{background:"bg-neutral-500/20",iconClass:"text-neutral-400",icon:"mdiBellOutline"}},Te=({className:t,disabled:s=!1,emptyMessage:n="No notifications",maxHeight:i="max-h-96",notifications:r,onMarkAllRead:x,onNotificationClick:l,unreadCount:a=0})=>{const[u,w]=b.useState(!1),[m,p]=b.useState(!1),h=a>99?"99+":a.toString(),f=a>0,j=r.length>0;b.useEffect(()=>{const c=()=>{const E=window.innerWidth<de.MOBILE_BREAKPOINT;p(E),E&&u?document.body.classList.add("overflow-hidden"):document.body.classList.remove("overflow-hidden")};return c(),window.addEventListener("resize",c),()=>{document.body.classList.remove("overflow-hidden"),window.removeEventListener("resize",c)}},[u]);const v=c=>{l==null||l(c),m&&w(!1)},R=()=>{x==null||x(),m&&w(!1)},N=()=>e.jsxRuntimeExports.jsx(e.jsxRuntimeExports.Fragment,{children:j?e.jsxRuntimeExports.jsx("div",{className:"divide-y divide-neutral-800/50",children:r.map((c,E)=>{const y=$e[c.type||"default"];return e.jsxRuntimeExports.jsxs(le,{className:o.twMerge("secondary-inset-focus flex w-full items-start gap-3 px-3 py-3 text-left hover:bg-white/6",!c.read&&"bg-white/3",E===r.length-1&&"pb-4"),unstyled:!0,onClick:()=>v(c),children:[e.jsxRuntimeExports.jsx("div",{className:o.twMerge("mt-0.5 flex h-8 w-8 flex-shrink-0 items-center justify-center rounded-lg",y.background),children:c.img?e.jsxRuntimeExports.jsx(te,{alt:"User avatar",fallback:"NA",size:"md",src:c.img}):e.jsxRuntimeExports.jsx(o.OxIcon,{className:y.iconClass,icon:c.icon??y.icon,size:.75})}),e.jsxRuntimeExports.jsxs("div",{className:"min-w-0 flex-1",children:[e.jsxRuntimeExports.jsx("p",{className:"mb-1 text-sm leading-5 text-white",children:c.title}),c.message&&e.jsxRuntimeExports.jsx("p",{className:"mb-1 text-xs leading-4 text-neutral-400",children:c.message}),e.jsxRuntimeExports.jsx("p",{className:"text-xs text-neutral-500",children:Fe(c.timestamp)})]}),!c.read&&e.jsxRuntimeExports.jsx("div",{className:"mt-1.5 h-2 w-2 flex-shrink-0 rounded-full bg-rose-500"})]},c.id)})}):e.jsxRuntimeExports.jsxs("div",{"aria-label":"No notifications available",className:"px-3 py-8 text-center",role:"status",children:[e.jsxRuntimeExports.jsx(o.OxIcon,{className:"mx-auto mb-2 text-neutral-500",icon:"mdiBellOffOutline",size:2}),e.jsxRuntimeExports.jsx("p",{className:"text-sm text-neutral-400",children:n})]})});return e.jsxRuntimeExports.jsx(e.jsxRuntimeExports.Fragment,{children:m?e.jsxRuntimeExports.jsxs("div",{children:[e.jsxRuntimeExports.jsxs("div",{className:"relative",children:[e.jsxRuntimeExports.jsx(o.OxButton,{"aria-expanded":u,"aria-label":`Notifications${f?` (${a} unread)`:""}`,disabled:s,icon:"mdiBellOutline",variant:"ghost",onClick:()=>w(!u)}),f?e.jsxRuntimeExports.jsx(e.jsxRuntimeExports.Fragment,{children:e.jsxRuntimeExports.jsx("div",{className:"absolute -top-2 -right-2",children:e.jsxRuntimeExports.jsx(J,{className:"min-w-[1.25rem] justify-center px-1",color:"violet",size:"sm",children:h})})}):null]}),Z.createPortal(e.jsxRuntimeExports.jsxs("div",{"aria-labelledby":"notifications-title-mobile","aria-modal":"true",className:o.twMerge("fixed inset-y-0 z-50 flex w-full flex-col bg-zinc-1000/50 backdrop-blur-xl transition-transform duration-300",u?"translate-x-0":"translate-x-full"),role:"dialog",children:[e.jsxRuntimeExports.jsxs("div",{className:"flex h-15 items-center justify-between border-b border-neutral-800 px-4",children:[m?e.jsxRuntimeExports.jsx(o.OxButton,{"aria-label":"Close sidebar",icon:"mdiClose",variant:"ghost",onClick:()=>w(!1)}):null,e.jsxRuntimeExports.jsx("h3",{id:"notifications-title-mobile",className:"text-sm font-semibold text-white",children:"Notifications"}),e.jsxRuntimeExports.jsx("div",{className:"flex items-center gap-2",children:f&&x&&e.jsxRuntimeExports.jsx("button",{className:"cursor-pointer text-xs text-neutral-400 transition-colors hover:text-white",onClick:R,children:"Mark all read"})})]}),e.jsxRuntimeExports.jsx("ul",{className:"flex-1 overflow-y-auto",children:e.jsxRuntimeExports.jsx(N,{})})]}),document.body)]}):e.jsxRuntimeExports.jsxs(ie,{className:t,disabled:s,children:[e.jsxRuntimeExports.jsx(X,{"aria-label":`Notifications${f?` (${a} unread)`:""}`,className:o.twJoin("relative flex h-10 w-10 items-center justify-center px-2 text-sm","secondary-outset-focus group rounded-lg border border-transparent bg-transparent text-white enabled:cursor-pointer enabled:hover:bg-white/6"),disabled:s,icon:"mdiBellOutline",unstyled:!0,children:f?e.jsxRuntimeExports.jsx(e.jsxRuntimeExports.Fragment,{children:e.jsxRuntimeExports.jsx("div",{className:"absolute -top-2 -right-2",children:e.jsxRuntimeExports.jsx(J,{className:"min-w-[1.25rem] justify-center px-1",color:"violet",size:"sm",children:h})})}):null}),e.jsxRuntimeExports.jsx(Q,{children:e.jsxRuntimeExports.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxRuntimeExports.jsx("h3",{id:"notifications-title",className:"text-sm font-semibold text-white",children:"Notifications"}),f&&x&&e.jsxRuntimeExports.jsx("button",{className:"secondary-outset-focus cursor-pointer rounded-lg p-1 text-xs text-neutral-400 transition-colors hover:text-white",onClick:x,children:"Mark all read"})]})}),e.jsxRuntimeExports.jsx(Y,{align:"end","aria-labelledby":"notifications-title",className:o.twMerge("flex w-85 flex-col overflow-hidden p-0",i),side:"bottom",children:e.jsxRuntimeExports.jsx(N,{})})]})})},ae=b.createContext(void 0),Be=()=>{const t=b.useContext(ae);if(!t)throw new Error("Select components must be used within an OxSelect");return t},xe=({children:t,className:s,disabled:n=!1,id:i,value:r})=>{const{closeDropdown:x,onSelect:l,selectedValue:a}=Be(),u=()=>{l({value:r,label:t})},w=p=>{(p.key==="Enter"||p.key===" ")&&(p.preventDefault(),l({value:r,label:t})),p.key==="Escape"&&x()},m=a.includes(r);return e.jsxRuntimeExports.jsx("li",{role:"none",children:e.jsxRuntimeExports.jsxs("button",{id:i,"aria-selected":m,className:o.twMerge("group flex w-full items-center justify-between rounded-sm px-2 py-1.5 text-left text-sm enabled:text-white","enabled:cursor-pointer enabled:hover:bg-white/6","default-inset-focus","default-disabled",m&&"bg-white/5",s),disabled:n,role:"option",tabIndex:n?-1:0,onClick:u,onKeyDown:w,children:[t,m&&!n&&e.jsxRuntimeExports.jsx(o.OxIcon,{className:"text-violet-700",icon:"mdiCheck",size:.8})]})})};let U=null,_=null;const Pe=()=>(U||(U=document.createElement("canvas"),_=U.getContext("2d"),_.font="0.875rem system-ui, sans-serif"),_),We=(t,s,n)=>{if(t.length===0)return[];if(!s.current)return t.slice(0,1);const i=s.current.offsetWidth||0,r=12,x=32,l=32;let a=i-r-x;t.length>1&&(a-=l);const u=Pe();if(!u)return t.slice(0,2);const w=n?4:8,m=n?12:0;let p=0,h=0;for(let f=0;f<t.length;f++){const j=t[f],v=String(j.label),N=u.measureText(v).width+(n?m:0),c=f>0?p+N+w:p+N;if(c<=a)p=c,h++;else break}return h=Math.max(1,h),t.slice(0,h)},He=t=>t==null?[]:Array.isArray(t)?t:[t],Je=({badgeColor:t="purple",children:s,className:n,defaultValue:i=null,description:r,disabled:x=!1,displayAsBadges:l=!1,error:a=!1,errorMessage:u,id:w,label:m,multiple:p=!1,name:h,onChange:f,placeholder:j="Select an option",required:v=!1})=>{var H;const R=b.useId(),N=b.useRef(null),[c,E]=b.useState(!1),[y,S]=b.useState([]),L=w||R,O=`${L}-select`,D=`${L}-description`,z=`${L}-error`,F=a&&u,B=(d,g)=>{let k=null;return b.Children.forEach(d,C=>{if(b.isValidElement(C)&&C.type===xe){const I=C.props;I.value===g&&(k={value:I.value,label:I.children})}}),k},P=d=>{var k;let g;if(p?y.some(I=>I.value===d.value)?g=y.filter(I=>I.value!==d.value):g=[...y,d]:(g=[d],E(!1)),S(g),f){const C=p?g.map(I=>I.value):((k=g[0])==null?void 0:k.value)??null;f(C)}};b.useEffect(()=>{if(i!==void 0){const d=He(i),g=[];d.forEach(k=>{const C=B(s,k);C&&g.push(C)}),S(p?g:g.slice(0,1))}},[i,s,p]);const V=e.jsxRuntimeExports.jsx("ul",{id:`${O}-listbox`,"aria-multiselectable":p,className:"max-h-72 space-y-0.5 overflow-hidden overflow-y-auto",role:"listbox",children:s}),W=We(y,N,l),q=y.length-W.length,A=q>0;return e.jsxRuntimeExports.jsx(ae.Provider,{value:{selectedValue:y.map(d=>d.value),multiple:p,onSelect:P,closeDropdown:()=>E(!1)},children:e.jsxRuntimeExports.jsxs("div",{className:o.twMerge("flex w-full flex-col gap-1",n),children:[m&&e.jsxRuntimeExports.jsx(M.OxLabel,{htmlFor:O,required:v,children:m}),e.jsxRuntimeExports.jsx(se,{align:"start",content:V,contentClassName:"default-border bg-zinc-1000/70 rounded-lg p-1 backdrop-blur-xl animate-dropdown-in-bottom",contentStyle:{minWidth:`${((H=N.current)==null?void 0:H.offsetWidth)||200}px`},disabled:x,open:c,position:"bottom",trigger:"click",onOpenChange:E,children:e.jsxRuntimeExports.jsxs("button",{id:O,"aria-controls":`${O}-listbox`,"aria-describedby":[r?D:"",F?z:""].filter(Boolean).join(" ")||void 0,"aria-disabled":x,"aria-expanded":c,"aria-haspopup":"listbox","aria-invalid":a,"aria-required":v,className:o.twJoin("relative flex h-10 w-full gap-x-2 rounded-lg py-2 ps-3 pe-8 text-start text-sm enabled:cursor-pointer enabled:text-white","default-outset-focus default-disabled",a?"default-error-border":"default-border",c&&"default-active-border"),disabled:x,ref:N,role:"combobox",type:"button",children:[e.jsxRuntimeExports.jsx("span",{className:o.twJoin("w-full overflow-hidden text-ellipsis",l?p&&"flex flex-wrap gap-1":"whitespace-nowrap",x&&l&&"opacity-50"),children:y.length>0?e.jsxRuntimeExports.jsxs(e.jsxRuntimeExports.Fragment,{children:[l&&p?W.map(d=>e.jsxRuntimeExports.jsx(J,{color:t,size:"sm",children:d.label},String(d.value))):W.map((d,g,k)=>e.jsxRuntimeExports.jsxs(b.Fragment,{children:[d.label,g<k.length-1&&", "]},String(d.value))),A&&e.jsxRuntimeExports.jsxs(e.jsxRuntimeExports.Fragment,{children:[!(l&&p)&&" ",e.jsxRuntimeExports.jsxs(J,{color:t,size:"sm",children:["+",q]})]})]}):j}),e.jsxRuntimeExports.jsx("div",{className:"absolute end-3 top-1/2 -translate-y-1/2",children:e.jsxRuntimeExports.jsx(o.OxIcon,{className:o.twJoin("transition-transform duration-300 ease-in-out",x&&"text-neutral-500",c&&"rotate-180"),icon:"mdiChevronDown",size:.8})})]})}),h&&e.jsxRuntimeExports.jsx("input",{name:h,type:"hidden",value:y.map(d=>d.value).join(",")}),r&&e.jsxRuntimeExports.jsx(M.OxDescription,{id:D,disabled:x,children:r}),F&&e.jsxRuntimeExports.jsx(M.OxErrorMessage,{id:z,children:u})]})})},qe=({children:t,className:s})=>e.jsxRuntimeExports.jsx("div",{className:o.twMerge("px-2 py-1 text-xs font-medium text-neutral-400",s),children:t}),Ve={default:"bg-zinc-800/80",purple:"bg-purple-950/50",blue:"bg-blue-950/50",gray:"bg-gray-800/50"},Ae={rectangle:"rounded-md",circle:"rounded-full"},ce=({animate:t=!0,className:s,color:n="default",fullWidth:i=!1,height:r,shape:x="rectangle",width:l,...a})=>{const u={height:typeof r=="number"?`${r}px`:r,width:typeof l=="number"?`${l}px`:l};return e.jsxRuntimeExports.jsx("div",{"aria-busy":"true","aria-label":"Loading...",className:o.twMerge("relative overflow-hidden",Ve[n],Ae[x],t&&"animate-pulse",i&&"w-full",s),role:"status",style:u,...a})},Ge=({animate:t=!0,className:s,color:n="default",fullWidth:i=!1,gap:r=8,height:x=20,lines:l=1,width:a,...u})=>{const w=h=>h<=1?`${h*100}%`:`${h}px`,m=h=>{if(!i){if(Array.isArray(a)){const f=a[h%a.length];return f==null?void 0:typeof f=="number"?w(f):f}if(typeof a=="number"){if(l>1&&h===l-1){const f=a<=1?a*.6:Math.max(100,a*.6);return w(f)}return w(a)}return"200px"}},p={4:"space-y-1",8:"space-y-2",12:"space-y-3",16:"space-y-4",20:"space-y-5"}[r]||"space-y-2";return e.jsxRuntimeExports.jsx("div",{className:o.twMerge("flex flex-col",p,s),...u,children:Array.from({length:l}).map((h,f)=>e.jsxRuntimeExports.jsx(ce,{animate:t,color:n,fullWidth:i,height:x,width:m(f)},f))})},Ke=({className:t,description:s,disabled:n=!1,error:i=!1,errorMessage:r,id:x,label:l,name:a,onChange:u,placeholder:w="Enter text...",readOnly:m=!1,required:p=!1,rows:h=3,showMaxLength:f=!1,value:j,...v})=>{const R=b.useId(),[N,c]=b.useState(typeof j=="string"?j.length:0),E=x||R,y=`${E}-textarea`,S=`${E}-description`,L=`${E}-error`,O=v.maxLength,D=i&&r;b.useEffect(()=>{typeof j=="string"&&c(j.length)},[j]);const z=B=>{const P=B.target.value.length;c(P),u==null||u(B)},F=e.jsxRuntimeExports.jsx("textarea",{id:y,"aria-describedby":[s?S:"",D?L:""].filter(Boolean).join(" ")||void 0,"aria-invalid":i,"aria-required":p,className:o.twMerge("flex min-h-10 w-full resize-y rounded-lg bg-transparent px-2 py-2 text-sm text-white","placeholder:text-neutral-500","default-outset-focus","default-disabled",i?"default-error-border":"default-border",t),disabled:n,name:a,placeholder:w,readOnly:m,rows:h,value:j,onChange:z,...v});return e.jsxRuntimeExports.jsxs("div",{className:"flex w-full flex-col gap-1",children:[l?e.jsxRuntimeExports.jsx(M.OxLabel,{htmlFor:y,required:p,children:l}):null,F,f&&typeof O=="number"?e.jsxRuntimeExports.jsxs("div",{className:"pointer-events-none mt-1 text-right text-xs text-neutral-400",children:[N,"/",O]}):null,s?e.jsxRuntimeExports.jsx(M.OxDescription,{id:S,disabled:n,children:s}):null,D?e.jsxRuntimeExports.jsx(M.OxErrorMessage,{id:L,children:r}):null]})},Ue=({children:t,onAuthenticated:s=null,onLoading:n=null})=>{const{isLoggedIn:i,loading:r}=ee.useOxAuth();return r?n:i?s:t},_e=({children:t,onLoading:s=null,onUnauthenticated:n=null})=>{const{isLoggedIn:i,loading:r}=ee.useOxAuth();return r?s:i?t:n};exports.OxButton=o.OxButton;exports.OxIcon=o.OxIcon;exports.OxDescription=M.OxDescription;exports.OxErrorMessage=M.OxErrorMessage;exports.OxForm=M.OxForm;exports.OxInput=M.OxInput;exports.OxLabel=M.OxLabel;exports.OxAvatar=ue;exports.OxAvatarImage=te;exports.OxAvatarText=be;exports.OxBadge=J;exports.OxCard=Ne;exports.OxCardContent=Ce;exports.OxCardFooter=Ie;exports.OxCardHeader=ke;exports.OxCheckbox=ze;exports.OxDropdown=ie;exports.OxDropdownContent=Y;exports.OxDropdownFooter=re;exports.OxDropdownHeader=Q;exports.OxDropdownItem=le;exports.OxDropdownSeparator=Le;exports.OxDropdownShortcut=De;exports.OxDropdownTrigger=X;exports.OxGuestRoute=Ue;exports.OxNotificationDropdown=Te;exports.OxProtectedRoute=_e;exports.OxSelect=Je;exports.OxSelectLabel=qe;exports.OxSelectOption=xe;exports.OxSkeleton=ce;exports.OxSkeletonText=Ge;exports.OxTextarea=Ke;
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require('./index.css');const e=require("./chunks/jsx-runtime-CITbqOLs.js"),b=require("react"),n=require("./chunks/Button-D-v4l8ZE.js"),M=require("./chunks/Input-CLi1H63d.js"),ee=require("react-dom"),de=require("./chunks/constants-B1_n9ezb.js"),ue=require("./chunks/formatTimestamp-TTsNcy7u.js"),te=require("./chunks/useAuth-DPnpY3XC.js"),me=({children:t,className:s})=>e.jsxRuntimeExports.jsx("div",{className:n.twMerge("flex items-center gap-3",s),children:t}),G={rounded:"rounded-full",square:"rounded-lg"},K={sm:"h-6 w-6",md:"h-8 w-8",lg:"h-10 w-10",xl:"h-12 w-12","2xl":"h-16 w-16"},pe={sm:"h-2 w-2",md:"h-2.5 w-2.5",lg:"h-3 w-3",xl:"h-3.5 w-3.5","2xl":"h-4 w-4"},fe={online:"bg-green-500",offline:"bg-neutral-500",away:"bg-yellow-500",busy:"bg-red-500"},be={sm:"text-xs",md:"text-sm",lg:"text-base",xl:"text-base","2xl":"text-lg"},se=({alt:t,className:s,fallback:o,showStatus:i=!1,size:r="md",skeleton:x=!1,src:a,status:l,type:u="square"})=>{const[h,d]=b.useState(!1),[p,g]=b.useState(!1),[f,j]=b.useState(!0);b.useEffect(()=>{if(!a){d(!1),g(!0),j(!1);return}j(!0);const R=new Image;R.src=a;const O=()=>{d(!0),g(!1),j(!1)},c=()=>{d(!1),g(!0),j(!1)};return R.addEventListener("load",O),R.addEventListener("error",c),()=>{R.removeEventListener("load",O),R.removeEventListener("error",c)}},[a]);const v=()=>f&&x?e.jsxRuntimeExports.jsx("div",{className:n.twJoin("animate-pulse bg-zinc-800",G[u],K[r])}):h&&!p?e.jsxRuntimeExports.jsx("img",{alt:t,className:n.twMerge(G[u],K[r],"object-cover",s),loading:"lazy",src:a}):e.jsxRuntimeExports.jsx("div",{"aria-label":t,className:n.twMerge("flex items-center justify-center bg-zinc-800 font-medium text-white",G[u],K[r],be[r],s),role:"img",children:typeof o=="string"&&o.length>2?o.substring(0,2):o});return e.jsxRuntimeExports.jsxs("div",{className:"relative shrink-0",children:[v(),i&&l&&e.jsxRuntimeExports.jsx("span",{"aria-label":`Status: ${l}`,className:n.twJoin("absolute right-0 bottom-0 rounded-full border-2 border-zinc-900",pe[r],fe[l]),role:"status"})]})},he=({className:t,size:s="md",subtext:o,username:i})=>{const r={sm:"text-xs",md:"text-sm",lg:"text-base",xl:"text-lg","2xl":"text-xl"},x={sm:"text-xs",md:"text-xs",lg:"text-sm",xl:"text-sm","2xl":"text-base"};return e.jsxRuntimeExports.jsxs("div",{className:n.twMerge("flex flex-col justify-center overflow-hidden",t),children:[e.jsxRuntimeExports.jsx("span",{className:n.twJoin("block truncate font-medium text-white",r[s]),children:i}),o&&e.jsxRuntimeExports.jsx("span",{className:n.twJoin("block truncate text-neutral-400",x[s]),children:o})]})},ge={sm:"px-1 py-0.5 text-xs",md:"px-1.5 py-0.5 text-sm",lg:"px-2 py-1 text-base"},je={purple:"bg-purple-500/25 text-purple-400",lime:"bg-lime-400/10 text-lime-300",red:"bg-red-500/25 text-red-400",yellow:"bg-yellow-500/25 text-yellow-400",green:"bg-green-500/25 text-green-400",blue:"bg-blue-500/25 text-blue-400",indigo:"bg-indigo-500/25 text-indigo-400",pink:"bg-pink-500/25 text-pink-400",amber:"bg-amber-500/25 text-amber-400",emerald:"bg-emerald-500/25 text-emerald-400",teal:"bg-teal-500/25 text-teal-400",cyan:"bg-cyan-500/25 text-cyan-400",sky:"bg-sky-500/25 text-sky-400",violet:"bg-violet-500/25 text-violet-400",fuchsia:"bg-fuchsia-500/25 text-fuchsia-400",gray:"bg-gray-500/25 text-gray-400"};function we(t){const s=t.startsWith("#")?t.substring(1):t;if(!/^[0-9A-Fa-f]{3,6}$/.test(s))return"#FFFFFF";const i=parseInt(s.length===3?s[0]+s[0]:s.substr(0,2),16),r=parseInt(s.length===3?s[1]+s[1]:s.substr(2,2),16),x=parseInt(s.length===3?s[2]+s[2]:s.substr(4,2),16);return(.299*i+.587*r+.114*x)/255>.5?"#000000":"#FFFFFF"}const q=({bgColor:t,children:s,className:o,color:i="purple",size:r="md",textColor:x})=>{const a=!t&&!x?je[i]:"",l={};return t&&(l.backgroundColor=t,x||(l.color=we(t))),x&&(l.color=x),e.jsxRuntimeExports.jsx("span",{className:n.twMerge("inline-flex items-center rounded-md font-medium",ge[r],a,o),style:Object.keys(l).length?l:void 0,children:s})},Ee={default:"bg-zinc-900/90 border border-zinc-800",outline:"bg-transparent border border-zinc-700",gradient:"bg-gradient-to-br from-zinc-900 via-purple-900/20 to-zinc-900 border border-purple-800/30"},ve={none:"p-0",sm:"p-3",md:"p-4",lg:"p-6"},Re={none:"",lift:"hover:scale-[1.01] hover:-translate-y-1",glow:"hover:shadow-lg hover:shadow-purple-500/10",border:"hover:border-purple-500/50"},ye={purple:"hover:border-purple-500/50",blue:"hover:border-blue-500/50",emerald:"hover:border-emerald-500/50",orange:"hover:border-orange-500/50",rose:"hover:border-rose-500/50",amber:"hover:border-amber-500/50",cyan:"hover:border-cyan-500/50",indigo:"hover:border-indigo-500/50"},Oe={purple:"from-purple-500/5 to-pink-500/5",blue:"from-blue-500/5 to-cyan-500/5",emerald:"from-emerald-500/5 to-teal-500/5",orange:"from-orange-500/5 to-red-500/5",rose:"from-rose-500/5 to-pink-500/5",amber:"from-amber-500/5 to-orange-500/5",cyan:"from-cyan-500/5 to-blue-500/5",indigo:"from-indigo-500/5 to-purple-500/5"},Ne=({backdropBlur:t=!1,children:s,className:o,color:i="purple",equalHeight:r=!1,hoverVariant:x="lift",hoverable:a=!1,padding:l="md",variant:u="default",...h})=>{const d=a?x:"none",p=a&&d!=="none";return e.jsxRuntimeExports.jsxs("div",{className:n.twMerge("relative overflow-hidden rounded-lg transition-all duration-300",Ee[u],ve[l],r&&"flex flex-col",t&&"backdrop-blur-sm",p&&Re[d],p&&"group hover:bg-white/5",p&&ye[i],o),...h,children:[p&&e.jsxRuntimeExports.jsx("div",{className:n.twMerge("absolute inset-0 bg-gradient-to-br opacity-0 transition-opacity duration-300 group-hover:opacity-100",Oe[i])}),e.jsxRuntimeExports.jsx("div",{className:"relative z-10",children:s})]})},ke={purple:{border:"border-purple-500/20",bg:"bg-purple-500/10",text:"text-purple-400"},blue:{border:"border-blue-500/20",bg:"bg-blue-500/10",text:"text-blue-400"},emerald:{border:"border-emerald-500/20",bg:"bg-emerald-500/10",text:"text-emerald-400"},orange:{border:"border-orange-500/20",bg:"bg-orange-500/10",text:"text-orange-400"},rose:{border:"border-rose-500/20",bg:"bg-rose-500/10",text:"text-rose-400"},amber:{border:"border-amber-500/20",bg:"bg-amber-500/10",text:"text-amber-400"},cyan:{border:"border-cyan-500/20",bg:"bg-cyan-500/10",text:"text-cyan-400"},indigo:{border:"border-indigo-500/20",bg:"bg-indigo-500/10",text:"text-indigo-400"}},Ce=({action:t,children:s,className:o,color:i="purple",icon:r,iconColor:x,subtitle:a,title:l,...u})=>{if(s)return e.jsxRuntimeExports.jsx("div",{className:n.twMerge("mb-4",o),...u,children:s});const d=ke[x||i];return e.jsxRuntimeExports.jsxs("div",{className:n.twMerge("mb-4 flex items-start justify-between gap-3",o),...u,children:[e.jsxRuntimeExports.jsxs("div",{className:"flex items-center gap-3",children:[r&&e.jsxRuntimeExports.jsx("div",{className:n.twMerge("rounded-lg border p-2",d.border,d.bg),children:e.jsxRuntimeExports.jsx(n.OxIcon,{className:d.text,icon:r})}),e.jsxRuntimeExports.jsxs("div",{children:[l&&e.jsxRuntimeExports.jsx("h3",{className:"text-base font-semibold text-white",children:l}),a&&e.jsxRuntimeExports.jsx("p",{className:"text-sm text-neutral-400",children:a})]})]}),t&&e.jsxRuntimeExports.jsx("div",{children:t})]})},Ie=({children:t,className:s,flexGrow:o=!0,...i})=>e.jsxRuntimeExports.jsx("div",{className:n.twMerge("py-2",o&&"flex-grow",s),...i,children:t}),Me=({children:t,className:s,...o})=>e.jsxRuntimeExports.jsx("div",{className:n.twMerge("mt-4 flex items-center justify-end border-t border-neutral-800 pt-4",s),...o,children:t}),Se={sm:"h-4 w-4",md:"h-5 w-5",lg:"h-6 w-6"},ze={sm:.5,md:.7,lg:.9},Le=({checked:t,className:s,defaultChecked:o,description:i,disabled:r=!1,error:x=!1,errorMessage:a,id:l,label:u,name:h,onChange:d,required:p=!1,size:g="md",value:f,...j})=>{const v=b.useId(),R=l||v,O=`${R}-checkbox`,c=`${R}-description`,w=`${R}-error`,y=x&&a,I=e.jsxRuntimeExports.jsxs("div",{className:"relative inline-flex shrink-0",children:[e.jsxRuntimeExports.jsx("input",{id:O,"aria-describedby":[i?c:"",y?w:""].filter(Boolean).join(" ")||void 0,"aria-invalid":x,"aria-required":p,checked:t,className:n.twMerge("peer cursor-pointer appearance-none rounded-sm","checked:bg-violet-700","default-outset-focus","disabled:cursor-not-allowed disabled:opacity-50",x?"default-error-border":"default-border",Se[g],s),defaultChecked:o,disabled:r,name:h,type:"checkbox",value:f,onChange:d,...j}),e.jsxRuntimeExports.jsx(n.OxIcon,{className:"pointer-events-none absolute inset-0 m-auto opacity-0 peer-checked:opacity-80",icon:"mdiCheck",size:ze[g]||.7})]});return e.jsxRuntimeExports.jsxs("div",{className:"flex w-full flex-col gap-1",children:[e.jsxRuntimeExports.jsxs("div",{className:"flex items-start gap-2",children:[I,u&&e.jsxRuntimeExports.jsxs("div",{className:"flex w-full flex-col gap-1",children:[e.jsxRuntimeExports.jsx(M.OxLabel,{htmlFor:O,required:p,children:u}),i?e.jsxRuntimeExports.jsx(M.OxDescription,{id:c,disabled:r,children:i}):null]})]}),y?e.jsxRuntimeExports.jsx(M.OxErrorMessage,{id:w,children:a}):null]})},Y=({align:t="center",ariaHaspopup:s,children:o,className:i,content:r,contentClassName:x,contentRole:a,contentStyle:l,disabled:u=!1,id:h,offset:d=8,onOpenChange:p,open:g,portal:f=!0,position:j="top",trigger:v="hover",useAriaControls:R=!1})=>{const O=b.useId(),[c,w]=b.useState(!1),y=b.useRef(null),I=b.useRef(null),L=g!==void 0,N=u?!1:L?g:c,F=h||O,S=b.useCallback(m=>{u||(p?.(m),L||w(m))},[u,L,p]),D=b.useCallback(()=>{if(!y.current||!I.current||!N)return;const m=y.current.getBoundingClientRect(),E=I.current.getBoundingClientRect(),C={width:window.innerWidth,height:window.innerHeight};let z=j;j==="top"&&m.top<E.height+d?z="bottom":j==="bottom"&&m.bottom+E.height+d>C.height?z="top":j==="left"&&m.left<E.width+d?z="right":j==="right"&&m.right+E.width+d>C.width&&(z="left");const $=P(m,E,z,t,d);I.current&&(I.current.style.left=`${$.x}px`,I.current.style.top=`${$.y}px`)},[N,j,t,d]);b.useEffect(()=>{if(!N||v!=="click")return;const m=E=>{y.current&&!y.current.contains(E.target)&&I.current&&!I.current.contains(E.target)&&S(!1)};return document.addEventListener("mousedown",m),()=>document.removeEventListener("mousedown",m)},[N,S,v]),b.useEffect(()=>{if(N){D();const m=()=>D(),E=()=>D();return window.addEventListener("resize",m),window.addEventListener("scroll",E,!0),()=>{window.removeEventListener("resize",m),window.removeEventListener("scroll",E,!0)}}},[N,j,t,d,D]);const P=(m,E,C,z,$)=>{let T=0,B=0;switch(C){case"top":T=m.left,B=m.top-E.height-$;break;case"bottom":T=m.left,B=m.bottom+$;break;case"left":T=m.left-E.width-$,B=m.top;break;case"right":T=m.right+$,B=m.top;break}if(C==="top"||C==="bottom")switch(z){case"start":break;case"center":T=m.left+(m.width-E.width)/2;break;case"end":T=m.right-E.width;break}else if(C==="left"||C==="right")switch(z){case"start":break;case"center":B=m.top+(m.height-E.height)/2;break;case"end":B=m.bottom-E.height;break}return{x:T,y:B}},W=()=>{v==="hover"&&S(!0)},V=()=>{v==="hover"&&S(!1)},H=()=>{v==="click"&&S(!N)},J=()=>{v==="focus"&&S(!0)},A=()=>{v==="focus"&&S(!1)},k=N?e.jsxRuntimeExports.jsx("div",{id:F,"aria-hidden":!N,className:n.twMerge("fixed z-50 transition-opacity duration-200",N?"opacity-100":"pointer-events-none opacity-0",x),ref:I,role:a,style:{left:-9999,top:-9999,...l},children:e.jsxRuntimeExports.jsx("div",{className:"relative",children:r})}):null;return e.jsxRuntimeExports.jsxs(e.jsxRuntimeExports.Fragment,{children:[e.jsxRuntimeExports.jsx("div",{"aria-controls":R&&N?F:void 0,"aria-describedby":!R&&N?F:void 0,"aria-expanded":R?N:void 0,"aria-haspopup":s,className:n.twMerge("w-full",i),ref:y,onBlur:A,onClick:H,onFocus:J,onMouseEnter:W,onMouseLeave:V,children:o}),f&&typeof document<"u"?ee.createPortal(k,document.body):k]})},Q=({children:t})=>e.jsxRuntimeExports.jsx(e.jsxRuntimeExports.Fragment,{children:t}),re=({children:t})=>e.jsxRuntimeExports.jsx(e.jsxRuntimeExports.Fragment,{children:t}),X=({children:t,className:s})=>e.jsxRuntimeExports.jsx("div",{className:n.twMerge("sticky top-0 flex-shrink-0 border-b border-neutral-700 bg-zinc-1000/95 px-3 py-2 backdrop-blur-lg",s),children:t}),ne=b.createContext({open:!1,setOpen:()=>{},disabled:!1});function oe(){const t=b.useContext(ne);if(t===void 0)throw new Error("useDropdownContext must be used within a DropdownProvider");return t}const Z=({animateIcon:t=!1,children:s,className:o,disabled:i=!1,icon:r,outline:x=!1,unstyled:a=!1,...l})=>{const{disabled:u,open:h}=oe(),d=i||u;return e.jsxRuntimeExports.jsxs("button",{"aria-expanded":h,"aria-haspopup":"menu",className:n.twMerge(!a&&["flex h-10 items-center justify-between rounded-lg px-3 py-2 text-sm enabled:cursor-pointer enabled:text-white enabled:hover:bg-white/6","default-outset-focus",x?"default-border":"bg-transparent","default-disabled"],o),disabled:d,type:"button",...l,children:[a?s:e.jsxRuntimeExports.jsx("span",{className:"flex items-center gap-2",children:s}),r&&e.jsxRuntimeExports.jsx(n.OxIcon,{className:n.twJoin(!a&&"ml-2",d&&"text-neutral-500",t&&["transition-transform duration-200",h&&"rotate-180"]),icon:r,size:.8})]})},ie=({children:t,className:s,defaultOpen:o=!1,disabled:i=!1,onOpenChange:r,open:x})=>{const[a,l]=b.useState(o),u=x!==void 0,h=u?x:a,d=c=>{i||(u||l(c),r?.(c))},p={open:h,setOpen:d,disabled:i};let g=null,f=null;const j={children:null,className:""},v={children:null,className:""};let R={side:"bottom",align:"start",className:""};b.Children.forEach(t,c=>{if(b.isValidElement(c)){if(c.type===Z)g=c;else if(c.type===X){const w=c.props;j.className=w.className,j.children=w.children}else if(c.type===re){const w=c.props;v.className=w.className,v.children=w.children}else if(c.type===Q){const w=c.props;f=w.children,R={side:w.side||"bottom",align:w.align||"start",className:w.className||""}}}});const O=e.jsxRuntimeExports.jsxs("div",{className:n.twMerge("default-border z-50 flex max-h-96 min-w-[8rem] flex-col overflow-hidden rounded-lg bg-zinc-1000/50 p-1 backdrop-blur-xl",R.side==="bottom"&&"animate-dropdown-in-bottom",R.side==="top"&&"animate-dropdown-in-top",R.className),children:[j.children?e.jsxRuntimeExports.jsx("div",{className:n.twMerge("flex-shrink-0 border-b border-neutral-700 bg-zinc-1000/95 px-3 py-2 backdrop-blur-sm",j.className),children:j.children}):null,e.jsxRuntimeExports.jsx("ul",{className:n.twMerge("min-h-0 flex-1 overflow-y-auto"),children:f}),v.children?e.jsxRuntimeExports.jsx("div",{className:n.twMerge("flex-shrink-0 border-t border-neutral-700 bg-zinc-1000/95 px-3 py-2 backdrop-blur-sm",v.className),children:v.children}):null]});return e.jsxRuntimeExports.jsx(ne.Provider,{value:p,children:e.jsxRuntimeExports.jsx("div",{className:n.twMerge("inline-block",s),children:e.jsxRuntimeExports.jsx(Y,{align:R.align,content:O,contentRole:"menu",disabled:i,open:h,portal:!0,position:R.side,trigger:"click",onOpenChange:d,children:g})})})},le=({children:t,className:s,disabled:o=!1,icon:i,onClick:r,unstyled:x=!1})=>{const{setOpen:a}=oe(),l=u=>{o||(r&&r(u),a(!1))};return e.jsxRuntimeExports.jsx("li",{children:e.jsxRuntimeExports.jsxs("button",{className:n.twMerge(!x&&["group flex w-full items-center rounded-sm px-2 py-1.5 text-left text-sm enabled:text-white","enabled:cursor-pointer enabled:hover:bg-white/6","default-inset-focus","default-disabled"],s),disabled:o,role:"menuitem",onClick:l,children:[i&&e.jsxRuntimeExports.jsx(n.OxIcon,{className:n.twJoin("mr-2",o&&"text-neutral-500"),icon:i,size:.75}),t]})})},Fe=({className:t})=>e.jsxRuntimeExports.jsx("li",{className:"px-1 py-1",children:e.jsxRuntimeExports.jsx("hr",{className:n.twMerge("border-t-neutral-700",t)})}),De=({children:t,className:s})=>e.jsxRuntimeExports.jsx("span",{className:n.twMerge("ml-auto text-xs tracking-widest text-neutral-500",s),"data-part":"dropdown-shortcut",children:t}),$e={error:{background:"bg-rose-500/20",iconClass:"text-rose-400",icon:"mdiAlertCircleOutline"},success:{background:"bg-green-500/20",iconClass:"text-green-400",icon:"mdiCheckCircleOutline"},warning:{background:"bg-amber-500/20",iconClass:"text-amber-400",icon:"mdiAlertOutline"},info:{background:"bg-blue-500/20",iconClass:"text-blue-400",icon:"mdiInformationOutline"},default:{background:"bg-neutral-500/20",iconClass:"text-neutral-400",icon:"mdiBellOutline"}},Te=({className:t,disabled:s=!1,emptyMessage:o="No notifications",maxHeight:i="max-h-96",notifications:r,onMarkAllRead:x,onNotificationClick:a,unreadCount:l=0})=>{const[u,h]=b.useState(!1),[d,p]=b.useState(!1),g=l>99?"99+":l.toString(),f=l>0,j=r.length>0;b.useEffect(()=>{const c=()=>{const w=window.innerWidth<de.MOBILE_BREAKPOINT;p(w),w&&u?document.body.classList.add("overflow-hidden"):document.body.classList.remove("overflow-hidden")};return c(),window.addEventListener("resize",c),()=>{document.body.classList.remove("overflow-hidden"),window.removeEventListener("resize",c)}},[u]);const v=c=>{a?.(c),d&&h(!1)},R=()=>{x?.(),d&&h(!1)},O=()=>e.jsxRuntimeExports.jsx(e.jsxRuntimeExports.Fragment,{children:j?e.jsxRuntimeExports.jsx("div",{className:"divide-y divide-neutral-800/50",children:r.map((c,w)=>{const y=$e[c.type||"default"];return e.jsxRuntimeExports.jsxs(le,{className:n.twMerge("secondary-inset-focus flex w-full items-start gap-3 px-3 py-3 text-left hover:bg-white/6",!c.read&&"bg-white/3",w===r.length-1&&"pb-4"),unstyled:!0,onClick:()=>v(c),children:[e.jsxRuntimeExports.jsx("div",{className:n.twMerge("mt-0.5 flex h-8 w-8 flex-shrink-0 items-center justify-center rounded-lg",y.background),children:c.img?e.jsxRuntimeExports.jsx(se,{alt:"User avatar",fallback:"NA",size:"md",src:c.img}):e.jsxRuntimeExports.jsx(n.OxIcon,{className:y.iconClass,icon:c.icon??y.icon,size:.75})}),e.jsxRuntimeExports.jsxs("div",{className:"min-w-0 flex-1",children:[e.jsxRuntimeExports.jsx("p",{className:"mb-1 text-sm leading-5 text-white",children:c.title}),c.message&&e.jsxRuntimeExports.jsx("p",{className:"mb-1 text-xs leading-4 text-neutral-400",children:c.message}),e.jsxRuntimeExports.jsx("p",{className:"text-xs text-neutral-500",children:ue.formatTimestamp(c.timestamp)})]}),!c.read&&e.jsxRuntimeExports.jsx("div",{className:"mt-1.5 h-2 w-2 flex-shrink-0 rounded-full bg-rose-500"})]},c.id)})}):e.jsxRuntimeExports.jsxs("div",{"aria-label":"No notifications available",className:"px-3 py-8 text-center",role:"status",children:[e.jsxRuntimeExports.jsx(n.OxIcon,{className:"mx-auto mb-2 text-neutral-500",icon:"mdiBellOffOutline",size:2}),e.jsxRuntimeExports.jsx("p",{className:"text-sm text-neutral-400",children:o})]})});return e.jsxRuntimeExports.jsx(e.jsxRuntimeExports.Fragment,{children:d?e.jsxRuntimeExports.jsxs("div",{children:[e.jsxRuntimeExports.jsxs("div",{className:"relative",children:[e.jsxRuntimeExports.jsx(n.OxButton,{"aria-expanded":u,"aria-label":`Notifications${f?` (${l} unread)`:""}`,disabled:s,icon:"mdiBellOutline",variant:"ghost",onClick:()=>h(!u)}),f?e.jsxRuntimeExports.jsx(e.jsxRuntimeExports.Fragment,{children:e.jsxRuntimeExports.jsx("div",{className:"absolute -top-2 -right-2",children:e.jsxRuntimeExports.jsx(q,{className:"min-w-[1.25rem] justify-center px-1",color:"violet",size:"sm",children:g})})}):null]}),ee.createPortal(e.jsxRuntimeExports.jsxs("div",{"aria-labelledby":"notifications-title-mobile","aria-modal":"true",className:n.twMerge("fixed inset-y-0 z-50 flex w-full flex-col bg-zinc-1000/50 backdrop-blur-xl transition-transform duration-300",u?"translate-x-0":"translate-x-full"),role:"dialog",children:[e.jsxRuntimeExports.jsxs("div",{className:"flex h-15 items-center justify-between border-b border-neutral-800 px-4",children:[d?e.jsxRuntimeExports.jsx(n.OxButton,{"aria-label":"Close sidebar",icon:"mdiClose",variant:"ghost",onClick:()=>h(!1)}):null,e.jsxRuntimeExports.jsx("h3",{id:"notifications-title-mobile",className:"text-sm font-semibold text-white",children:"Notifications"}),e.jsxRuntimeExports.jsx("div",{className:"flex items-center gap-2",children:f&&x&&e.jsxRuntimeExports.jsx("button",{className:"cursor-pointer text-xs text-neutral-400 transition-colors hover:text-white",onClick:R,children:"Mark all read"})})]}),e.jsxRuntimeExports.jsx("ul",{className:"flex-1 overflow-y-auto",children:e.jsxRuntimeExports.jsx(O,{})})]}),document.body)]}):e.jsxRuntimeExports.jsxs(ie,{className:t,disabled:s,children:[e.jsxRuntimeExports.jsx(Z,{"aria-label":`Notifications${f?` (${l} unread)`:""}`,className:n.twJoin("relative flex h-10 w-10 items-center justify-center px-2 text-sm","secondary-outset-focus group rounded-lg border border-transparent bg-transparent text-white enabled:cursor-pointer enabled:hover:bg-white/6"),disabled:s,icon:"mdiBellOutline",unstyled:!0,children:f?e.jsxRuntimeExports.jsx(e.jsxRuntimeExports.Fragment,{children:e.jsxRuntimeExports.jsx("div",{className:"absolute -top-2 -right-2",children:e.jsxRuntimeExports.jsx(q,{className:"min-w-[1.25rem] justify-center px-1",color:"violet",size:"sm",children:g})})}):null}),e.jsxRuntimeExports.jsx(X,{children:e.jsxRuntimeExports.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxRuntimeExports.jsx("h3",{id:"notifications-title",className:"text-sm font-semibold text-white",children:"Notifications"}),f&&x&&e.jsxRuntimeExports.jsx("button",{className:"secondary-outset-focus cursor-pointer rounded-lg p-1 text-xs text-neutral-400 transition-colors hover:text-white",onClick:x,children:"Mark all read"})]})}),e.jsxRuntimeExports.jsx(Q,{align:"end","aria-labelledby":"notifications-title",className:n.twMerge("flex w-85 flex-col overflow-hidden p-0",i),side:"bottom",children:e.jsxRuntimeExports.jsx(O,{})})]})})},ae=b.createContext(void 0),Be=()=>{const t=b.useContext(ae);if(!t)throw new Error("Select components must be used within an OxSelect");return t},xe=({children:t,className:s,disabled:o=!1,id:i,value:r})=>{const{closeDropdown:x,onSelect:a,selectedValue:l}=Be(),u=()=>{a({value:r,label:t})},h=p=>{(p.key==="Enter"||p.key===" ")&&(p.preventDefault(),a({value:r,label:t})),p.key==="Escape"&&x()},d=l.includes(r);return e.jsxRuntimeExports.jsx("li",{role:"none",children:e.jsxRuntimeExports.jsxs("button",{id:i,"aria-selected":d,className:n.twMerge("group flex w-full items-center justify-between rounded-sm px-2 py-1.5 text-left text-sm enabled:text-white","enabled:cursor-pointer enabled:hover:bg-white/6","default-inset-focus","default-disabled",d&&"bg-white/5",s),disabled:o,role:"option",tabIndex:o?-1:0,onClick:u,onKeyDown:h,children:[t,d&&!o&&e.jsxRuntimeExports.jsx(n.OxIcon,{className:"text-violet-700",icon:"mdiCheck",size:.8})]})})};let U=null,_=null;const Pe=()=>(U||(U=document.createElement("canvas"),_=U.getContext("2d"),_.font="0.875rem system-ui, sans-serif"),_),We=(t,s,o)=>{if(t.length===0)return[];if(!s.current)return t.slice(0,1);const i=s.current.offsetWidth||0,r=12,x=32,a=32;let l=i-r-x;t.length>1&&(l-=a);const u=Pe();if(!u)return t.slice(0,2);const h=o?4:8,d=o?12:0;let p=0,g=0;for(let f=0;f<t.length;f++){const j=t[f],v=String(j.label),O=u.measureText(v).width+(o?d:0),c=f>0?p+O+h:p+O;if(c<=l)p=c,g++;else break}return g=Math.max(1,g),t.slice(0,g)},He=t=>t==null?[]:Array.isArray(t)?t:[t],qe=({badgeColor:t="purple",children:s,className:o,defaultValue:i=null,description:r,disabled:x=!1,displayAsBadges:a=!1,error:l=!1,errorMessage:u,id:h,label:d,multiple:p=!1,name:g,onChange:f,placeholder:j="Select an option",required:v=!1})=>{const R=b.useId(),O=b.useRef(null),[c,w]=b.useState(!1),[y,I]=b.useState([]),L=h||R,N=`${L}-select`,F=`${L}-description`,S=`${L}-error`,D=l&&u,P=(k,m)=>{let E=null;return b.Children.forEach(k,C=>{if(b.isValidElement(C)&&C.type===xe){const z=C.props;z.value===m&&(E={value:z.value,label:z.children})}}),E},W=k=>{let m;if(p?y.some(C=>C.value===k.value)?m=y.filter(C=>C.value!==k.value):m=[...y,k]:(m=[k],w(!1)),I(m),f){const E=p?m.map(C=>C.value):m[0]?.value??null;f(E)}};b.useEffect(()=>{if(i!==void 0){const k=He(i),m=[];k.forEach(E=>{const C=P(s,E);C&&m.push(C)}),I(p?m:m.slice(0,1))}},[i,s,p]);const V=e.jsxRuntimeExports.jsx("ul",{id:`${N}-listbox`,"aria-multiselectable":p,className:"max-h-72 space-y-0.5 overflow-hidden overflow-y-auto",role:"listbox",children:s}),H=We(y,O,a),J=y.length-H.length,A=J>0;return e.jsxRuntimeExports.jsx(ae.Provider,{value:{selectedValue:y.map(k=>k.value),multiple:p,onSelect:W,closeDropdown:()=>w(!1)},children:e.jsxRuntimeExports.jsxs("div",{className:n.twMerge("flex w-full flex-col gap-1",o),children:[d&&e.jsxRuntimeExports.jsx(M.OxLabel,{htmlFor:N,required:v,children:d}),e.jsxRuntimeExports.jsx(Y,{align:"start",content:V,contentClassName:"default-border bg-zinc-1000/70 rounded-lg p-1 backdrop-blur-xl animate-dropdown-in-bottom",contentStyle:{minWidth:`${O.current?.offsetWidth||200}px`},disabled:x,open:c,position:"bottom",trigger:"click",onOpenChange:w,children:e.jsxRuntimeExports.jsxs("button",{id:N,"aria-controls":`${N}-listbox`,"aria-describedby":[r?F:"",D?S:""].filter(Boolean).join(" ")||void 0,"aria-disabled":x,"aria-expanded":c,"aria-haspopup":"listbox","aria-invalid":l,"aria-required":v,className:n.twJoin("relative flex h-10 w-full gap-x-2 rounded-lg py-2 ps-3 pe-8 text-start text-sm enabled:cursor-pointer enabled:text-white","default-outset-focus default-disabled",l?"default-error-border":"default-border",c&&"default-active-border"),disabled:x,ref:O,role:"combobox",type:"button",children:[e.jsxRuntimeExports.jsx("span",{className:n.twJoin("w-full overflow-hidden text-ellipsis",a?p&&"flex flex-wrap gap-1":"whitespace-nowrap",x&&a&&"opacity-50"),children:y.length>0?e.jsxRuntimeExports.jsxs(e.jsxRuntimeExports.Fragment,{children:[a&&p?H.map(k=>e.jsxRuntimeExports.jsx(q,{color:t,size:"sm",children:k.label},String(k.value))):H.map((k,m,E)=>e.jsxRuntimeExports.jsxs(b.Fragment,{children:[k.label,m<E.length-1&&", "]},String(k.value))),A&&e.jsxRuntimeExports.jsxs(e.jsxRuntimeExports.Fragment,{children:[!(a&&p)&&" ",e.jsxRuntimeExports.jsxs(q,{color:t,size:"sm",children:["+",J]})]})]}):j}),e.jsxRuntimeExports.jsx("div",{className:"absolute end-3 top-1/2 -translate-y-1/2",children:e.jsxRuntimeExports.jsx(n.OxIcon,{className:n.twJoin("transition-transform duration-300 ease-in-out",x&&"text-neutral-500",c&&"rotate-180"),icon:"mdiChevronDown",size:.8})})]})}),g&&e.jsxRuntimeExports.jsx("input",{name:g,type:"hidden",value:y.map(k=>k.value).join(",")}),r&&e.jsxRuntimeExports.jsx(M.OxDescription,{id:F,disabled:x,children:r}),D&&e.jsxRuntimeExports.jsx(M.OxErrorMessage,{id:S,children:u})]})})},Je=({children:t,className:s})=>e.jsxRuntimeExports.jsx("div",{className:n.twMerge("px-2 py-1 text-xs font-medium text-neutral-400",s),children:t}),Ve={default:"bg-zinc-800/80",purple:"bg-purple-950/50",blue:"bg-blue-950/50",gray:"bg-gray-800/50"},Ae={rectangle:"rounded-md",circle:"rounded-full"},ce=({animate:t=!0,className:s,color:o="default",fullWidth:i=!1,height:r,shape:x="rectangle",width:a,...l})=>{const u={height:typeof r=="number"?`${r}px`:r,width:typeof a=="number"?`${a}px`:a};return e.jsxRuntimeExports.jsx("div",{"aria-busy":"true","aria-label":"Loading...",className:n.twMerge("relative overflow-hidden",Ve[o],Ae[x],t&&"animate-pulse",i&&"w-full",s),role:"status",style:u,...l})},Ge=({animate:t=!0,className:s,color:o="default",fullWidth:i=!1,gap:r=8,height:x=20,lines:a=1,width:l,...u})=>{const h=g=>g<=1?`${g*100}%`:`${g}px`,d=g=>{if(!i){if(Array.isArray(l)){const f=l[g%l.length];return f==null?void 0:typeof f=="number"?h(f):f}if(typeof l=="number"){if(a>1&&g===a-1){const f=l<=1?l*.6:Math.max(100,l*.6);return h(f)}return h(l)}return"200px"}},p={4:"space-y-1",8:"space-y-2",12:"space-y-3",16:"space-y-4",20:"space-y-5"}[r]||"space-y-2";return e.jsxRuntimeExports.jsx("div",{className:n.twMerge("flex flex-col",p,s),...u,children:Array.from({length:a}).map((g,f)=>e.jsxRuntimeExports.jsx(ce,{animate:t,color:o,fullWidth:i,height:x,width:d(f)},f))})},Ke=({className:t,description:s,disabled:o=!1,error:i=!1,errorMessage:r,id:x,label:a,name:l,onChange:u,placeholder:h="Enter text...",readOnly:d=!1,required:p=!1,rows:g=3,showMaxLength:f=!1,value:j,...v})=>{const R=b.useId(),[O,c]=b.useState(typeof j=="string"?j.length:0),w=x||R,y=`${w}-textarea`,I=`${w}-description`,L=`${w}-error`,N=v.maxLength,F=i&&r;b.useEffect(()=>{typeof j=="string"&&c(j.length)},[j]);const S=P=>{const W=P.target.value.length;c(W),u?.(P)},D=e.jsxRuntimeExports.jsx("textarea",{id:y,"aria-describedby":[s?I:"",F?L:""].filter(Boolean).join(" ")||void 0,"aria-invalid":i,"aria-required":p,className:n.twMerge("flex min-h-10 w-full resize-y rounded-lg bg-transparent px-2 py-2 text-sm text-white","placeholder:text-neutral-500","default-outset-focus","default-disabled",i?"default-error-border":"default-border",t),disabled:o,name:l,placeholder:h,readOnly:d,rows:g,value:j,onChange:S,...v});return e.jsxRuntimeExports.jsxs("div",{className:"flex w-full flex-col gap-1",children:[a?e.jsxRuntimeExports.jsx(M.OxLabel,{htmlFor:y,required:p,children:a}):null,D,f&&typeof N=="number"?e.jsxRuntimeExports.jsxs("div",{className:"pointer-events-none mt-1 text-right text-xs text-neutral-400",children:[O,"/",N]}):null,s?e.jsxRuntimeExports.jsx(M.OxDescription,{id:I,disabled:o,children:s}):null,F?e.jsxRuntimeExports.jsx(M.OxErrorMessage,{id:L,children:r}):null]})},Ue={default:"default-border backdrop-blur-xl text-white bg-zinc-1000/70",error:"bg-red-900/70 text-red-200 border-red-700",warning:"bg-amber-900/70 text-amber-200 border-amber-700",info:"bg-blue-900/70 text-blue-200 border-blue-700",success:"bg-green-900/70 text-green-200 border-green-700"},_e=({align:t="center",children:s,className:o,content:i,disabled:r=!1,id:x,onOpenChange:a,open:l,position:u="top",trigger:h="hover",variant:d="default"})=>{const p=e.jsxRuntimeExports.jsx("div",{className:n.twMerge("max-w-xs rounded-md border px-2 py-1 text-xs break-words backdrop-blur-sm",Ue[d],o),children:i});return e.jsxRuntimeExports.jsx(Y,{id:x,align:t,content:p,contentRole:"tooltip",disabled:r,offset:8,open:l,position:u,trigger:h,useAriaControls:!1,onOpenChange:a,children:s})},Ye=({children:t,onAuthenticated:s=null,onLoading:o=null})=>{const{isLoggedIn:i,loading:r}=te.useOxAuth();return r?o:i?s:t},Qe=({children:t,onLoading:s=null,onUnauthenticated:o=null})=>{const{isLoggedIn:i,loading:r}=te.useOxAuth();return r?s:i?t:o};exports.OxButton=n.OxButton;exports.OxIcon=n.OxIcon;exports.OxDescription=M.OxDescription;exports.OxErrorMessage=M.OxErrorMessage;exports.OxForm=M.OxForm;exports.OxInput=M.OxInput;exports.OxLabel=M.OxLabel;exports.OxAvatar=me;exports.OxAvatarImage=se;exports.OxAvatarText=he;exports.OxBadge=q;exports.OxCard=Ne;exports.OxCardContent=Ie;exports.OxCardFooter=Me;exports.OxCardHeader=Ce;exports.OxCheckbox=Le;exports.OxDropdown=ie;exports.OxDropdownContent=Q;exports.OxDropdownFooter=re;exports.OxDropdownHeader=X;exports.OxDropdownItem=le;exports.OxDropdownSeparator=Fe;exports.OxDropdownShortcut=De;exports.OxDropdownTrigger=Z;exports.OxGuestRoute=Ye;exports.OxNotificationDropdown=Te;exports.OxProtectedRoute=Qe;exports.OxSelect=qe;exports.OxSelectLabel=Je;exports.OxSelectOption=xe;exports.OxSkeleton=ce;exports.OxSkeletonText=Ge;exports.OxTextarea=Ke;exports.OxTooltip=_e;
|