@jacshuo/onyx 1.3.0 → 1.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -4
- package/dist/DataDisplay/CodeBlock.cjs +2 -2
- package/dist/DataDisplay/CodeBlock.js +2 -2
- package/dist/DataDisplay/List.cjs +1 -1
- package/dist/DataDisplay/List.js +1 -1
- package/dist/DataDisplay/Table.cjs +1 -1
- package/dist/DataDisplay/Table.js +1 -1
- package/dist/DataDisplay/Tree.cjs +1 -1
- package/dist/DataDisplay/Tree.js +1 -1
- package/dist/DataDisplay/index.cjs +2 -2
- package/dist/DataDisplay/index.js +2 -2
- package/dist/Feedback/Alert.cjs +1 -1
- package/dist/Feedback/Alert.js +1 -1
- package/dist/Feedback/ProgressBar.cjs +1 -1
- package/dist/Feedback/ProgressBar.js +1 -1
- package/dist/Feedback/Spin.cjs +1 -1
- package/dist/Feedback/Spin.js +1 -1
- package/dist/Feedback/index.cjs +2 -2
- package/dist/Feedback/index.js +2 -2
- package/dist/Navigation/Header.cjs +1 -1
- package/dist/Navigation/Header.js +1 -1
- package/dist/Navigation/SideNav.cjs +1 -1
- package/dist/Navigation/SideNav.js +1 -1
- package/dist/Navigation/index.cjs +2 -2
- package/dist/Navigation/index.js +2 -2
- package/dist/Primitives/TextBox.cjs +1 -1
- package/dist/Primitives/TextBox.js +1 -1
- package/dist/Primitives/index.cjs +1 -1
- package/dist/Primitives/index.js +1 -1
- package/dist/_tsup-dts-rollup.d.cts +89 -1
- package/dist/_tsup-dts-rollup.d.ts +89 -1
- package/dist/index.cjs +5 -5
- package/dist/index.js +5 -5
- package/dist/styles/Feedback/Spin.css +1 -1
- package/dist/styles/base.css +93 -3
- package/dist/styles.css +101 -7
- package/dist/theme.cjs +1 -1
- package/dist/theme.js +1 -1
- package/package.json +4 -8
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
'use strict';Object.defineProperty(exports,'__esModule',{value:true});var Re=require('react'),reactDom=require('react-dom'),lucideReact=require('lucide-react'),clsx=require('clsx'),tailwindMerge=require('tailwind-merge'),jsxRuntime=require('react/jsx-runtime'),classVarianceAuthority=require('class-variance-authority');function _interopDefault(e){return e&&e.__esModule?e:{default:e}}var Re__default=/*#__PURE__*/_interopDefault(Re);function o(...e){return tailwindMerge.twMerge(clsx.clsx(e))}var A="flex w-full items-center gap-2 rounded-md px-3 py-1.5 text-sm transition-colors cursor-pointer",ge="bg-primary-200 dark:bg-primary-700/50 text-primary-900 dark:text-primary-100 font-medium",B="text-primary-600 dark:text-primary-400 hover:bg-primary-100 dark:hover:bg-primary-800/50 hover:text-primary-900 dark:hover:text-primary-200",q="flex items-center justify-center rounded-md p-2 transition-colors cursor-pointer text-primary-600 dark:text-primary-400 hover:bg-primary-100 dark:hover:bg-primary-800/50 hover:text-primary-900 dark:hover:text-primary-200";function Te({to:e,className:n,style:a,children:s}){let m=typeof n=="function"?n({isActive:false}):n;return jsxRuntime.jsx("a",{href:e,className:m,style:a,children:s})}var te=["expanded","icons","mini"];function Pe(e){let n=te.indexOf(e);return te[(n+1)%te.length]}function fe(e){let n=new Set;for(let a of e)if(a.children&&a.children.length>0){n.add(a.key??a.label);for(let s of fe(a.children))n.add(s);}return n}function ye({item:e,basePath:n,depth:a,onItemClick:s,LinkComponent:m,showLines:b,expandedKeys:p,onToggle:g}){let h=e.key??e.label,f=e.children&&e.children.length>0,[u,C]=Re.useState(e.defaultOpen??true),x=p?p.has(h):u,l=Re.useCallback(()=>{p?g(h):C(i=>!i);},[p,g,h]),k=a>0?`${a*1.25}rem`:void 0;if(f)return jsxRuntime.jsxs("div",{children:[jsxRuntime.jsxs("button",{type:"button",onClick:l,className:o(A,B,"justify-between"),style:{paddingLeft:k},children:[jsxRuntime.jsxs("span",{className:"flex items-center gap-2",children:[e.icon,e.label]}),jsxRuntime.jsx(lucideReact.ChevronRight,{className:o("h-3.5 w-3.5 transition-transform",x&&"rotate-90")})]}),x&&jsxRuntime.jsx("div",{className:o("flex flex-col gap-0.5 pt-0.5",b?"ml-2.5 border-l border-primary-200 dark:border-primary-700":"ml-2"),children:e.children.map(i=>jsxRuntime.jsx(ye,{item:i,basePath:n,depth:a+1,onItemClick:s,LinkComponent:m,showLines:b,expandedKeys:p,onToggle:g},i.key??i.path??i.label))})]});if(e.path!=null){let i=n+e.path;return s?jsxRuntime.jsxs("button",{type:"button",onClick:()=>s(e,i),className:o(A,B),style:{paddingLeft:k},children:[e.icon,e.label]}):jsxRuntime.jsxs(m,{to:i,className:({isActive:R})=>o(A,R?ge:B),style:{paddingLeft:k},children:[e.icon,e.label]})}return jsxRuntime.jsxs("span",{className:o(A,B,"cursor-default"),style:{paddingLeft:k},children:[e.icon,e.label]})}function Ve({item:e,basePath:n,onItemClick:a,LinkComponent:s}){let[m,b]=Re.useState(false),p=Re.useRef(null),g=Re.useRef(void 0),[h,f]=Re.useState({top:0,left:0}),u=()=>{clearTimeout(g.current),b(true);},C=()=>{g.current=setTimeout(()=>b(false),200);};Re.useLayoutEffect(()=>{if(m&&p.current){let l=p.current.getBoundingClientRect();f({top:l.top,left:l.right+4});}},[m]);let x=e.icon||jsxRuntime.jsx("span",{className:"text-xs font-bold leading-none",children:e.label.charAt(0).toUpperCase()});return jsxRuntime.jsxs("div",{onMouseEnter:u,onMouseLeave:C,children:[jsxRuntime.jsx("button",{ref:p,type:"button",className:o(q,"w-full"),title:e.label,onClick:()=>b(l=>!l),children:x}),m&&reactDom.createPortal(jsxRuntime.jsxs("div",{className:"fixed z-50 min-w-44 rounded-md border border-primary-200 bg-white p-1 shadow-lg dark:border-primary-700 dark:bg-primary-900",style:{top:h.top,left:h.left},onMouseEnter:u,onMouseLeave:C,children:[jsxRuntime.jsx("div",{className:"px-2.5 py-1.5 text-xs font-semibold uppercase text-primary-500 dark:text-primary-400",children:e.label}),jsxRuntime.jsx("div",{className:"flex flex-col gap-0.5",children:e.children?.map(l=>{let k=l.key??l.path??l.label;if(l.path!=null){let i=n+l.path;return a?jsxRuntime.jsxs("button",{type:"button",onClick:()=>{a(l,i),b(false);},className:o(A,B),children:[l.icon,l.label]},k):jsxRuntime.jsxs(s,{to:i,className:({isActive:R})=>o(A,R?ge:B),children:[l.icon,l.label]},k)}return jsxRuntime.jsxs("span",{className:o(A,"cursor-default text-primary-400"),children:[l.icon,l.label]},k)})})]}),document.body)]})}function ze({item:e,basePath:n,onItemClick:a,LinkComponent:s}){let m=e.icon||jsxRuntime.jsx("span",{className:"text-xs font-bold leading-none",children:e.label.charAt(0).toUpperCase()});if(e.path!=null){let b=n+e.path;return a?jsxRuntime.jsx("button",{type:"button",onClick:()=>a(e,b),className:o(q,"w-full"),title:e.label,children:m}):jsxRuntime.jsx(s,{to:b,className:({isActive:p})=>o(q,"w-full",p&&"bg-primary-200 dark:bg-primary-700/50 text-primary-900 dark:text-primary-100"),children:jsxRuntime.jsx("span",{title:e.label,children:m})})}return jsxRuntime.jsx("span",{className:o(q,"w-full cursor-default"),title:e.label,children:m})}function ae({items:e,title:n,basePath:a="/",onItemClick:s,LinkComponent:m=Te,collapsible:b,collapseMode:p,defaultCollapseMode:g="expanded",onCollapseModeChange:h,showLines:f=true,expandedKeys:u,defaultExpandedKeys:C="all",onExpandedKeysChange:x,className:l,responsive:k=true,mobileBreakpoint:i=768,mobileTopOffset:R=48,...I}){let[t,v]=Re.useState(g),y=p??t,T=Re__default.default.useMemo(()=>fe(e),[e]),[U,L]=Re.useState(()=>C==="all"?new Set(T):new Set(C)),E=u??null,W=E??U,O=Re.useCallback(r=>{let c=new Set(W);c.has(r)?c.delete(r):c.add(r),L(c),x?.(c);},[W,x]),z=Re.useCallback(()=>{let r=Pe(y);v(r),h?.(r);},[y,h]),[M,$]=Re.useState(()=>k&&typeof window<"u"&&window.innerWidth<i),[K,H]=Re.useState(false);Re.useEffect(()=>{if(!k||typeof window>"u"||!window.matchMedia)return;let r=window.matchMedia(`(max-width: ${i-1}px)`),c=P=>{$(P.matches),P.matches||H(false);};return r.addEventListener("change",c),()=>r.removeEventListener("change",c)},[k,i]);let ee=Re.useCallback(r=>{r.target.closest("a")&&H(false);},[]),F=Re.useMemo(()=>!M||!s?s:(r,c)=>{H(false),s(r,c);},[M,s]),j=jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[b&&!M&&jsxRuntime.jsx("div",{className:o("flex shrink-0 mb-1",y==="expanded"?"justify-end":"justify-center"),children:jsxRuntime.jsx("button",{type:"button",onClick:z,className:q,"aria-label":y==="mini"?"Expand sidebar":"Collapse sidebar",title:y==="mini"?"Expand sidebar":"Collapse sidebar",children:y==="mini"?jsxRuntime.jsx(lucideReact.Menu,{className:"h-5 w-5"}):jsxRuntime.jsx(lucideReact.ChevronsLeft,{className:"h-4 w-4"})})}),(M||y==="expanded")&&jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[n&&jsxRuntime.jsx("h2",{className:"text-primary-500 dark:text-primary-400 mb-3 text-sm font-semibold uppercase",children:n}),e.map(r=>jsxRuntime.jsx(ye,{item:r,basePath:a,depth:0,onItemClick:F,LinkComponent:m,showLines:f,expandedKeys:E,onToggle:O},r.key??r.path??r.label))]}),!M&&y==="icons"&&e.map(r=>{let c=r.key??r.path??r.label;return r.children&&r.children.length>0?jsxRuntime.jsx(Ve,{item:r,basePath:a,onItemClick:F,LinkComponent:m},c):jsxRuntime.jsx(ze,{item:r,basePath:a,onItemClick:F,LinkComponent:m},c)})]});return k&&M?jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[K&&reactDom.createPortal(jsxRuntime.jsx("div",{className:"fixed inset-0 z-40 bg-black/50",style:{top:R},onClick:()=>H(false)}),document.body),reactDom.createPortal(jsxRuntime.jsx("aside",{className:o("fixed bottom-0 left-0 z-50 w-56 overflow-y-auto border-r border-primary-200 dark:border-primary-700 bg-white dark:bg-primary-900 shadow-xl transition-transform duration-200 p-3",K?"translate-x-0":"-translate-x-full"),style:{top:R},onClick:ee,children:jsxRuntime.jsx("nav",{className:"flex flex-col gap-0.5",children:j})}),document.body),reactDom.createPortal(jsxRuntime.jsx("button",{type:"button",className:"fixed bottom-5 left-4 z-50 flex h-10 w-10 items-center justify-center rounded-full bg-primary-800 text-white shadow-lg transition-colors hover:bg-primary-700 dark:bg-primary-100 dark:text-primary-900 dark:hover:bg-primary-200",onClick:()=>H(r=>!r),"aria-label":K?"Close navigation":"Open navigation",children:K?jsxRuntime.jsx(lucideReact.X,{className:"h-5 w-5"}):jsxRuntime.jsx(lucideReact.Menu,{className:"h-5 w-5"})}),document.body)]}):jsxRuntime.jsx("nav",{className:o("flex flex-col gap-0.5",y==="mini"&&"items-center",l),...I,children:j})}var ve=classVarianceAuthority.cva("inline-flex cursor-pointer items-center justify-center gap-1.5 rounded font-medium transition-colors disabled:pointer-events-none disabled:opacity-50 [&_svg]:shrink-0",{variants:{intent:{primary:"bg-primary-500 text-white hover:bg-primary-600 active:bg-primary-700",secondary:"bg-secondary-500 text-white hover:bg-secondary-600 active:bg-secondary-700",danger:"bg-danger-500 text-white hover:bg-danger-600 active:bg-danger-700",warning:"bg-warning-500 text-white hover:bg-warning-600 active:bg-warning-700",ghost:"bg-transparent text-primary-700 hover:bg-primary-100 active:bg-primary-200 dark:text-primary-300 dark:hover:bg-primary-800",outline:"border border-primary-300 bg-transparent text-primary-700 hover:bg-primary-50 dark:border-primary-600 dark:text-primary-300 dark:hover:bg-primary-800"},size:{sm:"h-7 px-3 text-xs [&_svg]:h-3.5 [&_svg]:w-3.5",md:"h-9 px-4 text-sm [&_svg]:h-4 [&_svg]:w-4",lg:"h-11 px-6 text-base [&_svg]:h-5 [&_svg]:w-5"}},defaultVariants:{intent:"primary",size:"md"}});classVarianceAuthority.cva("inline-flex items-center gap-1 rounded border font-semibold [&_svg]:shrink-0",{variants:{intent:{success:"border-success-200 bg-success-100 text-success-800 dark:border-success-800 dark:bg-success-900/30 dark:text-success-400",warning:"border-warning-200 bg-warning-100 text-warning-800 dark:border-warning-800 dark:bg-warning-900/30 dark:text-warning-400",error:"border-danger-200 bg-danger-100 text-danger-800 dark:border-danger-800 dark:bg-danger-900/30 dark:text-danger-400",info:"border-primary-200 bg-primary-100 text-primary-800 dark:border-primary-800 dark:bg-primary-900/30 dark:text-primary-400",primary:"border-secondary-200 bg-secondary-100 text-secondary-700 dark:border-secondary-700 dark:bg-secondary-800 dark:text-secondary-300"},size:{sm:"px-1.5 py-0 text-[0.625rem] [&_svg]:h-2.5 [&_svg]:w-2.5",md:"px-2.5 py-0.5 text-xs [&_svg]:h-3 [&_svg]:w-3",lg:"px-3 py-1 text-sm [&_svg]:h-3.5 [&_svg]:w-3.5"}},defaultVariants:{intent:"primary",size:"md"}});classVarianceAuthority.cva("absolute flex items-center justify-center rounded-full font-bold leading-none ring-2 ring-white select-none pointer-events-none z-10 dark:ring-primary-900",{variants:{intent:{danger:"bg-danger-500 text-white",success:"bg-success-500 text-white",warning:"bg-warning-500 text-white",info:"bg-primary-500 text-white",primary:"bg-secondary-500 text-white"},size:{sm:"text-[0.5rem]",md:"text-[0.625rem]",lg:"text-xs"},dot:{true:"",false:""},placement:{"top-right":"top-0 right-0 translate-x-1/2 -translate-y-1/2","top-left":"top-0 left-0 -translate-x-1/2 -translate-y-1/2","bottom-right":"bottom-0 right-0 translate-x-1/2 translate-y-1/2","bottom-left":"bottom-0 left-0 -translate-x-1/2 translate-y-1/2"}},compoundVariants:[{dot:true,size:"sm",class:"h-1.5 w-1.5 min-w-0 ring-1"},{dot:true,size:"md",class:"h-2 w-2 min-w-0"},{dot:true,size:"lg",class:"h-2.5 w-2.5 min-w-0"},{dot:false,size:"sm",class:"h-4 min-w-4 px-1"},{dot:false,size:"md",class:"h-5 min-w-5 px-1.5"},{dot:false,size:"lg",class:"h-6 min-w-6 px-2"}],defaultVariants:{intent:"danger",size:"md",dot:false,placement:"top-right"}});classVarianceAuthority.cva("w-full rounded-md border bg-white text-secondary-900 transition-colors placeholder:text-secondary-400 focus:outline-none focus:ring-2 dark:bg-secondary-900 dark:text-secondary-100 dark:placeholder:text-secondary-600",{variants:{state:{default:"border-secondary-300 focus:border-primary-500 focus:ring-primary-500/20 dark:border-secondary-600",error:"border-danger-400 focus:border-danger-500 focus:ring-danger-500/20"},size:{sm:"h-7 px-2 text-xs",md:"h-9 px-3 py-2 text-sm",lg:"h-11 px-4 py-2.5 text-base"}},defaultVariants:{state:"default",size:"md"}});classVarianceAuthority.cva("inline-flex items-center gap-1 font-medium [&_svg]:shrink-0",{variants:{size:{sm:"text-xs [&_svg]:h-3 [&_svg]:w-3",md:"text-sm [&_svg]:h-3.5 [&_svg]:w-3.5",lg:"text-base [&_svg]:h-4 [&_svg]:w-4"},intent:{default:"text-primary-700 dark:text-primary-300",muted:"text-primary-400 dark:text-primary-500",required:"text-primary-700 dark:text-primary-300 after:ml-0.5 after:text-danger-500 after:content-['*']"}},defaultVariants:{size:"md",intent:"default"}});classVarianceAuthority.cva("relative inline-flex shrink-0 items-center justify-center rounded border-2 transition-all duration-200 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2",{variants:{intent:{primary:"border-primary-300 dark:border-primary-600 focus-visible:ring-primary-500/40",secondary:"border-secondary-300 dark:border-secondary-600 focus-visible:ring-secondary-500/40",danger:"border-danger-300 dark:border-danger-600 focus-visible:ring-danger-500/40",warning:"border-warning-300 dark:border-warning-600 focus-visible:ring-warning-500/40",success:"border-success-300 dark:border-success-600 focus-visible:ring-success-500/40"},size:{sm:"h-4 w-4 rounded-[3px]",md:"h-5 w-5 rounded",lg:"h-6 w-6 rounded-[5px]"},checked:{on:"",off:"bg-white dark:bg-primary-900"}},compoundVariants:[{intent:"primary",checked:"on",class:"border-primary-500 bg-primary-500 dark:border-primary-500 dark:bg-primary-500"},{intent:"secondary",checked:"on",class:"border-secondary-500 bg-secondary-500 dark:border-secondary-500 dark:bg-secondary-500"},{intent:"danger",checked:"on",class:"border-danger-500 bg-danger-500 dark:border-danger-500 dark:bg-danger-500"},{intent:"warning",checked:"on",class:"border-warning-500 bg-warning-500 dark:border-warning-500 dark:bg-warning-500"},{intent:"success",checked:"on",class:"border-success-500 bg-success-500 dark:border-success-500 dark:bg-success-500"}],defaultVariants:{intent:"primary",size:"md",checked:"off"}});classVarianceAuthority.cva("relative inline-flex shrink-0 items-center justify-center rounded-full border-2 transition-all duration-200 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2",{variants:{intent:{primary:"border-primary-300 dark:border-primary-600 focus-visible:ring-primary-500/40",secondary:"border-secondary-300 dark:border-secondary-600 focus-visible:ring-secondary-500/40",danger:"border-danger-300 dark:border-danger-600 focus-visible:ring-danger-500/40",warning:"border-warning-300 dark:border-warning-600 focus-visible:ring-warning-500/40",success:"border-success-300 dark:border-success-600 focus-visible:ring-success-500/40"},size:{sm:"h-4 w-4",md:"h-5 w-5",lg:"h-6 w-6"},checked:{on:"",off:"bg-white dark:bg-primary-900"}},compoundVariants:[{intent:"primary",checked:"on",class:"border-primary-500 bg-primary-500 dark:border-primary-500 dark:bg-primary-500"},{intent:"secondary",checked:"on",class:"border-secondary-500 bg-secondary-500 dark:border-secondary-500 dark:bg-secondary-500"},{intent:"danger",checked:"on",class:"border-danger-500 bg-danger-500 dark:border-danger-500 dark:bg-danger-500"},{intent:"warning",checked:"on",class:"border-warning-500 bg-warning-500 dark:border-warning-500 dark:bg-warning-500"},{intent:"success",checked:"on",class:"border-success-500 bg-success-500 dark:border-success-500 dark:bg-success-500"}],defaultVariants:{intent:"primary",size:"md",checked:"off"}});classVarianceAuthority.cva("",{variants:{intent:{primary:"",secondary:"",danger:"",warning:"",success:""},size:{sm:"",md:"",lg:""},checked:{on:"",off:"bg-primary-300 dark:bg-primary-800"}},compoundVariants:[{intent:"primary",checked:"on",class:"bg-primary-500 dark:bg-primary-500"},{intent:"secondary",checked:"on",class:"bg-secondary-500 dark:bg-secondary-500"},{intent:"danger",checked:"on",class:"bg-danger-500 dark:bg-danger-500"},{intent:"warning",checked:"on",class:"bg-warning-500 dark:bg-warning-500"},{intent:"success",checked:"on",class:"bg-success-500 dark:bg-success-500"}],defaultVariants:{intent:"primary",size:"md",checked:"off"}});function Oe(e,n){return e.key??(typeof e.label=="string"?e.label:String(n))}var J=40,Ke=200,le=150,xe=120;function de(e,n,a,s){if(!s)return {};if(a){let b=(n-1-e)*J;return {animation:`dropdown-item-out ${le}ms ease-in both ${b}ms`}}let m=e*J;return {animation:`dropdown-item-in ${Ke}ms ease-out both ${m}ms`}}function je(e,n,a){if(!a)return {};if(n){let s=Math.max(e-1,0)*J+le;return {animation:`dropdown-container-out ${xe}ms ease-in both ${s}ms`}}return {animation:"var(--animate-dropdown-container-in)"}}function ce({label:e,items:n,intent:a,size:s,align:m="left",className:b,disabled:p,editable:g=false,onAddItem:h,multiple:f=false,selected:u=[],onSelectionChange:C,animated:x=true,chevron:l=true,...k}){let[i,R]=Re.useState(false),[I,t]=Re.useState(false),[v,y]=Re.useState(""),T=Re.useRef(null),U=Re.useRef(null),L=Re.useRef(void 0);Re.useEffect(()=>()=>{L.current&&clearTimeout(L.current);},[]);let E=Re.useCallback(()=>{if(!x||!i){R(false),y("");return}t(true);let c=(Math.max(n.length,1)-1)*J+le+xe+20;L.current=setTimeout(()=>{R(false),t(false),y("");},c);},[x,i,n.length]),W=Re.useCallback(()=>{p||(i?E():(L.current&&clearTimeout(L.current),t(false),R(true),y(""),g&&requestAnimationFrame(()=>U.current?.focus())));},[p,i,E,g]);Re.useEffect(()=>{if(!i)return;let r=c=>{T.current&&!T.current.contains(c.target)&&E();};return document.addEventListener("mousedown",r),()=>document.removeEventListener("mousedown",r)},[i,E]),Re.useEffect(()=>{if(!i)return;let r=c=>{c.key==="Escape"&&E();};return document.addEventListener("keydown",r),()=>document.removeEventListener("keydown",r)},[i,E]);let O=v.toLowerCase(),z=Re.useMemo(()=>v?n.filter(r=>(typeof r.label=="string"?r.label:r.key??"").toLowerCase().includes(O)):n,[n,O]),M=Re.useMemo(()=>!g||!v.trim()?false:!n.some(r=>(typeof r.label=="string"?r.label:r.key??"").toLowerCase()===O),[g,O,n]),$=Re.useCallback(()=>{let r=v.trim();r&&(h?.(r),y(""));},[v,h]),K=Re.useCallback(r=>{r.key==="Enter"&&M&&(r.preventDefault(),$());},[M,$]),H=Re.useCallback(r=>{let c=u.includes(r)?u.filter(P=>P!==r):[...u,r];C?.(c);},[u,C]),ee=f&&u.length>0?jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[e," ",jsxRuntime.jsx("span",{className:"ml-1 rounded-full bg-white/20 px-1.5 text-xs font-semibold",children:u.length})]}):e,F=z.length===0&&!M||M?1:0,j=z.length+F;return jsxRuntime.jsxs("div",{ref:T,className:"relative inline-block",children:[jsxRuntime.jsxs("button",{type:"button",onClick:W,disabled:p,className:o(ve({intent:a,size:s}),"inline-flex items-center gap-1",b),"aria-haspopup":f?"listbox":"true","aria-expanded":i?"true":"false",...k,children:[ee,l&&jsxRuntime.jsx(lucideReact.ChevronDown,{className:o("h-3.5 w-3.5 transition-transform",i&&"rotate-180")})]}),i&&jsxRuntime.jsxs("div",{className:o("absolute z-50 mt-1 min-w-44 rounded-md border py-1 shadow-lg","border-primary-200 dark:border-primary-700 dark:bg-primary-800 bg-white",m==="right"?"right-0":"left-0"),style:je(j,I,x),role:f?"listbox":"menu","aria-multiselectable":f||void 0,children:[g&&jsxRuntime.jsx("div",{className:"border-primary-200 dark:border-primary-700 border-b px-2 pb-1.5 pt-1",children:jsxRuntime.jsx("input",{ref:U,type:"text",value:v,onChange:r=>y(r.target.value),onKeyDown:K,placeholder:"Type to filter or add\u2026",className:"w-full bg-transparent text-sm text-secondary-900 placeholder:text-secondary-400 focus:outline-none dark:text-secondary-100 dark:placeholder:text-secondary-600"})}),jsxRuntime.jsxs("div",{className:"max-h-60 overflow-y-auto",children:[z.map((r,c)=>{let P=Oe(r,c),re=f&&u.includes(P);return jsxRuntime.jsxs(Re__default.default.Fragment,{children:[r.divider&&jsxRuntime.jsx("div",{className:"border-primary-200 dark:border-primary-700 my-1 border-t"}),jsxRuntime.jsxs("button",{type:"button",role:f?"option":"menuitem","aria-selected":f?re:void 0,disabled:r.disabled,className:o("flex w-full cursor-pointer items-center gap-2 px-3 py-1.5 text-left text-sm transition-colors","text-primary-700 hover:bg-primary-100 dark:text-primary-300 dark:hover:bg-primary-700/50",r.disabled&&"pointer-events-none opacity-50"),style:de(c,j,I,x),onClick:()=>{f?H(P):(r.onClick?.(),L.current&&clearTimeout(L.current),R(false),t(false),y(""));},children:[f&&jsxRuntime.jsx("span",{className:o("flex h-4 w-4 shrink-0 items-center justify-center rounded border transition-colors",re?"border-primary-600 bg-primary-600 text-white dark:border-primary-500 dark:bg-primary-500":"border-secondary-300 bg-white dark:border-secondary-600 dark:bg-secondary-800"),children:re&&jsxRuntime.jsx(lucideReact.Check,{className:"h-3 w-3"})}),jsxRuntime.jsx("span",{className:"flex-1 truncate",children:r.label})]})]},P)}),z.length===0&&!M&&jsxRuntime.jsx("div",{className:"text-primary-400 px-3 py-2 text-center text-sm",style:de(0,1,I,x),children:"No matches"}),M&&jsxRuntime.jsxs("button",{type:"button",className:o("flex w-full cursor-pointer items-center gap-2 px-3 py-1.5 text-left text-sm transition-colors","text-primary-600 hover:bg-primary-50 dark:text-primary-400 dark:hover:bg-primary-900/30"),style:de(z.length,j,I,x),onClick:$,children:[jsxRuntime.jsx("span",{className:"flex h-4 w-4 shrink-0 items-center justify-center text-lg leading-none",children:"+"}),jsxRuntime.jsxs("span",{className:"truncate",children:["Add \u201C",v.trim(),"\u201D"]})]})]})]})]})}function qe({href:e,className:n,onClick:a,children:s}){return jsxRuntime.jsx("a",{href:e,className:n,onClick:a,children:s})}function pe({brand:e,onBrandClick:n,navItems:a=[],actions:s=[],linkComponent:m=qe,height:b="h-12",mobileMenu:p=false,navMenuIcon:g,actionsMenuIcon:h,className:f,children:u}){let C=p&&a.length>0,x=p&&s.length>0,l="md:hidden rounded-md px-1.5 py-1.5 text-primary-500 dark:text-primary-400 hover:text-primary-700 dark:hover:text-primary-200 [&_svg]:h-5 [&_svg]:w-5",k=t=>t?"text-primary-900 font-medium dark:text-primary-100":"text-primary-500 hover:text-primary-700 dark:text-primary-400 dark:hover:text-primary-200 transition-colors",i="rounded-md p-1.5 text-primary-500 hover:bg-primary-100 hover:text-primary-700 dark:text-primary-400 dark:hover:bg-primary-800 dark:hover:text-primary-200 transition-colors [&_svg]:h-5 [&_svg]:w-5",R=a.map((t,v)=>({key:typeof t.label=="string"?t.label:String(v),label:t.active?jsxRuntime.jsx("span",{className:"font-semibold text-primary-900 dark:text-primary-100",children:t.label}):t.label,onClick:()=>{t.onClick?t.onClick({preventDefault:()=>{},stopPropagation:()=>{}}):t.href&&(window.location.href=t.href);}})),I=s.map((t,v)=>({key:t.key??String(v),label:jsxRuntime.jsxs("span",{className:"flex items-center gap-2 [&_svg]:h-4 [&_svg]:w-4 [&_svg]:shrink-0",children:[t.icon,jsxRuntime.jsx("span",{children:t["aria-label"]})]}),onClick:()=>{t.onClick?t.onClick({preventDefault:()=>{},stopPropagation:()=>{}}):t.href&&(t.external?window.open(t.href,"_blank","noopener,noreferrer"):window.location.href=t.href);}}));return jsxRuntime.jsxs("header",{className:o("flex shrink-0 items-center justify-between border-b px-5","border-primary-200 bg-white dark:border-primary-700 dark:bg-primary-900",b,f),children:[jsxRuntime.jsxs("div",{className:"flex items-center gap-2 md:gap-6",children:[e&&jsxRuntime.jsx("div",{className:o("text-lg font-bold text-primary-800 dark:text-primary-100",n&&"cursor-pointer"),onClick:n,role:n?"button":void 0,tabIndex:n?0:void 0,onKeyDown:n?t=>{(t.key==="Enter"||t.key===" ")&&(t.preventDefault(),n(t));}:void 0,children:e}),C&&jsxRuntime.jsx(ce,{intent:"ghost",size:"sm",className:l,label:g??jsxRuntime.jsx(lucideReact.PanelLeft,{className:"h-5 w-5"}),items:R,align:"left",chevron:false,"aria-label":"Open navigation"}),a.length>0&&jsxRuntime.jsx("nav",{className:o("flex items-center gap-4 text-sm",p?"hidden md:flex":"flex"),children:a.map((t,v)=>{let y=typeof t.label=="string"?t.label:v,T=k(t.active);return t.href?jsxRuntime.jsx(m,{href:t.href,className:T,onClick:t.onClick,children:t.label},y):jsxRuntime.jsx("button",{type:"button",className:o(T,"cursor-pointer"),onClick:t.onClick,children:t.label},y)})})]}),u&&jsxRuntime.jsx("div",{className:"flex items-center",children:u}),jsxRuntime.jsxs("div",{className:"flex items-center gap-1",children:[s.length>0&&jsxRuntime.jsx("div",{className:o("flex items-center gap-1",p?"hidden md:flex":"flex"),children:s.map((t,v)=>t.href?jsxRuntime.jsx("a",{href:t.href,target:t.external?"_blank":void 0,rel:t.external?"noopener noreferrer":void 0,className:i,"aria-label":t["aria-label"],onClick:t.onClick,children:t.icon},t.key??v):jsxRuntime.jsx("button",{type:"button",className:i,"aria-label":t["aria-label"],onClick:t.onClick,children:t.icon},t.key??v))}),x&&jsxRuntime.jsx(ce,{intent:"ghost",size:"sm",className:l,label:h??jsxRuntime.jsx(lucideReact.MoreHorizontal,{className:"h-5 w-5"}),items:I,align:"right",chevron:false,"aria-label":"Open menu"})]})]})}var ke=classVarianceAuthority.cva("inline-flex items-center gap-1 underline-offset-2 transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary-500/20 [&_svg]:shrink-0",{variants:{intent:{default:"text-primary-600 hover:text-primary-800 active:text-primary-900 dark:text-primary-400 dark:hover:text-primary-200 dark:active:text-primary-100",secondary:"text-secondary-500 hover:text-secondary-700 active:text-secondary-800 dark:text-secondary-400 dark:hover:text-secondary-200 dark:active:text-secondary-100",muted:"text-primary-400 hover:text-primary-600 dark:text-primary-500 dark:hover:text-primary-300"},size:{sm:"text-xs [&_svg]:h-3 [&_svg]:w-3",md:"text-sm [&_svg]:h-3.5 [&_svg]:w-3.5",lg:"text-base [&_svg]:h-4 [&_svg]:w-4"},underline:{always:"underline",hover:"hover:underline",none:"no-underline"}},defaultVariants:{intent:"default",size:"md",underline:"none"}});function Ue(e,n){return !!(n==="_blank"||e&&/^https?:\/\//.test(e))}var We=e=>jsxRuntime.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":true,...e,children:[jsxRuntime.jsx("path",{d:"M15 3h6v6"}),jsxRuntime.jsx("path",{d:"M10 14 21 3"}),jsxRuntime.jsx("path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"})]});function me({intent:e,size:n,underline:a,external:s,className:m,children:b,href:p,target:g,rel:h,...f}){let u=s??Ue(p,g);return jsxRuntime.jsxs("a",{href:p,target:u&&!g?"_blank":g,rel:u&&!h?"noopener noreferrer":h,className:o(ke({intent:e,size:n,underline:a}),m),...f,children:[b,u&&jsxRuntime.jsx(We,{})]})}var Qe={SideNav:ae,Header:pe,NavLink:me},Vr=Qe;
|
|
2
|
-
exports.Header=
|
|
1
|
+
'use strict';Object.defineProperty(exports,'__esModule',{value:true});var _e=require('react'),reactDom=require('react-dom'),lucideReact=require('lucide-react'),clsx=require('clsx'),tailwindMerge=require('tailwind-merge'),jsxRuntime=require('react/jsx-runtime'),classVarianceAuthority=require('class-variance-authority');function _interopDefault(e){return e&&e.__esModule?e:{default:e}}var _e__default=/*#__PURE__*/_interopDefault(_e);function s(...e){return tailwindMerge.twMerge(clsx.clsx(e))}var X="flex w-full items-center gap-2 rounded-md px-3 py-1.5 text-sm transition-colors cursor-pointer",ke="bg-primary-200 dark:bg-primary-700/50 text-primary-900 dark:text-primary-100 font-medium",F="text-primary-600 dark:text-primary-400 hover:bg-primary-100 dark:hover:bg-primary-800/50 hover:text-primary-900 dark:hover:text-primary-200",q="flex items-center justify-center rounded-md p-2 transition-colors cursor-pointer text-primary-600 dark:text-primary-400 hover:bg-primary-100 dark:hover:bg-primary-800/50 hover:text-primary-900 dark:hover:text-primary-200";function Ae({to:e,className:t,style:n,children:i}){let m=typeof t=="function"?t({isActive:false}):t;return jsxRuntime.jsx("a",{href:e,className:m,style:n,children:i})}var de=["expanded","icons","mini"];function Oe(e){let t=de.indexOf(e);return de[(t+1)%de.length]}function we(e){let t=new Set;for(let n of e)if(n.children&&n.children.length>0){t.add(n.key??n.label);for(let i of we(n.children))t.add(i);}return t}function Ne({item:e,basePath:t,depth:n,onItemClick:i,LinkComponent:m,showLines:g,expandedKeys:p,onToggle:f}){let v=e.key??e.label,y=e.children&&e.children.length>0,[b,S]=_e.useState(e.defaultOpen??true),k=p?p.has(v):b,c=_e.useCallback(()=>{p?f(v):S(d=>!d);},[p,f,v]),w=n>0?`${n*1.25}rem`:void 0;if(y)return jsxRuntime.jsxs("div",{children:[jsxRuntime.jsxs("button",{type:"button",onClick:c,className:s(X,F,"justify-between"),style:{paddingLeft:w},children:[jsxRuntime.jsxs("span",{className:"flex items-center gap-2",children:[e.icon,e.label]}),jsxRuntime.jsx(lucideReact.ChevronRight,{className:s("h-3.5 w-3.5 transition-transform",k&&"rotate-90")})]}),k&&jsxRuntime.jsx("div",{className:s("flex flex-col gap-0.5 pt-0.5",g?"ml-2.5 border-l border-primary-200 dark:border-primary-700":"ml-2"),children:e.children.map(d=>jsxRuntime.jsx(Ne,{item:d,basePath:t,depth:n+1,onItemClick:i,LinkComponent:m,showLines:g,expandedKeys:p,onToggle:f},d.key??d.path??d.label))})]});if(e.path!=null){let d=t+e.path;return i?jsxRuntime.jsxs("button",{type:"button",onClick:()=>i(e,d),className:s(X,F),style:{paddingLeft:w},children:[e.icon,e.label]}):jsxRuntime.jsxs(m,{to:d,className:({isActive:R})=>s(X,R?ke:F),style:{paddingLeft:w},children:[e.icon,e.label]})}return jsxRuntime.jsxs("span",{className:s(X,F,"cursor-default"),style:{paddingLeft:w},children:[e.icon,e.label]})}function Ke({item:e,basePath:t,onItemClick:n,LinkComponent:i}){let[m,g]=_e.useState(false),p=_e.useRef(null),f=_e.useRef(void 0),[v,y]=_e.useState({top:0,left:0}),b=()=>{clearTimeout(f.current),g(true);},S=()=>{f.current=setTimeout(()=>g(false),200);};_e.useLayoutEffect(()=>{if(m&&p.current){let c=p.current.getBoundingClientRect();y({top:c.top,left:c.right+4});}},[m]);let k=e.icon||jsxRuntime.jsx("span",{className:"text-xs font-bold leading-none",children:e.label.charAt(0).toUpperCase()});return jsxRuntime.jsxs("div",{onMouseEnter:b,onMouseLeave:S,children:[jsxRuntime.jsx("button",{ref:p,type:"button",className:s(q,"w-full"),title:e.label,onClick:()=>g(c=>!c),children:k}),m&&reactDom.createPortal(jsxRuntime.jsxs("div",{className:"fixed z-50 min-w-44 rounded-md border border-primary-200 bg-white p-1 shadow-lg dark:border-primary-700 dark:bg-primary-900",style:{top:v.top,left:v.left},onMouseEnter:b,onMouseLeave:S,children:[jsxRuntime.jsx("div",{className:"px-2.5 py-1.5 text-xs font-semibold uppercase text-primary-500 dark:text-primary-400",children:e.label}),jsxRuntime.jsx("div",{className:"flex flex-col gap-0.5",children:e.children?.map(c=>{let w=c.key??c.path??c.label;if(c.path!=null){let d=t+c.path;return n?jsxRuntime.jsxs("button",{type:"button",onClick:()=>{n(c,d),g(false);},className:s(X,F),children:[c.icon,c.label]},w):jsxRuntime.jsxs(i,{to:d,className:({isActive:R})=>s(X,R?ke:F),children:[c.icon,c.label]},w)}return jsxRuntime.jsxs("span",{className:s(X,"cursor-default text-primary-400"),children:[c.icon,c.label]},w)})})]}),document.body)]})}function je({item:e,basePath:t,onItemClick:n,LinkComponent:i}){let m=e.icon||jsxRuntime.jsx("span",{className:"text-xs font-bold leading-none",children:e.label.charAt(0).toUpperCase()});if(e.path!=null){let g=t+e.path;return n?jsxRuntime.jsx("button",{type:"button",onClick:()=>n(e,g),className:s(q,"w-full"),title:e.label,children:m}):jsxRuntime.jsx(i,{to:g,className:({isActive:p})=>s(q,"w-full",p&&"bg-primary-200 dark:bg-primary-700/50 text-primary-900 dark:text-primary-100"),children:jsxRuntime.jsx("span",{title:e.label,children:m})})}return jsxRuntime.jsx("span",{className:s(q,"w-full cursor-default"),title:e.label,children:m})}function ce({items:e,title:t,basePath:n="/",onItemClick:i,LinkComponent:m=Ae,collapsible:g,collapseMode:p,defaultCollapseMode:f="expanded",onCollapseModeChange:v,showLines:y=true,expandedKeys:b,defaultExpandedKeys:S="all",onExpandedKeysChange:k,className:c,responsive:w=true,mobileBreakpoint:d=768,mobileTopOffset:R=48,...D}){let[r,x]=_e.useState(f),h=p??r,A=_e__default.default.useMemo(()=>we(e),[e]),[J,_]=_e.useState(()=>S==="all"?new Set(A):new Set(S)),I=b??null,Z=I??J,Y=_e.useCallback(o=>{let u=new Set(Z);u.has(o)?u.delete(o):u.add(o),_(u),k?.(u);},[Z,k]),K=_e.useCallback(()=>{let o=Oe(h);x(o),v?.(o);},[h,v]),[L,G]=_e.useState(()=>w&&typeof window<"u"&&window.innerWidth<d),[U,P]=_e.useState(false);_e.useEffect(()=>{if(!w||typeof window>"u"||!window.matchMedia)return;let o=window.matchMedia(`(max-width: ${d-1}px)`),u=z=>{G(z.matches),z.matches||P(false);};return o.addEventListener("change",u),()=>o.removeEventListener("change",u)},[w,d]);let oe=_e.useCallback(o=>{o.target.closest("a")&&P(false);},[]),V=_e.useRef(null),E=_e.useRef({startX:0,startY:0,dragging:false}),M=_e.useCallback(o=>{let u=o.touches[0];E.current={startX:u.clientX,startY:u.clientY,dragging:true};},[]),j=_e.useCallback(o=>{if(!E.current.dragging||!V.current)return;let u=o.touches[0],z=u.clientX-E.current.startX,ie=u.clientY-E.current.startY;z>=0||Math.abs(ie)>Math.abs(z)||(V.current.style.transform=`translateX(${Math.max(z,-224)}px)`,V.current.style.transition="none");},[]),W=_e.useCallback(o=>{if(!E.current.dragging||!V.current)return;E.current.dragging=false;let u=o.changedTouches[0],z=u.clientX-E.current.startX,ie=u.clientY-E.current.startY;V.current.style.transition="",V.current.style.transform="",z<-60&&Math.abs(z)>Math.abs(ie)&&P(false);},[]),se=_e.useMemo(()=>!L||!i?i:(o,u)=>{P(false),i(o,u);},[L,i]),xe=jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[g&&!L&&jsxRuntime.jsx("div",{className:s("flex shrink-0 mb-1",h==="expanded"?"justify-end":"justify-center"),children:jsxRuntime.jsx("button",{type:"button",onClick:K,className:q,"aria-label":h==="mini"?"Expand sidebar":"Collapse sidebar",title:h==="mini"?"Expand sidebar":"Collapse sidebar",children:h==="mini"?jsxRuntime.jsx(lucideReact.Menu,{className:"h-5 w-5"}):jsxRuntime.jsx(lucideReact.ChevronsLeft,{className:"h-4 w-4"})})}),(L||h==="expanded")&&jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[t&&jsxRuntime.jsx("h2",{className:"text-primary-500 dark:text-primary-400 mb-3 text-sm font-semibold uppercase",children:t}),e.map(o=>jsxRuntime.jsx(Ne,{item:o,basePath:n,depth:0,onItemClick:se,LinkComponent:m,showLines:y,expandedKeys:I,onToggle:Y},o.key??o.path??o.label))]}),!L&&h==="icons"&&e.map(o=>{let u=o.key??o.path??o.label;return o.children&&o.children.length>0?jsxRuntime.jsx(Ke,{item:o,basePath:n,onItemClick:se,LinkComponent:m},u):jsxRuntime.jsx(je,{item:o,basePath:n,onItemClick:se,LinkComponent:m},u)})]});return w&&L?jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[U&&reactDom.createPortal(jsxRuntime.jsx("div",{className:"fixed inset-0 z-40 bg-black/50",style:{top:R},onClick:()=>P(false)}),document.body),reactDom.createPortal(jsxRuntime.jsxs("aside",{ref:V,className:s("fixed bottom-0 left-0 z-50 flex flex-col w-56 border-r border-primary-200 dark:border-primary-700 bg-white dark:bg-primary-900 shadow-xl transition-transform duration-200",U?"translate-x-0":"-translate-x-full"),style:{top:R},onClick:oe,onTouchStart:M,onTouchMove:j,onTouchEnd:W,children:[jsxRuntime.jsxs("div",{className:"flex shrink-0 items-center justify-between border-b border-primary-200 px-3 py-2 dark:border-primary-700",children:[jsxRuntime.jsx("span",{className:"text-xs font-semibold uppercase tracking-wide text-primary-500 dark:text-primary-400",children:"Navigation"}),jsxRuntime.jsx("button",{type:"button",onClick:o=>{o.stopPropagation(),P(false);},className:s(q,"h-7 w-7 p-1"),"aria-label":"Close navigation",children:jsxRuntime.jsx(lucideReact.X,{className:"h-4 w-4"})})]}),jsxRuntime.jsx("div",{className:"flex-1 overflow-y-auto overscroll-y-contain p-3",children:jsxRuntime.jsx("nav",{className:"flex flex-col gap-0.5",children:xe})})]}),document.body),!U&&reactDom.createPortal(jsxRuntime.jsx("button",{type:"button",className:"fixed left-0 z-50 flex h-14 w-5 items-center justify-center rounded-r-xl bg-primary-800/80 text-white shadow-md backdrop-blur-sm transition-colors hover:bg-primary-700/90 dark:bg-primary-200/80 dark:text-primary-900 dark:hover:bg-primary-300/90",style:{top:`calc(50% + ${R/2}px)`,transform:"translateY(-50%)"},onClick:()=>P(true),"aria-label":"Open navigation",children:jsxRuntime.jsx(lucideReact.ChevronRight,{className:"h-3.5 w-3.5"})}),document.body)]}):jsxRuntime.jsx("nav",{className:s("flex flex-col gap-0.5",h==="mini"&&"items-center",c),...D,children:xe})}var Ce=classVarianceAuthority.cva("inline-flex cursor-pointer items-center justify-center gap-1.5 rounded font-medium transition-colors disabled:pointer-events-none disabled:opacity-50 [&_svg]:shrink-0",{variants:{intent:{primary:"bg-primary-500 text-white hover:bg-primary-600 active:bg-primary-700",secondary:"bg-secondary-500 text-white hover:bg-secondary-600 active:bg-secondary-700",danger:"bg-danger-500 text-white hover:bg-danger-600 active:bg-danger-700",warning:"bg-warning-500 text-white hover:bg-warning-600 active:bg-warning-700",ghost:"bg-transparent text-primary-700 hover:bg-primary-100 active:bg-primary-200 dark:text-primary-300 dark:hover:bg-primary-800",outline:"border border-primary-300 bg-transparent text-primary-700 hover:bg-primary-50 dark:border-primary-600 dark:text-primary-300 dark:hover:bg-primary-800"},size:{sm:"h-7 px-3 text-xs [&_svg]:h-3.5 [&_svg]:w-3.5",md:"h-9 px-4 text-sm [&_svg]:h-4 [&_svg]:w-4",lg:"h-11 px-6 text-base [&_svg]:h-5 [&_svg]:w-5"}},defaultVariants:{intent:"primary",size:"md"}});classVarianceAuthority.cva("inline-flex items-center gap-1 rounded border font-semibold [&_svg]:shrink-0",{variants:{intent:{success:"border-success-200 bg-success-100 text-success-800 dark:border-success-800 dark:bg-success-900/30 dark:text-success-400",warning:"border-warning-200 bg-warning-100 text-warning-800 dark:border-warning-800 dark:bg-warning-900/30 dark:text-warning-400",error:"border-danger-200 bg-danger-100 text-danger-800 dark:border-danger-800 dark:bg-danger-900/30 dark:text-danger-400",info:"border-primary-200 bg-primary-100 text-primary-800 dark:border-primary-800 dark:bg-primary-900/30 dark:text-primary-400",primary:"border-secondary-200 bg-secondary-100 text-secondary-700 dark:border-secondary-700 dark:bg-secondary-800 dark:text-secondary-300"},size:{sm:"px-1.5 py-0 text-[0.625rem] [&_svg]:h-2.5 [&_svg]:w-2.5",md:"px-2.5 py-0.5 text-xs [&_svg]:h-3 [&_svg]:w-3",lg:"px-3 py-1 text-sm [&_svg]:h-3.5 [&_svg]:w-3.5"}},defaultVariants:{intent:"primary",size:"md"}});classVarianceAuthority.cva("absolute flex items-center justify-center rounded-full font-bold leading-none ring-2 ring-white select-none pointer-events-none z-10 dark:ring-primary-900",{variants:{intent:{danger:"bg-danger-500 text-white",success:"bg-success-500 text-white",warning:"bg-warning-500 text-white",info:"bg-primary-500 text-white",primary:"bg-secondary-500 text-white"},size:{sm:"text-[0.5rem]",md:"text-[0.625rem]",lg:"text-xs"},dot:{true:"",false:""},placement:{"top-right":"top-0 right-0 translate-x-1/2 -translate-y-1/2","top-left":"top-0 left-0 -translate-x-1/2 -translate-y-1/2","bottom-right":"bottom-0 right-0 translate-x-1/2 translate-y-1/2","bottom-left":"bottom-0 left-0 -translate-x-1/2 translate-y-1/2"}},compoundVariants:[{dot:true,size:"sm",class:"h-1.5 w-1.5 min-w-0 ring-1"},{dot:true,size:"md",class:"h-2 w-2 min-w-0"},{dot:true,size:"lg",class:"h-2.5 w-2.5 min-w-0"},{dot:false,size:"sm",class:"h-4 min-w-4 px-1"},{dot:false,size:"md",class:"h-5 min-w-5 px-1.5"},{dot:false,size:"lg",class:"h-6 min-w-6 px-2"}],defaultVariants:{intent:"danger",size:"md",dot:false,placement:"top-right"}});classVarianceAuthority.cva("w-full rounded-md border bg-white text-secondary-900 transition-colors placeholder:text-secondary-400 focus:outline-none focus:ring-2 dark:bg-secondary-900 dark:text-secondary-100 dark:placeholder:text-secondary-600",{variants:{state:{default:"border-secondary-300 focus:border-primary-500 focus:ring-primary-500/20 dark:border-secondary-600",error:"border-danger-400 focus:border-danger-500 focus:ring-danger-500/20"},size:{sm:"h-7 px-2 text-xs",md:"h-9 px-3 py-2 text-sm",lg:"h-11 px-4 py-2.5 text-base"}},defaultVariants:{state:"default",size:"md"}});classVarianceAuthority.cva("inline-flex items-center gap-1 font-medium [&_svg]:shrink-0",{variants:{size:{sm:"text-xs [&_svg]:h-3 [&_svg]:w-3",md:"text-sm [&_svg]:h-3.5 [&_svg]:w-3.5",lg:"text-base [&_svg]:h-4 [&_svg]:w-4"},intent:{default:"text-primary-700 dark:text-primary-300",muted:"text-primary-400 dark:text-primary-500",required:"text-primary-700 dark:text-primary-300 after:ml-0.5 after:text-danger-500 after:content-['*']"}},defaultVariants:{size:"md",intent:"default"}});classVarianceAuthority.cva("relative inline-flex shrink-0 items-center justify-center rounded border-2 transition-all duration-200 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2",{variants:{intent:{primary:"border-primary-300 dark:border-primary-600 focus-visible:ring-primary-500/40",secondary:"border-secondary-300 dark:border-secondary-600 focus-visible:ring-secondary-500/40",danger:"border-danger-300 dark:border-danger-600 focus-visible:ring-danger-500/40",warning:"border-warning-300 dark:border-warning-600 focus-visible:ring-warning-500/40",success:"border-success-300 dark:border-success-600 focus-visible:ring-success-500/40"},size:{sm:"h-4 w-4 rounded-[3px]",md:"h-5 w-5 rounded",lg:"h-6 w-6 rounded-[5px]"},checked:{on:"",off:"bg-white dark:bg-primary-900"}},compoundVariants:[{intent:"primary",checked:"on",class:"border-primary-500 bg-primary-500 dark:border-primary-500 dark:bg-primary-500"},{intent:"secondary",checked:"on",class:"border-secondary-500 bg-secondary-500 dark:border-secondary-500 dark:bg-secondary-500"},{intent:"danger",checked:"on",class:"border-danger-500 bg-danger-500 dark:border-danger-500 dark:bg-danger-500"},{intent:"warning",checked:"on",class:"border-warning-500 bg-warning-500 dark:border-warning-500 dark:bg-warning-500"},{intent:"success",checked:"on",class:"border-success-500 bg-success-500 dark:border-success-500 dark:bg-success-500"}],defaultVariants:{intent:"primary",size:"md",checked:"off"}});classVarianceAuthority.cva("relative inline-flex shrink-0 items-center justify-center rounded-full border-2 transition-all duration-200 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2",{variants:{intent:{primary:"border-primary-300 dark:border-primary-600 focus-visible:ring-primary-500/40",secondary:"border-secondary-300 dark:border-secondary-600 focus-visible:ring-secondary-500/40",danger:"border-danger-300 dark:border-danger-600 focus-visible:ring-danger-500/40",warning:"border-warning-300 dark:border-warning-600 focus-visible:ring-warning-500/40",success:"border-success-300 dark:border-success-600 focus-visible:ring-success-500/40"},size:{sm:"h-4 w-4",md:"h-5 w-5",lg:"h-6 w-6"},checked:{on:"",off:"bg-white dark:bg-primary-900"}},compoundVariants:[{intent:"primary",checked:"on",class:"border-primary-500 bg-primary-500 dark:border-primary-500 dark:bg-primary-500"},{intent:"secondary",checked:"on",class:"border-secondary-500 bg-secondary-500 dark:border-secondary-500 dark:bg-secondary-500"},{intent:"danger",checked:"on",class:"border-danger-500 bg-danger-500 dark:border-danger-500 dark:bg-danger-500"},{intent:"warning",checked:"on",class:"border-warning-500 bg-warning-500 dark:border-warning-500 dark:bg-warning-500"},{intent:"success",checked:"on",class:"border-success-500 bg-success-500 dark:border-success-500 dark:bg-success-500"}],defaultVariants:{intent:"primary",size:"md",checked:"off"}});classVarianceAuthority.cva("",{variants:{intent:{primary:"",secondary:"",danger:"",warning:"",success:""},size:{sm:"",md:"",lg:""},checked:{on:"",off:"bg-primary-300 dark:bg-primary-800"}},compoundVariants:[{intent:"primary",checked:"on",class:"bg-primary-500 dark:bg-primary-500"},{intent:"secondary",checked:"on",class:"bg-secondary-500 dark:bg-secondary-500"},{intent:"danger",checked:"on",class:"bg-danger-500 dark:bg-danger-500"},{intent:"warning",checked:"on",class:"bg-warning-500 dark:bg-warning-500"},{intent:"success",checked:"on",class:"bg-success-500 dark:bg-success-500"}],defaultVariants:{intent:"primary",size:"md",checked:"off"}});function Ye(e,t){return e.key??(typeof e.label=="string"?e.label:String(t))}var te=40,Fe=200,ge=150,Me=120;function be(e,t,n,i){if(!i)return {};if(n){let g=(t-1-e)*te;return {animation:`dropdown-item-out ${ge}ms ease-in both ${g}ms`}}let m=e*te;return {animation:`dropdown-item-in ${Fe}ms ease-out both ${m}ms`}}function qe(e,t,n){if(!n)return {};if(t){let i=Math.max(e-1,0)*te+ge;return {animation:`dropdown-container-out ${Me}ms ease-in both ${i}ms`}}return {animation:"var(--animate-dropdown-container-in)"}}function fe({label:e,items:t,intent:n,size:i,align:m="left",className:g,disabled:p,editable:f=false,onAddItem:v,multiple:y=false,selected:b=[],onSelectionChange:S,animated:k=true,chevron:c=true,...w}){let[d,R]=_e.useState(false),[D,r]=_e.useState(false),[x,h]=_e.useState(""),A=_e.useRef(null),J=_e.useRef(null),_=_e.useRef(void 0);_e.useEffect(()=>()=>{_.current&&clearTimeout(_.current);},[]);let I=_e.useCallback(()=>{if(!k||!d){R(false),h("");return}r(true);let M=(Math.max(t.length,1)-1)*te+ge+Me+20;_.current=setTimeout(()=>{R(false),r(false),h("");},M);},[k,d,t.length]),Z=_e.useCallback(()=>{p||(d?I():(_.current&&clearTimeout(_.current),r(false),R(true),h(""),f&&requestAnimationFrame(()=>J.current?.focus())));},[p,d,I,f]);_e.useEffect(()=>{if(!d)return;let a=M=>{A.current&&!A.current.contains(M.target)&&I();};return document.addEventListener("mousedown",a),()=>document.removeEventListener("mousedown",a)},[d,I]),_e.useEffect(()=>{if(!d)return;let a=M=>{M.key==="Escape"&&I();};return document.addEventListener("keydown",a),()=>document.removeEventListener("keydown",a)},[d,I]);let Y=x.toLowerCase(),K=_e.useMemo(()=>x?t.filter(a=>(typeof a.label=="string"?a.label:a.key??"").toLowerCase().includes(Y)):t,[t,Y]),L=_e.useMemo(()=>!f||!x.trim()?false:!t.some(a=>(typeof a.label=="string"?a.label:a.key??"").toLowerCase()===Y),[f,Y,t]),G=_e.useCallback(()=>{let a=x.trim();a&&(v?.(a),h(""));},[x,v]),U=_e.useCallback(a=>{a.key==="Enter"&&L&&(a.preventDefault(),G());},[L,G]),P=_e.useCallback(a=>{let M=b.includes(a)?b.filter(j=>j!==a):[...b,a];S?.(M);},[b,S]),oe=y&&b.length>0?jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[e," ",jsxRuntime.jsx("span",{className:"ml-1 rounded-full bg-white/20 px-1.5 text-xs font-semibold",children:b.length})]}):e,V=K.length===0&&!L||L?1:0,E=K.length+V;return jsxRuntime.jsxs("div",{ref:A,className:"relative inline-block",children:[jsxRuntime.jsxs("button",{type:"button",onClick:Z,disabled:p,className:s(Ce({intent:n,size:i}),"inline-flex items-center gap-1",g),"aria-haspopup":y?"listbox":"true","aria-expanded":d?"true":"false",...w,children:[oe,c&&jsxRuntime.jsx(lucideReact.ChevronDown,{className:s("h-3.5 w-3.5 transition-transform",d&&"rotate-180")})]}),d&&jsxRuntime.jsxs("div",{className:s("absolute z-50 mt-1 min-w-44 rounded-md border py-1 shadow-lg","border-primary-200 dark:border-primary-700 dark:bg-primary-800 bg-white",m==="right"?"right-0":"left-0"),style:qe(E,D,k),role:y?"listbox":"menu","aria-multiselectable":y||void 0,children:[f&&jsxRuntime.jsx("div",{className:"border-primary-200 dark:border-primary-700 border-b px-2 pb-1.5 pt-1",children:jsxRuntime.jsx("input",{ref:J,type:"text",value:x,onChange:a=>h(a.target.value),onKeyDown:U,placeholder:"Type to filter or add\u2026",className:"w-full bg-transparent text-sm text-secondary-900 placeholder:text-secondary-400 focus:outline-none dark:text-secondary-100 dark:placeholder:text-secondary-600"})}),jsxRuntime.jsxs("div",{className:"max-h-60 overflow-y-auto",children:[K.map((a,M)=>{let j=Ye(a,M),W=y&&b.includes(j);return jsxRuntime.jsxs(_e__default.default.Fragment,{children:[a.divider&&jsxRuntime.jsx("div",{className:"border-primary-200 dark:border-primary-700 my-1 border-t"}),jsxRuntime.jsxs("button",{type:"button",role:y?"option":"menuitem","aria-selected":y?W:void 0,disabled:a.disabled,className:s("flex w-full cursor-pointer items-center gap-2 px-3 py-1.5 text-left text-sm transition-colors","text-primary-700 hover:bg-primary-100 dark:text-primary-300 dark:hover:bg-primary-700/50",a.disabled&&"pointer-events-none opacity-50"),style:be(M,E,D,k),onClick:()=>{y?P(j):(a.onClick?.(),_.current&&clearTimeout(_.current),R(false),r(false),h(""));},children:[y&&jsxRuntime.jsx("span",{className:s("flex h-4 w-4 shrink-0 items-center justify-center rounded border transition-colors",W?"border-primary-600 bg-primary-600 text-white dark:border-primary-500 dark:bg-primary-500":"border-secondary-300 bg-white dark:border-secondary-600 dark:bg-secondary-800"),children:W&&jsxRuntime.jsx(lucideReact.Check,{className:"h-3 w-3"})}),jsxRuntime.jsx("span",{className:"flex-1 truncate",children:a.label})]})]},j)}),K.length===0&&!L&&jsxRuntime.jsx("div",{className:"text-primary-400 px-3 py-2 text-center text-sm",style:be(0,1,D,k),children:"No matches"}),L&&jsxRuntime.jsxs("button",{type:"button",className:s("flex w-full cursor-pointer items-center gap-2 px-3 py-1.5 text-left text-sm transition-colors","text-primary-600 hover:bg-primary-50 dark:text-primary-400 dark:hover:bg-primary-900/30"),style:be(K.length,E,D,k),onClick:G,children:[jsxRuntime.jsx("span",{className:"flex h-4 w-4 shrink-0 items-center justify-center text-lg leading-none",children:"+"}),jsxRuntime.jsxs("span",{className:"truncate",children:["Add \u201C",x.trim(),"\u201D"]})]})]})]})]})}function Qe({href:e,className:t,onClick:n,children:i}){return jsxRuntime.jsx("a",{href:e,className:t,onClick:n,children:i})}function ye({brand:e,onBrandClick:t,navItems:n=[],actions:i=[],linkComponent:m=Qe,height:g="h-12",mobileMenu:p=false,navMenuIcon:f,actionsMenuIcon:v,className:y,children:b}){let S=p&&n.length>0,k=p&&i.length>0,c="md:hidden rounded-md px-1.5 py-1.5 text-primary-500 dark:text-primary-400 hover:text-primary-700 dark:hover:text-primary-200 [&_svg]:h-5 [&_svg]:w-5",w=r=>r?"text-primary-900 font-medium dark:text-primary-100":"text-primary-500 hover:text-primary-700 dark:text-primary-400 dark:hover:text-primary-200 transition-colors",d="rounded-md p-1.5 text-primary-500 hover:bg-primary-100 hover:text-primary-700 dark:text-primary-400 dark:hover:bg-primary-800 dark:hover:text-primary-200 transition-colors [&_svg]:h-5 [&_svg]:w-5",R=n.map((r,x)=>({key:typeof r.label=="string"?r.label:String(x),label:r.active?jsxRuntime.jsx("span",{className:"font-semibold text-primary-900 dark:text-primary-100",children:r.label}):r.label,onClick:()=>{r.onClick?r.onClick({preventDefault:()=>{},stopPropagation:()=>{}}):r.href&&(window.location.href=r.href);}})),D=i.map((r,x)=>({key:r.key??String(x),label:jsxRuntime.jsxs("span",{className:"flex items-center gap-2 [&_svg]:h-4 [&_svg]:w-4 [&_svg]:shrink-0",children:[r.icon,jsxRuntime.jsx("span",{children:r.ariaLabel})]}),onClick:()=>{r.onClick?r.onClick({preventDefault:()=>{},stopPropagation:()=>{}}):r.href&&(r.external?window.open(r.href,"_blank","noopener,noreferrer"):window.location.href=r.href);}}));return jsxRuntime.jsxs("header",{className:s("flex shrink-0 items-center justify-between border-b px-5","border-primary-200 bg-white dark:border-primary-700 dark:bg-primary-900",g,y),children:[jsxRuntime.jsxs("div",{className:"flex items-center gap-2 md:gap-6",children:[e&&jsxRuntime.jsx("div",{className:s("text-lg font-bold text-primary-800 dark:text-primary-100",t&&"cursor-pointer"),onClick:t,role:t?"button":void 0,tabIndex:t?0:void 0,onKeyDown:t?r=>{(r.key==="Enter"||r.key===" ")&&(r.preventDefault(),t(r));}:void 0,children:e}),S&&jsxRuntime.jsx(fe,{intent:"ghost",size:"sm",className:c,label:f??jsxRuntime.jsx(lucideReact.PanelLeft,{className:"h-5 w-5"}),items:R,align:"left",chevron:false,"aria-label":"Open navigation"}),n.length>0&&jsxRuntime.jsx("nav",{className:s("flex items-center gap-4 text-sm",p?"hidden md:flex":"flex"),children:n.map((r,x)=>{let h=typeof r.label=="string"?r.label:x,A=w(r.active);return r.href?jsxRuntime.jsx(m,{href:r.href,className:A,onClick:r.onClick,children:r.label},h):jsxRuntime.jsx("button",{type:"button",className:s(A,"cursor-pointer"),onClick:r.onClick,children:r.label},h)})})]}),b&&jsxRuntime.jsx("div",{className:"flex items-center",children:b}),jsxRuntime.jsxs("div",{className:"flex items-center gap-1",children:[i.length>0&&jsxRuntime.jsx("div",{className:s("flex items-center gap-1",p?"hidden md:flex":"flex"),children:i.map((r,x)=>r.href?jsxRuntime.jsx("a",{href:r.href,target:r.external?"_blank":void 0,rel:r.external?"noopener noreferrer":void 0,className:d,"aria-label":r.ariaLabel,onClick:r.onClick,children:r.icon},r.key??x):jsxRuntime.jsx("button",{type:"button",className:d,"aria-label":r.ariaLabel,onClick:r.onClick,children:r.icon},r.key??x))}),k&&jsxRuntime.jsx(fe,{intent:"ghost",size:"sm",className:c,label:v??jsxRuntime.jsx(lucideReact.MoreHorizontal,{className:"h-5 w-5"}),items:D,align:"right",chevron:false,"aria-label":"Open menu"})]})]})}var Se=classVarianceAuthority.cva("inline-flex items-center gap-1 underline-offset-2 transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary-500/20 [&_svg]:shrink-0",{variants:{intent:{default:"text-primary-600 hover:text-primary-800 active:text-primary-900 dark:text-primary-400 dark:hover:text-primary-200 dark:active:text-primary-100",secondary:"text-secondary-500 hover:text-secondary-700 active:text-secondary-800 dark:text-secondary-400 dark:hover:text-secondary-200 dark:active:text-secondary-100",muted:"text-primary-400 hover:text-primary-600 dark:text-primary-500 dark:hover:text-primary-300"},size:{sm:"text-xs [&_svg]:h-3 [&_svg]:w-3",md:"text-sm [&_svg]:h-3.5 [&_svg]:w-3.5",lg:"text-base [&_svg]:h-4 [&_svg]:w-4"},underline:{always:"underline",hover:"hover:underline",none:"no-underline"}},defaultVariants:{intent:"default",size:"md",underline:"none"}});function Ze(e,t){return !!(t==="_blank"||e&&/^https?:\/\//.test(e))}var er=e=>jsxRuntime.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":true,...e,children:[jsxRuntime.jsx("path",{d:"M15 3h6v6"}),jsxRuntime.jsx("path",{d:"M10 14 21 3"}),jsxRuntime.jsx("path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"})]});function he({intent:e,size:t,underline:n,external:i,className:m,children:g,href:p,target:f,rel:v,...y}){let b=i??Ze(p,f);return jsxRuntime.jsxs("a",{href:p,target:b&&!f?"_blank":f,rel:b&&!v?"noopener noreferrer":v,className:s(Se({intent:e,size:t,underline:n}),m),...y,children:[g,b&&jsxRuntime.jsx(er,{})]})}var rr={SideNav:ce,Header:ye,NavLink:he},Kr=rr;
|
|
2
|
+
exports.Header=ye;exports.NavLink=he;exports.Navigation=rr;exports.SideNav=ce;exports.default=Kr;
|
package/dist/Navigation/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import Re,{useState,useCallback,useEffect,useMemo,useRef,useLayoutEffect}from'react';import {createPortal}from'react-dom';import {Menu,ChevronsLeft,X,PanelLeft,MoreHorizontal,ChevronRight,ChevronDown,Check}from'lucide-react';import {clsx}from'clsx';import {twMerge}from'tailwind-merge';import {jsxs,Fragment,jsx}from'react/jsx-runtime';import {cva}from'class-variance-authority';function o(...e){return twMerge(clsx(e))}var A="flex w-full items-center gap-2 rounded-md px-3 py-1.5 text-sm transition-colors cursor-pointer",ge="bg-primary-200 dark:bg-primary-700/50 text-primary-900 dark:text-primary-100 font-medium",B="text-primary-600 dark:text-primary-400 hover:bg-primary-100 dark:hover:bg-primary-800/50 hover:text-primary-900 dark:hover:text-primary-200",q="flex items-center justify-center rounded-md p-2 transition-colors cursor-pointer text-primary-600 dark:text-primary-400 hover:bg-primary-100 dark:hover:bg-primary-800/50 hover:text-primary-900 dark:hover:text-primary-200";function Te({to:e,className:n,style:a,children:s}){let m=typeof n=="function"?n({isActive:false}):n;return jsx("a",{href:e,className:m,style:a,children:s})}var te=["expanded","icons","mini"];function Pe(e){let n=te.indexOf(e);return te[(n+1)%te.length]}function fe(e){let n=new Set;for(let a of e)if(a.children&&a.children.length>0){n.add(a.key??a.label);for(let s of fe(a.children))n.add(s);}return n}function ye({item:e,basePath:n,depth:a,onItemClick:s,LinkComponent:m,showLines:b,expandedKeys:p,onToggle:g}){let h=e.key??e.label,f=e.children&&e.children.length>0,[u,C]=useState(e.defaultOpen??true),x=p?p.has(h):u,l=useCallback(()=>{p?g(h):C(i=>!i);},[p,g,h]),k=a>0?`${a*1.25}rem`:void 0;if(f)return jsxs("div",{children:[jsxs("button",{type:"button",onClick:l,className:o(A,B,"justify-between"),style:{paddingLeft:k},children:[jsxs("span",{className:"flex items-center gap-2",children:[e.icon,e.label]}),jsx(ChevronRight,{className:o("h-3.5 w-3.5 transition-transform",x&&"rotate-90")})]}),x&&jsx("div",{className:o("flex flex-col gap-0.5 pt-0.5",b?"ml-2.5 border-l border-primary-200 dark:border-primary-700":"ml-2"),children:e.children.map(i=>jsx(ye,{item:i,basePath:n,depth:a+1,onItemClick:s,LinkComponent:m,showLines:b,expandedKeys:p,onToggle:g},i.key??i.path??i.label))})]});if(e.path!=null){let i=n+e.path;return s?jsxs("button",{type:"button",onClick:()=>s(e,i),className:o(A,B),style:{paddingLeft:k},children:[e.icon,e.label]}):jsxs(m,{to:i,className:({isActive:R})=>o(A,R?ge:B),style:{paddingLeft:k},children:[e.icon,e.label]})}return jsxs("span",{className:o(A,B,"cursor-default"),style:{paddingLeft:k},children:[e.icon,e.label]})}function Ve({item:e,basePath:n,onItemClick:a,LinkComponent:s}){let[m,b]=useState(false),p=useRef(null),g=useRef(void 0),[h,f]=useState({top:0,left:0}),u=()=>{clearTimeout(g.current),b(true);},C=()=>{g.current=setTimeout(()=>b(false),200);};useLayoutEffect(()=>{if(m&&p.current){let l=p.current.getBoundingClientRect();f({top:l.top,left:l.right+4});}},[m]);let x=e.icon||jsx("span",{className:"text-xs font-bold leading-none",children:e.label.charAt(0).toUpperCase()});return jsxs("div",{onMouseEnter:u,onMouseLeave:C,children:[jsx("button",{ref:p,type:"button",className:o(q,"w-full"),title:e.label,onClick:()=>b(l=>!l),children:x}),m&&createPortal(jsxs("div",{className:"fixed z-50 min-w-44 rounded-md border border-primary-200 bg-white p-1 shadow-lg dark:border-primary-700 dark:bg-primary-900",style:{top:h.top,left:h.left},onMouseEnter:u,onMouseLeave:C,children:[jsx("div",{className:"px-2.5 py-1.5 text-xs font-semibold uppercase text-primary-500 dark:text-primary-400",children:e.label}),jsx("div",{className:"flex flex-col gap-0.5",children:e.children?.map(l=>{let k=l.key??l.path??l.label;if(l.path!=null){let i=n+l.path;return a?jsxs("button",{type:"button",onClick:()=>{a(l,i),b(false);},className:o(A,B),children:[l.icon,l.label]},k):jsxs(s,{to:i,className:({isActive:R})=>o(A,R?ge:B),children:[l.icon,l.label]},k)}return jsxs("span",{className:o(A,"cursor-default text-primary-400"),children:[l.icon,l.label]},k)})})]}),document.body)]})}function ze({item:e,basePath:n,onItemClick:a,LinkComponent:s}){let m=e.icon||jsx("span",{className:"text-xs font-bold leading-none",children:e.label.charAt(0).toUpperCase()});if(e.path!=null){let b=n+e.path;return a?jsx("button",{type:"button",onClick:()=>a(e,b),className:o(q,"w-full"),title:e.label,children:m}):jsx(s,{to:b,className:({isActive:p})=>o(q,"w-full",p&&"bg-primary-200 dark:bg-primary-700/50 text-primary-900 dark:text-primary-100"),children:jsx("span",{title:e.label,children:m})})}return jsx("span",{className:o(q,"w-full cursor-default"),title:e.label,children:m})}function ae({items:e,title:n,basePath:a="/",onItemClick:s,LinkComponent:m=Te,collapsible:b,collapseMode:p,defaultCollapseMode:g="expanded",onCollapseModeChange:h,showLines:f=true,expandedKeys:u,defaultExpandedKeys:C="all",onExpandedKeysChange:x,className:l,responsive:k=true,mobileBreakpoint:i=768,mobileTopOffset:R=48,...I}){let[t,v]=useState(g),y=p??t,T=Re.useMemo(()=>fe(e),[e]),[U,L]=useState(()=>C==="all"?new Set(T):new Set(C)),E=u??null,W=E??U,O=useCallback(r=>{let c=new Set(W);c.has(r)?c.delete(r):c.add(r),L(c),x?.(c);},[W,x]),z=useCallback(()=>{let r=Pe(y);v(r),h?.(r);},[y,h]),[M,$]=useState(()=>k&&typeof window<"u"&&window.innerWidth<i),[K,H]=useState(false);useEffect(()=>{if(!k||typeof window>"u"||!window.matchMedia)return;let r=window.matchMedia(`(max-width: ${i-1}px)`),c=P=>{$(P.matches),P.matches||H(false);};return r.addEventListener("change",c),()=>r.removeEventListener("change",c)},[k,i]);let ee=useCallback(r=>{r.target.closest("a")&&H(false);},[]),F=useMemo(()=>!M||!s?s:(r,c)=>{H(false),s(r,c);},[M,s]),j=jsxs(Fragment,{children:[b&&!M&&jsx("div",{className:o("flex shrink-0 mb-1",y==="expanded"?"justify-end":"justify-center"),children:jsx("button",{type:"button",onClick:z,className:q,"aria-label":y==="mini"?"Expand sidebar":"Collapse sidebar",title:y==="mini"?"Expand sidebar":"Collapse sidebar",children:y==="mini"?jsx(Menu,{className:"h-5 w-5"}):jsx(ChevronsLeft,{className:"h-4 w-4"})})}),(M||y==="expanded")&&jsxs(Fragment,{children:[n&&jsx("h2",{className:"text-primary-500 dark:text-primary-400 mb-3 text-sm font-semibold uppercase",children:n}),e.map(r=>jsx(ye,{item:r,basePath:a,depth:0,onItemClick:F,LinkComponent:m,showLines:f,expandedKeys:E,onToggle:O},r.key??r.path??r.label))]}),!M&&y==="icons"&&e.map(r=>{let c=r.key??r.path??r.label;return r.children&&r.children.length>0?jsx(Ve,{item:r,basePath:a,onItemClick:F,LinkComponent:m},c):jsx(ze,{item:r,basePath:a,onItemClick:F,LinkComponent:m},c)})]});return k&&M?jsxs(Fragment,{children:[K&&createPortal(jsx("div",{className:"fixed inset-0 z-40 bg-black/50",style:{top:R},onClick:()=>H(false)}),document.body),createPortal(jsx("aside",{className:o("fixed bottom-0 left-0 z-50 w-56 overflow-y-auto border-r border-primary-200 dark:border-primary-700 bg-white dark:bg-primary-900 shadow-xl transition-transform duration-200 p-3",K?"translate-x-0":"-translate-x-full"),style:{top:R},onClick:ee,children:jsx("nav",{className:"flex flex-col gap-0.5",children:j})}),document.body),createPortal(jsx("button",{type:"button",className:"fixed bottom-5 left-4 z-50 flex h-10 w-10 items-center justify-center rounded-full bg-primary-800 text-white shadow-lg transition-colors hover:bg-primary-700 dark:bg-primary-100 dark:text-primary-900 dark:hover:bg-primary-200",onClick:()=>H(r=>!r),"aria-label":K?"Close navigation":"Open navigation",children:K?jsx(X,{className:"h-5 w-5"}):jsx(Menu,{className:"h-5 w-5"})}),document.body)]}):jsx("nav",{className:o("flex flex-col gap-0.5",y==="mini"&&"items-center",l),...I,children:j})}var ve=cva("inline-flex cursor-pointer items-center justify-center gap-1.5 rounded font-medium transition-colors disabled:pointer-events-none disabled:opacity-50 [&_svg]:shrink-0",{variants:{intent:{primary:"bg-primary-500 text-white hover:bg-primary-600 active:bg-primary-700",secondary:"bg-secondary-500 text-white hover:bg-secondary-600 active:bg-secondary-700",danger:"bg-danger-500 text-white hover:bg-danger-600 active:bg-danger-700",warning:"bg-warning-500 text-white hover:bg-warning-600 active:bg-warning-700",ghost:"bg-transparent text-primary-700 hover:bg-primary-100 active:bg-primary-200 dark:text-primary-300 dark:hover:bg-primary-800",outline:"border border-primary-300 bg-transparent text-primary-700 hover:bg-primary-50 dark:border-primary-600 dark:text-primary-300 dark:hover:bg-primary-800"},size:{sm:"h-7 px-3 text-xs [&_svg]:h-3.5 [&_svg]:w-3.5",md:"h-9 px-4 text-sm [&_svg]:h-4 [&_svg]:w-4",lg:"h-11 px-6 text-base [&_svg]:h-5 [&_svg]:w-5"}},defaultVariants:{intent:"primary",size:"md"}});cva("inline-flex items-center gap-1 rounded border font-semibold [&_svg]:shrink-0",{variants:{intent:{success:"border-success-200 bg-success-100 text-success-800 dark:border-success-800 dark:bg-success-900/30 dark:text-success-400",warning:"border-warning-200 bg-warning-100 text-warning-800 dark:border-warning-800 dark:bg-warning-900/30 dark:text-warning-400",error:"border-danger-200 bg-danger-100 text-danger-800 dark:border-danger-800 dark:bg-danger-900/30 dark:text-danger-400",info:"border-primary-200 bg-primary-100 text-primary-800 dark:border-primary-800 dark:bg-primary-900/30 dark:text-primary-400",primary:"border-secondary-200 bg-secondary-100 text-secondary-700 dark:border-secondary-700 dark:bg-secondary-800 dark:text-secondary-300"},size:{sm:"px-1.5 py-0 text-[0.625rem] [&_svg]:h-2.5 [&_svg]:w-2.5",md:"px-2.5 py-0.5 text-xs [&_svg]:h-3 [&_svg]:w-3",lg:"px-3 py-1 text-sm [&_svg]:h-3.5 [&_svg]:w-3.5"}},defaultVariants:{intent:"primary",size:"md"}});cva("absolute flex items-center justify-center rounded-full font-bold leading-none ring-2 ring-white select-none pointer-events-none z-10 dark:ring-primary-900",{variants:{intent:{danger:"bg-danger-500 text-white",success:"bg-success-500 text-white",warning:"bg-warning-500 text-white",info:"bg-primary-500 text-white",primary:"bg-secondary-500 text-white"},size:{sm:"text-[0.5rem]",md:"text-[0.625rem]",lg:"text-xs"},dot:{true:"",false:""},placement:{"top-right":"top-0 right-0 translate-x-1/2 -translate-y-1/2","top-left":"top-0 left-0 -translate-x-1/2 -translate-y-1/2","bottom-right":"bottom-0 right-0 translate-x-1/2 translate-y-1/2","bottom-left":"bottom-0 left-0 -translate-x-1/2 translate-y-1/2"}},compoundVariants:[{dot:true,size:"sm",class:"h-1.5 w-1.5 min-w-0 ring-1"},{dot:true,size:"md",class:"h-2 w-2 min-w-0"},{dot:true,size:"lg",class:"h-2.5 w-2.5 min-w-0"},{dot:false,size:"sm",class:"h-4 min-w-4 px-1"},{dot:false,size:"md",class:"h-5 min-w-5 px-1.5"},{dot:false,size:"lg",class:"h-6 min-w-6 px-2"}],defaultVariants:{intent:"danger",size:"md",dot:false,placement:"top-right"}});cva("w-full rounded-md border bg-white text-secondary-900 transition-colors placeholder:text-secondary-400 focus:outline-none focus:ring-2 dark:bg-secondary-900 dark:text-secondary-100 dark:placeholder:text-secondary-600",{variants:{state:{default:"border-secondary-300 focus:border-primary-500 focus:ring-primary-500/20 dark:border-secondary-600",error:"border-danger-400 focus:border-danger-500 focus:ring-danger-500/20"},size:{sm:"h-7 px-2 text-xs",md:"h-9 px-3 py-2 text-sm",lg:"h-11 px-4 py-2.5 text-base"}},defaultVariants:{state:"default",size:"md"}});cva("inline-flex items-center gap-1 font-medium [&_svg]:shrink-0",{variants:{size:{sm:"text-xs [&_svg]:h-3 [&_svg]:w-3",md:"text-sm [&_svg]:h-3.5 [&_svg]:w-3.5",lg:"text-base [&_svg]:h-4 [&_svg]:w-4"},intent:{default:"text-primary-700 dark:text-primary-300",muted:"text-primary-400 dark:text-primary-500",required:"text-primary-700 dark:text-primary-300 after:ml-0.5 after:text-danger-500 after:content-['*']"}},defaultVariants:{size:"md",intent:"default"}});cva("relative inline-flex shrink-0 items-center justify-center rounded border-2 transition-all duration-200 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2",{variants:{intent:{primary:"border-primary-300 dark:border-primary-600 focus-visible:ring-primary-500/40",secondary:"border-secondary-300 dark:border-secondary-600 focus-visible:ring-secondary-500/40",danger:"border-danger-300 dark:border-danger-600 focus-visible:ring-danger-500/40",warning:"border-warning-300 dark:border-warning-600 focus-visible:ring-warning-500/40",success:"border-success-300 dark:border-success-600 focus-visible:ring-success-500/40"},size:{sm:"h-4 w-4 rounded-[3px]",md:"h-5 w-5 rounded",lg:"h-6 w-6 rounded-[5px]"},checked:{on:"",off:"bg-white dark:bg-primary-900"}},compoundVariants:[{intent:"primary",checked:"on",class:"border-primary-500 bg-primary-500 dark:border-primary-500 dark:bg-primary-500"},{intent:"secondary",checked:"on",class:"border-secondary-500 bg-secondary-500 dark:border-secondary-500 dark:bg-secondary-500"},{intent:"danger",checked:"on",class:"border-danger-500 bg-danger-500 dark:border-danger-500 dark:bg-danger-500"},{intent:"warning",checked:"on",class:"border-warning-500 bg-warning-500 dark:border-warning-500 dark:bg-warning-500"},{intent:"success",checked:"on",class:"border-success-500 bg-success-500 dark:border-success-500 dark:bg-success-500"}],defaultVariants:{intent:"primary",size:"md",checked:"off"}});cva("relative inline-flex shrink-0 items-center justify-center rounded-full border-2 transition-all duration-200 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2",{variants:{intent:{primary:"border-primary-300 dark:border-primary-600 focus-visible:ring-primary-500/40",secondary:"border-secondary-300 dark:border-secondary-600 focus-visible:ring-secondary-500/40",danger:"border-danger-300 dark:border-danger-600 focus-visible:ring-danger-500/40",warning:"border-warning-300 dark:border-warning-600 focus-visible:ring-warning-500/40",success:"border-success-300 dark:border-success-600 focus-visible:ring-success-500/40"},size:{sm:"h-4 w-4",md:"h-5 w-5",lg:"h-6 w-6"},checked:{on:"",off:"bg-white dark:bg-primary-900"}},compoundVariants:[{intent:"primary",checked:"on",class:"border-primary-500 bg-primary-500 dark:border-primary-500 dark:bg-primary-500"},{intent:"secondary",checked:"on",class:"border-secondary-500 bg-secondary-500 dark:border-secondary-500 dark:bg-secondary-500"},{intent:"danger",checked:"on",class:"border-danger-500 bg-danger-500 dark:border-danger-500 dark:bg-danger-500"},{intent:"warning",checked:"on",class:"border-warning-500 bg-warning-500 dark:border-warning-500 dark:bg-warning-500"},{intent:"success",checked:"on",class:"border-success-500 bg-success-500 dark:border-success-500 dark:bg-success-500"}],defaultVariants:{intent:"primary",size:"md",checked:"off"}});cva("",{variants:{intent:{primary:"",secondary:"",danger:"",warning:"",success:""},size:{sm:"",md:"",lg:""},checked:{on:"",off:"bg-primary-300 dark:bg-primary-800"}},compoundVariants:[{intent:"primary",checked:"on",class:"bg-primary-500 dark:bg-primary-500"},{intent:"secondary",checked:"on",class:"bg-secondary-500 dark:bg-secondary-500"},{intent:"danger",checked:"on",class:"bg-danger-500 dark:bg-danger-500"},{intent:"warning",checked:"on",class:"bg-warning-500 dark:bg-warning-500"},{intent:"success",checked:"on",class:"bg-success-500 dark:bg-success-500"}],defaultVariants:{intent:"primary",size:"md",checked:"off"}});function Oe(e,n){return e.key??(typeof e.label=="string"?e.label:String(n))}var J=40,Ke=200,le=150,xe=120;function de(e,n,a,s){if(!s)return {};if(a){let b=(n-1-e)*J;return {animation:`dropdown-item-out ${le}ms ease-in both ${b}ms`}}let m=e*J;return {animation:`dropdown-item-in ${Ke}ms ease-out both ${m}ms`}}function je(e,n,a){if(!a)return {};if(n){let s=Math.max(e-1,0)*J+le;return {animation:`dropdown-container-out ${xe}ms ease-in both ${s}ms`}}return {animation:"var(--animate-dropdown-container-in)"}}function ce({label:e,items:n,intent:a,size:s,align:m="left",className:b,disabled:p,editable:g=false,onAddItem:h,multiple:f=false,selected:u=[],onSelectionChange:C,animated:x=true,chevron:l=true,...k}){let[i,R]=useState(false),[I,t]=useState(false),[v,y]=useState(""),T=useRef(null),U=useRef(null),L=useRef(void 0);useEffect(()=>()=>{L.current&&clearTimeout(L.current);},[]);let E=useCallback(()=>{if(!x||!i){R(false),y("");return}t(true);let c=(Math.max(n.length,1)-1)*J+le+xe+20;L.current=setTimeout(()=>{R(false),t(false),y("");},c);},[x,i,n.length]),W=useCallback(()=>{p||(i?E():(L.current&&clearTimeout(L.current),t(false),R(true),y(""),g&&requestAnimationFrame(()=>U.current?.focus())));},[p,i,E,g]);useEffect(()=>{if(!i)return;let r=c=>{T.current&&!T.current.contains(c.target)&&E();};return document.addEventListener("mousedown",r),()=>document.removeEventListener("mousedown",r)},[i,E]),useEffect(()=>{if(!i)return;let r=c=>{c.key==="Escape"&&E();};return document.addEventListener("keydown",r),()=>document.removeEventListener("keydown",r)},[i,E]);let O=v.toLowerCase(),z=useMemo(()=>v?n.filter(r=>(typeof r.label=="string"?r.label:r.key??"").toLowerCase().includes(O)):n,[n,O]),M=useMemo(()=>!g||!v.trim()?false:!n.some(r=>(typeof r.label=="string"?r.label:r.key??"").toLowerCase()===O),[g,O,n]),$=useCallback(()=>{let r=v.trim();r&&(h?.(r),y(""));},[v,h]),K=useCallback(r=>{r.key==="Enter"&&M&&(r.preventDefault(),$());},[M,$]),H=useCallback(r=>{let c=u.includes(r)?u.filter(P=>P!==r):[...u,r];C?.(c);},[u,C]),ee=f&&u.length>0?jsxs(Fragment,{children:[e," ",jsx("span",{className:"ml-1 rounded-full bg-white/20 px-1.5 text-xs font-semibold",children:u.length})]}):e,F=z.length===0&&!M||M?1:0,j=z.length+F;return jsxs("div",{ref:T,className:"relative inline-block",children:[jsxs("button",{type:"button",onClick:W,disabled:p,className:o(ve({intent:a,size:s}),"inline-flex items-center gap-1",b),"aria-haspopup":f?"listbox":"true","aria-expanded":i?"true":"false",...k,children:[ee,l&&jsx(ChevronDown,{className:o("h-3.5 w-3.5 transition-transform",i&&"rotate-180")})]}),i&&jsxs("div",{className:o("absolute z-50 mt-1 min-w-44 rounded-md border py-1 shadow-lg","border-primary-200 dark:border-primary-700 dark:bg-primary-800 bg-white",m==="right"?"right-0":"left-0"),style:je(j,I,x),role:f?"listbox":"menu","aria-multiselectable":f||void 0,children:[g&&jsx("div",{className:"border-primary-200 dark:border-primary-700 border-b px-2 pb-1.5 pt-1",children:jsx("input",{ref:U,type:"text",value:v,onChange:r=>y(r.target.value),onKeyDown:K,placeholder:"Type to filter or add\u2026",className:"w-full bg-transparent text-sm text-secondary-900 placeholder:text-secondary-400 focus:outline-none dark:text-secondary-100 dark:placeholder:text-secondary-600"})}),jsxs("div",{className:"max-h-60 overflow-y-auto",children:[z.map((r,c)=>{let P=Oe(r,c),re=f&&u.includes(P);return jsxs(Re.Fragment,{children:[r.divider&&jsx("div",{className:"border-primary-200 dark:border-primary-700 my-1 border-t"}),jsxs("button",{type:"button",role:f?"option":"menuitem","aria-selected":f?re:void 0,disabled:r.disabled,className:o("flex w-full cursor-pointer items-center gap-2 px-3 py-1.5 text-left text-sm transition-colors","text-primary-700 hover:bg-primary-100 dark:text-primary-300 dark:hover:bg-primary-700/50",r.disabled&&"pointer-events-none opacity-50"),style:de(c,j,I,x),onClick:()=>{f?H(P):(r.onClick?.(),L.current&&clearTimeout(L.current),R(false),t(false),y(""));},children:[f&&jsx("span",{className:o("flex h-4 w-4 shrink-0 items-center justify-center rounded border transition-colors",re?"border-primary-600 bg-primary-600 text-white dark:border-primary-500 dark:bg-primary-500":"border-secondary-300 bg-white dark:border-secondary-600 dark:bg-secondary-800"),children:re&&jsx(Check,{className:"h-3 w-3"})}),jsx("span",{className:"flex-1 truncate",children:r.label})]})]},P)}),z.length===0&&!M&&jsx("div",{className:"text-primary-400 px-3 py-2 text-center text-sm",style:de(0,1,I,x),children:"No matches"}),M&&jsxs("button",{type:"button",className:o("flex w-full cursor-pointer items-center gap-2 px-3 py-1.5 text-left text-sm transition-colors","text-primary-600 hover:bg-primary-50 dark:text-primary-400 dark:hover:bg-primary-900/30"),style:de(z.length,j,I,x),onClick:$,children:[jsx("span",{className:"flex h-4 w-4 shrink-0 items-center justify-center text-lg leading-none",children:"+"}),jsxs("span",{className:"truncate",children:["Add \u201C",v.trim(),"\u201D"]})]})]})]})]})}function qe({href:e,className:n,onClick:a,children:s}){return jsx("a",{href:e,className:n,onClick:a,children:s})}function pe({brand:e,onBrandClick:n,navItems:a=[],actions:s=[],linkComponent:m=qe,height:b="h-12",mobileMenu:p=false,navMenuIcon:g,actionsMenuIcon:h,className:f,children:u}){let C=p&&a.length>0,x=p&&s.length>0,l="md:hidden rounded-md px-1.5 py-1.5 text-primary-500 dark:text-primary-400 hover:text-primary-700 dark:hover:text-primary-200 [&_svg]:h-5 [&_svg]:w-5",k=t=>t?"text-primary-900 font-medium dark:text-primary-100":"text-primary-500 hover:text-primary-700 dark:text-primary-400 dark:hover:text-primary-200 transition-colors",i="rounded-md p-1.5 text-primary-500 hover:bg-primary-100 hover:text-primary-700 dark:text-primary-400 dark:hover:bg-primary-800 dark:hover:text-primary-200 transition-colors [&_svg]:h-5 [&_svg]:w-5",R=a.map((t,v)=>({key:typeof t.label=="string"?t.label:String(v),label:t.active?jsx("span",{className:"font-semibold text-primary-900 dark:text-primary-100",children:t.label}):t.label,onClick:()=>{t.onClick?t.onClick({preventDefault:()=>{},stopPropagation:()=>{}}):t.href&&(window.location.href=t.href);}})),I=s.map((t,v)=>({key:t.key??String(v),label:jsxs("span",{className:"flex items-center gap-2 [&_svg]:h-4 [&_svg]:w-4 [&_svg]:shrink-0",children:[t.icon,jsx("span",{children:t["aria-label"]})]}),onClick:()=>{t.onClick?t.onClick({preventDefault:()=>{},stopPropagation:()=>{}}):t.href&&(t.external?window.open(t.href,"_blank","noopener,noreferrer"):window.location.href=t.href);}}));return jsxs("header",{className:o("flex shrink-0 items-center justify-between border-b px-5","border-primary-200 bg-white dark:border-primary-700 dark:bg-primary-900",b,f),children:[jsxs("div",{className:"flex items-center gap-2 md:gap-6",children:[e&&jsx("div",{className:o("text-lg font-bold text-primary-800 dark:text-primary-100",n&&"cursor-pointer"),onClick:n,role:n?"button":void 0,tabIndex:n?0:void 0,onKeyDown:n?t=>{(t.key==="Enter"||t.key===" ")&&(t.preventDefault(),n(t));}:void 0,children:e}),C&&jsx(ce,{intent:"ghost",size:"sm",className:l,label:g??jsx(PanelLeft,{className:"h-5 w-5"}),items:R,align:"left",chevron:false,"aria-label":"Open navigation"}),a.length>0&&jsx("nav",{className:o("flex items-center gap-4 text-sm",p?"hidden md:flex":"flex"),children:a.map((t,v)=>{let y=typeof t.label=="string"?t.label:v,T=k(t.active);return t.href?jsx(m,{href:t.href,className:T,onClick:t.onClick,children:t.label},y):jsx("button",{type:"button",className:o(T,"cursor-pointer"),onClick:t.onClick,children:t.label},y)})})]}),u&&jsx("div",{className:"flex items-center",children:u}),jsxs("div",{className:"flex items-center gap-1",children:[s.length>0&&jsx("div",{className:o("flex items-center gap-1",p?"hidden md:flex":"flex"),children:s.map((t,v)=>t.href?jsx("a",{href:t.href,target:t.external?"_blank":void 0,rel:t.external?"noopener noreferrer":void 0,className:i,"aria-label":t["aria-label"],onClick:t.onClick,children:t.icon},t.key??v):jsx("button",{type:"button",className:i,"aria-label":t["aria-label"],onClick:t.onClick,children:t.icon},t.key??v))}),x&&jsx(ce,{intent:"ghost",size:"sm",className:l,label:h??jsx(MoreHorizontal,{className:"h-5 w-5"}),items:I,align:"right",chevron:false,"aria-label":"Open menu"})]})]})}var ke=cva("inline-flex items-center gap-1 underline-offset-2 transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary-500/20 [&_svg]:shrink-0",{variants:{intent:{default:"text-primary-600 hover:text-primary-800 active:text-primary-900 dark:text-primary-400 dark:hover:text-primary-200 dark:active:text-primary-100",secondary:"text-secondary-500 hover:text-secondary-700 active:text-secondary-800 dark:text-secondary-400 dark:hover:text-secondary-200 dark:active:text-secondary-100",muted:"text-primary-400 hover:text-primary-600 dark:text-primary-500 dark:hover:text-primary-300"},size:{sm:"text-xs [&_svg]:h-3 [&_svg]:w-3",md:"text-sm [&_svg]:h-3.5 [&_svg]:w-3.5",lg:"text-base [&_svg]:h-4 [&_svg]:w-4"},underline:{always:"underline",hover:"hover:underline",none:"no-underline"}},defaultVariants:{intent:"default",size:"md",underline:"none"}});function Ue(e,n){return !!(n==="_blank"||e&&/^https?:\/\//.test(e))}var We=e=>jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":true,...e,children:[jsx("path",{d:"M15 3h6v6"}),jsx("path",{d:"M10 14 21 3"}),jsx("path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"})]});function me({intent:e,size:n,underline:a,external:s,className:m,children:b,href:p,target:g,rel:h,...f}){let u=s??Ue(p,g);return jsxs("a",{href:p,target:u&&!g?"_blank":g,rel:u&&!h?"noopener noreferrer":h,className:o(ke({intent:e,size:n,underline:a}),m),...f,children:[b,u&&jsx(We,{})]})}var Qe={SideNav:ae,Header:pe,NavLink:me},Vr=Qe;
|
|
2
|
-
export{
|
|
1
|
+
import _e,{useState,useCallback,useEffect,useRef,useMemo,useLayoutEffect}from'react';import {createPortal}from'react-dom';import {Menu,ChevronsLeft,X as X$1,ChevronRight,PanelLeft,MoreHorizontal,ChevronDown,Check}from'lucide-react';import {clsx}from'clsx';import {twMerge}from'tailwind-merge';import {jsxs,Fragment,jsx}from'react/jsx-runtime';import {cva}from'class-variance-authority';function s(...e){return twMerge(clsx(e))}var X="flex w-full items-center gap-2 rounded-md px-3 py-1.5 text-sm transition-colors cursor-pointer",ke="bg-primary-200 dark:bg-primary-700/50 text-primary-900 dark:text-primary-100 font-medium",F="text-primary-600 dark:text-primary-400 hover:bg-primary-100 dark:hover:bg-primary-800/50 hover:text-primary-900 dark:hover:text-primary-200",q="flex items-center justify-center rounded-md p-2 transition-colors cursor-pointer text-primary-600 dark:text-primary-400 hover:bg-primary-100 dark:hover:bg-primary-800/50 hover:text-primary-900 dark:hover:text-primary-200";function Ae({to:e,className:t,style:n,children:i}){let m=typeof t=="function"?t({isActive:false}):t;return jsx("a",{href:e,className:m,style:n,children:i})}var de=["expanded","icons","mini"];function Oe(e){let t=de.indexOf(e);return de[(t+1)%de.length]}function we(e){let t=new Set;for(let n of e)if(n.children&&n.children.length>0){t.add(n.key??n.label);for(let i of we(n.children))t.add(i);}return t}function Ne({item:e,basePath:t,depth:n,onItemClick:i,LinkComponent:m,showLines:g,expandedKeys:p,onToggle:f}){let v=e.key??e.label,y=e.children&&e.children.length>0,[b,S]=useState(e.defaultOpen??true),k=p?p.has(v):b,c=useCallback(()=>{p?f(v):S(d=>!d);},[p,f,v]),w=n>0?`${n*1.25}rem`:void 0;if(y)return jsxs("div",{children:[jsxs("button",{type:"button",onClick:c,className:s(X,F,"justify-between"),style:{paddingLeft:w},children:[jsxs("span",{className:"flex items-center gap-2",children:[e.icon,e.label]}),jsx(ChevronRight,{className:s("h-3.5 w-3.5 transition-transform",k&&"rotate-90")})]}),k&&jsx("div",{className:s("flex flex-col gap-0.5 pt-0.5",g?"ml-2.5 border-l border-primary-200 dark:border-primary-700":"ml-2"),children:e.children.map(d=>jsx(Ne,{item:d,basePath:t,depth:n+1,onItemClick:i,LinkComponent:m,showLines:g,expandedKeys:p,onToggle:f},d.key??d.path??d.label))})]});if(e.path!=null){let d=t+e.path;return i?jsxs("button",{type:"button",onClick:()=>i(e,d),className:s(X,F),style:{paddingLeft:w},children:[e.icon,e.label]}):jsxs(m,{to:d,className:({isActive:R})=>s(X,R?ke:F),style:{paddingLeft:w},children:[e.icon,e.label]})}return jsxs("span",{className:s(X,F,"cursor-default"),style:{paddingLeft:w},children:[e.icon,e.label]})}function Ke({item:e,basePath:t,onItemClick:n,LinkComponent:i}){let[m,g]=useState(false),p=useRef(null),f=useRef(void 0),[v,y]=useState({top:0,left:0}),b=()=>{clearTimeout(f.current),g(true);},S=()=>{f.current=setTimeout(()=>g(false),200);};useLayoutEffect(()=>{if(m&&p.current){let c=p.current.getBoundingClientRect();y({top:c.top,left:c.right+4});}},[m]);let k=e.icon||jsx("span",{className:"text-xs font-bold leading-none",children:e.label.charAt(0).toUpperCase()});return jsxs("div",{onMouseEnter:b,onMouseLeave:S,children:[jsx("button",{ref:p,type:"button",className:s(q,"w-full"),title:e.label,onClick:()=>g(c=>!c),children:k}),m&&createPortal(jsxs("div",{className:"fixed z-50 min-w-44 rounded-md border border-primary-200 bg-white p-1 shadow-lg dark:border-primary-700 dark:bg-primary-900",style:{top:v.top,left:v.left},onMouseEnter:b,onMouseLeave:S,children:[jsx("div",{className:"px-2.5 py-1.5 text-xs font-semibold uppercase text-primary-500 dark:text-primary-400",children:e.label}),jsx("div",{className:"flex flex-col gap-0.5",children:e.children?.map(c=>{let w=c.key??c.path??c.label;if(c.path!=null){let d=t+c.path;return n?jsxs("button",{type:"button",onClick:()=>{n(c,d),g(false);},className:s(X,F),children:[c.icon,c.label]},w):jsxs(i,{to:d,className:({isActive:R})=>s(X,R?ke:F),children:[c.icon,c.label]},w)}return jsxs("span",{className:s(X,"cursor-default text-primary-400"),children:[c.icon,c.label]},w)})})]}),document.body)]})}function je({item:e,basePath:t,onItemClick:n,LinkComponent:i}){let m=e.icon||jsx("span",{className:"text-xs font-bold leading-none",children:e.label.charAt(0).toUpperCase()});if(e.path!=null){let g=t+e.path;return n?jsx("button",{type:"button",onClick:()=>n(e,g),className:s(q,"w-full"),title:e.label,children:m}):jsx(i,{to:g,className:({isActive:p})=>s(q,"w-full",p&&"bg-primary-200 dark:bg-primary-700/50 text-primary-900 dark:text-primary-100"),children:jsx("span",{title:e.label,children:m})})}return jsx("span",{className:s(q,"w-full cursor-default"),title:e.label,children:m})}function ce({items:e,title:t,basePath:n="/",onItemClick:i,LinkComponent:m=Ae,collapsible:g,collapseMode:p,defaultCollapseMode:f="expanded",onCollapseModeChange:v,showLines:y=true,expandedKeys:b,defaultExpandedKeys:S="all",onExpandedKeysChange:k,className:c,responsive:w=true,mobileBreakpoint:d=768,mobileTopOffset:R=48,...D}){let[r,x]=useState(f),h=p??r,A=_e.useMemo(()=>we(e),[e]),[J,_]=useState(()=>S==="all"?new Set(A):new Set(S)),I=b??null,Z=I??J,Y=useCallback(o=>{let u=new Set(Z);u.has(o)?u.delete(o):u.add(o),_(u),k?.(u);},[Z,k]),K=useCallback(()=>{let o=Oe(h);x(o),v?.(o);},[h,v]),[L,G]=useState(()=>w&&typeof window<"u"&&window.innerWidth<d),[U,P]=useState(false);useEffect(()=>{if(!w||typeof window>"u"||!window.matchMedia)return;let o=window.matchMedia(`(max-width: ${d-1}px)`),u=z=>{G(z.matches),z.matches||P(false);};return o.addEventListener("change",u),()=>o.removeEventListener("change",u)},[w,d]);let oe=useCallback(o=>{o.target.closest("a")&&P(false);},[]),V=useRef(null),E=useRef({startX:0,startY:0,dragging:false}),M=useCallback(o=>{let u=o.touches[0];E.current={startX:u.clientX,startY:u.clientY,dragging:true};},[]),j=useCallback(o=>{if(!E.current.dragging||!V.current)return;let u=o.touches[0],z=u.clientX-E.current.startX,ie=u.clientY-E.current.startY;z>=0||Math.abs(ie)>Math.abs(z)||(V.current.style.transform=`translateX(${Math.max(z,-224)}px)`,V.current.style.transition="none");},[]),W=useCallback(o=>{if(!E.current.dragging||!V.current)return;E.current.dragging=false;let u=o.changedTouches[0],z=u.clientX-E.current.startX,ie=u.clientY-E.current.startY;V.current.style.transition="",V.current.style.transform="",z<-60&&Math.abs(z)>Math.abs(ie)&&P(false);},[]),se=useMemo(()=>!L||!i?i:(o,u)=>{P(false),i(o,u);},[L,i]),xe=jsxs(Fragment,{children:[g&&!L&&jsx("div",{className:s("flex shrink-0 mb-1",h==="expanded"?"justify-end":"justify-center"),children:jsx("button",{type:"button",onClick:K,className:q,"aria-label":h==="mini"?"Expand sidebar":"Collapse sidebar",title:h==="mini"?"Expand sidebar":"Collapse sidebar",children:h==="mini"?jsx(Menu,{className:"h-5 w-5"}):jsx(ChevronsLeft,{className:"h-4 w-4"})})}),(L||h==="expanded")&&jsxs(Fragment,{children:[t&&jsx("h2",{className:"text-primary-500 dark:text-primary-400 mb-3 text-sm font-semibold uppercase",children:t}),e.map(o=>jsx(Ne,{item:o,basePath:n,depth:0,onItemClick:se,LinkComponent:m,showLines:y,expandedKeys:I,onToggle:Y},o.key??o.path??o.label))]}),!L&&h==="icons"&&e.map(o=>{let u=o.key??o.path??o.label;return o.children&&o.children.length>0?jsx(Ke,{item:o,basePath:n,onItemClick:se,LinkComponent:m},u):jsx(je,{item:o,basePath:n,onItemClick:se,LinkComponent:m},u)})]});return w&&L?jsxs(Fragment,{children:[U&&createPortal(jsx("div",{className:"fixed inset-0 z-40 bg-black/50",style:{top:R},onClick:()=>P(false)}),document.body),createPortal(jsxs("aside",{ref:V,className:s("fixed bottom-0 left-0 z-50 flex flex-col w-56 border-r border-primary-200 dark:border-primary-700 bg-white dark:bg-primary-900 shadow-xl transition-transform duration-200",U?"translate-x-0":"-translate-x-full"),style:{top:R},onClick:oe,onTouchStart:M,onTouchMove:j,onTouchEnd:W,children:[jsxs("div",{className:"flex shrink-0 items-center justify-between border-b border-primary-200 px-3 py-2 dark:border-primary-700",children:[jsx("span",{className:"text-xs font-semibold uppercase tracking-wide text-primary-500 dark:text-primary-400",children:"Navigation"}),jsx("button",{type:"button",onClick:o=>{o.stopPropagation(),P(false);},className:s(q,"h-7 w-7 p-1"),"aria-label":"Close navigation",children:jsx(X$1,{className:"h-4 w-4"})})]}),jsx("div",{className:"flex-1 overflow-y-auto overscroll-y-contain p-3",children:jsx("nav",{className:"flex flex-col gap-0.5",children:xe})})]}),document.body),!U&&createPortal(jsx("button",{type:"button",className:"fixed left-0 z-50 flex h-14 w-5 items-center justify-center rounded-r-xl bg-primary-800/80 text-white shadow-md backdrop-blur-sm transition-colors hover:bg-primary-700/90 dark:bg-primary-200/80 dark:text-primary-900 dark:hover:bg-primary-300/90",style:{top:`calc(50% + ${R/2}px)`,transform:"translateY(-50%)"},onClick:()=>P(true),"aria-label":"Open navigation",children:jsx(ChevronRight,{className:"h-3.5 w-3.5"})}),document.body)]}):jsx("nav",{className:s("flex flex-col gap-0.5",h==="mini"&&"items-center",c),...D,children:xe})}var Ce=cva("inline-flex cursor-pointer items-center justify-center gap-1.5 rounded font-medium transition-colors disabled:pointer-events-none disabled:opacity-50 [&_svg]:shrink-0",{variants:{intent:{primary:"bg-primary-500 text-white hover:bg-primary-600 active:bg-primary-700",secondary:"bg-secondary-500 text-white hover:bg-secondary-600 active:bg-secondary-700",danger:"bg-danger-500 text-white hover:bg-danger-600 active:bg-danger-700",warning:"bg-warning-500 text-white hover:bg-warning-600 active:bg-warning-700",ghost:"bg-transparent text-primary-700 hover:bg-primary-100 active:bg-primary-200 dark:text-primary-300 dark:hover:bg-primary-800",outline:"border border-primary-300 bg-transparent text-primary-700 hover:bg-primary-50 dark:border-primary-600 dark:text-primary-300 dark:hover:bg-primary-800"},size:{sm:"h-7 px-3 text-xs [&_svg]:h-3.5 [&_svg]:w-3.5",md:"h-9 px-4 text-sm [&_svg]:h-4 [&_svg]:w-4",lg:"h-11 px-6 text-base [&_svg]:h-5 [&_svg]:w-5"}},defaultVariants:{intent:"primary",size:"md"}});cva("inline-flex items-center gap-1 rounded border font-semibold [&_svg]:shrink-0",{variants:{intent:{success:"border-success-200 bg-success-100 text-success-800 dark:border-success-800 dark:bg-success-900/30 dark:text-success-400",warning:"border-warning-200 bg-warning-100 text-warning-800 dark:border-warning-800 dark:bg-warning-900/30 dark:text-warning-400",error:"border-danger-200 bg-danger-100 text-danger-800 dark:border-danger-800 dark:bg-danger-900/30 dark:text-danger-400",info:"border-primary-200 bg-primary-100 text-primary-800 dark:border-primary-800 dark:bg-primary-900/30 dark:text-primary-400",primary:"border-secondary-200 bg-secondary-100 text-secondary-700 dark:border-secondary-700 dark:bg-secondary-800 dark:text-secondary-300"},size:{sm:"px-1.5 py-0 text-[0.625rem] [&_svg]:h-2.5 [&_svg]:w-2.5",md:"px-2.5 py-0.5 text-xs [&_svg]:h-3 [&_svg]:w-3",lg:"px-3 py-1 text-sm [&_svg]:h-3.5 [&_svg]:w-3.5"}},defaultVariants:{intent:"primary",size:"md"}});cva("absolute flex items-center justify-center rounded-full font-bold leading-none ring-2 ring-white select-none pointer-events-none z-10 dark:ring-primary-900",{variants:{intent:{danger:"bg-danger-500 text-white",success:"bg-success-500 text-white",warning:"bg-warning-500 text-white",info:"bg-primary-500 text-white",primary:"bg-secondary-500 text-white"},size:{sm:"text-[0.5rem]",md:"text-[0.625rem]",lg:"text-xs"},dot:{true:"",false:""},placement:{"top-right":"top-0 right-0 translate-x-1/2 -translate-y-1/2","top-left":"top-0 left-0 -translate-x-1/2 -translate-y-1/2","bottom-right":"bottom-0 right-0 translate-x-1/2 translate-y-1/2","bottom-left":"bottom-0 left-0 -translate-x-1/2 translate-y-1/2"}},compoundVariants:[{dot:true,size:"sm",class:"h-1.5 w-1.5 min-w-0 ring-1"},{dot:true,size:"md",class:"h-2 w-2 min-w-0"},{dot:true,size:"lg",class:"h-2.5 w-2.5 min-w-0"},{dot:false,size:"sm",class:"h-4 min-w-4 px-1"},{dot:false,size:"md",class:"h-5 min-w-5 px-1.5"},{dot:false,size:"lg",class:"h-6 min-w-6 px-2"}],defaultVariants:{intent:"danger",size:"md",dot:false,placement:"top-right"}});cva("w-full rounded-md border bg-white text-secondary-900 transition-colors placeholder:text-secondary-400 focus:outline-none focus:ring-2 dark:bg-secondary-900 dark:text-secondary-100 dark:placeholder:text-secondary-600",{variants:{state:{default:"border-secondary-300 focus:border-primary-500 focus:ring-primary-500/20 dark:border-secondary-600",error:"border-danger-400 focus:border-danger-500 focus:ring-danger-500/20"},size:{sm:"h-7 px-2 text-xs",md:"h-9 px-3 py-2 text-sm",lg:"h-11 px-4 py-2.5 text-base"}},defaultVariants:{state:"default",size:"md"}});cva("inline-flex items-center gap-1 font-medium [&_svg]:shrink-0",{variants:{size:{sm:"text-xs [&_svg]:h-3 [&_svg]:w-3",md:"text-sm [&_svg]:h-3.5 [&_svg]:w-3.5",lg:"text-base [&_svg]:h-4 [&_svg]:w-4"},intent:{default:"text-primary-700 dark:text-primary-300",muted:"text-primary-400 dark:text-primary-500",required:"text-primary-700 dark:text-primary-300 after:ml-0.5 after:text-danger-500 after:content-['*']"}},defaultVariants:{size:"md",intent:"default"}});cva("relative inline-flex shrink-0 items-center justify-center rounded border-2 transition-all duration-200 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2",{variants:{intent:{primary:"border-primary-300 dark:border-primary-600 focus-visible:ring-primary-500/40",secondary:"border-secondary-300 dark:border-secondary-600 focus-visible:ring-secondary-500/40",danger:"border-danger-300 dark:border-danger-600 focus-visible:ring-danger-500/40",warning:"border-warning-300 dark:border-warning-600 focus-visible:ring-warning-500/40",success:"border-success-300 dark:border-success-600 focus-visible:ring-success-500/40"},size:{sm:"h-4 w-4 rounded-[3px]",md:"h-5 w-5 rounded",lg:"h-6 w-6 rounded-[5px]"},checked:{on:"",off:"bg-white dark:bg-primary-900"}},compoundVariants:[{intent:"primary",checked:"on",class:"border-primary-500 bg-primary-500 dark:border-primary-500 dark:bg-primary-500"},{intent:"secondary",checked:"on",class:"border-secondary-500 bg-secondary-500 dark:border-secondary-500 dark:bg-secondary-500"},{intent:"danger",checked:"on",class:"border-danger-500 bg-danger-500 dark:border-danger-500 dark:bg-danger-500"},{intent:"warning",checked:"on",class:"border-warning-500 bg-warning-500 dark:border-warning-500 dark:bg-warning-500"},{intent:"success",checked:"on",class:"border-success-500 bg-success-500 dark:border-success-500 dark:bg-success-500"}],defaultVariants:{intent:"primary",size:"md",checked:"off"}});cva("relative inline-flex shrink-0 items-center justify-center rounded-full border-2 transition-all duration-200 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2",{variants:{intent:{primary:"border-primary-300 dark:border-primary-600 focus-visible:ring-primary-500/40",secondary:"border-secondary-300 dark:border-secondary-600 focus-visible:ring-secondary-500/40",danger:"border-danger-300 dark:border-danger-600 focus-visible:ring-danger-500/40",warning:"border-warning-300 dark:border-warning-600 focus-visible:ring-warning-500/40",success:"border-success-300 dark:border-success-600 focus-visible:ring-success-500/40"},size:{sm:"h-4 w-4",md:"h-5 w-5",lg:"h-6 w-6"},checked:{on:"",off:"bg-white dark:bg-primary-900"}},compoundVariants:[{intent:"primary",checked:"on",class:"border-primary-500 bg-primary-500 dark:border-primary-500 dark:bg-primary-500"},{intent:"secondary",checked:"on",class:"border-secondary-500 bg-secondary-500 dark:border-secondary-500 dark:bg-secondary-500"},{intent:"danger",checked:"on",class:"border-danger-500 bg-danger-500 dark:border-danger-500 dark:bg-danger-500"},{intent:"warning",checked:"on",class:"border-warning-500 bg-warning-500 dark:border-warning-500 dark:bg-warning-500"},{intent:"success",checked:"on",class:"border-success-500 bg-success-500 dark:border-success-500 dark:bg-success-500"}],defaultVariants:{intent:"primary",size:"md",checked:"off"}});cva("",{variants:{intent:{primary:"",secondary:"",danger:"",warning:"",success:""},size:{sm:"",md:"",lg:""},checked:{on:"",off:"bg-primary-300 dark:bg-primary-800"}},compoundVariants:[{intent:"primary",checked:"on",class:"bg-primary-500 dark:bg-primary-500"},{intent:"secondary",checked:"on",class:"bg-secondary-500 dark:bg-secondary-500"},{intent:"danger",checked:"on",class:"bg-danger-500 dark:bg-danger-500"},{intent:"warning",checked:"on",class:"bg-warning-500 dark:bg-warning-500"},{intent:"success",checked:"on",class:"bg-success-500 dark:bg-success-500"}],defaultVariants:{intent:"primary",size:"md",checked:"off"}});function Ye(e,t){return e.key??(typeof e.label=="string"?e.label:String(t))}var te=40,Fe=200,ge=150,Me=120;function be(e,t,n,i){if(!i)return {};if(n){let g=(t-1-e)*te;return {animation:`dropdown-item-out ${ge}ms ease-in both ${g}ms`}}let m=e*te;return {animation:`dropdown-item-in ${Fe}ms ease-out both ${m}ms`}}function qe(e,t,n){if(!n)return {};if(t){let i=Math.max(e-1,0)*te+ge;return {animation:`dropdown-container-out ${Me}ms ease-in both ${i}ms`}}return {animation:"var(--animate-dropdown-container-in)"}}function fe({label:e,items:t,intent:n,size:i,align:m="left",className:g,disabled:p,editable:f=false,onAddItem:v,multiple:y=false,selected:b=[],onSelectionChange:S,animated:k=true,chevron:c=true,...w}){let[d,R]=useState(false),[D,r]=useState(false),[x,h]=useState(""),A=useRef(null),J=useRef(null),_=useRef(void 0);useEffect(()=>()=>{_.current&&clearTimeout(_.current);},[]);let I=useCallback(()=>{if(!k||!d){R(false),h("");return}r(true);let M=(Math.max(t.length,1)-1)*te+ge+Me+20;_.current=setTimeout(()=>{R(false),r(false),h("");},M);},[k,d,t.length]),Z=useCallback(()=>{p||(d?I():(_.current&&clearTimeout(_.current),r(false),R(true),h(""),f&&requestAnimationFrame(()=>J.current?.focus())));},[p,d,I,f]);useEffect(()=>{if(!d)return;let a=M=>{A.current&&!A.current.contains(M.target)&&I();};return document.addEventListener("mousedown",a),()=>document.removeEventListener("mousedown",a)},[d,I]),useEffect(()=>{if(!d)return;let a=M=>{M.key==="Escape"&&I();};return document.addEventListener("keydown",a),()=>document.removeEventListener("keydown",a)},[d,I]);let Y=x.toLowerCase(),K=useMemo(()=>x?t.filter(a=>(typeof a.label=="string"?a.label:a.key??"").toLowerCase().includes(Y)):t,[t,Y]),L=useMemo(()=>!f||!x.trim()?false:!t.some(a=>(typeof a.label=="string"?a.label:a.key??"").toLowerCase()===Y),[f,Y,t]),G=useCallback(()=>{let a=x.trim();a&&(v?.(a),h(""));},[x,v]),U=useCallback(a=>{a.key==="Enter"&&L&&(a.preventDefault(),G());},[L,G]),P=useCallback(a=>{let M=b.includes(a)?b.filter(j=>j!==a):[...b,a];S?.(M);},[b,S]),oe=y&&b.length>0?jsxs(Fragment,{children:[e," ",jsx("span",{className:"ml-1 rounded-full bg-white/20 px-1.5 text-xs font-semibold",children:b.length})]}):e,V=K.length===0&&!L||L?1:0,E=K.length+V;return jsxs("div",{ref:A,className:"relative inline-block",children:[jsxs("button",{type:"button",onClick:Z,disabled:p,className:s(Ce({intent:n,size:i}),"inline-flex items-center gap-1",g),"aria-haspopup":y?"listbox":"true","aria-expanded":d?"true":"false",...w,children:[oe,c&&jsx(ChevronDown,{className:s("h-3.5 w-3.5 transition-transform",d&&"rotate-180")})]}),d&&jsxs("div",{className:s("absolute z-50 mt-1 min-w-44 rounded-md border py-1 shadow-lg","border-primary-200 dark:border-primary-700 dark:bg-primary-800 bg-white",m==="right"?"right-0":"left-0"),style:qe(E,D,k),role:y?"listbox":"menu","aria-multiselectable":y||void 0,children:[f&&jsx("div",{className:"border-primary-200 dark:border-primary-700 border-b px-2 pb-1.5 pt-1",children:jsx("input",{ref:J,type:"text",value:x,onChange:a=>h(a.target.value),onKeyDown:U,placeholder:"Type to filter or add\u2026",className:"w-full bg-transparent text-sm text-secondary-900 placeholder:text-secondary-400 focus:outline-none dark:text-secondary-100 dark:placeholder:text-secondary-600"})}),jsxs("div",{className:"max-h-60 overflow-y-auto",children:[K.map((a,M)=>{let j=Ye(a,M),W=y&&b.includes(j);return jsxs(_e.Fragment,{children:[a.divider&&jsx("div",{className:"border-primary-200 dark:border-primary-700 my-1 border-t"}),jsxs("button",{type:"button",role:y?"option":"menuitem","aria-selected":y?W:void 0,disabled:a.disabled,className:s("flex w-full cursor-pointer items-center gap-2 px-3 py-1.5 text-left text-sm transition-colors","text-primary-700 hover:bg-primary-100 dark:text-primary-300 dark:hover:bg-primary-700/50",a.disabled&&"pointer-events-none opacity-50"),style:be(M,E,D,k),onClick:()=>{y?P(j):(a.onClick?.(),_.current&&clearTimeout(_.current),R(false),r(false),h(""));},children:[y&&jsx("span",{className:s("flex h-4 w-4 shrink-0 items-center justify-center rounded border transition-colors",W?"border-primary-600 bg-primary-600 text-white dark:border-primary-500 dark:bg-primary-500":"border-secondary-300 bg-white dark:border-secondary-600 dark:bg-secondary-800"),children:W&&jsx(Check,{className:"h-3 w-3"})}),jsx("span",{className:"flex-1 truncate",children:a.label})]})]},j)}),K.length===0&&!L&&jsx("div",{className:"text-primary-400 px-3 py-2 text-center text-sm",style:be(0,1,D,k),children:"No matches"}),L&&jsxs("button",{type:"button",className:s("flex w-full cursor-pointer items-center gap-2 px-3 py-1.5 text-left text-sm transition-colors","text-primary-600 hover:bg-primary-50 dark:text-primary-400 dark:hover:bg-primary-900/30"),style:be(K.length,E,D,k),onClick:G,children:[jsx("span",{className:"flex h-4 w-4 shrink-0 items-center justify-center text-lg leading-none",children:"+"}),jsxs("span",{className:"truncate",children:["Add \u201C",x.trim(),"\u201D"]})]})]})]})]})}function Qe({href:e,className:t,onClick:n,children:i}){return jsx("a",{href:e,className:t,onClick:n,children:i})}function ye({brand:e,onBrandClick:t,navItems:n=[],actions:i=[],linkComponent:m=Qe,height:g="h-12",mobileMenu:p=false,navMenuIcon:f,actionsMenuIcon:v,className:y,children:b}){let S=p&&n.length>0,k=p&&i.length>0,c="md:hidden rounded-md px-1.5 py-1.5 text-primary-500 dark:text-primary-400 hover:text-primary-700 dark:hover:text-primary-200 [&_svg]:h-5 [&_svg]:w-5",w=r=>r?"text-primary-900 font-medium dark:text-primary-100":"text-primary-500 hover:text-primary-700 dark:text-primary-400 dark:hover:text-primary-200 transition-colors",d="rounded-md p-1.5 text-primary-500 hover:bg-primary-100 hover:text-primary-700 dark:text-primary-400 dark:hover:bg-primary-800 dark:hover:text-primary-200 transition-colors [&_svg]:h-5 [&_svg]:w-5",R=n.map((r,x)=>({key:typeof r.label=="string"?r.label:String(x),label:r.active?jsx("span",{className:"font-semibold text-primary-900 dark:text-primary-100",children:r.label}):r.label,onClick:()=>{r.onClick?r.onClick({preventDefault:()=>{},stopPropagation:()=>{}}):r.href&&(window.location.href=r.href);}})),D=i.map((r,x)=>({key:r.key??String(x),label:jsxs("span",{className:"flex items-center gap-2 [&_svg]:h-4 [&_svg]:w-4 [&_svg]:shrink-0",children:[r.icon,jsx("span",{children:r.ariaLabel})]}),onClick:()=>{r.onClick?r.onClick({preventDefault:()=>{},stopPropagation:()=>{}}):r.href&&(r.external?window.open(r.href,"_blank","noopener,noreferrer"):window.location.href=r.href);}}));return jsxs("header",{className:s("flex shrink-0 items-center justify-between border-b px-5","border-primary-200 bg-white dark:border-primary-700 dark:bg-primary-900",g,y),children:[jsxs("div",{className:"flex items-center gap-2 md:gap-6",children:[e&&jsx("div",{className:s("text-lg font-bold text-primary-800 dark:text-primary-100",t&&"cursor-pointer"),onClick:t,role:t?"button":void 0,tabIndex:t?0:void 0,onKeyDown:t?r=>{(r.key==="Enter"||r.key===" ")&&(r.preventDefault(),t(r));}:void 0,children:e}),S&&jsx(fe,{intent:"ghost",size:"sm",className:c,label:f??jsx(PanelLeft,{className:"h-5 w-5"}),items:R,align:"left",chevron:false,"aria-label":"Open navigation"}),n.length>0&&jsx("nav",{className:s("flex items-center gap-4 text-sm",p?"hidden md:flex":"flex"),children:n.map((r,x)=>{let h=typeof r.label=="string"?r.label:x,A=w(r.active);return r.href?jsx(m,{href:r.href,className:A,onClick:r.onClick,children:r.label},h):jsx("button",{type:"button",className:s(A,"cursor-pointer"),onClick:r.onClick,children:r.label},h)})})]}),b&&jsx("div",{className:"flex items-center",children:b}),jsxs("div",{className:"flex items-center gap-1",children:[i.length>0&&jsx("div",{className:s("flex items-center gap-1",p?"hidden md:flex":"flex"),children:i.map((r,x)=>r.href?jsx("a",{href:r.href,target:r.external?"_blank":void 0,rel:r.external?"noopener noreferrer":void 0,className:d,"aria-label":r.ariaLabel,onClick:r.onClick,children:r.icon},r.key??x):jsx("button",{type:"button",className:d,"aria-label":r.ariaLabel,onClick:r.onClick,children:r.icon},r.key??x))}),k&&jsx(fe,{intent:"ghost",size:"sm",className:c,label:v??jsx(MoreHorizontal,{className:"h-5 w-5"}),items:D,align:"right",chevron:false,"aria-label":"Open menu"})]})]})}var Se=cva("inline-flex items-center gap-1 underline-offset-2 transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary-500/20 [&_svg]:shrink-0",{variants:{intent:{default:"text-primary-600 hover:text-primary-800 active:text-primary-900 dark:text-primary-400 dark:hover:text-primary-200 dark:active:text-primary-100",secondary:"text-secondary-500 hover:text-secondary-700 active:text-secondary-800 dark:text-secondary-400 dark:hover:text-secondary-200 dark:active:text-secondary-100",muted:"text-primary-400 hover:text-primary-600 dark:text-primary-500 dark:hover:text-primary-300"},size:{sm:"text-xs [&_svg]:h-3 [&_svg]:w-3",md:"text-sm [&_svg]:h-3.5 [&_svg]:w-3.5",lg:"text-base [&_svg]:h-4 [&_svg]:w-4"},underline:{always:"underline",hover:"hover:underline",none:"no-underline"}},defaultVariants:{intent:"default",size:"md",underline:"none"}});function Ze(e,t){return !!(t==="_blank"||e&&/^https?:\/\//.test(e))}var er=e=>jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":true,...e,children:[jsx("path",{d:"M15 3h6v6"}),jsx("path",{d:"M10 14 21 3"}),jsx("path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"})]});function he({intent:e,size:t,underline:n,external:i,className:m,children:g,href:p,target:f,rel:v,...y}){let b=i??Ze(p,f);return jsxs("a",{href:p,target:b&&!f?"_blank":f,rel:b&&!v?"noopener noreferrer":v,className:s(Se({intent:e,size:t,underline:n}),m),...y,children:[g,b&&jsx(er,{})]})}var rr={SideNav:ce,Header:ye,NavLink:he},Kr=rr;
|
|
2
|
+
export{ye as Header,he as NavLink,rr as Navigation,ce as SideNav,Kr as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';var react=require('react'),clsx=require('clsx'),tailwindMerge=require('tailwind-merge'),jsxRuntime=require('react/jsx-runtime');function o(...n){return tailwindMerge.twMerge(clsx.clsx(n))}var w={sm:"px-2 py-1.5 text-xs min-h-[60px]",md:"px-3 py-2 text-sm min-h-[80px]",lg:"px-4 py-2.5 text-base min-h-[100px]"},T={default:"border-secondary-
|
|
1
|
+
'use strict';var react=require('react'),clsx=require('clsx'),tailwindMerge=require('tailwind-merge'),jsxRuntime=require('react/jsx-runtime');function o(...n){return tailwindMerge.twMerge(clsx.clsx(n))}var w={sm:"px-2 py-1.5 text-xs min-h-[60px]",md:"px-3 py-2 text-sm min-h-[80px]",lg:"px-4 py-2.5 text-base min-h-[100px]"},T={default:"border-secondary-400 focus:border-primary-500 focus:ring-2 focus:ring-primary-500/20 dark:border-secondary-600",error:"border-danger-400 focus:border-danger-500 focus:ring-2 focus:ring-danger-500/20"};function k(n){if(!n)return 0;let a="\u2E80-\u2EFF\u3000-\u303F\u3040-\u309F\u30A0-\u30FF\u3400-\u4DBF\u4E00-\u9FFF\uAC00-\uD7AF\uF900-\uFAFF\uFE30-\uFE4F\uFF00-\uFFEF",u=new RegExp(`[${a}]`),e=0,s="",t=()=>{let r=s.trim();r&&(e+=r.split(/\s+/).length),s="";};for(let r of n)u.test(r)?(t(),e+=1):s+=r;return t(),e}function H({state:n="default",size:a="md",showWordCount:u=false,maxWords:e,className:s,value:t,defaultValue:r,onChange:i,disabled:d,...p}){let[g,F]=react.useState(()=>r??""),l=t!==void 0?String(t):g,y=react.useCallback(x=>{t===void 0&&F(x.target.value),i?.(x);},[t,i]),c=react.useMemo(()=>k(l),[l]),f=e!=null&&c>e;return jsxRuntime.jsxs("div",{className:o("inline-flex w-full flex-col",s),children:[jsxRuntime.jsx("textarea",{value:l,onChange:y,disabled:d,className:o("w-full resize-y rounded-md border bg-white text-secondary-900 transition-colors placeholder:text-secondary-400 focus:outline-none dark:bg-secondary-900 dark:text-secondary-100 dark:placeholder:text-secondary-600",w[a],T[f?"error":n],d&&"pointer-events-none opacity-50"),...p}),(u||e!=null)&&jsxRuntime.jsx("span",{className:o("mt-1 self-end text-xs",f?"text-danger-500 dark:text-danger-400":"text-secondary-400 dark:text-secondary-500"),children:e!=null?`${c} / ${e} words`:`${c} words`})]})}exports.TextBox=H;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import {useState,useCallback,useMemo}from'react';import {clsx}from'clsx';import {twMerge}from'tailwind-merge';import {jsxs,jsx}from'react/jsx-runtime';function o(...n){return twMerge(clsx(n))}var w={sm:"px-2 py-1.5 text-xs min-h-[60px]",md:"px-3 py-2 text-sm min-h-[80px]",lg:"px-4 py-2.5 text-base min-h-[100px]"},T={default:"border-secondary-
|
|
1
|
+
import {useState,useCallback,useMemo}from'react';import {clsx}from'clsx';import {twMerge}from'tailwind-merge';import {jsxs,jsx}from'react/jsx-runtime';function o(...n){return twMerge(clsx(n))}var w={sm:"px-2 py-1.5 text-xs min-h-[60px]",md:"px-3 py-2 text-sm min-h-[80px]",lg:"px-4 py-2.5 text-base min-h-[100px]"},T={default:"border-secondary-400 focus:border-primary-500 focus:ring-2 focus:ring-primary-500/20 dark:border-secondary-600",error:"border-danger-400 focus:border-danger-500 focus:ring-2 focus:ring-danger-500/20"};function k(n){if(!n)return 0;let a="\u2E80-\u2EFF\u3000-\u303F\u3040-\u309F\u30A0-\u30FF\u3400-\u4DBF\u4E00-\u9FFF\uAC00-\uD7AF\uF900-\uFAFF\uFE30-\uFE4F\uFF00-\uFFEF",u=new RegExp(`[${a}]`),e=0,s="",t=()=>{let r=s.trim();r&&(e+=r.split(/\s+/).length),s="";};for(let r of n)u.test(r)?(t(),e+=1):s+=r;return t(),e}function H({state:n="default",size:a="md",showWordCount:u=false,maxWords:e,className:s,value:t,defaultValue:r,onChange:i,disabled:d,...p}){let[g,F]=useState(()=>r??""),l=t!==void 0?String(t):g,y=useCallback(x=>{t===void 0&&F(x.target.value),i?.(x);},[t,i]),c=useMemo(()=>k(l),[l]),f=e!=null&&c>e;return jsxs("div",{className:o("inline-flex w-full flex-col",s),children:[jsx("textarea",{value:l,onChange:y,disabled:d,className:o("w-full resize-y rounded-md border bg-white text-secondary-900 transition-colors placeholder:text-secondary-400 focus:outline-none dark:bg-secondary-900 dark:text-secondary-100 dark:placeholder:text-secondary-600",w[a],T[f?"error":n],d&&"pointer-events-none opacity-50"),...p}),(u||e!=null)&&jsx("span",{className:o("mt-1 self-end text-xs",f?"text-danger-500 dark:text-danger-400":"text-secondary-400 dark:text-secondary-500"),children:e!=null?`${c} / ${e} words`:`${c} words`})]})}export{H as TextBox};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';Object.defineProperty(exports,'__esModule',{value:true});var clsx=require('clsx'),tailwindMerge=require('tailwind-merge'),classVarianceAuthority=require('class-variance-authority'),jsxRuntime=require('react/jsx-runtime'),Ze=require('react'),lucideReact=require('lucide-react');function _interopDefault(e){return e&&e.__esModule?e:{default:e}}var Ze__default=/*#__PURE__*/_interopDefault(Ze);function o(...e){return tailwindMerge.twMerge(clsx.clsx(e))}var X=classVarianceAuthority.cva("inline-flex cursor-pointer items-center justify-center gap-1.5 rounded font-medium transition-colors disabled:pointer-events-none disabled:opacity-50 [&_svg]:shrink-0",{variants:{intent:{primary:"bg-primary-500 text-white hover:bg-primary-600 active:bg-primary-700",secondary:"bg-secondary-500 text-white hover:bg-secondary-600 active:bg-secondary-700",danger:"bg-danger-500 text-white hover:bg-danger-600 active:bg-danger-700",warning:"bg-warning-500 text-white hover:bg-warning-600 active:bg-warning-700",ghost:"bg-transparent text-primary-700 hover:bg-primary-100 active:bg-primary-200 dark:text-primary-300 dark:hover:bg-primary-800",outline:"border border-primary-300 bg-transparent text-primary-700 hover:bg-primary-50 dark:border-primary-600 dark:text-primary-300 dark:hover:bg-primary-800"},size:{sm:"h-7 px-3 text-xs [&_svg]:h-3.5 [&_svg]:w-3.5",md:"h-9 px-4 text-sm [&_svg]:h-4 [&_svg]:w-4",lg:"h-11 px-6 text-base [&_svg]:h-5 [&_svg]:w-5"}},defaultVariants:{intent:"primary",size:"md"}}),Me=classVarianceAuthority.cva("inline-flex items-center gap-1 rounded border font-semibold [&_svg]:shrink-0",{variants:{intent:{success:"border-success-200 bg-success-100 text-success-800 dark:border-success-800 dark:bg-success-900/30 dark:text-success-400",warning:"border-warning-200 bg-warning-100 text-warning-800 dark:border-warning-800 dark:bg-warning-900/30 dark:text-warning-400",error:"border-danger-200 bg-danger-100 text-danger-800 dark:border-danger-800 dark:bg-danger-900/30 dark:text-danger-400",info:"border-primary-200 bg-primary-100 text-primary-800 dark:border-primary-800 dark:bg-primary-900/30 dark:text-primary-400",primary:"border-secondary-200 bg-secondary-100 text-secondary-700 dark:border-secondary-700 dark:bg-secondary-800 dark:text-secondary-300"},size:{sm:"px-1.5 py-0 text-[0.625rem] [&_svg]:h-2.5 [&_svg]:w-2.5",md:"px-2.5 py-0.5 text-xs [&_svg]:h-3 [&_svg]:w-3",lg:"px-3 py-1 text-sm [&_svg]:h-3.5 [&_svg]:w-3.5"}},defaultVariants:{intent:"primary",size:"md"}}),Pe=classVarianceAuthority.cva("absolute flex items-center justify-center rounded-full font-bold leading-none ring-2 ring-white select-none pointer-events-none z-10 dark:ring-primary-900",{variants:{intent:{danger:"bg-danger-500 text-white",success:"bg-success-500 text-white",warning:"bg-warning-500 text-white",info:"bg-primary-500 text-white",primary:"bg-secondary-500 text-white"},size:{sm:"text-[0.5rem]",md:"text-[0.625rem]",lg:"text-xs"},dot:{true:"",false:""},placement:{"top-right":"top-0 right-0 translate-x-1/2 -translate-y-1/2","top-left":"top-0 left-0 -translate-x-1/2 -translate-y-1/2","bottom-right":"bottom-0 right-0 translate-x-1/2 translate-y-1/2","bottom-left":"bottom-0 left-0 -translate-x-1/2 translate-y-1/2"}},compoundVariants:[{dot:true,size:"sm",class:"h-1.5 w-1.5 min-w-0 ring-1"},{dot:true,size:"md",class:"h-2 w-2 min-w-0"},{dot:true,size:"lg",class:"h-2.5 w-2.5 min-w-0"},{dot:false,size:"sm",class:"h-4 min-w-4 px-1"},{dot:false,size:"md",class:"h-5 min-w-5 px-1.5"},{dot:false,size:"lg",class:"h-6 min-w-6 px-2"}],defaultVariants:{intent:"danger",size:"md",dot:false,placement:"top-right"}}),Y=classVarianceAuthority.cva("w-full rounded-md border bg-white text-secondary-900 transition-colors placeholder:text-secondary-400 focus:outline-none focus:ring-2 dark:bg-secondary-900 dark:text-secondary-100 dark:placeholder:text-secondary-600",{variants:{state:{default:"border-secondary-300 focus:border-primary-500 focus:ring-primary-500/20 dark:border-secondary-600",error:"border-danger-400 focus:border-danger-500 focus:ring-danger-500/20"},size:{sm:"h-7 px-2 text-xs",md:"h-9 px-3 py-2 text-sm",lg:"h-11 px-4 py-2.5 text-base"}},defaultVariants:{state:"default",size:"md"}}),Se=classVarianceAuthority.cva("inline-flex items-center gap-1 font-medium [&_svg]:shrink-0",{variants:{size:{sm:"text-xs [&_svg]:h-3 [&_svg]:w-3",md:"text-sm [&_svg]:h-3.5 [&_svg]:w-3.5",lg:"text-base [&_svg]:h-4 [&_svg]:w-4"},intent:{default:"text-primary-700 dark:text-primary-300",muted:"text-primary-400 dark:text-primary-500",required:"text-primary-700 dark:text-primary-300 after:ml-0.5 after:text-danger-500 after:content-['*']"}},defaultVariants:{size:"md",intent:"default"}}),Le=classVarianceAuthority.cva("relative inline-flex shrink-0 items-center justify-center rounded border-2 transition-all duration-200 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2",{variants:{intent:{primary:"border-primary-300 dark:border-primary-600 focus-visible:ring-primary-500/40",secondary:"border-secondary-300 dark:border-secondary-600 focus-visible:ring-secondary-500/40",danger:"border-danger-300 dark:border-danger-600 focus-visible:ring-danger-500/40",warning:"border-warning-300 dark:border-warning-600 focus-visible:ring-warning-500/40",success:"border-success-300 dark:border-success-600 focus-visible:ring-success-500/40"},size:{sm:"h-4 w-4 rounded-[3px]",md:"h-5 w-5 rounded",lg:"h-6 w-6 rounded-[5px]"},checked:{on:"",off:"bg-white dark:bg-primary-900"}},compoundVariants:[{intent:"primary",checked:"on",class:"border-primary-500 bg-primary-500 dark:border-primary-500 dark:bg-primary-500"},{intent:"secondary",checked:"on",class:"border-secondary-500 bg-secondary-500 dark:border-secondary-500 dark:bg-secondary-500"},{intent:"danger",checked:"on",class:"border-danger-500 bg-danger-500 dark:border-danger-500 dark:bg-danger-500"},{intent:"warning",checked:"on",class:"border-warning-500 bg-warning-500 dark:border-warning-500 dark:bg-warning-500"},{intent:"success",checked:"on",class:"border-success-500 bg-success-500 dark:border-success-500 dark:bg-success-500"}],defaultVariants:{intent:"primary",size:"md",checked:"off"}}),Ee=classVarianceAuthority.cva("relative inline-flex shrink-0 items-center justify-center rounded-full border-2 transition-all duration-200 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2",{variants:{intent:{primary:"border-primary-300 dark:border-primary-600 focus-visible:ring-primary-500/40",secondary:"border-secondary-300 dark:border-secondary-600 focus-visible:ring-secondary-500/40",danger:"border-danger-300 dark:border-danger-600 focus-visible:ring-danger-500/40",warning:"border-warning-300 dark:border-warning-600 focus-visible:ring-warning-500/40",success:"border-success-300 dark:border-success-600 focus-visible:ring-success-500/40"},size:{sm:"h-4 w-4",md:"h-5 w-5",lg:"h-6 w-6"},checked:{on:"",off:"bg-white dark:bg-primary-900"}},compoundVariants:[{intent:"primary",checked:"on",class:"border-primary-500 bg-primary-500 dark:border-primary-500 dark:bg-primary-500"},{intent:"secondary",checked:"on",class:"border-secondary-500 bg-secondary-500 dark:border-secondary-500 dark:bg-secondary-500"},{intent:"danger",checked:"on",class:"border-danger-500 bg-danger-500 dark:border-danger-500 dark:bg-danger-500"},{intent:"warning",checked:"on",class:"border-warning-500 bg-warning-500 dark:border-warning-500 dark:bg-warning-500"},{intent:"success",checked:"on",class:"border-success-500 bg-success-500 dark:border-success-500 dark:bg-success-500"}],defaultVariants:{intent:"primary",size:"md",checked:"off"}}),Ie=classVarianceAuthority.cva("",{variants:{intent:{primary:"",secondary:"",danger:"",warning:"",success:""},size:{sm:"",md:"",lg:""},checked:{on:"",off:"bg-primary-300 dark:bg-primary-800"}},compoundVariants:[{intent:"primary",checked:"on",class:"bg-primary-500 dark:bg-primary-500"},{intent:"secondary",checked:"on",class:"bg-secondary-500 dark:bg-secondary-500"},{intent:"danger",checked:"on",class:"bg-danger-500 dark:bg-danger-500"},{intent:"warning",checked:"on",class:"bg-warning-500 dark:bg-warning-500"},{intent:"success",checked:"on",class:"bg-success-500 dark:bg-success-500"}],defaultVariants:{intent:"primary",size:"md",checked:"off"}});function se({intent:e,size:t,className:r,...n}){return jsxRuntime.jsx("button",{className:o(X({intent:e,size:t}),r),...n})}function de(e,t){for(let r of e){if(r.value===t)return r;if(r.children){let n=de(r.children,t);if(n)return n}}}function ce(e){let t=[];for(let r of e)r.children?.length||t.push(r),r.children&&t.push(...ce(r.children));return t}var re=40,Xe=200,le=150,De=120;function te(e,t,r,n){if(!n)return {};if(r){let d=(t-1-e)*re;return {animation:`dropdown-item-out ${le}ms ease-in both ${d}ms`}}let l=e*re;return {animation:`dropdown-item-in ${Xe}ms ease-out both ${l}ms`}}function _e(e,t,r){if(!r)return {};if(t){let n=Math.max(e-1,0)*re+le;return {animation:`dropdown-container-out ${De}ms ease-in both ${n}ms`}}return {animation:"var(--animate-dropdown-container-in)"}}function ze({options:e,onSelect:t,animated:r=true,closing:n=false,depth:l=0}){let[d,p]=Ze.useState(null),u=Ze.useRef(void 0),y=a=>{u.current&&clearTimeout(u.current),p(a);},f=()=>{u.current=setTimeout(()=>p(null),150);};return Ze.useEffect(()=>()=>{u.current&&clearTimeout(u.current);},[]),jsxRuntime.jsx("div",{className:o("absolute z-50 min-w-44 rounded-md border py-1 shadow-lg overflow-hidden","border-primary-200 dark:border-primary-700 dark:bg-primary-800 bg-white",l===0?"mt-1 w-full":"top-0 ml-0.5"),style:{...l>0?{left:"100%"}:{},..._e(e.length,n,r)},role:"listbox",children:e.map((a,k)=>{let g=!!a.children?.length,v=d===a.value;return jsxRuntime.jsxs("div",{className:"relative",style:te(k,e.length,n,r),onMouseEnter:()=>y(a.value),onMouseLeave:f,children:[jsxRuntime.jsxs("div",{role:"option","aria-selected":false,"aria-disabled":a.disabled,className:o("flex w-full cursor-pointer items-center gap-2 px-3 py-1.5 text-left text-sm transition-colors","text-primary-700 hover:bg-primary-100 dark:text-primary-300 dark:hover:bg-primary-700/50",a.disabled&&"pointer-events-none opacity-50"),onClick:()=>{a.disabled||g||t(a.value,a);},children:[a.icon&&jsxRuntime.jsx("span",{className:"flex h-4 w-4 shrink-0 items-center justify-center",children:a.icon}),jsxRuntime.jsx("span",{className:"flex-1 truncate",children:a.label??a.value}),g&&jsxRuntime.jsx(lucideReact.ChevronRight,{className:"text-primary-400 h-3.5 w-3.5 shrink-0"})]}),g&&v&&jsxRuntime.jsx(ze,{options:a.children,onSelect:t,animated:r,depth:l+1})]},a.value)})})}function Ye({options:e,filter:t,multiple:r,selected:n,canAdd:l,animated:d=true,closing:p=false,onSelect:u,onToggle:y,onAdd:f}){let a=Ze.useMemo(()=>ce(e),[e]),k=t.toLowerCase(),g=t?a.filter(i=>(i.label??i.value).toLowerCase().includes(k)||i.value.toLowerCase().includes(k)):a,v=g.length===0&&!l||l?1:0,w=g.length+v;return jsxRuntime.jsxs("div",{className:o("absolute z-50 mt-1 w-full max-h-60 min-w-44 overflow-y-auto rounded-md border py-1 shadow-lg","border-primary-200 dark:border-primary-700 dark:bg-primary-800 bg-white"),role:"listbox","aria-multiselectable":r||void 0,style:_e(w,p,d),children:[g.map((i,s)=>{let x=r&&n.includes(i.value);return jsxRuntime.jsxs("div",{role:"option","aria-selected":r?x:false,"aria-disabled":i.disabled,className:o("flex w-full cursor-pointer items-center gap-2 px-3 py-1.5 text-left text-sm transition-colors","text-primary-700 hover:bg-primary-100 dark:text-primary-300 dark:hover:bg-primary-700/50",i.disabled&&"pointer-events-none opacity-50"),style:te(s,w,p,d),onClick:()=>{i.disabled||(r?y(i.value):u(i.value,i));},children:[r&&jsxRuntime.jsx("span",{className:o("flex h-4 w-4 shrink-0 items-center justify-center rounded border transition-colors",x?"border-primary-600 bg-primary-600 text-white dark:border-primary-500 dark:bg-primary-500":"border-secondary-300 bg-white dark:border-secondary-600 dark:bg-secondary-800"),children:x&&jsxRuntime.jsx(lucideReact.Check,{className:"h-3 w-3"})}),i.icon&&jsxRuntime.jsx("span",{className:"flex h-4 w-4 shrink-0 items-center justify-center",children:i.icon}),jsxRuntime.jsx("span",{className:"truncate",children:i.label??i.value})]},i.value)}),g.length===0&&!l&&jsxRuntime.jsx("div",{className:"text-primary-400 px-3 py-2 text-center text-sm",style:te(0,1,p,d),children:"No matches"}),l&&jsxRuntime.jsxs("div",{className:o("flex w-full cursor-pointer items-center gap-2 px-3 py-1.5 text-left text-sm transition-colors","text-primary-600 hover:bg-primary-50 dark:text-primary-400 dark:hover:bg-primary-900/30"),style:te(g.length,w,p,d),onClick:f,children:[jsxRuntime.jsx("span",{className:"flex h-4 w-4 shrink-0 items-center justify-center text-lg leading-none",children:"+"}),jsxRuntime.jsxs("span",{className:"truncate",children:["Add \u201C",t.trim(),"\u201D"]})]})]})}function pe(e){let{options:t,placeholder:r="Select\u2026",editable:n=false,onAddItem:l,disabled:d=false,align:p="left",className:u,size:y="md",animated:f=true}=e,a=e.multiple===true,[k,g]=Ze.useState(a?void 0:e.defaultValue),[v,w]=Ze.useState(a?e.defaultSelected??[]:[]),i=a?e.selected??v:[],[s,x]=Ze.useState(false),[R,C]=Ze.useState(false),[h,P]=Ze.useState(""),D=Ze.useRef(null),M=Ze.useRef(null),T=Ze.useRef(void 0),_=Ze.useCallback(()=>{if(!f||!s){x(false),P("");return}C(true);let b=(Math.max(t.length,1)-1)*re+le+De+20;T.current=setTimeout(()=>{x(false),C(false),P("");},b);},[f,s,t.length]);Ze.useEffect(()=>()=>{T.current&&clearTimeout(T.current);},[]);let z=a?void 0:e.value??k,S=Ze.useMemo(()=>z?de(t,z):void 0,[t,z]);Ze.useEffect(()=>{if(!s)return;let m=b=>{D.current&&!D.current.contains(b.target)&&_();};return document.addEventListener("mousedown",m),()=>document.removeEventListener("mousedown",m)},[s,_]),Ze.useEffect(()=>{if(!s)return;let m=b=>{b.key==="Escape"&&_();};return document.addEventListener("keydown",m),()=>document.removeEventListener("keydown",m)},[s,_]);let E=Ze.useCallback((m,b)=>{a||(e.value===void 0&&g(m),e.onChange?.(m,b)),T.current&&clearTimeout(T.current),x(false),C(false),P("");},[a,e]),G=Ze.useCallback(m=>{if(!a)return;let b=e.selected??v,Ve=b.includes(m)?b.filter(Ge=>Ge!==m):[...b,m];e.selected===void 0&&w(Ve),e.onSelectionChange?.(Ve);},[a,v,e]),q=h.toLowerCase(),U=Ze.useMemo(()=>!n||!h.trim()?false:!ce(t).some(b=>b.value.toLowerCase()===q||(b.label??b.value).toLowerCase()===q),[n,q,t]),j=Ze.useCallback(()=>{let m=h.trim();m&&(l?.(m),P(""));},[h,l]),oe=Ze.useCallback(m=>{m.key==="Enter"&&U&&(m.preventDefault(),j());},[U,j]),J=Ze.useCallback(()=>{d||(s?_():(T.current&&clearTimeout(T.current),C(false),x(true),P(""),n&&requestAnimationFrame(()=>M.current?.focus())));},[d,s,_,n]),c;if(a){let m=i.length;m===0?c="":m<=2?c=i.map(b=>de(t,b)).map(b=>b?b.label??b.value:"").filter(Boolean).join(", "):c=`${m} selected`;}else c=S?S.label??S.value:"";let V=a||n;return jsxRuntime.jsxs("div",{ref:D,className:o("relative inline-block min-w-44",u),children:[jsxRuntime.jsxs("div",{className:o(Y({state:"default",size:y}),"flex cursor-pointer items-center gap-1",d&&"pointer-events-none opacity-50"),onClick:J,role:"combobox","aria-expanded":s,"aria-haspopup":"listbox",children:[n?jsxRuntime.jsx("input",{ref:M,className:"min-w-0 flex-1 bg-transparent outline-none placeholder:text-secondary-400 dark:placeholder:text-secondary-600",value:s?h:c,placeholder:r,disabled:d,onChange:m=>{P(m.target.value),s||x(true);},onKeyDown:oe,onClick:m=>{m.stopPropagation(),s||x(true);}}):jsxRuntime.jsx("span",{className:o("flex-1 truncate",!c&&"text-secondary-400 dark:text-secondary-600"),children:c||r}),S?.icon&&!n&&!a&&jsxRuntime.jsx("span",{className:"flex h-4 w-4 shrink-0 items-center justify-center",children:S.icon}),a&&i.length>0&&jsxRuntime.jsx("span",{className:"rounded-full bg-primary-100 px-1.5 text-xs font-semibold text-primary-700 dark:bg-primary-900 dark:text-primary-300",children:i.length}),jsxRuntime.jsx(lucideReact.ChevronDown,{className:o("text-primary-400 h-4 w-4 shrink-0 transition-transform",s&&"rotate-180")})]}),s&&jsxRuntime.jsx("div",{className:o(p==="right"?"right-0":"left-0","absolute w-full"),children:V?jsxRuntime.jsx(Ye,{options:t,filter:h,multiple:a,selected:i,canAdd:U,animated:f,closing:R,onSelect:E,onToggle:G,onAdd:j}):jsxRuntime.jsx(ze,{options:t,onSelect:E,animated:f,closing:R})})]})}function rt(e,t){return e.key??(typeof e.label=="string"?e.label:String(t))}var ne=40,nt=200,be=150,Fe=120;function ge(e,t,r,n){if(!n)return {};if(r){let d=(t-1-e)*ne;return {animation:`dropdown-item-out ${be}ms ease-in both ${d}ms`}}let l=e*ne;return {animation:`dropdown-item-in ${nt}ms ease-out both ${l}ms`}}function at(e,t,r){if(!r)return {};if(t){let n=Math.max(e-1,0)*ne+be;return {animation:`dropdown-container-out ${Fe}ms ease-in both ${n}ms`}}return {animation:"var(--animate-dropdown-container-in)"}}function ye({label:e,items:t,intent:r,size:n,align:l="left",className:d,disabled:p,editable:u=false,onAddItem:y,multiple:f=false,selected:a=[],onSelectionChange:k,animated:g=true,chevron:v=true,...w}){let[i,s]=Ze.useState(false),[x,R]=Ze.useState(false),[C,h]=Ze.useState(""),P=Ze.useRef(null),D=Ze.useRef(null),M=Ze.useRef(void 0);Ze.useEffect(()=>()=>{M.current&&clearTimeout(M.current);},[]);let T=Ze.useCallback(()=>{if(!g||!i){s(false),h("");return}R(true);let V=(Math.max(t.length,1)-1)*ne+be+Fe+20;M.current=setTimeout(()=>{s(false),R(false),h("");},V);},[g,i,t.length]),_=Ze.useCallback(()=>{p||(i?T():(M.current&&clearTimeout(M.current),R(false),s(true),h(""),u&&requestAnimationFrame(()=>D.current?.focus())));},[p,i,T,u]);Ze.useEffect(()=>{if(!i)return;let c=V=>{P.current&&!P.current.contains(V.target)&&T();};return document.addEventListener("mousedown",c),()=>document.removeEventListener("mousedown",c)},[i,T]),Ze.useEffect(()=>{if(!i)return;let c=V=>{V.key==="Escape"&&T();};return document.addEventListener("keydown",c),()=>document.removeEventListener("keydown",c)},[i,T]);let z=C.toLowerCase(),S=Ze.useMemo(()=>C?t.filter(c=>(typeof c.label=="string"?c.label:c.key??"").toLowerCase().includes(z)):t,[t,z]),E=Ze.useMemo(()=>!u||!C.trim()?false:!t.some(c=>(typeof c.label=="string"?c.label:c.key??"").toLowerCase()===z),[u,z,t]),G=Ze.useCallback(()=>{let c=C.trim();c&&(y?.(c),h(""));},[C,y]),q=Ze.useCallback(c=>{c.key==="Enter"&&E&&(c.preventDefault(),G());},[E,G]),U=Ze.useCallback(c=>{let V=a.includes(c)?a.filter(m=>m!==c):[...a,c];k?.(V);},[a,k]),j=f&&a.length>0?jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[e," ",jsxRuntime.jsx("span",{className:"ml-1 rounded-full bg-white/20 px-1.5 text-xs font-semibold",children:a.length})]}):e,oe=S.length===0&&!E||E?1:0,J=S.length+oe;return jsxRuntime.jsxs("div",{ref:P,className:"relative inline-block",children:[jsxRuntime.jsxs("button",{type:"button",onClick:_,disabled:p,className:o(X({intent:r,size:n}),"inline-flex items-center gap-1",d),"aria-haspopup":f?"listbox":"true","aria-expanded":i?"true":"false",...w,children:[j,v&&jsxRuntime.jsx(lucideReact.ChevronDown,{className:o("h-3.5 w-3.5 transition-transform",i&&"rotate-180")})]}),i&&jsxRuntime.jsxs("div",{className:o("absolute z-50 mt-1 min-w-44 rounded-md border py-1 shadow-lg","border-primary-200 dark:border-primary-700 dark:bg-primary-800 bg-white",l==="right"?"right-0":"left-0"),style:at(J,x,g),role:f?"listbox":"menu","aria-multiselectable":f||void 0,children:[u&&jsxRuntime.jsx("div",{className:"border-primary-200 dark:border-primary-700 border-b px-2 pb-1.5 pt-1",children:jsxRuntime.jsx("input",{ref:D,type:"text",value:C,onChange:c=>h(c.target.value),onKeyDown:q,placeholder:"Type to filter or add\u2026",className:"w-full bg-transparent text-sm text-secondary-900 placeholder:text-secondary-400 focus:outline-none dark:text-secondary-100 dark:placeholder:text-secondary-600"})}),jsxRuntime.jsxs("div",{className:"max-h-60 overflow-y-auto",children:[S.map((c,V)=>{let m=rt(c,V),b=f&&a.includes(m);return jsxRuntime.jsxs(Ze__default.default.Fragment,{children:[c.divider&&jsxRuntime.jsx("div",{className:"border-primary-200 dark:border-primary-700 my-1 border-t"}),jsxRuntime.jsxs("button",{type:"button",role:f?"option":"menuitem","aria-selected":f?b:void 0,disabled:c.disabled,className:o("flex w-full cursor-pointer items-center gap-2 px-3 py-1.5 text-left text-sm transition-colors","text-primary-700 hover:bg-primary-100 dark:text-primary-300 dark:hover:bg-primary-700/50",c.disabled&&"pointer-events-none opacity-50"),style:ge(V,J,x,g),onClick:()=>{f?U(m):(c.onClick?.(),M.current&&clearTimeout(M.current),s(false),R(false),h(""));},children:[f&&jsxRuntime.jsx("span",{className:o("flex h-4 w-4 shrink-0 items-center justify-center rounded border transition-colors",b?"border-primary-600 bg-primary-600 text-white dark:border-primary-500 dark:bg-primary-500":"border-secondary-300 bg-white dark:border-secondary-600 dark:bg-secondary-800"),children:b&&jsxRuntime.jsx(lucideReact.Check,{className:"h-3 w-3"})}),jsxRuntime.jsx("span",{className:"flex-1 truncate",children:c.label})]})]},m)}),S.length===0&&!E&&jsxRuntime.jsx("div",{className:"text-primary-400 px-3 py-2 text-center text-sm",style:ge(0,1,x,g),children:"No matches"}),E&&jsxRuntime.jsxs("button",{type:"button",className:o("flex w-full cursor-pointer items-center gap-2 px-3 py-1.5 text-left text-sm transition-colors","text-primary-600 hover:bg-primary-50 dark:text-primary-400 dark:hover:bg-primary-900/30"),style:ge(S.length,J,x,g),onClick:G,children:[jsxRuntime.jsx("span",{className:"flex h-4 w-4 shrink-0 items-center justify-center text-lg leading-none",children:"+"}),jsxRuntime.jsxs("span",{className:"truncate",children:["Add \u201C",C.trim(),"\u201D"]})]})]})]})]})}function he({intent:e,size:t,className:r,...n}){return jsxRuntime.jsx("span",{className:o(Me({intent:e,size:t}),r),...n})}var it={danger:"bg-danger-500",success:"bg-success-500",warning:"bg-warning-500",info:"bg-primary-500",primary:"bg-secondary-500"};function xe({children:e,show:t=true,content:r,dot:n,intent:l="danger",size:d="md",placement:p="top-right",pulse:u=false,className:y}){let f=n??r==null,a=f?null:typeof r=="number"?r>99?"99+":String(r):r;return jsxRuntime.jsxs("div",{className:"relative inline-flex",children:[e,t&&jsxRuntime.jsxs("span",{className:o(Pe({intent:l,size:d,dot:f,placement:p}),y),role:typeof r=="number"?"status":void 0,"aria-label":typeof r=="number"?String(r):void 0,children:[u&&jsxRuntime.jsx("span",{className:o("absolute inset-0 rounded-full animate-ping opacity-60",it[l??"danger"]),"aria-hidden":"true"}),a]})]})}function ve({intent:e,size:t,className:r,...n}){return jsxRuntime.jsx("label",{className:o(Se({intent:e,size:t}),r),...n})}var lt={sm:{wrapper:"h-7 text-xs",prefix:"px-2 text-xs [&_svg]:h-3 [&_svg]:w-3",input:"px-2 text-xs",icon:"px-1.5 [&_svg]:h-3 [&_svg]:w-3"},md:{wrapper:"h-9 text-sm",prefix:"px-3 text-sm [&_svg]:h-4 [&_svg]:w-4",input:"px-3 py-2 text-sm",icon:"px-2 [&_svg]:h-4 [&_svg]:w-4"},lg:{wrapper:"h-11 text-base",prefix:"px-4 text-base [&_svg]:h-5 [&_svg]:w-5",input:"px-4 py-2.5 text-base",icon:"px-2.5 [&_svg]:h-5 [&_svg]:w-5"}},pt={default:"border-secondary-300 focus-within:border-primary-500 focus-within:ring-2 focus-within:ring-primary-500/20 dark:border-secondary-600",error:"border-danger-400 focus-within:border-danger-500 focus-within:ring-2 focus-within:ring-danger-500/20"};function we({state:e="default",inputSize:t="md",className:r,prefix:n,suffix:l,action:d,...p}){if(!n&&!l&&!d)return jsxRuntime.jsx("input",{className:o(Y({state:e,size:t}),r),...p});let u=lt[t??"md"],y=pt[e??"default"];return jsxRuntime.jsxs("div",{className:o("flex w-full items-center overflow-hidden rounded-md border bg-white transition-colors dark:bg-secondary-900",u.wrapper,y,r),children:[n&&jsxRuntime.jsx("span",{className:o("flex shrink-0 items-center gap-1.5 self-stretch border-r border-secondary-300 bg-secondary-50 font-medium text-secondary-600 dark:border-secondary-600 dark:bg-secondary-800 dark:text-secondary-300",u.prefix),children:n}),jsxRuntime.jsx("input",{className:o("min-w-0 flex-1 bg-transparent text-secondary-900 placeholder:text-secondary-400 focus:outline-none dark:text-secondary-100 dark:placeholder:text-secondary-600",u.input,n&&"pl-2"),...p}),l&&jsxRuntime.jsx("span",{className:o("pointer-events-none flex shrink-0 items-center text-secondary-400 dark:text-secondary-500",u.icon),children:l}),d&&jsxRuntime.jsx("button",{type:"button",onClick:d.onClick,"aria-label":d["aria-label"]??"Action",className:o("flex shrink-0 items-center text-secondary-500 transition-colors hover:text-primary-600 dark:text-secondary-400 dark:hover:text-primary-400",u.icon),children:d.icon})]})}var bt={sm:"px-2 py-1.5 text-xs min-h-[60px]",md:"px-3 py-2 text-sm min-h-[80px]",lg:"px-4 py-2.5 text-base min-h-[100px]"},yt={default:"border-secondary-300 focus:border-primary-500 focus:ring-2 focus:ring-primary-500/20 dark:border-secondary-600",error:"border-danger-400 focus:border-danger-500 focus:ring-2 focus:ring-danger-500/20"};function ht(e){if(!e)return 0;let t="\u2E80-\u2EFF\u3000-\u303F\u3040-\u309F\u30A0-\u30FF\u3400-\u4DBF\u4E00-\u9FFF\uAC00-\uD7AF\uF900-\uFAFF\uFE30-\uFE4F\uFF00-\uFFEF",r=new RegExp(`[${t}]`),n=0,l="",d=()=>{let p=l.trim();p&&(n+=p.split(/\s+/).length),l="";};for(let p of e)r.test(p)?(d(),n+=1):l+=p;return d(),n}function ke({state:e="default",size:t="md",showWordCount:r=false,maxWords:n,className:l,value:d,defaultValue:p,onChange:u,disabled:y,...f}){let[a,k]=Ze.useState(()=>p??""),g=d!==void 0?String(d):a,v=Ze.useCallback(s=>{d===void 0&&k(s.target.value),u?.(s);},[d,u]),w=Ze.useMemo(()=>ht(g),[g]),i=n!=null&&w>n;return jsxRuntime.jsxs("div",{className:o("inline-flex w-full flex-col",l),children:[jsxRuntime.jsx("textarea",{value:g,onChange:v,disabled:y,className:o("w-full resize-y rounded-md border bg-white text-secondary-900 transition-colors placeholder:text-secondary-400 focus:outline-none dark:bg-secondary-900 dark:text-secondary-100 dark:placeholder:text-secondary-600",bt[t],yt[i?"error":e],y&&"pointer-events-none opacity-50"),...f}),(r||n!=null)&&jsxRuntime.jsx("span",{className:o("mt-1 self-end text-xs",i?"text-danger-500 dark:text-danger-400":"text-secondary-400 dark:text-secondary-500"),children:n!=null?`${w} / ${n} words`:`${w} words`})]})}var Nt={sm:{trackFixed:"h-5 w-9",trackH:"h-5 min-w-9",thumb:"h-3.5 w-3.5",thumbTop:"top-[3px]",thumbOff:"left-[2px]",thumbOn:"left-[calc(100%-16px)]",pad:"pl-[6px] pr-[18px]",contentLeft:"left-[6px]",contentRight:"right-[6px]",icon:"text-[10px] [&_svg]:h-3 [&_svg]:w-3"},md:{trackFixed:"h-6 w-11",trackH:"h-6 min-w-11",thumb:"h-4.5 w-4.5",thumbTop:"top-[3px]",thumbOff:"left-[2px]",thumbOn:"left-[calc(100%-20px)]",pad:"pl-[7px] pr-[23px]",contentLeft:"left-[7px]",contentRight:"right-[7px]",icon:"text-xs [&_svg]:h-3.5 [&_svg]:w-3.5"},lg:{trackFixed:"h-7 w-14",trackH:"h-7 min-w-14",thumb:"h-5.5 w-5.5",thumbTop:"top-[3px]",thumbOff:"left-[3px]",thumbOn:"left-[calc(100%-25px)]",pad:"pl-[8px] pr-[28px]",contentLeft:"left-[8px]",contentRight:"right-[8px]",icon:"text-sm [&_svg]:h-4 [&_svg]:w-4"}},Ct={primary:"text-primary-100",secondary:"text-secondary-100",danger:"text-danger-100",warning:"text-warning-100",success:"text-success-100"};function Ne({checked:e,defaultChecked:t=false,onCheckedChange:r,checkedContent:n,uncheckedContent:l,intent:d,size:p,label:u,id:y,className:f,disabled:a,...k}){let g=Ze.useId(),v=y??g,w=p??"md",i=d??"primary",s=Nt[w],x=n!=null||l!=null,[R,C]=Ze.useState(t),h=e??R,P=Ze.useCallback(D=>{let M=D.target.checked;e===void 0&&C(M),r?.(M);},[e,r]);return jsxRuntime.jsxs("label",{htmlFor:v,className:o("inline-flex cursor-pointer items-center gap-2",a&&"pointer-events-none opacity-50",f),children:[jsxRuntime.jsx("input",{...k,id:v,type:"checkbox",role:"switch",className:"sr-only",checked:h,disabled:a,onChange:P,"aria-checked":h}),jsxRuntime.jsxs("span",{className:o("relative inline-flex shrink-0 items-center rounded-full transition-colors duration-200",x?s.trackH:s.trackFixed,Ie({intent:d,size:p,checked:h?"on":"off"})),children:[x?jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsxs("span",{className:o("pointer-events-none invisible inline-grid",s.icon),children:[jsxRuntime.jsx("span",{className:o("[grid-area:1/1] whitespace-nowrap",s.pad),children:n}),jsxRuntime.jsx("span",{className:o("[grid-area:1/1] whitespace-nowrap",s.pad),children:l})]}),jsxRuntime.jsx("span",{className:o("absolute top-1/2 -translate-y-1/2 whitespace-nowrap font-medium leading-none transition-opacity duration-200",s.contentLeft,s.icon,Ct[i],h?"opacity-100":"opacity-0"),children:n}),jsxRuntime.jsx("span",{className:o("absolute top-1/2 -translate-y-1/2 whitespace-nowrap font-medium leading-none transition-opacity duration-200",s.contentRight,s.icon,"text-primary-400 dark:text-primary-500",h?"opacity-0":"opacity-100"),children:l})]}):null,jsxRuntime.jsx("span",{className:o("pointer-events-none absolute rounded-full bg-white shadow-sm transition-[left] duration-200 ease-in-out",s.thumb,s.thumbTop,h?s.thumbOn:s.thumbOff)})]}),u&&jsxRuntime.jsx("span",{className:"select-none text-sm text-primary-700 dark:text-primary-300",children:u})]})}var Pt={sm:"h-3 w-3",md:"h-3.5 w-3.5",lg:"h-4 w-4"};function Ce({checked:e,defaultChecked:t=false,indeterminate:r=false,onCheckedChange:n,intent:l,size:d,label:p,id:u,className:y,disabled:f,...a}){let k=Ze.useId(),g=u??k,v=d??"md",[w,i]=Ze.useState(t),s=e??w,x=Ze.useCallback(C=>{let h=C.target.checked;e===void 0&&i(h),n?.(h);},[e,n]),R=s||r;return jsxRuntime.jsxs("label",{htmlFor:g,className:o("inline-flex cursor-pointer items-center gap-2 select-none",f&&"pointer-events-none opacity-50",y),children:[jsxRuntime.jsx("input",{...a,id:g,type:"checkbox",className:"sr-only",checked:s,disabled:f,onChange:x}),jsxRuntime.jsx("span",{className:o(Le({intent:l,size:d,checked:R?"on":"off"})),children:jsxRuntime.jsx("svg",{viewBox:"0 0 16 16",fill:"none",className:o("text-white transition-all duration-200",Pt[v],R?"scale-100 opacity-100":"scale-0 opacity-0"),children:r?jsxRuntime.jsx("line",{x1:"3",y1:"8",x2:"13",y2:"8",stroke:"currentColor",strokeWidth:"2.5",strokeLinecap:"round"}):jsxRuntime.jsx("path",{d:"M3.5 8.5L6.5 11.5L12.5 4.5",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})})}),p&&jsxRuntime.jsx("span",{className:"text-sm text-primary-700 dark:text-primary-300",children:p})]})}var Ke=Ze.createContext(null);function Re({name:e,value:t,defaultValue:r,onValueChange:n,intent:l,size:d,disabled:p,orientation:u="vertical",className:y,children:f}){let a=Ze.useId(),k=e??a,[g,v]=Ze.useState(r),w=t??g,i=Ze.useCallback(s=>{t===void 0&&v(s),n?.(s);},[t,n]);return jsxRuntime.jsx(Ke.Provider,{value:{name:k,value:w,onChange:i,intent:l,size:d,disabled:p},children:jsxRuntime.jsx("div",{role:"radiogroup",className:o("flex gap-2",u==="vertical"?"flex-col":"flex-row flex-wrap",y),children:f})})}var Dt={sm:"h-1.5 w-1.5",md:"h-2 w-2",lg:"h-2.5 w-2.5"};function Te({value:e,intent:t,size:r,label:n,id:l,className:d,disabled:p,...u}){let y=Ze.useId(),f=l??y,a=Ze.useContext(Ke),k=t??a?.intent,g=r??a?.size,v=g??"md",w=p??a?.disabled,i=u.name??a?.name,s=a?a.value===e:void 0,x=Ze.useCallback(R=>{R.target.checked&&a?.onChange(e);},[a,e]);return jsxRuntime.jsxs("label",{htmlFor:f,className:o("inline-flex cursor-pointer items-center gap-2 select-none",w&&"pointer-events-none opacity-50",d),children:[jsxRuntime.jsx("input",{...u,id:f,type:"radio",name:i,value:e,className:"sr-only",checked:s,disabled:w,onChange:x}),jsxRuntime.jsx("span",{className:o(Ee({intent:k,size:g,checked:s?"on":"off"})),children:jsxRuntime.jsx("span",{className:o("rounded-full bg-white transition-all duration-200",Dt[v],s?"scale-100 opacity-100":"scale-0 opacity-0")})}),n&&jsxRuntime.jsx("span",{className:"text-sm text-primary-700 dark:text-primary-300",children:n})]})}var zt={Button:se,Dropdown:pe,DropdownButton:ye,Badge:he,Indicator:xe,Label:ve,Input:we,TextBox:ke,Switch:Ne,Checkbox:Ce,Radio:Te,RadioGroup:Re},tn=zt;exports.Badge=he;exports.Button=se;exports.Checkbox=Ce;exports.Dropdown=pe;exports.DropdownButton=ye;exports.Indicator=xe;exports.Input=we;exports.Label=ve;exports.Primitives=zt;exports.Radio=Te;exports.RadioGroup=Re;exports.Switch=Ne;exports.TextBox=ke;exports.default=tn;
|
|
1
|
+
'use strict';Object.defineProperty(exports,'__esModule',{value:true});var clsx=require('clsx'),tailwindMerge=require('tailwind-merge'),classVarianceAuthority=require('class-variance-authority'),jsxRuntime=require('react/jsx-runtime'),Ze=require('react'),lucideReact=require('lucide-react');function _interopDefault(e){return e&&e.__esModule?e:{default:e}}var Ze__default=/*#__PURE__*/_interopDefault(Ze);function o(...e){return tailwindMerge.twMerge(clsx.clsx(e))}var X=classVarianceAuthority.cva("inline-flex cursor-pointer items-center justify-center gap-1.5 rounded font-medium transition-colors disabled:pointer-events-none disabled:opacity-50 [&_svg]:shrink-0",{variants:{intent:{primary:"bg-primary-500 text-white hover:bg-primary-600 active:bg-primary-700",secondary:"bg-secondary-500 text-white hover:bg-secondary-600 active:bg-secondary-700",danger:"bg-danger-500 text-white hover:bg-danger-600 active:bg-danger-700",warning:"bg-warning-500 text-white hover:bg-warning-600 active:bg-warning-700",ghost:"bg-transparent text-primary-700 hover:bg-primary-100 active:bg-primary-200 dark:text-primary-300 dark:hover:bg-primary-800",outline:"border border-primary-300 bg-transparent text-primary-700 hover:bg-primary-50 dark:border-primary-600 dark:text-primary-300 dark:hover:bg-primary-800"},size:{sm:"h-7 px-3 text-xs [&_svg]:h-3.5 [&_svg]:w-3.5",md:"h-9 px-4 text-sm [&_svg]:h-4 [&_svg]:w-4",lg:"h-11 px-6 text-base [&_svg]:h-5 [&_svg]:w-5"}},defaultVariants:{intent:"primary",size:"md"}}),Me=classVarianceAuthority.cva("inline-flex items-center gap-1 rounded border font-semibold [&_svg]:shrink-0",{variants:{intent:{success:"border-success-200 bg-success-100 text-success-800 dark:border-success-800 dark:bg-success-900/30 dark:text-success-400",warning:"border-warning-200 bg-warning-100 text-warning-800 dark:border-warning-800 dark:bg-warning-900/30 dark:text-warning-400",error:"border-danger-200 bg-danger-100 text-danger-800 dark:border-danger-800 dark:bg-danger-900/30 dark:text-danger-400",info:"border-primary-200 bg-primary-100 text-primary-800 dark:border-primary-800 dark:bg-primary-900/30 dark:text-primary-400",primary:"border-secondary-200 bg-secondary-100 text-secondary-700 dark:border-secondary-700 dark:bg-secondary-800 dark:text-secondary-300"},size:{sm:"px-1.5 py-0 text-[0.625rem] [&_svg]:h-2.5 [&_svg]:w-2.5",md:"px-2.5 py-0.5 text-xs [&_svg]:h-3 [&_svg]:w-3",lg:"px-3 py-1 text-sm [&_svg]:h-3.5 [&_svg]:w-3.5"}},defaultVariants:{intent:"primary",size:"md"}}),Pe=classVarianceAuthority.cva("absolute flex items-center justify-center rounded-full font-bold leading-none ring-2 ring-white select-none pointer-events-none z-10 dark:ring-primary-900",{variants:{intent:{danger:"bg-danger-500 text-white",success:"bg-success-500 text-white",warning:"bg-warning-500 text-white",info:"bg-primary-500 text-white",primary:"bg-secondary-500 text-white"},size:{sm:"text-[0.5rem]",md:"text-[0.625rem]",lg:"text-xs"},dot:{true:"",false:""},placement:{"top-right":"top-0 right-0 translate-x-1/2 -translate-y-1/2","top-left":"top-0 left-0 -translate-x-1/2 -translate-y-1/2","bottom-right":"bottom-0 right-0 translate-x-1/2 translate-y-1/2","bottom-left":"bottom-0 left-0 -translate-x-1/2 translate-y-1/2"}},compoundVariants:[{dot:true,size:"sm",class:"h-1.5 w-1.5 min-w-0 ring-1"},{dot:true,size:"md",class:"h-2 w-2 min-w-0"},{dot:true,size:"lg",class:"h-2.5 w-2.5 min-w-0"},{dot:false,size:"sm",class:"h-4 min-w-4 px-1"},{dot:false,size:"md",class:"h-5 min-w-5 px-1.5"},{dot:false,size:"lg",class:"h-6 min-w-6 px-2"}],defaultVariants:{intent:"danger",size:"md",dot:false,placement:"top-right"}}),Y=classVarianceAuthority.cva("w-full rounded-md border bg-white text-secondary-900 transition-colors placeholder:text-secondary-400 focus:outline-none focus:ring-2 dark:bg-secondary-900 dark:text-secondary-100 dark:placeholder:text-secondary-600",{variants:{state:{default:"border-secondary-300 focus:border-primary-500 focus:ring-primary-500/20 dark:border-secondary-600",error:"border-danger-400 focus:border-danger-500 focus:ring-danger-500/20"},size:{sm:"h-7 px-2 text-xs",md:"h-9 px-3 py-2 text-sm",lg:"h-11 px-4 py-2.5 text-base"}},defaultVariants:{state:"default",size:"md"}}),Se=classVarianceAuthority.cva("inline-flex items-center gap-1 font-medium [&_svg]:shrink-0",{variants:{size:{sm:"text-xs [&_svg]:h-3 [&_svg]:w-3",md:"text-sm [&_svg]:h-3.5 [&_svg]:w-3.5",lg:"text-base [&_svg]:h-4 [&_svg]:w-4"},intent:{default:"text-primary-700 dark:text-primary-300",muted:"text-primary-400 dark:text-primary-500",required:"text-primary-700 dark:text-primary-300 after:ml-0.5 after:text-danger-500 after:content-['*']"}},defaultVariants:{size:"md",intent:"default"}}),Le=classVarianceAuthority.cva("relative inline-flex shrink-0 items-center justify-center rounded border-2 transition-all duration-200 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2",{variants:{intent:{primary:"border-primary-300 dark:border-primary-600 focus-visible:ring-primary-500/40",secondary:"border-secondary-300 dark:border-secondary-600 focus-visible:ring-secondary-500/40",danger:"border-danger-300 dark:border-danger-600 focus-visible:ring-danger-500/40",warning:"border-warning-300 dark:border-warning-600 focus-visible:ring-warning-500/40",success:"border-success-300 dark:border-success-600 focus-visible:ring-success-500/40"},size:{sm:"h-4 w-4 rounded-[3px]",md:"h-5 w-5 rounded",lg:"h-6 w-6 rounded-[5px]"},checked:{on:"",off:"bg-white dark:bg-primary-900"}},compoundVariants:[{intent:"primary",checked:"on",class:"border-primary-500 bg-primary-500 dark:border-primary-500 dark:bg-primary-500"},{intent:"secondary",checked:"on",class:"border-secondary-500 bg-secondary-500 dark:border-secondary-500 dark:bg-secondary-500"},{intent:"danger",checked:"on",class:"border-danger-500 bg-danger-500 dark:border-danger-500 dark:bg-danger-500"},{intent:"warning",checked:"on",class:"border-warning-500 bg-warning-500 dark:border-warning-500 dark:bg-warning-500"},{intent:"success",checked:"on",class:"border-success-500 bg-success-500 dark:border-success-500 dark:bg-success-500"}],defaultVariants:{intent:"primary",size:"md",checked:"off"}}),Ee=classVarianceAuthority.cva("relative inline-flex shrink-0 items-center justify-center rounded-full border-2 transition-all duration-200 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2",{variants:{intent:{primary:"border-primary-300 dark:border-primary-600 focus-visible:ring-primary-500/40",secondary:"border-secondary-300 dark:border-secondary-600 focus-visible:ring-secondary-500/40",danger:"border-danger-300 dark:border-danger-600 focus-visible:ring-danger-500/40",warning:"border-warning-300 dark:border-warning-600 focus-visible:ring-warning-500/40",success:"border-success-300 dark:border-success-600 focus-visible:ring-success-500/40"},size:{sm:"h-4 w-4",md:"h-5 w-5",lg:"h-6 w-6"},checked:{on:"",off:"bg-white dark:bg-primary-900"}},compoundVariants:[{intent:"primary",checked:"on",class:"border-primary-500 bg-primary-500 dark:border-primary-500 dark:bg-primary-500"},{intent:"secondary",checked:"on",class:"border-secondary-500 bg-secondary-500 dark:border-secondary-500 dark:bg-secondary-500"},{intent:"danger",checked:"on",class:"border-danger-500 bg-danger-500 dark:border-danger-500 dark:bg-danger-500"},{intent:"warning",checked:"on",class:"border-warning-500 bg-warning-500 dark:border-warning-500 dark:bg-warning-500"},{intent:"success",checked:"on",class:"border-success-500 bg-success-500 dark:border-success-500 dark:bg-success-500"}],defaultVariants:{intent:"primary",size:"md",checked:"off"}}),Ie=classVarianceAuthority.cva("",{variants:{intent:{primary:"",secondary:"",danger:"",warning:"",success:""},size:{sm:"",md:"",lg:""},checked:{on:"",off:"bg-primary-300 dark:bg-primary-800"}},compoundVariants:[{intent:"primary",checked:"on",class:"bg-primary-500 dark:bg-primary-500"},{intent:"secondary",checked:"on",class:"bg-secondary-500 dark:bg-secondary-500"},{intent:"danger",checked:"on",class:"bg-danger-500 dark:bg-danger-500"},{intent:"warning",checked:"on",class:"bg-warning-500 dark:bg-warning-500"},{intent:"success",checked:"on",class:"bg-success-500 dark:bg-success-500"}],defaultVariants:{intent:"primary",size:"md",checked:"off"}});function se({intent:e,size:t,className:r,...n}){return jsxRuntime.jsx("button",{className:o(X({intent:e,size:t}),r),...n})}function de(e,t){for(let r of e){if(r.value===t)return r;if(r.children){let n=de(r.children,t);if(n)return n}}}function ce(e){let t=[];for(let r of e)r.children?.length||t.push(r),r.children&&t.push(...ce(r.children));return t}var re=40,Xe=200,le=150,De=120;function te(e,t,r,n){if(!n)return {};if(r){let d=(t-1-e)*re;return {animation:`dropdown-item-out ${le}ms ease-in both ${d}ms`}}let l=e*re;return {animation:`dropdown-item-in ${Xe}ms ease-out both ${l}ms`}}function _e(e,t,r){if(!r)return {};if(t){let n=Math.max(e-1,0)*re+le;return {animation:`dropdown-container-out ${De}ms ease-in both ${n}ms`}}return {animation:"var(--animate-dropdown-container-in)"}}function ze({options:e,onSelect:t,animated:r=true,closing:n=false,depth:l=0}){let[d,p]=Ze.useState(null),u=Ze.useRef(void 0),y=a=>{u.current&&clearTimeout(u.current),p(a);},f=()=>{u.current=setTimeout(()=>p(null),150);};return Ze.useEffect(()=>()=>{u.current&&clearTimeout(u.current);},[]),jsxRuntime.jsx("div",{className:o("absolute z-50 min-w-44 rounded-md border py-1 shadow-lg overflow-hidden","border-primary-200 dark:border-primary-700 dark:bg-primary-800 bg-white",l===0?"mt-1 w-full":"top-0 ml-0.5"),style:{...l>0?{left:"100%"}:{},..._e(e.length,n,r)},role:"listbox",children:e.map((a,k)=>{let g=!!a.children?.length,v=d===a.value;return jsxRuntime.jsxs("div",{className:"relative",style:te(k,e.length,n,r),onMouseEnter:()=>y(a.value),onMouseLeave:f,children:[jsxRuntime.jsxs("div",{role:"option","aria-selected":false,"aria-disabled":a.disabled,className:o("flex w-full cursor-pointer items-center gap-2 px-3 py-1.5 text-left text-sm transition-colors","text-primary-700 hover:bg-primary-100 dark:text-primary-300 dark:hover:bg-primary-700/50",a.disabled&&"pointer-events-none opacity-50"),onClick:()=>{a.disabled||g||t(a.value,a);},children:[a.icon&&jsxRuntime.jsx("span",{className:"flex h-4 w-4 shrink-0 items-center justify-center",children:a.icon}),jsxRuntime.jsx("span",{className:"flex-1 truncate",children:a.label??a.value}),g&&jsxRuntime.jsx(lucideReact.ChevronRight,{className:"text-primary-400 h-3.5 w-3.5 shrink-0"})]}),g&&v&&jsxRuntime.jsx(ze,{options:a.children,onSelect:t,animated:r,depth:l+1})]},a.value)})})}function Ye({options:e,filter:t,multiple:r,selected:n,canAdd:l,animated:d=true,closing:p=false,onSelect:u,onToggle:y,onAdd:f}){let a=Ze.useMemo(()=>ce(e),[e]),k=t.toLowerCase(),g=t?a.filter(i=>(i.label??i.value).toLowerCase().includes(k)||i.value.toLowerCase().includes(k)):a,v=g.length===0&&!l||l?1:0,w=g.length+v;return jsxRuntime.jsxs("div",{className:o("absolute z-50 mt-1 w-full max-h-60 min-w-44 overflow-y-auto rounded-md border py-1 shadow-lg","border-primary-200 dark:border-primary-700 dark:bg-primary-800 bg-white"),role:"listbox","aria-multiselectable":r||void 0,style:_e(w,p,d),children:[g.map((i,s)=>{let x=r&&n.includes(i.value);return jsxRuntime.jsxs("div",{role:"option","aria-selected":r?x:false,"aria-disabled":i.disabled,className:o("flex w-full cursor-pointer items-center gap-2 px-3 py-1.5 text-left text-sm transition-colors","text-primary-700 hover:bg-primary-100 dark:text-primary-300 dark:hover:bg-primary-700/50",i.disabled&&"pointer-events-none opacity-50"),style:te(s,w,p,d),onClick:()=>{i.disabled||(r?y(i.value):u(i.value,i));},children:[r&&jsxRuntime.jsx("span",{className:o("flex h-4 w-4 shrink-0 items-center justify-center rounded border transition-colors",x?"border-primary-600 bg-primary-600 text-white dark:border-primary-500 dark:bg-primary-500":"border-secondary-300 bg-white dark:border-secondary-600 dark:bg-secondary-800"),children:x&&jsxRuntime.jsx(lucideReact.Check,{className:"h-3 w-3"})}),i.icon&&jsxRuntime.jsx("span",{className:"flex h-4 w-4 shrink-0 items-center justify-center",children:i.icon}),jsxRuntime.jsx("span",{className:"truncate",children:i.label??i.value})]},i.value)}),g.length===0&&!l&&jsxRuntime.jsx("div",{className:"text-primary-400 px-3 py-2 text-center text-sm",style:te(0,1,p,d),children:"No matches"}),l&&jsxRuntime.jsxs("div",{className:o("flex w-full cursor-pointer items-center gap-2 px-3 py-1.5 text-left text-sm transition-colors","text-primary-600 hover:bg-primary-50 dark:text-primary-400 dark:hover:bg-primary-900/30"),style:te(g.length,w,p,d),onClick:f,children:[jsxRuntime.jsx("span",{className:"flex h-4 w-4 shrink-0 items-center justify-center text-lg leading-none",children:"+"}),jsxRuntime.jsxs("span",{className:"truncate",children:["Add \u201C",t.trim(),"\u201D"]})]})]})}function pe(e){let{options:t,placeholder:r="Select\u2026",editable:n=false,onAddItem:l,disabled:d=false,align:p="left",className:u,size:y="md",animated:f=true}=e,a=e.multiple===true,[k,g]=Ze.useState(a?void 0:e.defaultValue),[v,w]=Ze.useState(a?e.defaultSelected??[]:[]),i=a?e.selected??v:[],[s,x]=Ze.useState(false),[R,C]=Ze.useState(false),[h,P]=Ze.useState(""),D=Ze.useRef(null),M=Ze.useRef(null),T=Ze.useRef(void 0),_=Ze.useCallback(()=>{if(!f||!s){x(false),P("");return}C(true);let b=(Math.max(t.length,1)-1)*re+le+De+20;T.current=setTimeout(()=>{x(false),C(false),P("");},b);},[f,s,t.length]);Ze.useEffect(()=>()=>{T.current&&clearTimeout(T.current);},[]);let z=a?void 0:e.value??k,S=Ze.useMemo(()=>z?de(t,z):void 0,[t,z]);Ze.useEffect(()=>{if(!s)return;let m=b=>{D.current&&!D.current.contains(b.target)&&_();};return document.addEventListener("mousedown",m),()=>document.removeEventListener("mousedown",m)},[s,_]),Ze.useEffect(()=>{if(!s)return;let m=b=>{b.key==="Escape"&&_();};return document.addEventListener("keydown",m),()=>document.removeEventListener("keydown",m)},[s,_]);let E=Ze.useCallback((m,b)=>{a||(e.value===void 0&&g(m),e.onChange?.(m,b)),T.current&&clearTimeout(T.current),x(false),C(false),P("");},[a,e]),G=Ze.useCallback(m=>{if(!a)return;let b=e.selected??v,Ve=b.includes(m)?b.filter(Ge=>Ge!==m):[...b,m];e.selected===void 0&&w(Ve),e.onSelectionChange?.(Ve);},[a,v,e]),q=h.toLowerCase(),U=Ze.useMemo(()=>!n||!h.trim()?false:!ce(t).some(b=>b.value.toLowerCase()===q||(b.label??b.value).toLowerCase()===q),[n,q,t]),j=Ze.useCallback(()=>{let m=h.trim();m&&(l?.(m),P(""));},[h,l]),oe=Ze.useCallback(m=>{m.key==="Enter"&&U&&(m.preventDefault(),j());},[U,j]),J=Ze.useCallback(()=>{d||(s?_():(T.current&&clearTimeout(T.current),C(false),x(true),P(""),n&&requestAnimationFrame(()=>M.current?.focus())));},[d,s,_,n]),c;if(a){let m=i.length;m===0?c="":m<=2?c=i.map(b=>de(t,b)).map(b=>b?b.label??b.value:"").filter(Boolean).join(", "):c=`${m} selected`;}else c=S?S.label??S.value:"";let V=a||n;return jsxRuntime.jsxs("div",{ref:D,className:o("relative inline-block min-w-44",u),children:[jsxRuntime.jsxs("div",{className:o(Y({state:"default",size:y}),"flex cursor-pointer items-center gap-1",d&&"pointer-events-none opacity-50"),onClick:J,role:"combobox","aria-expanded":s,"aria-haspopup":"listbox",children:[n?jsxRuntime.jsx("input",{ref:M,className:"min-w-0 flex-1 bg-transparent outline-none placeholder:text-secondary-400 dark:placeholder:text-secondary-600",value:s?h:c,placeholder:r,disabled:d,onChange:m=>{P(m.target.value),s||x(true);},onKeyDown:oe,onClick:m=>{m.stopPropagation(),s||x(true);}}):jsxRuntime.jsx("span",{className:o("flex-1 truncate",!c&&"text-secondary-400 dark:text-secondary-600"),children:c||r}),S?.icon&&!n&&!a&&jsxRuntime.jsx("span",{className:"flex h-4 w-4 shrink-0 items-center justify-center",children:S.icon}),a&&i.length>0&&jsxRuntime.jsx("span",{className:"rounded-full bg-primary-100 px-1.5 text-xs font-semibold text-primary-700 dark:bg-primary-900 dark:text-primary-300",children:i.length}),jsxRuntime.jsx(lucideReact.ChevronDown,{className:o("text-primary-400 h-4 w-4 shrink-0 transition-transform",s&&"rotate-180")})]}),s&&jsxRuntime.jsx("div",{className:o(p==="right"?"right-0":"left-0","absolute w-full"),children:V?jsxRuntime.jsx(Ye,{options:t,filter:h,multiple:a,selected:i,canAdd:U,animated:f,closing:R,onSelect:E,onToggle:G,onAdd:j}):jsxRuntime.jsx(ze,{options:t,onSelect:E,animated:f,closing:R})})]})}function rt(e,t){return e.key??(typeof e.label=="string"?e.label:String(t))}var ne=40,nt=200,be=150,Fe=120;function ge(e,t,r,n){if(!n)return {};if(r){let d=(t-1-e)*ne;return {animation:`dropdown-item-out ${be}ms ease-in both ${d}ms`}}let l=e*ne;return {animation:`dropdown-item-in ${nt}ms ease-out both ${l}ms`}}function at(e,t,r){if(!r)return {};if(t){let n=Math.max(e-1,0)*ne+be;return {animation:`dropdown-container-out ${Fe}ms ease-in both ${n}ms`}}return {animation:"var(--animate-dropdown-container-in)"}}function ye({label:e,items:t,intent:r,size:n,align:l="left",className:d,disabled:p,editable:u=false,onAddItem:y,multiple:f=false,selected:a=[],onSelectionChange:k,animated:g=true,chevron:v=true,...w}){let[i,s]=Ze.useState(false),[x,R]=Ze.useState(false),[C,h]=Ze.useState(""),P=Ze.useRef(null),D=Ze.useRef(null),M=Ze.useRef(void 0);Ze.useEffect(()=>()=>{M.current&&clearTimeout(M.current);},[]);let T=Ze.useCallback(()=>{if(!g||!i){s(false),h("");return}R(true);let V=(Math.max(t.length,1)-1)*ne+be+Fe+20;M.current=setTimeout(()=>{s(false),R(false),h("");},V);},[g,i,t.length]),_=Ze.useCallback(()=>{p||(i?T():(M.current&&clearTimeout(M.current),R(false),s(true),h(""),u&&requestAnimationFrame(()=>D.current?.focus())));},[p,i,T,u]);Ze.useEffect(()=>{if(!i)return;let c=V=>{P.current&&!P.current.contains(V.target)&&T();};return document.addEventListener("mousedown",c),()=>document.removeEventListener("mousedown",c)},[i,T]),Ze.useEffect(()=>{if(!i)return;let c=V=>{V.key==="Escape"&&T();};return document.addEventListener("keydown",c),()=>document.removeEventListener("keydown",c)},[i,T]);let z=C.toLowerCase(),S=Ze.useMemo(()=>C?t.filter(c=>(typeof c.label=="string"?c.label:c.key??"").toLowerCase().includes(z)):t,[t,z]),E=Ze.useMemo(()=>!u||!C.trim()?false:!t.some(c=>(typeof c.label=="string"?c.label:c.key??"").toLowerCase()===z),[u,z,t]),G=Ze.useCallback(()=>{let c=C.trim();c&&(y?.(c),h(""));},[C,y]),q=Ze.useCallback(c=>{c.key==="Enter"&&E&&(c.preventDefault(),G());},[E,G]),U=Ze.useCallback(c=>{let V=a.includes(c)?a.filter(m=>m!==c):[...a,c];k?.(V);},[a,k]),j=f&&a.length>0?jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[e," ",jsxRuntime.jsx("span",{className:"ml-1 rounded-full bg-white/20 px-1.5 text-xs font-semibold",children:a.length})]}):e,oe=S.length===0&&!E||E?1:0,J=S.length+oe;return jsxRuntime.jsxs("div",{ref:P,className:"relative inline-block",children:[jsxRuntime.jsxs("button",{type:"button",onClick:_,disabled:p,className:o(X({intent:r,size:n}),"inline-flex items-center gap-1",d),"aria-haspopup":f?"listbox":"true","aria-expanded":i?"true":"false",...w,children:[j,v&&jsxRuntime.jsx(lucideReact.ChevronDown,{className:o("h-3.5 w-3.5 transition-transform",i&&"rotate-180")})]}),i&&jsxRuntime.jsxs("div",{className:o("absolute z-50 mt-1 min-w-44 rounded-md border py-1 shadow-lg","border-primary-200 dark:border-primary-700 dark:bg-primary-800 bg-white",l==="right"?"right-0":"left-0"),style:at(J,x,g),role:f?"listbox":"menu","aria-multiselectable":f||void 0,children:[u&&jsxRuntime.jsx("div",{className:"border-primary-200 dark:border-primary-700 border-b px-2 pb-1.5 pt-1",children:jsxRuntime.jsx("input",{ref:D,type:"text",value:C,onChange:c=>h(c.target.value),onKeyDown:q,placeholder:"Type to filter or add\u2026",className:"w-full bg-transparent text-sm text-secondary-900 placeholder:text-secondary-400 focus:outline-none dark:text-secondary-100 dark:placeholder:text-secondary-600"})}),jsxRuntime.jsxs("div",{className:"max-h-60 overflow-y-auto",children:[S.map((c,V)=>{let m=rt(c,V),b=f&&a.includes(m);return jsxRuntime.jsxs(Ze__default.default.Fragment,{children:[c.divider&&jsxRuntime.jsx("div",{className:"border-primary-200 dark:border-primary-700 my-1 border-t"}),jsxRuntime.jsxs("button",{type:"button",role:f?"option":"menuitem","aria-selected":f?b:void 0,disabled:c.disabled,className:o("flex w-full cursor-pointer items-center gap-2 px-3 py-1.5 text-left text-sm transition-colors","text-primary-700 hover:bg-primary-100 dark:text-primary-300 dark:hover:bg-primary-700/50",c.disabled&&"pointer-events-none opacity-50"),style:ge(V,J,x,g),onClick:()=>{f?U(m):(c.onClick?.(),M.current&&clearTimeout(M.current),s(false),R(false),h(""));},children:[f&&jsxRuntime.jsx("span",{className:o("flex h-4 w-4 shrink-0 items-center justify-center rounded border transition-colors",b?"border-primary-600 bg-primary-600 text-white dark:border-primary-500 dark:bg-primary-500":"border-secondary-300 bg-white dark:border-secondary-600 dark:bg-secondary-800"),children:b&&jsxRuntime.jsx(lucideReact.Check,{className:"h-3 w-3"})}),jsxRuntime.jsx("span",{className:"flex-1 truncate",children:c.label})]})]},m)}),S.length===0&&!E&&jsxRuntime.jsx("div",{className:"text-primary-400 px-3 py-2 text-center text-sm",style:ge(0,1,x,g),children:"No matches"}),E&&jsxRuntime.jsxs("button",{type:"button",className:o("flex w-full cursor-pointer items-center gap-2 px-3 py-1.5 text-left text-sm transition-colors","text-primary-600 hover:bg-primary-50 dark:text-primary-400 dark:hover:bg-primary-900/30"),style:ge(S.length,J,x,g),onClick:G,children:[jsxRuntime.jsx("span",{className:"flex h-4 w-4 shrink-0 items-center justify-center text-lg leading-none",children:"+"}),jsxRuntime.jsxs("span",{className:"truncate",children:["Add \u201C",C.trim(),"\u201D"]})]})]})]})]})}function he({intent:e,size:t,className:r,...n}){return jsxRuntime.jsx("span",{className:o(Me({intent:e,size:t}),r),...n})}var it={danger:"bg-danger-500",success:"bg-success-500",warning:"bg-warning-500",info:"bg-primary-500",primary:"bg-secondary-500"};function xe({children:e,show:t=true,content:r,dot:n,intent:l="danger",size:d="md",placement:p="top-right",pulse:u=false,className:y}){let f=n??r==null,a=f?null:typeof r=="number"?r>99?"99+":String(r):r;return jsxRuntime.jsxs("div",{className:"relative inline-flex",children:[e,t&&jsxRuntime.jsxs("span",{className:o(Pe({intent:l,size:d,dot:f,placement:p}),y),role:typeof r=="number"?"status":void 0,"aria-label":typeof r=="number"?String(r):void 0,children:[u&&jsxRuntime.jsx("span",{className:o("absolute inset-0 rounded-full animate-ping opacity-60",it[l??"danger"]),"aria-hidden":"true"}),a]})]})}function ve({intent:e,size:t,className:r,...n}){return jsxRuntime.jsx("label",{className:o(Se({intent:e,size:t}),r),...n})}var lt={sm:{wrapper:"h-7 text-xs",prefix:"px-2 text-xs [&_svg]:h-3 [&_svg]:w-3",input:"px-2 text-xs",icon:"px-1.5 [&_svg]:h-3 [&_svg]:w-3"},md:{wrapper:"h-9 text-sm",prefix:"px-3 text-sm [&_svg]:h-4 [&_svg]:w-4",input:"px-3 py-2 text-sm",icon:"px-2 [&_svg]:h-4 [&_svg]:w-4"},lg:{wrapper:"h-11 text-base",prefix:"px-4 text-base [&_svg]:h-5 [&_svg]:w-5",input:"px-4 py-2.5 text-base",icon:"px-2.5 [&_svg]:h-5 [&_svg]:w-5"}},pt={default:"border-secondary-300 focus-within:border-primary-500 focus-within:ring-2 focus-within:ring-primary-500/20 dark:border-secondary-600",error:"border-danger-400 focus-within:border-danger-500 focus-within:ring-2 focus-within:ring-danger-500/20"};function we({state:e="default",inputSize:t="md",className:r,prefix:n,suffix:l,action:d,...p}){if(!n&&!l&&!d)return jsxRuntime.jsx("input",{className:o(Y({state:e,size:t}),r),...p});let u=lt[t??"md"],y=pt[e??"default"];return jsxRuntime.jsxs("div",{className:o("flex w-full items-center overflow-hidden rounded-md border bg-white transition-colors dark:bg-secondary-900",u.wrapper,y,r),children:[n&&jsxRuntime.jsx("span",{className:o("flex shrink-0 items-center gap-1.5 self-stretch border-r border-secondary-300 bg-secondary-50 font-medium text-secondary-600 dark:border-secondary-600 dark:bg-secondary-800 dark:text-secondary-300",u.prefix),children:n}),jsxRuntime.jsx("input",{className:o("min-w-0 flex-1 bg-transparent text-secondary-900 placeholder:text-secondary-400 focus:outline-none dark:text-secondary-100 dark:placeholder:text-secondary-600",u.input,n&&"pl-2"),...p}),l&&jsxRuntime.jsx("span",{className:o("pointer-events-none flex shrink-0 items-center text-secondary-400 dark:text-secondary-500",u.icon),children:l}),d&&jsxRuntime.jsx("button",{type:"button",onClick:d.onClick,"aria-label":d["aria-label"]??"Action",className:o("flex shrink-0 items-center text-secondary-500 transition-colors hover:text-primary-600 dark:text-secondary-400 dark:hover:text-primary-400",u.icon),children:d.icon})]})}var bt={sm:"px-2 py-1.5 text-xs min-h-[60px]",md:"px-3 py-2 text-sm min-h-[80px]",lg:"px-4 py-2.5 text-base min-h-[100px]"},yt={default:"border-secondary-400 focus:border-primary-500 focus:ring-2 focus:ring-primary-500/20 dark:border-secondary-600",error:"border-danger-400 focus:border-danger-500 focus:ring-2 focus:ring-danger-500/20"};function ht(e){if(!e)return 0;let t="\u2E80-\u2EFF\u3000-\u303F\u3040-\u309F\u30A0-\u30FF\u3400-\u4DBF\u4E00-\u9FFF\uAC00-\uD7AF\uF900-\uFAFF\uFE30-\uFE4F\uFF00-\uFFEF",r=new RegExp(`[${t}]`),n=0,l="",d=()=>{let p=l.trim();p&&(n+=p.split(/\s+/).length),l="";};for(let p of e)r.test(p)?(d(),n+=1):l+=p;return d(),n}function ke({state:e="default",size:t="md",showWordCount:r=false,maxWords:n,className:l,value:d,defaultValue:p,onChange:u,disabled:y,...f}){let[a,k]=Ze.useState(()=>p??""),g=d!==void 0?String(d):a,v=Ze.useCallback(s=>{d===void 0&&k(s.target.value),u?.(s);},[d,u]),w=Ze.useMemo(()=>ht(g),[g]),i=n!=null&&w>n;return jsxRuntime.jsxs("div",{className:o("inline-flex w-full flex-col",l),children:[jsxRuntime.jsx("textarea",{value:g,onChange:v,disabled:y,className:o("w-full resize-y rounded-md border bg-white text-secondary-900 transition-colors placeholder:text-secondary-400 focus:outline-none dark:bg-secondary-900 dark:text-secondary-100 dark:placeholder:text-secondary-600",bt[t],yt[i?"error":e],y&&"pointer-events-none opacity-50"),...f}),(r||n!=null)&&jsxRuntime.jsx("span",{className:o("mt-1 self-end text-xs",i?"text-danger-500 dark:text-danger-400":"text-secondary-400 dark:text-secondary-500"),children:n!=null?`${w} / ${n} words`:`${w} words`})]})}var Nt={sm:{trackFixed:"h-5 w-9",trackH:"h-5 min-w-9",thumb:"h-3.5 w-3.5",thumbTop:"top-[3px]",thumbOff:"left-[2px]",thumbOn:"left-[calc(100%-16px)]",pad:"pl-[6px] pr-[18px]",contentLeft:"left-[6px]",contentRight:"right-[6px]",icon:"text-[10px] [&_svg]:h-3 [&_svg]:w-3"},md:{trackFixed:"h-6 w-11",trackH:"h-6 min-w-11",thumb:"h-4.5 w-4.5",thumbTop:"top-[3px]",thumbOff:"left-[2px]",thumbOn:"left-[calc(100%-20px)]",pad:"pl-[7px] pr-[23px]",contentLeft:"left-[7px]",contentRight:"right-[7px]",icon:"text-xs [&_svg]:h-3.5 [&_svg]:w-3.5"},lg:{trackFixed:"h-7 w-14",trackH:"h-7 min-w-14",thumb:"h-5.5 w-5.5",thumbTop:"top-[3px]",thumbOff:"left-[3px]",thumbOn:"left-[calc(100%-25px)]",pad:"pl-[8px] pr-[28px]",contentLeft:"left-[8px]",contentRight:"right-[8px]",icon:"text-sm [&_svg]:h-4 [&_svg]:w-4"}},Ct={primary:"text-primary-100",secondary:"text-secondary-100",danger:"text-danger-100",warning:"text-warning-100",success:"text-success-100"};function Ne({checked:e,defaultChecked:t=false,onCheckedChange:r,checkedContent:n,uncheckedContent:l,intent:d,size:p,label:u,id:y,className:f,disabled:a,...k}){let g=Ze.useId(),v=y??g,w=p??"md",i=d??"primary",s=Nt[w],x=n!=null||l!=null,[R,C]=Ze.useState(t),h=e??R,P=Ze.useCallback(D=>{let M=D.target.checked;e===void 0&&C(M),r?.(M);},[e,r]);return jsxRuntime.jsxs("label",{htmlFor:v,className:o("inline-flex cursor-pointer items-center gap-2",a&&"pointer-events-none opacity-50",f),children:[jsxRuntime.jsx("input",{...k,id:v,type:"checkbox",role:"switch",className:"sr-only",checked:h,disabled:a,onChange:P,"aria-checked":h}),jsxRuntime.jsxs("span",{className:o("relative inline-flex shrink-0 items-center rounded-full transition-colors duration-200",x?s.trackH:s.trackFixed,Ie({intent:d,size:p,checked:h?"on":"off"})),children:[x?jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsxs("span",{className:o("pointer-events-none invisible inline-grid",s.icon),children:[jsxRuntime.jsx("span",{className:o("[grid-area:1/1] whitespace-nowrap",s.pad),children:n}),jsxRuntime.jsx("span",{className:o("[grid-area:1/1] whitespace-nowrap",s.pad),children:l})]}),jsxRuntime.jsx("span",{className:o("absolute top-1/2 -translate-y-1/2 whitespace-nowrap font-medium leading-none transition-opacity duration-200",s.contentLeft,s.icon,Ct[i],h?"opacity-100":"opacity-0"),children:n}),jsxRuntime.jsx("span",{className:o("absolute top-1/2 -translate-y-1/2 whitespace-nowrap font-medium leading-none transition-opacity duration-200",s.contentRight,s.icon,"text-primary-400 dark:text-primary-500",h?"opacity-0":"opacity-100"),children:l})]}):null,jsxRuntime.jsx("span",{className:o("pointer-events-none absolute rounded-full bg-white shadow-sm transition-[left] duration-200 ease-in-out",s.thumb,s.thumbTop,h?s.thumbOn:s.thumbOff)})]}),u&&jsxRuntime.jsx("span",{className:"select-none text-sm text-primary-700 dark:text-primary-300",children:u})]})}var Pt={sm:"h-3 w-3",md:"h-3.5 w-3.5",lg:"h-4 w-4"};function Ce({checked:e,defaultChecked:t=false,indeterminate:r=false,onCheckedChange:n,intent:l,size:d,label:p,id:u,className:y,disabled:f,...a}){let k=Ze.useId(),g=u??k,v=d??"md",[w,i]=Ze.useState(t),s=e??w,x=Ze.useCallback(C=>{let h=C.target.checked;e===void 0&&i(h),n?.(h);},[e,n]),R=s||r;return jsxRuntime.jsxs("label",{htmlFor:g,className:o("inline-flex cursor-pointer items-center gap-2 select-none",f&&"pointer-events-none opacity-50",y),children:[jsxRuntime.jsx("input",{...a,id:g,type:"checkbox",className:"sr-only",checked:s,disabled:f,onChange:x}),jsxRuntime.jsx("span",{className:o(Le({intent:l,size:d,checked:R?"on":"off"})),children:jsxRuntime.jsx("svg",{viewBox:"0 0 16 16",fill:"none",className:o("text-white transition-all duration-200",Pt[v],R?"scale-100 opacity-100":"scale-0 opacity-0"),children:r?jsxRuntime.jsx("line",{x1:"3",y1:"8",x2:"13",y2:"8",stroke:"currentColor",strokeWidth:"2.5",strokeLinecap:"round"}):jsxRuntime.jsx("path",{d:"M3.5 8.5L6.5 11.5L12.5 4.5",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})})}),p&&jsxRuntime.jsx("span",{className:"text-sm text-primary-700 dark:text-primary-300",children:p})]})}var Ke=Ze.createContext(null);function Re({name:e,value:t,defaultValue:r,onValueChange:n,intent:l,size:d,disabled:p,orientation:u="vertical",className:y,children:f}){let a=Ze.useId(),k=e??a,[g,v]=Ze.useState(r),w=t??g,i=Ze.useCallback(s=>{t===void 0&&v(s),n?.(s);},[t,n]);return jsxRuntime.jsx(Ke.Provider,{value:{name:k,value:w,onChange:i,intent:l,size:d,disabled:p},children:jsxRuntime.jsx("div",{role:"radiogroup",className:o("flex gap-2",u==="vertical"?"flex-col":"flex-row flex-wrap",y),children:f})})}var Dt={sm:"h-1.5 w-1.5",md:"h-2 w-2",lg:"h-2.5 w-2.5"};function Te({value:e,intent:t,size:r,label:n,id:l,className:d,disabled:p,...u}){let y=Ze.useId(),f=l??y,a=Ze.useContext(Ke),k=t??a?.intent,g=r??a?.size,v=g??"md",w=p??a?.disabled,i=u.name??a?.name,s=a?a.value===e:void 0,x=Ze.useCallback(R=>{R.target.checked&&a?.onChange(e);},[a,e]);return jsxRuntime.jsxs("label",{htmlFor:f,className:o("inline-flex cursor-pointer items-center gap-2 select-none",w&&"pointer-events-none opacity-50",d),children:[jsxRuntime.jsx("input",{...u,id:f,type:"radio",name:i,value:e,className:"sr-only",checked:s,disabled:w,onChange:x}),jsxRuntime.jsx("span",{className:o(Ee({intent:k,size:g,checked:s?"on":"off"})),children:jsxRuntime.jsx("span",{className:o("rounded-full bg-white transition-all duration-200",Dt[v],s?"scale-100 opacity-100":"scale-0 opacity-0")})}),n&&jsxRuntime.jsx("span",{className:"text-sm text-primary-700 dark:text-primary-300",children:n})]})}var zt={Button:se,Dropdown:pe,DropdownButton:ye,Badge:he,Indicator:xe,Label:ve,Input:we,TextBox:ke,Switch:Ne,Checkbox:Ce,Radio:Te,RadioGroup:Re},tn=zt;exports.Badge=he;exports.Button=se;exports.Checkbox=Ce;exports.Dropdown=pe;exports.DropdownButton=ye;exports.Indicator=xe;exports.Input=we;exports.Label=ve;exports.Primitives=zt;exports.Radio=Te;exports.RadioGroup=Re;exports.Switch=Ne;exports.TextBox=ke;exports.default=tn;
|