@radui/ui 1.0.1 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (238) hide show
  1. package/dist/components/Accordion.cjs +1 -1
  2. package/dist/components/Accordion.js +1 -1
  3. package/dist/components/AlertDialog.cjs +1 -1
  4. package/dist/components/AlertDialog.d.ts +61 -24
  5. package/dist/components/AlertDialog.js +1 -1
  6. package/dist/components/Avatar.cjs +1 -1
  7. package/dist/components/Avatar.d.ts +36 -6
  8. package/dist/components/Avatar.js +1 -1
  9. package/dist/components/AvatarGroup.cjs +1 -1
  10. package/dist/components/AvatarGroup.d.ts +39 -18
  11. package/dist/components/AvatarGroup.js +1 -1
  12. package/dist/components/{AvatarPrimitiveFallback-CBb0nHGD.cjs → AvatarPrimitiveFallback-BpUU1vNV.cjs} +1 -1
  13. package/dist/components/{AvatarPrimitiveFallback-C1siRii4.js → AvatarPrimitiveFallback-DIXB9Tnm.js} +1 -1
  14. package/dist/components/Badge.cjs +1 -1
  15. package/dist/components/Badge.js +1 -1
  16. package/dist/components/Breadcrumb.cjs +1 -1
  17. package/dist/components/Breadcrumb.js +1 -1
  18. package/dist/components/Button.cjs +1 -1
  19. package/dist/components/Button.js +1 -1
  20. package/dist/components/Callout.cjs +1 -1
  21. package/dist/components/Callout.d.ts +32 -18
  22. package/dist/components/Callout.js +1 -1
  23. package/dist/components/Card.cjs +1 -1
  24. package/dist/components/Card.d.ts +31 -16
  25. package/dist/components/Card.js +1 -1
  26. package/dist/components/Checkbox.cjs +1 -1
  27. package/dist/components/Checkbox.js +1 -1
  28. package/dist/components/CheckboxCards.cjs +1 -1
  29. package/dist/components/CheckboxCards.js +1 -1
  30. package/dist/components/CheckboxGroup.cjs +1 -1
  31. package/dist/components/CheckboxGroup.d.ts +6 -2
  32. package/dist/components/CheckboxGroup.js +1 -1
  33. package/dist/components/{CheckboxGroupPrimitive-DfHQYkep.js → CheckboxGroupPrimitive-BRCGIztp.js} +1 -1
  34. package/dist/components/{CheckboxGroupPrimitive-d9yBl6m5.cjs → CheckboxGroupPrimitive-C21WO4L3.cjs} +1 -1
  35. package/dist/components/Collapsible.cjs +1 -1
  36. package/dist/components/Collapsible.d.ts +34 -4
  37. package/dist/components/Collapsible.js +1 -1
  38. package/dist/components/Combobox.cjs +1 -1
  39. package/dist/components/Combobox.d.ts +57 -45
  40. package/dist/components/Combobox.js +1 -1
  41. package/dist/components/ComboboxPrimitive-BdX2jgpQ.js +1 -0
  42. package/dist/components/ComboboxPrimitive-CyO6ZH5T.cjs +1 -0
  43. package/dist/components/Command.cjs +1 -1
  44. package/dist/components/Command.d.ts +36 -8
  45. package/dist/components/Command.js +1 -1
  46. package/dist/components/ContextMenu.cjs +1 -1
  47. package/dist/components/ContextMenu.d.ts +25 -11
  48. package/dist/components/ContextMenu.js +1 -1
  49. package/dist/components/Dialog.cjs +1 -1
  50. package/dist/components/Dialog.d.ts +29 -4
  51. package/dist/components/Dialog.js +1 -1
  52. package/dist/components/Disclosure.cjs +1 -1
  53. package/dist/components/Disclosure.js +1 -1
  54. package/dist/components/Drawer.cjs +1 -1
  55. package/dist/components/Drawer.d.ts +31 -3
  56. package/dist/components/Drawer.js +1 -1
  57. package/dist/components/DropdownMenu.cjs +1 -1
  58. package/dist/components/DropdownMenu.d.ts +25 -11
  59. package/dist/components/DropdownMenu.js +1 -1
  60. package/dist/components/HoverCard.cjs +1 -1
  61. package/dist/components/HoverCard.d.ts +15 -1
  62. package/dist/components/HoverCard.js +1 -1
  63. package/dist/components/Label.cjs +1 -0
  64. package/dist/components/Label.d.ts +18 -0
  65. package/dist/components/Label.js +1 -0
  66. package/dist/components/Link.cjs +1 -1
  67. package/dist/components/Link.js +1 -1
  68. package/dist/components/LiveRegion.cjs +1 -1
  69. package/dist/components/LiveRegion.d.ts +2 -5
  70. package/dist/components/LiveRegion.js +1 -1
  71. package/dist/components/MenuPrimitive-Ctqo21Vd.cjs +1 -0
  72. package/dist/components/MenuPrimitive-Cy_MJfjG.js +1 -0
  73. package/dist/components/Menubar.cjs +1 -1
  74. package/dist/components/Menubar.d.ts +45 -16
  75. package/dist/components/Menubar.js +1 -1
  76. package/dist/components/Meter.cjs +1 -0
  77. package/dist/components/Meter.d.ts +44 -0
  78. package/dist/components/Meter.js +1 -0
  79. package/dist/components/Minimap.cjs +1 -1
  80. package/dist/components/Minimap.js +1 -1
  81. package/dist/components/NavigationMenu.cjs +1 -1
  82. package/dist/components/NavigationMenu.d.ts +2 -0
  83. package/dist/components/NavigationMenu.js +1 -1
  84. package/dist/components/Popover.cjs +1 -1
  85. package/dist/components/Popover.d.ts +64 -5
  86. package/dist/components/Popover.js +1 -1
  87. package/dist/components/Progress.cjs +1 -1
  88. package/dist/components/Progress.d.ts +14 -2
  89. package/dist/components/Progress.js +1 -1
  90. package/dist/components/Radio.cjs +1 -1
  91. package/dist/components/Radio.js +1 -1
  92. package/dist/components/RadioCards.cjs +1 -1
  93. package/dist/components/RadioCards.d.ts +22 -1
  94. package/dist/components/RadioCards.js +1 -1
  95. package/dist/components/RadioGroup.cjs +1 -1
  96. package/dist/components/RadioGroup.d.ts +27 -7
  97. package/dist/components/RadioGroup.js +1 -1
  98. package/dist/components/RadioGroupPrimitive-B0CrM2bi.cjs +1 -0
  99. package/dist/components/RadioGroupPrimitive-CnPy0zgW.js +1 -0
  100. package/dist/components/ScrollArea.cjs +1 -1
  101. package/dist/components/ScrollArea.d.ts +24 -13
  102. package/dist/components/ScrollArea.js +1 -1
  103. package/dist/components/Select.cjs +1 -1
  104. package/dist/components/Select.d.ts +52 -44
  105. package/dist/components/Select.js +1 -1
  106. package/dist/components/Separator.cjs +1 -1
  107. package/dist/components/Separator.d.ts +8 -1
  108. package/dist/components/Separator.js +1 -1
  109. package/dist/components/Slider.cjs +1 -1
  110. package/dist/components/Slider.js +1 -1
  111. package/dist/components/Steps.cjs +1 -1
  112. package/dist/components/Steps.d.ts +33 -16
  113. package/dist/components/Steps.js +1 -1
  114. package/dist/components/Switch.cjs +1 -1
  115. package/dist/components/Switch.d.ts +14 -2
  116. package/dist/components/Switch.js +1 -1
  117. package/dist/components/TabNav.cjs +1 -1
  118. package/dist/components/TabNav.d.ts +5 -0
  119. package/dist/components/TabNav.js +1 -1
  120. package/dist/components/Table.cjs +1 -1
  121. package/dist/components/Table.d.ts +23 -12
  122. package/dist/components/Table.js +1 -1
  123. package/dist/components/Tabs.cjs +1 -1
  124. package/dist/components/Tabs.js +1 -1
  125. package/dist/components/Theme.cjs +1 -1
  126. package/dist/components/Theme.d.ts +2 -0
  127. package/dist/components/Theme.js +1 -1
  128. package/dist/components/Toast.cjs +1 -1
  129. package/dist/components/Toast.js +1 -1
  130. package/dist/components/Toggle.cjs +1 -1
  131. package/dist/components/Toggle.js +1 -1
  132. package/dist/components/ToggleGroup.cjs +1 -1
  133. package/dist/components/ToggleGroup.js +1 -1
  134. package/dist/components/Toolbar.cjs +1 -1
  135. package/dist/components/Toolbar.d.ts +8 -1
  136. package/dist/components/Toolbar.js +1 -1
  137. package/dist/components/Tooltip.cjs +1 -1
  138. package/dist/components/Tooltip.d.ts +7 -1
  139. package/dist/components/Tooltip.js +1 -1
  140. package/dist/components/Tree.cjs +1 -1
  141. package/dist/components/Tree.d.ts +8 -1
  142. package/dist/components/Tree.js +1 -1
  143. package/dist/components/VisuallyHidden.cjs +1 -1
  144. package/dist/components/VisuallyHidden.d.ts +6 -1
  145. package/dist/components/VisuallyHidden.js +1 -1
  146. package/dist/components/{floating-ui.react-2kiGB4sW.js → floating-ui.react-CZf-mCiA.js} +1 -1
  147. package/dist/components/{index-WGIYLuwZ.cjs → index-BZO29jsF.cjs} +1 -1
  148. package/dist/components/index-B_OPdW20.js +1 -0
  149. package/dist/components/{index-436yWBk4.cjs → index-BbvJO-A-.cjs} +1 -1
  150. package/dist/components/index-Bg-UeWCo.cjs +1 -0
  151. package/dist/components/index-BidxkqdT.js +1 -0
  152. package/dist/components/{index-DMX7gpdp.js → index-CAD0hWja.js} +1 -1
  153. package/dist/components/{index-xlB--dex.js → index-CXv1Y-O3.js} +1 -1
  154. package/dist/components/{index-CukraWfT.cjs → index-C_Yiql9j.cjs} +1 -1
  155. package/dist/components/{index-nYRBURkR.js → index-Cp5L_alO.js} +1 -1
  156. package/dist/components/{index-C7dBo_Ry.js → index-D8QLtYJh.js} +1 -1
  157. package/dist/components/{index-FITGoHty.js → index-DH-14XDv.js} +1 -1
  158. package/dist/components/{index-CoPhBYnZ.cjs → index-K0sE1H4u.cjs} +1 -1
  159. package/dist/components/{index-BeakeOqt.cjs → index-rUSzFrhJ.cjs} +1 -1
  160. package/dist/index.cjs +2 -0
  161. package/dist/index.d.ts +2 -0
  162. package/dist/index.js +2 -0
  163. package/dist/styles/clarity/Accordion/accordion.clarity.scss +147 -0
  164. package/dist/styles/clarity/AlertDialog/alert-dialog.clarity.scss +199 -0
  165. package/dist/styles/clarity/Avatar/_avatar-base.clarity.scss +87 -0
  166. package/dist/styles/clarity/Avatar/avatar.clarity.scss +1 -0
  167. package/dist/styles/clarity/AvatarGroup/avatar-group.clarity.scss +122 -0
  168. package/dist/styles/clarity/Badge/badge.clarity.scss +118 -0
  169. package/dist/styles/clarity/BlockQuote/blockquote.clarity.scss +123 -0
  170. package/dist/styles/clarity/Breadcrumb/breadcrumb.clarity.scss +50 -0
  171. package/dist/styles/clarity/Button/button.clarity.scss +132 -0
  172. package/dist/styles/clarity/Callout/callout.clarity.scss +183 -0
  173. package/dist/styles/clarity/Card/card.clarity.scss +121 -0
  174. package/dist/styles/clarity/Checkbox/checkbox.clarity.scss +75 -0
  175. package/dist/styles/clarity/CheckboxCards/checkbox-cards.clarity.scss +143 -0
  176. package/dist/styles/clarity/CheckboxGroup/checkbox-group.clarity.scss +92 -0
  177. package/dist/styles/clarity/Code/code.clarity.scss +42 -0
  178. package/dist/styles/clarity/Collapsible/collapsible.clarity.scss +84 -0
  179. package/dist/styles/clarity/Combobox/combobox.clarity.scss +157 -0
  180. package/dist/styles/clarity/Command/command.clarity.scss +231 -0
  181. package/dist/styles/clarity/ContextMenu/context-menu.clarity.scss +272 -0
  182. package/dist/styles/clarity/DataList/data-list.clarity.scss +60 -0
  183. package/dist/styles/clarity/Dialog/dialog.clarity.scss +205 -0
  184. package/dist/styles/clarity/Disclosure/disclosure.clarity.scss +56 -0
  185. package/dist/styles/clarity/Drawer/drawer.clarity.scss +331 -0
  186. package/dist/styles/clarity/DropdownMenu/dropdown-menu.clarity.scss +187 -0
  187. package/dist/styles/clarity/Em/em.clarity.scss +3 -0
  188. package/dist/styles/clarity/Fieldset/fieldset.clarity.scss +49 -0
  189. package/dist/styles/clarity/Heading/heading.clarity.scss +46 -0
  190. package/dist/styles/clarity/HoverCard/hover-card.clarity.scss +43 -0
  191. package/dist/styles/clarity/Kbd/kbd.clarity.scss +55 -0
  192. package/dist/styles/clarity/Label/label.clarity.scss +11 -0
  193. package/dist/styles/clarity/Link/link.clarity.scss +41 -0
  194. package/dist/styles/clarity/Menubar/menubar.clarity.scss +149 -0
  195. package/dist/styles/clarity/Meter/meter.clarity.scss +39 -0
  196. package/dist/styles/clarity/Minimap/minimap.clarity.scss +92 -0
  197. package/dist/styles/clarity/NavigationMenu/navigation-menu.clarity.scss +128 -0
  198. package/dist/styles/clarity/NumberField/number-field.clarity.scss +135 -0
  199. package/dist/styles/clarity/Popover/popover.clarity.scss +106 -0
  200. package/dist/styles/clarity/Progress/progress.clarity.scss +38 -0
  201. package/dist/styles/clarity/Quote/quote.clarity.scss +26 -0
  202. package/dist/styles/clarity/Radio/radio.clarity.scss +76 -0
  203. package/dist/styles/clarity/RadioCards/radiocards.clarity.scss +134 -0
  204. package/dist/styles/clarity/RadioGroup/radio-group.clarity.scss +99 -0
  205. package/dist/styles/clarity/ScrollArea/scroll-area.clarity.scss +112 -0
  206. package/dist/styles/clarity/Select/select.clarity.scss +228 -0
  207. package/dist/styles/clarity/Separator/separator.clarity.scss +23 -0
  208. package/dist/styles/clarity/Skeleton/skeleton.clarity.scss +33 -0
  209. package/dist/styles/clarity/Slider/slider.clarity.scss +203 -0
  210. package/dist/styles/clarity/Spinner/spinner.clarity.scss +52 -0
  211. package/dist/styles/clarity/Splitter/splitter.clarity.scss +151 -0
  212. package/dist/styles/clarity/Steps/steps.clarity.scss +143 -0
  213. package/dist/styles/clarity/Strong/strong.clarity.scss +6 -0
  214. package/dist/styles/clarity/Switch/switch.clarity.scss +89 -0
  215. package/dist/styles/clarity/TabNav/tab-nav.clarity.scss +69 -0
  216. package/dist/styles/clarity/Table/table.clarity.scss +128 -0
  217. package/dist/styles/clarity/Tabs/tabs.clarity.scss +91 -0
  218. package/dist/styles/clarity/Text/text.clarity.scss +5 -0
  219. package/dist/styles/clarity/TextArea/textarea.clarity.scss +146 -0
  220. package/dist/styles/clarity/TextField/text-field.clarity.scss +120 -0
  221. package/dist/styles/clarity/Toast/toast.clarity.scss +203 -0
  222. package/dist/styles/clarity/Toggle/toggle.clarity.scss +51 -0
  223. package/dist/styles/clarity/ToggleGroup/toggle-group.clarity.scss +103 -0
  224. package/dist/styles/clarity/Toolbar/toolbar.clarity.scss +140 -0
  225. package/dist/styles/clarity/Tooltip/tooltip.clarity.scss +37 -0
  226. package/dist/styles/clarity/Tree/tree.clarity.scss +103 -0
  227. package/dist/themes/baremetal.css +1 -1
  228. package/dist/themes/default.css +1 -1
  229. package/package.json +21 -2
  230. package/dist/components/ComboboxPrimitive-DQcJ8pzQ.js +0 -1
  231. package/dist/components/ComboboxPrimitive-kFYDdMUS.cjs +0 -1
  232. package/dist/components/MenuPrimitive-B1-7Sfhj.cjs +0 -1
  233. package/dist/components/MenuPrimitive-D9VMz2TZ.js +0 -1
  234. package/dist/components/RadioGroupPrimitive-CpA06FS_.cjs +0 -1
  235. package/dist/components/RadioGroupPrimitive-D1PP4y2M.js +0 -1
  236. package/dist/components/index-CbKtybdA.cjs +0 -1
  237. package/dist/components/index-D8I-rMwz.js +0 -1
  238. package/dist/components/index-XF8itt-H.js +0 -1
@@ -25,20 +25,34 @@ declare const HoverCardRoot: React.ForwardRefExoticComponent<Omit<React.Detailed
25
25
  } & React.RefAttributes<HTMLDivElement>>;
26
26
 
27
27
  type HoverCardTriggerProps = ComponentPropsWithoutRef<typeof Primitive.span>;
28
- declare const HoverCardTrigger: React.ForwardRefExoticComponent<HoverCardTriggerProps & React.RefAttributes<HTMLElement>>;
28
+ declare const HoverCardTrigger: React.ForwardRefExoticComponent<Omit<Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, "ref"> & {
29
+ asChild?: boolean;
30
+ } & React.RefAttributes<HTMLElement>, "ref"> & React.RefAttributes<HTMLElement>>;
29
31
 
30
32
  type HoverCardPortalProps = ComponentPropsWithoutRef<typeof Floater.Portal> & {
33
+ /** Element to portal into. Defaults to the Theme's portal root, then the Theme container, then `document.body`. */
34
+ container?: HTMLElement | null;
35
+ /** Keep the content mounted while closed, e.g. for exit animations. */
36
+ forceMount?: boolean;
37
+ /** @deprecated Use `container`. */
31
38
  rootElement?: HTMLElement | React.MutableRefObject<HTMLElement | null>;
32
39
  };
33
40
  declare const HoverCardPortal: React.ForwardRefExoticComponent<_floating_ui_react.FloatingPortalProps & {
41
+ /** Element to portal into. Defaults to the Theme's portal root, then the Theme container, then `document.body`. */
42
+ container?: HTMLElement | null;
43
+ /** Keep the content mounted while closed, e.g. for exit animations. */
44
+ forceMount?: boolean;
45
+ /** @deprecated Use `container`. */
34
46
  rootElement?: HTMLElement | React.MutableRefObject<HTMLElement | null>;
35
47
  } & React.RefAttributes<never>>;
36
48
 
37
49
  type HoverCardContentProps = ComponentPropsWithoutRef<'div'> & {
38
50
  size?: string;
51
+ forceMount?: boolean;
39
52
  };
40
53
  declare const HoverCardContent: React.ForwardRefExoticComponent<Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & {
41
54
  size?: string;
55
+ forceMount?: boolean;
42
56
  } & React.RefAttributes<HTMLDivElement>>;
43
57
 
44
58
  type HoverCardArrowProps = Omit<ComponentPropsWithoutRef<typeof Floater.Arrow>, 'context'>;
@@ -1 +1 @@
1
- 'use client';import{createContext as e,forwardRef as r,useRef as o,useEffect as t,useContext as n,useState as s}from"react";import{jsx as a}from"react/jsx-runtime";import{F as l}from"./index-D8I-rMwz.js";import{u as i,c}from"./useComponentClass-C0isGl1z.js";import{u}from"./index-wRElCyvx.js";import{P as d}from"./index-XF8itt-H.js";import{T as m}from"./ThemeContext-Sm-iNANd.js";import{c as g}from"./index-eAZUMNef.js";import"./floating-ui.react-2kiGB4sW.js";import"react-dom";import"./mergeProps-0RucjqeH.js";const f=e({}),p="HoverCard",h=r((({children:e,open:r,defaultOpen:n=!1,onOpenChange:s,customRootClass:d="",className:m="",openDelay:g=100,closeDelay:h=200,collisionBoundary:y=null,collisionPadding:C=4,...v},R)=>{const P=i(d,p),w=i(d,`${p}-trigger`),x=o(null),N=(Array.isArray(y)?y:[y]).filter((e=>null!=e)),D={padding:C,boundary:N,altBoundary:N.length>0},[T,j]=u(r,n,s),H=o(T);H.current=T;const F=e=>{H.current!==e&&(H.current=e,j(e))},{refs:W,floatingStyles:A,context:E}=l.useFloating({open:T,onOpenChange:F,placement:"bottom",strategy:"fixed",middleware:[l.arrow({element:x}),l.offset(10),l.flip({mainAxis:!0,...D}),l.shift({...D})],whileElementsMounted:l.autoUpdate}),M=o(!1),O=o(null),B=o(null),L=l.useRole(E,{role:"dialog"}),b=l.useDismiss(E),{getReferenceProps:S}=l.useInteractions([b]),{getFloatingProps:$}=l.useInteractions([L,b]),z=()=>{O.current&&(clearTimeout(O.current),O.current=null),B.current&&(clearTimeout(B.current),B.current=null)};t((()=>z),[]);const I={isOpen:T,handleOpenChange:F,floatingRefs:W,floatingStyles:A,floatingContext:E,arrowRef:x,getReferenceProps:S,getFloatingProps:$,rootClass:P,rootTriggerClass:w,closeWithDelay:()=>{M.current=!0,z(),h<=0?F(!1):B.current=setTimeout((()=>{B.current=null,M.current&&F(!1)}),h)},closeWithoutDelay:()=>{z(),F(!1)},openWithDelay:()=>{M.current=!1,z(),g<=0?F(!0):O.current=setTimeout((()=>{O.current=null,F(!0)}),g)}};return a(f.Provider,{value:I,children:a("div",{ref:R,className:c(P&&`${P}-root`,m),"data-slot":"hover-card-root",...v,children:e})})}));h.displayName=p;const y=r((({children:e,className:r="",...o},t)=>{const{floatingRefs:s,getReferenceProps:i,closeWithDelay:u,openWithDelay:m,rootTriggerClass:g}=n(f),p=l.useMergeRefs([s.setReference,t]);return a(d.span,{ref:p,className:c(g,r),...i({"data-slot":"hover-card-trigger",onMouseEnter:m,onMouseLeave:u,onFocus:m,onBlur:u,...o}),children:e})}));y.displayName="HoverCardTrigger";const C=r((({children:e,rootElement:r,...o},i)=>{const c=n(m),[u,d]=s(null);return t((()=>{const e=(r&&"current"in r?r.current:r)||c?.portalRootRef.current||c?.containerRef.current||document.body;d(e)}),[r,c]),u?a(l.Portal,{root:u,...o,children:e}):null}));C.displayName="HoverCardPortal";const v=r((({children:e,className:r,size:o="",...s},i)=>{const{isOpen:u,floatingRefs:d,floatingStyles:m,getFloatingProps:p,rootClass:h,closeWithDelay:y,openWithDelay:C,closeWithoutDelay:v}=n(f);t((()=>{if(!u)return;const e=()=>v();return window.addEventListener("scroll",e),()=>{window.removeEventListener("scroll",e)}}),[v,u]);const R=l.useMergeRefs([d.setFloating,i]),P=g("hover-card",{size:o});return u?a("div",{className:c(h,r),ref:R,style:m,...P,...p({"data-slot":"hover-card-content",onPointerEnter:C,onPointerLeave:y,onFocus:C,onBlur:y,...s}),children:e}):null}));v.displayName="HoverCardContent";const R=r(((e,r)=>{const{floatingContext:o,arrowRef:t,rootClass:s}=n(f),i=l.useMergeRefs([t,r]);return a(l.Arrow,{className:c(s&&`${s}-arrow`),"data-slot":"hover-card-arrow",...e,context:o,ref:i})}));R.displayName="HoverCardArrow";const P=r(((e,r)=>(console.warn("Direct usage of HoverCard is not supported. Please use HoverCard.Root, HoverCard.Trigger, etc. instead."),null)));P.displayName="HoverCard",P.Root=h,P.Trigger=y,P.Portal=C,P.Content=v,P.Arrow=R;export{R as Arrow,v as Content,C as Portal,h as Root,y as Trigger,P as default};
1
+ 'use client';import e,{createContext as r,forwardRef as o,useRef as t,useEffect as n,useContext as s,useState as a}from"react";import{jsx as l}from"react/jsx-runtime";import{F as i}from"./index-B_OPdW20.js";import{u as c,c as u}from"./useComponentClass-C0isGl1z.js";import{u as d}from"./index-wRElCyvx.js";import{P as m}from"./index-BidxkqdT.js";import{T as f}from"./ThemeContext-Sm-iNANd.js";import{c as g}from"./index-eAZUMNef.js";import"./floating-ui.react-CZf-mCiA.js";import"react-dom";import"./mergeProps-0RucjqeH.js";const p=r({}),h="HoverCard",v=o((({children:e,open:r,defaultOpen:o=!1,onOpenChange:s,customRootClass:a="",className:m="",openDelay:f=100,closeDelay:g=200,collisionBoundary:v=null,collisionPadding:y=4,...C},R)=>{const P=c(a,h),w=c(a,`${h}-trigger`),x=t(null),N=(Array.isArray(v)?v:[v]).filter((e=>null!=e)),D={padding:y,boundary:N,altBoundary:N.length>0},[T,M]=d(r,o,s),j=t(T);j.current=T;const H=e=>{j.current!==e&&(j.current=e,M(e))},{refs:F,floatingStyles:W,context:A}=i.useFloating({open:T,onOpenChange:H,placement:"bottom",strategy:"fixed",middleware:[i.arrow({element:x}),i.offset(10),i.flip({mainAxis:!0,...D}),i.shift({...D})],whileElementsMounted:i.autoUpdate}),E=t(!1),O=t(null),b=t(null),B=i.useRole(A,{role:"dialog"}),L=i.useDismiss(A),{getReferenceProps:S}=i.useInteractions([L]),{getFloatingProps:$}=i.useInteractions([B,L]),z=()=>{O.current&&(clearTimeout(O.current),O.current=null),b.current&&(clearTimeout(b.current),b.current=null)};n((()=>z),[]);const I={isOpen:T,handleOpenChange:H,floatingRefs:F,floatingStyles:W,floatingContext:A,arrowRef:x,getReferenceProps:S,getFloatingProps:$,rootClass:P,rootTriggerClass:w,closeWithDelay:()=>{E.current=!0,z(),g<=0?H(!1):b.current=setTimeout((()=>{b.current=null,E.current&&H(!1)}),g)},closeWithoutDelay:()=>{z(),H(!1)},openWithDelay:()=>{E.current=!1,z(),f<=0?H(!0):O.current=setTimeout((()=>{O.current=null,H(!0)}),f)}};return l(p.Provider,{value:I,children:l("div",{ref:R,className:u(P&&`${P}-root`,m),"data-slot":"hover-card-root",...C,children:e})})}));v.displayName=h;const y=o((({children:e,className:r="",...o},t)=>{const{floatingRefs:n,getReferenceProps:a,closeWithDelay:c,openWithDelay:d,rootTriggerClass:f}=s(p),g=i.useMergeRefs([n.setReference,t]);return l(m.span,{ref:g,className:u(f,r),...a({"data-slot":"hover-card-trigger",onMouseEnter:d,onMouseLeave:c,onFocus:d,onBlur:c,...o}),children:e})}));y.displayName="HoverCardTrigger";const C=e.createContext({forceMount:!1}),R=o((({children:e,container:r,forceMount:o=!1,rootElement:t,...c},u)=>{const d=s(f),[m,g]=a(null);return n((()=>{const e=(r??(t&&"current"in t?t.current:t))||d?.portalRootRef.current||d?.containerRef.current||document.body;g(e)}),[r,t,d]),m?l(C.Provider,{value:{forceMount:o},children:l(i.Portal,{root:m,...c,children:e})}):null}));R.displayName="HoverCardPortal";const P=o((({children:e,className:r,forceMount:o=!1,size:t="",...a},c)=>{const{isOpen:d,floatingRefs:m,floatingStyles:f,getFloatingProps:h,rootClass:v,closeWithDelay:y,openWithDelay:R,closeWithoutDelay:P}=s(p),{forceMount:w}=s(C);n((()=>{if(!d)return;const e=()=>P();return window.addEventListener("scroll",e),()=>{window.removeEventListener("scroll",e)}}),[P,d]);const x=i.useMergeRefs([m.setFloating,c]),N=g("hover-card",{size:t});return d||o||w?l("div",{className:u(v,r),ref:x,"data-state":d?"open":"closed","aria-hidden":d?void 0:"true",style:{...f,visibility:d?void 0:"hidden",pointerEvents:d?void 0:"none"},...N,...h({"data-slot":"hover-card-content",onPointerEnter:R,onPointerLeave:y,onFocus:R,onBlur:y,...a}),children:e}):null}));P.displayName="HoverCardContent";const w=o(((e,r)=>{const{floatingContext:o,arrowRef:t,rootClass:n}=s(p),a=i.useMergeRefs([t,r]);return l(i.Arrow,{className:u(n&&`${n}-arrow`),"data-slot":"hover-card-arrow",...e,context:o,ref:a})}));w.displayName="HoverCardArrow";const x=o(((e,r)=>(console.warn("Direct usage of HoverCard is not supported. Please use HoverCard.Root, HoverCard.Trigger, etc. instead."),null)));x.displayName="HoverCard",x.Root=v,x.Trigger=y,x.Portal=R,x.Content=P,x.Arrow=w;export{w as Arrow,P as Content,R as Portal,v as Root,y as Trigger,x as default};
@@ -0,0 +1 @@
1
+ 'use client';"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),t=require("react"),s=require("./useComponentClass-B0DF90tm.cjs"),r=require("./index-Bg-UeWCo.cjs");require("./ThemeContext-t7IX-w6i.cjs"),require("./mergeProps-DW5qFqqJ.cjs");const a="Label",o=t.forwardRef((({className:t,customRootClass:o,onMouseDown:l,...u},n)=>{const c=s.useComponentClass(o,a);return e.jsx(r.Primitive.label,{...u,ref:n,className:s.clsx(c,t),"data-slot":"label",onMouseDown:e=>{l?.(e),e.target.closest("button, input, select, textarea")||!e.defaultPrevented&&e.detail>1&&e.preventDefault()}})}));o.displayName=a,exports.default=o;
@@ -0,0 +1,18 @@
1
+ import React, { ElementRef, ComponentPropsWithoutRef } from 'react';
2
+
3
+ type LabelElement = ElementRef<'label'>;
4
+ type LabelProps = ComponentPropsWithoutRef<'label'> & {
5
+ /** Render the child element instead of a <label>, merging props onto it. */
6
+ asChild?: boolean;
7
+ /** Overrides the generated root class. */
8
+ customRootClass?: string;
9
+ };
10
+ declare const Label: React.ForwardRefExoticComponent<Omit<React.DetailedHTMLProps<React.LabelHTMLAttributes<HTMLLabelElement>, HTMLLabelElement>, "ref"> & {
11
+ /** Render the child element instead of a <label>, merging props onto it. */
12
+ asChild?: boolean;
13
+ /** Overrides the generated root class. */
14
+ customRootClass?: string;
15
+ } & React.RefAttributes<HTMLLabelElement>>;
16
+
17
+ export { Label as default };
18
+ export type { LabelElement, LabelProps };
@@ -0,0 +1 @@
1
+ 'use client';import{jsx as e}from"react/jsx-runtime";import{forwardRef as t}from"react";import{u as o,c as s}from"./useComponentClass-C0isGl1z.js";import{P as a}from"./index-BidxkqdT.js";import"./ThemeContext-Sm-iNANd.js";import"./mergeProps-0RucjqeH.js";const r="Label",m=t((({className:t,customRootClass:m,onMouseDown:l,...n},p)=>{const u=o(m,r);return e(a.label,{...n,ref:p,className:s(u,t),"data-slot":"label",onMouseDown:e=>{l?.(e),e.target.closest("button, input, select, textarea")||!e.defaultPrevented&&e.detail>1&&e.preventDefault()}})}));m.displayName=r;export{m as default};
@@ -1 +1 @@
1
- 'use client';"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),r=require("react"),s=require("./useComponentClass-B0DF90tm.cjs"),t=require("./index-c6NFMS_0.cjs"),i=require("./index-CbKtybdA.cjs");require("./ThemeContext-t7IX-w6i.cjs"),require("./mergeProps-DW5qFqqJ.cjs");const a="Link",c=r.forwardRef((({children:r,href:c="#",customRootClass:o,className:u,size:l="",color:n="",asChild:d=!1,...m},C)=>{const j=s.useComponentClass(o,a),p=t.composeAttributes(t.createDataAttributes("link",{size:l}),t.createDataAccentColorAttribute(n)),x=i.Primitive.a;return e.jsx(x,{ref:C,asChild:d,href:c,className:s.clsx(j,u),...p,...m,children:r})}));c.displayName=a,exports.default=c;
1
+ 'use client';"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),r=require("react"),s=require("./useComponentClass-B0DF90tm.cjs"),t=require("./index-c6NFMS_0.cjs"),i=require("./index-Bg-UeWCo.cjs");require("./ThemeContext-t7IX-w6i.cjs"),require("./mergeProps-DW5qFqqJ.cjs");const a="Link",c=r.forwardRef((({children:r,href:c="#",customRootClass:o,className:u,size:l="",color:n="",asChild:d=!1,...m},C)=>{const j=s.useComponentClass(o,a),p=t.composeAttributes(t.createDataAttributes("link",{size:l}),t.createDataAccentColorAttribute(n)),x=i.Primitive.a;return e.jsx(x,{ref:C,asChild:d,href:c,className:s.clsx(j,u),...p,...m,children:r})}));c.displayName=a,exports.default=c;
@@ -1 +1 @@
1
- 'use client';import{jsx as s}from"react/jsx-runtime";import r from"react";import{u as e,c as o}from"./useComponentClass-C0isGl1z.js";import{a,b as i,c as m}from"./index-eAZUMNef.js";import{P as t}from"./index-XF8itt-H.js";import"./ThemeContext-Sm-iNANd.js";import"./mergeProps-0RucjqeH.js";const n="Link",c=r.forwardRef((({children:r,href:c="#",customRootClass:l,className:f,size:p="",color:d="",asChild:h=!1,...j},u)=>{const C=e(l,n),x=a(m("link",{size:p}),i(d)),N=t.a;return s(N,{ref:u,asChild:h,href:c,className:o(C,f),...x,...j,children:r})}));c.displayName=n;export{c as default};
1
+ 'use client';import{jsx as s}from"react/jsx-runtime";import r from"react";import{u as e,c as o}from"./useComponentClass-C0isGl1z.js";import{a,b as i,c as m}from"./index-eAZUMNef.js";import{P as t}from"./index-BidxkqdT.js";import"./ThemeContext-Sm-iNANd.js";import"./mergeProps-0RucjqeH.js";const n="Link",c=r.forwardRef((({children:r,href:c="#",customRootClass:l,className:f,size:p="",color:d="",asChild:h=!1,...j},u)=>{const C=e(l,n),x=a(m("link",{size:p}),i(d)),N=t.a;return s(N,{ref:u,asChild:h,href:c,className:o(C,f),...x,...j,children:r})}));c.displayName=n;export{c as default};
@@ -1 +1 @@
1
- 'use client';"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),r=require("react"),t=require("./useComponentClass-B0DF90tm.cjs"),i=require("./index-CbKtybdA.cjs");require("./ThemeContext-t7IX-w6i.cjs"),require("./mergeProps-DW5qFqqJ.cjs");const s="LiveRegion",a={position:"absolute",width:"1px",height:"1px",margin:"-1px",border:"0",padding:"0",whiteSpace:"nowrap",clip:"rect(0 0 0 0)",clipPath:"inset(50%)",overflow:"hidden",pointerEvents:"none",userSelect:"none"},o=r.forwardRef((({children:r,customRootClass:o,className:n,politeness:l="polite",role:c=("assertive"===l?"alert":"status"),atomic:u=!0,relevant:d="additions text",busy:p,visuallyHidden:m=!0,style:v,...x},h)=>{const j=t.useComponentClass(o,s),y=m?{...a,...v}:v;return e.jsx(i.Primitive.div,{ref:h,role:c,"aria-live":l,"aria-atomic":u,"aria-relevant":d,"aria-busy":p,"data-slot":"live-region-root",className:t.clsx(j,n),style:y,...x,children:r})}));o.displayName=s,exports.default=o;
1
+ 'use client';"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),r=require("react"),t=require("./useComponentClass-B0DF90tm.cjs"),i=require("./index-Bg-UeWCo.cjs");require("./ThemeContext-t7IX-w6i.cjs"),require("./mergeProps-DW5qFqqJ.cjs");const s="LiveRegion",a={position:"absolute",width:"1px",height:"1px",margin:"-1px",border:"0",padding:"0",whiteSpace:"nowrap",clip:"rect(0 0 0 0)",clipPath:"inset(50%)",overflow:"hidden",pointerEvents:"none",userSelect:"none"},o=r.forwardRef((({children:r,customRootClass:o,className:n,politeness:l="polite",role:c=("assertive"===l?"alert":"status"),atomic:u=!0,relevant:d="additions text",busy:p,visuallyHidden:m=!0,style:v,...x},h)=>{const j=t.useComponentClass(o,s),y=m?{...a,...v}:v;return e.jsx(i.Primitive.div,{ref:h,role:c,"aria-live":l,"aria-atomic":u,"aria-relevant":d,"aria-busy":p,"data-slot":"live-region-root",className:t.clsx(j,n),style:y,...x,children:r})}));o.displayName=s,exports.default=o;
@@ -62,12 +62,9 @@ declare const LiveRegion: React.ForwardRefExoticComponent<{
62
62
  visuallyHidden?: boolean;
63
63
  customRootClass?: string;
64
64
  style?: CSSProperties;
65
- } & Omit<React.ComponentPropsWithoutRef<React.ForwardRefExoticComponent<((React.InputHTMLAttributes<HTMLInputElement> & {
65
+ } & Omit<Omit<Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & {
66
66
  asChild?: boolean;
67
- }) | (React.HTMLAttributes<HTMLElement> & {
68
- asChild?: boolean;
69
- children?: React.ReactNode;
70
- })) & React.RefAttributes<HTMLElement>>>, "role" | "aria-atomic" | "aria-busy" | "aria-live" | "aria-relevant"> & React.RefAttributes<HTMLElement>>;
67
+ } & React.RefAttributes<HTMLElement>, "ref">, "role" | "aria-atomic" | "aria-busy" | "aria-live" | "aria-relevant"> & React.RefAttributes<HTMLElement>>;
71
68
 
72
69
  export { LiveRegion as default };
73
70
  export type { LiveRegionElement, LiveRegionProps };
@@ -1 +1 @@
1
- 'use client';import{jsx as e}from"react/jsx-runtime";import{forwardRef as t}from"react";import{u as i,c as o}from"./useComponentClass-C0isGl1z.js";import{P as a}from"./index-XF8itt-H.js";import"./ThemeContext-Sm-iNANd.js";import"./mergeProps-0RucjqeH.js";const r="LiveRegion",s={position:"absolute",width:"1px",height:"1px",margin:"-1px",border:"0",padding:"0",whiteSpace:"nowrap",clip:"rect(0 0 0 0)",clipPath:"inset(50%)",overflow:"hidden",pointerEvents:"none",userSelect:"none"},n=t((({children:t,customRootClass:n,className:l,politeness:p="polite",role:m=("assertive"===p?"alert":"status"),atomic:c=!0,relevant:d="additions text",busy:u,visuallyHidden:v=!0,style:h,...x},f)=>{const g=i(n,r),y=v?{...s,...h}:h;return e(a.div,{ref:f,role:m,"aria-live":p,"aria-atomic":c,"aria-relevant":d,"aria-busy":u,"data-slot":"live-region-root",className:o(g,l),style:y,...x,children:t})}));n.displayName=r;export{n as default};
1
+ 'use client';import{jsx as e}from"react/jsx-runtime";import{forwardRef as t}from"react";import{u as i,c as o}from"./useComponentClass-C0isGl1z.js";import{P as a}from"./index-BidxkqdT.js";import"./ThemeContext-Sm-iNANd.js";import"./mergeProps-0RucjqeH.js";const r="LiveRegion",s={position:"absolute",width:"1px",height:"1px",margin:"-1px",border:"0",padding:"0",whiteSpace:"nowrap",clip:"rect(0 0 0 0)",clipPath:"inset(50%)",overflow:"hidden",pointerEvents:"none",userSelect:"none"},n=t((({children:t,customRootClass:n,className:l,politeness:p="polite",role:m=("assertive"===p?"alert":"status"),atomic:c=!0,relevant:d="additions text",busy:u,visuallyHidden:v=!0,style:h,...x},f)=>{const g=i(n,r),y=v?{...s,...h}:h;return e(a.div,{ref:f,role:m,"aria-live":p,"aria-atomic":c,"aria-relevant":d,"aria-busy":u,"data-slot":"live-region-root",className:o(g,l),style:y,...x,children:t})}));n.displayName=r;export{n as default};
@@ -0,0 +1 @@
1
+ 'use client';"use strict";var e=require("react/jsx-runtime"),t=require("react"),n=require("./index-BudP4FIn.cjs"),o=require("./index-BwNOI8cB.cjs"),r=require("./index-CbdoW3TC.cjs"),i=require("./index-Bg-UeWCo.cjs"),s=require("./index-BZO29jsF.cjs"),l=require("react-dom"),a=require("./floating-ui.react-Kw0_L48Q.cjs"),d=require("./ThemeContext-t7IX-w6i.cjs");const c=t.createContext(null),u=t.forwardRef((({children:i,className:s,open:l,onOpenChange:a,defaultOpen:d=!1,crossAxisOffset:u,mainAxisOffset:f,collisionBoundary:m=null,collisionPadding:g=4,loop:x=!0,placement:p="bottom-start",avoidCollision:v=!0,rtl:h=!1,dir:F,isSubmenu:R=!1,...y},P)=>{const b=h||"rtl"===F,C=b?"rtl":F,[N,M]=o.useControllableState(l,d,a);r.useRegisterDocumentOverlayOpen(N);const[O,I]=t.useState(null),[j,w]=t.useState(void 0),T=t.useRef([]),A=t.useRef([]),S=t.useRef([]),k=t.useRef(null),q=n.Floater.useFloatingNodeId(),D=n.Floater.useFloatingParentNodeId(),H=R,E=u??0,B=void 0!==f?f:H?14:4,L=(Array.isArray(m)?m:[m]).filter((e=>null!=e)),K=L.length>0?{boundary:L,altBoundary:!0}:{},$={mainAxis:v,crossAxis:v&&!H,padding:g,...K},z={padding:g,crossAxis:!H,...K},U={padding:g,...K},{refs:W,floatingStyles:X,context:Y}=n.Floater.useFloating({open:N,nodeId:q,onOpenChange:M,strategy:"fixed",transform:!1,placement:H?b?"left-start":"right-start":p,middleware:[n.Floater.offset({mainAxis:B,crossAxis:E}),...v?[n.Floater.flip($),n.Floater.shift(z)]:[],...H?[]:[n.Floater.size({...U,apply({availableHeight:e,elements:t}){w(e),t.floating.style.maxHeight=`${e}px`}})]],whileElementsMounted:n.Floater.autoUpdate}),G=n.Floater.useListNavigation(Y,{listRef:A,activeIndex:O,nested:H,rtl:b,loop:x,onNavigate:I}),J=n.Floater.useClick(Y,{}),Q=n.Floater.useHover(Y,{enabled:H,delay:{open:75},handleClose:n.Floater.safePolygon({blockPointerEvents:!0})}),V=n.Floater.useDismiss(Y,{bubbles:H}),Z=n.Floater.useTypeahead(Y,{listRef:S,onMatch:N?I:void 0,activeIndex:O}),_=n.Floater.useRole(Y,{role:"menu"}),{getReferenceProps:ee,getFloatingProps:te,getItemProps:ne}=n.Floater.useInteractions([V,J,G,Q,Z,_]),oe=t.useContext(c),re=t.useCallback((()=>H&&oe?oe.getRootTrigger():W.domReference.current),[H,oe,W.domReference]),ie={isOpen:N,setIsOpen:M,refs:W,floatingStyles:X,maxHeight:j,getReferenceProps:ee,getFloatingProps:te,getItemProps:ne,activeIndex:O,setActiveIndex:I,listRef:T,elementsRef:A,labelsRef:S,virtualItemRef:k,nodeId:q,isNested:H,floatingContext:Y,rtl:b,dir:C,getRootTrigger:re},se=n.Floater.useFloatingTree();return t.useEffect((()=>{if(se)return se.events.on("click",e),()=>{se.events.off("click",e)};function e(){M(!1)}}),[se,q,D]),e.jsx("div",{ref:P,className:s,"data-tree":"true",dir:C,...y,children:e.jsx(c.Provider,{value:ie,children:e.jsx(n.Floater.FloatingNode,{id:q,children:i})})})}));u.displayName="MenuComponentRoot";const f=t.forwardRef((({children:t,className:o,open:r,onOpenChange:i,defaultOpen:s=!1,crossAxisOffset:l,mainAxisOffset:a,collisionBoundary:d,collisionPadding:c,...f},m)=>{const g=n.Floater.useFloatingTree(),x=e.jsx(u,{ref:m,className:o,open:r,onOpenChange:i,defaultOpen:s,crossAxisOffset:l,mainAxisOffset:a,collisionBoundary:d,collisionPadding:c,...f,children:t});return g?x:e.jsx(n.Floater.FloatingTree,{children:x})}));f.displayName="MenuPrimitiveRoot";const m=t.forwardRef((({children:o,className:r,label:s,disabled:l,asChild:a=!1,onSelect:d,...u},f)=>{const m=t.useContext(c),g=l?null:s,{ref:x,index:p}=n.Floater.useListItem({label:g}),v=n.Floater.useFloatingTree(),h=t.useCallback((e=>{"function"==typeof x?x(e):x&&(x.current=e),"function"==typeof f?f(e):f&&(f.current=e)}),[x,f]);if(!m)return null;const{activeIndex:F,getItemProps:R}=m,y=F===p,{onClick:P,onKeyDown:b,...C}=u;return e.jsx(i.Primitive.button,{ref:h,tabIndex:y?0:-1,className:r,role:"menuitem","aria-disabled":!!l||void 0,"data-disabled":l?"":void 0,"data-highlighted":y&&!l?"":void 0,...R({...C,disabled:l,onClick(e){l||(P?.(e),e.defaultPrevented||(d?.(e),e.defaultPrevented||v?.events.emit("click")))},onKeyDown(e){b?.(e)}}),asChild:a,children:o})}));m.displayName="MenuPrimitiveItem";const g=t.forwardRef((({children:o,className:r,asChild:i,...l},a)=>{const d=t.useContext(c),{ref:u,index:f}=n.Floater.useListItem(),m=n.Floater.useMergeRefs([d?.refs.setReference,u,a]);if(!d)return null;const{activeIndex:g,getReferenceProps:x,isNested:p,isOpen:v}=d;return e.jsx(s.ButtonPrimitive,{ref:m,...x({...l,className:r,"data-state":v?"open":"closed",role:l.role??(p?"menuitem":void 0),tabIndex:p?g===f?0:-1:l.tabIndex}),asChild:i,children:o})}));g.displayName="MenuPrimitiveTrigger";const x=t.createContext({forceMount:!1}),p=t.forwardRef((({children:o,className:r,initialFocus:i,focusManagerDisabled:s=!1,forceMount:d=!1,...u},f)=>{const m=t.useContext(c),g=n.Floater.useFloatingTree(),p=n.Floater.useMergeRefs([m?.refs.setFloating,f]),{forceMount:v}=t.useContext(x);if(!m)return null;const h=m.isOpen;if(!h&&!d&&!v)return null;const{floatingStyles:F,getFloatingProps:R,elementsRef:y,labelsRef:P,isNested:b,floatingContext:C,maxHeight:N,getRootTrigger:M}=m,O=u.style,I={...u};delete I.style;const j={overflowY:"auto",overflowX:"hidden",maxHeight:void 0!==N?`${N}px`:void 0,WebkitOverflowScrolling:"touch",overscrollBehavior:"contain"},w=h?R({...I,className:r,dir:m.dir,"data-state":"open",onKeyDown:e=>{I.onKeyDown?.(e),(e=>{if("Tab"!==e.key||e.defaultPrevented)return;const t=M();if(!(t instanceof HTMLElement))return;e.preventDefault(),l.flushSync((()=>{g?.events.emit("click")}));const n=!e.shiftKey;queueMicrotask((()=>{if(t.focus(),!n)return;const e=a.getNextTabbable(t);e instanceof HTMLElement&&e!==t&&e.focus()}))})(e)},style:{...O,...F}}):{...I,className:r,dir:m.dir,"data-state":"closed",style:{...O,...F,visibility:"hidden",pointerEvents:"none"}};return e.jsx(n.Floater.FloatingList,{elementsRef:y,labelsRef:P,children:e.jsx(n.Floater.FocusManager,{context:C,disabled:s||!h,modal:!1,initialFocus:i??(b?-1:0),returnFocus:!b,children:e.jsx("div",{ref:p,...w,children:e.jsx("div",{style:j,children:o})})})})}));p.displayName="MenuPrimitiveContent";const v=t.forwardRef((({children:n,className:o,open:r,onOpenChange:i,defaultOpen:s=!1,...l},a)=>{const d=t.useContext(c);return e.jsx(u,{ref:a,className:o,open:r,onOpenChange:i,defaultOpen:s,rtl:d&&d.rtl||!1,dir:d?.dir,...l,isSubmenu:!0,children:n})}));v.displayName="MenuPrimitiveSub";const h=t.forwardRef((({children:o,container:r,forceMount:i=!1,root:s,...l},a)=>{const u=t.useContext(c),f=t.useContext(d.ThemeContext),[m,g]=t.useState(null);return t.useEffect((()=>{g(r??s??f?.portalRootRef.current??f?.containerRef.current??document.body)}),[r,s,f]),u&&(u.isOpen||i)&&m?e.jsx(x.Provider,{value:{forceMount:i},children:e.jsx(n.Floater.Portal,{root:m,...l,children:e.jsx("div",{ref:a,children:o})})}):null}));h.displayName="MenuPrimitivePortal";const F=()=>(console.warn("Direct usage of MenuPrimitive is not supported. Please use MenuPrimitive.Root, MenuPrimitive.Item instead."),null);F.Root=f,F.Item=m,F.Trigger=g,F.Content=p,F.Sub=v,F.Portal=h,exports.MenuPrimitive=F,exports.MenuPrimitiveRootPrimitiveContext=c;
@@ -0,0 +1 @@
1
+ 'use client';import{jsx as e}from"react/jsx-runtime";import t,{forwardRef as n,useState as i,useRef as o,useContext as s,useEffect as r}from"react";import{F as l}from"./index-B_OPdW20.js";import{u as a}from"./index-wRElCyvx.js";import{u as d}from"./index-CBcSLg6O.js";import{P as c}from"./index-BidxkqdT.js";import{B as u}from"./index-DH-14XDv.js";import{flushSync as f}from"react-dom";import{I as m}from"./floating-ui.react-CZf-mCiA.js";import{T as g}from"./ThemeContext-Sm-iNANd.js";const p=t.createContext(null),v=n((({children:n,className:r,open:c,onOpenChange:u,defaultOpen:f=!1,crossAxisOffset:m,mainAxisOffset:g,collisionBoundary:v=null,collisionPadding:h=4,loop:x=!0,placement:y="bottom-start",avoidCollision:P=!0,rtl:b=!1,dir:R,isSubmenu:N=!1,...C},I)=>{const M=b||"rtl"===R,O=M?"rtl":R,[F,T]=a(c,f,u);d(F);const[A,k]=i(null),[w,S]=i(void 0),j=o([]),D=o([]),H=o([]),B=o(null),E=l.useFloatingNodeId(),L=l.useFloatingParentNodeId(),K=N,$=m??0,q=void 0!==g?g:K?14:4,z=(Array.isArray(v)?v:[v]).filter((e=>null!=e)),U=z.length>0?{boundary:z,altBoundary:!0}:{},W={mainAxis:P,crossAxis:P&&!K,padding:h,...U},X={padding:h,crossAxis:!K,...U},Y={padding:h,...U},{refs:G,floatingStyles:J,context:Q}=l.useFloating({open:F,nodeId:E,onOpenChange:T,strategy:"fixed",transform:!1,placement:K?M?"left-start":"right-start":y,middleware:[l.offset({mainAxis:q,crossAxis:$}),...P?[l.flip(W),l.shift(X)]:[],...K?[]:[l.size({...Y,apply({availableHeight:e,elements:t}){S(e),t.floating.style.maxHeight=`${e}px`}})]],whileElementsMounted:l.autoUpdate}),V=l.useListNavigation(Q,{listRef:D,activeIndex:A,nested:K,rtl:M,loop:x,onNavigate:k}),Z=l.useClick(Q,{}),_=l.useHover(Q,{enabled:K,delay:{open:75},handleClose:l.safePolygon({blockPointerEvents:!0})}),ee=l.useDismiss(Q,{bubbles:K}),te=l.useTypeahead(Q,{listRef:H,onMatch:F?k:void 0,activeIndex:A}),ne=l.useRole(Q,{role:"menu"}),{getReferenceProps:ie,getFloatingProps:oe,getItemProps:se}=l.useInteractions([ee,Z,V,_,te,ne]),re=s(p),le=t.useCallback((()=>K&&re?re.getRootTrigger():G.domReference.current),[K,re,G.domReference]),ae={isOpen:F,setIsOpen:T,refs:G,floatingStyles:J,maxHeight:w,getReferenceProps:ie,getFloatingProps:oe,getItemProps:se,activeIndex:A,setActiveIndex:k,listRef:j,elementsRef:D,labelsRef:H,virtualItemRef:B,nodeId:E,isNested:K,floatingContext:Q,rtl:M,dir:O,getRootTrigger:le},de=l.useFloatingTree();return t.useEffect((()=>{if(de)return de.events.on("click",e),()=>{de.events.off("click",e)};function e(){T(!1)}}),[de,E,L]),e("div",{ref:I,className:r,"data-tree":"true",dir:O,...C,children:e(p.Provider,{value:ae,children:e(l.FloatingNode,{id:E,children:n})})})}));v.displayName="MenuComponentRoot";const h=n((({children:t,className:n,open:i,onOpenChange:o,defaultOpen:s=!1,crossAxisOffset:r,mainAxisOffset:a,collisionBoundary:d,collisionPadding:c,...u},f)=>{const m=l.useFloatingTree(),g=e(v,{ref:f,className:n,open:i,onOpenChange:o,defaultOpen:s,crossAxisOffset:r,mainAxisOffset:a,collisionBoundary:d,collisionPadding:c,...u,children:t});return m?g:e(l.FloatingTree,{children:g})}));h.displayName="MenuPrimitiveRoot";const x=n((({children:n,className:i,label:o,disabled:s,asChild:r=!1,onSelect:a,...d},u)=>{const f=t.useContext(p),m=s?null:o,{ref:g,index:v}=l.useListItem({label:m}),h=l.useFloatingTree(),x=t.useCallback((e=>{"function"==typeof g?g(e):g&&(g.current=e),"function"==typeof u?u(e):u&&(u.current=e)}),[g,u]);if(!f)return null;const{activeIndex:y,getItemProps:P}=f,b=y===v,{onClick:R,onKeyDown:N,...C}=d;return e(c.button,{ref:x,tabIndex:b?0:-1,className:i,role:"menuitem","aria-disabled":!!s||void 0,"data-disabled":s?"":void 0,"data-highlighted":b&&!s?"":void 0,...P({...C,disabled:s,onClick(e){s||(R?.(e),e.defaultPrevented||(a?.(e),e.defaultPrevented||h?.events.emit("click")))},onKeyDown(e){N?.(e)}}),asChild:r,children:n})}));x.displayName="MenuPrimitiveItem";const y=n((({children:t,className:n,asChild:i,...o},r)=>{const a=s(p),{ref:d,index:c}=l.useListItem(),f=l.useMergeRefs([a?.refs.setReference,d,r]);if(!a)return null;const{activeIndex:m,getReferenceProps:g,isNested:v,isOpen:h}=a;return e(u,{ref:f,...g({...o,className:n,"data-state":h?"open":"closed",role:o.role??(v?"menuitem":void 0),tabIndex:v?m===c?0:-1:o.tabIndex}),asChild:i,children:t})}));y.displayName="MenuPrimitiveTrigger";const P=t.createContext({forceMount:!1}),b=n((({children:t,className:n,initialFocus:i,focusManagerDisabled:o=!1,forceMount:r=!1,...a},d)=>{const c=s(p),u=l.useFloatingTree(),g=l.useMergeRefs([c?.refs.setFloating,d]),{forceMount:v}=s(P);if(!c)return null;const h=c.isOpen;if(!h&&!r&&!v)return null;const{floatingStyles:x,getFloatingProps:y,elementsRef:b,labelsRef:R,isNested:N,floatingContext:C,maxHeight:I,getRootTrigger:M}=c,O=a.style,F={...a};delete F.style;const T={overflowY:"auto",overflowX:"hidden",maxHeight:void 0!==I?`${I}px`:void 0,WebkitOverflowScrolling:"touch",overscrollBehavior:"contain"},A=h?y({...F,className:n,dir:c.dir,"data-state":"open",onKeyDown:e=>{F.onKeyDown?.(e),(e=>{if("Tab"!==e.key||e.defaultPrevented)return;const t=M();if(!(t instanceof HTMLElement))return;e.preventDefault(),f((()=>{u?.events.emit("click")}));const n=!e.shiftKey;queueMicrotask((()=>{if(t.focus(),!n)return;const e=m(t);e instanceof HTMLElement&&e!==t&&e.focus()}))})(e)},style:{...O,...x}}):{...F,className:n,dir:c.dir,"data-state":"closed",style:{...O,...x,visibility:"hidden",pointerEvents:"none"}};return e(l.FloatingList,{elementsRef:b,labelsRef:R,children:e(l.FocusManager,{context:C,disabled:o||!h,modal:!1,initialFocus:i??(N?-1:0),returnFocus:!N,children:e("div",{ref:g,...A,children:e("div",{style:T,children:t})})})})}));b.displayName="MenuPrimitiveContent";const R=n((({children:t,className:n,open:i,onOpenChange:o,defaultOpen:r=!1,...l},a)=>{const d=s(p);return e(v,{ref:a,className:n,open:i,onOpenChange:o,defaultOpen:r,rtl:d&&d.rtl||!1,dir:d?.dir,...l,isSubmenu:!0,children:t})}));R.displayName="MenuPrimitiveSub";const N=n((({children:t,container:n,forceMount:o=!1,root:a,...d},c)=>{const u=s(p),f=s(g),[m,v]=i(null);return r((()=>{v(n??a??f?.portalRootRef.current??f?.containerRef.current??document.body)}),[n,a,f]),u&&(u.isOpen||o)&&m?e(P.Provider,{value:{forceMount:o},children:e(l.Portal,{root:m,...d,children:e("div",{ref:c,children:t})})}):null}));N.displayName="MenuPrimitivePortal";const C=()=>(console.warn("Direct usage of MenuPrimitive is not supported. Please use MenuPrimitive.Root, MenuPrimitive.Item instead."),null);C.Root=h,C.Item=x,C.Trigger=y,C.Content=b,C.Sub=R,C.Portal=N;export{C as M,p as a};
@@ -1 +1 @@
1
- 'use client';"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),r=require("react"),t=require("./useComponentClass-B0DF90tm.cjs"),n=require("./index-BudP4FIn.cjs"),o=require("./MenuPrimitive-B1-7Sfhj.cjs"),s=require("./Separator.cjs");require("./ThemeContext-t7IX-w6i.cjs"),require("./floating-ui.react-Kw0_L48Q.cjs"),require("react-dom"),require("./index-BwNOI8cB.cjs"),require("./index-CbdoW3TC.cjs"),require("./index-7Bjw6jmo.cjs"),require("./documentOverlayOpen-BbC6uByx.cjs"),require("./index-CbKtybdA.cjs"),require("./mergeProps-DW5qFqqJ.cjs"),require("./index-WGIYLuwZ.cjs");const a=r.createContext(null),u=r.forwardRef((({children:o,customRootClass:s,className:u,dir:i,loop:l,rtl:c,onKeyDown:d,...m},p)=>{const f=t.useComponentClass(s,"Menubar"),[b,x]=r.useState([]),[g,M]=r.useState(0),[h,C]=r.useState(),v=r.useRef({}),I=r.useCallback((e=>[...e].sort(((e,r)=>{const t=v.current[e.id],n=v.current[r.id];if(!t||!n)return 0;const o=t.compareDocumentPosition(n);return o&Node.DOCUMENT_POSITION_FOLLOWING?-1:o&Node.DOCUMENT_POSITION_PRECEDING?1:0}))),[]),N=r.useCallback(((e,r="closed")=>{x((t=>{const n=t.find((r=>r.id===e));return n?n.state===r?t:t.map((t=>t.id===e?{...t,state:r}:t)):I([...t,{id:e,state:r}])}))}),[I]),w=r.useCallback((e=>{x((r=>r.some((r=>r.id===e))?r.filter((r=>r.id!==e)):r))}),[]),j=r.useCallback(((e,r)=>{"open"===r&&C(void 0),x((t=>t.map((t=>t.id===e?{...t,state:r}:t))))}),[]),P=r.useCallback(((e,r)=>{r?v.current[e]=r:delete v.current[e]}),[]),R=r.useCallback((e=>{if(e===g)return;const r=b[g],t=b[e];if(r&&j(r.id,"closed"),t){const e="open"===r?.state;j(t.id,e?"open":"closed"),e&&C(-1)}M(e)}),[g,b,j]),y=r.useCallback((e=>{const r=b[e];r&&(C(-1),x((r=>r.map(((r,t)=>({...r,state:t===e?"open":"closed"}))))),M(e),v.current[r.id]?.focus())}),[b]),S=r.useCallback((e=>{if(0===b.length)return;const r=g>=0?g:b.findIndex((e=>"open"===e.state));-1!==r&&y((r+e+b.length)%b.length)}),[g,b,y]),k=r.useCallback((e=>{const r=b.findIndex((r=>r.id===e));if(-1===r)return;b.some((r=>r.id!==e&&"open"===r.state))&&"open"!==b[r].state&&y(r)}),[b,y]),T=r.useCallback((e=>{const r=b.findIndex((r=>r.id===e));-1!==r&&M(r)}),[b]),O=r.useCallback((e=>{if(d?.(e),e.defaultPrevented)return;if("Home"!==e.key&&"End"!==e.key)return;if(!Object.values(v.current).includes(e.target))return;const r="Home"===e.key?0:b.length-1,t=b[r];t&&(e.preventDefault(),R(r),v.current[t.id]?.focus())}),[R,b,d]),q=r.useMemo((()=>({rootClass:f,registerItem:N,unregisterItem:w,items:b,updateItemState:j,updateItemTrigger:P,navigateMenu:S,openMenuOnHover:k,activeIndex:g,setActiveItem:T,contentInitialFocus:h})),[f,N,w,b,j,P,S,k,g,T,h]);return e.jsx(a.Provider,{value:q,children:e.jsx(n.Floater.Composite,{ref:p,role:"menubar",className:t.clsx(f&&`${f}-root`,u),dir:i,loop:l,rtl:c??"rtl"===i,orientation:"horizontal",...m,activeIndex:g,onNavigate:R,onKeyDown:O,children:o})})}));u.displayName="MenubarRoot";const i=r.createContext(null),l=r.forwardRef((({children:s,className:u,onFocus:l,onPointerEnter:c,...d},m)=>{const p=r.useContext(a),f=r.useContext(i);if(!p)return console.warn("MenubarTrigger should be used in the MenubarRoot"),null;const{rootClass:b,updateItemTrigger:x,items:g,activeIndex:M,setActiveItem:h,openMenuOnHover:C}=p;if(!f)return console.warn("MenubarTrigger should be used in the MenubarMenu"),null;const{id:v,isOpen:I}=f,N=r.useCallback((e=>{x(v,e),"function"==typeof m?m(e):m&&(m.current=e)}),[v,m,x]),w=g.findIndex((e=>e.id===v)),j=w===M||0===w&&(M<0||M>=g.length),P=e=>{l?.(e),h(v)},R=e=>{c?.(e),e.defaultPrevented||"touch"===e.pointerType||C(v)};return e.jsx(n.Floater.CompositeItem,{render:()=>e.jsx(o.MenuPrimitive.Trigger,{ref:N,className:t.clsx(b&&`${b}-trigger`,u),role:"menuitem","aria-haspopup":"menu","aria-expanded":I,tabIndex:j?0:-1,"data-state":I?"open":"closed","data-active":I,onFocus:P,onPointerEnter:R,...d,children:s})})}));l.displayName="MenubarTrigger";const c=new Set(["ArrowLeft","ArrowRight","ArrowUp","ArrowDown"]),d=r.forwardRef((({children:n,className:s,...u},i)=>{const l=r.useContext(a);if(!l)return console.warn("MenubarContent should be used in the MenubarRoot"),null;const{rootClass:d,navigateMenu:m,contentInitialFocus:p}=l,{onKeyDown:f,...b}=u,x=r.useCallback((e=>{"function"==typeof i?i(e):i&&(i.current=e)}),[i]);return e.jsx(o.MenuPrimitive.Content,{ref:x,role:"menu","aria-orientation":"vertical",className:t.clsx(d&&`${d}-content`,s),initialFocus:p,onKeyDown:e=>{if(f?.(e),c.has(e.key)&&e.stopPropagation(),!e.defaultPrevented)return"ArrowLeft"===e.key?(e.preventDefault(),void m(-1)):void("ArrowRight"===e.key&&(e.preventDefault(),m(1)))},...b,children:n})}));d.displayName="MenubarContent";const m=r.forwardRef((({children:t,...n},s)=>r.useContext(a)?e.jsx(o.MenuPrimitive.Portal,{ref:s,...n,children:t}):(console.warn("MenubarPortal should be used in the MenubarRoot"),null)));m.displayName="MenubarPortal";const p=r.forwardRef((({children:n,className:s,label:u,...i},l)=>{const c=r.useContext(a);if(!c)return console.warn("MenubarItem should be used in the MenubarRoot"),null;const{rootClass:d}=c;return e.jsx(o.MenuPrimitive.Item,{ref:l,role:"menuitem",className:t.clsx(d&&`${d}-item`,s),label:u,...i,children:n})}));p.displayName="MenubarItem";const f=r.forwardRef((({children:n,className:s,...u},i)=>{const l=r.useContext(a);if(!l)return console.warn("MenubarSub should be used in the MenubarRoot"),null;const{rootClass:c}=l;return e.jsx(o.MenuPrimitive.Sub,{ref:i,role:"none",className:t.clsx(c&&`${c}-sub`,s),...u,children:n})}));f.displayName="MenubarSub";const b=r.forwardRef((({children:n,className:s,...u},i)=>{const l=r.useContext(a);if(!l)return console.warn("MenubarSubTrigger should be used in the MenubarRoot"),null;const{rootClass:c}=l;return e.jsx(o.MenuPrimitive.Trigger,{ref:i,role:"menuitem","aria-haspopup":"menu",className:t.clsx(c&&`${c}-sub-trigger`,s),...u,children:n})}));b.displayName="MenubarSubTrigger";const x=r.forwardRef((({children:s,className:u,onOpenChange:l,...c},d)=>{const m=r.useContext(a),p=n.Floater.useId(),f=r.useId(),b=p??f;if(!m)return console.warn("MenubarMenu should be used in the MenubarRoot"),null;const{rootClass:x,registerItem:g,unregisterItem:M,items:h,updateItemState:C}=m;r.useEffect((()=>{if(b)return g(b),()=>M(b)}),[b]);const v="open"===h.find((e=>e.id===b))?.state;return e.jsx(o.MenuPrimitive.Root,{ref:d,role:"none",className:t.clsx(x&&`${x}-menu`,u),"data-id":b,"data-active":v,open:v,onOpenChange:e=>{b&&C(b,e?"open":"closed"),l?.(e)},...c,children:e.jsx(i.Provider,{value:{id:b,isOpen:v},children:s})})}));x.displayName="MenubarMenu";const g=r.forwardRef((({className:t,...n},o)=>{const u=r.useContext(a);if(!u)return console.warn("MenubarSeparator should be used within MenubarRoot"),null;const{rootClass:i}=u;return e.jsx(s.default,{ref:o,customRootClass:i,className:t,...n})}));g.displayName="MenubarSeparator";const M=()=>(console.warn("Direct usage of Menubar is not supported. Please use Menubar.Root, Menubar.Item instead."),null);M.Root=u,M.Menu=x,M.Trigger=l,M.Content=d,M.Portal=m,M.Item=p,M.Sub=f,M.SubTrigger=b,M.Separator=g,exports.Content=d,exports.Item=p,exports.Menu=x,exports.Portal=m,exports.Root=u,exports.Separator=g,exports.Sub=f,exports.SubTrigger=b,exports.Trigger=l,exports.default=M;
1
+ 'use client';"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),r=require("react"),t=require("./useComponentClass-B0DF90tm.cjs"),n=require("./index-BudP4FIn.cjs"),o=require("./MenuPrimitive-Ctqo21Vd.cjs"),s=require("./Separator.cjs");require("./ThemeContext-t7IX-w6i.cjs"),require("./floating-ui.react-Kw0_L48Q.cjs"),require("react-dom"),require("./index-BwNOI8cB.cjs"),require("./index-CbdoW3TC.cjs"),require("./index-7Bjw6jmo.cjs"),require("./documentOverlayOpen-BbC6uByx.cjs"),require("./index-Bg-UeWCo.cjs"),require("./mergeProps-DW5qFqqJ.cjs"),require("./index-BZO29jsF.cjs");const a=r.createContext(null),u=r.forwardRef((({children:o,customRootClass:s,className:u,dir:i,loop:l,rtl:c,onKeyDown:d,...m},p)=>{const f=t.useComponentClass(s,"Menubar"),[b,x]=r.useState([]),[g,M]=r.useState(0),[h,C]=r.useState(),v=r.useRef({}),I=r.useCallback((e=>[...e].sort(((e,r)=>{const t=v.current[e.id],n=v.current[r.id];if(!t||!n)return 0;const o=t.compareDocumentPosition(n);return o&Node.DOCUMENT_POSITION_FOLLOWING?-1:o&Node.DOCUMENT_POSITION_PRECEDING?1:0}))),[]),N=r.useCallback(((e,r="closed")=>{x((t=>{const n=t.find((r=>r.id===e));return n?n.state===r?t:t.map((t=>t.id===e?{...t,state:r}:t)):I([...t,{id:e,state:r}])}))}),[I]),w=r.useCallback((e=>{x((r=>r.some((r=>r.id===e))?r.filter((r=>r.id!==e)):r))}),[]),j=r.useCallback(((e,r)=>{"open"===r&&C(void 0),x((t=>t.map((t=>t.id===e?{...t,state:r}:t))))}),[]),P=r.useCallback(((e,r)=>{r?v.current[e]=r:delete v.current[e]}),[]),R=r.useCallback((e=>{if(e===g)return;const r=b[g],t=b[e];if(r&&j(r.id,"closed"),t){const e="open"===r?.state;j(t.id,e?"open":"closed"),e&&C(-1)}M(e)}),[g,b,j]),y=r.useCallback((e=>{const r=b[e];r&&(C(-1),x((r=>r.map(((r,t)=>({...r,state:t===e?"open":"closed"}))))),M(e),v.current[r.id]?.focus())}),[b]),S=r.useCallback((e=>{if(0===b.length)return;const r=g>=0?g:b.findIndex((e=>"open"===e.state));-1!==r&&y((r+e+b.length)%b.length)}),[g,b,y]),k=r.useCallback((e=>{const r=b.findIndex((r=>r.id===e));if(-1===r)return;b.some((r=>r.id!==e&&"open"===r.state))&&"open"!==b[r].state&&y(r)}),[b,y]),T=r.useCallback((e=>{const r=b.findIndex((r=>r.id===e));-1!==r&&M(r)}),[b]),O=r.useCallback((e=>{if(d?.(e),e.defaultPrevented)return;if("Home"!==e.key&&"End"!==e.key)return;if(!Object.values(v.current).includes(e.target))return;const r="Home"===e.key?0:b.length-1,t=b[r];t&&(e.preventDefault(),R(r),v.current[t.id]?.focus())}),[R,b,d]),q=r.useMemo((()=>({rootClass:f,registerItem:N,unregisterItem:w,items:b,updateItemState:j,updateItemTrigger:P,navigateMenu:S,openMenuOnHover:k,activeIndex:g,setActiveItem:T,contentInitialFocus:h})),[f,N,w,b,j,P,S,k,g,T,h]);return e.jsx(a.Provider,{value:q,children:e.jsx(n.Floater.Composite,{ref:p,role:"menubar",className:t.clsx(f&&`${f}-root`,u),dir:i,loop:l,rtl:c??"rtl"===i,orientation:"horizontal",...m,activeIndex:g,onNavigate:R,onKeyDown:O,children:o})})}));u.displayName="MenubarRoot";const i=r.createContext(null),l=r.forwardRef((({children:s,className:u,onFocus:l,onPointerEnter:c,...d},m)=>{const p=r.useContext(a),f=r.useContext(i);if(!p)return console.warn("MenubarTrigger should be used in the MenubarRoot"),null;const{rootClass:b,updateItemTrigger:x,items:g,activeIndex:M,setActiveItem:h,openMenuOnHover:C}=p;if(!f)return console.warn("MenubarTrigger should be used in the MenubarMenu"),null;const{id:v,isOpen:I}=f,N=r.useCallback((e=>{x(v,e),"function"==typeof m?m(e):m&&(m.current=e)}),[v,m,x]),w=g.findIndex((e=>e.id===v)),j=w===M||0===w&&(M<0||M>=g.length),P=e=>{l?.(e),h(v)},R=e=>{c?.(e),e.defaultPrevented||"touch"===e.pointerType||C(v)};return e.jsx(n.Floater.CompositeItem,{render:()=>e.jsx(o.MenuPrimitive.Trigger,{ref:N,className:t.clsx(b&&`${b}-trigger`,u),role:"menuitem","aria-haspopup":"menu","aria-expanded":I,tabIndex:j?0:-1,"data-state":I?"open":"closed","data-active":I,onFocus:P,onPointerEnter:R,...d,children:s})})}));l.displayName="MenubarTrigger";const c=new Set(["ArrowLeft","ArrowRight","ArrowUp","ArrowDown"]),d=r.forwardRef((({children:n,className:s,...u},i)=>{const l=r.useContext(a);if(!l)return console.warn("MenubarContent should be used in the MenubarRoot"),null;const{rootClass:d,navigateMenu:m,contentInitialFocus:p}=l,{onKeyDown:f,...b}=u,x=r.useCallback((e=>{"function"==typeof i?i(e):i&&(i.current=e)}),[i]);return e.jsx(o.MenuPrimitive.Content,{ref:x,role:"menu","aria-orientation":"vertical",className:t.clsx(d&&`${d}-content`,s),initialFocus:p,onKeyDown:e=>{if(f?.(e),c.has(e.key)&&e.stopPropagation(),!e.defaultPrevented)return"ArrowLeft"===e.key?(e.preventDefault(),void m(-1)):void("ArrowRight"===e.key&&(e.preventDefault(),m(1)))},...b,children:n})}));d.displayName="MenubarContent";const m=r.forwardRef((({children:t,...n},s)=>r.useContext(a)?e.jsx(o.MenuPrimitive.Portal,{ref:s,...n,children:t}):(console.warn("MenubarPortal should be used in the MenubarRoot"),null)));m.displayName="MenubarPortal";const p=r.forwardRef((({children:n,className:s,label:u,...i},l)=>{const c=r.useContext(a);if(!c)return console.warn("MenubarItem should be used in the MenubarRoot"),null;const{rootClass:d}=c;return e.jsx(o.MenuPrimitive.Item,{ref:l,role:"menuitem",className:t.clsx(d&&`${d}-item`,s),label:u,...i,children:n})}));p.displayName="MenubarItem";const f=r.forwardRef((({children:n,className:s,...u},i)=>{const l=r.useContext(a);if(!l)return console.warn("MenubarSub should be used in the MenubarRoot"),null;const{rootClass:c}=l;return e.jsx(o.MenuPrimitive.Sub,{ref:i,role:"none",className:t.clsx(c&&`${c}-sub`,s),...u,children:n})}));f.displayName="MenubarSub";const b=r.forwardRef((({children:n,className:s,...u},i)=>{const l=r.useContext(a);if(!l)return console.warn("MenubarSubTrigger should be used in the MenubarRoot"),null;const{rootClass:c}=l;return e.jsx(o.MenuPrimitive.Trigger,{ref:i,role:"menuitem","aria-haspopup":"menu",className:t.clsx(c&&`${c}-sub-trigger`,s),...u,children:n})}));b.displayName="MenubarSubTrigger";const x=r.forwardRef((({children:s,className:u,onOpenChange:l,...c},d)=>{const m=r.useContext(a),p=n.Floater.useId(),f=r.useId(),b=p??f;if(!m)return console.warn("MenubarMenu should be used in the MenubarRoot"),null;const{rootClass:x,registerItem:g,unregisterItem:M,items:h,updateItemState:C}=m;r.useEffect((()=>{if(b)return g(b),()=>M(b)}),[b]);const v="open"===h.find((e=>e.id===b))?.state;return e.jsx(o.MenuPrimitive.Root,{ref:d,role:"none",className:t.clsx(x&&`${x}-menu`,u),"data-id":b,"data-active":v,open:v,onOpenChange:e=>{b&&C(b,e?"open":"closed"),l?.(e)},...c,children:e.jsx(i.Provider,{value:{id:b,isOpen:v},children:s})})}));x.displayName="MenubarMenu";const g=r.forwardRef((({className:t,...n},o)=>{const u=r.useContext(a);if(!u)return console.warn("MenubarSeparator should be used within MenubarRoot"),null;const{rootClass:i}=u;return e.jsx(s.default,{ref:o,customRootClass:i,className:t,...n})}));g.displayName="MenubarSeparator";const M=()=>(console.warn("Direct usage of Menubar is not supported. Please use Menubar.Root, Menubar.Item instead."),null);M.Root=u,M.Menu=x,M.Trigger=l,M.Content=d,M.Portal=m,M.Item=p,M.Sub=f,M.SubTrigger=b,M.Separator=g,exports.Content=d,exports.Item=p,exports.Menu=x,exports.Portal=m,exports.Root=u,exports.Separator=g,exports.Sub=f,exports.SubTrigger=b,exports.Trigger=l,exports.default=M;
@@ -3,7 +3,6 @@ import * as React$1 from 'react';
3
3
  import React__default, { ComponentPropsWithoutRef } from 'react';
4
4
  import Floater from '~/core/primitives/Floater';
5
5
  import MenuPrimitive from '~/core/primitives/Menu/MenuPrimitive';
6
- import Primitive from '~/core/primitives/Primitive';
7
6
 
8
7
  type MenubarRootProps = {
9
8
  children: React__default.ReactNode;
@@ -41,6 +40,7 @@ declare const MenubarContent: React__default.ForwardRefExoticComponent<{
41
40
  className?: string;
42
41
  initialFocus?: number;
43
42
  focusManagerDisabled?: boolean;
43
+ forceMount?: boolean;
44
44
  } & React__default.HTMLAttributes<HTMLDivElement> & React__default.RefAttributes<HTMLDivElement>, "ref"> & React__default.RefAttributes<HTMLDivElement>>;
45
45
 
46
46
  type MenubarPortalProps = {
@@ -48,9 +48,12 @@ type MenubarPortalProps = {
48
48
  } & ComponentPropsWithoutRef<typeof MenuPrimitive.Portal>;
49
49
  declare const MenubarPortal: React__default.ForwardRefExoticComponent<{
50
50
  children: React__default.ReactNode;
51
- } & Omit<{
51
+ } & Omit<Omit<_floating_ui_react.FloatingPortalProps, "root"> & {
52
52
  children: React__default.ReactNode;
53
- } & _floating_ui_react.FloatingPortalProps & React__default.RefAttributes<HTMLDivElement>, "ref"> & React__default.RefAttributes<HTMLDivElement>>;
53
+ container?: HTMLElement | null;
54
+ forceMount?: boolean;
55
+ root?: HTMLElement | null;
56
+ } & React__default.RefAttributes<HTMLDivElement>, "ref"> & React__default.RefAttributes<HTMLDivElement>>;
54
57
 
55
58
  type MenubarItemProps = {
56
59
  children: React__default.ReactNode;
@@ -97,7 +100,8 @@ declare const MenubarSub: React__default.ForwardRefExoticComponent<{
97
100
  placement?: "top" | "top-start" | "top-end" | "right" | "right-start" | "right-end" | "bottom" | "bottom-start" | "bottom-end" | "left" | "left-start" | "left-end";
98
101
  avoidCollision?: boolean;
99
102
  rtl?: boolean;
100
- } & Omit<React__default.DetailedHTMLProps<React__default.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & React__default.RefAttributes<HTMLDivElement>, "ref"> & React__default.RefAttributes<HTMLDivElement>>;
103
+ dir?: "ltr" | "rtl";
104
+ } & Omit<Omit<React__default.DetailedHTMLProps<React__default.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref">, "dir"> & React__default.RefAttributes<HTMLDivElement>, "ref"> & React__default.RefAttributes<HTMLDivElement>>;
101
105
 
102
106
  type MenubarSubTriggerProps = {
103
107
  children: React__default.ReactNode;
@@ -133,21 +137,31 @@ declare const MenubarMenu: React__default.ForwardRefExoticComponent<{
133
137
  placement?: "top" | "top-start" | "top-end" | "right" | "right-start" | "right-end" | "bottom" | "bottom-start" | "bottom-end" | "left" | "left-start" | "left-end";
134
138
  avoidCollision?: boolean;
135
139
  rtl?: boolean;
136
- } & Omit<React__default.DetailedHTMLProps<React__default.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & React__default.RefAttributes<HTMLDivElement>, "ref"> & React__default.RefAttributes<HTMLDivElement>>;
140
+ dir?: "ltr" | "rtl";
141
+ } & Omit<Omit<React__default.DetailedHTMLProps<React__default.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref">, "dir"> & React__default.RefAttributes<HTMLDivElement>, "ref"> & React__default.RefAttributes<HTMLDivElement>>;
137
142
 
138
- type PrimitiveDivProps = ComponentPropsWithoutRef<typeof Primitive.div>;
139
- type SeparatorProps = {
140
- orientation?: 'horizontal' | 'vertical';
143
+ declare const Separator: React__default.ForwardRefExoticComponent<{
144
+ orientation?: "horizontal" | "vertical";
141
145
  customRootClass?: string;
142
146
  color?: string;
143
147
  decorative?: boolean;
144
- } & PrimitiveDivProps;
145
- declare const Separator: React__default.ForwardRefExoticComponent<SeparatorProps & React__default.RefAttributes<HTMLElement>>;
148
+ } & Omit<Omit<React__default.DetailedHTMLProps<React__default.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & {
149
+ asChild?: boolean;
150
+ } & React__default.RefAttributes<HTMLElement>, "ref"> & React__default.RefAttributes<HTMLElement>>;
146
151
 
147
152
  type MenubarSeparatorProps = {
148
153
  className?: string;
149
154
  } & ComponentPropsWithoutRef<typeof Separator>;
150
- declare const MenubarSeparator: React__default.ForwardRefExoticComponent<MenubarSeparatorProps & React__default.RefAttributes<HTMLElement>>;
155
+ declare const MenubarSeparator: React__default.ForwardRefExoticComponent<{
156
+ className?: string;
157
+ } & Omit<{
158
+ orientation?: "horizontal" | "vertical";
159
+ customRootClass?: string;
160
+ color?: string;
161
+ decorative?: boolean;
162
+ } & Omit<Omit<React__default.DetailedHTMLProps<React__default.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & {
163
+ asChild?: boolean;
164
+ } & React__default.RefAttributes<HTMLElement>, "ref"> & React__default.RefAttributes<HTMLElement>, "ref"> & React__default.RefAttributes<HTMLElement>>;
151
165
 
152
166
  declare const Menubar: {
153
167
  (): null;
@@ -173,7 +187,8 @@ declare const Menubar: {
173
187
  placement?: "top" | "top-start" | "top-end" | "right" | "right-start" | "right-end" | "bottom" | "bottom-start" | "bottom-end" | "left" | "left-start" | "left-end";
174
188
  avoidCollision?: boolean;
175
189
  rtl?: boolean;
176
- } & Omit<React$1.DetailedHTMLProps<React$1.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & React$1.RefAttributes<HTMLDivElement>, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
190
+ dir?: "ltr" | "rtl";
191
+ } & Omit<Omit<React$1.DetailedHTMLProps<React$1.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref">, "dir"> & React$1.RefAttributes<HTMLDivElement>, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
177
192
  Trigger: React$1.ForwardRefExoticComponent<{
178
193
  children: React.ReactNode;
179
194
  className?: string;
@@ -190,12 +205,16 @@ declare const Menubar: {
190
205
  className?: string;
191
206
  initialFocus?: number;
192
207
  focusManagerDisabled?: boolean;
208
+ forceMount?: boolean;
193
209
  } & React$1.HTMLAttributes<HTMLDivElement> & React$1.RefAttributes<HTMLDivElement>, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
194
210
  Portal: React$1.ForwardRefExoticComponent<{
195
211
  children: React.ReactNode;
196
- } & Omit<{
212
+ } & Omit<Omit<_floating_ui_react.FloatingPortalProps, "root"> & {
197
213
  children: React.ReactNode;
198
- } & _floating_ui_react.FloatingPortalProps & React$1.RefAttributes<HTMLDivElement>, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
214
+ container?: HTMLElement | null;
215
+ forceMount?: boolean;
216
+ root?: HTMLElement | null;
217
+ } & React$1.RefAttributes<HTMLDivElement>, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
199
218
  Item: React$1.ForwardRefExoticComponent<{
200
219
  children: React.ReactNode;
201
220
  className?: string;
@@ -231,7 +250,8 @@ declare const Menubar: {
231
250
  placement?: "top" | "top-start" | "top-end" | "right" | "right-start" | "right-end" | "bottom" | "bottom-start" | "bottom-end" | "left" | "left-start" | "left-end";
232
251
  avoidCollision?: boolean;
233
252
  rtl?: boolean;
234
- } & Omit<React$1.DetailedHTMLProps<React$1.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & React$1.RefAttributes<HTMLDivElement>, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
253
+ dir?: "ltr" | "rtl";
254
+ } & Omit<Omit<React$1.DetailedHTMLProps<React$1.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref">, "dir"> & React$1.RefAttributes<HTMLDivElement>, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
235
255
  SubTrigger: React$1.ForwardRefExoticComponent<{
236
256
  children: React.ReactNode;
237
257
  className?: string;
@@ -240,7 +260,16 @@ declare const Menubar: {
240
260
  className?: string;
241
261
  asChild?: boolean;
242
262
  } & Omit<Omit<React$1.DetailedHTMLProps<React$1.ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, "ref">, "className" | "children"> & React$1.RefAttributes<HTMLButtonElement>, "ref"> & React$1.RefAttributes<HTMLButtonElement>>;
243
- Separator: React$1.ForwardRefExoticComponent<MenubarSeparatorProps & React$1.RefAttributes<HTMLElement>>;
263
+ Separator: React$1.ForwardRefExoticComponent<{
264
+ className?: string;
265
+ } & Omit<{
266
+ orientation?: "horizontal" | "vertical";
267
+ customRootClass?: string;
268
+ color?: string;
269
+ decorative?: boolean;
270
+ } & Omit<Omit<React$1.DetailedHTMLProps<React$1.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & {
271
+ asChild?: boolean;
272
+ } & React$1.RefAttributes<HTMLElement>, "ref"> & React$1.RefAttributes<HTMLElement>, "ref"> & React$1.RefAttributes<HTMLElement>>;
244
273
  };
245
274
 
246
275
  export { MenubarContent as Content, MenubarItem as Item, MenubarMenu as Menu, MenubarPortal as Portal, MenubarRoot as Root, MenubarSeparator as Separator, MenubarSub as Sub, MenubarSubTrigger as SubTrigger, MenubarTrigger as Trigger, Menubar as default };
@@ -1 +1 @@
1
- 'use client';import{jsx as e}from"react/jsx-runtime";import t,{forwardRef as n}from"react";import{u as r,c as o}from"./useComponentClass-C0isGl1z.js";import{F as a}from"./index-D8I-rMwz.js";import{M as s}from"./MenuPrimitive-D9VMz2TZ.js";import u from"./Separator.js";import"./ThemeContext-Sm-iNANd.js";import"./floating-ui.react-2kiGB4sW.js";import"react-dom";import"./index-wRElCyvx.js";import"./index-CBcSLg6O.js";import"./index-CbNq68zs.js";import"./documentOverlayOpen-coyGmcyL.js";import"./index-XF8itt-H.js";import"./mergeProps-0RucjqeH.js";import"./index-FITGoHty.js";const i=t.createContext(null),l=n((({children:n,customRootClass:s,className:u,dir:l,loop:c,rtl:d,onKeyDown:m,...p},b)=>{const f=r(s,"Menubar"),[g,h]=t.useState([]),[C,M]=t.useState(0),[I,N]=t.useState(),v=t.useRef({}),x=t.useCallback((e=>[...e].sort(((e,t)=>{const n=v.current[e.id],r=v.current[t.id];if(!n||!r)return 0;const o=n.compareDocumentPosition(r);return o&Node.DOCUMENT_POSITION_FOLLOWING?-1:o&Node.DOCUMENT_POSITION_PRECEDING?1:0}))),[]),w=t.useCallback(((e,t="closed")=>{h((n=>{const r=n.find((t=>t.id===e));return r?r.state===t?n:n.map((n=>n.id===e?{...n,state:t}:n)):x([...n,{id:e,state:t}])}))}),[x]),y=t.useCallback((e=>{h((t=>t.some((t=>t.id===e))?t.filter((t=>t.id!==e)):t))}),[]),S=t.useCallback(((e,t)=>{"open"===t&&N(void 0),h((n=>n.map((n=>n.id===e?{...n,state:t}:n))))}),[]),P=t.useCallback(((e,t)=>{t?v.current[e]=t:delete v.current[e]}),[]),k=t.useCallback((e=>{if(e===C)return;const t=g[C],n=g[e];if(t&&S(t.id,"closed"),n){const e="open"===t?.state;S(n.id,e?"open":"closed"),e&&N(-1)}M(e)}),[C,g,S]),R=t.useCallback((e=>{const t=g[e];t&&(N(-1),h((t=>t.map(((t,n)=>({...t,state:n===e?"open":"closed"}))))),M(e),v.current[t.id]?.focus())}),[g]),T=t.useCallback((e=>{if(0===g.length)return;const t=C>=0?C:g.findIndex((e=>"open"===e.state));-1!==t&&R((t+e+g.length)%g.length)}),[C,g,R]),O=t.useCallback((e=>{const t=g.findIndex((t=>t.id===e));if(-1===t)return;g.some((t=>t.id!==e&&"open"===t.state))&&"open"!==g[t].state&&R(t)}),[g,R]),j=t.useCallback((e=>{const t=g.findIndex((t=>t.id===e));-1!==t&&M(t)}),[g]),D=t.useCallback((e=>{if(m?.(e),e.defaultPrevented)return;if("Home"!==e.key&&"End"!==e.key)return;if(!Object.values(v.current).includes(e.target))return;const t="Home"===e.key?0:g.length-1,n=g[t];n&&(e.preventDefault(),k(t),v.current[n.id]?.focus())}),[k,g,m]),A=t.useMemo((()=>({rootClass:f,registerItem:w,unregisterItem:y,items:g,updateItemState:S,updateItemTrigger:P,navigateMenu:T,openMenuOnHover:O,activeIndex:C,setActiveItem:j,contentInitialFocus:I})),[f,w,y,g,S,P,T,O,C,j,I]);return e(i.Provider,{value:A,children:e(a.Composite,{ref:b,role:"menubar",className:o(f&&`${f}-root`,u),dir:l,loop:c,rtl:d??"rtl"===l,orientation:"horizontal",...p,activeIndex:C,onNavigate:k,onKeyDown:D,children:n})})}));l.displayName="MenubarRoot";const c=t.createContext(null),d=n((({children:n,className:r,onFocus:u,onPointerEnter:l,...d},m)=>{const p=t.useContext(i),b=t.useContext(c);if(!p)return console.warn("MenubarTrigger should be used in the MenubarRoot"),null;const{rootClass:f,updateItemTrigger:g,items:h,activeIndex:C,setActiveItem:M,openMenuOnHover:I}=p;if(!b)return console.warn("MenubarTrigger should be used in the MenubarMenu"),null;const{id:N,isOpen:v}=b,x=t.useCallback((e=>{g(N,e),"function"==typeof m?m(e):m&&(m.current=e)}),[N,m,g]),w=h.findIndex((e=>e.id===N)),y=w===C||0===w&&(C<0||C>=h.length),S=e=>{u?.(e),M(N)},P=e=>{l?.(e),e.defaultPrevented||"touch"===e.pointerType||I(N)};return e(a.CompositeItem,{render:()=>e(s.Trigger,{ref:x,className:o(f&&`${f}-trigger`,r),role:"menuitem","aria-haspopup":"menu","aria-expanded":v,tabIndex:y?0:-1,"data-state":v?"open":"closed","data-active":v,onFocus:S,onPointerEnter:P,...d,children:n})})}));d.displayName="MenubarTrigger";const m=new Set(["ArrowLeft","ArrowRight","ArrowUp","ArrowDown"]),p=n((({children:n,className:r,...a},u)=>{const l=t.useContext(i);if(!l)return console.warn("MenubarContent should be used in the MenubarRoot"),null;const{rootClass:c,navigateMenu:d,contentInitialFocus:p}=l,{onKeyDown:b,...f}=a,g=t.useCallback((e=>{"function"==typeof u?u(e):u&&(u.current=e)}),[u]);return e(s.Content,{ref:g,role:"menu","aria-orientation":"vertical",className:o(c&&`${c}-content`,r),initialFocus:p,onKeyDown:e=>{if(b?.(e),m.has(e.key)&&e.stopPropagation(),!e.defaultPrevented)return"ArrowLeft"===e.key?(e.preventDefault(),void d(-1)):void("ArrowRight"===e.key&&(e.preventDefault(),d(1)))},...f,children:n})}));p.displayName="MenubarContent";const b=n((({children:n,...r},o)=>t.useContext(i)?e(s.Portal,{ref:o,...r,children:n}):(console.warn("MenubarPortal should be used in the MenubarRoot"),null)));b.displayName="MenubarPortal";const f=n((({children:n,className:r,label:a,...u},l)=>{const c=t.useContext(i);if(!c)return console.warn("MenubarItem should be used in the MenubarRoot"),null;const{rootClass:d}=c;return e(s.Item,{ref:l,role:"menuitem",className:o(d&&`${d}-item`,r),label:a,...u,children:n})}));f.displayName="MenubarItem";const g=n((({children:n,className:r,...a},u)=>{const l=t.useContext(i);if(!l)return console.warn("MenubarSub should be used in the MenubarRoot"),null;const{rootClass:c}=l;return e(s.Sub,{ref:u,role:"none",className:o(c&&`${c}-sub`,r),...a,children:n})}));g.displayName="MenubarSub";const h=n((({children:n,className:r,...a},u)=>{const l=t.useContext(i);if(!l)return console.warn("MenubarSubTrigger should be used in the MenubarRoot"),null;const{rootClass:c}=l;return e(s.Trigger,{ref:u,role:"menuitem","aria-haspopup":"menu",className:o(c&&`${c}-sub-trigger`,r),...a,children:n})}));h.displayName="MenubarSubTrigger";const C=n((({children:n,className:r,onOpenChange:u,...l},d)=>{const m=t.useContext(i),p=a.useId(),b=t.useId(),f=p??b;if(!m)return console.warn("MenubarMenu should be used in the MenubarRoot"),null;const{rootClass:g,registerItem:h,unregisterItem:C,items:M,updateItemState:I}=m;t.useEffect((()=>{if(f)return h(f),()=>C(f)}),[f]);const N="open"===M.find((e=>e.id===f))?.state;return e(s.Root,{ref:d,role:"none",className:o(g&&`${g}-menu`,r),"data-id":f,"data-active":N,open:N,onOpenChange:e=>{f&&I(f,e?"open":"closed"),u?.(e)},...l,children:e(c.Provider,{value:{id:f,isOpen:N},children:n})})}));C.displayName="MenubarMenu";const M=n((({className:n,...r},o)=>{const a=t.useContext(i);if(!a)return console.warn("MenubarSeparator should be used within MenubarRoot"),null;const{rootClass:s}=a;return e(u,{ref:o,customRootClass:s,className:n,...r})}));M.displayName="MenubarSeparator";const I=()=>(console.warn("Direct usage of Menubar is not supported. Please use Menubar.Root, Menubar.Item instead."),null);I.Root=l,I.Menu=C,I.Trigger=d,I.Content=p,I.Portal=b,I.Item=f,I.Sub=g,I.SubTrigger=h,I.Separator=M;export{p as Content,f as Item,C as Menu,b as Portal,l as Root,M as Separator,g as Sub,h as SubTrigger,d as Trigger,I as default};
1
+ 'use client';import{jsx as e}from"react/jsx-runtime";import t,{forwardRef as n}from"react";import{u as r,c as o}from"./useComponentClass-C0isGl1z.js";import{F as a}from"./index-B_OPdW20.js";import{M as s}from"./MenuPrimitive-Cy_MJfjG.js";import u from"./Separator.js";import"./ThemeContext-Sm-iNANd.js";import"./floating-ui.react-CZf-mCiA.js";import"react-dom";import"./index-wRElCyvx.js";import"./index-CBcSLg6O.js";import"./index-CbNq68zs.js";import"./documentOverlayOpen-coyGmcyL.js";import"./index-BidxkqdT.js";import"./mergeProps-0RucjqeH.js";import"./index-DH-14XDv.js";const i=t.createContext(null),l=n((({children:n,customRootClass:s,className:u,dir:l,loop:c,rtl:d,onKeyDown:m,...p},b)=>{const f=r(s,"Menubar"),[g,h]=t.useState([]),[C,M]=t.useState(0),[I,N]=t.useState(),v=t.useRef({}),x=t.useCallback((e=>[...e].sort(((e,t)=>{const n=v.current[e.id],r=v.current[t.id];if(!n||!r)return 0;const o=n.compareDocumentPosition(r);return o&Node.DOCUMENT_POSITION_FOLLOWING?-1:o&Node.DOCUMENT_POSITION_PRECEDING?1:0}))),[]),w=t.useCallback(((e,t="closed")=>{h((n=>{const r=n.find((t=>t.id===e));return r?r.state===t?n:n.map((n=>n.id===e?{...n,state:t}:n)):x([...n,{id:e,state:t}])}))}),[x]),y=t.useCallback((e=>{h((t=>t.some((t=>t.id===e))?t.filter((t=>t.id!==e)):t))}),[]),S=t.useCallback(((e,t)=>{"open"===t&&N(void 0),h((n=>n.map((n=>n.id===e?{...n,state:t}:n))))}),[]),P=t.useCallback(((e,t)=>{t?v.current[e]=t:delete v.current[e]}),[]),k=t.useCallback((e=>{if(e===C)return;const t=g[C],n=g[e];if(t&&S(t.id,"closed"),n){const e="open"===t?.state;S(n.id,e?"open":"closed"),e&&N(-1)}M(e)}),[C,g,S]),R=t.useCallback((e=>{const t=g[e];t&&(N(-1),h((t=>t.map(((t,n)=>({...t,state:n===e?"open":"closed"}))))),M(e),v.current[t.id]?.focus())}),[g]),T=t.useCallback((e=>{if(0===g.length)return;const t=C>=0?C:g.findIndex((e=>"open"===e.state));-1!==t&&R((t+e+g.length)%g.length)}),[C,g,R]),O=t.useCallback((e=>{const t=g.findIndex((t=>t.id===e));if(-1===t)return;g.some((t=>t.id!==e&&"open"===t.state))&&"open"!==g[t].state&&R(t)}),[g,R]),j=t.useCallback((e=>{const t=g.findIndex((t=>t.id===e));-1!==t&&M(t)}),[g]),D=t.useCallback((e=>{if(m?.(e),e.defaultPrevented)return;if("Home"!==e.key&&"End"!==e.key)return;if(!Object.values(v.current).includes(e.target))return;const t="Home"===e.key?0:g.length-1,n=g[t];n&&(e.preventDefault(),k(t),v.current[n.id]?.focus())}),[k,g,m]),A=t.useMemo((()=>({rootClass:f,registerItem:w,unregisterItem:y,items:g,updateItemState:S,updateItemTrigger:P,navigateMenu:T,openMenuOnHover:O,activeIndex:C,setActiveItem:j,contentInitialFocus:I})),[f,w,y,g,S,P,T,O,C,j,I]);return e(i.Provider,{value:A,children:e(a.Composite,{ref:b,role:"menubar",className:o(f&&`${f}-root`,u),dir:l,loop:c,rtl:d??"rtl"===l,orientation:"horizontal",...p,activeIndex:C,onNavigate:k,onKeyDown:D,children:n})})}));l.displayName="MenubarRoot";const c=t.createContext(null),d=n((({children:n,className:r,onFocus:u,onPointerEnter:l,...d},m)=>{const p=t.useContext(i),b=t.useContext(c);if(!p)return console.warn("MenubarTrigger should be used in the MenubarRoot"),null;const{rootClass:f,updateItemTrigger:g,items:h,activeIndex:C,setActiveItem:M,openMenuOnHover:I}=p;if(!b)return console.warn("MenubarTrigger should be used in the MenubarMenu"),null;const{id:N,isOpen:v}=b,x=t.useCallback((e=>{g(N,e),"function"==typeof m?m(e):m&&(m.current=e)}),[N,m,g]),w=h.findIndex((e=>e.id===N)),y=w===C||0===w&&(C<0||C>=h.length),S=e=>{u?.(e),M(N)},P=e=>{l?.(e),e.defaultPrevented||"touch"===e.pointerType||I(N)};return e(a.CompositeItem,{render:()=>e(s.Trigger,{ref:x,className:o(f&&`${f}-trigger`,r),role:"menuitem","aria-haspopup":"menu","aria-expanded":v,tabIndex:y?0:-1,"data-state":v?"open":"closed","data-active":v,onFocus:S,onPointerEnter:P,...d,children:n})})}));d.displayName="MenubarTrigger";const m=new Set(["ArrowLeft","ArrowRight","ArrowUp","ArrowDown"]),p=n((({children:n,className:r,...a},u)=>{const l=t.useContext(i);if(!l)return console.warn("MenubarContent should be used in the MenubarRoot"),null;const{rootClass:c,navigateMenu:d,contentInitialFocus:p}=l,{onKeyDown:b,...f}=a,g=t.useCallback((e=>{"function"==typeof u?u(e):u&&(u.current=e)}),[u]);return e(s.Content,{ref:g,role:"menu","aria-orientation":"vertical",className:o(c&&`${c}-content`,r),initialFocus:p,onKeyDown:e=>{if(b?.(e),m.has(e.key)&&e.stopPropagation(),!e.defaultPrevented)return"ArrowLeft"===e.key?(e.preventDefault(),void d(-1)):void("ArrowRight"===e.key&&(e.preventDefault(),d(1)))},...f,children:n})}));p.displayName="MenubarContent";const b=n((({children:n,...r},o)=>t.useContext(i)?e(s.Portal,{ref:o,...r,children:n}):(console.warn("MenubarPortal should be used in the MenubarRoot"),null)));b.displayName="MenubarPortal";const f=n((({children:n,className:r,label:a,...u},l)=>{const c=t.useContext(i);if(!c)return console.warn("MenubarItem should be used in the MenubarRoot"),null;const{rootClass:d}=c;return e(s.Item,{ref:l,role:"menuitem",className:o(d&&`${d}-item`,r),label:a,...u,children:n})}));f.displayName="MenubarItem";const g=n((({children:n,className:r,...a},u)=>{const l=t.useContext(i);if(!l)return console.warn("MenubarSub should be used in the MenubarRoot"),null;const{rootClass:c}=l;return e(s.Sub,{ref:u,role:"none",className:o(c&&`${c}-sub`,r),...a,children:n})}));g.displayName="MenubarSub";const h=n((({children:n,className:r,...a},u)=>{const l=t.useContext(i);if(!l)return console.warn("MenubarSubTrigger should be used in the MenubarRoot"),null;const{rootClass:c}=l;return e(s.Trigger,{ref:u,role:"menuitem","aria-haspopup":"menu",className:o(c&&`${c}-sub-trigger`,r),...a,children:n})}));h.displayName="MenubarSubTrigger";const C=n((({children:n,className:r,onOpenChange:u,...l},d)=>{const m=t.useContext(i),p=a.useId(),b=t.useId(),f=p??b;if(!m)return console.warn("MenubarMenu should be used in the MenubarRoot"),null;const{rootClass:g,registerItem:h,unregisterItem:C,items:M,updateItemState:I}=m;t.useEffect((()=>{if(f)return h(f),()=>C(f)}),[f]);const N="open"===M.find((e=>e.id===f))?.state;return e(s.Root,{ref:d,role:"none",className:o(g&&`${g}-menu`,r),"data-id":f,"data-active":N,open:N,onOpenChange:e=>{f&&I(f,e?"open":"closed"),u?.(e)},...l,children:e(c.Provider,{value:{id:f,isOpen:N},children:n})})}));C.displayName="MenubarMenu";const M=n((({className:n,...r},o)=>{const a=t.useContext(i);if(!a)return console.warn("MenubarSeparator should be used within MenubarRoot"),null;const{rootClass:s}=a;return e(u,{ref:o,customRootClass:s,className:n,...r})}));M.displayName="MenubarSeparator";const I=()=>(console.warn("Direct usage of Menubar is not supported. Please use Menubar.Root, Menubar.Item instead."),null);I.Root=l,I.Menu=C,I.Trigger=d,I.Content=p,I.Portal=b,I.Item=f,I.Sub=g,I.SubTrigger=h,I.Separator=M;export{p as Content,f as Item,C as Menu,b as Portal,l as Root,M as Separator,g as Sub,h as SubTrigger,d as Trigger,I as default};
@@ -0,0 +1 @@
1
+ 'use client';"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var a=require("react/jsx-runtime"),e=require("react"),t=require("./useComponentClass-B0DF90tm.cjs"),r=require("./index-Bg-UeWCo.cjs");require("./ThemeContext-t7IX-w6i.cjs"),require("./mergeProps-DW5qFqqJ.cjs");const s=e.createContext({value:0,minValue:0,maxValue:100,rootClass:"",state:"normal"}),l="Meter",i=e.forwardRef((({value:e=0,minValue:i=0,maxValue:o=100,lowValue:u,highValue:m,optimumValue:d,getValueLabel:n,customRootClass:c,className:x,children:v,...h},p)=>{const C=t.useComponentClass(c,l),V=Math.max(i,o),f=((a,e,t)=>t<=e?e:Math.min(Math.max(a,e),t))(e,i,V),j=((a,e,t,r)=>void 0!==r&&a===r?"optimum":void 0!==e&&a<e?"low":void 0!==t&&a>t?"high":"normal")(f,u,m,d),N=n?.(f,i,V),{asChild:M,...w}=h;return a.jsx(s.Provider,{value:{value:f,minValue:i,maxValue:V,lowValue:u,highValue:m,optimumValue:d,rootClass:C,state:j},children:a.jsx(r.Primitive.div,{role:"meter","aria-valuenow":f,"aria-valuemin":i,"aria-valuemax":V,"aria-valuetext":N,"data-state":j,"data-value":f,"data-min":i,"data-max":V,"data-low":u,"data-high":m,"data-optimum":d,className:t.clsx(C,x),asChild:M,ref:p,...w,children:v})})}));i.displayName=l;const o=e.forwardRef((({className:l,style:i,...o},u)=>{const{value:m,minValue:d,maxValue:n,rootClass:c,state:x}=e.useContext(s),v=n===d?0:(m-d)/(n-d)*100,{asChild:h,...p}=o;return a.jsx(r.Primitive.div,{className:t.clsx(c&&`${c}-indicator`,l),style:{transform:`translateX(-${100-v}%)`,...i},"data-state":x,"data-value":m,"data-min":d,"data-max":n,asChild:h,ref:u,...p})}));o.displayName="MeterIndicator";const u="Meter",m=e.forwardRef(((e,t)=>a.jsx(i,{ref:t,...e})));m.displayName=u,m.Root=i,m.Indicator=o,exports.COMPONENT_NAME=u,exports.Indicator=o,exports.Root=i,exports.default=m;
@@ -0,0 +1,44 @@
1
+ import React, { ComponentPropsWithoutRef, ElementRef } from 'react';
2
+ import Primitive from '~/core/primitives/Primitive';
3
+
4
+ type MeterRootElement = ElementRef<typeof Primitive.div>;
5
+ type MeterRootProps = {
6
+ value?: number;
7
+ minValue?: number;
8
+ maxValue?: number;
9
+ lowValue?: number;
10
+ highValue?: number;
11
+ optimumValue?: number;
12
+ getValueLabel?: (value: number, minValue: number, maxValue: number) => string;
13
+ customRootClass?: string;
14
+ children?: React.ReactNode;
15
+ } & ComponentPropsWithoutRef<typeof Primitive.div>;
16
+ declare const MeterRoot: React.ForwardRefExoticComponent<{
17
+ value?: number;
18
+ minValue?: number;
19
+ maxValue?: number;
20
+ lowValue?: number;
21
+ highValue?: number;
22
+ optimumValue?: number;
23
+ getValueLabel?: (value: number, minValue: number, maxValue: number) => string;
24
+ customRootClass?: string;
25
+ children?: React.ReactNode;
26
+ } & Omit<Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & {
27
+ asChild?: boolean;
28
+ } & React.RefAttributes<HTMLElement>, "ref"> & React.RefAttributes<HTMLElement>>;
29
+
30
+ type MeterIndicatorProps = ComponentPropsWithoutRef<typeof Primitive.div>;
31
+ declare const MeterIndicator: React.ForwardRefExoticComponent<Omit<Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & {
32
+ asChild?: boolean;
33
+ } & React.RefAttributes<HTMLElement>, "ref"> & React.RefAttributes<HTMLElement>>;
34
+
35
+ declare const COMPONENT_NAME = "Meter";
36
+ type MeterProps = MeterRootProps;
37
+ type MeterComponent = React.ForwardRefExoticComponent<MeterProps & React.RefAttributes<MeterRootElement>> & {
38
+ Root: typeof MeterRoot;
39
+ Indicator: typeof MeterIndicator;
40
+ };
41
+ declare const Meter: MeterComponent;
42
+
43
+ export { COMPONENT_NAME, MeterIndicator as Indicator, MeterRoot as Root, Meter as default };
44
+ export type { MeterIndicatorProps, MeterProps, MeterRootProps };
@@ -0,0 +1 @@
1
+ 'use client';import{jsx as a}from"react/jsx-runtime";import{createContext as e,forwardRef as t,useContext as l}from"react";import{u as o,c as s}from"./useComponentClass-C0isGl1z.js";import{P as m}from"./index-BidxkqdT.js";import"./ThemeContext-Sm-iNANd.js";import"./mergeProps-0RucjqeH.js";const i=e({value:0,minValue:0,maxValue:100,rootClass:"",state:"normal"}),r="Meter",u=t((({value:e=0,minValue:t=0,maxValue:l=100,lowValue:u,highValue:d,optimumValue:n,getValueLabel:c,customRootClass:h,className:v,children:p,...V},x)=>{const C=o(h,r),f=Math.max(t,l),N=((a,e,t)=>t<=e?e:Math.min(Math.max(a,e),t))(e,t,f),g=((a,e,t,l)=>void 0!==l&&a===l?"optimum":void 0!==e&&a<e?"low":void 0!==t&&a>t?"high":"normal")(N,u,d,n),M=c?.(N,t,f),{asChild:j,...w}=V;return a(i.Provider,{value:{value:N,minValue:t,maxValue:f,lowValue:u,highValue:d,optimumValue:n,rootClass:C,state:g},children:a(m.div,{role:"meter","aria-valuenow":N,"aria-valuemin":t,"aria-valuemax":f,"aria-valuetext":M,"data-state":g,"data-value":N,"data-min":t,"data-max":f,"data-low":u,"data-high":d,"data-optimum":n,className:s(C,v),asChild:j,ref:x,...w,children:p})})}));u.displayName=r;const d=t((({className:e,style:t,...o},r)=>{const{value:u,minValue:d,maxValue:n,rootClass:c,state:h}=l(i),v=n===d?0:(u-d)/(n-d)*100,{asChild:p,...V}=o;return a(m.div,{className:s(c&&`${c}-indicator`,e),style:{transform:`translateX(-${100-v}%)`,...t},"data-state":h,"data-value":u,"data-min":d,"data-max":n,asChild:p,ref:r,...V})}));d.displayName="MeterIndicator";const n="Meter",c=t(((e,t)=>a(u,{ref:t,...e})));c.displayName=n,c.Root=u,c.Indicator=d;export{n as COMPONENT_NAME,d as Indicator,u as Root,c as default};
@@ -1 +1 @@
1
- 'use client';"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),t=require("react"),r=require("./useComponentClass-B0DF90tm.cjs"),s=require("./index-CbKtybdA.cjs"),o=require("./index-BeakeOqt.cjs"),n=require("./mergeProps-DW5qFqqJ.cjs");require("./ThemeContext-t7IX-w6i.cjs"),require("./index-WGIYLuwZ.cjs"),require("./keyboard-BBlFllyi.cjs"),require("./mergeRefs-BUn-enYe.cjs");const l=t.createContext({rootClass:"",rootRef:null}),i=t.forwardRef((({children:i,className:a,customRootClass:c="",...u},d)=>{const m=r.useComponentClass(c,"Minimap"),f=t.useRef(null),p=t.useMemo((()=>n.composeRefs(f,d)),[d]),x=t.useMemo((()=>({rootClass:m,rootRef:f})),[m]);return e.jsx(l.Provider,{value:x,children:e.jsx(o.RovingFocusGroupUtility.Root,{loop:!0,orientation:"both",children:e.jsx(o.RovingFocusGroupUtility.Group,{children:e.jsx(s.Primitive.div,{ref:p,className:r.clsx(m,a),...u,children:i})})})})}));i.displayName="Minimap.Root";const a=t.createContext({value:"",isVisible:!1}),c=t.createContext({visibleItems:[],handleInView:()=>{},handleOutView:()=>{},scrollToItem:()=>{},registerRef:()=>{}}),u=t.forwardRef((({children:n,className:i="",value:u,...d},m)=>{const{rootClass:f}=t.useContext(l)||{rootClass:""},{visibleItems:p,scrollToItem:x}=t.useContext(c),h=p.includes(u),C=t.useMemo((()=>({value:u,isVisible:h})),[u,h]),v=t.useCallback((()=>{x(u)}),[u,x]);return e.jsx(a.Provider,{value:C,children:e.jsx(o.RovingFocusGroupUtility.Item,{children:e.jsx(s.Primitive.button,{ref:m,onClick:v,className:r.clsx(f&&`${f}-item`,i),"data-in-view":h?"true":"false",...d,children:n})})})}));u.displayName="Minimap.Item";const d=t.forwardRef((({children:s,className:o="",...n},i)=>{const{rootClass:a}=t.useContext(l);return e.jsx("span",{ref:i,className:r.clsx(a&&`${a}-track`,o),...n,children:s})}));d.displayName="Minimap.Track";const m=t.forwardRef((({children:s,className:o="",...n},i)=>{const{rootClass:u}=t.useContext(l)||{rootClass:""},{value:d}=t.useContext(a)||{value:""},{visibleItems:m}=t.useContext(c),f=m.indexOf(d),p=-1!==f,x=-1!==f&&f<m.length-1,h=p&&x;return e.jsx("span",{ref:i,className:r.clsx(u&&`${u}-line`,o),"data-in-view":h?"true":"false",...n,children:s})}));m.displayName="Minimap.Line";const f=t.forwardRef((({children:s,className:o="",...n},i)=>{const{rootClass:a}=t.useContext(l);return e.jsx("span",{ref:i,className:r.clsx(a&&`${a}-content`,o),...n,children:s})}));f.displayName="Minimap.Content";const p=t.forwardRef((({children:s,className:o="",...n},i)=>{const{rootClass:c}=t.useContext(l)||{rootClass:""},{isVisible:u}=t.useContext(a)||{isVisible:!1};return e.jsx("span",{ref:i,className:r.clsx(c&&`${c}-bubble`,o),"data-in-view":u?"true":"false",...n,children:s})}));p.displayName="Minimap.Bubble";const x=({children:r,className:s="",scrollable:o,...n})=>{const[l,i]=t.useState([]),a=t.useRef(new Map),u=t.useRef(null),d=t.useCallback(((e,t)=>{t?a.current.set(e,t):a.current.delete(e)}),[]),m=t.useCallback((e=>{i((t=>{if(null===e||t.includes(e))return t;return[...t,e].sort(((e,t)=>{const r=a.current.get(e),s=a.current.get(t);if(!r||!s)return 0;return r.compareDocumentPosition(s)&Node.DOCUMENT_POSITION_FOLLOWING?-1:1}))}))}),[]),f=t.useCallback((e=>{i((t=>null!==e&&t.includes(e)?t.filter((t=>t!==e)):t))}),[]),p=t.useCallback((e=>{const t=a.current.get(e);if(!t)return;let r=null;if(o&&u.current)r=u.current;else{const e=t=>{if(!t||t===document.body)return null;const r=window.getComputedStyle(t);return("auto"===r.overflow||"scroll"===r.overflow||"auto"===r.overflowY||"scroll"===r.overflowY)&&t.scrollHeight>t.clientHeight?t:e(t.parentElement)};r=e(t.parentElement)}if(r){const e=t.getBoundingClientRect(),s=r.getBoundingClientRect(),o=e.top-s.top+r.scrollTop,n=r.scrollHeight-r.clientHeight,l=Math.max(0,Math.min(o,n));Math.abs(l-r.scrollTop)>1&&r.scrollTo({top:l,behavior:"smooth"})}else"function"==typeof t.scrollIntoView&&t.scrollIntoView({behavior:"smooth",block:"start"})}),[o]),x=t.useMemo((()=>({visibleItems:l,handleInView:m,handleOutView:f,scrollToItem:p,registerRef:d})),[l,m,f,p,d]);return e.jsx(c.Provider,{value:x,children:e.jsx("div",{ref:u,className:`${s}`,...n,children:r})})};function h(e){if(!e)return null;const t=window.getComputedStyle(e).overflowY;return"auto"===t||"scroll"===t?e:h(e.parentElement)}function C({onEnter:e,onLeave:r,threshold:s=0,rootMargin:o="0px",root:n}){const l=t.useRef(null);return t.useEffect((()=>{if("undefined"==typeof window||!("IntersectionObserver"in window))return;if(!l.current)return;const t=n??h(l.current),i=new IntersectionObserver((t=>{t.forEach((t=>{t.isIntersecting?e?.():r?.()}))}),{threshold:s,rootMargin:o,root:t});return i.observe(l.current),()=>{l.current&&i.unobserve(l.current),i.disconnect()}}),[e,r,s,o,n]),l}const v=({children:s,className:o="",value:n="",...l})=>{const{handleInView:i,handleOutView:a,registerRef:u}=t.useContext(c),d=C({onEnter:t.useCallback((()=>{n&&i(n)}),[n,i]),onLeave:t.useCallback((()=>{n&&a(n)}),[n,a]),threshold:.1}),m=t.useCallback((e=>{d&&"current"in d&&(d.current=e),n&&u(n,e)}),[d,n,u]);return e.jsx("div",{ref:m,className:r.clsx(o),...l,children:s})},b=Object.assign((()=>(console.warn("Direct usage of Minimap is not supported. Please use Minimap.Root, Minimap.Item instead."),null)),{Root:i,Item:u,Track:d,Line:m,Content:f,Bubble:p,Provider:x,Waypoint:v});exports.Bubble=p,exports.Content=f,exports.Item=u,exports.Line=m,exports.Provider=x,exports.Root=i,exports.Track=d,exports.Waypoint=v,exports.default=b;
1
+ 'use client';"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),t=require("react"),r=require("./useComponentClass-B0DF90tm.cjs"),s=require("./index-Bg-UeWCo.cjs"),o=require("./index-rUSzFrhJ.cjs"),n=require("./mergeProps-DW5qFqqJ.cjs");require("./ThemeContext-t7IX-w6i.cjs"),require("./index-BZO29jsF.cjs"),require("./keyboard-BBlFllyi.cjs"),require("./mergeRefs-BUn-enYe.cjs");const l=t.createContext({rootClass:"",rootRef:null}),i=t.forwardRef((({children:i,className:a,customRootClass:c="",...u},d)=>{const m=r.useComponentClass(c,"Minimap"),f=t.useRef(null),p=t.useMemo((()=>n.composeRefs(f,d)),[d]),x=t.useMemo((()=>({rootClass:m,rootRef:f})),[m]);return e.jsx(l.Provider,{value:x,children:e.jsx(o.RovingFocusGroupUtility.Root,{loop:!0,orientation:"both",children:e.jsx(o.RovingFocusGroupUtility.Group,{children:e.jsx(s.Primitive.div,{ref:p,className:r.clsx(m,a),...u,children:i})})})})}));i.displayName="Minimap.Root";const a=t.createContext({value:"",isVisible:!1}),c=t.createContext({visibleItems:[],handleInView:()=>{},handleOutView:()=>{},scrollToItem:()=>{},registerRef:()=>{}}),u=t.forwardRef((({children:n,className:i="",value:u,...d},m)=>{const{rootClass:f}=t.useContext(l)||{rootClass:""},{visibleItems:p,scrollToItem:x}=t.useContext(c),h=p.includes(u),C=t.useMemo((()=>({value:u,isVisible:h})),[u,h]),v=t.useCallback((()=>{x(u)}),[u,x]);return e.jsx(a.Provider,{value:C,children:e.jsx(o.RovingFocusGroupUtility.Item,{children:e.jsx(s.Primitive.button,{ref:m,onClick:v,className:r.clsx(f&&`${f}-item`,i),"data-in-view":h?"true":"false",...d,children:n})})})}));u.displayName="Minimap.Item";const d=t.forwardRef((({children:s,className:o="",...n},i)=>{const{rootClass:a}=t.useContext(l);return e.jsx("span",{ref:i,className:r.clsx(a&&`${a}-track`,o),...n,children:s})}));d.displayName="Minimap.Track";const m=t.forwardRef((({children:s,className:o="",...n},i)=>{const{rootClass:u}=t.useContext(l)||{rootClass:""},{value:d}=t.useContext(a)||{value:""},{visibleItems:m}=t.useContext(c),f=m.indexOf(d),p=-1!==f,x=-1!==f&&f<m.length-1,h=p&&x;return e.jsx("span",{ref:i,className:r.clsx(u&&`${u}-line`,o),"data-in-view":h?"true":"false",...n,children:s})}));m.displayName="Minimap.Line";const f=t.forwardRef((({children:s,className:o="",...n},i)=>{const{rootClass:a}=t.useContext(l);return e.jsx("span",{ref:i,className:r.clsx(a&&`${a}-content`,o),...n,children:s})}));f.displayName="Minimap.Content";const p=t.forwardRef((({children:s,className:o="",...n},i)=>{const{rootClass:c}=t.useContext(l)||{rootClass:""},{isVisible:u}=t.useContext(a)||{isVisible:!1};return e.jsx("span",{ref:i,className:r.clsx(c&&`${c}-bubble`,o),"data-in-view":u?"true":"false",...n,children:s})}));p.displayName="Minimap.Bubble";const x=({children:r,className:s="",scrollable:o,...n})=>{const[l,i]=t.useState([]),a=t.useRef(new Map),u=t.useRef(null),d=t.useCallback(((e,t)=>{t?a.current.set(e,t):a.current.delete(e)}),[]),m=t.useCallback((e=>{i((t=>{if(null===e||t.includes(e))return t;return[...t,e].sort(((e,t)=>{const r=a.current.get(e),s=a.current.get(t);if(!r||!s)return 0;return r.compareDocumentPosition(s)&Node.DOCUMENT_POSITION_FOLLOWING?-1:1}))}))}),[]),f=t.useCallback((e=>{i((t=>null!==e&&t.includes(e)?t.filter((t=>t!==e)):t))}),[]),p=t.useCallback((e=>{const t=a.current.get(e);if(!t)return;let r=null;if(o&&u.current)r=u.current;else{const e=t=>{if(!t||t===document.body)return null;const r=window.getComputedStyle(t);return("auto"===r.overflow||"scroll"===r.overflow||"auto"===r.overflowY||"scroll"===r.overflowY)&&t.scrollHeight>t.clientHeight?t:e(t.parentElement)};r=e(t.parentElement)}if(r){const e=t.getBoundingClientRect(),s=r.getBoundingClientRect(),o=e.top-s.top+r.scrollTop,n=r.scrollHeight-r.clientHeight,l=Math.max(0,Math.min(o,n));Math.abs(l-r.scrollTop)>1&&r.scrollTo({top:l,behavior:"smooth"})}else"function"==typeof t.scrollIntoView&&t.scrollIntoView({behavior:"smooth",block:"start"})}),[o]),x=t.useMemo((()=>({visibleItems:l,handleInView:m,handleOutView:f,scrollToItem:p,registerRef:d})),[l,m,f,p,d]);return e.jsx(c.Provider,{value:x,children:e.jsx("div",{ref:u,className:`${s}`,...n,children:r})})};function h(e){if(!e)return null;const t=window.getComputedStyle(e).overflowY;return"auto"===t||"scroll"===t?e:h(e.parentElement)}function C({onEnter:e,onLeave:r,threshold:s=0,rootMargin:o="0px",root:n}){const l=t.useRef(null);return t.useEffect((()=>{if("undefined"==typeof window||!("IntersectionObserver"in window))return;if(!l.current)return;const t=n??h(l.current),i=new IntersectionObserver((t=>{t.forEach((t=>{t.isIntersecting?e?.():r?.()}))}),{threshold:s,rootMargin:o,root:t});return i.observe(l.current),()=>{l.current&&i.unobserve(l.current),i.disconnect()}}),[e,r,s,o,n]),l}const v=({children:s,className:o="",value:n="",...l})=>{const{handleInView:i,handleOutView:a,registerRef:u}=t.useContext(c),d=C({onEnter:t.useCallback((()=>{n&&i(n)}),[n,i]),onLeave:t.useCallback((()=>{n&&a(n)}),[n,a]),threshold:.1}),m=t.useCallback((e=>{d&&"current"in d&&(d.current=e),n&&u(n,e)}),[d,n,u]);return e.jsx("div",{ref:m,className:r.clsx(o),...l,children:s})},b=Object.assign((()=>(console.warn("Direct usage of Minimap is not supported. Please use Minimap.Root, Minimap.Item instead."),null)),{Root:i,Item:u,Track:d,Line:m,Content:f,Bubble:p,Provider:x,Waypoint:v});exports.Bubble=p,exports.Content=f,exports.Item=u,exports.Line=m,exports.Provider=x,exports.Root=i,exports.Track=d,exports.Waypoint=v,exports.default=b;
@@ -1 +1 @@
1
- 'use client';import{jsx as e}from"react/jsx-runtime";import t,{createContext as r,useRef as n,useEffect as o}from"react";import{u as s,c as l}from"./useComponentClass-C0isGl1z.js";import{P as a}from"./index-XF8itt-H.js";import{R as i}from"./index-C7dBo_Ry.js";import{c}from"./mergeProps-0RucjqeH.js";import"./ThemeContext-Sm-iNANd.js";import"./index-FITGoHty.js";import"./keyboard-BKF7hXqL.js";import"./mergeRefs-B8eZ_q-T.js";const u=r({rootClass:"",rootRef:null}),m=t.forwardRef((({children:r,className:n,customRootClass:o="",...m},d)=>{const f=s(o,"Minimap"),p=t.useRef(null),h=t.useMemo((()=>c(p,d)),[d]),C=t.useMemo((()=>({rootClass:f,rootRef:p})),[f]);return e(u.Provider,{value:C,children:e(i.Root,{loop:!0,orientation:"both",children:e(i.Group,{children:e(a.div,{ref:h,className:l(f,n),...m,children:r})})})})}));m.displayName="Minimap.Root";const d=r({value:"",isVisible:!1}),f=r({visibleItems:[],handleInView:()=>{},handleOutView:()=>{},scrollToItem:()=>{},registerRef:()=>{}}),p=t.forwardRef((({children:r,className:n="",value:o,...s},c)=>{const{rootClass:m}=t.useContext(u)||{rootClass:""},{visibleItems:p,scrollToItem:h}=t.useContext(f),C=p.includes(o),b=t.useMemo((()=>({value:o,isVisible:C})),[o,C]),v=t.useCallback((()=>{h(o)}),[o,h]);return e(d.Provider,{value:b,children:e(i.Item,{children:e(a.button,{ref:c,onClick:v,className:l(m&&`${m}-item`,n),"data-in-view":C?"true":"false",...s,children:r})})})}));p.displayName="Minimap.Item";const h=t.forwardRef((({children:r,className:n="",...o},s)=>{const{rootClass:a}=t.useContext(u);return e("span",{ref:s,className:l(a&&`${a}-track`,n),...o,children:r})}));h.displayName="Minimap.Track";const C=t.forwardRef((({children:r,className:n="",...o},s)=>{const{rootClass:a}=t.useContext(u)||{rootClass:""},{value:i}=t.useContext(d)||{value:""},{visibleItems:c}=t.useContext(f),m=c.indexOf(i),p=-1!==m,h=-1!==m&&m<c.length-1,C=p&&h;return e("span",{ref:s,className:l(a&&`${a}-line`,n),"data-in-view":C?"true":"false",...o,children:r})}));C.displayName="Minimap.Line";const b=t.forwardRef((({children:r,className:n="",...o},s)=>{const{rootClass:a}=t.useContext(u);return e("span",{ref:s,className:l(a&&`${a}-content`,n),...o,children:r})}));b.displayName="Minimap.Content";const v=t.forwardRef((({children:r,className:n="",...o},s)=>{const{rootClass:a}=t.useContext(u)||{rootClass:""},{isVisible:i}=t.useContext(d)||{isVisible:!1};return e("span",{ref:s,className:l(a&&`${a}-bubble`,n),"data-in-view":i?"true":"false",...o,children:r})}));v.displayName="Minimap.Bubble";const w=({children:r,className:n="",scrollable:o,...s})=>{const[l,a]=t.useState([]),i=t.useRef(new Map),c=t.useRef(null),u=t.useCallback(((e,t)=>{t?i.current.set(e,t):i.current.delete(e)}),[]),m=t.useCallback((e=>{a((t=>{if(null===e||t.includes(e))return t;return[...t,e].sort(((e,t)=>{const r=i.current.get(e),n=i.current.get(t);if(!r||!n)return 0;return r.compareDocumentPosition(n)&Node.DOCUMENT_POSITION_FOLLOWING?-1:1}))}))}),[]),d=t.useCallback((e=>{a((t=>null!==e&&t.includes(e)?t.filter((t=>t!==e)):t))}),[]),p=t.useCallback((e=>{const t=i.current.get(e);if(!t)return;let r=null;if(o&&c.current)r=c.current;else{const e=t=>{if(!t||t===document.body)return null;const r=window.getComputedStyle(t);return("auto"===r.overflow||"scroll"===r.overflow||"auto"===r.overflowY||"scroll"===r.overflowY)&&t.scrollHeight>t.clientHeight?t:e(t.parentElement)};r=e(t.parentElement)}if(r){const e=t.getBoundingClientRect(),n=r.getBoundingClientRect(),o=e.top-n.top+r.scrollTop,s=r.scrollHeight-r.clientHeight,l=Math.max(0,Math.min(o,s));Math.abs(l-r.scrollTop)>1&&r.scrollTo({top:l,behavior:"smooth"})}else"function"==typeof t.scrollIntoView&&t.scrollIntoView({behavior:"smooth",block:"start"})}),[o]),h=t.useMemo((()=>({visibleItems:l,handleInView:m,handleOutView:d,scrollToItem:p,registerRef:u})),[l,m,d,p,u]);return e(f.Provider,{value:h,children:e("div",{ref:c,className:`${n}`,...s,children:r})})};function N(e){if(!e)return null;const t=window.getComputedStyle(e).overflowY;return"auto"===t||"scroll"===t?e:N(e.parentElement)}function g({onEnter:e,onLeave:t,threshold:r=0,rootMargin:s="0px",root:l}){const a=n(null);return o((()=>{if("undefined"==typeof window||!("IntersectionObserver"in window))return;if(!a.current)return;const n=l??N(a.current),o=new IntersectionObserver((r=>{r.forEach((r=>{r.isIntersecting?e?.():t?.()}))}),{threshold:r,rootMargin:s,root:n});return o.observe(a.current),()=>{a.current&&o.unobserve(a.current),o.disconnect()}}),[e,t,r,s,l]),a}const R=({children:r,className:n="",value:o="",...s})=>{const{handleInView:a,handleOutView:i,registerRef:c}=t.useContext(f),u=g({onEnter:t.useCallback((()=>{o&&a(o)}),[o,a]),onLeave:t.useCallback((()=>{o&&i(o)}),[o,i]),threshold:.1}),m=t.useCallback((e=>{u&&"current"in u&&(u.current=e),o&&c(o,e)}),[u,o,c]);return e("div",{ref:m,className:l(n),...s,children:r})},I=Object.assign((()=>(console.warn("Direct usage of Minimap is not supported. Please use Minimap.Root, Minimap.Item instead."),null)),{Root:m,Item:p,Track:h,Line:C,Content:b,Bubble:v,Provider:w,Waypoint:R});export{v as Bubble,b as Content,p as Item,C as Line,w as Provider,m as Root,h as Track,R as Waypoint,I as default};
1
+ 'use client';import{jsx as e}from"react/jsx-runtime";import t,{createContext as r,useRef as n,useEffect as o}from"react";import{u as s,c as l}from"./useComponentClass-C0isGl1z.js";import{P as a}from"./index-BidxkqdT.js";import{R as i}from"./index-D8QLtYJh.js";import{c}from"./mergeProps-0RucjqeH.js";import"./ThemeContext-Sm-iNANd.js";import"./index-DH-14XDv.js";import"./keyboard-BKF7hXqL.js";import"./mergeRefs-B8eZ_q-T.js";const u=r({rootClass:"",rootRef:null}),m=t.forwardRef((({children:r,className:n,customRootClass:o="",...m},d)=>{const f=s(o,"Minimap"),p=t.useRef(null),h=t.useMemo((()=>c(p,d)),[d]),C=t.useMemo((()=>({rootClass:f,rootRef:p})),[f]);return e(u.Provider,{value:C,children:e(i.Root,{loop:!0,orientation:"both",children:e(i.Group,{children:e(a.div,{ref:h,className:l(f,n),...m,children:r})})})})}));m.displayName="Minimap.Root";const d=r({value:"",isVisible:!1}),f=r({visibleItems:[],handleInView:()=>{},handleOutView:()=>{},scrollToItem:()=>{},registerRef:()=>{}}),p=t.forwardRef((({children:r,className:n="",value:o,...s},c)=>{const{rootClass:m}=t.useContext(u)||{rootClass:""},{visibleItems:p,scrollToItem:h}=t.useContext(f),C=p.includes(o),b=t.useMemo((()=>({value:o,isVisible:C})),[o,C]),v=t.useCallback((()=>{h(o)}),[o,h]);return e(d.Provider,{value:b,children:e(i.Item,{children:e(a.button,{ref:c,onClick:v,className:l(m&&`${m}-item`,n),"data-in-view":C?"true":"false",...s,children:r})})})}));p.displayName="Minimap.Item";const h=t.forwardRef((({children:r,className:n="",...o},s)=>{const{rootClass:a}=t.useContext(u);return e("span",{ref:s,className:l(a&&`${a}-track`,n),...o,children:r})}));h.displayName="Minimap.Track";const C=t.forwardRef((({children:r,className:n="",...o},s)=>{const{rootClass:a}=t.useContext(u)||{rootClass:""},{value:i}=t.useContext(d)||{value:""},{visibleItems:c}=t.useContext(f),m=c.indexOf(i),p=-1!==m,h=-1!==m&&m<c.length-1,C=p&&h;return e("span",{ref:s,className:l(a&&`${a}-line`,n),"data-in-view":C?"true":"false",...o,children:r})}));C.displayName="Minimap.Line";const b=t.forwardRef((({children:r,className:n="",...o},s)=>{const{rootClass:a}=t.useContext(u);return e("span",{ref:s,className:l(a&&`${a}-content`,n),...o,children:r})}));b.displayName="Minimap.Content";const v=t.forwardRef((({children:r,className:n="",...o},s)=>{const{rootClass:a}=t.useContext(u)||{rootClass:""},{isVisible:i}=t.useContext(d)||{isVisible:!1};return e("span",{ref:s,className:l(a&&`${a}-bubble`,n),"data-in-view":i?"true":"false",...o,children:r})}));v.displayName="Minimap.Bubble";const w=({children:r,className:n="",scrollable:o,...s})=>{const[l,a]=t.useState([]),i=t.useRef(new Map),c=t.useRef(null),u=t.useCallback(((e,t)=>{t?i.current.set(e,t):i.current.delete(e)}),[]),m=t.useCallback((e=>{a((t=>{if(null===e||t.includes(e))return t;return[...t,e].sort(((e,t)=>{const r=i.current.get(e),n=i.current.get(t);if(!r||!n)return 0;return r.compareDocumentPosition(n)&Node.DOCUMENT_POSITION_FOLLOWING?-1:1}))}))}),[]),d=t.useCallback((e=>{a((t=>null!==e&&t.includes(e)?t.filter((t=>t!==e)):t))}),[]),p=t.useCallback((e=>{const t=i.current.get(e);if(!t)return;let r=null;if(o&&c.current)r=c.current;else{const e=t=>{if(!t||t===document.body)return null;const r=window.getComputedStyle(t);return("auto"===r.overflow||"scroll"===r.overflow||"auto"===r.overflowY||"scroll"===r.overflowY)&&t.scrollHeight>t.clientHeight?t:e(t.parentElement)};r=e(t.parentElement)}if(r){const e=t.getBoundingClientRect(),n=r.getBoundingClientRect(),o=e.top-n.top+r.scrollTop,s=r.scrollHeight-r.clientHeight,l=Math.max(0,Math.min(o,s));Math.abs(l-r.scrollTop)>1&&r.scrollTo({top:l,behavior:"smooth"})}else"function"==typeof t.scrollIntoView&&t.scrollIntoView({behavior:"smooth",block:"start"})}),[o]),h=t.useMemo((()=>({visibleItems:l,handleInView:m,handleOutView:d,scrollToItem:p,registerRef:u})),[l,m,d,p,u]);return e(f.Provider,{value:h,children:e("div",{ref:c,className:`${n}`,...s,children:r})})};function N(e){if(!e)return null;const t=window.getComputedStyle(e).overflowY;return"auto"===t||"scroll"===t?e:N(e.parentElement)}function g({onEnter:e,onLeave:t,threshold:r=0,rootMargin:s="0px",root:l}){const a=n(null);return o((()=>{if("undefined"==typeof window||!("IntersectionObserver"in window))return;if(!a.current)return;const n=l??N(a.current),o=new IntersectionObserver((r=>{r.forEach((r=>{r.isIntersecting?e?.():t?.()}))}),{threshold:r,rootMargin:s,root:n});return o.observe(a.current),()=>{a.current&&o.unobserve(a.current),o.disconnect()}}),[e,t,r,s,l]),a}const R=({children:r,className:n="",value:o="",...s})=>{const{handleInView:a,handleOutView:i,registerRef:c}=t.useContext(f),u=g({onEnter:t.useCallback((()=>{o&&a(o)}),[o,a]),onLeave:t.useCallback((()=>{o&&i(o)}),[o,i]),threshold:.1}),m=t.useCallback((e=>{u&&"current"in u&&(u.current=e),o&&c(o,e)}),[u,o,c]);return e("div",{ref:m,className:l(n),...s,children:r})},I=Object.assign((()=>(console.warn("Direct usage of Minimap is not supported. Please use Minimap.Root, Minimap.Item instead."),null)),{Root:m,Item:p,Track:h,Line:C,Content:b,Bubble:v,Provider:w,Waypoint:R});export{v as Bubble,b as Content,p as Item,C as Line,w as Provider,m as Root,h as Track,R as Waypoint,I as default};
@@ -1 +1 @@
1
- 'use client';"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),n=require("react"),t=require("./index-BeakeOqt.cjs"),r=require("./index-BwNOI8cB.cjs"),o=require("./useComponentClass-B0DF90tm.cjs"),s=require("./index-DrMwbB8q.cjs"),c=require("./keyboard-BBlFllyi.cjs"),u=require("./mergeRefs-BUn-enYe.cjs");require("./index-CbKtybdA.cjs"),require("./mergeProps-DW5qFqqJ.cjs"),require("./index-WGIYLuwZ.cjs"),require("./ThemeContext-t7IX-w6i.cjs");const i=n.createContext({isOpen:"",setIsOpen:()=>{},rootClass:"",contentLoop:!0}),l="NavigationMenu",a=n.forwardRef((({children:n,value:s,defaultValue:c="",onValueChange:u,customRootClass:a,loop:d=!0,contentLoop:f=!0,className:p,...m},g)=>{const v=o.useComponentClass(a,l),[x,C]=r.useControllableState(s,c,u);return e.jsx("nav",{ref:g,...m,children:e.jsx(i.Provider,{value:{isOpen:x,setIsOpen:C,rootClass:v,contentLoop:f},children:e.jsx(t.RovingFocusGroupUtility.Root,{loop:d,children:e.jsx(t.RovingFocusGroupUtility.Group,{className:o.clsx(v&&`${v}-root`,p),children:n})})})})}));a.displayName=l;const d=n.createContext({itemOpen:!1,handleTrigger:()=>{},triggerRef:{current:null}}),f=n.forwardRef((({value:t,children:r,className:l,onMouseEnter:a,onMouseLeave:f,onBlur:p,...m},g)=>{const{isOpen:v,setIsOpen:x,rootClass:C}=n.useContext(i),R=n.useRef(null),h=n.useRef(null),j=n.useId(),E=v===t,N=n.useRef(!1),y=n.useRef(null),O=()=>{null!==y.current&&(clearTimeout(y.current),y.current=null)};n.useEffect((()=>{E||(N.current=!1,O())}),[E]),n.useEffect((()=>O),[]);const k=n.useRef(new Set),L=n.useRef(!1),I=n.useCallback((e=>(k.current.add(e),()=>{k.current.delete(e)})),[]),F=()=>{const e=Array.from(k.current).filter((e=>e.isConnected));return 0!==e.length&&(e.sort(((e,n)=>e.compareDocumentPosition(n)&Node.DOCUMENT_POSITION_FOLLOWING?-1:1)),e[0].focus(),!0)};n.useEffect((()=>{E||(L.current=!1)}),[E]),n.useEffect((()=>{if(!E)return;const e=R.current,n=e?.ownerDocument??("undefined"!=typeof document?document:null);if(!n)return;const t=t=>{if(t.key!==c.KEYBOARD_KEYS.ESCAPE||t.defaultPrevented)return;const r=n.activeElement,o=!!e&&!!r&&e.contains(r),s=!r||r===n.body;x(""),(o||s)&&h.current?.focus()},r=n=>{const t=n.target;e&&t&&e.contains(t)||x("")};return n.addEventListener("keydown",t),n.addEventListener("pointerdown",r),()=>{n.removeEventListener("keydown",t),n.removeEventListener("pointerdown",r)}}),[E,x]);return e.jsx(d.Provider,{value:{itemOpen:E,handleTrigger:e=>{const n=!!e&&e.detail>0;E&&N.current&&n?N.current=!1:(N.current=!1,x(E?"":t))},triggerRef:h,contentId:j,registerLink:I,openAndFocusFirstLink:()=>{O(),N.current=!1,E?F():(L.current=!0,x(t))},flushPendingFocus:()=>{L.current&&(L.current=!1,F())}},children:e.jsx("div",{ref:u.mergeRefs(R,g),onMouseEnter:s.composeEventHandlers(a,(()=>{O(),E||(N.current=!0,x(t))})),onMouseLeave:s.composeEventHandlers(f,(()=>{O(),E&&(y.current=setTimeout((()=>{y.current=null,N.current=!1,x((e=>e===t?"":e))}),150))})),onBlur:s.composeEventHandlers(p,(e=>{if(!E)return;const n=e.relatedTarget;n&&!e.currentTarget.contains(n)&&x((e=>e===t?"":e))})),className:o.clsx(C&&`${C}-item`,l),...m,children:r})})}));f.displayName="NavigationMenuItem";const p=n.forwardRef((({children:r,className:l,onClick:a,onKeyDown:f,...p},m)=>{const{handleTrigger:g,itemOpen:v,triggerRef:x,contentId:C,openAndFocusFirstLink:R}=n.useContext(d),{rootClass:h}=n.useContext(i);return e.jsx(t.RovingFocusGroupUtility.Item,{children:e.jsx("button",{ref:u.mergeRefs(x,m),onClick:s.composeEventHandlers(a,g),onKeyDown:s.composeEventHandlers(f,(e=>{e.key===c.KEYBOARD_KEYS.ARROW_DOWN&&R&&(e.preventDefault(),R())})),className:o.clsx(h&&`${h}-trigger`,l),"aria-expanded":v,"aria-controls":v?C:void 0,"data-state":v?"open":"closed",...p,children:r})})}));p.displayName="NavigationMenuTrigger";const m=n.forwardRef((({children:r,className:s,loop:c,...u},l)=>{const{itemOpen:a,contentId:f,flushPendingFocus:p}=n.useContext(d),{rootClass:m,contentLoop:g}=n.useContext(i),v=n.useRef(null),x=c??g;return n.useImperativeHandle(l,(()=>v.current)),n.useEffect((()=>{a&&p?.()}),[a]),a?e.jsx("div",{ref:v,id:f,className:o.clsx(m&&`${m}-content`,s),"data-state":a?"open":"closed",...u,children:e.jsx(t.RovingFocusGroupUtility.Root,{loop:x,orientation:"both",children:e.jsx(t.RovingFocusGroupUtility.Group,{asChild:!1,children:r})})}):null}));m.displayName="NavigationMenuContent";const g=n.forwardRef((({children:r,href:c,className:l,onClick:a,...f},p)=>{const{rootClass:m,setIsOpen:g}=n.useContext(i),{registerLink:v}=n.useContext(d),x=n.useRef(null);n.useEffect((()=>{const e=x.current;if(e&&v)return v(e)}),[v]);return e.jsx(t.RovingFocusGroupUtility.Item,{children:e.jsx("a",{ref:u.mergeRefs(x,p),href:c,className:o.clsx(m&&`${m}-link`,l),...f,onClick:s.composeEventHandlers(a,(()=>g("")),{checkForDefaultPrevented:!1}),children:r})})}));g.displayName="NavigationMenuLink";const v={Root:a,Item:f,Trigger:p,Content:m,Link:g};exports.Content=m,exports.Item=f,exports.Link=g,exports.Root=a,exports.Trigger=p,exports.default=v;
1
+ 'use client';"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),n=require("react"),r=require("./index-rUSzFrhJ.cjs"),t=require("./index-BwNOI8cB.cjs"),o=require("./useComponentClass-B0DF90tm.cjs"),s=require("./index-DrMwbB8q.cjs"),c=require("./keyboard-BBlFllyi.cjs"),i=require("./mergeRefs-BUn-enYe.cjs");require("./index-Bg-UeWCo.cjs"),require("./mergeProps-DW5qFqqJ.cjs"),require("./index-BZO29jsF.cjs"),require("./ThemeContext-t7IX-w6i.cjs");const u=n.createContext({isOpen:"",setIsOpen:()=>{},rootClass:"",contentLoop:!0}),l="NavigationMenu",a=n.forwardRef((({children:n,value:s,defaultValue:c="",onValueChange:i,customRootClass:a,loop:d=!0,contentLoop:f=!0,dir:p,className:m,...g},v)=>{const x=o.useComponentClass(a,l),[C,R]=t.useControllableState(s,c,i);return e.jsx("nav",{ref:v,dir:p,...g,children:e.jsx(u.Provider,{value:{isOpen:C,setIsOpen:R,rootClass:x,contentLoop:f,dir:p},children:e.jsx(r.RovingFocusGroupUtility.Root,{loop:d,dir:p,children:e.jsx(r.RovingFocusGroupUtility.Group,{className:o.clsx(x&&`${x}-root`,m),children:n})})})})}));a.displayName=l;const d=n.createContext({itemOpen:!1,handleTrigger:()=>{},triggerRef:{current:null}}),f=n.forwardRef((({value:r,children:t,className:l,onMouseEnter:a,onMouseLeave:f,onBlur:p,...m},g)=>{const{isOpen:v,setIsOpen:x,rootClass:C}=n.useContext(u),R=n.useRef(null),h=n.useRef(null),j=n.useId(),E=v===r,N=n.useRef(!1),y=n.useRef(null),O=()=>{null!==y.current&&(clearTimeout(y.current),y.current=null)};n.useEffect((()=>{E||(N.current=!1,O())}),[E]),n.useEffect((()=>O),[]);const k=n.useRef(new Set),L=n.useRef(!1),I=n.useCallback((e=>(k.current.add(e),()=>{k.current.delete(e)})),[]),F=()=>{const e=Array.from(k.current).filter((e=>e.isConnected));return 0!==e.length&&(e.sort(((e,n)=>e.compareDocumentPosition(n)&Node.DOCUMENT_POSITION_FOLLOWING?-1:1)),e[0].focus(),!0)};n.useEffect((()=>{E||(L.current=!1)}),[E]),n.useEffect((()=>{if(!E)return;const e=R.current,n=e?.ownerDocument??("undefined"!=typeof document?document:null);if(!n)return;const r=r=>{if(r.key!==c.KEYBOARD_KEYS.ESCAPE||r.defaultPrevented)return;const t=n.activeElement,o=!!e&&!!t&&e.contains(t),s=!t||t===n.body;x(""),(o||s)&&h.current?.focus()},t=n=>{const r=n.target;e&&r&&e.contains(r)||x("")};return n.addEventListener("keydown",r),n.addEventListener("pointerdown",t),()=>{n.removeEventListener("keydown",r),n.removeEventListener("pointerdown",t)}}),[E,x]);return e.jsx(d.Provider,{value:{itemOpen:E,handleTrigger:e=>{const n=!!e&&e.detail>0;E&&N.current&&n?N.current=!1:(N.current=!1,x(E?"":r))},triggerRef:h,contentId:j,registerLink:I,openAndFocusFirstLink:()=>{O(),N.current=!1,E?F():(L.current=!0,x(r))},flushPendingFocus:()=>{L.current&&(L.current=!1,F())}},children:e.jsx("div",{ref:i.mergeRefs(R,g),onMouseEnter:s.composeEventHandlers(a,(()=>{O(),E||(N.current=!0,x(r))})),onMouseLeave:s.composeEventHandlers(f,(()=>{O(),E&&(y.current=setTimeout((()=>{y.current=null,N.current=!1,x((e=>e===r?"":e))}),150))})),onBlur:s.composeEventHandlers(p,(e=>{if(!E)return;const n=e.relatedTarget;n&&!e.currentTarget.contains(n)&&x((e=>e===r?"":e))})),className:o.clsx(C&&`${C}-item`,l),...m,children:t})})}));f.displayName="NavigationMenuItem";const p=n.forwardRef((({children:t,className:l,onClick:a,onKeyDown:f,...p},m)=>{const{handleTrigger:g,itemOpen:v,triggerRef:x,contentId:C,openAndFocusFirstLink:R}=n.useContext(d),{rootClass:h}=n.useContext(u);return e.jsx(r.RovingFocusGroupUtility.Item,{children:e.jsx("button",{ref:i.mergeRefs(x,m),onClick:s.composeEventHandlers(a,g),onKeyDown:s.composeEventHandlers(f,(e=>{e.key===c.KEYBOARD_KEYS.ARROW_DOWN&&R&&(e.preventDefault(),R())})),className:o.clsx(h&&`${h}-trigger`,l),"aria-expanded":v,"aria-controls":v?C:void 0,"data-state":v?"open":"closed",...p,children:t})})}));p.displayName="NavigationMenuTrigger";const m=n.forwardRef((({children:t,className:s,loop:c,...i},l)=>{const{itemOpen:a,contentId:f,flushPendingFocus:p}=n.useContext(d),{rootClass:m,contentLoop:g,dir:v}=n.useContext(u),x=n.useRef(null),C=c??g;return n.useImperativeHandle(l,(()=>x.current)),n.useEffect((()=>{a&&p?.()}),[a]),a?e.jsx("div",{ref:x,id:f,className:o.clsx(m&&`${m}-content`,s),"data-state":a?"open":"closed",...i,children:e.jsx(r.RovingFocusGroupUtility.Root,{loop:C,orientation:"both",dir:v,children:e.jsx(r.RovingFocusGroupUtility.Group,{asChild:!1,children:t})})}):null}));m.displayName="NavigationMenuContent";const g=n.forwardRef((({children:t,href:c,className:l,onClick:a,...f},p)=>{const{rootClass:m,setIsOpen:g}=n.useContext(u),{registerLink:v}=n.useContext(d),x=n.useRef(null);n.useEffect((()=>{const e=x.current;if(e&&v)return v(e)}),[v]);return e.jsx(r.RovingFocusGroupUtility.Item,{children:e.jsx("a",{ref:i.mergeRefs(x,p),href:c,className:o.clsx(m&&`${m}-link`,l),...f,onClick:s.composeEventHandlers(a,(()=>g("")),{checkForDefaultPrevented:!1}),children:t})})}));g.displayName="NavigationMenuLink";const v={Root:a,Item:f,Trigger:p,Content:m,Link:g};exports.Content=m,exports.Item=f,exports.Link=g,exports.Root=a,exports.Trigger=p,exports.default=v;
@@ -9,6 +9,8 @@ interface NavigationMenuRootProps extends React__default.ComponentPropsWithoutRe
9
9
  customRootClass?: string;
10
10
  loop?: boolean;
11
11
  contentLoop?: boolean;
12
+ /** Reading direction. In `rtl`, ArrowLeft moves to the next item. Content inherits it. */
13
+ dir?: 'ltr' | 'rtl';
12
14
  }
13
15
  declare const NavigationMenuRoot: React__default.ForwardRefExoticComponent<NavigationMenuRootProps & React__default.RefAttributes<HTMLElement>>;
14
16