@forte-ui/react 1.0.0-alpha.1

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 (304) hide show
  1. package/README.md +240 -0
  2. package/dist/Accordion-9JunkjgY.js +111 -0
  3. package/dist/Alert-Cn_WUF3L.js +183 -0
  4. package/dist/AspectRatio-gSjpTVk-.js +39 -0
  5. package/dist/Avatar-BuitDluH.js +87 -0
  6. package/dist/Badge-sArNWMre.js +33 -0
  7. package/dist/Breadcrumb-Cq7tFtMX.js +170 -0
  8. package/dist/Button-AiyKnx5I.js +42 -0
  9. package/dist/ButtonGroup-C-CrwPXP.js +54 -0
  10. package/dist/Calendar-D7Q-QJ_e.js +503 -0
  11. package/dist/Checkbox-DfNbmOed.js +56 -0
  12. package/dist/Collapsible-D8UKiGip.js +86 -0
  13. package/dist/ColorPicker-B-eCI31W.js +612 -0
  14. package/dist/Combobox-D-BN-Tvp.js +302 -0
  15. package/dist/ContextMenu-D81uDaMG.js +44 -0
  16. package/dist/DatePicker-CfkMsaI-.js +192 -0
  17. package/dist/Dialog-_n8FpFs5.js +432 -0
  18. package/dist/Drawer-DKQF3OO7.js +158 -0
  19. package/dist/Field-FLFEO70D.js +58 -0
  20. package/dist/Fieldset-CYhh71Qt.js +28 -0
  21. package/dist/Form-DVPmW9XV.js +17 -0
  22. package/dist/Input-BgGWhO2q.js +18 -0
  23. package/dist/InputGroup-DsZyDXNn.js +89 -0
  24. package/dist/Menu-CKu9xE2h.js +261 -0
  25. package/dist/Menubar-Dax027Db.js +19 -0
  26. package/dist/NavList-DGvcIoJm.js +176 -0
  27. package/dist/NavigationMenu-BayQkUUb.js +209 -0
  28. package/dist/NumberField-P55SA8T7.js +191 -0
  29. package/dist/OTPField-CjHvBNSN.js +55 -0
  30. package/dist/Popover-BXhn2Wwt.js +142 -0
  31. package/dist/PreviewCard-Dnitrky0.js +99 -0
  32. package/dist/Progress-BlomDp-X.js +81 -0
  33. package/dist/ProgressCircle-j6XBl0fk.js +112 -0
  34. package/dist/Radio-BIcX4INJ.js +37 -0
  35. package/dist/Resizable-7nJJM97e.js +609 -0
  36. package/dist/ScrollArea-CBMGJ6hh.js +83 -0
  37. package/dist/Select-BP-zvdXm.js +237 -0
  38. package/dist/Separator-DewJBzaJ.js +21 -0
  39. package/dist/Skeleton-zr6ObCCq.js +79 -0
  40. package/dist/Slider-Bh8_cti1.js +104 -0
  41. package/dist/Spinner-BF0uD4hR.js +53 -0
  42. package/dist/Switch-OBewMMvM.js +39 -0
  43. package/dist/Tabs-LgkSbPSF.js +132 -0
  44. package/dist/Textarea-CqZJL41e.js +51 -0
  45. package/dist/Toast-BWayxAcd.js +304 -0
  46. package/dist/Toggle-BrhMnkF5.js +45 -0
  47. package/dist/Toolbar-OmOVCk3i.js +88 -0
  48. package/dist/Tooltip-CI4chsRw.js +101 -0
  49. package/dist/clsx-By2n9mTe.js +16 -0
  50. package/dist/cn.d.ts +8 -0
  51. package/dist/cn.js +11 -0
  52. package/dist/components/accordion/Accordion.d.ts +117 -0
  53. package/dist/components/accordion/Accordion.js +3 -0
  54. package/dist/components/accordion/index.d.ts +2 -0
  55. package/dist/components/accordion/index.js +2 -0
  56. package/dist/components/alert/Alert.d.ts +167 -0
  57. package/dist/components/alert/Alert.js +3 -0
  58. package/dist/components/alert/index.d.ts +2 -0
  59. package/dist/components/alert/index.js +2 -0
  60. package/dist/components/aspect-ratio/AspectRatio.d.ts +128 -0
  61. package/dist/components/aspect-ratio/AspectRatio.js +3 -0
  62. package/dist/components/aspect-ratio/index.d.ts +2 -0
  63. package/dist/components/aspect-ratio/index.js +2 -0
  64. package/dist/components/avatar/Avatar.d.ts +176 -0
  65. package/dist/components/avatar/Avatar.js +3 -0
  66. package/dist/components/avatar/index.d.ts +2 -0
  67. package/dist/components/avatar/index.js +2 -0
  68. package/dist/components/badge/Badge.d.ts +117 -0
  69. package/dist/components/badge/Badge.js +3 -0
  70. package/dist/components/badge/index.d.ts +2 -0
  71. package/dist/components/badge/index.js +2 -0
  72. package/dist/components/breadcrumb/Breadcrumb.d.ts +244 -0
  73. package/dist/components/breadcrumb/Breadcrumb.js +3 -0
  74. package/dist/components/breadcrumb/index.d.ts +2 -0
  75. package/dist/components/breadcrumb/index.js +2 -0
  76. package/dist/components/button/Button.d.ts +73 -0
  77. package/dist/components/button/Button.js +3 -0
  78. package/dist/components/button/index.d.ts +2 -0
  79. package/dist/components/button/index.js +2 -0
  80. package/dist/components/button-group/ButtonGroup.d.ts +113 -0
  81. package/dist/components/button-group/ButtonGroup.js +3 -0
  82. package/dist/components/button-group/index.d.ts +2 -0
  83. package/dist/components/button-group/index.js +2 -0
  84. package/dist/components/calendar/Calendar.d.ts +201 -0
  85. package/dist/components/calendar/Calendar.js +3 -0
  86. package/dist/components/calendar/index.d.ts +2 -0
  87. package/dist/components/calendar/index.js +2 -0
  88. package/dist/components/checkbox/Checkbox.d.ts +130 -0
  89. package/dist/components/checkbox/Checkbox.js +3 -0
  90. package/dist/components/checkbox/index.d.ts +2 -0
  91. package/dist/components/checkbox/index.js +2 -0
  92. package/dist/components/collapsible/Collapsible.d.ts +91 -0
  93. package/dist/components/collapsible/Collapsible.js +3 -0
  94. package/dist/components/collapsible/index.d.ts +2 -0
  95. package/dist/components/collapsible/index.js +2 -0
  96. package/dist/components/color-picker/ColorPicker.d.ts +553 -0
  97. package/dist/components/color-picker/ColorPicker.js +4 -0
  98. package/dist/components/color-picker/color.d.ts +102 -0
  99. package/dist/components/color-picker/color.js +249 -0
  100. package/dist/components/color-picker/index.d.ts +2 -0
  101. package/dist/components/color-picker/index.js +3 -0
  102. package/dist/components/combobox/Combobox.d.ts +553 -0
  103. package/dist/components/combobox/Combobox.js +3 -0
  104. package/dist/components/combobox/index.d.ts +2 -0
  105. package/dist/components/combobox/index.js +2 -0
  106. package/dist/components/context-menu/ContextMenu.d.ts +103 -0
  107. package/dist/components/context-menu/ContextMenu.js +3 -0
  108. package/dist/components/context-menu/index.d.ts +3 -0
  109. package/dist/components/context-menu/index.js +2 -0
  110. package/dist/components/date-picker/DatePicker.d.ts +268 -0
  111. package/dist/components/date-picker/DatePicker.js +3 -0
  112. package/dist/components/date-picker/index.d.ts +2 -0
  113. package/dist/components/date-picker/index.js +2 -0
  114. package/dist/components/dialog/Dialog.d.ts +567 -0
  115. package/dist/components/dialog/Dialog.js +3 -0
  116. package/dist/components/dialog/index.d.ts +2 -0
  117. package/dist/components/dialog/index.js +2 -0
  118. package/dist/components/drawer/Drawer.d.ts +351 -0
  119. package/dist/components/drawer/Drawer.js +3 -0
  120. package/dist/components/drawer/index.d.ts +2 -0
  121. package/dist/components/drawer/index.js +2 -0
  122. package/dist/components/field/Field.d.ts +170 -0
  123. package/dist/components/field/Field.js +3 -0
  124. package/dist/components/field/index.d.ts +2 -0
  125. package/dist/components/field/index.js +2 -0
  126. package/dist/components/fieldset/Fieldset.d.ts +60 -0
  127. package/dist/components/fieldset/Fieldset.js +3 -0
  128. package/dist/components/fieldset/index.d.ts +2 -0
  129. package/dist/components/fieldset/index.js +2 -0
  130. package/dist/components/form/Form.d.ts +76 -0
  131. package/dist/components/form/Form.js +3 -0
  132. package/dist/components/form/index.d.ts +2 -0
  133. package/dist/components/form/index.js +2 -0
  134. package/dist/components/input/Input.d.ts +67 -0
  135. package/dist/components/input/Input.js +3 -0
  136. package/dist/components/input/index.d.ts +2 -0
  137. package/dist/components/input/index.js +2 -0
  138. package/dist/components/input-group/InputGroup.d.ts +214 -0
  139. package/dist/components/input-group/InputGroup.js +3 -0
  140. package/dist/components/input-group/index.d.ts +2 -0
  141. package/dist/components/input-group/index.js +2 -0
  142. package/dist/components/menu/Menu.d.ts +587 -0
  143. package/dist/components/menu/Menu.js +3 -0
  144. package/dist/components/menu/index.d.ts +2 -0
  145. package/dist/components/menu/index.js +2 -0
  146. package/dist/components/menubar/Menubar.d.ts +104 -0
  147. package/dist/components/menubar/Menubar.js +3 -0
  148. package/dist/components/menubar/index.d.ts +2 -0
  149. package/dist/components/menubar/index.js +2 -0
  150. package/dist/components/nav-list/NavList.d.ts +290 -0
  151. package/dist/components/nav-list/NavList.js +3 -0
  152. package/dist/components/nav-list/index.d.ts +2 -0
  153. package/dist/components/nav-list/index.js +2 -0
  154. package/dist/components/navigation-menu/NavigationMenu.d.ts +483 -0
  155. package/dist/components/navigation-menu/NavigationMenu.js +3 -0
  156. package/dist/components/navigation-menu/index.d.ts +2 -0
  157. package/dist/components/navigation-menu/index.js +2 -0
  158. package/dist/components/number-field/NumberField.d.ts +303 -0
  159. package/dist/components/number-field/NumberField.js +3 -0
  160. package/dist/components/number-field/index.d.ts +2 -0
  161. package/dist/components/number-field/index.js +2 -0
  162. package/dist/components/otp-field/OTPField.d.ts +206 -0
  163. package/dist/components/otp-field/OTPField.js +3 -0
  164. package/dist/components/otp-field/index.d.ts +2 -0
  165. package/dist/components/otp-field/index.js +2 -0
  166. package/dist/components/popover/Popover.d.ts +394 -0
  167. package/dist/components/popover/Popover.js +3 -0
  168. package/dist/components/popover/index.d.ts +2 -0
  169. package/dist/components/popover/index.js +2 -0
  170. package/dist/components/preview-card/PreviewCard.d.ts +307 -0
  171. package/dist/components/preview-card/PreviewCard.js +3 -0
  172. package/dist/components/preview-card/index.d.ts +2 -0
  173. package/dist/components/preview-card/index.js +2 -0
  174. package/dist/components/progress/Progress.d.ts +156 -0
  175. package/dist/components/progress/Progress.js +3 -0
  176. package/dist/components/progress/ProgressCircle.d.ts +166 -0
  177. package/dist/components/progress/ProgressCircle.js +3 -0
  178. package/dist/components/progress/index.d.ts +4 -0
  179. package/dist/components/progress/index.js +3 -0
  180. package/dist/components/radio/Radio.d.ts +144 -0
  181. package/dist/components/radio/Radio.js +3 -0
  182. package/dist/components/radio/index.d.ts +2 -0
  183. package/dist/components/radio/index.js +2 -0
  184. package/dist/components/resizable/Resizable.d.ts +211 -0
  185. package/dist/components/resizable/Resizable.js +3 -0
  186. package/dist/components/resizable/index.d.ts +2 -0
  187. package/dist/components/resizable/index.js +2 -0
  188. package/dist/components/scroll-area/ScrollArea.d.ts +113 -0
  189. package/dist/components/scroll-area/ScrollArea.js +3 -0
  190. package/dist/components/scroll-area/index.d.ts +2 -0
  191. package/dist/components/scroll-area/index.js +2 -0
  192. package/dist/components/select/Select.d.ts +345 -0
  193. package/dist/components/select/Select.js +3 -0
  194. package/dist/components/select/index.d.ts +2 -0
  195. package/dist/components/select/index.js +2 -0
  196. package/dist/components/separator/Separator.d.ts +75 -0
  197. package/dist/components/separator/Separator.js +3 -0
  198. package/dist/components/separator/index.d.ts +2 -0
  199. package/dist/components/separator/index.js +2 -0
  200. package/dist/components/skeleton/Skeleton.d.ts +169 -0
  201. package/dist/components/skeleton/Skeleton.js +3 -0
  202. package/dist/components/skeleton/index.d.ts +2 -0
  203. package/dist/components/skeleton/index.js +2 -0
  204. package/dist/components/slider/Slider.d.ts +208 -0
  205. package/dist/components/slider/Slider.js +3 -0
  206. package/dist/components/slider/index.d.ts +2 -0
  207. package/dist/components/slider/index.js +2 -0
  208. package/dist/components/spinner/Spinner.d.ts +92 -0
  209. package/dist/components/spinner/Spinner.js +3 -0
  210. package/dist/components/spinner/index.d.ts +2 -0
  211. package/dist/components/spinner/index.js +2 -0
  212. package/dist/components/switch/Switch.d.ts +80 -0
  213. package/dist/components/switch/Switch.js +3 -0
  214. package/dist/components/switch/index.d.ts +2 -0
  215. package/dist/components/switch/index.js +2 -0
  216. package/dist/components/tabs/Tabs.d.ts +125 -0
  217. package/dist/components/tabs/Tabs.js +3 -0
  218. package/dist/components/tabs/index.d.ts +2 -0
  219. package/dist/components/tabs/index.js +2 -0
  220. package/dist/components/textarea/Textarea.d.ts +119 -0
  221. package/dist/components/textarea/Textarea.js +3 -0
  222. package/dist/components/textarea/index.d.ts +2 -0
  223. package/dist/components/textarea/index.js +2 -0
  224. package/dist/components/toast/Toast.d.ts +517 -0
  225. package/dist/components/toast/Toast.js +3 -0
  226. package/dist/components/toast/index.d.ts +2 -0
  227. package/dist/components/toast/index.js +2 -0
  228. package/dist/components/toggle/Toggle.d.ts +171 -0
  229. package/dist/components/toggle/Toggle.js +3 -0
  230. package/dist/components/toggle/index.d.ts +2 -0
  231. package/dist/components/toggle/index.js +2 -0
  232. package/dist/components/toolbar/Toolbar.d.ts +318 -0
  233. package/dist/components/toolbar/Toolbar.js +3 -0
  234. package/dist/components/toolbar/index.d.ts +2 -0
  235. package/dist/components/toolbar/index.js +2 -0
  236. package/dist/components/tooltip/Tooltip.d.ts +361 -0
  237. package/dist/components/tooltip/Tooltip.js +3 -0
  238. package/dist/components/tooltip/index.d.ts +2 -0
  239. package/dist/components/tooltip/index.js +2 -0
  240. package/dist/index.d.ts +92 -0
  241. package/dist/index.js +86 -0
  242. package/dist/styles/Accordion.css +1 -0
  243. package/dist/styles/Alert.css +1 -0
  244. package/dist/styles/AspectRatio.css +1 -0
  245. package/dist/styles/Avatar.css +1 -0
  246. package/dist/styles/Badge.css +1 -0
  247. package/dist/styles/Breadcrumb.css +1 -0
  248. package/dist/styles/Button.css +1 -0
  249. package/dist/styles/ButtonGroup.css +1 -0
  250. package/dist/styles/Calendar.css +1 -0
  251. package/dist/styles/Checkbox.css +1 -0
  252. package/dist/styles/Collapsible.css +1 -0
  253. package/dist/styles/ColorPicker.css +1 -0
  254. package/dist/styles/Combobox.css +1 -0
  255. package/dist/styles/ContextMenu.css +1 -0
  256. package/dist/styles/DatePicker.css +1 -0
  257. package/dist/styles/Dialog.css +1 -0
  258. package/dist/styles/Drawer.css +1 -0
  259. package/dist/styles/Field.css +1 -0
  260. package/dist/styles/Fieldset.css +1 -0
  261. package/dist/styles/Form.css +1 -0
  262. package/dist/styles/Input.css +1 -0
  263. package/dist/styles/InputGroup.css +1 -0
  264. package/dist/styles/Menu.css +1 -0
  265. package/dist/styles/Menubar.css +1 -0
  266. package/dist/styles/NavList.css +1 -0
  267. package/dist/styles/NavigationMenu.css +1 -0
  268. package/dist/styles/NumberField.css +1 -0
  269. package/dist/styles/OTPField.css +1 -0
  270. package/dist/styles/Popover.css +1 -0
  271. package/dist/styles/PreviewCard.css +1 -0
  272. package/dist/styles/Progress.css +1 -0
  273. package/dist/styles/ProgressCircle.css +1 -0
  274. package/dist/styles/Radio.css +1 -0
  275. package/dist/styles/Resizable.css +1 -0
  276. package/dist/styles/ScrollArea.css +1 -0
  277. package/dist/styles/Select.css +1 -0
  278. package/dist/styles/Separator.css +1 -0
  279. package/dist/styles/Skeleton.css +1 -0
  280. package/dist/styles/Slider.css +1 -0
  281. package/dist/styles/Spinner.css +1 -0
  282. package/dist/styles/Switch.css +1 -0
  283. package/dist/styles/Tabs.css +1 -0
  284. package/dist/styles/Textarea.css +1 -0
  285. package/dist/styles/Toast.css +1 -0
  286. package/dist/styles/Toggle.css +1 -0
  287. package/dist/styles/Toolbar.css +1 -0
  288. package/dist/styles/Tooltip.css +1 -0
  289. package/dist/styles/a11y.css +119 -0
  290. package/dist/styles/layers.css +39 -0
  291. package/dist/styles/motion.css +194 -0
  292. package/dist/styles/patterns.css +236 -0
  293. package/dist/styles/properties.css +62 -0
  294. package/dist/styles/reset.css +11 -0
  295. package/dist/styles/tailwind.css +281 -0
  296. package/dist/styles/theme.css +57 -0
  297. package/dist/styles/tokens.color.css +223 -0
  298. package/dist/styles/tokens.css +460 -0
  299. package/dist/tailwind-merge.d.ts +52 -0
  300. package/dist/tailwind-merge.js +52 -0
  301. package/docs-data/props.json +8047 -0
  302. package/docs-data/theming.json +9600 -0
  303. package/docs-data/tokens.json +4070 -0
  304. package/package.json +78 -0
@@ -0,0 +1,483 @@
1
+ import { NavigationMenu as BaseNavigationMenu } from '@base-ui/react/navigation-menu';
2
+ import * as React from "react";
3
+ /**
4
+ * How loud a row is — the library's usual `variant` axis, applied to the two
5
+ * parts that can appear in either place.
6
+ *
7
+ * `plain` is the bar row: a control-height strip of text with an optional
8
+ * chevron, which is what a `Trigger` is in the top-level list and what a
9
+ * `Link` becomes when it sits beside those triggers and navigates straight
10
+ * out.
11
+ *
12
+ * `card` is the block used inside a panel: a padded target holding a
13
+ * `LinkTitle` and a `LinkDescription`, which is what a `Link` is by default
14
+ * and what a `Trigger` becomes when it opens a nested menu from inside one.
15
+ */
16
+ export type NavigationMenuVariant = "plain" | "card";
17
+ /** How many columns a `Content` panel lays its children out in. */
18
+ export type NavigationMenuColumns = 1 | 2 | 3;
19
+ export interface NavigationMenuRootProps<Value = any> extends Omit<BaseNavigationMenu.Root.Props<Value>, "className"> {
20
+ /**
21
+ * The `List` of items, and the `Popup` their panels are shown in.
22
+ */
23
+ children?: React.ReactNode;
24
+ /**
25
+ * Which way the list runs. `vertical` is what a nested menu inside a panel
26
+ * wants — it also swaps the arrow keys that move between triggers, and makes
27
+ * the panel enter from above or below rather than from the side.
28
+ * @default "horizontal"
29
+ */
30
+ orientation?: BaseNavigationMenu.Root.Props<Value>["orientation"];
31
+ /**
32
+ * The item whose panel is open, by `value`. Pass it to control the menu; use
33
+ * `defaultValue` for the uncontrolled form. `null` closes it.
34
+ */
35
+ value?: BaseNavigationMenu.Root.Props<Value>["value"];
36
+ /**
37
+ * The item whose panel is open on first render, by `value`.
38
+ * @default null
39
+ */
40
+ defaultValue?: BaseNavigationMenu.Root.Props<Value>["defaultValue"];
41
+ /**
42
+ * Called when the open item changes, with the new value and the reason —
43
+ * `trigger-hover`, `trigger-press`, `link-press`, `escape-key` and the rest.
44
+ */
45
+ onValueChange?: BaseNavigationMenu.Root.Props<Value>["onValueChange"];
46
+ /**
47
+ * How long the pointer must rest on a trigger before its panel opens, in
48
+ * milliseconds. Only the FIRST open waits: once a panel is up, moving along
49
+ * the bar swaps it immediately.
50
+ * @default 50
51
+ */
52
+ delay?: BaseNavigationMenu.Root.Props<Value>["delay"];
53
+ /**
54
+ * How long the panel lingers after the pointer leaves, in milliseconds. It
55
+ * is what lets the pointer cross the gap between the bar and the panel; the
56
+ * stylesheet also bridges that gap, so this stays short.
57
+ * @default 50
58
+ */
59
+ closeDelay?: BaseNavigationMenu.Root.Props<Value>["closeDelay"];
60
+ /**
61
+ * A ref to imperative actions. `actionsRef.current.unmount()` removes the
62
+ * popup immediately instead of waiting for its exit transition.
63
+ */
64
+ actionsRef?: BaseNavigationMenu.Root.Props<Value>["actionsRef"];
65
+ /**
66
+ * Called after the closing transition has finished.
67
+ */
68
+ onOpenChangeComplete?: BaseNavigationMenu.Root.Props<Value>["onOpenChangeComplete"];
69
+ /**
70
+ * Additional class name(s). Applied after the internal styles so consumer
71
+ * utilities (e.g. Tailwind) win without needing `!important`.
72
+ */
73
+ className?: string;
74
+ }
75
+ /**
76
+ * Groups every part of the navigation menu and owns which panel is open.
77
+ * Renders a `<nav>` — or a `<div>` when it is nested inside another menu's
78
+ * `Content`, since one `<nav>` inside another announces two navigation
79
+ * landmarks for one region.
80
+ *
81
+ * Give it an `aria-label` when a page has more than one: "Main" and "Footer"
82
+ * are what a screen-reader user picks between in a landmark list, and two
83
+ * unnamed navigations there are indistinguishable.
84
+ */
85
+ export declare function NavigationMenuRoot<Value = any>({ children, orientation, className, ...props }: NavigationMenuRootProps<Value>): React.JSX.Element;
86
+ export interface NavigationMenuListProps extends Omit<BaseNavigationMenu.List.Props, "className"> {
87
+ /**
88
+ * The `NavigationMenu.Item`s that make up the bar.
89
+ */
90
+ children?: React.ReactNode;
91
+ /**
92
+ * Additional class name(s). Applied after the internal styles so consumer
93
+ * utilities (e.g. Tailwind) win without needing `!important`.
94
+ */
95
+ className?: string;
96
+ }
97
+ /**
98
+ * The bar itself. Renders a `<ul>`.
99
+ *
100
+ * It stamps its own `data-orientation` from the `Root` above it rather than
101
+ * inheriting the look through a descendant selector — see the note on
102
+ * `OrientationContext` for why that matters the moment a vertical menu is
103
+ * nested in a horizontal one.
104
+ */
105
+ export declare const NavigationMenuList: React.ForwardRefExoticComponent<Omit<NavigationMenuListProps, "ref"> & React.RefAttributes<HTMLUListElement>>;
106
+ export interface NavigationMenuItemProps extends Omit<BaseNavigationMenu.Item.Props, "className"> {
107
+ /**
108
+ * A `Trigger` and its `Content`, or a single `Link` for an item that
109
+ * navigates straight out without opening a panel.
110
+ */
111
+ children?: React.ReactNode;
112
+ /**
113
+ * Identifies this item, and is what `Root`'s `value` / `defaultValue` name.
114
+ * Generated automatically when omitted, so it is only needed to drive the
115
+ * menu programmatically.
116
+ */
117
+ value?: BaseNavigationMenu.Item.Props["value"];
118
+ /**
119
+ * Additional class name(s). Applied after the internal styles so consumer
120
+ * utilities (e.g. Tailwind) win without needing `!important`.
121
+ */
122
+ className?: string;
123
+ }
124
+ /**
125
+ * One entry in the bar. Renders an `<li>`.
126
+ */
127
+ export declare const NavigationMenuItem: React.ForwardRefExoticComponent<Omit<NavigationMenuItemProps, "ref"> & React.RefAttributes<HTMLLIElement>>;
128
+ export interface NavigationMenuIconProps extends Omit<BaseNavigationMenu.Icon.Props, "className"> {
129
+ /**
130
+ * The glyph. `Trigger` supplies a chevron when you do not.
131
+ */
132
+ children?: React.ReactNode;
133
+ /**
134
+ * Additional class name(s). Applied after the internal styles so consumer
135
+ * utilities (e.g. Tailwind) win without needing `!important`.
136
+ */
137
+ className?: string;
138
+ }
139
+ /**
140
+ * The affordance saying a trigger opens a panel. Renders a `<span>` carrying
141
+ * `data-popup-open`, which is what the stylesheet rotates.
142
+ *
143
+ * `Trigger` renders one for you; reach for this part directly only when the
144
+ * glyph has to sit somewhere the trigger would not put it.
145
+ */
146
+ export declare const NavigationMenuIcon: React.ForwardRefExoticComponent<Omit<NavigationMenuIconProps, "ref"> & React.RefAttributes<HTMLSpanElement>>;
147
+ export interface NavigationMenuTriggerProps extends Omit<BaseNavigationMenu.Trigger.Props, "className"> {
148
+ /**
149
+ * The label, plus anything else the row shows.
150
+ */
151
+ children?: React.ReactNode;
152
+ /**
153
+ * How loud the row is. `plain` is the bar row; `card` is the block shape a
154
+ * nested menu's trigger takes inside a panel, where it has to sit level with
155
+ * the `Link`s around it.
156
+ * @default "plain"
157
+ */
158
+ variant?: NavigationMenuVariant;
159
+ /**
160
+ * The glyph inside the built-in `Icon`. Defaults to a chevron — pointing
161
+ * down on a `plain` trigger, and along the inline axis on a `card` one,
162
+ * which is the direction each variant's panel actually arrives from. Pass
163
+ * `false` to drop it, or a node to replace it.
164
+ */
165
+ icon?: React.ReactNode;
166
+ /**
167
+ * Whether the rendered element is a real `<button>`. Set it to `false` when
168
+ * `render` replaces the button with something else, so Base UI supplies the
169
+ * keyboard and role behaviour the element does not have natively.
170
+ * @default true
171
+ */
172
+ nativeButton?: BaseNavigationMenu.Trigger.Props["nativeButton"];
173
+ /**
174
+ * Replaces the rendered `<button>` with another element or component.
175
+ */
176
+ render?: BaseNavigationMenu.Trigger.Props["render"];
177
+ /**
178
+ * Additional class name(s). Applied after the internal styles so consumer
179
+ * utilities (e.g. Tailwind) win without needing `!important`.
180
+ */
181
+ className?: string;
182
+ }
183
+ /**
184
+ * Opens an item's panel. Renders a `<button>`.
185
+ *
186
+ * It opens on hover as well as on press, which is the behaviour that separates
187
+ * a navigation menu from a `Menu` — the bar is a place to browse, so the panel
188
+ * follows the pointer along it once one is open. Base UI wires
189
+ * `aria-expanded`, `aria-controls` and the roving focus, so an unnamed trigger
190
+ * needs no extra ARIA beyond its own label.
191
+ */
192
+ export declare const NavigationMenuTrigger: React.ForwardRefExoticComponent<Omit<NavigationMenuTriggerProps, "ref"> & React.RefAttributes<HTMLButtonElement>>;
193
+ export interface NavigationMenuContentProps extends Omit<BaseNavigationMenu.Content.Props, "className"> {
194
+ /**
195
+ * The panel's `Link`s — or a nested `NavigationMenu.Root`, or any markup of
196
+ * your own.
197
+ */
198
+ children?: React.ReactNode;
199
+ /**
200
+ * How many columns the children are laid out in. The grid collapses to
201
+ * fewer on its own when the panel is narrower than
202
+ * `--forte-navigation-menu-column-width`, so a three-column panel becomes one
203
+ * column on a phone without a media query.
204
+ * @default 1
205
+ */
206
+ columns?: NavigationMenuColumns;
207
+ /**
208
+ * Keep the panel in the DOM while it is closed. Off by default; turn it on
209
+ * so the links are in the server-rendered HTML for crawlers.
210
+ * @default false
211
+ */
212
+ keepMounted?: BaseNavigationMenu.Content.Props["keepMounted"];
213
+ /**
214
+ * Additional class name(s). Applied after the internal styles so consumer
215
+ * utilities (e.g. Tailwind) win without needing `!important`.
216
+ */
217
+ className?: string;
218
+ }
219
+ /**
220
+ * One item's panel. Renders a `<div>`, which Base UI moves into the shared
221
+ * popup's viewport while the item is open.
222
+ *
223
+ * It is a grid rather than a bare box because that is what every panel turns
224
+ * out to be, and `columns` is the only part of it that changes. Pass a
225
+ * `className` of your own for anything else — the layout rules here are all
226
+ * inside `@layer forte.components` and lose to unlayered author CSS.
227
+ */
228
+ export declare const NavigationMenuContent: React.ForwardRefExoticComponent<Omit<NavigationMenuContentProps, "ref"> & React.RefAttributes<HTMLDivElement>>;
229
+ export interface NavigationMenuLinkProps extends Omit<BaseNavigationMenu.Link.Props, "className"> {
230
+ /**
231
+ * The label — usually a `LinkTitle` and a `LinkDescription`.
232
+ */
233
+ children?: React.ReactNode;
234
+ /**
235
+ * Where the link goes.
236
+ */
237
+ href?: string;
238
+ /**
239
+ * How loud the row is. `card` is the block inside a panel; `plain` is the
240
+ * bar row, for a top-level item that navigates straight out instead of
241
+ * opening a panel — it matches a `plain` `Trigger` so the two sit level in
242
+ * the same list.
243
+ * @default "card"
244
+ */
245
+ variant?: NavigationMenuVariant;
246
+ /**
247
+ * Whether this link is the page the user is on. Publishes `data-active` and
248
+ * `aria-current="page"`, so the cue is not colour alone.
249
+ * @default false
250
+ */
251
+ active?: BaseNavigationMenu.Link.Props["active"];
252
+ /**
253
+ * Whether following the link closes the menu. Base UI leaves this off,
254
+ * because a link that opens a new tab leaves the menu's own page standing —
255
+ * turn it on for a same-tab navigation, and for a client-side route change
256
+ * that would otherwise leave the panel open over the new page.
257
+ * @default false
258
+ */
259
+ closeOnClick?: BaseNavigationMenu.Link.Props["closeOnClick"];
260
+ /**
261
+ * Replaces the rendered `<a>` with another element or component —
262
+ * `render={<Link href="/pricing" />}` is how a framework's router link goes
263
+ * in without losing the menu's keyboard behaviour.
264
+ */
265
+ render?: BaseNavigationMenu.Link.Props["render"];
266
+ /**
267
+ * Additional class name(s). Applied after the internal styles so consumer
268
+ * utilities (e.g. Tailwind) win without needing `!important`.
269
+ */
270
+ className?: string;
271
+ }
272
+ /**
273
+ * A link in the menu. Renders an `<a>`.
274
+ *
275
+ * `data-focus-inset` is not optional here: the popup's viewport clips, so a
276
+ * ring drawn outside the link's own box would be shaved off along the panel's
277
+ * edge (SC 2.4.11).
278
+ */
279
+ export declare const NavigationMenuLink: React.ForwardRefExoticComponent<Omit<NavigationMenuLinkProps, "ref"> & React.RefAttributes<HTMLAnchorElement>>;
280
+ export interface NavigationMenuLinkTitleProps extends React.ComponentPropsWithoutRef<"span"> {
281
+ /**
282
+ * The link's headline.
283
+ */
284
+ children?: React.ReactNode;
285
+ /**
286
+ * Additional class name(s). Applied after the internal styles so consumer
287
+ * utilities (e.g. Tailwind) win without needing `!important`.
288
+ */
289
+ className?: string;
290
+ }
291
+ /**
292
+ * The first line of a `card` link. Renders a `<span>` — deliberately not a
293
+ * heading, since the panel is a list of destinations rather than a section of
294
+ * the page, and the link's own text is already its accessible name.
295
+ */
296
+ export declare const NavigationMenuLinkTitle: React.ForwardRefExoticComponent<NavigationMenuLinkTitleProps & React.RefAttributes<HTMLSpanElement>>;
297
+ export interface NavigationMenuLinkDescriptionProps extends React.ComponentPropsWithoutRef<"span"> {
298
+ /**
299
+ * The supporting line.
300
+ */
301
+ children?: React.ReactNode;
302
+ /**
303
+ * Additional class name(s). Applied after the internal styles so consumer
304
+ * utilities (e.g. Tailwind) win without needing `!important`.
305
+ */
306
+ className?: string;
307
+ }
308
+ /**
309
+ * The supporting line under a `LinkTitle`. Renders a `<span>`, not a `<p>`:
310
+ * it lives inside an `<a>`, and a paragraph is not permitted there.
311
+ *
312
+ * It is part of the link's accessible name, which is usually what you want —
313
+ * "Quick start, install and assemble your first component" reads better in a
314
+ * links list than "Quick start" alone. Add `aria-hidden` to it when the text
315
+ * is decorative enough that repeating it costs more than it explains.
316
+ */
317
+ export declare const NavigationMenuLinkDescription: React.ForwardRefExoticComponent<NavigationMenuLinkDescriptionProps & React.RefAttributes<HTMLSpanElement>>;
318
+ type PositionerProps = BaseNavigationMenu.Positioner.Props;
319
+ type BasePopupProps = BaseNavigationMenu.Popup.Props;
320
+ type BasePortalProps = BaseNavigationMenu.Portal.Props;
321
+ export interface NavigationMenuPopupProps extends Omit<BasePopupProps, "className" | "children"> {
322
+ /**
323
+ * Which side of the bar the panel opens on. Flips automatically to avoid
324
+ * collisions unless `collisionAvoidance` says otherwise.
325
+ *
326
+ * `"inline-start"` / `"inline-end"` follow writing direction, but Base UI
327
+ * takes that direction from its own `DirectionProvider` context and not from
328
+ * the `dir` attribute — with no provider mounted it is `"ltr"`, so the two
329
+ * resolve to left and right whatever `dir` says. The library's own CSS reads
330
+ * the attribute, so everything else here flips without it.
331
+ * @default "bottom"
332
+ */
333
+ side?: PositionerProps["side"];
334
+ /**
335
+ * How the panel aligns along that side. Centred on the active trigger,
336
+ * which is the alignment the sliding panel reads best under: it appears to
337
+ * hang from whichever trigger is open rather than from one end of the bar.
338
+ * @default "center"
339
+ */
340
+ align?: PositionerProps["align"];
341
+ /**
342
+ * Gap in pixels between the bar and the panel. The stylesheet bridges this
343
+ * gap so the pointer can cross it without the panel closing — change
344
+ * `--forte-navigation-menu-bridge` to match if you change this.
345
+ * @default 8
346
+ */
347
+ sideOffset?: PositionerProps["sideOffset"];
348
+ /**
349
+ * Extra offset in pixels along the alignment axis.
350
+ * @default 0
351
+ */
352
+ alignOffset?: PositionerProps["alignOffset"];
353
+ /**
354
+ * Space to keep between the panel and the edge of its collision boundary.
355
+ * @default 8
356
+ */
357
+ collisionPadding?: PositionerProps["collisionPadding"];
358
+ /**
359
+ * Which collision responses are allowed. Pass `{ side: "none" }` to stop a
360
+ * panel flipping above a header bar when the window is short — it will
361
+ * shrink and scroll instead of appearing on the wrong side of the thing it
362
+ * belongs to.
363
+ */
364
+ collisionAvoidance?: PositionerProps["collisionAvoidance"];
365
+ /**
366
+ * An element to position the panel against instead of the active trigger.
367
+ */
368
+ anchor?: PositionerProps["anchor"];
369
+ /**
370
+ * Render the panel into a different container instead of `<body>`.
371
+ */
372
+ container?: BasePortalProps["container"];
373
+ /**
374
+ * Keep the popup mounted while the menu is closed.
375
+ * @default false
376
+ */
377
+ keepMounted?: BasePortalProps["keepMounted"];
378
+ /**
379
+ * Render a dimming layer behind the panel. Off by default — a navigation bar
380
+ * is browsed, not modal — but useful on a phone where the panel covers most
381
+ * of the page.
382
+ * @default false
383
+ */
384
+ backdrop?: boolean;
385
+ /**
386
+ * Draw a wedge pointing back at the active trigger. Off by default, and
387
+ * worth turning on when the panel is much wider than the trigger that opened
388
+ * it: the wedge slides along with the panel and is then the only thing
389
+ * naming which item is open.
390
+ * @default false
391
+ */
392
+ arrow?: boolean;
393
+ /**
394
+ * Additional class name(s) for the popup surface. Applied after the internal
395
+ * styles so consumer utilities win without needing `!important`.
396
+ */
397
+ className?: string;
398
+ /**
399
+ * Additional class name(s) for the positioner — the absolutely positioned
400
+ * wrapper around the popup, and the element that carries the travel between
401
+ * triggers. This is the only way to reach the four properties declared
402
+ * there: `--forte-navigation-menu-z-index`, `--forte-navigation-menu-bridge`,
403
+ * and the `-move-duration` / `-move-ease` pair the popup inherits for its
404
+ * own resize.
405
+ */
406
+ positionerClassName?: string;
407
+ }
408
+ /**
409
+ * The single floating surface every item's `Content` is shown in. Renders a
410
+ * `<nav>`, and takes no children — the panels come from the `Content` parts
411
+ * up in the list.
412
+ *
413
+ * This one part renders the whole floating half of Base UI's anatomy —
414
+ * `Portal` → (`Backdrop`) → `Positioner` → `Popup` → (`Arrow`) → `Viewport` —
415
+ * because those elements are meaningless apart and each has a job the styles
416
+ * depend on: the positioner owns `--available-width` / `--transform-origin`
417
+ * and the travel between triggers, the popup owns the surface and its resize,
418
+ * and the viewport clips the two panels sliding past each other.
419
+ *
420
+ * There is exactly one of these per `Root`, and it is a sibling of the `List`.
421
+ */
422
+ export declare const NavigationMenuPopup: React.ForwardRefExoticComponent<Omit<NavigationMenuPopupProps, "ref"> & React.RefAttributes<HTMLElement>>;
423
+ /**
424
+ * A site navigation bar built on Base UI's unstyled `NavigationMenu`
425
+ * primitives: a row of items, some of which open a panel of links.
426
+ *
427
+ * ```tsx
428
+ * <NavigationMenu.Root aria-label="Main">
429
+ * <NavigationMenu.List>
430
+ * <NavigationMenu.Item>
431
+ * <NavigationMenu.Trigger>Product</NavigationMenu.Trigger>
432
+ * <NavigationMenu.Content columns={2}>
433
+ * <NavigationMenu.Link href="/overview">
434
+ * <NavigationMenu.LinkTitle>Overview</NavigationMenu.LinkTitle>
435
+ * <NavigationMenu.LinkDescription>
436
+ * What the product does, in one page.
437
+ * </NavigationMenu.LinkDescription>
438
+ * </NavigationMenu.Link>
439
+ * </NavigationMenu.Content>
440
+ * </NavigationMenu.Item>
441
+ *
442
+ * <NavigationMenu.Item>
443
+ * <NavigationMenu.Link variant="plain" href="/pricing">Pricing</NavigationMenu.Link>
444
+ * </NavigationMenu.Item>
445
+ * </NavigationMenu.List>
446
+ *
447
+ * <NavigationMenu.Popup />
448
+ * </NavigationMenu.Root>
449
+ * ```
450
+ *
451
+ * ## Navigation menu or menu?
452
+ *
453
+ * Every row here NAVIGATES. If the rows run commands — duplicate, export, sign
454
+ * out — it is a `Menu`, which is a different set of ARIA roles and a different
455
+ * set of keyboard expectations. A navigation menu is a list of links that
456
+ * happens to be collapsible; a menu is an application menu that happens to
457
+ * contain text.
458
+ *
459
+ * All panels share ONE popup, which slides and resizes between triggers rather
460
+ * than each item owning a surface that opens and closes. That is the whole
461
+ * behaviour of the component, and it is why `Content` lives up in the list
462
+ * while `Popup` is a single sibling of the `List`.
463
+ *
464
+ * Styling is driven by `data-*` attributes and `--forte-navigation-menu-*`
465
+ * custom properties, so it can be re-skinned from plain CSS or targeted with
466
+ * Tailwind arbitrary variants (`data-[popup-open]:...`) without wrapping. Each
467
+ * part declares its own knobs, so an ancestor's value is only inherited and
468
+ * loses — set them on the part itself via `className`. The popup is portalled
469
+ * to `<body>`, so an ancestor of the bar could not reach it in any case.
470
+ */
471
+ export declare const NavigationMenu: {
472
+ Root: typeof NavigationMenuRoot;
473
+ List: React.ForwardRefExoticComponent<Omit<NavigationMenuListProps, "ref"> & React.RefAttributes<HTMLUListElement>>;
474
+ Item: React.ForwardRefExoticComponent<Omit<NavigationMenuItemProps, "ref"> & React.RefAttributes<HTMLLIElement>>;
475
+ Trigger: React.ForwardRefExoticComponent<Omit<NavigationMenuTriggerProps, "ref"> & React.RefAttributes<HTMLButtonElement>>;
476
+ Icon: React.ForwardRefExoticComponent<Omit<NavigationMenuIconProps, "ref"> & React.RefAttributes<HTMLSpanElement>>;
477
+ Content: React.ForwardRefExoticComponent<Omit<NavigationMenuContentProps, "ref"> & React.RefAttributes<HTMLDivElement>>;
478
+ Link: React.ForwardRefExoticComponent<Omit<NavigationMenuLinkProps, "ref"> & React.RefAttributes<HTMLAnchorElement>>;
479
+ LinkTitle: React.ForwardRefExoticComponent<NavigationMenuLinkTitleProps & React.RefAttributes<HTMLSpanElement>>;
480
+ LinkDescription: React.ForwardRefExoticComponent<NavigationMenuLinkDescriptionProps & React.RefAttributes<HTMLSpanElement>>;
481
+ Popup: React.ForwardRefExoticComponent<Omit<NavigationMenuPopupProps, "ref"> & React.RefAttributes<HTMLElement>>;
482
+ };
483
+ export {};
@@ -0,0 +1,3 @@
1
+ "use client";
2
+ import { a as e, c as t, d as n, i as r, l as i, n as a, o, r as s, s as c, t as l, u } from "../../NavigationMenu-BayQkUUb.js";
3
+ export { l as NavigationMenu, a as NavigationMenuContent, s as NavigationMenuIcon, r as NavigationMenuItem, e as NavigationMenuLink, o as NavigationMenuLinkDescription, c as NavigationMenuLinkTitle, t as NavigationMenuList, i as NavigationMenuPopup, u as NavigationMenuRoot, n as NavigationMenuTrigger };
@@ -0,0 +1,2 @@
1
+ export { NavigationMenu } from './NavigationMenu';
2
+ export type { NavigationMenuVariant, NavigationMenuColumns, NavigationMenuRootProps, NavigationMenuListProps, NavigationMenuItemProps, NavigationMenuTriggerProps, NavigationMenuIconProps, NavigationMenuContentProps, NavigationMenuLinkProps, NavigationMenuLinkTitleProps, NavigationMenuLinkDescriptionProps, NavigationMenuPopupProps, } from './NavigationMenu';
@@ -0,0 +1,2 @@
1
+ import { t as e } from "../../NavigationMenu-BayQkUUb.js";
2
+ export { e as NavigationMenu };