@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,553 @@
1
+ import { Combobox as BaseCombobox } from '@base-ui/react/combobox';
2
+ import * as React from "react";
3
+ export type ComboboxSize = "sm" | "md" | "lg";
4
+ export type ComboboxVariant = "outline" | "soft" | "ghost";
5
+ /**
6
+ * Props for {@link ComboboxRoot}. A re-export of Base UI's own root props,
7
+ * kept generic so `<Combobox.Root<Country>>` still infers the value type of
8
+ * `onValueChange`, `defaultValue`, `items` and `itemToStringLabel`.
9
+ */
10
+ export type ComboboxRootProps<Value, Multiple extends boolean | undefined = false> = BaseCombobox.Root.Props<Value, Multiple>;
11
+ /**
12
+ * Groups every part of the combobox and owns its value, input value and open
13
+ * state. Renders no DOM element of its own, so it accepts neither `className`
14
+ * nor `ref`.
15
+ *
16
+ * Both generics are forwarded rather than widened to `any`: `Value` is the
17
+ * type of a single item, and `Multiple` flips the value between `Value` and
18
+ * `Value[]`. Passing `multiple` alone is enough for `Multiple` to infer.
19
+ *
20
+ * One behaviour is added on top of the primitive: a `multiple` combobox never
21
+ * closes because an item was pressed. Base UI closes it only when a filter had
22
+ * been typed and the input lives outside the popup, which makes picking from a
23
+ * short list and picking from a searched list two different gestures — and an
24
+ * async list, where typing is the only way to see anything, closes on every
25
+ * single pick. Keeping it open also keeps the query, so "search once, tick
26
+ * three results" works. A consumer who does want a pick to close can drive
27
+ * `open` themselves and set it from `onValueChange`.
28
+ */
29
+ export declare function ComboboxRoot<Value, Multiple extends boolean | undefined = false>({ onOpenChange, ...props }: ComboboxRootProps<Value, Multiple>): React.JSX.Element;
30
+ type BaseLabelProps = React.ComponentPropsWithoutRef<typeof BaseCombobox.Label>;
31
+ export interface ComboboxLabelProps extends Omit<BaseLabelProps, "className"> {
32
+ /**
33
+ * Additional class name(s). Applied after the internal styles so consumer
34
+ * utilities (e.g. Tailwind) win without needing `!important`.
35
+ */
36
+ className?: string;
37
+ }
38
+ /**
39
+ * A visible label wired to the combobox **trigger** — Base UI renders a
40
+ * `<div>` and associates it with `aria-labelledby`, so clicking it focuses
41
+ * the trigger without opening the popup. Reach for it in the
42
+ * input-inside-popup pattern, where the trigger is the form control.
43
+ *
44
+ * When `<Combobox.Input>` is the form control (the usual field pattern),
45
+ * label the input instead: a native `<label htmlFor>`, a `<Field.Label>` in
46
+ * the same `<Field.Root>`, or `aria-label` on the input.
47
+ */
48
+ export declare const ComboboxLabel: React.ForwardRefExoticComponent<ComboboxLabelProps & React.RefAttributes<HTMLDivElement>>;
49
+ type BaseInputGroupProps = React.ComponentPropsWithoutRef<typeof BaseCombobox.InputGroup>;
50
+ export interface ComboboxInputGroupProps extends Omit<BaseInputGroupProps, "className"> {
51
+ /**
52
+ * How much visual weight the field carries. `outline` reads as a form
53
+ * control, `soft` as a filled field, `ghost` as an inline affordance.
54
+ * @default "outline"
55
+ */
56
+ variant?: ComboboxVariant;
57
+ /**
58
+ * Size of the field. Height, inline padding and font size move together,
59
+ * and the actual numbers follow the ambient `data-forte-density` setting.
60
+ * Matches `Input` and `Select.Trigger`, so the three line up on one row.
61
+ * @default "md"
62
+ */
63
+ size?: ComboboxSize;
64
+ /**
65
+ * Stretch the field to fill the width of its container.
66
+ * @default false
67
+ */
68
+ fullWidth?: boolean;
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
+ * The field shell: a `<div>` that wraps `<Combobox.Input>` and its associated
77
+ * controls — `<Combobox.Trigger>`, `<Combobox.Clear>`, `<Combobox.Chips>` —
78
+ * and carries all of the control chrome (border, background, sizes,
79
+ * variants), so the input inside stays bare and the buttons sit inside the
80
+ * boundary. Focus lives on the input; the group rings for it via
81
+ * `.forte-focus-ring-within`.
82
+ */
83
+ export declare const ComboboxInputGroup: React.ForwardRefExoticComponent<ComboboxInputGroupProps & React.RefAttributes<HTMLDivElement>>;
84
+ type BaseInputProps = React.ComponentPropsWithoutRef<typeof BaseCombobox.Input>;
85
+ export interface ComboboxInputProps extends Omit<BaseInputProps, "className"> {
86
+ /**
87
+ * Additional class name(s). Applied after the internal styles so consumer
88
+ * utilities (e.g. Tailwind) win without needing `!important`.
89
+ */
90
+ className?: string;
91
+ }
92
+ /**
93
+ * The text input that filters the list. Renders an `<input>`, deliberately
94
+ * bare: the chrome belongs to whichever surface hosts it —
95
+ * `<Combobox.InputGroup>` draws the field boundary in the anchor pattern, and
96
+ * `<Combobox.Popup>` draws it as a search row when the input sits inside the
97
+ * popup. An input rendered outside both gets no boundary at all.
98
+ */
99
+ export declare const ComboboxInput: React.ForwardRefExoticComponent<ComboboxInputProps & React.RefAttributes<HTMLInputElement>>;
100
+ type BaseTriggerProps = React.ComponentPropsWithoutRef<typeof BaseCombobox.Trigger>;
101
+ export interface ComboboxTriggerProps extends Omit<BaseTriggerProps, "className"> {
102
+ /**
103
+ * How much visual weight the trigger carries. Only in play when the trigger
104
+ * stands alone (the input-inside-popup pattern); inside an
105
+ * `<Combobox.InputGroup>` the group owns the chrome and the trigger is a
106
+ * plain icon button.
107
+ * @default "outline"
108
+ */
109
+ variant?: ComboboxVariant;
110
+ /**
111
+ * Size of the standalone trigger. Ignored inside an
112
+ * `<Combobox.InputGroup>`, where the group's `size` decides.
113
+ * @default "md"
114
+ */
115
+ size?: ComboboxSize;
116
+ /**
117
+ * Stretch the standalone trigger to fill the width of its container.
118
+ * @default false
119
+ */
120
+ fullWidth?: boolean;
121
+ /**
122
+ * Contents of the trigger. Defaults to a caret pair, the right children for
123
+ * the icon-button form inside an `<Combobox.InputGroup>` — an icon-only
124
+ * trigger still needs an `aria-label`. In the input-inside-popup pattern
125
+ * pass `<Combobox.Value>` and `<Combobox.Icon>` instead, and name the
126
+ * control with a `<Combobox.Label>`.
127
+ */
128
+ children?: React.ReactNode;
129
+ /**
130
+ * Additional class name(s). Applied after the internal styles so consumer
131
+ * utilities (e.g. Tailwind) win without needing `!important`.
132
+ */
133
+ className?: string;
134
+ }
135
+ /**
136
+ * A button that opens the popup. Renders a native `<button>`, in one of two
137
+ * shapes decided by where it sits: inside an `<Combobox.InputGroup>` it is a
138
+ * compact icon button at the end of the field; standing alone it is a
139
+ * select-like trigger that holds `<Combobox.Value>` and `<Combobox.Icon>`
140
+ * while the input waits inside the popup.
141
+ */
142
+ export declare const ComboboxTrigger: React.ForwardRefExoticComponent<ComboboxTriggerProps & React.RefAttributes<HTMLButtonElement>>;
143
+ type BaseValueProps = React.ComponentPropsWithoutRef<typeof BaseCombobox.Value>;
144
+ export interface ComboboxValueProps extends BaseValueProps {
145
+ }
146
+ /**
147
+ * The current value, for display inside a standalone `<Combobox.Trigger>`.
148
+ * Renders no DOM element of its own — pass a function as `children` to
149
+ * format the value, or `placeholder` for the empty state. The trigger carries
150
+ * `data-placeholder` while there is no value, which is what the muted
151
+ * placeholder colour keys off.
152
+ */
153
+ export declare function ComboboxValue(props: ComboboxValueProps): React.JSX.Element;
154
+ type BaseIconProps = React.ComponentPropsWithoutRef<typeof BaseCombobox.Icon>;
155
+ export interface ComboboxIconProps extends Omit<BaseIconProps, "className"> {
156
+ /**
157
+ * Icon to render. Defaults to a caret pair whose halves spread apart while
158
+ * the popup is open.
159
+ * @default <CaretUpDownIcon />
160
+ */
161
+ children?: React.ReactNode;
162
+ /**
163
+ * Additional class name(s). Applied after the internal styles so consumer
164
+ * utilities (e.g. Tailwind) win without needing `!important`.
165
+ */
166
+ className?: string;
167
+ }
168
+ /**
169
+ * The affordance that marks a standalone trigger as openable. Renders a
170
+ * `<span>`. Purely decorative — the trigger's own role and `aria-expanded`
171
+ * are what reach assistive technology.
172
+ */
173
+ export declare const ComboboxIcon: React.ForwardRefExoticComponent<ComboboxIconProps & React.RefAttributes<HTMLSpanElement>>;
174
+ type BaseClearProps = React.ComponentPropsWithoutRef<typeof BaseCombobox.Clear>;
175
+ export interface ComboboxClearProps extends Omit<BaseClearProps, "className"> {
176
+ /**
177
+ * Contents of the button. Defaults to an X glyph; the button is icon-only
178
+ * either way, so it still needs an `aria-label`.
179
+ * @default <XIcon />
180
+ */
181
+ children?: React.ReactNode;
182
+ /**
183
+ * Additional class name(s). Applied after the internal styles so consumer
184
+ * utilities (e.g. Tailwind) win without needing `!important`.
185
+ */
186
+ className?: string;
187
+ }
188
+ /**
189
+ * A button that clears the value. Renders a native `<button>` that Base UI
190
+ * only mounts while there is something to clear (`keepMounted` opts out), so
191
+ * an empty field never shows a dead control.
192
+ */
193
+ export declare const ComboboxClear: React.ForwardRefExoticComponent<ComboboxClearProps & React.RefAttributes<HTMLButtonElement>>;
194
+ type BaseChipsProps = React.ComponentPropsWithoutRef<typeof BaseCombobox.Chips>;
195
+ export interface ComboboxChipsProps extends Omit<BaseChipsProps, "className"> {
196
+ /**
197
+ * Additional class name(s). Applied after the internal styles so consumer
198
+ * utilities (e.g. Tailwind) win without needing `!important`.
199
+ */
200
+ className?: string;
201
+ }
202
+ /**
203
+ * The container for the selection chips of a `multiple` combobox. Renders a
204
+ * `<div>` inside `<Combobox.InputGroup>`; render the chips through
205
+ * `<Combobox.Value>`'s function child and finish with `<Combobox.Input>`, so
206
+ * the input wraps onto the same line as the last chip.
207
+ */
208
+ export declare const ComboboxChips: React.ForwardRefExoticComponent<ComboboxChipsProps & React.RefAttributes<HTMLDivElement>>;
209
+ type BaseChipProps = React.ComponentPropsWithoutRef<typeof BaseCombobox.Chip>;
210
+ export interface ComboboxChipProps extends Omit<BaseChipProps, "className"> {
211
+ /**
212
+ * Additional class name(s). Applied after the internal styles so consumer
213
+ * utilities (e.g. Tailwind) win without needing `!important`.
214
+ */
215
+ className?: string;
216
+ }
217
+ /**
218
+ * One selected value of a `multiple` combobox. Renders a `<div>`; put a
219
+ * `<Combobox.ChipRemove>` inside it so the selection can be removed by
220
+ * pointer as well as by keyboard (Backspace in the empty input already
221
+ * removes the last chip). `data-highlighted` marks the chip keyboard
222
+ * navigation has reached.
223
+ */
224
+ export declare const ComboboxChip: React.ForwardRefExoticComponent<ComboboxChipProps & React.RefAttributes<HTMLDivElement>>;
225
+ type BaseChipRemoveProps = React.ComponentPropsWithoutRef<typeof BaseCombobox.ChipRemove>;
226
+ export interface ComboboxChipRemoveProps extends Omit<BaseChipRemoveProps, "className"> {
227
+ /**
228
+ * Contents of the button. Defaults to an X glyph; give the button an
229
+ * `aria-label` naming the value it removes.
230
+ * @default <XIcon />
231
+ */
232
+ children?: React.ReactNode;
233
+ /**
234
+ * Additional class name(s). Applied after the internal styles so consumer
235
+ * utilities (e.g. Tailwind) win without needing `!important`.
236
+ */
237
+ className?: string;
238
+ }
239
+ /**
240
+ * A button that removes its chip's value from the selection. Renders a
241
+ * native `<button>`.
242
+ */
243
+ export declare const ComboboxChipRemove: React.ForwardRefExoticComponent<ComboboxChipRemoveProps & React.RefAttributes<HTMLButtonElement>>;
244
+ type BasePopupProps = React.ComponentPropsWithoutRef<typeof BaseCombobox.Popup>;
245
+ type BasePositionerProps = React.ComponentPropsWithoutRef<typeof BaseCombobox.Positioner>;
246
+ type BasePortalProps = React.ComponentPropsWithoutRef<typeof BaseCombobox.Portal>;
247
+ export interface ComboboxPopupProps extends Omit<BasePopupProps, "className"> {
248
+ /**
249
+ * The popup's contents — typically `<Combobox.Empty>` followed by
250
+ * `<Combobox.List>`, plus `<Combobox.Status>` for async lists or an
251
+ * `<Combobox.Input>` first for the input-inside-popup pattern.
252
+ */
253
+ children?: React.ReactNode;
254
+ /**
255
+ * Which side of the anchor the popup opens on.
256
+ * @default "bottom"
257
+ */
258
+ side?: BasePositionerProps["side"];
259
+ /**
260
+ * How the popup aligns along the chosen side.
261
+ * @default "start"
262
+ */
263
+ align?: BasePositionerProps["align"];
264
+ /**
265
+ * Gap in pixels between the anchor and the popup. The default clears the
266
+ * focus ring rather than sitting flush against it: unlike `Select`, focus
267
+ * stays on the field while the popup is open, so the group's two-tone ring
268
+ * (`--forte-focus-ring-offset` + `--forte-focus-ring-width`, 4px together) is
269
+ * painted in exactly the gap this measures.
270
+ * @default 8
271
+ */
272
+ sideOffset?: BasePositionerProps["sideOffset"];
273
+ /**
274
+ * Extra offset in pixels along the alignment axis.
275
+ * @default 0
276
+ */
277
+ alignOffset?: BasePositionerProps["alignOffset"];
278
+ /**
279
+ * Space to keep between the popup and the edge of its collision boundary.
280
+ * @default 5
281
+ */
282
+ collisionPadding?: BasePositionerProps["collisionPadding"];
283
+ /**
284
+ * Render the popup into a different container instead of `<body>`.
285
+ */
286
+ container?: BasePortalProps["container"];
287
+ /**
288
+ * Render a dimming layer behind the popup. Off by default — a combobox
289
+ * popup is a listbox, not a dialog.
290
+ * @default false
291
+ */
292
+ backdrop?: boolean;
293
+ /**
294
+ * Additional class name(s) for the popup surface. Applied after the
295
+ * internal styles so consumer utilities win without needing `!important`.
296
+ */
297
+ className?: string;
298
+ /**
299
+ * Additional class name(s) for the positioner — the absolutely positioned
300
+ * wrapper around the popup. Use this to reach `--forte-combobox-z-index`, the
301
+ * only knob declared on the positioner.
302
+ */
303
+ positionerClassName?: string;
304
+ }
305
+ /**
306
+ * The floating surface holding the list.
307
+ *
308
+ * This one part renders the floating half of Base UI's anatomy — `Portal` →
309
+ * (`Backdrop`) → `Positioner` → `Popup` — and hands you the inside: unlike
310
+ * `Select.Popup` it does NOT wrap its children in a list, because what sits
311
+ * next to the list is the point of a combobox — `<Combobox.Empty>`,
312
+ * `<Combobox.Status>`, or the input itself in the input-inside-popup pattern.
313
+ */
314
+ export declare const ComboboxPopup: React.ForwardRefExoticComponent<ComboboxPopupProps & React.RefAttributes<HTMLDivElement>>;
315
+ type BaseListProps = React.ComponentPropsWithoutRef<typeof BaseCombobox.List>;
316
+ export interface ComboboxListProps extends Omit<BaseListProps, "className"> {
317
+ /**
318
+ * The items, groups and separators — or a function `(item, index) =>
319
+ * ReactNode` that renders each item Base UI's filtering lets through. The
320
+ * function form is what keeps the list in sync with the query; it requires
321
+ * `items` on `<Combobox.Root>`.
322
+ */
323
+ children?: BaseListProps["children"];
324
+ /**
325
+ * Additional class name(s). Applied after the internal styles so consumer
326
+ * utilities (e.g. Tailwind) win without needing `!important`.
327
+ */
328
+ className?: string;
329
+ }
330
+ /**
331
+ * The scrolling container for the items. Renders a `<div>`; scrolling lives
332
+ * here rather than on the popup so a sibling input or status row stays put
333
+ * while the items scroll under it.
334
+ */
335
+ export declare const ComboboxList: React.ForwardRefExoticComponent<ComboboxListProps & React.RefAttributes<HTMLDivElement>>;
336
+ type BaseEmptyProps = React.ComponentPropsWithoutRef<typeof BaseCombobox.Empty>;
337
+ export interface ComboboxEmptyProps extends Omit<BaseEmptyProps, "className"> {
338
+ /**
339
+ * Additional class name(s). Applied after the internal styles so consumer
340
+ * utilities (e.g. Tailwind) win without needing `!important`.
341
+ */
342
+ className?: string;
343
+ }
344
+ /**
345
+ * Shows its children only while the filtered list is empty, and announces the
346
+ * change politely to screen readers. Requires `items` on `<Combobox.Root>`.
347
+ * The element itself must stay mounted for the announcement to be reliable —
348
+ * Base UI keeps it in the DOM and this component collapses it to nothing
349
+ * while it has no content, so render it unconditionally.
350
+ */
351
+ export declare const ComboboxEmpty: React.ForwardRefExoticComponent<ComboboxEmptyProps & React.RefAttributes<HTMLDivElement>>;
352
+ type BaseStatusProps = React.ComponentPropsWithoutRef<typeof BaseCombobox.Status>;
353
+ export interface ComboboxStatusProps extends Omit<BaseStatusProps, "className"> {
354
+ /**
355
+ * Additional class name(s). Applied after the internal styles so consumer
356
+ * utilities (e.g. Tailwind) win without needing `!important`.
357
+ */
358
+ className?: string;
359
+ }
360
+ /**
361
+ * A status row announced politely to screen readers when its content changes
362
+ * — "Searching…", an error, a hint. Like `<Combobox.Empty>` it must stay
363
+ * mounted to announce reliably: swap its children rather than the element,
364
+ * and it collapses to nothing while it has none.
365
+ */
366
+ export declare const ComboboxStatus: React.ForwardRefExoticComponent<ComboboxStatusProps & React.RefAttributes<HTMLDivElement>>;
367
+ type BaseItemProps = React.ComponentPropsWithoutRef<typeof BaseCombobox.Item>;
368
+ export interface ComboboxItemProps extends Omit<BaseItemProps, "className"> {
369
+ /**
370
+ * The item's label. Rendered next to the indicator column; give the item a
371
+ * plain-text `aria-label` if this is not text.
372
+ */
373
+ children?: React.ReactNode;
374
+ /**
375
+ * The value this item selects. Objects are matched by `Object.is` unless
376
+ * `<Combobox.Root>` is given `isItemEqualToValue`; a `{ value, label }`
377
+ * shape displays its `label` in the input automatically.
378
+ * @default null
379
+ */
380
+ value?: unknown;
381
+ /**
382
+ * Whether the item ignores user interaction. Disabled items stay in the
383
+ * list and stay announced.
384
+ * @default false
385
+ */
386
+ disabled?: boolean;
387
+ /**
388
+ * What marks the item as selected. Rendered inside
389
+ * `<Combobox.ItemIndicator>`, which only mounts while the item is selected.
390
+ * @default <CheckIcon />
391
+ */
392
+ indicator?: React.ReactNode;
393
+ /**
394
+ * Additional class name(s). Applied after the internal styles so consumer
395
+ * utilities (e.g. Tailwind) win without needing `!important`.
396
+ */
397
+ className?: string;
398
+ }
399
+ /**
400
+ * One option in the list. Renders a `<div>` with `role="option"`.
401
+ *
402
+ * `data-highlighted` is the focus analogue: DOM focus stays on the input
403
+ * while arrow keys and pointer hover move the highlight between items.
404
+ * Because the list is a clipping scroll container, the focus ring is applied
405
+ * inset via `data-focus-inset` so `overflow` cannot crop it.
406
+ */
407
+ export declare const ComboboxItem: React.ForwardRefExoticComponent<ComboboxItemProps & React.RefAttributes<HTMLDivElement>>;
408
+ type BaseGroupProps = React.ComponentPropsWithoutRef<typeof BaseCombobox.Group>;
409
+ export interface ComboboxGroupProps extends Omit<BaseGroupProps, "className"> {
410
+ /**
411
+ * Additional class name(s). Applied after the internal styles so consumer
412
+ * utilities (e.g. Tailwind) win without needing `!important`.
413
+ */
414
+ className?: string;
415
+ }
416
+ /**
417
+ * Groups related items under a heading. Renders a `<div>` with
418
+ * `role="group"`, associated with the `<Combobox.GroupLabel>` inside it. Pass
419
+ * the group's `items` here and render them with `<Combobox.Collection>` so
420
+ * filtering stays aware of the grouping.
421
+ */
422
+ export declare const ComboboxGroup: React.ForwardRefExoticComponent<ComboboxGroupProps & React.RefAttributes<HTMLDivElement>>;
423
+ type BaseGroupLabelProps = React.ComponentPropsWithoutRef<typeof BaseCombobox.GroupLabel>;
424
+ export interface ComboboxGroupLabelProps extends Omit<BaseGroupLabelProps, "className"> {
425
+ /**
426
+ * Additional class name(s). Applied after the internal styles so consumer
427
+ * utilities (e.g. Tailwind) win without needing `!important`.
428
+ */
429
+ className?: string;
430
+ }
431
+ /**
432
+ * The heading for a `<Combobox.Group>`. Renders a `<div>`, set at the list's
433
+ * own text edge — outdented from the items it heads, and uppercased and
434
+ * tracked — so it reads a level up from them rather than as one more row.
435
+ */
436
+ export declare const ComboboxGroupLabel: React.ForwardRefExoticComponent<ComboboxGroupLabelProps & React.RefAttributes<HTMLDivElement>>;
437
+ type BaseSeparatorProps = React.ComponentPropsWithoutRef<typeof BaseCombobox.Separator>;
438
+ export interface ComboboxSeparatorProps extends Omit<BaseSeparatorProps, "className"> {
439
+ /**
440
+ * Orientation of the rule. A combobox list is vertical, so the separator
441
+ * between two groups runs horizontally.
442
+ * @default "horizontal"
443
+ */
444
+ orientation?: BaseSeparatorProps["orientation"];
445
+ /**
446
+ * Additional class name(s). Applied after the internal styles so consumer
447
+ * utilities (e.g. Tailwind) win without needing `!important`.
448
+ */
449
+ className?: string;
450
+ }
451
+ /**
452
+ * A divider between groups of items. Renders a `<div>` with
453
+ * `role="separator"`, so it is exposed to assistive technology rather than
454
+ * being a purely visual line.
455
+ */
456
+ export declare const ComboboxSeparator: React.ForwardRefExoticComponent<ComboboxSeparatorProps & React.RefAttributes<HTMLDivElement>>;
457
+ type BaseRowProps = React.ComponentPropsWithoutRef<typeof BaseCombobox.Row>;
458
+ export interface ComboboxRowProps extends Omit<BaseRowProps, "className"> {
459
+ /**
460
+ * Additional class name(s). Applied after the internal styles so consumer
461
+ * utilities (e.g. Tailwind) win without needing `!important`.
462
+ */
463
+ className?: string;
464
+ }
465
+ /**
466
+ * One row of items when the list is a grid (`grid` on `<Combobox.Root>`),
467
+ * where arrow keys navigate across rows and columns. Renders a `<div>`.
468
+ */
469
+ export declare const ComboboxRow: React.ForwardRefExoticComponent<ComboboxRowProps & React.RefAttributes<HTMLDivElement>>;
470
+ /**
471
+ * Renders the filtered items of the nearest `<Combobox.Group>` (or of the
472
+ * root, inside a grid `<Combobox.Row>`) through a function child. Renders no
473
+ * DOM element of its own — a flat list can pass the function straight to
474
+ * `<Combobox.List>` instead. A direct re-export of Base UI's part.
475
+ */
476
+ export declare const ComboboxCollection: typeof BaseCombobox.Collection;
477
+ /**
478
+ * `Intl.Collator`-backed matchers (`contains`, `startsWith`, `endsWith`) for
479
+ * filtering externally — pass the result into `filter` on `<Combobox.Root>`,
480
+ * or use one inside your own search. A direct re-export of Base UI's
481
+ * `Combobox.useFilter`.
482
+ */
483
+ export declare const useComboboxFilter: typeof BaseCombobox.useFilter;
484
+ /**
485
+ * Returns the items the combobox is currently showing after its internal
486
+ * filtering — the hook a virtualizer measures. Must be called from a
487
+ * component rendered inside `<Combobox.Root>`. A direct re-export of Base
488
+ * UI's `Combobox.useFilteredItems`.
489
+ */
490
+ export declare const useComboboxFilteredItems: typeof BaseCombobox.useFilteredItems;
491
+ /**
492
+ * A combobox built on Base UI's unstyled `Combobox` primitives: an input
493
+ * combined with a filterable list of predefined options. Prefer it over
494
+ * `Select` when the list is long enough to need typing; prefer `Select` when
495
+ * there is no input at all.
496
+ *
497
+ * ```tsx
498
+ * <Combobox.Root items={fruits}>
499
+ * <Combobox.InputGroup>
500
+ * <Combobox.Input placeholder="e.g. Apple" aria-label="Fruit" />
501
+ * <Combobox.Clear aria-label="Clear selection" />
502
+ * <Combobox.Trigger aria-label="Open popup" />
503
+ * </Combobox.InputGroup>
504
+ * <Combobox.Popup>
505
+ * <Combobox.Empty>No fruits found.</Combobox.Empty>
506
+ * <Combobox.List>
507
+ * {(fruit: string) => (
508
+ * <Combobox.Item key={fruit} value={fruit}>
509
+ * {fruit}
510
+ * </Combobox.Item>
511
+ * )}
512
+ * </Combobox.List>
513
+ * </Combobox.Popup>
514
+ * </Combobox.Root>
515
+ * ```
516
+ *
517
+ * Styling is driven entirely by `data-*` attributes and `--forte-combobox-*`
518
+ * custom properties, so it can be re-skinned from plain CSS or targeted with
519
+ * Tailwind arbitrary variants (`data-[highlighted]:...`) without wrapping.
520
+ * Each part declares its own knobs, so an ancestor's value is only inherited
521
+ * and loses — set them on the part itself via `className`. The popup is also
522
+ * portalled to `<body>`, so an ancestor of the input could not reach it in
523
+ * any case; `positionerClassName` reaches `--forte-combobox-z-index`. The
524
+ * global `--forte-color-*` / `--forte-control-*` / `--forte-radius-*` /
525
+ * `--forte-space-*` tokens these resolve to ARE inherited, so re-pointing those
526
+ * from `:root` or a theme scope moves every combobox at once.
527
+ */
528
+ export declare const Combobox: {
529
+ Root: typeof ComboboxRoot;
530
+ Label: React.ForwardRefExoticComponent<ComboboxLabelProps & React.RefAttributes<HTMLDivElement>>;
531
+ InputGroup: React.ForwardRefExoticComponent<ComboboxInputGroupProps & React.RefAttributes<HTMLDivElement>>;
532
+ Input: React.ForwardRefExoticComponent<ComboboxInputProps & React.RefAttributes<HTMLInputElement>>;
533
+ Trigger: React.ForwardRefExoticComponent<ComboboxTriggerProps & React.RefAttributes<HTMLButtonElement>>;
534
+ Value: typeof ComboboxValue;
535
+ Icon: React.ForwardRefExoticComponent<ComboboxIconProps & React.RefAttributes<HTMLSpanElement>>;
536
+ Clear: React.ForwardRefExoticComponent<ComboboxClearProps & React.RefAttributes<HTMLButtonElement>>;
537
+ Chips: React.ForwardRefExoticComponent<ComboboxChipsProps & React.RefAttributes<HTMLDivElement>>;
538
+ Chip: React.ForwardRefExoticComponent<ComboboxChipProps & React.RefAttributes<HTMLDivElement>>;
539
+ ChipRemove: React.ForwardRefExoticComponent<ComboboxChipRemoveProps & React.RefAttributes<HTMLButtonElement>>;
540
+ Popup: React.ForwardRefExoticComponent<ComboboxPopupProps & React.RefAttributes<HTMLDivElement>>;
541
+ List: React.ForwardRefExoticComponent<ComboboxListProps & React.RefAttributes<HTMLDivElement>>;
542
+ Empty: React.ForwardRefExoticComponent<ComboboxEmptyProps & React.RefAttributes<HTMLDivElement>>;
543
+ Status: React.ForwardRefExoticComponent<ComboboxStatusProps & React.RefAttributes<HTMLDivElement>>;
544
+ Item: React.ForwardRefExoticComponent<ComboboxItemProps & React.RefAttributes<HTMLDivElement>>;
545
+ Group: React.ForwardRefExoticComponent<ComboboxGroupProps & React.RefAttributes<HTMLDivElement>>;
546
+ GroupLabel: React.ForwardRefExoticComponent<ComboboxGroupLabelProps & React.RefAttributes<HTMLDivElement>>;
547
+ Separator: React.ForwardRefExoticComponent<ComboboxSeparatorProps & React.RefAttributes<HTMLDivElement>>;
548
+ Row: React.ForwardRefExoticComponent<ComboboxRowProps & React.RefAttributes<HTMLDivElement>>;
549
+ Collection: typeof BaseCombobox.Collection;
550
+ useFilter: typeof BaseCombobox.useFilter;
551
+ useFilteredItems: typeof BaseCombobox.useFilteredItems;
552
+ };
553
+ export {};
@@ -0,0 +1,3 @@
1
+ "use client";
2
+ import { C as e, S as t, _ as n, a as r, b as i, c as a, d as o, f as s, g as c, h as l, i as u, l as d, m as f, n as p, o as m, p as h, r as g, s as _, t as v, u as y, v as b, w as x, x as S, y as C } from "../../Combobox-D-BN-Tvp.js";
3
+ export { v as Combobox, p as ComboboxChip, g as ComboboxChipRemove, u as ComboboxChips, r as ComboboxClear, m as ComboboxCollection, _ as ComboboxEmpty, a as ComboboxGroup, d as ComboboxGroupLabel, y as ComboboxIcon, o as ComboboxInput, s as ComboboxInputGroup, h as ComboboxItem, f as ComboboxLabel, l as ComboboxList, c as ComboboxPopup, n as ComboboxRoot, b as ComboboxRow, C as ComboboxSeparator, i as ComboboxStatus, S as ComboboxTrigger, t as ComboboxValue, e as useComboboxFilter, x as useComboboxFilteredItems };
@@ -0,0 +1,2 @@
1
+ export { Combobox, ComboboxRoot, ComboboxLabel, ComboboxInputGroup, ComboboxInput, ComboboxTrigger, ComboboxValue, ComboboxIcon, ComboboxClear, ComboboxChips, ComboboxChip, ComboboxChipRemove, ComboboxPopup, ComboboxList, ComboboxEmpty, ComboboxStatus, ComboboxItem, ComboboxGroup, ComboboxGroupLabel, ComboboxSeparator, ComboboxRow, ComboboxCollection, useComboboxFilter, useComboboxFilteredItems, } from './Combobox';
2
+ export type { ComboboxRootProps, ComboboxLabelProps, ComboboxInputGroupProps, ComboboxInputProps, ComboboxTriggerProps, ComboboxValueProps, ComboboxIconProps, ComboboxClearProps, ComboboxChipsProps, ComboboxChipProps, ComboboxChipRemoveProps, ComboboxPopupProps, ComboboxListProps, ComboboxEmptyProps, ComboboxStatusProps, ComboboxItemProps, ComboboxGroupProps, ComboboxGroupLabelProps, ComboboxSeparatorProps, ComboboxRowProps, ComboboxSize, ComboboxVariant, } from './Combobox';
@@ -0,0 +1,2 @@
1
+ import { C as e, S as t, _ as n, a as r, b as i, c as a, d as o, f as s, g as c, h as l, i as u, l as d, m as f, n as p, o as m, p as h, r as g, s as _, t as v, u as y, v as b, w as x, x as S, y as C } from "../../Combobox-D-BN-Tvp.js";
2
+ export { v as Combobox, p as ComboboxChip, g as ComboboxChipRemove, u as ComboboxChips, r as ComboboxClear, m as ComboboxCollection, _ as ComboboxEmpty, a as ComboboxGroup, d as ComboboxGroupLabel, y as ComboboxIcon, o as ComboboxInput, s as ComboboxInputGroup, h as ComboboxItem, f as ComboboxLabel, l as ComboboxList, c as ComboboxPopup, n as ComboboxRoot, b as ComboboxRow, C as ComboboxSeparator, i as ComboboxStatus, S as ComboboxTrigger, t as ComboboxValue, e as useComboboxFilter, x as useComboboxFilteredItems };
@@ -0,0 +1,103 @@
1
+ import { ContextMenu as BaseContextMenu } from '@base-ui/react/context-menu';
2
+ import { MenuSubmenuRoot } from '../menu/Menu';
3
+ import * as React from "react";
4
+ export interface ContextMenuRootProps extends BaseContextMenu.Root.Props {
5
+ /**
6
+ * The `<ContextMenu.Trigger>` and its `<ContextMenu.Popup>`.
7
+ */
8
+ children?: React.ReactNode;
9
+ }
10
+ /**
11
+ * Groups every part of the context menu and owns its open state. Renders no
12
+ * DOM element of its own, so it accepts neither `className` nor `ref`.
13
+ *
14
+ * Forwards Base UI's own root props unchanged — `open`, `defaultOpen`,
15
+ * `onOpenChange`, `disabled`, `orientation`, `loopFocus`,
16
+ * `highlightItemOnHover`, `closeParentOnEsc` and `actionsRef`. Four of
17
+ * `Menu.Root`'s props are deliberately absent, because a context menu has no
18
+ * trigger element to hang them on: `modal` (it is always modal), `openOnHover`
19
+ * with its `delay` / `closeDelay`, and the `handle` / `triggerId` pair.
20
+ */
21
+ export declare function ContextMenuRoot({ children, ...props }: ContextMenuRootProps): React.JSX.Element;
22
+ export interface ContextMenuTriggerProps extends Omit<BaseContextMenu.Trigger.Props, "className"> {
23
+ /**
24
+ * The region that answers a right click or a long press — a card, a table
25
+ * row, a canvas, a whole panel. It is ordinary content, not a control: the
26
+ * trigger adds no styling of its own to it beyond marking it while its menu
27
+ * is open.
28
+ */
29
+ children?: React.ReactNode;
30
+ /**
31
+ * Replaces the rendered `<div>` with another element or component —
32
+ * `render={<tr />}` for a table row, `render={<li />}` inside a list, so the
33
+ * trigger does not break the parent's content model.
34
+ */
35
+ render?: BaseContextMenu.Trigger.Props["render"];
36
+ /**
37
+ * Additional class name(s). Applied after the internal styles so consumer
38
+ * utilities (e.g. Tailwind) win without needing `!important`.
39
+ */
40
+ className?: string;
41
+ }
42
+ /**
43
+ * The region that opens the menu on right click or long press. Renders a
44
+ * `<div>`.
45
+ *
46
+ * It takes no tab stop and carries no ARIA of its own — a region that answers a
47
+ * right click is not a button, and saying otherwise would promise keyboard
48
+ * behaviour it does not have. The platform's context-menu key (Shift+F10) does
49
+ * reach it when the region happens to wrap something focusable, since the
50
+ * `contextmenu` event that key fires bubbles; that is a bonus, not a plan.
51
+ *
52
+ * So: **a context menu must never be the only route to an action.** Nothing
53
+ * announces that a region has one. Put the same commands behind a visible
54
+ * control — a `<Menu>` button on the card is the usual answer, and the docs
55
+ * carry a worked example.
56
+ *
57
+ * Left click does nothing here, so the trigger declares no cursor and lets the
58
+ * content it wraps keep its own — text stays a caret, an image stays an arrow.
59
+ */
60
+ export declare const ContextMenuTrigger: React.ForwardRefExoticComponent<Omit<ContextMenuTriggerProps, "ref"> & React.RefAttributes<HTMLDivElement>>;
61
+ /**
62
+ * A menu that opens at the pointer on right click or long press, built on Base
63
+ * UI's unstyled `ContextMenu` primitives.
64
+ *
65
+ * ```tsx
66
+ * <ContextMenu.Root>
67
+ * <ContextMenu.Trigger>
68
+ * <Card />
69
+ * </ContextMenu.Trigger>
70
+ * <ContextMenu.Popup>
71
+ * <ContextMenu.Item onClick={duplicate}>Duplicate</ContextMenu.Item>
72
+ * <ContextMenu.Separator />
73
+ * <ContextMenu.Item tone="danger" onClick={remove}>Delete</ContextMenu.Item>
74
+ * </ContextMenu.Popup>
75
+ * </ContextMenu.Root>
76
+ * ```
77
+ *
78
+ * Everything below `Trigger` is the same component `Menu` uses — Base UI's own
79
+ * `context-menu` entry point re-exports the Menu parts, and so does this one —
80
+ * so the popup and its rows look identical, answer the same keyboard, and are
81
+ * themed through the same `--forte-menu-*` knobs. The trigger is the only part
82
+ * with `--forte-context-menu-*` properties of its own.
83
+ *
84
+ * Treat it as an enhancement: it is undiscoverable, unreachable from the
85
+ * keyboard, and awkward on touch, so every command in it needs a visible home
86
+ * as well.
87
+ */
88
+ export declare const ContextMenu: {
89
+ Root: typeof ContextMenuRoot;
90
+ Trigger: React.ForwardRefExoticComponent<Omit<ContextMenuTriggerProps, "ref"> & React.RefAttributes<HTMLDivElement>>;
91
+ Popup: React.ForwardRefExoticComponent<Omit<import('.').ContextMenuPopupProps, "ref"> & React.RefAttributes<HTMLDivElement>>;
92
+ Item: React.ForwardRefExoticComponent<Omit<import('.').ContextMenuItemProps, "ref"> & React.RefAttributes<HTMLDivElement>>;
93
+ LinkItem: React.ForwardRefExoticComponent<Omit<import('.').ContextMenuLinkItemProps, "ref"> & React.RefAttributes<HTMLAnchorElement>>;
94
+ CheckboxItem: React.ForwardRefExoticComponent<Omit<import('.').ContextMenuCheckboxItemProps, "ref"> & React.RefAttributes<HTMLDivElement>>;
95
+ RadioGroup: React.ForwardRefExoticComponent<Omit<import('.').ContextMenuRadioGroupProps, "ref"> & React.RefAttributes<HTMLDivElement>>;
96
+ RadioItem: React.ForwardRefExoticComponent<Omit<import('.').ContextMenuRadioItemProps, "ref"> & React.RefAttributes<HTMLDivElement>>;
97
+ Group: React.ForwardRefExoticComponent<Omit<import('.').ContextMenuGroupProps, "ref"> & React.RefAttributes<HTMLDivElement>>;
98
+ GroupLabel: React.ForwardRefExoticComponent<Omit<import('.').ContextMenuGroupLabelProps, "ref"> & React.RefAttributes<HTMLDivElement>>;
99
+ Separator: React.ForwardRefExoticComponent<import('.').ContextMenuSeparatorProps & React.RefAttributes<HTMLDivElement>>;
100
+ SubmenuRoot: typeof MenuSubmenuRoot;
101
+ SubmenuTrigger: React.ForwardRefExoticComponent<Omit<import('.').ContextMenuSubmenuTriggerProps, "ref"> & React.RefAttributes<HTMLDivElement>>;
102
+ Shortcut: React.ForwardRefExoticComponent<import('.').ContextMenuShortcutProps & React.RefAttributes<HTMLSpanElement>>;
103
+ };