@evinvest/uikit 0.18.0 → 0.20.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (277) hide show
  1. package/README.md +210 -13
  2. package/dist/chunk-3IPB4QQJ.js +306 -0
  3. package/dist/chunk-3IPB4QQJ.js.map +1 -0
  4. package/dist/components/accordion.js +136 -0
  5. package/dist/components/accordion.js.map +1 -0
  6. package/dist/components/alert-dialog.js +175 -0
  7. package/dist/components/alert-dialog.js.map +1 -0
  8. package/dist/components/alert.js +49 -0
  9. package/dist/components/alert.js.map +1 -0
  10. package/dist/components/avatar.js +54 -0
  11. package/dist/components/avatar.js.map +1 -0
  12. package/dist/components/badge.js +25 -0
  13. package/dist/components/badge.js.map +1 -0
  14. package/dist/components/band.js +75 -0
  15. package/dist/components/band.js.map +1 -0
  16. package/dist/components/breadcrumb.js +132 -0
  17. package/dist/components/breadcrumb.js.map +1 -0
  18. package/dist/components/button-group.js +61 -0
  19. package/dist/components/button-group.js.map +1 -0
  20. package/dist/components/button.js +55 -0
  21. package/dist/components/button.js.map +1 -0
  22. package/dist/components/calendar.js +226 -0
  23. package/dist/components/calendar.js.map +1 -0
  24. package/dist/components/card.js +98 -0
  25. package/dist/components/card.js.map +1 -0
  26. package/dist/components/carousel.js +262 -0
  27. package/dist/components/carousel.js.map +1 -0
  28. package/dist/components/chart.js +151 -0
  29. package/dist/components/chart.js.map +1 -0
  30. package/dist/components/checkbox.js +68 -0
  31. package/dist/components/checkbox.js.map +1 -0
  32. package/dist/components/collapsible.js +60 -0
  33. package/dist/components/collapsible.js.map +1 -0
  34. package/dist/components/command.js +274 -0
  35. package/dist/components/command.js.map +1 -0
  36. package/dist/components/container.js +18 -0
  37. package/dist/components/container.js.map +1 -0
  38. package/dist/components/context-menu.js +337 -0
  39. package/dist/components/context-menu.js.map +1 -0
  40. package/dist/components/date-time-picker.js +301 -0
  41. package/dist/components/date-time-picker.js.map +1 -0
  42. package/dist/components/dialog.js +207 -0
  43. package/dist/components/dialog.js.map +1 -0
  44. package/dist/components/drawer.js +351 -0
  45. package/dist/components/drawer.js.map +1 -0
  46. package/dist/components/dropdown-menu.js +356 -0
  47. package/dist/components/dropdown-menu.js.map +1 -0
  48. package/dist/components/empty.js +91 -0
  49. package/dist/components/empty.js.map +1 -0
  50. package/dist/components/field-context.js +30 -0
  51. package/dist/components/field-context.js.map +1 -0
  52. package/dist/components/field.js +216 -0
  53. package/dist/components/field.js.map +1 -0
  54. package/dist/components/footer.js +89 -0
  55. package/dist/components/footer.js.map +1 -0
  56. package/dist/components/form.js +101 -0
  57. package/dist/components/form.js.map +1 -0
  58. package/dist/components/hover-card.js +90 -0
  59. package/dist/components/hover-card.js.map +1 -0
  60. package/dist/components/info-tip.js +161 -0
  61. package/dist/components/info-tip.js.map +1 -0
  62. package/dist/components/input-group.js +124 -0
  63. package/dist/components/input-group.js.map +1 -0
  64. package/dist/components/input-otp.js +120 -0
  65. package/dist/components/input-otp.js.map +1 -0
  66. package/dist/components/input.js +26 -0
  67. package/dist/components/input.js.map +1 -0
  68. package/dist/components/item.js +167 -0
  69. package/dist/components/item.js.map +1 -0
  70. package/dist/components/kbd.js +29 -0
  71. package/dist/components/kbd.js.map +1 -0
  72. package/dist/components/label.js +11 -0
  73. package/dist/components/label.js.map +1 -0
  74. package/dist/components/logo.js +41 -0
  75. package/dist/components/logo.js.map +1 -0
  76. package/dist/components/menubar.js +330 -0
  77. package/dist/components/menubar.js.map +1 -0
  78. package/dist/components/native-select.js +62 -0
  79. package/dist/components/native-select.js.map +1 -0
  80. package/dist/components/navigation-menu.js +204 -0
  81. package/dist/components/navigation-menu.js.map +1 -0
  82. package/dist/components/pagination.js +138 -0
  83. package/dist/components/pagination.js.map +1 -0
  84. package/dist/components/popover.js +104 -0
  85. package/dist/components/popover.js.map +1 -0
  86. package/dist/components/progress.js +30 -0
  87. package/dist/components/progress.js.map +1 -0
  88. package/dist/components/radio-group.js +113 -0
  89. package/dist/components/radio-group.js.map +1 -0
  90. package/dist/components/resizable.js +193 -0
  91. package/dist/components/resizable.js.map +1 -0
  92. package/dist/components/scroll-area.js +40 -0
  93. package/dist/components/scroll-area.js.map +1 -0
  94. package/dist/components/section-descriptor.js +88 -0
  95. package/dist/components/section-descriptor.js.map +1 -0
  96. package/dist/components/select-chevron.js +25 -0
  97. package/dist/components/select-chevron.js.map +1 -0
  98. package/dist/components/select.js +288 -0
  99. package/dist/components/select.js.map +1 -0
  100. package/dist/components/separator.js +31 -0
  101. package/dist/components/separator.js.map +1 -0
  102. package/dist/components/sheet.js +200 -0
  103. package/dist/components/sheet.js.map +1 -0
  104. package/dist/components/sidebar.js +326 -0
  105. package/dist/components/sidebar.js.map +1 -0
  106. package/dist/components/skeleton.js +18 -0
  107. package/dist/components/skeleton.js.map +1 -0
  108. package/dist/components/slider.js +138 -0
  109. package/dist/components/slider.js.map +1 -0
  110. package/dist/components/sonner.js +319 -0
  111. package/dist/components/sonner.js.map +1 -0
  112. package/dist/components/spinner.js +23 -0
  113. package/dist/components/spinner.js.map +1 -0
  114. package/dist/components/status-screen.js +145 -0
  115. package/dist/components/status-screen.js.map +1 -0
  116. package/dist/components/switch.js +54 -0
  117. package/dist/components/switch.js.map +1 -0
  118. package/dist/components/table.js +124 -0
  119. package/dist/components/table.js.map +1 -0
  120. package/dist/components/tabs.js +133 -0
  121. package/dist/components/tabs.js.map +1 -0
  122. package/dist/components/terminal.js +206 -0
  123. package/dist/components/terminal.js.map +1 -0
  124. package/dist/components/textarea.js +22 -0
  125. package/dist/components/textarea.js.map +1 -0
  126. package/dist/components/toggle-group.js +105 -0
  127. package/dist/components/toggle-group.js.map +1 -0
  128. package/dist/components/toggle.js +53 -0
  129. package/dist/components/toggle.js.map +1 -0
  130. package/dist/components/tooltip.js +102 -0
  131. package/dist/components/tooltip.js.map +1 -0
  132. package/dist/generated/accent.js +27 -0
  133. package/dist/generated/accent.js.map +1 -0
  134. package/dist/generated/accordion.js +13 -0
  135. package/dist/generated/accordion.js.map +1 -0
  136. package/dist/generated/alert-dialog.js +15 -0
  137. package/dist/generated/alert-dialog.js.map +1 -0
  138. package/dist/generated/alert.js +16 -0
  139. package/dist/generated/alert.js.map +1 -0
  140. package/dist/generated/avatar.js +9 -0
  141. package/dist/generated/avatar.js.map +1 -0
  142. package/dist/generated/badge.js +13 -0
  143. package/dist/generated/badge.js.map +1 -0
  144. package/dist/generated/band.js +39 -0
  145. package/dist/generated/band.js.map +1 -0
  146. package/dist/generated/breadcrumb.js +15 -0
  147. package/dist/generated/breadcrumb.js.map +1 -0
  148. package/dist/generated/button-group.js +14 -0
  149. package/dist/generated/button-group.js.map +1 -0
  150. package/dist/generated/button.js +30 -0
  151. package/dist/generated/button.js.map +1 -0
  152. package/dist/generated/calendar.js +29 -0
  153. package/dist/generated/calendar.js.map +1 -0
  154. package/dist/generated/card.js +17 -0
  155. package/dist/generated/card.js.map +1 -0
  156. package/dist/generated/carousel.js +31 -0
  157. package/dist/generated/carousel.js.map +1 -0
  158. package/dist/generated/chart.js +9 -0
  159. package/dist/generated/chart.js.map +1 -0
  160. package/dist/generated/checkbox.js +7 -0
  161. package/dist/generated/checkbox.js.map +1 -0
  162. package/dist/generated/command.js +27 -0
  163. package/dist/generated/command.js.map +1 -0
  164. package/dist/generated/container.js +5 -0
  165. package/dist/generated/container.js.map +1 -0
  166. package/dist/generated/context-menu.js +19 -0
  167. package/dist/generated/context-menu.js.map +1 -0
  168. package/dist/generated/date-time-picker.js +15 -0
  169. package/dist/generated/date-time-picker.js.map +1 -0
  170. package/dist/generated/dialog.js +17 -0
  171. package/dist/generated/dialog.js.map +1 -0
  172. package/dist/generated/drawer.js +26 -0
  173. package/dist/generated/drawer.js.map +1 -0
  174. package/dist/generated/dropdown-menu.js +21 -0
  175. package/dist/generated/dropdown-menu.js.map +1 -0
  176. package/dist/generated/empty.js +20 -0
  177. package/dist/generated/empty.js.map +1 -0
  178. package/dist/generated/field.js +33 -0
  179. package/dist/generated/field.js.map +1 -0
  180. package/dist/generated/focus.js +5 -0
  181. package/dist/generated/focus.js.map +1 -0
  182. package/dist/generated/form.js +11 -0
  183. package/dist/generated/form.js.map +1 -0
  184. package/dist/generated/hover-card.js +5 -0
  185. package/dist/generated/hover-card.js.map +1 -0
  186. package/dist/generated/input-group.js +29 -0
  187. package/dist/generated/input-group.js.map +1 -0
  188. package/dist/generated/input-otp.js +15 -0
  189. package/dist/generated/input-otp.js.map +1 -0
  190. package/dist/generated/input.js +11 -0
  191. package/dist/generated/input.js.map +1 -0
  192. package/dist/generated/item.js +40 -0
  193. package/dist/generated/item.js.map +1 -0
  194. package/dist/generated/kbd.js +7 -0
  195. package/dist/generated/kbd.js.map +1 -0
  196. package/dist/generated/label.js +5 -0
  197. package/dist/generated/label.js.map +1 -0
  198. package/dist/generated/menubar.js +27 -0
  199. package/dist/generated/menubar.js.map +1 -0
  200. package/dist/generated/navigation-menu.js +19 -0
  201. package/dist/generated/navigation-menu.js.map +1 -0
  202. package/dist/generated/popover.js +5 -0
  203. package/dist/generated/popover.js.map +1 -0
  204. package/dist/generated/progress.js +7 -0
  205. package/dist/generated/progress.js.map +1 -0
  206. package/dist/generated/radio-group.js +7 -0
  207. package/dist/generated/radio-group.js.map +1 -0
  208. package/dist/generated/resizable.js +11 -0
  209. package/dist/generated/resizable.js.map +1 -0
  210. package/dist/generated/scroll-area.js +14 -0
  211. package/dist/generated/scroll-area.js.map +1 -0
  212. package/dist/generated/select.js +15 -0
  213. package/dist/generated/select.js.map +1 -0
  214. package/dist/generated/separator.js +10 -0
  215. package/dist/generated/separator.js.map +1 -0
  216. package/dist/generated/sheet.js +25 -0
  217. package/dist/generated/sheet.js.map +1 -0
  218. package/dist/generated/sidebar.js +41 -0
  219. package/dist/generated/sidebar.js.map +1 -0
  220. package/dist/generated/skeleton.js +5 -0
  221. package/dist/generated/skeleton.js.map +1 -0
  222. package/dist/generated/slider.js +11 -0
  223. package/dist/generated/slider.js.map +1 -0
  224. package/dist/generated/sonner.js +30 -0
  225. package/dist/generated/sonner.js.map +1 -0
  226. package/dist/generated/switch.js +7 -0
  227. package/dist/generated/switch.js.map +1 -0
  228. package/dist/generated/table.js +21 -0
  229. package/dist/generated/table.js.map +1 -0
  230. package/dist/generated/tabs.js +11 -0
  231. package/dist/generated/tabs.js.map +1 -0
  232. package/dist/generated/terminal.js +70 -0
  233. package/dist/generated/terminal.js.map +1 -0
  234. package/dist/generated/textarea.js +11 -0
  235. package/dist/generated/textarea.js.map +1 -0
  236. package/dist/generated/toggle.js +18 -0
  237. package/dist/generated/toggle.js.map +1 -0
  238. package/dist/generated/tooltip.js +5 -0
  239. package/dist/generated/tooltip.js.map +1 -0
  240. package/dist/index.d.ts +141 -34
  241. package/dist/index.js +73 -8623
  242. package/dist/lib/cn.js +12 -0
  243. package/dist/lib/cn.js.map +1 -0
  244. package/dist/lib/focus.js +5 -0
  245. package/dist/lib/focus.js.map +1 -0
  246. package/dist/palette-cli.js +41 -0
  247. package/dist/palette-cli.js.map +1 -0
  248. package/dist/palette.d.ts +80 -0
  249. package/dist/palette.js +25 -0
  250. package/dist/palette.js.map +1 -0
  251. package/dist/primitives/dismissable-layer.js +35 -0
  252. package/dist/primitives/dismissable-layer.js.map +1 -0
  253. package/dist/primitives/focus-scope.js +58 -0
  254. package/dist/primitives/focus-scope.js.map +1 -0
  255. package/dist/primitives/merge-refs.js +13 -0
  256. package/dist/primitives/merge-refs.js.map +1 -0
  257. package/dist/primitives/portal.js +19 -0
  258. package/dist/primitives/portal.js.map +1 -0
  259. package/dist/primitives/presence.js +45 -0
  260. package/dist/primitives/presence.js.map +1 -0
  261. package/dist/primitives/slot.js +39 -0
  262. package/dist/primitives/slot.js.map +1 -0
  263. package/dist/primitives/use-controllable-state.js +24 -0
  264. package/dist/primitives/use-controllable-state.js.map +1 -0
  265. package/dist/primitives/use-floating.js +128 -0
  266. package/dist/primitives/use-floating.js.map +1 -0
  267. package/dist/primitives/use-hover-intent.js +50 -0
  268. package/dist/primitives/use-hover-intent.js.map +1 -0
  269. package/dist/primitives/use-roving-focus.js +40 -0
  270. package/dist/primitives/use-roving-focus.js.map +1 -0
  271. package/dist/primitives/walk-elements.js +13 -0
  272. package/dist/primitives/walk-elements.js.map +1 -0
  273. package/package.json +15 -5
  274. package/styles/ev.css +73 -0
  275. package/styles/theme.css +470 -0
  276. package/styles/tokens.css +129 -90
  277. package/dist/index.js.map +0 -1
package/dist/index.d.ts CHANGED
@@ -45,9 +45,10 @@ declare function useControllableState<T>(opts: {
45
45
  }): [T, (next: T) => void];
46
46
 
47
47
  /**
48
- * Renders its children into `container` (default `document.body`) via
49
- * `react-dom`'s `createPortal` — the dep-light stand-in for
50
- * `@radix-ui/react-portal`. SSR-safe: renders nothing until mounted.
48
+ * Renders its children into `container` (default: the nearest
49
+ * {@link PortalProvider}'s, else `document.body`) via `react-dom`'s
50
+ * `createPortal` — the dep-light stand-in for `@radix-ui/react-portal`.
51
+ * SSR-safe: renders nothing until mounted.
51
52
  *
52
53
  * Rust has no portal counterpart (see the README "Limitations"): `ev_lib::uikit`
53
54
  * overlays render inline with fixed positioning instead.
@@ -56,6 +57,18 @@ interface PortalProps {
56
57
  children: React.ReactNode;
57
58
  container?: Element | null;
58
59
  }
60
+ interface PortalProviderProps {
61
+ /** Where every overlay beneath this provider mounts; `null` falls back to `document.body`. */
62
+ container: Element | null;
63
+ children?: React.ReactNode;
64
+ }
65
+ /**
66
+ * Re-targets every overlay beneath it (Dialog, Select, Popover, Tooltip, …)
67
+ * into `container`. Tokens are inherited custom properties, so an overlay
68
+ * portaled to `document.body` leaves its `[data-brand]` scope and paints in
69
+ * the root palette; mounted inside the scope, it keeps the brand's.
70
+ */
71
+ declare function PortalProvider({ container, children }: PortalProviderProps): React.JSX.Element;
59
72
  declare function Portal({ children, container }: PortalProps): React.ReactPortal | null;
60
73
 
61
74
  /**
@@ -195,7 +208,7 @@ declare function useHoverIntent(opts: {
195
208
  declare function mergeRefs<T>(...refs: Array<React.Ref<T> | undefined>): React.RefCallback<T>;
196
209
 
197
210
  declare const alertVariants: {
198
- readonly neutral: "bg-card text-ink";
211
+ readonly neutral: "bg-card text-ink border-border";
199
212
  readonly destructive: "text-accent-error bg-card [&>svg]:text-current *:data-[slot=alert-description]:text-ink-mid";
200
213
  readonly success: "text-positive bg-card [&>svg]:text-current *:data-[slot=alert-description]:text-ink-mid";
201
214
  readonly info: "text-accent-info bg-card [&>svg]:text-current *:data-[slot=alert-description]:text-ink-mid";
@@ -214,10 +227,10 @@ declare function AvatarImage({ className, onError, ...props }: React.ComponentPr
214
227
  declare function AvatarFallback({ className, ...props }: React.ComponentProps<"div">): React.JSX.Element;
215
228
 
216
229
  declare const badgeVariants: {
217
- readonly primary: "border-transparent bg-primary text-on-primary [a&]:hover:bg-primary/90";
218
- readonly secondary: "border-transparent bg-secondary text-on-secondary [a&]:hover:bg-secondary/90";
219
- readonly destructive: "border-transparent bg-accent-error text-on-accent-error [a&]:hover:bg-accent-error/90 focus-visible:ring-accent-error/20";
220
- readonly outline: "text-ink [a&]:hover:bg-hover [a&]:hover:text-ink";
230
+ readonly primary: "border-transparent bg-primary text-on-primary [a&]:hover:bg-primary/90 focus-visible:ring-0 focus-visible:outline-solid focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-ring";
231
+ readonly secondary: "border-transparent bg-secondary text-on-secondary [a&]:hover:bg-secondary/90 focus-visible:ring-0 focus-visible:outline-solid focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-ring";
232
+ readonly destructive: "border-transparent bg-accent-error text-on-accent-error [a&]:hover:bg-accent-error/90 focus-visible:ring-accent-error/20 focus-visible:ring-0 focus-visible:outline-solid focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-ring";
233
+ readonly outline: "border-border text-ink [a&]:hover:bg-hover [a&]:hover:text-ink";
221
234
  readonly success: "border-transparent bg-positive/20 text-positive";
222
235
  };
223
236
  type BadgeVariant = keyof typeof badgeVariants;
@@ -249,11 +262,11 @@ declare const accentTextClasses: {
249
262
  type Accent = keyof typeof accentTextClasses;
250
263
 
251
264
  declare const buttonVariantClasses: {
252
- readonly primary: "bg-primary text-on-primary hover:bg-primary/90";
253
- readonly secondary: "bg-secondary text-on-secondary hover:bg-secondary/80";
254
- readonly outline: "border bg-transparent shadow-xs hover:bg-hover hover:text-ink";
265
+ readonly primary: "bg-primary text-on-primary hover:bg-primary/90 focus-visible:ring-0 focus-visible:outline-solid focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-ring";
266
+ readonly secondary: "bg-secondary text-on-secondary hover:bg-secondary/80 focus-visible:ring-0 focus-visible:outline-solid focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-ring";
267
+ readonly outline: "border border-input bg-transparent shadow-xs hover:bg-hover hover:text-ink";
255
268
  readonly ghost: "hover:bg-hover hover:text-ink";
256
- readonly destructive: "bg-accent-error text-on-accent-error hover:bg-accent-error/90 focus-visible:ring-accent-error/20";
269
+ readonly destructive: "bg-accent-error text-on-accent-error hover:bg-accent-error/90 focus-visible:ring-accent-error/20 focus-visible:ring-0 focus-visible:outline-solid focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-ring";
257
270
  readonly link: "text-primary-ink underline-offset-4 hover:underline";
258
271
  };
259
272
  type ButtonVariant = keyof typeof buttonVariantClasses;
@@ -349,11 +362,31 @@ declare function FieldLegend({ className, variant, ...props }: React.ComponentPr
349
362
  variant?: "legend" | "label";
350
363
  }): React.JSX.Element;
351
364
  declare function FieldGroup({ className, ...props }: React.ComponentProps<"div">): React.JSX.Element;
352
- declare function Field({ className, orientation, ...props }: React.ComponentProps<"div"> & {
365
+ /**
366
+ * A labelled control. `Field` mints one id and hands it to both ends: its
367
+ * `FieldLabel` takes it as `for`, and the kit's `Input`, `Textarea`,
368
+ * `NativeSelect`, `SelectTrigger`, `Checkbox` and `Switch` take it as `id` —
369
+ * each only when the caller passed none. `controlId` names the id instead of
370
+ * minting one. One control per `Field`: a field that holds two has to name
371
+ * their ids by hand, or both would claim the one id (a development warning
372
+ * says so).
373
+ */
374
+ declare function Field({ className, orientation, controlId, ...props }: React.ComponentProps<"div"> & {
353
375
  orientation?: FieldOrientation;
376
+ controlId?: string;
354
377
  }): React.JSX.Element;
355
378
  declare function FieldContent({ className, ...props }: React.ComponentProps<"div">): React.JSX.Element;
356
- declare function FieldLabel({ className, ...props }: React.ComponentProps<typeof Label>): React.JSX.Element;
379
+ interface FieldLabelProps extends Omit<React.ComponentProps<typeof Label>, "htmlFor"> {
380
+ /** `null` opts out of the `Field`'s id: the label then has no `for` at all. */
381
+ htmlFor?: string | null;
382
+ }
383
+ /**
384
+ * Takes its `Field`'s id as `for` unless it wraps a control itself — a label
385
+ * around an `<input>` already labels it, and a `for` pointing elsewhere would
386
+ * steal the click. A control inside a component of yours is invisible to that
387
+ * check; pass `htmlFor={null}` there.
388
+ */
389
+ declare function FieldLabel({ className, htmlFor, children, ...props }: FieldLabelProps): React.JSX.Element;
357
390
  declare function FieldTitle({ className, ...props }: React.ComponentProps<"div">): React.JSX.Element;
358
391
  declare function FieldDescription({ className, ...props }: React.ComponentProps<"p">): React.JSX.Element;
359
392
  declare function FieldSeparator({ children, className, ...props }: React.ComponentProps<"div"> & {
@@ -379,9 +412,13 @@ declare function SectionDescriptor({ title, icon, collapsible, defaultOpen, clas
379
412
  /**
380
413
  * A 12-col footer grid — brand 3 | sitemap groups 2 each | offices 3 |
381
414
  * newsletter 2 — with the legal links and copyright line. On mobile the sitemap
382
- * columns sit side by side. Every string is the caller's; the `offices` and
383
- * `newsletter` columns are omitted when empty. `children` render right after the
384
- * `<footer>` tag — the slot for app-side extras like a build-version easter egg.
415
+ * columns sit side by side. The kit brings no content of its own: every string,
416
+ * the mark and the lock-up are the caller's, and each column renders only when
417
+ * it has something in it. `children` render right after the `<footer>` tag —
418
+ * the slot for app-side extras like a build-version easter egg.
419
+ *
420
+ * The lock-up is either composed from `mark` + `brand` + `tagline`, or handed
421
+ * over whole as `lockup` when a brand's arrangement is not that one.
385
422
  *
386
423
  * `linkComponent` lets Next hosts pass `next/link`; everyone else gets `<a>`.
387
424
  */
@@ -398,13 +435,16 @@ interface FooterOffice {
398
435
  address: string;
399
436
  }
400
437
  interface FooterProps {
401
- brand: string;
402
- description: string;
403
- copyright: string;
404
- nav: readonly FooterLinkGroup[];
438
+ /** The whole lock-up; replaces the one `mark` + `brand` + `tagline` compose. */
439
+ lockup?: React.ReactNode;
440
+ /** The wordmark beside the mark, set in the display family. */
441
+ brand?: string;
405
442
  /** The mark beside the brand name. Sized by the caller. */
406
443
  mark?: React.ReactNode;
407
444
  tagline?: string;
445
+ description?: React.ReactNode;
446
+ copyright?: React.ReactNode;
447
+ nav?: readonly FooterLinkGroup[];
408
448
  offices?: readonly FooterOffice[];
409
449
  officesHeading?: string;
410
450
  legalLinks?: readonly FooterLink[];
@@ -417,11 +457,31 @@ interface FooterProps {
417
457
  linkComponent?: React.ElementType;
418
458
  children?: React.ReactNode;
419
459
  }
420
- declare function Footer({ brand, description, copyright, nav, mark, tagline, offices, officesHeading, legalLinks, newsletter, newsletterHeading, newsletterBlurb, version, commitHref, linkComponent, children, }: FooterProps): React.JSX.Element;
460
+ declare function Footer({ lockup, brand, mark, tagline, description, copyright, nav, offices, officesHeading, legalLinks, newsletter, newsletterHeading, newsletterBlurb, version, commitHref, linkComponent, children, }: FooterProps): React.JSX.Element;
461
+
462
+ declare const inputSizeClasses: {
463
+ readonly sm: "h-8";
464
+ readonly md: "h-9";
465
+ readonly lg: "h-12 px-4 text-base md:text-base file:h-9";
466
+ };
467
+ type InputSize = keyof typeof inputSizeClasses;
468
+
469
+ interface InputProps extends Omit<React.ComponentPropsWithoutRef<"input">, "size"> {
470
+ size?: InputSize;
471
+ }
472
+ declare const Input: React.ForwardRefExoticComponent<InputProps & React.RefAttributes<HTMLInputElement>>;
421
473
 
422
- declare const Input: React.ForwardRefExoticComponent<Omit<React.DetailedHTMLProps<React.InputHTMLAttributes<HTMLInputElement>, HTMLInputElement>, "ref"> & React.RefAttributes<HTMLInputElement>>;
474
+ declare const textareaSizeClasses: {
475
+ readonly sm: "min-h-14";
476
+ readonly md: "min-h-16";
477
+ readonly lg: "min-h-20 px-4 py-3 text-base md:text-base";
478
+ };
479
+ type TextareaSize = keyof typeof textareaSizeClasses;
423
480
 
424
- declare function Textarea({ className, ...props }: React.ComponentProps<"textarea">): React.JSX.Element;
481
+ interface TextareaProps extends React.ComponentProps<"textarea"> {
482
+ size?: TextareaSize;
483
+ }
484
+ declare function Textarea({ className, id, size, ...props }: TextareaProps): React.JSX.Element;
425
485
 
426
486
  /**
427
487
  * The consumer's mark, painted as a CSS mask (`backgroundColor: currentColor` +
@@ -470,7 +530,7 @@ interface InputGroupButtonProps extends Omit<ButtonProps, "size"> {
470
530
  }
471
531
  declare function InputGroupButton({ className, type, variant, size, ...props }: InputGroupButtonProps): React.JSX.Element;
472
532
  declare function InputGroupText({ className, ...props }: React.ComponentProps<"span">): React.JSX.Element;
473
- declare function InputGroupInput({ className, ...props }: React.ComponentProps<"input">): React.JSX.Element;
533
+ declare function InputGroupInput({ className, ...props }: Omit<React.ComponentProps<"input">, "size">): React.JSX.Element;
474
534
  declare function InputGroupTextarea({ className, ...props }: React.ComponentProps<"textarea">): React.JSX.Element;
475
535
 
476
536
  declare const separatorOrientations: {
@@ -497,7 +557,7 @@ declare const itemSizes: {
497
557
  type ItemSize = keyof typeof itemSizes;
498
558
  declare const itemMediaVariants: {
499
559
  readonly bare: "bg-transparent";
500
- readonly icon: "size-8 border rounded-sm bg-muted [&_svg:not([class*='size-'])]:size-4";
560
+ readonly icon: "size-8 border border-border rounded-sm bg-muted [&_svg:not([class*='size-'])]:size-4";
501
561
  readonly image: "size-10 rounded-sm overflow-hidden [&_img]:size-full [&_img]:object-cover";
502
562
  };
503
563
  type ItemMediaVariant = keyof typeof itemMediaVariants;
@@ -677,7 +737,9 @@ interface SectionProps extends React.ComponentProps<"section"> {
677
737
  /**
678
738
  * `polarity` sets the token scope on the element, so everything inside reads
679
739
  * `text-ink` / `border-border` / `text-ink-soft` and resolves correctly on
680
- * either side. `tight` is the shorter vertical rhythm.
740
+ * either side. Omitted, the band sets no scope and inherits its parent's: a
741
+ * default of `light` would flip every band of a dark-first brand. `tight` is
742
+ * the shorter vertical rhythm.
681
743
  */
682
744
  declare function Section({ polarity, surface, tight, className, ...props }: SectionProps): React.JSX.Element;
683
745
  /** The label above a headline, in the interactive role's colour. */
@@ -782,14 +844,14 @@ interface SwitchProps extends Omit<React.ComponentProps<"button">, "onChange"> {
782
844
  defaultChecked?: boolean;
783
845
  onCheckedChange?: (checked: boolean) => void;
784
846
  }
785
- declare function Switch({ className, checked, defaultChecked, onCheckedChange, onClick, disabled, ...props }: SwitchProps): React.JSX.Element;
847
+ declare function Switch({ className, checked, defaultChecked, onCheckedChange, onClick, disabled, id, ...props }: SwitchProps): React.JSX.Element;
786
848
 
787
849
  interface CheckboxProps extends Omit<React.ComponentProps<"button">, "onChange"> {
788
850
  checked?: boolean;
789
851
  defaultChecked?: boolean;
790
852
  onCheckedChange?: (checked: boolean) => void;
791
853
  }
792
- declare function Checkbox({ className, checked, defaultChecked, onCheckedChange, onClick, disabled, ...props }: CheckboxProps): React.JSX.Element;
854
+ declare function Checkbox({ className, checked, defaultChecked, onCheckedChange, onClick, disabled, id, ...props }: CheckboxProps): React.JSX.Element;
793
855
 
794
856
  interface RadioGroupProps extends Omit<React.ComponentProps<"div">, "onChange"> {
795
857
  value?: string;
@@ -1313,6 +1375,19 @@ declare function DrawerFooter({ className, ...props }: React.ComponentProps<"div
1313
1375
  declare function DrawerTitle({ className, ...props }: React.ComponentProps<"div">): React.JSX.Element;
1314
1376
  declare function DrawerDescription({ className, ...props }: React.ComponentProps<"div">): React.JSX.Element;
1315
1377
 
1378
+ declare const selectTriggerSizeClasses: {
1379
+ readonly sm: "h-8";
1380
+ readonly md: "h-9";
1381
+ readonly lg: "h-12 px-4 text-base";
1382
+ };
1383
+ type SelectTriggerSize = keyof typeof selectTriggerSizeClasses;
1384
+ declare const nativeSelectSizeClasses: {
1385
+ readonly sm: "h-8";
1386
+ readonly md: "h-9";
1387
+ readonly lg: "h-12 pr-11 pl-4 text-base md:text-base";
1388
+ };
1389
+ type NativeSelectSize = keyof typeof nativeSelectSizeClasses;
1390
+
1316
1391
  interface SelectProps {
1317
1392
  value?: string;
1318
1393
  defaultValue?: string;
@@ -1324,13 +1399,19 @@ interface SelectProps {
1324
1399
  }
1325
1400
  declare function Select({ value, defaultValue, onValueChange, open, defaultOpen, onOpenChange, children, }: SelectProps): React.JSX.Element;
1326
1401
  interface SelectTriggerProps extends React.ComponentProps<"button"> {
1327
- size?: "sm" | "md";
1402
+ size?: SelectTriggerSize;
1328
1403
  }
1329
- declare function SelectTrigger({ className, size, onClick, children, ...props }: SelectTriggerProps): React.JSX.Element;
1404
+ declare function SelectTrigger({ className, size, onClick, children, id, ...props }: SelectTriggerProps): React.JSX.Element;
1330
1405
  interface SelectValueProps extends React.ComponentProps<"span"> {
1331
1406
  placeholder?: string;
1332
1407
  }
1333
- declare function SelectValue({ className, placeholder, ...props }: SelectValueProps): React.JSX.Element;
1408
+ /**
1409
+ * The chosen option's label — the `textValue` of the `SelectItem` whose `value`
1410
+ * matches, else the text of its children — or `placeholder` while nothing is
1411
+ * chosen. `children`, when given,
1412
+ * replace the label outright.
1413
+ */
1414
+ declare function SelectValue({ className, placeholder, children, ...props }: SelectValueProps): React.JSX.Element;
1334
1415
  interface SelectContentProps extends React.ComponentProps<"div"> {
1335
1416
  side?: "top" | "right" | "bottom" | "left";
1336
1417
  align?: "start" | "center" | "end";
@@ -1344,12 +1425,38 @@ interface SelectItemContext {
1344
1425
  }
1345
1426
  interface SelectItemProps extends React.ComponentProps<"div">, SelectItemContext {
1346
1427
  value: string;
1428
+ /** What the trigger shows once this item is chosen; defaults to the text of `children`. */
1429
+ textValue?: string;
1347
1430
  }
1348
- declare function SelectItem({ className, value, children, __index, __active, __setActive, ...props }: SelectItemProps): React.JSX.Element;
1431
+ declare function SelectItem({ className, value, textValue, children, __index, __active, __setActive, ...props }: SelectItemProps): React.JSX.Element;
1349
1432
  declare function SelectGroup({ className, ...props }: React.ComponentProps<"div">): React.JSX.Element;
1350
1433
  declare function SelectLabel({ className, ...props }: React.ComponentProps<"div">): React.JSX.Element;
1351
1434
  declare function SelectSeparator({ className, ...props }: React.ComponentProps<"div">): React.JSX.Element;
1352
1435
 
1436
+ /**
1437
+ * A real `<select>` wearing the kit's control: the form posts its `name` with no
1438
+ * script at all, and the popup is the platform's own (keyboard, type-ahead, the
1439
+ * mobile picker). `Select` is the scripted combobox for everything a native
1440
+ * popup cannot draw; this is for a form that has to submit before hydration.
1441
+ *
1442
+ * A component of its own rather than a `native` switch on `Select`: none of
1443
+ * `SelectTrigger` / `SelectValue` / `SelectContent` has a native counterpart, so
1444
+ * a flag would leave most of the compound API meaning nothing in one mode.
1445
+ *
1446
+ * `className` styles the `<select>`; `wrapperClassName` the box that holds it
1447
+ * and the arrow — that box is what a layout sizes. It is `w-full` like `Input`,
1448
+ * so the two line up in a form column; narrow it with `wrapperClassName`.
1449
+ */
1450
+ interface NativeSelectProps extends Omit<React.ComponentPropsWithoutRef<"select">, "size" | "multiple"> {
1451
+ size?: NativeSelectSize;
1452
+ /** An empty, unpickable first option shown until a value is chosen. */
1453
+ placeholder?: string;
1454
+ wrapperClassName?: string;
1455
+ }
1456
+ declare const NativeSelect: React.ForwardRefExoticComponent<NativeSelectProps & React.RefAttributes<HTMLSelectElement>>;
1457
+ declare function NativeSelectOption(props: React.ComponentProps<"option">): React.JSX.Element;
1458
+ declare function NativeSelectGroup(props: React.ComponentProps<"optgroup">): React.JSX.Element;
1459
+
1353
1460
  interface CommandProps extends React.ComponentProps<"div"> {
1354
1461
  search?: string;
1355
1462
  defaultSearch?: string;
@@ -1748,4 +1855,4 @@ declare function OrderFormSubmit({ side, className, ...props }: OrderFormSubmitP
1748
1855
  /** The open-orders pane with nothing in it. */
1749
1856
  declare function OpenOrdersEmpty({ className, ...props }: React.ComponentProps<"div">): React.JSX.Element;
1750
1857
 
1751
- export { type Accent, Accordion, AccordionContent, AccordionItem, type AccordionItemProps, type AccordionProps, AccordionTrigger, Alert, AlertDescription, AlertDialog, AlertDialogAction, type AlertDialogActionProps, AlertDialogCancel, type AlertDialogCancelProps, AlertDialogContent, type AlertDialogContentProps, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogOverlay, type AlertDialogOverlayProps, type AlertDialogProps, AlertDialogTitle, AlertDialogTrigger, type AlertDialogTriggerProps, type AlertProps, AlertTitle, type AlertVariant, type Align, Avatar, AvatarFallback, AvatarImage, Badge, type BadgeProps, type BadgeVariant, type BookSide, Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, type BreadcrumbLinkProps, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator, Button, ButtonGroup, type ButtonGroupOrientation, type ButtonGroupProps, ButtonGroupSeparator, ButtonGroupText, type ButtonGroupTextProps, type ButtonProps, type ButtonSize, type ButtonVariant, type ButtonVariantsOptions, Calendar, type CalendarProps, Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, Carousel, CarouselContent, CarouselEdgeFade, CarouselItem, CarouselNext, CarouselPrevious, type CarouselProps, type ChartConfig, ChartContainer, type ChartItem, ChartLegend, ChartLegendContent, ChartStyle, ChartTooltip, ChartTooltipContent, Check, Checkbox, type CheckboxProps, Collapsible, CollapsibleContent, type CollapsibleProps, CollapsibleTrigger, Command, CommandDialog, type CommandDialogProps, CommandEmpty, CommandGroup, type CommandGroupProps, CommandInput, CommandItem, type CommandItemProps, CommandList, type CommandProps, CommandSeparator, CommandShortcut, Container, type ContainerProps, ContextMenu, ContextMenuCheckboxItem, type ContextMenuCheckboxItemProps, ContextMenuContent, ContextMenuGroup, ContextMenuItem, type ContextMenuItemProps, ContextMenuLabel, type ContextMenuLabelProps, ContextMenuPortal, type ContextMenuProps, ContextMenuRadioGroup, type ContextMenuRadioGroupProps, ContextMenuRadioItem, type ContextMenuRadioItemProps, ContextMenuSeparator, ContextMenuShortcut, ContextMenuSub, ContextMenuSubContent, type ContextMenuSubProps, ContextMenuSubTrigger, type ContextMenuSubTriggerProps, ContextMenuTrigger, type ContextMenuTriggerProps, DateTimePicker, type DateTimePickerLabels, type DateTimePickerProps, Dialog, DialogClose, type DialogCloseProps, DialogContent, type DialogContentProps, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, type DialogOverlayProps, DialogPortal, type DialogPortalProps, type DialogProps, DialogTitle, DialogTrigger, type DialogTriggerProps, Display, Drawer, DrawerClose, type DrawerCloseProps, DrawerContent, DrawerDescription, type DrawerDirection, DrawerFooter, DrawerHeader, DrawerOverlay, type DrawerProps, DrawerTitle, DrawerTrigger, type DrawerTriggerProps, DropdownMenu, DropdownMenuCheckboxItem, type DropdownMenuCheckboxItemProps, DropdownMenuContent, type DropdownMenuContentProps, DropdownMenuGroup, DropdownMenuItem, type DropdownMenuItemProps, DropdownMenuLabel, type DropdownMenuLabelProps, DropdownMenuPortal, type DropdownMenuProps, DropdownMenuRadioGroup, type DropdownMenuRadioGroupProps, DropdownMenuRadioItem, type DropdownMenuRadioItemProps, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, type DropdownMenuSubProps, DropdownMenuSubTrigger, type DropdownMenuSubTriggerProps, DropdownMenuTrigger, type DropdownMenuTriggerProps, Empty, EmptyContent, EmptyDescription, EmptyHeader, EmptyMedia, type EmptyMediaProps, type EmptyMediaVariant, EmptyTitle, Eyebrow, Field, FieldContent, FieldDescription, FieldError, FieldGroup, FieldLabel, FieldLegend, type FieldOrientation, FieldSeparator, FieldSet, FieldTitle, type FloatingResult, Footer, type FooterLink, type FooterLinkGroup, type FooterOffice, type FooterProps, Forbidden, Form, FormControl, FormDescription, FormItem, FormLabel, FormMessage, HoverCard, HoverCardContent, type HoverCardContentProps, type HoverCardProps, HoverCardTrigger, type HoverCardTriggerProps, type HoverIntentHandlers, InfoTip, InfoTipContent, type InfoTipContentProps, type InfoTipProps, InfoTipTrigger, type InfoTipTriggerProps, Input, InputGroup, InputGroupAddon, type InputGroupAddonAlign, type InputGroupAddonProps, InputGroupButton, type InputGroupButtonProps, type InputGroupButtonSize, InputGroupInput, InputGroupText, InputGroupTextarea, InputOTP, InputOTPGroup, type InputOTPProps, InputOTPSeparator, InputOTPSlot, type InputOTPSlotProps, Item, ItemActions, ItemContent, ItemDescription, ItemFooter, ItemGroup, ItemHeader, ItemMedia, type ItemMediaProps, type ItemMediaVariant, type ItemProps, ItemSeparator, type ItemSize, ItemTitle, type ItemVariant, Kbd, KbdGroup, Label, Logo, type LogoProps, Menubar, MenubarCheckboxItem, MenubarContent, MenubarGroup, MenubarItem, MenubarLabel, MenubarMenu, type MenubarMenuProps, MenubarRadioGroup, type MenubarRadioGroupProps, MenubarRadioItem, MenubarSeparator, MenubarShortcut, MenubarSub, MenubarSubContent, type MenubarSubProps, MenubarSubTrigger, MenubarTrigger, NavigationMenu, NavigationMenuContent, NavigationMenuIndicator, NavigationMenuItem, type NavigationMenuItemProps, NavigationMenuLink, NavigationMenuList, NavigationMenuTrigger, NavigationMenuViewport, NotFound, OpenOrdersEmpty, OrderBook, OrderBookHead, type OrderBookHeadProps, OrderBookRow, type OrderBookRowProps, OrderBookSpread, OrderForm, OrderFormRow, type OrderFormRowProps, OrderFormSubmit, type OrderFormSubmitProps, type OrderSide, Pagination, PaginationContent, PaginationEllipsis, PaginationItem, PaginationLink, type PaginationLinkProps, PaginationNext, PaginationPrevious, type Polarity, Popover, PopoverAnchor, type PopoverAnchorProps, PopoverContent, type PopoverContentProps, type PopoverProps, PopoverTrigger, type PopoverTriggerProps, Portal, type PortalProps, Progress, type ProgressProps, Prose, RadioGroup, RadioGroupItem, type RadioGroupItemProps, type RadioGroupProps, type ResizableDirection, ResizableHandle, type ResizableHandleProps, ResizablePanel, ResizablePanelGroup, type ResizablePanelGroupProps, type ResizablePanelProps, ScrollArea, ScrollBar, type ScrollBarOrientation, type ScrollBarProps, Section, SectionDescriptor, type SectionDescriptorProps, SectionHead, type SectionHeadProps, type SectionProps, Select, SelectContent, type SelectContentProps, SelectGroup, SelectItem, type SelectItemProps, SelectLabel, type SelectProps, SelectSeparator, SelectTrigger, type SelectTriggerProps, SelectValue, type SelectValueProps, Separator, type SeparatorOrientation, type SeparatorProps, ServerError, type ServerErrorProps, Sheet, SheetClose, type SheetCloseProps, SheetContent, type SheetContentProps, SheetDescription, SheetFooter, SheetHeader, SheetOverlay, type SheetOverlayProps, type SheetProps, SheetTitle, SheetTrigger, type SheetTriggerProps, type Side, Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupContent, SidebarGroupLabel, type SidebarGroupLabelProps, SidebarHeader, SidebarInset, SidebarMenu, SidebarMenuButton, type SidebarMenuButtonProps, type SidebarMenuButtonSize, SidebarMenuItem, type SidebarProps, SidebarProvider, type SidebarProviderProps, SidebarRail, SidebarSeparator, SidebarTrigger, Skeleton, Slider, type SliderProps, Slot, type SlotProps, Spinner, Stat, type StatProps, type StatusLinkData, type StatusPageProps, StatusScreen, type StatusScreenProps, type Surface, Switch, type SwitchProps, Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow, Tabs, TabsContent, type TabsContentProps, TabsList, type TabsProps, TabsTrigger, type TabsTriggerProps, Terminal, type TerminalArea, TerminalChart, TerminalPane, TerminalPaneBody, TerminalPaneHeader, type TerminalPaneProps, TerminalTicker, Textarea, TickerStat, type TickerStatProps, type Toast, type ToastFn, type ToastOptions, type ToastPosition, type ToastState, type ToastVariant, Toaster, type ToasterProps, Toggle, ToggleGroup, ToggleGroupItem, type ToggleGroupItemProps, type ToggleGroupProps, type ToggleProps, type ToggleSize, type ToggleVariant, type ToggleVariantsOptions, Tooltip, TooltipContent, type TooltipContentProps, type TooltipProps, TooltipProvider, type TooltipProviderProps, TooltipTrigger, type TooltipTriggerProps, TradesTapeRow, type TradesTapeRowProps, buttonVariants, cn, mergeRefs, navigationMenuTriggerStyle, statusCtaClass, toast, toggleVariants, useControllableState, useDismissableLayer, useFloating, useFocusScope, useHoverIntent, usePresence, useRovingFocus, useSidebar };
1858
+ export { type Accent, Accordion, AccordionContent, AccordionItem, type AccordionItemProps, type AccordionProps, AccordionTrigger, Alert, AlertDescription, AlertDialog, AlertDialogAction, type AlertDialogActionProps, AlertDialogCancel, type AlertDialogCancelProps, AlertDialogContent, type AlertDialogContentProps, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogOverlay, type AlertDialogOverlayProps, type AlertDialogProps, AlertDialogTitle, AlertDialogTrigger, type AlertDialogTriggerProps, type AlertProps, AlertTitle, type AlertVariant, type Align, Avatar, AvatarFallback, AvatarImage, Badge, type BadgeProps, type BadgeVariant, type BookSide, Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, type BreadcrumbLinkProps, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator, Button, ButtonGroup, type ButtonGroupOrientation, type ButtonGroupProps, ButtonGroupSeparator, ButtonGroupText, type ButtonGroupTextProps, type ButtonProps, type ButtonSize, type ButtonVariant, type ButtonVariantsOptions, Calendar, type CalendarProps, Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, Carousel, CarouselContent, CarouselEdgeFade, CarouselItem, CarouselNext, CarouselPrevious, type CarouselProps, type ChartConfig, ChartContainer, type ChartItem, ChartLegend, ChartLegendContent, ChartStyle, ChartTooltip, ChartTooltipContent, Check, Checkbox, type CheckboxProps, Collapsible, CollapsibleContent, type CollapsibleProps, CollapsibleTrigger, Command, CommandDialog, type CommandDialogProps, CommandEmpty, CommandGroup, type CommandGroupProps, CommandInput, CommandItem, type CommandItemProps, CommandList, type CommandProps, CommandSeparator, CommandShortcut, Container, type ContainerProps, ContextMenu, ContextMenuCheckboxItem, type ContextMenuCheckboxItemProps, ContextMenuContent, ContextMenuGroup, ContextMenuItem, type ContextMenuItemProps, ContextMenuLabel, type ContextMenuLabelProps, ContextMenuPortal, type ContextMenuProps, ContextMenuRadioGroup, type ContextMenuRadioGroupProps, ContextMenuRadioItem, type ContextMenuRadioItemProps, ContextMenuSeparator, ContextMenuShortcut, ContextMenuSub, ContextMenuSubContent, type ContextMenuSubProps, ContextMenuSubTrigger, type ContextMenuSubTriggerProps, ContextMenuTrigger, type ContextMenuTriggerProps, DateTimePicker, type DateTimePickerLabels, type DateTimePickerProps, Dialog, DialogClose, type DialogCloseProps, DialogContent, type DialogContentProps, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, type DialogOverlayProps, DialogPortal, type DialogPortalProps, type DialogProps, DialogTitle, DialogTrigger, type DialogTriggerProps, Display, Drawer, DrawerClose, type DrawerCloseProps, DrawerContent, DrawerDescription, type DrawerDirection, DrawerFooter, DrawerHeader, DrawerOverlay, type DrawerProps, DrawerTitle, DrawerTrigger, type DrawerTriggerProps, DropdownMenu, DropdownMenuCheckboxItem, type DropdownMenuCheckboxItemProps, DropdownMenuContent, type DropdownMenuContentProps, DropdownMenuGroup, DropdownMenuItem, type DropdownMenuItemProps, DropdownMenuLabel, type DropdownMenuLabelProps, DropdownMenuPortal, type DropdownMenuProps, DropdownMenuRadioGroup, type DropdownMenuRadioGroupProps, DropdownMenuRadioItem, type DropdownMenuRadioItemProps, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, type DropdownMenuSubProps, DropdownMenuSubTrigger, type DropdownMenuSubTriggerProps, DropdownMenuTrigger, type DropdownMenuTriggerProps, Empty, EmptyContent, EmptyDescription, EmptyHeader, EmptyMedia, type EmptyMediaProps, type EmptyMediaVariant, EmptyTitle, Eyebrow, Field, FieldContent, FieldDescription, FieldError, FieldGroup, FieldLabel, FieldLegend, type FieldOrientation, FieldSeparator, FieldSet, FieldTitle, type FloatingResult, Footer, type FooterLink, type FooterLinkGroup, type FooterOffice, type FooterProps, Forbidden, Form, FormControl, FormDescription, FormItem, FormLabel, FormMessage, HoverCard, HoverCardContent, type HoverCardContentProps, type HoverCardProps, HoverCardTrigger, type HoverCardTriggerProps, type HoverIntentHandlers, InfoTip, InfoTipContent, type InfoTipContentProps, type InfoTipProps, InfoTipTrigger, type InfoTipTriggerProps, Input, InputGroup, InputGroupAddon, type InputGroupAddonAlign, type InputGroupAddonProps, InputGroupButton, type InputGroupButtonProps, type InputGroupButtonSize, InputGroupInput, InputGroupText, InputGroupTextarea, InputOTP, InputOTPGroup, type InputOTPProps, InputOTPSeparator, InputOTPSlot, type InputOTPSlotProps, type InputProps, type InputSize, Item, ItemActions, ItemContent, ItemDescription, ItemFooter, ItemGroup, ItemHeader, ItemMedia, type ItemMediaProps, type ItemMediaVariant, type ItemProps, ItemSeparator, type ItemSize, ItemTitle, type ItemVariant, Kbd, KbdGroup, Label, Logo, type LogoProps, Menubar, MenubarCheckboxItem, MenubarContent, MenubarGroup, MenubarItem, MenubarLabel, MenubarMenu, type MenubarMenuProps, MenubarRadioGroup, type MenubarRadioGroupProps, MenubarRadioItem, MenubarSeparator, MenubarShortcut, MenubarSub, MenubarSubContent, type MenubarSubProps, MenubarSubTrigger, MenubarTrigger, NativeSelect, NativeSelectGroup, NativeSelectOption, type NativeSelectProps, type NativeSelectSize, NavigationMenu, NavigationMenuContent, NavigationMenuIndicator, NavigationMenuItem, type NavigationMenuItemProps, NavigationMenuLink, NavigationMenuList, NavigationMenuTrigger, NavigationMenuViewport, NotFound, OpenOrdersEmpty, OrderBook, OrderBookHead, type OrderBookHeadProps, OrderBookRow, type OrderBookRowProps, OrderBookSpread, OrderForm, OrderFormRow, type OrderFormRowProps, OrderFormSubmit, type OrderFormSubmitProps, type OrderSide, Pagination, PaginationContent, PaginationEllipsis, PaginationItem, PaginationLink, type PaginationLinkProps, PaginationNext, PaginationPrevious, type Polarity, Popover, PopoverAnchor, type PopoverAnchorProps, PopoverContent, type PopoverContentProps, type PopoverProps, PopoverTrigger, type PopoverTriggerProps, Portal, type PortalProps, PortalProvider, type PortalProviderProps, Progress, type ProgressProps, Prose, RadioGroup, RadioGroupItem, type RadioGroupItemProps, type RadioGroupProps, type ResizableDirection, ResizableHandle, type ResizableHandleProps, ResizablePanel, ResizablePanelGroup, type ResizablePanelGroupProps, type ResizablePanelProps, ScrollArea, ScrollBar, type ScrollBarOrientation, type ScrollBarProps, Section, SectionDescriptor, type SectionDescriptorProps, SectionHead, type SectionHeadProps, type SectionProps, Select, SelectContent, type SelectContentProps, SelectGroup, SelectItem, type SelectItemProps, SelectLabel, type SelectProps, SelectSeparator, SelectTrigger, type SelectTriggerProps, type SelectTriggerSize, SelectValue, type SelectValueProps, Separator, type SeparatorOrientation, type SeparatorProps, ServerError, type ServerErrorProps, Sheet, SheetClose, type SheetCloseProps, SheetContent, type SheetContentProps, SheetDescription, SheetFooter, SheetHeader, SheetOverlay, type SheetOverlayProps, type SheetProps, SheetTitle, SheetTrigger, type SheetTriggerProps, type Side, Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupContent, SidebarGroupLabel, type SidebarGroupLabelProps, SidebarHeader, SidebarInset, SidebarMenu, SidebarMenuButton, type SidebarMenuButtonProps, type SidebarMenuButtonSize, SidebarMenuItem, type SidebarProps, SidebarProvider, type SidebarProviderProps, SidebarRail, SidebarSeparator, SidebarTrigger, Skeleton, Slider, type SliderProps, Slot, type SlotProps, Spinner, Stat, type StatProps, type StatusLinkData, type StatusPageProps, StatusScreen, type StatusScreenProps, type Surface, Switch, type SwitchProps, Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow, Tabs, TabsContent, type TabsContentProps, TabsList, type TabsProps, TabsTrigger, type TabsTriggerProps, Terminal, type TerminalArea, TerminalChart, TerminalPane, TerminalPaneBody, TerminalPaneHeader, type TerminalPaneProps, TerminalTicker, Textarea, type TextareaProps, type TextareaSize, TickerStat, type TickerStatProps, type Toast, type ToastFn, type ToastOptions, type ToastPosition, type ToastState, type ToastVariant, Toaster, type ToasterProps, Toggle, ToggleGroup, ToggleGroupItem, type ToggleGroupItemProps, type ToggleGroupProps, type ToggleProps, type ToggleSize, type ToggleVariant, type ToggleVariantsOptions, Tooltip, TooltipContent, type TooltipContentProps, type TooltipProps, TooltipProvider, type TooltipProviderProps, TooltipTrigger, type TooltipTriggerProps, TradesTapeRow, type TradesTapeRowProps, buttonVariants, cn, mergeRefs, navigationMenuTriggerStyle, statusCtaClass, toast, toggleVariants, useControllableState, useDismissableLayer, useFloating, useFocusScope, useHoverIntent, usePresence, useRovingFocus, useSidebar };