@tribepad/themis 1.6.5 → 1.6.7

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 +14 -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/Breadcrumbs/index.js +1 -1
  7. package/dist/elements/Breadcrumbs/index.js.map +1 -1
  8. package/dist/elements/Breadcrumbs/index.mjs +1 -1
  9. package/dist/elements/Breadcrumbs/index.mjs.map +1 -1
  10. package/dist/elements/Combobox/Combobox.d.ts.map +1 -1
  11. package/dist/elements/Combobox/index.js +1 -1
  12. package/dist/elements/Combobox/index.js.map +1 -1
  13. package/dist/elements/Combobox/index.mjs +1 -1
  14. package/dist/elements/Combobox/index.mjs.map +1 -1
  15. package/dist/elements/DatePicker/DatePicker.d.ts.map +1 -1
  16. package/dist/elements/DatePicker/DateRangePicker.d.ts.map +1 -1
  17. package/dist/elements/DatePicker/index.js +1 -1
  18. package/dist/elements/DatePicker/index.js.map +1 -1
  19. package/dist/elements/DatePicker/index.mjs +1 -1
  20. package/dist/elements/DatePicker/index.mjs.map +1 -1
  21. package/dist/elements/Dropdown/Dropdown.d.ts.map +1 -1
  22. package/dist/elements/Dropdown/index.js +1 -1
  23. package/dist/elements/Dropdown/index.js.map +1 -1
  24. package/dist/elements/Dropdown/index.mjs +1 -1
  25. package/dist/elements/Dropdown/index.mjs.map +1 -1
  26. package/dist/elements/Filters/FilterPopover.d.ts.map +1 -1
  27. package/dist/elements/Filters/index.js +1 -1
  28. package/dist/elements/Filters/index.js.map +1 -1
  29. package/dist/elements/Filters/index.mjs +1 -1
  30. package/dist/elements/Filters/index.mjs.map +1 -1
  31. package/dist/elements/Modal/Modal.d.ts +1 -1
  32. package/dist/elements/Modal/Modal.d.ts.map +1 -1
  33. package/dist/elements/Modal/Modal.types.d.ts +2 -0
  34. package/dist/elements/Modal/Modal.types.d.ts.map +1 -1
  35. package/dist/elements/Modal/index.js +1 -1
  36. package/dist/elements/Modal/index.js.map +1 -1
  37. package/dist/elements/Modal/index.mjs +1 -1
  38. package/dist/elements/Modal/index.mjs.map +1 -1
  39. package/dist/elements/NumberField/NumberField.types.d.ts +1 -1
  40. package/dist/elements/NumberField/NumberField.types.d.ts.map +1 -1
  41. package/dist/elements/NumberField/index.js +1 -1
  42. package/dist/elements/NumberField/index.js.map +1 -1
  43. package/dist/elements/NumberField/index.mjs +1 -1
  44. package/dist/elements/NumberField/index.mjs.map +1 -1
  45. package/dist/elements/PageTitle/index.js +1 -1
  46. package/dist/elements/PageTitle/index.js.map +1 -1
  47. package/dist/elements/PageTitle/index.mjs +1 -1
  48. package/dist/elements/PageTitle/index.mjs.map +1 -1
  49. package/dist/elements/Panel/Panel.d.ts.map +1 -1
  50. package/dist/elements/Panel/index.js +1 -1
  51. package/dist/elements/Panel/index.js.map +1 -1
  52. package/dist/elements/Panel/index.mjs +1 -1
  53. package/dist/elements/Panel/index.mjs.map +1 -1
  54. package/dist/elements/Resizable/components/ResizablePopover.d.ts.map +1 -1
  55. package/dist/elements/Resizable/index.js +1 -1
  56. package/dist/elements/Resizable/index.js.map +1 -1
  57. package/dist/elements/Resizable/index.mjs +1 -1
  58. package/dist/elements/Resizable/index.mjs.map +1 -1
  59. package/dist/elements/Select/Select.d.ts.map +1 -1
  60. package/dist/elements/Select/index.js +1 -1
  61. package/dist/elements/Select/index.js.map +1 -1
  62. package/dist/elements/Select/index.mjs +1 -1
  63. package/dist/elements/Select/index.mjs.map +1 -1
  64. package/dist/elements/Sidebar/SidebarMobileDrawer.d.ts.map +1 -1
  65. package/dist/elements/Sidebar/index.js +1 -1
  66. package/dist/elements/Sidebar/index.js.map +1 -1
  67. package/dist/elements/Sidebar/index.mjs +1 -1
  68. package/dist/elements/Sidebar/index.mjs.map +1 -1
  69. package/dist/elements/Table/index.js +1 -1
  70. package/dist/elements/Table/index.js.map +1 -1
  71. package/dist/elements/Table/index.mjs +1 -1
  72. package/dist/elements/Table/index.mjs.map +1 -1
  73. package/dist/elements/Wizard/index.js +1 -1
  74. package/dist/elements/Wizard/index.js.map +1 -1
  75. package/dist/elements/Wizard/index.mjs +1 -1
  76. package/dist/elements/Wizard/index.mjs.map +1 -1
  77. package/dist/elements/index.js +1 -1
  78. package/dist/elements/index.js.map +1 -1
  79. package/dist/elements/index.mjs +1 -1
  80. package/dist/elements/index.mjs.map +1 -1
  81. package/dist/index.js +2 -2
  82. package/dist/index.js.map +1 -1
  83. package/dist/index.mjs +2 -2
  84. package/dist/index.mjs.map +1 -1
  85. package/dist/utils/browserExtensionOverlay.d.ts +36 -0
  86. package/dist/utils/browserExtensionOverlay.d.ts.map +1 -0
  87. package/dist/utils/index.d.ts +1 -0
  88. package/dist/utils/index.d.ts.map +1 -1
  89. package/dist/utils/index.js +1 -1
  90. package/dist/utils/index.js.map +1 -1
  91. package/dist/utils/index.mjs +1 -1
  92. package/dist/utils/index.mjs.map +1 -1
  93. package/package.json +1 -1
  94. package/src/elements/NumberField/NumberField.stories.tsx +2 -2
@@ -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 _=(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
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 xt=Object.defineProperty;var M=(e,t)=>()=>(e&&(t=e(e=0)),t);var St=(e,t)=>{for(var a in t)xt(e,a,{get:t[a],enumerable:true});};function De(e){let t=useCallback(n=>{let o=window.matchMedia(e);return o.addEventListener("change",n),()=>o.removeEventListener("change",n)},[e]),a=useCallback(()=>window.matchMedia(e).matches,[e]),r=useCallback(()=>false,[]);return useSyncExternalStore(t,a,r)}var He=M(()=>{"use client";});function v(...e){return twMerge(clsx(e))}var _=M(()=>{});function W(...e){return e.flatMap(t=>Array.isArray(t)?[...t]:[t])}var J,se,ie,F,$,Be,ke=M(()=>{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,ue,ze,j,X,pe,me,be,Z,fe,ge,ve,xe,Se,Ge,Ue,L=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}}),ue=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]"]),pe=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"]),ge=cva(["fixed","inset-y-0","left-0","z-50","flex","flex-col","w-[85vw]","max-w-[380px]","bg-[var(--content-background)]"]),ve=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 w(){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 he({children:e,isCollapsed:t,defaultCollapsed:a=false,onCollapsedChange:r,isMobileOpen:n,onMobileOpenChange:o,mobileBreakpoint:i=768,className:c,"data-testid":l="sidebar"}){let[f,g]=useState(a),s=t!==void 0,m=s?t:f,u=useCallback(C=>{s||g(C),r?.(C);},[s,r]),R=useCallback(()=>u(!m),[u,m]),E=n??false,O=useCallback(C=>o?.(C),[o]),[x,h]=useState(null),b=useRef(null),V=useCallback(()=>{b.current&&(clearTimeout(b.current),b.current=null);},[]),H=useCallback((C=300)=>{b.current&&clearTimeout(b.current),b.current=setTimeout(()=>{b.current=null,h(null);},C);},[]);useEffect(()=>()=>{b.current&&clearTimeout(b.current);},[]);let A=De(`(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:u,toggleCollapsed:R,isMobileOpen:E,setMobileOpen:O,activePopoverId:x,setActivePopoverId:h,cancelPopoverClose:V,schedulePopoverClose:H}),[m,u,R,E,O,x,V,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:v(le(),c),"data-testid":l,children:e})})})}var Re,Pe,D=M(()=>{"use client";He();_();L();Re=createContext(null),Pe=createContext(null);he.displayName="Sidebar";});function Yt(e){if(!(e instanceof Element))return false;let t=e;for(let n=0;t&&n<100;n++){let o=t.tagName?.toLowerCase()??"";if(o.startsWith("grammarly-")||o.startsWith("lt-")||t.hasAttribute("data-grammarly-shadow-root"))return true;if(t.parentElement)t=t.parentElement;else {let i=t.getRootNode();t=i instanceof ShadowRoot?i.host:null;}}let a=e;for(;a&&!a.tagName.includes("-");)a=a.parentElement;if(!a)return false;let r=a.parentElement;return r===document.body||r===document.documentElement}function lt(e){return t=>!Yt(t)&&(e?.(t)??true)}var dt=M(()=>{});var ut={};St(ut,{SidebarMobileDrawer:()=>na});function ta(e){return e>99?"99+":String(e)}function aa(e){let t=null;return Children.forEach(e.props.children,a=>{isValidElement(a)&&a.type.displayName==="SidebarPopover"&&(t=a);}),t}function ra(e){let t=[],a=null,r="Navigation";return Children.forEach(e,n=>{if(!isValidElement(n))return;let o=n.type.displayName;o==="SidebarRail"?(r=n.props["aria-label"]??r,Children.forEach(n.props.children,i=>{if(!isValidElement(i))return;if(i.type.displayName==="SidebarRailItem"){let l=i;t.push({props:l.props,popover:aa(l)});}})):o==="SidebarPanel"&&(a=n.props.children);}),{railItems:t,panelContent:a,railAriaLabel:r}}function na({children:e}){let{isMobileOpen:t,setMobileOpen:a,activePopoverId:r,setActivePopoverId:n}=S(),{railItems:o,panelContent:i,railAriaLabel:c}=ra(e),f=o.find(s=>s.props.id===r)?.popover??i,g=()=>{n(null),a(false);};return jsx(ModalOverlay,{isDismissable:true,shouldCloseOnInteractOutside:lt(),isOpen:t,onOpenChange:s=>{s||g();},className:fe(),children:jsx(Modal,{className:ge(),children:jsxs(Dialog,{"aria-label":"Navigation menu",className:"flex flex-col h-full outline-none",children:[jsxs("header",{className:ve(),children:[jsx("span",{className:"text-base font-semibold text-[var(--content-foreground)]",children:"Menu"}),jsx(Button,{"aria-label":"Close navigation",className:v(Z()),onPress:g,children:jsx(X$1,{})})]}),o.length>0&&jsx("div",{role:"toolbar","aria-orientation":"horizontal","aria-label":c,tabIndex:0,className:xe(),children:o.map(({props:s,popover:m})=>{let u=m!=null,R=r===s.id;return jsxs(Button,{"aria-current":s.isActive?s.currentType??"page":void 0,"aria-haspopup":u?"dialog":void 0,"aria-expanded":u?R:void 0,isDisabled:s.isDisabled,className:Se({isActive:(s.isActive??false)||R}),onPress:()=>{if(s.onPress?.(),u){n(R?null:s.id);return}if(s.href){window.location.href=s.href,g();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:ta(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 pt=M(()=>{"use client";_();dt();D();L();});D();_();D();_();D();L();var Nt=200,Ct=300;function Qe(e,t){let{activePopoverId:a,setActivePopoverId:r,cancelPopoverClose:n,schedulePopoverClose:o}=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 g=useCallback(m=>{t&&m.pointerType==="mouse"&&(l(),n(),i.current!=="OPEN"&&(i.current="HOVERING_TRIGGER",c.current=setTimeout(()=>{i.current="OPEN",r(e);},Nt)));},[e,t,r,l,n]),s=useCallback(()=>{if(t){if(l(),i.current==="HOVERING_TRIGGER"){i.current="IDLE",r(null);return}i.current==="OPEN"&&o(Ct);}},[t,r,l,o]);return {onTriggerPointerEnter:g,onTriggerPointerLeave:s}}function Ee({children:e,className:t,"data-testid":a="sidebar-popover"}){return jsx("div",{className:v(X(),t),"data-testid":a,children:e})}Ee.displayName="SidebarPopover";_();D();L();function Mt(){let{activePopoverId:e,setActivePopoverId:t}=S(),{isMobile:a}=w(),r=useRef(null);return useEffect(()=>{if(!e)return;let n=o=>{o.key==="Escape"&&(o.preventDefault(),t(null));};return document.addEventListener("keydown",n),()=>document.removeEventListener("keydown",n)},[e,t]),useEffect(()=>{if(!e)return;let n=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);},o=r.current;return o?.addEventListener("focusout",n),()=>o?.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((i,c,l)=>{t.current.set(i,{content:c,label:l});},[]),r=useCallback(i=>{t.current.delete(i);},[]),n=useCallback(i=>t.current.get(i)??null,[]),o=useMemo(()=>({register:a,unregister:r,getContent:n}),[a,r,n]);return jsx(Ye.Provider,{value:o,children:e})}var Ke=forwardRef((e,t)=>{let{activePopoverId:a,cancelPopoverClose:r,schedulePopoverClose:n}=S(),o=Ce();if(!a)return null;let i=o.getContent(a);return i?jsx("div",{ref:t,role:"dialog","aria-label":`${i.label} details`,className:X(),"data-testid":"sidebar-popover",onPointerEnter:r,onPointerLeave:()=>n(300),children:i.content}):null});Ke.displayName="PopoverContent";var Dt=300,Ht={sm:220,md:260,lg:340,xl:420},Te=forwardRef(({children:e,width:t="md","aria-label":a,skeleton:r,className:n,"data-testid":o="sidebar-panel"},i)=>{let{isMobile:c}=w(),{isCollapsed:l,activePopoverId:f}=S(),g=useRef(null),s=f!==null,[m,u]=useState(!l);useEffect(()=>{if(l){u(false);return}let x=window.setTimeout(()=>u(true),Dt);return ()=>window.clearTimeout(x)},[l]);let E=r!==void 0&&!(!l&&m)?r:e;useEffect(()=>{if(!l)return;let x=g.current;if(x&&x.contains(document.activeElement)){let h=document.querySelector('[data-testid="sidebar-collapse-button"]');h&&window.requestAnimationFrame(()=>h.focus());}},[l]);let O=x=>{g.current=x,typeof i=="function"?i(x):i&&(i.current=x);};return c?null:jsxs("div",{className:v("relative shrink-0",!l&&"border-r border-[var(--border)]"),"data-sidebar-panel":"",children:[jsx("aside",{ref:O,"aria-label":a,"aria-hidden":l,inert:l||void 0,className:v(pe({width:t,isCollapsed:l}),n),"data-testid":o,children:E}),s&&jsx("div",{className:v("absolute top-0 left-0 z-10 h-full",l&&"border-r border-[var(--border)]"),style:{width:`${Ht[t]}px`},children:jsx(Mt,{})})]})});Te.displayName="SidebarPanel";function Ve({title:e,icon:t,children:a,as:r="h2",className:n,"data-testid":o="sidebar-panel-header"}){return jsx("header",{className:v(me(),n),"data-testid":o,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":`${o}-icon`,children:t}):null,jsx(r,{className:be(),children:e})]})})}Ve.displayName="SidebarPanelHeader";L();var ot=createContext({variant:"default",showActiveIndicator:true});function it(){return useContext(ot)}var Me=forwardRef(({children:e,"aria-label":t,variant:a="default",showActiveIndicator:r=true,className:n,"data-testid":o="sidebar-rail"},i)=>{let{isMobile:c}=w(),l=useMemo(()=>({variant:a,showActiveIndicator:r}),[a,r]);if(c)return null;let f=[],g=[],s=[];Children.forEach(e,u=>{if(isValidElement(u)&&u.type.displayName==="SidebarCollapseButton"){f.push(u);return}(isValidElement(u)?u.props.placement??"top":"top")==="bottom"?s.push(u):g.push(u);});let m=f.length>0;return jsx(ot.Provider,{value:l,children:jsxs("nav",{ref:i,"aria-label":t,className:v(de({variant:a}),"pb-2",!m&&"pt-2",n),"data-testid":o,children:[f,jsx(Toolbar,{orientation:"vertical","aria-label":"Navigation items",className:ee(),children:g}),s.length>0&&jsx(Toolbar,{orientation:"vertical","aria-label":"Secondary navigation items",className:v(ee(),"mt-auto"),"data-testid":"sidebar-rail-bottom",children:s})]})})});Me.displayName="SidebarRail";function Xt(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 Zt(e){return e>99?"99+":String(e)}var st=forwardRef(({id:e,label:t,icon:a,href:r,badgeCount:n,isActive:o=false,currentType:i="page",isDisabled:c=false,onPress:l,children:f,className:g,"data-testid":s},m)=>{let{activePopoverId:u,setActivePopoverId:R}=S(),{variant:E,showActiveIndicator:O}=it(),x=useRef(null),{popover:h}=Xt(f),b=h!==null,V=u===e,H=Qe(e,b),A=Ce();useEffect(()=>{if(b&&h)return A.register(e,h,t),()=>A.unregister(e)},[e,b,h,t,A]);let B=useCallback(()=>{b&&R(V?null:e),l?.();},[b,V,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=g?v(te({railVariant:E,isActive:o,isDisabled:c}),g):te({railVariant:E,isActive:o,isDisabled:c}),U=jsxs(Fragment,{children:[jsxs("span",{className:"relative flex w-full items-center justify-center",children:[jsxs("span",{className:ce({railVariant:E,isActive:o}),"aria-hidden":"true",children:[a,n!=null&&n>0&&jsx("span",{className:j(),"aria-hidden":"true",children:Zt(n)})]}),O&&o&&jsx("span",{className:ze(),"aria-hidden":"true"})]}),jsx("span",{className:ue({railVariant:E,isActive:o}),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":o?i:void 0,"aria-haspopup":b?"dialog":void 0,"aria-expanded":b?V:void 0,className:G,"data-testid":z,onPress:B,children:U}):jsx(Button,{ref:k,isDisabled:c,"aria-current":o?i:void 0,"aria-haspopup":b?"dialog":void 0,"aria-expanded":b?V: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}=it();return jsx(Button,{"aria-expanded":!a,"aria-label":a?"Expand sidebar":"Collapse sidebar",className:v(Z({railVariant:n}),e),"data-testid":t,onPress:r,children:a?jsx(ChevronsRight,{}):jsx(ChevronsLeft,{})})}we.displayName="SidebarCollapseButton";var sa=lazy(()=>Promise.resolve().then(()=>(pt(),ut)).then(e=>({default:e.SidebarMobileDrawer})));function la({children:e}){let{isMobile:t}=w(),{isMobileOpen:a}=S();return !t||!a?null:jsx(Suspense,{fallback:null,children:jsx(sa,{children:e})})}function mt(e){return jsx(he,{...e,children:jsxs(qe,{children:[e.children,jsx(la,{children:e.children})]})})}mt.displayName="Sidebar";var da=Object.assign(mt,{Rail:Me,RailItem:Le,Popover:Ee,Panel:Te,PanelHeader:Ve,CollapseButton:we});L();var T=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 bt=z.enum(["default","primary"]),ft=z.enum(["sm","md","lg","xl"]),gt=z.enum(["page","true","location"]),vt=z.enum(["h1","h2","h3","h4"]),ua=z.enum(["top","bottom"]),pa=T.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)}),ma=T.extend({children:z.custom(),"aria-label":z.string(),variant:bt.optional().default("default"),showActiveIndicator:z.boolean().optional().default(true)}),ba=T.extend({id:z.string(),label:z.string(),icon:z.custom(),href:z.string().optional(),badgeCount:z.number().optional(),isActive:z.boolean().optional(),currentType:gt.optional().default("page"),isDisabled:z.boolean().optional(),onPress:z.custom().optional(),children:z.custom().optional(),placement:ua.optional().default("top")}),fa=T.extend({children:z.custom()}),ga=T.extend({children:z.custom(),width:ft.optional().default("md"),"aria-label":z.string(),skeleton:z.custom().optional()}),va=T.extend({title:z.string().optional(),icon:z.custom().optional(),children:z.custom().optional(),as:vt.optional().default("h2")}),xa=T.extend({});export{da as Sidebar,xa as SidebarCollapseButtonPropsSchema,gt as SidebarCurrentTypeSchema,vt as SidebarPanelHeaderLevelSchema,va as SidebarPanelHeaderPropsSchema,ga as SidebarPanelPropsSchema,ft as SidebarPanelWidthSchema,fa as SidebarPopoverPropsSchema,pa as SidebarPropsSchema,ba as SidebarRailItemPropsSchema,ma as SidebarRailPropsSchema,bt as SidebarRailVariantSchema,Z as sidebarCollapseButtonVariants,ve as sidebarMobileDrawerHeaderVariants,ge as sidebarMobileDrawerVariants,fe as sidebarMobileOverlayVariants,Se as sidebarMobileRailItemVariants,xe as sidebarMobileRailVariants,be as sidebarPanelHeaderTitleVariants,me as sidebarPanelHeaderVariants,pe as sidebarPanelVariants,X as sidebarPopoverVariants,j as sidebarRailItemBadgeVariants,ce as sidebarRailItemIconVariants,ue as sidebarRailItemLabelVariants,te as sidebarRailItemVariants,ee as sidebarRailToolbarVariants,de as sidebarRailVariants,le as sidebarRootVariants};//# sourceMappingURL=index.mjs.map
3
3
  //# sourceMappingURL=index.mjs.map