UNPKG

di-components

Version:

React components styled for DI - NIC

2 lines 40.4 kB
'use strict';var i=require('react'),clsx=require('clsx'),tailwindMerge=require('tailwind-merge'),lucideReact=require('lucide-react'),client=require('react-dom/client'),classVarianceAuthority=require('class-variance-authority');function _interopNamespace(e){if(e&&e.__esModule)return e;var n=Object.create(null);if(e){Object.keys(e).forEach(function(k){if(k!=='default'){var d=Object.getOwnPropertyDescriptor(e,k);Object.defineProperty(n,k,d.get?d:{enumerable:true,get:function(){return e[k]}});}})}n.default=e;return Object.freeze(n)}var i__namespace=/*#__PURE__*/_interopNamespace(i);function s(...o){return tailwindMerge.twMerge(clsx.clsx(o))}var Ie=({message:o,position:e="top",className:t})=>i__namespace.default.createElement("div",{className:"relative group"},i__namespace.default.createElement("div",{className:"inline-block"},o),i__namespace.default.createElement("div",{className:s("absolute z-10 hidden rounded bg-gray-800 px-2 py-1 text-sm text-white shadow group-hover:block",{top:"bottom-full left-1/2 -translate-x-1/2 mb-2",right:"left-full top-1/2 -translate-y-1/2 ml-2",bottom:"top-full left-1/2 -translate-x-1/2 mt-2",left:"right-full top-1/2 -translate-y-1/2 mr-2"}[e],t)},o));var H=i__namespace.default.forwardRef(({className:o,variant:e="primary",size:t="md",children:r,...l},a)=>i__namespace.default.createElement("button",{ref:a,className:s("inline-flex items-center justify-center rounded-md font-medium transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-blue-500 disabled:pointer-events-none disabled:opacity-50",{"bg-blue-500 text-white hover:bg-blue-600 active:bg-blue-700":e==="primary","bg-gray-100 text-gray-900 hover:bg-gray-200 active:bg-gray-300":e==="secondary","border-2 border-blue-500 text-blue-500 hover:bg-blue-50":e==="outline","text-gray-900 hover:bg-gray-100 active:bg-gray-200":e==="ghost","h-8 px-3 text-sm":t==="sm","h-10 px-4 text-base":t==="md","h-12 px-6 text-lg":t==="lg"},o),...l},r));function De({className:o,value:e=new Date,onChange:t,disabledDate:r,fullscreen:l=true,headerRender:a}){let[c,n]=i__namespace.useState(e),[m,y]=i__namespace.useState(new Date(e.getFullYear(),e.getMonth(),1)),p=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],g=["January","February","March","April","May","June","July","August","September","October","November","December"],v=f=>{n(f),t==null||t(f);},I=()=>{y(new Date(m.getFullYear(),m.getMonth()-1,1));},V=()=>{y(new Date(m.getFullYear(),m.getMonth()+1,1));},S=()=>{let f=new Date;n(f),y(new Date(f.getFullYear(),f.getMonth(),1)),t==null||t(f);},F=f=>{let N=new Date;return f.getDate()===N.getDate()&&f.getMonth()===N.getMonth()&&f.getFullYear()===N.getFullYear()},A=f=>f.getDate()===c.getDate()&&f.getMonth()===c.getMonth()&&f.getFullYear()===c.getFullYear(),O=f=>r?r(f):false,ae=(f,N)=>new Date(f,N+1,0).getDate(),E=(f,N)=>new Date(f,N,1).getDay(),W=()=>{let f=m.getFullYear(),N=m.getMonth(),J=ae(f,N),le=E(f,N),se=N===0?11:N-1,q=N===0?f-1:f,$=ae(q,se),z=[];for(let T=le-1;T>=0;T--){let P=$-T,_=new Date(q,se,P);z.push(i__namespace.createElement("button",{key:`prev-${P}`,onClick:()=>v(_),disabled:O(_),className:s("h-9 w-9 rounded-md text-center text-sm p-0 focus:outline-none","text-gray-400 hover:bg-gray-100",O(_)&&"opacity-50 cursor-not-allowed")},P));}for(let T=1;T<=J;T++){let P=new Date(f,N,T);z.push(i__namespace.createElement("button",{key:`current-${T}`,onClick:()=>v(P),disabled:O(P),className:s("h-9 w-9 rounded-md text-center text-sm p-0 focus:outline-none","text-gray-800 hover:bg-gray-100",F(P)&&"border border-blue-400",A(P)&&"bg-blue-500 text-white hover:bg-blue-600",O(P)&&"opacity-50 cursor-not-allowed")},T));}let Q=42-z.length,Z=N===11?0:N+1,ie=N===11?f+1:f;for(let T=1;T<=Q;T++){let P=new Date(ie,Z,T);z.push(i__namespace.createElement("button",{key:`next-${T}`,onClick:()=>v(P),disabled:O(P),className:s("h-9 w-9 rounded-md text-center text-sm p-0 focus:outline-none","text-gray-400 hover:bg-gray-100",O(P)&&"opacity-50 cursor-not-allowed")},T));}return z};return i__namespace.createElement("div",{className:s("bg-white border border-gray-200 rounded-md shadow-sm",l?"w-full":"w-[300px]",o)},a||i__namespace.createElement("div",{className:"flex justify-between items-center p-4 border-b border-gray-200"},i__namespace.createElement("div",{className:"flex items-center gap-2"},i__namespace.createElement(H,{variant:"outline",size:"sm",className:"h-8 w-8 rounded-md",onClick:I},i__namespace.createElement(lucideReact.ChevronLeft,{className:"h-4 w-4"})),i__namespace.createElement("div",{className:"font-medium"},g[m.getMonth()]," ",m.getFullYear()),i__namespace.createElement(H,{variant:"outline",size:"sm",className:"h-8 w-8 rounded-md",onClick:V},i__namespace.createElement(lucideReact.ChevronRight,{className:"h-4 w-4"}))),i__namespace.createElement(H,{variant:"outline",size:"sm",className:"h-8 text-sm rounded-md",onClick:S},"Today")),i__namespace.createElement("div",{className:"p-4"},i__namespace.createElement("div",{className:"grid grid-cols-7 gap-1 mb-2"},p.map(f=>i__namespace.createElement("div",{key:f,className:"text-center text-sm font-medium text-gray-500"},f))),i__namespace.createElement("div",{className:"grid grid-cols-7 gap-1"},W())))}var je=classVarianceAuthority.cva("fixed flex items-center gap-2 py-2 px-4 rounded-md shadow-md text-sm transition-all duration-300 transform translate-y-0 opacity-100",{variants:{variant:{success:"bg-green-50 text-green-800 border border-green-200",error:"bg-red-50 text-red-800 border border-red-200",info:"bg-blue-50 text-blue-800 border border-blue-200",warning:"bg-yellow-50 text-yellow-800 border border-yellow-200"},position:{top:"top-4 left-1/2 -translate-x-1/2",topLeft:"top-4 left-4",topRight:"top-4 right-4",bottom:"bottom-4 left-1/2 -translate-x-1/2",bottomLeft:"bottom-4 left-4",bottomRight:"bottom-4 right-4"}},defaultVariants:{variant:"info",position:"top"}}),pe=i__namespace.forwardRef(({className:o,variant:e,position:t,content:r,duration:l=3e3,onClose:a,icon:c,closable:n=true,...m},y)=>{let[p,g]=i__namespace.useState(true);i__namespace.useEffect(()=>{let I=setTimeout(()=>{g(false),setTimeout(()=>{a==null||a();},300);},l);return ()=>clearTimeout(I)},[l,a]);let v=()=>{switch(e){case "success":return i__namespace.createElement(lucideReact.CheckCircle,{className:"w-4 h-4 text-green-600"});case "error":return i__namespace.createElement(lucideReact.AlertCircle,{className:"w-4 h-4 text-red-600"});case "warning":return i__namespace.createElement(lucideReact.AlertTriangle,{className:"w-4 h-4 text-yellow-600"});case "info":default:return i__namespace.createElement(lucideReact.Info,{className:"w-4 h-4 text-blue-600"})}};return i__namespace.createElement("div",{ref:y,className:s(je({variant:e,position:t,className:o}),!p&&"translate-y-[-10px] opacity-0"),...m},c||v(),i__namespace.createElement("span",null,r),n&&i__namespace.createElement("button",{onClick:()=>g(false),className:"ml-2 text-gray-500 hover:text-gray-700 focus:outline-none"},i__namespace.createElement(lucideReact.X,{className:"w-3 h-3"})))});pe.displayName="Message";var Y=null,Ve=()=>{if(typeof document=="undefined")return {success:()=>{},error:()=>{},info:()=>{},warning:()=>{}};Y||(Y=document.createElement("div"),Y.className="message-container",document.body.appendChild(Y));let o=e=>{let t=String(Date.now()),r=document.createElement("div");r.id=t,Y==null||Y.appendChild(r);let l=client.createRoot(r),a=()=>{var c;(c=e.onClose)==null||c.call(e),l.unmount(),r.remove();};l.render(i__namespace.createElement(pe,{...e,onClose:a}));};return {success:e=>o({...e,variant:"success"}),error:e=>o({...e,variant:"error"}),info:e=>o({...e,variant:"info"}),warning:e=>o({...e,variant:"warning"})}},$e=Ve();var ee=({value:o,max:e=100,showValue:t=false,size:r="md",color:l="blue",className:a})=>{let c=Math.min(Math.max(o/e*100,0),100),n={blue:"bg-blue-500",green:"bg-green-500",red:"bg-red-500",yellow:"bg-yellow-500"},m={sm:"h-1",md:"h-2",lg:"h-3"};return i__namespace.default.createElement("div",{className:s("w-full",a)},i__namespace.default.createElement("div",{className:"flex items-center"},i__namespace.default.createElement("div",{className:"flex-1"},i__namespace.default.createElement("div",{className:s("w-full rounded-full bg-gray-200",m[r])},i__namespace.default.createElement("div",{className:s("rounded-full transition-all duration-300 ease-in-out",n[l],m[r]),style:{width:`${c}%`},role:"progressbar","aria-valuenow":o,"aria-valuemin":0,"aria-valuemax":e}))),t&&i__namespace.default.createElement("span",{className:"ml-4 text-sm font-medium text-gray-700"},Math.round(c),"%")))};var Ge=classVarianceAuthority.cva("relative border-2 border-dashed rounded-md transition-colors",{variants:{variant:{default:"border-gray-300 hover:border-blue-500 bg-gray-50 hover:bg-gray-100",error:"border-red-300 bg-red-50",disabled:"border-gray-200 bg-gray-100 cursor-not-allowed"}},defaultVariants:{variant:"default"}}),he=i__namespace.forwardRef(({className:o,variant:e,accept:t,multiple:r=false,maxCount:l,disabled:a=false,fileList:c,defaultFileList:n=[],listType:m="text",showUploadList:y=true,directory:p=false,beforeUpload:g,onChange:v,onRemove:I,onPreview:V,onDrop:S,customRequest:F,children:A,...O},ae)=>{let[E,W]=i__namespace.useState(n),[f,N]=i__namespace.useState(false),J=i__namespace.useRef(null);i__namespace.useEffect(()=>{c&&W(c);},[c]);let le=()=>`upload-${Date.now()}-${Math.floor(Math.random()*1e4)}`,se=async d=>{let h=Array.from(d.target.files||[]);if(h.length){if(l&&E.length+h.length>l){let k=h.slice(0,l-E.length);await q(k);}else await q(h);J.current&&(J.current.value="");}},q=async d=>{for(let h of d){if(g&&!await g(h,d))continue;let k={uid:le(),name:h.name,size:h.size,type:h.type,status:"uploading",percent:0,originFileObj:h};h.type.startsWith("image/")&&(k.thumbUrl=URL.createObjectURL(h));let R=[...E,k];W(R),v==null||v({file:k,fileList:R}),F?F({file:h,onProgress:C=>{$(k.uid,{percent:C});},onSuccess:()=>{$(k.uid,{status:"done",percent:100});},onError:C=>{$(k.uid,{status:"error",error:C.message||"Upload failed"});}}):z(k.uid);}},$=(d,h)=>{let k=E.map(C=>C.uid===d?{...C,...h}:C);W(k);let R=k.find(C=>C.uid===d);R&&(v==null||v({file:R,fileList:k}));},z=d=>{let h=0,k=setInterval(()=>{h+=10,h>=100?(clearInterval(k),$(d,{status:"done",percent:100})):$(d,{percent:h});},300);},Q=async d=>{if(I&&await I(d)===false)return;let h=E.filter(k=>k.uid!==d.uid);W(h),v==null||v({file:d,fileList:h}),d.thumbUrl&&d.thumbUrl.startsWith("blob:")&&URL.revokeObjectURL(d.thumbUrl);},Z=d=>{V==null||V(d);},ie=d=>{d.preventDefault(),N(true);},T=d=>{d.preventDefault(),N(false);},P=d=>{if(d.preventDefault(),N(false),a)return;let h=Array.from(d.dataTransfer.files);q(h),S==null||S(d);},_=()=>{var d;a||(d=J.current)==null||d.click();},Me=()=>A||(m==="picture-card"?i__namespace.createElement("div",{className:"flex flex-col items-center justify-center p-4 text-gray-500"},i__namespace.createElement(lucideReact.UploadIcon,{className:"w-6 h-6 mb-2"}),i__namespace.createElement("div",{className:"text-sm"},"Upload")):i__namespace.createElement(H,{type:"button",variant:"outline",className:"flex items-center gap-2",disabled:a},i__namespace.createElement(lucideReact.UploadIcon,{className:"w-4 h-4"}),i__namespace.createElement("span",null,"Upload"))),ke=()=>!y||E.length===0?null:i__namespace.createElement("div",{className:s("mt-4",m==="picture-card"&&"flex flex-wrap gap-2")},E.map(d=>m==="text"?i__namespace.createElement("div",{key:d.uid,className:"flex items-center justify-between p-2 border rounded-md mb-2"},i__namespace.createElement("div",{className:"flex items-center gap-2 overflow-hidden"},i__namespace.createElement(lucideReact.FileIcon,{className:"w-4 h-4 flex-shrink-0 text-gray-500"}),i__namespace.createElement("span",{className:"text-sm truncate"},d.name)),i__namespace.createElement("div",{className:"flex items-center gap-2"},d.status==="uploading"&&i__namespace.createElement("div",{className:"w-24"},i__namespace.createElement(ee,{value:d.percent||0,className:"h-1"})),d.status==="done"&&i__namespace.createElement(lucideReact.CheckCircle,{className:"w-4 h-4 text-green-500"}),d.status==="error"&&i__namespace.createElement(lucideReact.AlertCircle,{className:"w-4 h-4 text-red-500"}),i__namespace.createElement("button",{type:"button",className:"text-gray-500 hover:text-gray-700 focus:outline-none",onClick:()=>Q(d),disabled:a},i__namespace.createElement(lucideReact.X,{className:"w-4 h-4"})))):m==="picture"?i__namespace.createElement("div",{key:d.uid,className:"flex items-center justify-between p-2 border rounded-md mb-2"},i__namespace.createElement("div",{className:"flex items-center gap-2 overflow-hidden"},d.thumbUrl?i__namespace.createElement("img",{src:d.thumbUrl||"/placeholder.svg",alt:d.name,className:"w-10 h-10 object-cover rounded-md",onClick:()=>Z(d)}):i__namespace.createElement("div",{className:"w-10 h-10 flex items-center justify-center bg-gray-100 rounded-md"},i__namespace.createElement(lucideReact.ImageIcon,{className:"w-5 h-5 text-gray-500"})),i__namespace.createElement("span",{className:"text-sm truncate"},d.name)),i__namespace.createElement("div",{className:"flex items-center gap-2"},d.status==="uploading"&&i__namespace.createElement("div",{className:"w-24"},i__namespace.createElement(ee,{value:d.percent||0,className:"h-1"})),d.status==="done"&&i__namespace.createElement(lucideReact.CheckCircle,{className:"w-4 h-4 text-green-500"}),d.status==="error"&&i__namespace.createElement(lucideReact.AlertCircle,{className:"w-4 h-4 text-red-500"}),i__namespace.createElement("button",{type:"button",className:"text-gray-500 hover:text-gray-700 focus:outline-none",onClick:()=>Q(d),disabled:a},i__namespace.createElement(lucideReact.X,{className:"w-4 h-4"})))):i__namespace.createElement("div",{key:d.uid,className:"relative w-24 h-24 border rounded-md overflow-hidden"},d.status==="uploading"?i__namespace.createElement("div",{className:"w-full h-full flex flex-col items-center justify-center bg-gray-50 p-2"},i__namespace.createElement(lucideReact.Loader2,{className:"w-5 h-5 text-blue-500 animate-spin mb-1"}),i__namespace.createElement("div",{className:"w-full px-2"},i__namespace.createElement(ee,{value:d.percent||0,className:"h-1"})),i__namespace.createElement("span",{className:"text-xs mt-1"},d.percent,"%")):i__namespace.createElement(i__namespace.Fragment,null,d.thumbUrl?i__namespace.createElement("img",{src:d.thumbUrl||"/placeholder.svg",alt:d.name,className:"w-full h-full object-cover cursor-pointer",onClick:()=>Z(d)}):i__namespace.createElement("div",{className:"w-full h-full flex items-center justify-center bg-gray-100"},i__namespace.createElement(lucideReact.FileIcon,{className:"w-8 h-8 text-gray-500"})),i__namespace.createElement("div",{className:"absolute inset-0 bg-black bg-opacity-40 opacity-0 hover:opacity-100 transition-opacity flex items-center justify-center gap-2"},i__namespace.createElement("button",{type:"button",className:"text-white hover:text-gray-200 focus:outline-none",onClick:()=>Z(d),disabled:a},i__namespace.createElement(lucideReact.ImageIcon,{className:"w-5 h-5"})),i__namespace.createElement("button",{type:"button",className:"text-white hover:text-gray-200 focus:outline-none",onClick:()=>Q(d),disabled:a},i__namespace.createElement(lucideReact.X,{className:"w-5 h-5"}))),d.status==="error"&&i__namespace.createElement("div",{className:"absolute bottom-0 left-0 right-0 bg-red-500 text-white text-xs p-1 text-center"},"Error"))))),Te=l?E.length<l:true;return i__namespace.createElement("div",{className:o,...O},Te&&i__namespace.createElement("div",{ref:ae,className:s(Ge({variant:a?"disabled":f?"default":e}),m==="picture-card"?"inline-flex":"block",m==="picture-card"&&"w-24 h-24"),onClick:_,onDragOver:ie,onDragLeave:T,onDrop:P},i__namespace.createElement("input",{ref:J,type:"file",accept:t,multiple:r,onChange:se,className:"hidden",disabled:a,...p?{webkitdirectory:"true"}:void 0}),Me()),ke())});he.displayName="Upload";var Je=i__namespace.default.forwardRef(({className:o,logo:e,items:t=[],showSearch:r=false,...l},a)=>{let[c,n]=i__namespace.default.useState(false);return i__namespace.default.createElement("nav",{ref:a,className:s("relative bg-blue-500 shadow",o),...l},i__namespace.default.createElement("div",{className:"mx-auto max-w-7xl px-4 sm:px-6 lg:px-8"},i__namespace.default.createElement("div",{className:"flex h-16 justify-between"},i__namespace.default.createElement("div",{className:"flex"},i__namespace.default.createElement("div",{className:"flex flex-shrink-0 items-center"},e||i__namespace.default.createElement("span",{className:"text-xl font-bold text-white"},"Logo")),i__namespace.default.createElement("div",{className:"hidden sm:ml-6 sm:flex sm:space-x-8"},t.map(m=>i__namespace.default.createElement("a",{key:m.href,href:m.href,className:"inline-flex items-center border-b-2 border-transparent px-1 pt-1 text-sm font-medium text-blue-100 hover:border-white hover:text-white"},m.label)))),r&&i__namespace.default.createElement("div",{className:"hidden sm:ml-6 sm:flex sm:items-center"},i__namespace.default.createElement("input",{type:"text",placeholder:"Search...",className:"rounded-md border border-gray-300 bg-white px-4 py-2 text-sm text-gray-900 placeholder-gray-400 focus:border-blue-500 focus:outline-none focus:ring-1 focus:ring-blue-500"})),i__namespace.default.createElement("div",{className:"hidden sm:ml-6 sm:flex sm:items-center"},i__namespace.default.createElement(H,{variant:"outline",size:"sm",className:"text-white border-white hover:bg-blue-600"},"Sign in"),i__namespace.default.createElement(H,{size:"sm",className:"ml-4 bg-white text-blue-500 hover:bg-blue-50"},"Sign up")),i__namespace.default.createElement("div",{className:"-mr-2 flex items-center sm:hidden"},i__namespace.default.createElement("button",{type:"button",className:"inline-flex items-center justify-center rounded-md p-2 text-blue-100 hover:bg-blue-600 hover:text-white focus:outline-none focus:ring-2 focus:ring-inset focus:ring-white","aria-controls":"mobile-menu","aria-expanded":c,onClick:()=>n(!c)},i__namespace.default.createElement("span",{className:"sr-only"},"Open main menu"),c?i__namespace.default.createElement(lucideReact.X,{className:"block h-6 w-6","aria-hidden":"true"}):i__namespace.default.createElement(lucideReact.Menu,{className:"block h-6 w-6","aria-hidden":"true"}))))),i__namespace.default.createElement("div",{className:s("sm:hidden",{block:c,hidden:!c}),id:"mobile-menu"},i__namespace.default.createElement("div",{className:"space-y-1 pb-3 pt-2"},t.map(m=>i__namespace.default.createElement("a",{key:m.href,href:m.href,className:"block border-l-4 border-transparent py-2 pl-3 pr-4 text-base font-medium text-blue-100 hover:border-white hover:bg-blue-600 hover:text-white"},m.label))),r&&i__namespace.default.createElement("div",{className:"border-t border-blue-400 pb-3 pt-4"},i__namespace.default.createElement("div",{className:"px-4"},i__namespace.default.createElement("input",{type:"text",placeholder:"Search...",className:"w-full rounded-md border border-gray-300 bg-white px-4 py-2 text-sm text-gray-900 placeholder-gray-400 focus:border-blue-500 focus:outline-none focus:ring-1 focus:ring-blue-500"}))),i__namespace.default.createElement("div",{className:"border-t border-blue-400 pb-3 pt-4"},i__namespace.default.createElement("div",{className:"space-y-2 px-4"},i__namespace.default.createElement(H,{variant:"outline",className:"w-full justify-center text-white border-white hover:bg-blue-600"},"Sign in"),i__namespace.default.createElement(H,{className:"w-full justify-center bg-white text-blue-500 hover:bg-blue-50"},"Sign up")))))});var _e=i__namespace.default.forwardRef(({className:o,links:e=[],...t},r)=>i__namespace.default.createElement("footer",{ref:r,className:s("bg-blue-500 text-white",o),...t},i__namespace.default.createElement("div",{className:"mx-auto max-w-7xl px-4 py-12 sm:px-6 lg:px-8"},i__namespace.default.createElement("div",{className:"xl:grid xl:grid-cols-3 xl:gap-8"},i__namespace.default.createElement("div",{className:"space-y-8 xl:col-span-1"},i__namespace.default.createElement("span",{className:"text-xl font-bold text-white"},"Logo"),i__namespace.default.createElement("p",{className:"text-base text-blue-100"},"Making the world a better place through constructing elegant hierarchies."),i__namespace.default.createElement("div",{className:"flex space-x-6"},i__namespace.default.createElement("a",{href:"#",className:"text-blue-100 hover:text-white"},i__namespace.default.createElement("span",{className:"sr-only"},"Facebook"),i__namespace.default.createElement(lucideReact.Facebook,{className:"h-6 w-6"})),i__namespace.default.createElement("a",{href:"#",className:"text-blue-100 hover:text-white"},i__namespace.default.createElement("span",{className:"sr-only"},"Twitter"),i__namespace.default.createElement(lucideReact.Twitter,{className:"h-6 w-6"})),i__namespace.default.createElement("a",{href:"#",className:"text-blue-100 hover:text-white"},i__namespace.default.createElement("span",{className:"sr-only"},"Instagram"),i__namespace.default.createElement(lucideReact.Instagram,{className:"h-6 w-6"})),i__namespace.default.createElement("a",{href:"#",className:"text-blue-100 hover:text-white"},i__namespace.default.createElement("span",{className:"sr-only"},"LinkedIn"),i__namespace.default.createElement(lucideReact.Linkedin,{className:"h-6 w-6"})))),i__namespace.default.createElement("div",{className:"mt-12 grid grid-cols-2 gap-8 xl:col-span-2 xl:mt-0"},i__namespace.default.createElement("div",{className:"md:grid md:grid-cols-2 md:gap-8"},e.slice(0,2).map(l=>i__namespace.default.createElement("div",{key:l.title},i__namespace.default.createElement("h3",{className:"text-sm font-semibold text-blue-100 tracking-wider uppercase"},l.title),i__namespace.default.createElement("ul",{className:"mt-4 space-y-4"},l.items.map(a=>i__namespace.default.createElement("li",{key:a.label},i__namespace.default.createElement("a",{href:a.href,className:"text-base text-blue-100 hover:text-white"},a.label))))))),i__namespace.default.createElement("div",{className:"md:grid md:grid-cols-2 md:gap-8"},e.slice(2).map(l=>i__namespace.default.createElement("div",{key:l.title},i__namespace.default.createElement("h3",{className:"text-sm font-semibold text-blue-100 tracking-wider uppercase"},l.title),i__namespace.default.createElement("ul",{className:"mt-4 space-y-4"},l.items.map(a=>i__namespace.default.createElement("li",{key:a.label},i__namespace.default.createElement("a",{href:a.href,className:"text-base text-blue-100 hover:text-white"},a.label))))))))),i__namespace.default.createElement("div",{className:"mt-12 border-t border-blue-400 pt-8"},i__namespace.default.createElement("p",{className:"text-base text-blue-100 xl:text-center"},"\xA9 ",new Date().getFullYear()," Your Company, Inc. All rights reserved.")))));var tt=({items:o,allowMultiple:e=false,className:t})=>{let[r,l]=i.useState([]),a=c=>{l(e?n=>n.includes(c)?n.filter(m=>m!==c):[...n,c]:n=>n.includes(c)?[]:[c]);};return i__namespace.default.createElement("div",{className:s("divide-y divide-gray-200 border-y border-gray-200",t),role:"tablist","aria-multiselectable":e},o.map(c=>{let n=r.includes(c.id);return i__namespace.default.createElement("div",{key:c.id,className:"py-1"},i__namespace.default.createElement("button",{className:s("flex w-full items-center justify-between px-4 py-3 text-left","text-gray-900 hover:bg-gray-50","focus:outline-none focus:ring-2 focus:ring-blue-500 focus:ring-offset-2"),onClick:()=>a(c.id),"aria-expanded":n,"aria-controls":`accordion-content-${c.id}`,role:"tab"},i__namespace.default.createElement("span",{className:"text-sm font-medium"},c.title),i__namespace.default.createElement(lucideReact.ChevronDown,{className:s("h-5 w-5 text-gray-500 transition-transform duration-200",{"rotate-180":n})})),i__namespace.default.createElement("div",{id:`accordion-content-${c.id}`,role:"tabpanel",className:s("overflow-hidden transition-all duration-200 ease-in-out",{"max-h-0":!n,"max-h-96":n})},i__namespace.default.createElement("div",{className:"px-4 pb-3 pt-0"},c.content)))}))},rt=tt;var at=i__namespace.default.forwardRef(({className:o,bordered:e=true,children:t,...r},l)=>i__namespace.default.createElement("div",{ref:l,className:s("rounded-lg bg-white p-6",{"border border-gray-200":e,"shadow-sm":!e},o),...r},t));var ot=i__namespace.default.forwardRef(({className:o,label:e,error:t,helperText:r,id:l,...a},c)=>{let n=l||`checkbox-${e.toLowerCase().replace(/\s+/g,"-")}`,m=`${n}-helper`;return i__namespace.default.createElement("div",{className:"relative"},i__namespace.default.createElement("div",{className:"flex items-start"},i__namespace.default.createElement("div",{className:"flex h-5 items-center"},i__namespace.default.createElement("input",{type:"checkbox",ref:c,id:n,"aria-describedby":r?m:void 0,className:"sr-only",...a}),i__namespace.default.createElement("div",{className:s("flex h-5 w-5 items-center justify-center rounded border","transition-colors duration-200",{"border-red-500":t,"border-gray-300":!t,"bg-blue-500 border-blue-500":a.checked,"hover:border-blue-500":!a.disabled&&!t,"cursor-not-allowed opacity-50":a.disabled})},a.checked&&i__namespace.default.createElement(lucideReact.Check,{className:"h-3 w-3 text-white"}))),i__namespace.default.createElement("label",{htmlFor:n,className:s("ml-2 block text-sm text-gray-700",{"cursor-not-allowed opacity-50":a.disabled})},e)),r&&i__namespace.default.createElement("p",{id:m,className:s("mt-1 text-sm",{"text-red-500":t,"text-gray-500":!t})},r))});var nt=i__namespace.default.forwardRef(({className:o,error:e,...t},r)=>i__namespace.default.createElement("input",{ref:r,className:s("block w-full rounded-md border border-gray-300 px-4 py-2 text-gray-900 placeholder-gray-400","focus:border-blue-500 focus:outline-none focus:ring-1 focus:ring-blue-500","disabled:cursor-not-allowed disabled:bg-gray-50 disabled:text-gray-500",{"border-red-500 focus:border-red-500 focus:ring-red-500":e},o),...t}));var ct=i__namespace.default.forwardRef(({className:o,label:e,error:t,helperText:r,id:l,children:a,isTagSelect:c,...n},m)=>{let y=l||`select-${e.toLowerCase().replace(/\s+/g,"-")}`,p=`${y}-helper`,[g,v]=i.useState([]),I=S=>{let F=S.target.value;F&&!g.includes(F)&&v(A=>[...A,F]);},V=S=>{v(F=>F.filter(A=>A!==S));};return i__namespace.default.createElement("div",{className:"relative"},i__namespace.default.createElement("label",{htmlFor:y,className:"mb-2 block text-sm font-medium text-gray-700"},e),i__namespace.default.createElement("div",{className:"relative"},c&&i__namespace.default.createElement("div",{className:"mb-2 flex flex-wrap gap-2"},g.map(S=>i__namespace.default.createElement("span",{key:S,className:"flex items-center gap-1 rounded-full bg-blue-100 px-3 py-1 text-sm text-blue-700"},S,i__namespace.default.createElement("button",{type:"button",onClick:()=>V(S),className:"text-blue-500 hover:text-blue-700"},i__namespace.default.createElement(lucideReact.X,{className:"h-4 w-4"}))))),i__namespace.default.createElement("select",{ref:m,id:y,"aria-describedby":r?p:void 0,className:s("block w-full appearance-none rounded-md border border-gray-300 bg-white px-4 py-2 pr-8 text-gray-900","focus:border-blue-500 focus:outline-none focus:ring-1 focus:ring-blue-500","disabled:cursor-not-allowed disabled:bg-gray-50 disabled:text-gray-500",{"border-red-500 focus:border-red-500 focus:ring-red-500":t},o),onChange:c?I:n.onChange,...n},a),i__namespace.default.createElement(lucideReact.ChevronDown,{className:"pointer-events-none absolute right-3 top-1/2 h-4 w-4 -translate-y-1/2 text-gray-400"})),r&&i__namespace.default.createElement("p",{id:p,className:s("mt-1 text-sm",{"text-red-500":t,"text-gray-500":!t})},r))});var bt=({item:o,collapsed:e})=>{let[t,r]=i__namespace.default.useState(true);return o.items?i__namespace.default.createElement("div",null,i__namespace.default.createElement("button",{type:"button",className:s("flex w-full items-center rounded-md px-3 py-2 text-sm font-medium text-gray-700","hover:bg-blue-50 hover:text-blue-500","focus:outline-none focus:ring-2 focus:ring-blue-500 focus:ring-offset-2"),onClick:()=>r(!t),"aria-expanded":t},o.icon&&i__namespace.default.createElement("span",{className:"mr-3 text-gray-400"},o.icon),!e&&i__namespace.default.createElement(i__namespace.default.Fragment,null,i__namespace.default.createElement("span",{className:"flex-1 text-left"},o.label),t?i__namespace.default.createElement(lucideReact.ChevronDown,{className:"ml-3 h-4 w-4"}):i__namespace.default.createElement(lucideReact.ChevronRight,{className:"ml-3 h-4 w-4"}))),t&&!e&&i__namespace.default.createElement("div",{className:"mt-1 space-y-1 pl-6"},o.items.map((l,a)=>i__namespace.default.createElement("a",{key:a,href:l.href,className:s("block rounded-md px-3 py-2 text-sm font-medium text-gray-600","hover:bg-blue-50 hover:text-blue-500","focus:outline-none focus:ring-2 focus:ring-blue-500 focus:ring-offset-2")},l.label)))):i__namespace.default.createElement("a",{href:o.href,className:s("flex items-center rounded-md px-3 py-2 text-sm font-medium text-gray-700","hover:bg-blue-50 hover:text-blue-500","focus:outline-none focus:ring-2 focus:ring-blue-500 focus:ring-offset-2")},o.icon&&i__namespace.default.createElement("span",{className:"mr-3 text-gray-400"},o.icon),!e&&o.label)},ft=i__namespace.default.forwardRef(({className:o,items:e=[],collapsed:t=false,onCollapse:r,...l},a)=>i__namespace.default.createElement("aside",{ref:a,className:s("flex h-screen flex-col border-r border-gray-200 bg-white",{"w-64":!t,"w-16":t},o),...l},i__namespace.default.createElement("div",{className:"flex h-16 items-center justify-between border-b border-gray-200 px-4"},!t&&i__namespace.default.createElement("span",{className:"text-lg font-semibold text-gray-900"},"Menu"),i__namespace.default.createElement(H,{variant:"ghost",size:"sm",className:"ml-auto",onClick:()=>r==null?void 0:r(!t),"aria-label":t?"Expand sidebar":"Collapse sidebar"},i__namespace.default.createElement(lucideReact.X,{className:s("h-4 w-4 transition-transform",{"rotate-90":!t})}))),i__namespace.default.createElement("nav",{className:"flex-1 space-y-1 p-4"},e.map((c,n)=>i__namespace.default.createElement(bt,{key:n,item:c,collapsed:t})))));var gt=i__namespace.default.forwardRef(({className:o,label:e,error:t,helperText:r,id:l,...a},c)=>{let n=l||`switch-${e.toLowerCase().replace(/\s+/g,"-")}`,m=`${n}-helper`;return i__namespace.default.createElement("div",{className:"relative"},i__namespace.default.createElement("div",{className:"flex items-center"},i__namespace.default.createElement("input",{type:"checkbox",role:"switch",ref:c,id:n,"aria-describedby":r?m:void 0,className:"sr-only",...a}),i__namespace.default.createElement("div",{className:s("relative inline-flex h-6 w-11 items-center rounded-full transition-colors",{"bg-blue-500":a.checked,"bg-gray-200":!a.checked,"cursor-not-allowed opacity-50":a.disabled})},i__namespace.default.createElement("span",{className:s("inline-block h-4 w-4 transform rounded-full bg-white transition-transform",{"translate-x-6":a.checked,"translate-x-1":!a.checked})})),i__namespace.default.createElement("label",{htmlFor:n,className:s("ml-2 text-sm text-gray-700",{"cursor-not-allowed opacity-50":a.disabled})},e)),r&&i__namespace.default.createElement("p",{id:m,className:s("mt-1 text-sm",{"text-red-500":t,"text-gray-500":!t})},r))});var vt=({content:o,position:e="top",children:t,className:r})=>{let[l,a]=i.useState(false);return i__namespace.default.createElement("div",{className:"relative inline-block",onMouseEnter:()=>a(true),onMouseLeave:()=>a(false)},t,l&&i__namespace.default.createElement("div",{className:s("absolute z-10 px-2 py-1 text-sm text-white bg-gray-900 rounded shadow-sm","whitespace-nowrap",{top:"-top-2 left-1/2 -translate-x-1/2 -translate-y-full",right:"top-1/2 -right-2 translate-x-full -translate-y-1/2",bottom:"-bottom-2 left-1/2 -translate-x-1/2 translate-y-full",left:"top-1/2 -left-2 -translate-x-full -translate-y-1/2"}[e],r),role:"tooltip"},o,i__namespace.default.createElement("div",{className:s("absolute w-2 h-2 bg-gray-900 transform rotate-45",{"left-1/2 -translate-x-1/2 top-full":e==="bottom","left-1/2 -translate-x-1/2 bottom-full":e==="top","top-1/2 -translate-y-1/2 right-full":e==="left","top-1/2 -translate-y-1/2 left-full":e==="right"})})))};var ht=({src:o,alt:e="User Image",initials:t="",size:r="md",className:l})=>React.createElement("div",{className:s("relative flex items-center justify-center rounded-full bg-gray-200 text-gray-700",{sm:"h-8 w-8 text-sm",md:"h-12 w-12 text-base",lg:"h-16 w-16 text-lg"}[r],l)},o?React.createElement("img",{src:o,alt:e,className:"h-full w-full rounded-full object-cover"}):React.createElement("span",{className:"font-medium"},t));var Mt=classVarianceAuthority.cva("flex items-center text-sm",{variants:{size:{default:"text-sm",sm:"text-xs",lg:"text-base"}},defaultVariants:{size:"default"}}),we=i__namespace.forwardRef(({className:o,separator:e=i__namespace.createElement(lucideReact.ChevronRight,{className:"h-4 w-4 text-gray-400"}),items:t=[],maxItems:r=0,itemRender:l,size:a,...c},n)=>{let m=(p,g,v)=>l?l(p,{index:g,routes:v,separator:e}):p.href&&g!==v.length-1?i__namespace.createElement(oe,{key:g,...p},p.icon&&i__namespace.createElement("span",{className:"mr-1 flex items-center"},p.icon),i__namespace.createElement("a",{href:p.href,className:"text-gray-500 hover:text-gray-700 hover:underline",onClick:p.onClick},p.label)):i__namespace.createElement(oe,{key:g,...p},p.icon&&i__namespace.createElement("span",{className:"mr-1 flex items-center"},p.icon),i__namespace.createElement("span",{className:s(g===v.length-1?"text-gray-900 font-medium":"text-gray-500",p.onClick&&"cursor-pointer hover:text-gray-700"),onClick:p.onClick},p.label)),y=()=>{if(r>0&&t.length>r){let p=t.slice(0,Math.max(r-1,1)),g=t.slice(-1);return i__namespace.createElement(i__namespace.Fragment,null,p.map((v,I)=>i__namespace.createElement(i__namespace.Fragment,{key:I},m(v,I,t),I<p.length-1&&i__namespace.createElement(te,null,e))),i__namespace.createElement(te,null,e),i__namespace.createElement(oe,null,i__namespace.createElement(kt,{index:p.length,items:t})),i__namespace.createElement(te,null,e),g.map((v,I)=>i__namespace.createElement(i__namespace.Fragment,{key:p.length+I+1},m(v,t.length-1,t))))}return t.map((p,g)=>i__namespace.createElement(i__namespace.Fragment,{key:g},m(p,g,t),g<t.length-1&&i__namespace.createElement(te,null,e)))};return i__namespace.createElement("nav",{ref:n,className:s(Mt({size:a,className:o})),"aria-label":"Breadcrumb",...c},i__namespace.createElement("ol",{className:"flex items-center flex-wrap"},t.length>0?y():c.children))});we.displayName="Breadcrumb";var oe=i__namespace.forwardRef(({className:o,...e},t)=>i__namespace.createElement("li",{ref:t,className:s("inline-flex items-center",o),...e}));oe.displayName="BreadcrumbItem";var te=({children:o,className:e,...t})=>i__namespace.createElement("li",{className:s("mx-1 flex items-center text-gray-400",e),...t},o);te.displayName="BreadcrumbSeparator";var kt=({index:o,items:e,className:t})=>{let[r,l]=i__namespace.useState(false),a=i__namespace.useRef(null),c=e.slice(o,e.length-1);return i__namespace.useEffect(()=>{let n=m=>{a.current&&!a.current.contains(m.target)&&l(false);};return document.addEventListener("mousedown",n),()=>{document.removeEventListener("mousedown",n);}},[]),i__namespace.createElement("div",{className:"relative",ref:a},i__namespace.createElement("button",{type:"button",className:"flex items-center text-gray-500 hover:text-gray-700",onClick:()=>l(!r),"aria-haspopup":"true","aria-expanded":r},i__namespace.createElement(lucideReact.MoreHorizontal,{className:"h-4 w-4"})),r&&i__namespace.createElement("div",{className:"absolute z-10 mt-1 w-40 rounded-md bg-white shadow-lg ring-1 ring-black ring-opacity-5"},i__namespace.createElement("ul",{className:"py-1",role:"menu","aria-orientation":"vertical","aria-labelledby":"options-menu"},c.map((n,m)=>i__namespace.createElement("li",{key:m,role:"menuitem"},i__namespace.createElement("a",{href:n.href,className:"block px-4 py-2 text-sm text-gray-700 hover:bg-gray-100",onClick:y=>{var p;l(false),(p=n.onClick)==null||p.call(n,y);}},n.icon&&i__namespace.createElement("span",{className:"mr-2 inline-flex items-center"},n.icon),n.label))))))};var Lt=({tabs:o,defaultTab:e,className:t})=>{var a,c;let[r,l]=i.useState(e||((a=o[0])==null?void 0:a.id));return i__namespace.default.createElement("div",{className:t},i__namespace.default.createElement("div",{className:"border-b border-gray-200"},i__namespace.default.createElement("nav",{className:"-mb-px flex space-x-8","aria-label":"Tabs"},o.map(n=>i__namespace.default.createElement("button",{key:n.id,onClick:()=>l(n.id),className:s("whitespace-nowrap border-b-2 px-1 py-4 text-sm font-medium",{"border-blue-500 text-blue-600":r===n.id,"border-transparent text-gray-500 hover:border-gray-300 hover:text-gray-700":r!==n.id}),"aria-current":r===n.id?"page":void 0},n.label)))),i__namespace.default.createElement("div",{className:"mt-4"},(c=o.find(n=>n.id===r))==null?void 0:c.content))};var Pt=({headers:o,rows:e})=>i__namespace.default.createElement("table",{className:"min-w-full border-collapse border border-gray-200"},i__namespace.default.createElement("thead",null,i__namespace.default.createElement("tr",null,o.map((t,r)=>i__namespace.default.createElement("th",{key:r,className:"border border-gray-200 p-2 text-left"},t)))),i__namespace.default.createElement("tbody",null,e.map((t,r)=>i__namespace.default.createElement("tr",{key:r},t.map((l,a)=>i__namespace.default.createElement("td",{key:a,className:"border border-gray-200 p-2"},l))))));var It=i__namespace.default.forwardRef(({className:o,error:e,helperText:t,id:r,...l},a)=>{let c=r||`textarea-${Math.random().toString(36).substr(2,9)}`,n=`${c}-helper`;return i__namespace.default.createElement("div",{className:"relative"},i__namespace.default.createElement("textarea",{ref:a,id:c,"aria-describedby":t?n:void 0,className:s("block w-full rounded-md border border-gray-300 px-4 py-2 text-gray-900 placeholder-gray-400","focus:border-blue-500 focus:outline-none focus:ring-1 focus:ring-blue-500","disabled:cursor-not-allowed disabled:bg-gray-50 disabled:text-gray-500",{"border-red-500 focus:border-red-500 focus:ring-red-500":e},o),...l}),t&&i__namespace.default.createElement("p",{id:n,className:s("mt-1 text-sm",{"text-red-500":e,"text-gray-500":!e})},t))});var Ht=i__namespace.default.forwardRef(({className:o,label:e,options:t,error:r,helperText:l,name:a,id:c,...n},m)=>{let y=c||`radio-${e.toLowerCase().replace(/\s+/g,"-")}`,p=`${y}-helper`;return i__namespace.default.createElement("div",{className:"relative",role:"radiogroup","aria-labelledby":y},i__namespace.default.createElement("label",{id:y,className:"mb-2 block text-sm font-medium text-gray-700"},e),i__namespace.default.createElement("div",{className:"space-y-2"},t.map((g,v)=>i__namespace.default.createElement("div",{key:g.value,className:"flex items-center"},i__namespace.default.createElement("input",{ref:v===0?m:void 0,type:"radio",id:`${y}-${g.value}`,name:a,value:g.value,className:"sr-only","aria-describedby":l?p:void 0,...n}),i__namespace.default.createElement("div",{className:s("flex h-5 w-5 items-center justify-center rounded-full border","transition-colors duration-200",{"border-red-500":r,"border-gray-300":!r,"hover:border-blue-500":!n.disabled&&!r,"cursor-not-allowed opacity-50":n.disabled})},i__namespace.default.createElement("div",{className:s("h-2.5 w-2.5 rounded-full",{"bg-blue-500":n.value===g.value,"bg-transparent":n.value!==g.value})})),i__namespace.default.createElement("label",{htmlFor:`${y}-${g.value}`,className:s("ml-2 block text-sm text-gray-700",{"cursor-not-allowed opacity-50":n.disabled})},g.label)))),l&&i__namespace.default.createElement("p",{id:p,className:s("mt-1 text-sm",{"text-red-500":r,"text-gray-500":!r})},l))});exports.Accordion=rt;exports.Breadcrumb=we;exports.Button=H;exports.Calendar=De;exports.Card=at;exports.Checkbox=ot;exports.Footer=_e;exports.Hint=Ie;exports.Input=nt;exports.Navbar=Je;exports.ProgressBar=ee;exports.RadioGroup=Ht;exports.Select=ct;exports.Sidebar=ft;exports.Switch=gt;exports.Table=Pt;exports.Tabs=Lt;exports.Textarea=It;exports.Tooltip=vt;exports.Upload=he;exports.UserImage=ht;exports.cn=s;exports.message=$e;//# sourceMappingURL=index.js.map //# sourceMappingURL=index.js.map