@tribepad/themis 1.6.4 → 1.6.5

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.
Files changed (94) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/dist/elements/AlertDialog/index.js +1 -1
  3. package/dist/elements/AlertDialog/index.js.map +1 -1
  4. package/dist/elements/AlertDialog/index.mjs +1 -1
  5. package/dist/elements/AlertDialog/index.mjs.map +1 -1
  6. package/dist/elements/ColorPicker/index.js +1 -1
  7. package/dist/elements/ColorPicker/index.js.map +1 -1
  8. package/dist/elements/ColorPicker/index.mjs +1 -1
  9. package/dist/elements/ColorPicker/index.mjs.map +1 -1
  10. package/dist/elements/Combobox/index.js +1 -1
  11. package/dist/elements/Combobox/index.js.map +1 -1
  12. package/dist/elements/Combobox/index.mjs +1 -1
  13. package/dist/elements/Combobox/index.mjs.map +1 -1
  14. package/dist/elements/DatePicker/index.js +1 -1
  15. package/dist/elements/DatePicker/index.js.map +1 -1
  16. package/dist/elements/DatePicker/index.mjs +1 -1
  17. package/dist/elements/DatePicker/index.mjs.map +1 -1
  18. package/dist/elements/FileField/index.js +1 -1
  19. package/dist/elements/FileField/index.js.map +1 -1
  20. package/dist/elements/FileField/index.mjs +1 -1
  21. package/dist/elements/FileField/index.mjs.map +1 -1
  22. package/dist/elements/Filters/index.js +1 -1
  23. package/dist/elements/Filters/index.js.map +1 -1
  24. package/dist/elements/Filters/index.mjs +1 -1
  25. package/dist/elements/Filters/index.mjs.map +1 -1
  26. package/dist/elements/Modal/Modal.d.ts +2 -2
  27. package/dist/elements/Modal/Modal.d.ts.map +1 -1
  28. package/dist/elements/Modal/Modal.styles.d.ts +25 -0
  29. package/dist/elements/Modal/Modal.styles.d.ts.map +1 -1
  30. package/dist/elements/Modal/Modal.types.d.ts +27 -0
  31. package/dist/elements/Modal/Modal.types.d.ts.map +1 -1
  32. package/dist/elements/Modal/index.d.ts +3 -3
  33. package/dist/elements/Modal/index.d.ts.map +1 -1
  34. package/dist/elements/Modal/index.js +1 -1
  35. package/dist/elements/Modal/index.js.map +1 -1
  36. package/dist/elements/Modal/index.mjs +1 -1
  37. package/dist/elements/Modal/index.mjs.map +1 -1
  38. package/dist/elements/NumberField/index.js +1 -1
  39. package/dist/elements/NumberField/index.js.map +1 -1
  40. package/dist/elements/NumberField/index.mjs +1 -1
  41. package/dist/elements/NumberField/index.mjs.map +1 -1
  42. package/dist/elements/PasswordField/index.js +1 -1
  43. package/dist/elements/PasswordField/index.js.map +1 -1
  44. package/dist/elements/PasswordField/index.mjs +1 -1
  45. package/dist/elements/PasswordField/index.mjs.map +1 -1
  46. package/dist/elements/Resizable/index.js +1 -1
  47. package/dist/elements/Resizable/index.js.map +1 -1
  48. package/dist/elements/Resizable/index.mjs +1 -1
  49. package/dist/elements/Resizable/index.mjs.map +1 -1
  50. package/dist/elements/SearchField/index.js +1 -1
  51. package/dist/elements/SearchField/index.js.map +1 -1
  52. package/dist/elements/SearchField/index.mjs +1 -1
  53. package/dist/elements/SearchField/index.mjs.map +1 -1
  54. package/dist/elements/Select/index.js +1 -1
  55. package/dist/elements/Select/index.js.map +1 -1
  56. package/dist/elements/Select/index.mjs +1 -1
  57. package/dist/elements/Select/index.mjs.map +1 -1
  58. package/dist/elements/Sidebar/index.js +1 -1
  59. package/dist/elements/Sidebar/index.js.map +1 -1
  60. package/dist/elements/Sidebar/index.mjs +1 -1
  61. package/dist/elements/Sidebar/index.mjs.map +1 -1
  62. package/dist/elements/Table/index.js +1 -1
  63. package/dist/elements/Table/index.js.map +1 -1
  64. package/dist/elements/Table/index.mjs +1 -1
  65. package/dist/elements/Table/index.mjs.map +1 -1
  66. package/dist/elements/TextField/index.js +1 -1
  67. package/dist/elements/TextField/index.js.map +1 -1
  68. package/dist/elements/TextField/index.mjs +1 -1
  69. package/dist/elements/TextField/index.mjs.map +1 -1
  70. package/dist/elements/TimeField/index.js +1 -1
  71. package/dist/elements/TimeField/index.js.map +1 -1
  72. package/dist/elements/TimeField/index.mjs +1 -1
  73. package/dist/elements/TimeField/index.mjs.map +1 -1
  74. package/dist/elements/Wizard/index.js +1 -1
  75. package/dist/elements/Wizard/index.js.map +1 -1
  76. package/dist/elements/Wizard/index.mjs +1 -1
  77. package/dist/elements/Wizard/index.mjs.map +1 -1
  78. package/dist/elements/index.js +1 -1
  79. package/dist/elements/index.js.map +1 -1
  80. package/dist/elements/index.mjs +1 -1
  81. package/dist/elements/index.mjs.map +1 -1
  82. package/dist/index.js +2 -2
  83. package/dist/index.js.map +1 -1
  84. package/dist/index.mjs +2 -2
  85. package/dist/index.mjs.map +1 -1
  86. package/dist/styles/animations.css +32 -0
  87. package/dist/styles/index.js +1 -1
  88. package/dist/styles/index.js.map +1 -1
  89. package/dist/styles/index.mjs +1 -1
  90. package/dist/styles/index.mjs.map +1 -1
  91. package/dist/styles/shared-variants.d.ts +17 -0
  92. package/dist/styles/shared-variants.d.ts.map +1 -1
  93. package/package.json +1 -1
  94. package/src/elements/Modal/Modal.stories.tsx +106 -0
@@ -1,3 +1,3 @@
1
1
  "use client";
2
- import {createContext,forwardRef,useRef,useState,useEffect,useMemo,Children,isValidElement,useCallback,memo,lazy,useContext,useId,Suspense,useSyncExternalStore}from'react';import {clsx}from'clsx';import {twMerge}from'tailwind-merge';import {cva}from'class-variance-authority';import {jsx,jsxs,Fragment}from'react/jsx-runtime';import {Toolbar,Link,Button,ModalOverlay,Modal,Dialog}from'react-aria-components';import {ChevronsRight,ChevronsLeft,X as X$1}from'lucide-react';import {z}from'zod';var vt=Object.defineProperty;var O=(e,t)=>()=>(e&&(t=e(e=0)),t);var gt=(e,t)=>{for(var a in t)vt(e,a,{get:t[a],enumerable:true});};function He(e){let t=useCallback(o=>{let n=window.matchMedia(e);return n.addEventListener("change",o),()=>n.removeEventListener("change",o)},[e]),a=useCallback(()=>window.matchMedia(e).matches,[e]),r=useCallback(()=>false,[]);return useSyncExternalStore(t,a,r)}var De=O(()=>{"use client";});function g(...e){return twMerge(clsx(e))}var _=O(()=>{});function W(...e){return e.flatMap(t=>Array.isArray(t)?[...t]:[t])}var J,se,ie,F,$,Be,ke=O(()=>{J=["focus-visible:outline-none","focus-visible:ring-2","focus-visible:ring-[var(--ring)]","focus-visible:ring-offset-2"],se=["min-h-[44px]","min-w-[44px]"],ie={sm:"h-9",default:"h-10",lg:"h-11"},{sm:`${ie.sm} px-2 text-xs`,default:`${ie.default} px-3 text-sm`,lg:`${ie.lg} px-4 text-base`},F=["motion-reduce:transition-none","motion-reduce:animate-none"],$=["transition-colors","duration-150"],Be=["hover:bg-[var(--accent)]","hover:text-[var(--accent-foreground)]"];});var le,de,ee,te,ce,pe,ze,j,X,ue,me,be,Z,fe,ve,ge,xe,Se,Ge,Ue,w=O(()=>{ke();le=cva(["flex","h-full","group/sidebar"]),de=cva(["flex","flex-col","w-[80px]","shrink-0","pl-1","relative","z-10"],{variants:{variant:{default:"bg-[var(--menu-background)] border-r border-[var(--border)]",primary:"bg-[var(--primary-action)]"}},defaultVariants:{variant:"default"}}),ee=cva(["flex","flex-col"]),te=cva(W(J,F,$,["group/railitem","flex","flex-col","items-center","justify-center","w-full","min-h-[44px]","gap-1","py-1","rounded-[var(--radius-md)]","cursor-pointer","relative","select-none"]),{variants:{railVariant:{default:[],primary:[]},isActive:{true:[],false:[]},isDisabled:{true:["pointer-events-none","opacity-50","cursor-not-allowed"],false:[]}},defaultVariants:{railVariant:"default",isActive:false,isDisabled:false}}),ce=cva(W($,["relative","flex","items-center","justify-center","shrink-0","size-[30px]","rounded-[9px]","[&_svg]:size-4","[&_svg]:shrink-0","[&_svg]:pointer-events-none"]),{variants:{railVariant:{default:[],primary:[]},isActive:{true:[],false:[]}},compoundVariants:[{railVariant:"default",isActive:false,className:"text-[var(--content-foreground)] group-data-[hovered]/railitem:bg-[var(--primary-action)]/10"},{railVariant:"default",isActive:true,className:"bg-[var(--primary-action)] text-[var(--primary-action-foreground)]"},{railVariant:"primary",isActive:false,className:"text-[var(--primary-action-foreground)] group-data-[hovered]/railitem:bg-white/10"},{railVariant:"primary",isActive:true,className:"bg-[var(--primary-action-foreground)] text-[var(--primary-action)]"}],defaultVariants:{railVariant:"default",isActive:false}}),pe=cva(["text-[11px]","font-normal","leading-tight","tracking-[0.165px]","text-center","max-w-full","truncate"],{variants:{railVariant:{default:[],primary:"text-[var(--primary-action-foreground)]"},isActive:{true:[],false:[]}},compoundVariants:[{railVariant:"default",isActive:false,className:"text-[var(--content-foreground)]"},{railVariant:"default",isActive:true,className:"text-[var(--primary-action)]"}],defaultVariants:{railVariant:"default",isActive:false}}),ze=cva(["absolute","right-0","top-1/2","z-10","size-[14px]","-translate-y-1/2","translate-x-1/2","rotate-45","bg-[var(--content-background)]","border-b","border-l","border-[var(--border)]","hidden","group-has-[[data-sidebar-panel]]/sidebar:block"]),j=cva(["absolute","-top-1.5","-right-1.5","min-w-[18px]","h-[18px]","rounded-full","px-1","flex","items-center","justify-center","bg-[var(--destructive-background)]","text-[var(--destructive-foreground)]","text-[10px]","font-bold","leading-none"]),X=cva(["h-full","w-full","overflow-y-auto","bg-[var(--content-background)]","text-[var(--content-foreground)]","text-sm","motion-safe:animate-in","motion-safe:fade-in-0","motion-safe:slide-in-from-bottom-1","motion-safe:duration-200","motion-safe:fill-mode-both","[animation-delay:120ms]"]),ue=cva(["flex","flex-col","h-full","overflow-hidden","bg-[var(--content-background)]","text-[var(--content-foreground)]","motion-safe:transition-[max-width,opacity]","motion-safe:duration-[var(--transition-slow)]",...F],{variants:{width:{sm:"max-w-[220px] w-[220px]",md:"max-w-[260px] w-[260px]",lg:"max-w-[340px] w-[340px]",xl:"max-w-[420px] w-[420px]"},isCollapsed:{true:"max-w-0 opacity-0 overflow-hidden",false:"opacity-100"}},defaultVariants:{width:"md",isCollapsed:false}}),me=cva(["flex","items-center","justify-between","px-3","py-2","shrink-0"]),be=cva(["text-base","font-semibold","text-[var(--content-foreground)]","truncate"]),Z=cva(W(se,J,F,$,["inline-flex","items-center","justify-center","rounded-[var(--radius-md)]","[&_svg]:size-4","[&_svg]:shrink-0","cursor-pointer","mb-1"]),{variants:{railVariant:{default:["text-[var(--menu-foreground)]",...Be],primary:["text-[var(--primary-action-foreground)]","hover:bg-white/10"]}},defaultVariants:{railVariant:"default"}}),fe=cva(["fixed","inset-0","z-50","bg-black/50"]),ve=cva(["fixed","inset-y-0","left-0","z-50","flex","flex-col","w-[85vw]","max-w-[380px]","bg-[var(--content-background)]"]),ge=cva(["flex","items-center","justify-between","px-3","py-2","border-b","border-[var(--border)]","shrink-0"]),xe=cva(["flex","items-center","gap-1","px-2","py-2","overflow-x-auto","overflow-y-hidden","shrink-0","border-b","border-[var(--border)]","bg-[var(--menu-background)]"]),Se=cva(W(se,J,F,$,["flex","flex-col","items-center","justify-center","gap-0.5","px-2","py-1.5","rounded-[var(--radius-md)]","text-[var(--icon)]","shrink-0","cursor-pointer"]),{variants:{isActive:{true:["bg-[var(--primary-action)]","text-[var(--primary-action-foreground)]"],false:["data-[hovered]:bg-[var(--primary-action)]/10"]}},defaultVariants:{isActive:false}}),Ge=cva(["relative","[&_svg]:size-5","[&_svg]:shrink-0","[&_svg]:pointer-events-none"]),Ue=cva(["text-[10px]","leading-tight","text-center","max-w-full","truncate"],{variants:{isActive:{true:"font-semibold",false:"font-medium"}},defaultVariants:{isActive:false}});});function M(){let e=useContext(Re);if(!e)throw new Error("Sidebar compound components must be used within <Sidebar>");return e}function S(){let e=useContext(Pe);if(!e)throw new Error("Sidebar compound components must be used within <Sidebar>");return e}function ye({children:e,isCollapsed:t,defaultCollapsed:a=false,onCollapsedChange:r,isMobileOpen:o,onMobileOpenChange:n,mobileBreakpoint:i=768,className:c,"data-testid":l="sidebar"}){let[f,v]=useState(a),s=t!==void 0,m=s?t:f,p=useCallback(E=>{s||v(E),r?.(E);},[s,r]),R=useCallback(()=>p(!m),[p,m]),N=o??false,L=useCallback(E=>n?.(E),[n]),[x,y]=useState(null),b=useRef(null),T=useCallback(()=>{b.current&&(clearTimeout(b.current),b.current=null);},[]),D=useCallback((E=300)=>{b.current&&clearTimeout(b.current),b.current=setTimeout(()=>{b.current=null,y(null);},E);},[]);useEffect(()=>()=>{b.current&&clearTimeout(b.current);},[]);let A=He(`(max-width: ${i-1}px)`),B=useId(),k=`sidebar-rail-${B}`,z=`sidebar-panel-${B}`,G=useMemo(()=>({isMobile:A,railId:k,panelId:z}),[A,k,z]),U=useMemo(()=>({isCollapsed:m,setCollapsed:p,toggleCollapsed:R,isMobileOpen:N,setMobileOpen:L,activePopoverId:x,setActivePopoverId:y,cancelPopoverClose:T,schedulePopoverClose:D}),[m,p,R,N,L,x,T,D]);return A?jsx(Re.Provider,{value:G,children:jsx(Pe.Provider,{value:U,children:e})}):jsx(Re.Provider,{value:G,children:jsx(Pe.Provider,{value:U,children:jsx("div",{className:g(le(),c),"data-testid":l,children:e})})})}var Re,Pe,H=O(()=>{"use client";De();_();w();Re=createContext(null),Pe=createContext(null);ye.displayName="Sidebar";});var dt={};gt(dt,{SidebarMobileDrawer:()=>ta});function Kt(e){return e>99?"99+":String(e)}function Jt(e){let t=null;return Children.forEach(e.props.children,a=>{isValidElement(a)&&a.type.displayName==="SidebarPopover"&&(t=a);}),t}function ea(e){let t=[],a=null,r="Navigation";return Children.forEach(e,o=>{if(!isValidElement(o))return;let n=o.type.displayName;n==="SidebarRail"?(r=o.props["aria-label"]??r,Children.forEach(o.props.children,i=>{if(!isValidElement(i))return;if(i.type.displayName==="SidebarRailItem"){let l=i;t.push({props:l.props,popover:Jt(l)});}})):n==="SidebarPanel"&&(a=o.props.children);}),{railItems:t,panelContent:a,railAriaLabel:r}}function ta({children:e}){let{isMobileOpen:t,setMobileOpen:a,activePopoverId:r,setActivePopoverId:o}=S(),{railItems:n,panelContent:i,railAriaLabel:c}=ea(e),f=n.find(s=>s.props.id===r)?.popover??i,v=()=>{o(null),a(false);};return jsx(ModalOverlay,{isDismissable:true,isOpen:t,onOpenChange:s=>{s||v();},className:fe(),children:jsx(Modal,{className:ve(),children:jsxs(Dialog,{"aria-label":"Navigation menu",className:"flex flex-col h-full outline-none",children:[jsxs("header",{className:ge(),children:[jsx("span",{className:"text-base font-semibold text-[var(--content-foreground)]",children:"Menu"}),jsx(Button,{"aria-label":"Close navigation",className:g(Z()),onPress:v,children:jsx(X$1,{})})]}),n.length>0&&jsx("div",{role:"toolbar","aria-orientation":"horizontal","aria-label":c,tabIndex:0,className:xe(),children:n.map(({props:s,popover:m})=>{let p=m!=null,R=r===s.id;return jsxs(Button,{"aria-current":s.isActive?s.currentType??"page":void 0,"aria-haspopup":p?"dialog":void 0,"aria-expanded":p?R:void 0,isDisabled:s.isDisabled,className:Se({isActive:(s.isActive??false)||R}),onPress:()=>{if(s.onPress?.(),p){o(R?null:s.id);return}if(s.href){window.location.href=s.href,v();return}},"data-testid":`sidebar-mobile-rail-item-${s.id}`,children:[jsxs("span",{className:Ge(),"aria-hidden":"true",children:[s.icon,s.badgeCount!=null&&s.badgeCount>0&&jsx("span",{className:j(),"aria-hidden":"true",children:Kt(s.badgeCount)})]}),jsx("span",{className:Ue({isActive:(s.isActive??false)||R}),children:s.label}),s.badgeCount!=null&&s.badgeCount>0&&jsxs("span",{className:"sr-only",children:[s.badgeCount," notifications"]})]},s.id)})}),f&&jsx("div",{className:"flex-1 overflow-y-auto bg-[var(--content-background)] text-[var(--content-foreground)]","data-testid":"sidebar-mobile-panel-content",children:f})]})})})}var ct=O(()=>{"use client";_();H();w();});H();_();H();_();H();w();var Nt=200,It=300;function Qe(e,t){let{activePopoverId:a,setActivePopoverId:r,cancelPopoverClose:o,schedulePopoverClose:n}=S(),i=useRef("IDLE"),c=useRef(null),l=useCallback(()=>{c.current&&(clearTimeout(c.current),c.current=null);},[]),f=a===e;useEffect(()=>{!f&&i.current!=="IDLE"?(l(),i.current="IDLE"):f&&(i.current="OPEN");},[f,l]),useEffect(()=>l,[l]);let v=useCallback(m=>{t&&m.pointerType==="mouse"&&(l(),o(),i.current!=="OPEN"&&(i.current="HOVERING_TRIGGER",c.current=setTimeout(()=>{i.current="OPEN",r(e);},Nt)));},[e,t,r,l,o]),s=useCallback(()=>{if(t){if(l(),i.current==="HOVERING_TRIGGER"){i.current="IDLE",r(null);return}i.current==="OPEN"&&n(It);}},[t,r,l,n]);return {onTriggerPointerEnter:v,onTriggerPointerLeave:s}}function Ne({children:e,className:t,"data-testid":a="sidebar-popover"}){return jsx("div",{className:g(X(),t),"data-testid":a,children:e})}Ne.displayName="SidebarPopover";_();H();w();function Tt(){let{activePopoverId:e,setActivePopoverId:t}=S(),{isMobile:a}=M(),r=useRef(null);return useEffect(()=>{if(!e)return;let o=n=>{n.key==="Escape"&&(n.preventDefault(),t(null));};return document.addEventListener("keydown",o),()=>document.removeEventListener("keydown",o)},[e,t]),useEffect(()=>{if(!e)return;let o=i=>{let c=r.current,l=i.relatedTarget;if(!l||!c)return;let f=document.querySelector('[data-testid="sidebar-rail"]');!c.contains(l)&&!f?.contains(l)&&t(null);},n=r.current;return n?.addEventListener("focusout",o),()=>n?.removeEventListener("focusout",o)},[e,t]),a||!e?null:jsx(Ke,{ref:r})}var Ye=createContext(null);function Ee(){let e=useContext(Ye);if(!e)throw new Error("usePopoverRegistry must be used within SidebarPanel");return e}function qe({children:e}){let t=useRef(new Map),a=useCallback((i,c,l)=>{t.current.set(i,{content:c,label:l});},[]),r=useCallback(i=>{t.current.delete(i);},[]),o=useCallback(i=>t.current.get(i)??null,[]),n=useMemo(()=>({register:a,unregister:r,getContent:o}),[a,r,o]);return jsx(Ye.Provider,{value:n,children:e})}var Ke=forwardRef((e,t)=>{let{activePopoverId:a,cancelPopoverClose:r,schedulePopoverClose:o}=S(),n=Ee();if(!a)return null;let i=n.getContent(a);return i?jsx("div",{ref:t,role:"dialog","aria-label":`${i.label} details`,className:X(),"data-testid":"sidebar-popover",onPointerEnter:r,onPointerLeave:()=>o(300),children:i.content}):null});Ke.displayName="PopoverContent";var Ot=300,_t={sm:220,md:260,lg:340,xl:420},Ve=forwardRef(({children:e,width:t="md","aria-label":a,skeleton:r,className:o,"data-testid":n="sidebar-panel"},i)=>{let{isMobile:c}=M(),{isCollapsed:l,activePopoverId:f}=S(),v=useRef(null),s=f!==null,[m,p]=useState(!l);useEffect(()=>{if(l){p(false);return}let x=window.setTimeout(()=>p(true),Ot);return ()=>window.clearTimeout(x)},[l]);let N=r!==void 0&&!(!l&&m)?r:e;useEffect(()=>{if(!l)return;let x=v.current;if(x&&x.contains(document.activeElement)){let y=document.querySelector('[data-testid="sidebar-collapse-button"]');y&&window.requestAnimationFrame(()=>y.focus());}},[l]);let L=x=>{v.current=x,typeof i=="function"?i(x):i&&(i.current=x);};return c?null:jsxs("div",{className:g("relative shrink-0",!l&&"border-r border-[var(--border)]"),"data-sidebar-panel":"",children:[jsx("aside",{ref:L,"aria-label":a,"aria-hidden":l,inert:l||void 0,className:g(ue({width:t,isCollapsed:l}),o),"data-testid":n,children:N}),s&&jsx("div",{className:g("absolute top-0 left-0 z-10 h-full",l&&"border-r border-[var(--border)]"),style:{width:`${_t[t]}px`},children:jsx(Tt,{})})]})});Ve.displayName="SidebarPanel";function Te({title:e,icon:t,children:a,as:r="h2",className:o,"data-testid":n="sidebar-panel-header"}){return jsx("header",{className:g(me(),o),"data-testid":n,children:a??jsxs("div",{className:"flex min-w-0 items-center gap-2",children:[t?jsx("span",{"aria-hidden":"true",className:"inline-flex shrink-0 items-center justify-center text-[var(--icon)]","data-testid":`${n}-icon`,children:t}):null,jsx(r,{className:be(),children:e})]})})}Te.displayName="SidebarPanelHeader";w();var nt=createContext({variant:"default",showActiveIndicator:true});function it(){return useContext(nt)}var we=forwardRef(({children:e,"aria-label":t,variant:a="default",showActiveIndicator:r=true,className:o,"data-testid":n="sidebar-rail"},i)=>{let{isMobile:c}=M(),l=useMemo(()=>({variant:a,showActiveIndicator:r}),[a,r]);if(c)return null;let f=[],v=[],s=[];Children.forEach(e,p=>{if(isValidElement(p)&&p.type.displayName==="SidebarCollapseButton"){f.push(p);return}(isValidElement(p)?p.props.placement??"top":"top")==="bottom"?s.push(p):v.push(p);});let m=f.length>0;return jsx(nt.Provider,{value:l,children:jsxs("nav",{ref:i,"aria-label":t,className:g(de({variant:a}),"pb-2",!m&&"pt-2",o),"data-testid":n,children:[f,jsx(Toolbar,{orientation:"vertical","aria-label":"Navigation items",className:ee(),children:v}),s.length>0&&jsx(Toolbar,{orientation:"vertical","aria-label":"Secondary navigation items",className:g(ee(),"mt-auto"),"data-testid":"sidebar-rail-bottom",children:s})]})})});we.displayName="SidebarRail";function Wt(e){let t=null,a=[];return Children.forEach(e,r=>{isValidElement(r)&&r.type.displayName==="SidebarPopover"?t=r:a.push(r);}),{popover:t,rest:a.length>0?a:null}}function jt(e){return e>99?"99+":String(e)}var st=forwardRef(({id:e,label:t,icon:a,href:r,badgeCount:o,isActive:n=false,currentType:i="page",isDisabled:c=false,onPress:l,children:f,className:v,"data-testid":s},m)=>{let{activePopoverId:p,setActivePopoverId:R}=S(),{variant:N,showActiveIndicator:L}=it(),x=useRef(null),{popover:y}=Wt(f),b=y!==null,T=p===e,D=Qe(e,b),A=Ee();useEffect(()=>{if(b&&y)return A.register(e,y,t),()=>A.unregister(e)},[e,b,y,t,A]);let B=useCallback(()=>{b&&R(T?null:e),l?.();},[b,T,e,l,R]),k=useCallback(oe=>{x.current=oe,typeof m=="function"?m(oe):m&&(m.current=oe);},[m]),z=s??`sidebar-rail-item-${e}`,G=v?g(te({railVariant:N,isActive:n,isDisabled:c}),v):te({railVariant:N,isActive:n,isDisabled:c}),U=jsxs(Fragment,{children:[jsxs("span",{className:"relative flex w-full items-center justify-center",children:[jsxs("span",{className:ce({railVariant:N,isActive:n}),"aria-hidden":"true",children:[a,o!=null&&o>0&&jsx("span",{className:j(),"aria-hidden":"true",children:jt(o)})]}),L&&n&&jsx("span",{className:ze(),"aria-hidden":"true"})]}),jsx("span",{className:pe({railVariant:N,isActive:n}),children:t}),o!=null&&o>0&&jsxs("span",{className:"sr-only",children:[o," notifications"]})]}),E=r&&!c?jsx(Link,{ref:k,href:r,"aria-current":n?i:void 0,"aria-haspopup":b?"dialog":void 0,"aria-expanded":b?T:void 0,className:G,"data-testid":z,onPress:B,children:U}):jsx(Button,{ref:k,isDisabled:c,"aria-current":n?i:void 0,"aria-haspopup":b?"dialog":void 0,"aria-expanded":b?T:void 0,className:G,"data-testid":z,onPress:B,children:U});return jsx("div",{onPointerEnter:D.onTriggerPointerEnter,onPointerLeave:D.onTriggerPointerLeave,children:E})});st.displayName="SidebarRailItem";var Me=memo(st,(e,t)=>e.id===t.id&&e.isActive===t.isActive&&e.badgeCount===t.badgeCount&&e.isDisabled===t.isDisabled&&e.label===t.label&&e.className===t.className&&e.href===t.href);Me.displayName="SidebarRailItem";function Le({className:e,"data-testid":t="sidebar-collapse-button"}){let{isCollapsed:a,toggleCollapsed:r}=S(),{variant:o}=it();return jsx(Button,{"aria-expanded":!a,"aria-label":a?"Expand sidebar":"Collapse sidebar",className:g(Z({railVariant:o}),e),"data-testid":t,onPress:r,children:a?jsx(ChevronsRight,{}):jsx(ChevronsLeft,{})})}Le.displayName="SidebarCollapseButton";var oa=lazy(()=>Promise.resolve().then(()=>(ct(),dt)).then(e=>({default:e.SidebarMobileDrawer})));function na({children:e}){let{isMobile:t}=M(),{isMobileOpen:a}=S();return !t||!a?null:jsx(Suspense,{fallback:null,children:jsx(oa,{children:e})})}function pt(e){return jsx(ye,{...e,children:jsxs(qe,{children:[e.children,jsx(na,{children:e.children})]})})}pt.displayName="Sidebar";var ia=Object.assign(pt,{Rail:we,RailItem:Me,Popover:Ne,Panel:Ve,PanelHeader:Te,CollapseButton:Le});w();var V=z.object({className:z.string().optional(),children:z.any().optional(),id:z.string().optional(),"aria-label":z.string().optional(),"aria-labelledby":z.string().optional(),"aria-describedby":z.string().optional(),"aria-live":z.enum(["off","polite","assertive"]).optional(),"aria-hidden":z.boolean().optional(),"data-testid":z.string().optional()});var ut=z.enum(["default","primary"]),mt=z.enum(["sm","md","lg","xl"]),bt=z.enum(["page","true","location"]),ft=z.enum(["h1","h2","h3","h4"]),la=z.enum(["top","bottom"]),da=V.extend({children:z.custom(),isCollapsed:z.boolean().optional(),defaultCollapsed:z.boolean().optional().default(false),onCollapsedChange:z.custom().optional(),isMobileOpen:z.boolean().optional(),onMobileOpenChange:z.custom().optional(),mobileBreakpoint:z.number().optional().default(768)}),ca=V.extend({children:z.custom(),"aria-label":z.string(),variant:ut.optional().default("default"),showActiveIndicator:z.boolean().optional().default(true)}),pa=V.extend({id:z.string(),label:z.string(),icon:z.custom(),href:z.string().optional(),badgeCount:z.number().optional(),isActive:z.boolean().optional(),currentType:bt.optional().default("page"),isDisabled:z.boolean().optional(),onPress:z.custom().optional(),children:z.custom().optional(),placement:la.optional().default("top")}),ua=V.extend({children:z.custom()}),ma=V.extend({children:z.custom(),width:mt.optional().default("md"),"aria-label":z.string(),skeleton:z.custom().optional()}),ba=V.extend({title:z.string().optional(),icon:z.custom().optional(),children:z.custom().optional(),as:ft.optional().default("h2")}),fa=V.extend({});export{ia as Sidebar,fa as SidebarCollapseButtonPropsSchema,bt as SidebarCurrentTypeSchema,ft as SidebarPanelHeaderLevelSchema,ba as SidebarPanelHeaderPropsSchema,ma as SidebarPanelPropsSchema,mt as SidebarPanelWidthSchema,ua as SidebarPopoverPropsSchema,da as SidebarPropsSchema,pa as SidebarRailItemPropsSchema,ca as SidebarRailPropsSchema,ut as SidebarRailVariantSchema,Z as sidebarCollapseButtonVariants,ge as sidebarMobileDrawerHeaderVariants,ve as sidebarMobileDrawerVariants,fe as sidebarMobileOverlayVariants,Se as sidebarMobileRailItemVariants,xe as sidebarMobileRailVariants,be as sidebarPanelHeaderTitleVariants,me as sidebarPanelHeaderVariants,ue as sidebarPanelVariants,X as sidebarPopoverVariants,j as sidebarRailItemBadgeVariants,ce as sidebarRailItemIconVariants,pe as sidebarRailItemLabelVariants,te as sidebarRailItemVariants,ee as sidebarRailToolbarVariants,de as sidebarRailVariants,le as sidebarRootVariants};//# sourceMappingURL=index.mjs.map
2
+ import {createContext,forwardRef,useRef,useState,useEffect,useMemo,Children,isValidElement,useCallback,memo,lazy,useContext,useId,Suspense,useSyncExternalStore}from'react';import {clsx}from'clsx';import {twMerge}from'tailwind-merge';import {cva}from'class-variance-authority';import {jsx,jsxs,Fragment}from'react/jsx-runtime';import {Toolbar,Link,Button,ModalOverlay,Modal,Dialog}from'react-aria-components';import {ChevronsRight,ChevronsLeft,X as X$1}from'lucide-react';import {z}from'zod';var vt=Object.defineProperty;var _=(e,t)=>()=>(e&&(t=e(e=0)),t);var gt=(e,t)=>{for(var a in t)vt(e,a,{get:t[a],enumerable:true});};function De(e){let t=useCallback(n=>{let i=window.matchMedia(e);return i.addEventListener("change",n),()=>i.removeEventListener("change",n)},[e]),a=useCallback(()=>window.matchMedia(e).matches,[e]),r=useCallback(()=>false,[]);return useSyncExternalStore(t,a,r)}var He=_(()=>{"use client";});function g(...e){return twMerge(clsx(e))}var O=_(()=>{});function W(...e){return e.flatMap(t=>Array.isArray(t)?[...t]:[t])}var J,se,oe,F,$,Be,ke=_(()=>{J=["focus-visible:outline-none","focus-visible:ring-2","focus-visible:ring-[var(--ring)]","focus-visible:ring-offset-2"],se=["min-h-[44px]","min-w-[44px]"],oe={sm:"h-9",default:"h-10",lg:"h-11"},{sm:`${oe.sm} px-2 text-xs`,default:`${oe.default} px-3 text-sm`,lg:`${oe.lg} px-4 text-base`},F=["motion-reduce:transition-none","motion-reduce:animate-none"],$=["transition-colors","duration-150"],Be=["hover:bg-[var(--accent)]","hover:text-[var(--accent-foreground)]"];});var le,de,ee,te,ce,pe,ze,j,X,ue,me,be,Z,fe,ve,ge,xe,Se,Ge,Ue,M=_(()=>{ke();le=cva(["flex","h-full","group/sidebar"]),de=cva(["flex","flex-col","w-[80px]","shrink-0","pl-1","relative","z-10"],{variants:{variant:{default:"bg-[var(--menu-background)] border-r border-[var(--border)]",primary:"bg-[var(--primary-action)]"}},defaultVariants:{variant:"default"}}),ee=cva(["flex","flex-col"]),te=cva(W(J,F,$,["group/railitem","flex","flex-col","items-center","justify-center","w-full","min-h-[44px]","gap-1","py-1","rounded-[var(--radius-md)]","cursor-pointer","relative","select-none"]),{variants:{railVariant:{default:[],primary:[]},isActive:{true:[],false:[]},isDisabled:{true:["pointer-events-none","opacity-50","cursor-not-allowed"],false:[]}},defaultVariants:{railVariant:"default",isActive:false,isDisabled:false}}),ce=cva(W($,["relative","flex","items-center","justify-center","shrink-0","size-[30px]","rounded-[9px]","[&_svg]:size-4","[&_svg]:shrink-0","[&_svg]:pointer-events-none"]),{variants:{railVariant:{default:[],primary:[]},isActive:{true:[],false:[]}},compoundVariants:[{railVariant:"default",isActive:false,className:"text-[var(--content-foreground)] group-data-[hovered]/railitem:bg-[var(--primary-action)]/10"},{railVariant:"default",isActive:true,className:"bg-[var(--primary-action)] text-[var(--primary-action-foreground)]"},{railVariant:"primary",isActive:false,className:"text-[var(--primary-action-foreground)] group-data-[hovered]/railitem:bg-white/10"},{railVariant:"primary",isActive:true,className:"bg-[var(--primary-action-foreground)] text-[var(--primary-action)]"}],defaultVariants:{railVariant:"default",isActive:false}}),pe=cva(["text-[11px]","font-normal","leading-tight","tracking-[0.165px]","text-center","max-w-full","truncate"],{variants:{railVariant:{default:[],primary:"text-[var(--primary-action-foreground)]"},isActive:{true:[],false:[]}},compoundVariants:[{railVariant:"default",isActive:false,className:"text-[var(--content-foreground)]"},{railVariant:"default",isActive:true,className:"text-[var(--primary-action)]"}],defaultVariants:{railVariant:"default",isActive:false}}),ze=cva(["absolute","right-0","top-1/2","z-10","size-[14px]","-translate-y-1/2","translate-x-1/2","rotate-45","bg-[var(--content-background)]","border-b","border-l","border-[var(--border)]","hidden","group-has-[[data-sidebar-panel]]/sidebar:block"]),j=cva(["absolute","-top-1.5","-right-1.5","min-w-[18px]","h-[18px]","rounded-full","px-1","flex","items-center","justify-center","bg-[var(--destructive-background)]","text-[var(--destructive-foreground)]","text-[10px]","font-bold","leading-none"]),X=cva(["h-full","w-full","overflow-y-auto","bg-[var(--content-background)]","text-[var(--content-foreground)]","text-sm","motion-safe:animate-in","motion-safe:fade-in-0","motion-safe:slide-in-from-bottom-1","motion-safe:duration-200","motion-safe:fill-mode-both","[animation-delay:120ms]"]),ue=cva(["flex","flex-col","h-full","overflow-hidden","bg-[var(--content-background)]","text-[var(--content-foreground)]","motion-safe:transition-[max-width,opacity]","motion-safe:duration-[var(--transition-slow)]",...F],{variants:{width:{sm:"max-w-[220px] w-[220px]",md:"max-w-[260px] w-[260px]",lg:"max-w-[340px] w-[340px]",xl:"max-w-[420px] w-[420px]"},isCollapsed:{true:"max-w-0 opacity-0 overflow-hidden",false:"opacity-100"}},defaultVariants:{width:"md",isCollapsed:false}}),me=cva(["flex","items-center","justify-between","px-3","py-2","shrink-0"]),be=cva(["text-base","font-semibold","text-[var(--content-foreground)]","truncate"]),Z=cva(W(se,J,F,$,["inline-flex","items-center","justify-center","rounded-[var(--radius-md)]","[&_svg]:size-4","[&_svg]:shrink-0","cursor-pointer","mb-1"]),{variants:{railVariant:{default:["text-[var(--menu-foreground)]",...Be],primary:["text-[var(--primary-action-foreground)]","hover:bg-white/10"]}},defaultVariants:{railVariant:"default"}}),fe=cva(["fixed","inset-0","z-50","bg-black/50"]),ve=cva(["fixed","inset-y-0","left-0","z-50","flex","flex-col","w-[85vw]","max-w-[380px]","bg-[var(--content-background)]"]),ge=cva(["flex","items-center","justify-between","px-3","py-2","border-b","border-[var(--border)]","shrink-0"]),xe=cva(["flex","items-center","gap-1","px-2","py-2","overflow-x-auto","overflow-y-hidden","shrink-0","border-b","border-[var(--border)]","bg-[var(--menu-background)]"]),Se=cva(W(se,J,F,$,["flex","flex-col","items-center","justify-center","gap-0.5","px-2","py-1.5","rounded-[var(--radius-md)]","text-[var(--icon)]","shrink-0","cursor-pointer"]),{variants:{isActive:{true:["bg-[var(--primary-action)]","text-[var(--primary-action-foreground)]"],false:["data-[hovered]:bg-[var(--primary-action)]/10"]}},defaultVariants:{isActive:false}}),Ge=cva(["relative","[&_svg]:size-5","[&_svg]:shrink-0","[&_svg]:pointer-events-none"]),Ue=cva(["text-[10px]","leading-tight","text-center","max-w-full","truncate"],{variants:{isActive:{true:"font-semibold",false:"font-medium"}},defaultVariants:{isActive:false}});});function L(){let e=useContext(Re);if(!e)throw new Error("Sidebar compound components must be used within <Sidebar>");return e}function S(){let e=useContext(Pe);if(!e)throw new Error("Sidebar compound components must be used within <Sidebar>");return e}function ye({children:e,isCollapsed:t,defaultCollapsed:a=false,onCollapsedChange:r,isMobileOpen:n,onMobileOpenChange:i,mobileBreakpoint:o=768,className:c,"data-testid":l="sidebar"}){let[f,v]=useState(a),s=t!==void 0,m=s?t:f,p=useCallback(C=>{s||v(C),r?.(C);},[s,r]),R=useCallback(()=>p(!m),[p,m]),I=n??false,w=useCallback(C=>i?.(C),[i]),[x,y]=useState(null),b=useRef(null),T=useCallback(()=>{b.current&&(clearTimeout(b.current),b.current=null);},[]),H=useCallback((C=300)=>{b.current&&clearTimeout(b.current),b.current=setTimeout(()=>{b.current=null,y(null);},C);},[]);useEffect(()=>()=>{b.current&&clearTimeout(b.current);},[]);let A=De(`(max-width: ${o-1}px)`),B=useId(),k=`sidebar-rail-${B}`,z=`sidebar-panel-${B}`,G=useMemo(()=>({isMobile:A,railId:k,panelId:z}),[A,k,z]),U=useMemo(()=>({isCollapsed:m,setCollapsed:p,toggleCollapsed:R,isMobileOpen:I,setMobileOpen:w,activePopoverId:x,setActivePopoverId:y,cancelPopoverClose:T,schedulePopoverClose:H}),[m,p,R,I,w,x,T,H]);return A?jsx(Re.Provider,{value:G,children:jsx(Pe.Provider,{value:U,children:e})}):jsx(Re.Provider,{value:G,children:jsx(Pe.Provider,{value:U,children:jsx("div",{className:g(le(),c),"data-testid":l,children:e})})})}var Re,Pe,D=_(()=>{"use client";He();O();M();Re=createContext(null),Pe=createContext(null);ye.displayName="Sidebar";});var dt={};gt(dt,{SidebarMobileDrawer:()=>ta});function Kt(e){return e>99?"99+":String(e)}function Jt(e){let t=null;return Children.forEach(e.props.children,a=>{isValidElement(a)&&a.type.displayName==="SidebarPopover"&&(t=a);}),t}function ea(e){let t=[],a=null,r="Navigation";return Children.forEach(e,n=>{if(!isValidElement(n))return;let i=n.type.displayName;i==="SidebarRail"?(r=n.props["aria-label"]??r,Children.forEach(n.props.children,o=>{if(!isValidElement(o))return;if(o.type.displayName==="SidebarRailItem"){let l=o;t.push({props:l.props,popover:Jt(l)});}})):i==="SidebarPanel"&&(a=n.props.children);}),{railItems:t,panelContent:a,railAriaLabel:r}}function ta({children:e}){let{isMobileOpen:t,setMobileOpen:a,activePopoverId:r,setActivePopoverId:n}=S(),{railItems:i,panelContent:o,railAriaLabel:c}=ea(e),f=i.find(s=>s.props.id===r)?.popover??o,v=()=>{n(null),a(false);};return jsx(ModalOverlay,{isDismissable:true,isOpen:t,onOpenChange:s=>{s||v();},className:fe(),children:jsx(Modal,{className:ve(),children:jsxs(Dialog,{"aria-label":"Navigation menu",className:"flex flex-col h-full outline-none",children:[jsxs("header",{className:ge(),children:[jsx("span",{className:"text-base font-semibold text-[var(--content-foreground)]",children:"Menu"}),jsx(Button,{"aria-label":"Close navigation",className:g(Z()),onPress:v,children:jsx(X$1,{})})]}),i.length>0&&jsx("div",{role:"toolbar","aria-orientation":"horizontal","aria-label":c,tabIndex:0,className:xe(),children:i.map(({props:s,popover:m})=>{let p=m!=null,R=r===s.id;return jsxs(Button,{"aria-current":s.isActive?s.currentType??"page":void 0,"aria-haspopup":p?"dialog":void 0,"aria-expanded":p?R:void 0,isDisabled:s.isDisabled,className:Se({isActive:(s.isActive??false)||R}),onPress:()=>{if(s.onPress?.(),p){n(R?null:s.id);return}if(s.href){window.location.href=s.href,v();return}},"data-testid":`sidebar-mobile-rail-item-${s.id}`,children:[jsxs("span",{className:Ge(),"aria-hidden":"true",children:[s.icon,s.badgeCount!=null&&s.badgeCount>0&&jsx("span",{className:j(),"aria-hidden":"true",children:Kt(s.badgeCount)})]}),jsx("span",{className:Ue({isActive:(s.isActive??false)||R}),children:s.label}),s.badgeCount!=null&&s.badgeCount>0&&jsxs("span",{className:"sr-only",children:[s.badgeCount," notifications"]})]},s.id)})}),f&&jsx("div",{className:"flex-1 overflow-y-auto bg-[var(--content-background)] text-[var(--content-foreground)]","data-testid":"sidebar-mobile-panel-content",children:f})]})})})}var ct=_(()=>{"use client";O();D();M();});D();O();D();O();D();M();var It=200,Nt=300;function Qe(e,t){let{activePopoverId:a,setActivePopoverId:r,cancelPopoverClose:n,schedulePopoverClose:i}=S(),o=useRef("IDLE"),c=useRef(null),l=useCallback(()=>{c.current&&(clearTimeout(c.current),c.current=null);},[]),f=a===e;useEffect(()=>{!f&&o.current!=="IDLE"?(l(),o.current="IDLE"):f&&(o.current="OPEN");},[f,l]),useEffect(()=>l,[l]);let v=useCallback(m=>{t&&m.pointerType==="mouse"&&(l(),n(),o.current!=="OPEN"&&(o.current="HOVERING_TRIGGER",c.current=setTimeout(()=>{o.current="OPEN",r(e);},It)));},[e,t,r,l,n]),s=useCallback(()=>{if(t){if(l(),o.current==="HOVERING_TRIGGER"){o.current="IDLE",r(null);return}o.current==="OPEN"&&i(Nt);}},[t,r,l,i]);return {onTriggerPointerEnter:v,onTriggerPointerLeave:s}}function Ie({children:e,className:t,"data-testid":a="sidebar-popover"}){return jsx("div",{className:g(X(),t),"data-testid":a,children:e})}Ie.displayName="SidebarPopover";O();D();M();function Tt(){let{activePopoverId:e,setActivePopoverId:t}=S(),{isMobile:a}=L(),r=useRef(null);return useEffect(()=>{if(!e)return;let n=i=>{i.key==="Escape"&&(i.preventDefault(),t(null));};return document.addEventListener("keydown",n),()=>document.removeEventListener("keydown",n)},[e,t]),useEffect(()=>{if(!e)return;let n=o=>{let c=r.current,l=o.relatedTarget;if(!l||!c)return;let f=document.querySelector('[data-testid="sidebar-rail"]');!c.contains(l)&&!f?.contains(l)&&t(null);},i=r.current;return i?.addEventListener("focusout",n),()=>i?.removeEventListener("focusout",n)},[e,t]),a||!e?null:jsx(Ke,{ref:r})}var Ye=createContext(null);function Ce(){let e=useContext(Ye);if(!e)throw new Error("usePopoverRegistry must be used within SidebarPanel");return e}function qe({children:e}){let t=useRef(new Map),a=useCallback((o,c,l)=>{t.current.set(o,{content:c,label:l});},[]),r=useCallback(o=>{t.current.delete(o);},[]),n=useCallback(o=>t.current.get(o)??null,[]),i=useMemo(()=>({register:a,unregister:r,getContent:n}),[a,r,n]);return jsx(Ye.Provider,{value:i,children:e})}var Ke=forwardRef((e,t)=>{let{activePopoverId:a,cancelPopoverClose:r,schedulePopoverClose:n}=S(),i=Ce();if(!a)return null;let o=i.getContent(a);return o?jsx("div",{ref:t,role:"dialog","aria-label":`${o.label} details`,className:X(),"data-testid":"sidebar-popover",onPointerEnter:r,onPointerLeave:()=>n(300),children:o.content}):null});Ke.displayName="PopoverContent";var _t=300,Ot={sm:220,md:260,lg:340,xl:420},Ve=forwardRef(({children:e,width:t="md","aria-label":a,skeleton:r,className:n,"data-testid":i="sidebar-panel"},o)=>{let{isMobile:c}=L(),{isCollapsed:l,activePopoverId:f}=S(),v=useRef(null),s=f!==null,[m,p]=useState(!l);useEffect(()=>{if(l){p(false);return}let x=window.setTimeout(()=>p(true),_t);return ()=>window.clearTimeout(x)},[l]);let I=r!==void 0&&!(!l&&m)?r:e;useEffect(()=>{if(!l)return;let x=v.current;if(x&&x.contains(document.activeElement)){let y=document.querySelector('[data-testid="sidebar-collapse-button"]');y&&window.requestAnimationFrame(()=>y.focus());}},[l]);let w=x=>{v.current=x,typeof o=="function"?o(x):o&&(o.current=x);};return c?null:jsxs("div",{className:g("relative shrink-0",!l&&"border-r border-[var(--border)]"),"data-sidebar-panel":"",children:[jsx("aside",{ref:w,"aria-label":a,"aria-hidden":l,inert:l||void 0,className:g(ue({width:t,isCollapsed:l}),n),"data-testid":i,children:I}),s&&jsx("div",{className:g("absolute top-0 left-0 z-10 h-full",l&&"border-r border-[var(--border)]"),style:{width:`${Ot[t]}px`},children:jsx(Tt,{})})]})});Ve.displayName="SidebarPanel";function Te({title:e,icon:t,children:a,as:r="h2",className:n,"data-testid":i="sidebar-panel-header"}){return jsx("header",{className:g(me(),n),"data-testid":i,children:a??jsxs("div",{className:"flex min-w-0 items-center gap-2",children:[t?jsx("span",{"aria-hidden":"true",className:"inline-flex shrink-0 items-center justify-center text-[var(--icon)]","data-testid":`${i}-icon`,children:t}):null,jsx(r,{className:be(),children:e})]})})}Te.displayName="SidebarPanelHeader";M();var it=createContext({variant:"default",showActiveIndicator:true});function ot(){return useContext(it)}var Me=forwardRef(({children:e,"aria-label":t,variant:a="default",showActiveIndicator:r=true,className:n,"data-testid":i="sidebar-rail"},o)=>{let{isMobile:c}=L(),l=useMemo(()=>({variant:a,showActiveIndicator:r}),[a,r]);if(c)return null;let f=[],v=[],s=[];Children.forEach(e,p=>{if(isValidElement(p)&&p.type.displayName==="SidebarCollapseButton"){f.push(p);return}(isValidElement(p)?p.props.placement??"top":"top")==="bottom"?s.push(p):v.push(p);});let m=f.length>0;return jsx(it.Provider,{value:l,children:jsxs("nav",{ref:o,"aria-label":t,className:g(de({variant:a}),"pb-2",!m&&"pt-2",n),"data-testid":i,children:[f,jsx(Toolbar,{orientation:"vertical","aria-label":"Navigation items",className:ee(),children:v}),s.length>0&&jsx(Toolbar,{orientation:"vertical","aria-label":"Secondary navigation items",className:g(ee(),"mt-auto"),"data-testid":"sidebar-rail-bottom",children:s})]})})});Me.displayName="SidebarRail";function Wt(e){let t=null,a=[];return Children.forEach(e,r=>{isValidElement(r)&&r.type.displayName==="SidebarPopover"?t=r:a.push(r);}),{popover:t,rest:a.length>0?a:null}}function jt(e){return e>99?"99+":String(e)}var st=forwardRef(({id:e,label:t,icon:a,href:r,badgeCount:n,isActive:i=false,currentType:o="page",isDisabled:c=false,onPress:l,children:f,className:v,"data-testid":s},m)=>{let{activePopoverId:p,setActivePopoverId:R}=S(),{variant:I,showActiveIndicator:w}=ot(),x=useRef(null),{popover:y}=Wt(f),b=y!==null,T=p===e,H=Qe(e,b),A=Ce();useEffect(()=>{if(b&&y)return A.register(e,y,t),()=>A.unregister(e)},[e,b,y,t,A]);let B=useCallback(()=>{b&&R(T?null:e),l?.();},[b,T,e,l,R]),k=useCallback(ne=>{x.current=ne,typeof m=="function"?m(ne):m&&(m.current=ne);},[m]),z=s??`sidebar-rail-item-${e}`,G=v?g(te({railVariant:I,isActive:i,isDisabled:c}),v):te({railVariant:I,isActive:i,isDisabled:c}),U=jsxs(Fragment,{children:[jsxs("span",{className:"relative flex w-full items-center justify-center",children:[jsxs("span",{className:ce({railVariant:I,isActive:i}),"aria-hidden":"true",children:[a,n!=null&&n>0&&jsx("span",{className:j(),"aria-hidden":"true",children:jt(n)})]}),w&&i&&jsx("span",{className:ze(),"aria-hidden":"true"})]}),jsx("span",{className:pe({railVariant:I,isActive:i}),children:t}),n!=null&&n>0&&jsxs("span",{className:"sr-only",children:[n," notifications"]})]}),C=r&&!c?jsx(Link,{ref:k,href:r,"aria-current":i?o:void 0,"aria-haspopup":b?"dialog":void 0,"aria-expanded":b?T:void 0,className:G,"data-testid":z,onPress:B,children:U}):jsx(Button,{ref:k,isDisabled:c,"aria-current":i?o:void 0,"aria-haspopup":b?"dialog":void 0,"aria-expanded":b?T:void 0,className:G,"data-testid":z,onPress:B,children:U});return jsx("div",{onPointerEnter:H.onTriggerPointerEnter,onPointerLeave:H.onTriggerPointerLeave,children:C})});st.displayName="SidebarRailItem";var Le=memo(st,(e,t)=>e.id===t.id&&e.isActive===t.isActive&&e.badgeCount===t.badgeCount&&e.isDisabled===t.isDisabled&&e.label===t.label&&e.className===t.className&&e.href===t.href);Le.displayName="SidebarRailItem";function we({className:e,"data-testid":t="sidebar-collapse-button"}){let{isCollapsed:a,toggleCollapsed:r}=S(),{variant:n}=ot();return jsx(Button,{"aria-expanded":!a,"aria-label":a?"Expand sidebar":"Collapse sidebar",className:g(Z({railVariant:n}),e),"data-testid":t,onPress:r,children:a?jsx(ChevronsRight,{}):jsx(ChevronsLeft,{})})}we.displayName="SidebarCollapseButton";var na=lazy(()=>Promise.resolve().then(()=>(ct(),dt)).then(e=>({default:e.SidebarMobileDrawer})));function ia({children:e}){let{isMobile:t}=L(),{isMobileOpen:a}=S();return !t||!a?null:jsx(Suspense,{fallback:null,children:jsx(na,{children:e})})}function pt(e){return jsx(ye,{...e,children:jsxs(qe,{children:[e.children,jsx(ia,{children:e.children})]})})}pt.displayName="Sidebar";var oa=Object.assign(pt,{Rail:Me,RailItem:Le,Popover:Ie,Panel:Ve,PanelHeader:Te,CollapseButton:we});M();var V=z.object({className:z.string().optional(),children:z.any().optional(),id:z.string().optional(),"aria-label":z.string().optional(),"aria-labelledby":z.string().optional(),"aria-describedby":z.string().optional(),"aria-live":z.enum(["off","polite","assertive"]).optional(),"aria-hidden":z.boolean().optional(),"data-testid":z.string().optional()});var ut=z.enum(["default","primary"]),mt=z.enum(["sm","md","lg","xl"]),bt=z.enum(["page","true","location"]),ft=z.enum(["h1","h2","h3","h4"]),la=z.enum(["top","bottom"]),da=V.extend({children:z.custom(),isCollapsed:z.boolean().optional(),defaultCollapsed:z.boolean().optional().default(false),onCollapsedChange:z.custom().optional(),isMobileOpen:z.boolean().optional(),onMobileOpenChange:z.custom().optional(),mobileBreakpoint:z.number().optional().default(768)}),ca=V.extend({children:z.custom(),"aria-label":z.string(),variant:ut.optional().default("default"),showActiveIndicator:z.boolean().optional().default(true)}),pa=V.extend({id:z.string(),label:z.string(),icon:z.custom(),href:z.string().optional(),badgeCount:z.number().optional(),isActive:z.boolean().optional(),currentType:bt.optional().default("page"),isDisabled:z.boolean().optional(),onPress:z.custom().optional(),children:z.custom().optional(),placement:la.optional().default("top")}),ua=V.extend({children:z.custom()}),ma=V.extend({children:z.custom(),width:mt.optional().default("md"),"aria-label":z.string(),skeleton:z.custom().optional()}),ba=V.extend({title:z.string().optional(),icon:z.custom().optional(),children:z.custom().optional(),as:ft.optional().default("h2")}),fa=V.extend({});export{oa as Sidebar,fa as SidebarCollapseButtonPropsSchema,bt as SidebarCurrentTypeSchema,ft as SidebarPanelHeaderLevelSchema,ba as SidebarPanelHeaderPropsSchema,ma as SidebarPanelPropsSchema,mt as SidebarPanelWidthSchema,ua as SidebarPopoverPropsSchema,da as SidebarPropsSchema,pa as SidebarRailItemPropsSchema,ca as SidebarRailPropsSchema,ut as SidebarRailVariantSchema,Z as sidebarCollapseButtonVariants,ge as sidebarMobileDrawerHeaderVariants,ve as sidebarMobileDrawerVariants,fe as sidebarMobileOverlayVariants,Se as sidebarMobileRailItemVariants,xe as sidebarMobileRailVariants,be as sidebarPanelHeaderTitleVariants,me as sidebarPanelHeaderVariants,ue as sidebarPanelVariants,X as sidebarPopoverVariants,j as sidebarRailItemBadgeVariants,ce as sidebarRailItemIconVariants,pe as sidebarRailItemLabelVariants,te as sidebarRailItemVariants,ee as sidebarRailToolbarVariants,de as sidebarRailVariants,le as sidebarRootVariants};//# sourceMappingURL=index.mjs.map
3
3
  //# sourceMappingURL=index.mjs.map