@evinvest/uikit 0.12.1 → 0.14.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.
package/README.md CHANGED
@@ -78,7 +78,6 @@ state, never its appearance (`Red`) and never its selection (`Default`); see
78
78
  and carries EV's values: a single dark palette on `:root, .dark`. A consumer
79
79
  with two polarities writes its own sheet against the same names.
80
80
 
81
- `styles/tokens-legacy.css` is the pre-0.11 vocabulary layered on top —
82
81
  `text-main-mist`, `bg-sidebar`, `text-muted-foreground` and the rest keep
83
82
  working, and the current tokens are re-pointed at the old values so rendered
84
83
  colour is unchanged. Import it instead while migrating; it goes away once every
@@ -130,7 +129,7 @@ element across the two ports.
130
129
  | overlay placement | inline `position:fixed` + `data-side` | `Portal` + `useFloating` |
131
130
  | dismiss / focus trap | full-screen backdrop / native order | `useDismissableLayer` / `useFocusScope` |
132
131
 
133
- ### Component inventory (all 60 bricks)
132
+ ### Component inventory (all 61 bricks)
134
133
 
135
134
  - **Tier A — static (22):** badge, button, button-group, card, input, textarea,
136
135
  label, field, separator, skeleton, spinner, kbd, table, container, alert,
@@ -142,13 +141,23 @@ element across the two ports.
142
141
  context-menu, menubar, navigation-menu, dialog, alert-dialog, sheet, drawer,
143
142
  select, command.
144
143
  - **Tier D — engines (5):** chart, calendar, sonner (toaster), form, resizable.
145
- - **Brand chrome — site shell (7):** header (marketing / compact density, plus
146
- `hideNav`), footer, logo, and the shared status pages — `StatusScreen` with the
147
- `NotFound` / `Forbidden` / `ServerError` presets (404 / 403 / 500).
144
+ - **Site chrome (7):** header (marketing / compact density, plus `hideNav`),
145
+ footer, logo, and the shared status pages — `StatusScreen` with the `NotFound`
146
+ / `Forbidden` / `ServerError` presets (404 / 403 / 500). The kit ships no
147
+ artwork: `Logo` masks whatever `--brand-mark` / `--brand-aspect` the consumer
148
+ declares beside the palette, and the status pages use it for their mark.
149
+ - **Features — composed screens (1):** terminal — a trading terminal over an
150
+ investment product's shares (`Terminal` grid placing each `TerminalPane` by
151
+ `TerminalArea`; `TerminalTicker` / `TickerStat`; `OrderBook` with
152
+ `OrderBookHead` / `OrderBookRow` / `OrderBookSpread`; `TradesTapeRow`;
153
+ `OrderForm` / `OrderFormRow` / `OrderFormSubmit`; `OpenOrdersEmpty`). Column
154
+ captions and every figure are the consumer's strings — the kit knows no
155
+ locale and no number format.
148
156
 
149
157
  The canonical variant set is the **superset** of the original cabinet (Rust) and
150
- landing (TS) sources — e.g. `Badge` keeps cabinet's `success` variant, `Button`
151
- keeps landing's `icon-sm`/`icon-lg` sizes.
158
+ landing (TS) sources — e.g. `Badge` keeps cabinet's `success` variant, and
159
+ `Button` keeps landing's square icon shape at every size, as the separate `icon`
160
+ boolean it always was in Rust (see [docs/spec/variants.md](../../docs/spec/variants.md)).
152
161
 
153
162
  ## Limitations
154
163
 
@@ -166,6 +175,11 @@ measuring needs host-only `web-sys`). Known gaps:
166
175
  themed SVG host (emits `--color-*` from its config); `ChartTooltipContent` /
167
176
  `ChartLegendContent` are presentational and take explicit items. Draw series
168
177
  yourself inside the container.
178
+ - **terminal:** no plotting engine and no state. `TerminalChart` is a sized
179
+ `relative` host that hands its element out (`ref` in TS, `id` in Rust) for a
180
+ consumer-chosen charting library to mount into; `OrderForm` only prevents the
181
+ submit's default — inputs, validation and the order itself are the
182
+ consumer's. The open-orders pane reuses `Table` and `Tabs`.
169
183
  - **calendar:** single month, single-date selection (no range/multi-month, no
170
184
  locale/dropdown features). Rust does manual date math; TS uses the built-in
171
185
  `Date`.
package/dist/index.d.ts CHANGED
@@ -209,6 +209,15 @@ declare function BreadcrumbPage({ className, ...props }: React.ComponentProps<"s
209
209
  declare function BreadcrumbSeparator({ children, className, ...props }: React.ComponentProps<"li">): React.JSX.Element;
210
210
  declare function BreadcrumbEllipsis({ className, ...props }: React.ComponentProps<"span">): React.JSX.Element;
211
211
 
212
+ declare const accentTextClasses: {
213
+ readonly trace: "text-accent-trace";
214
+ readonly debug: "text-accent-debug";
215
+ readonly info: "text-accent-info";
216
+ readonly warn: "text-accent-warn";
217
+ readonly error: "text-accent-error";
218
+ };
219
+ type Accent = keyof typeof accentTextClasses;
220
+
212
221
  declare const buttonVariantClasses: {
213
222
  readonly primary: "bg-primary text-on-primary hover:bg-primary/90";
214
223
  readonly secondary: "bg-secondary text-on-secondary hover:bg-secondary/80";
@@ -219,39 +228,42 @@ declare const buttonVariantClasses: {
219
228
  };
220
229
  type ButtonVariant = keyof typeof buttonVariantClasses;
221
230
  declare const buttonSizeClasses: {
222
- readonly md: "h-9 px-4 py-[var(--control-py)] has-[>svg]:px-3";
223
231
  readonly xs: "h-7 gap-1 px-2 text-xs has-[>svg]:px-1.5";
224
232
  readonly sm: "h-8 gap-1.5 px-3 has-[>svg]:px-2.5";
233
+ readonly md: "h-9 px-4 py-[var(--control-py)] has-[>svg]:px-3";
225
234
  readonly lg: "h-10 px-6 has-[>svg]:px-4";
226
235
  readonly xl: "px-[var(--control-px)] py-[var(--control-py)] text-[length:var(--control-text)]";
227
- readonly icon: "h-9 aspect-square px-0";
228
- readonly "icon-xs": "h-7 aspect-square px-0";
229
- readonly "icon-sm": "h-8 aspect-square px-0";
230
- readonly "icon-lg": "h-10 aspect-square px-0";
231
- readonly "icon-xl": "aspect-square p-[var(--control-py)]";
232
236
  };
233
237
  type ButtonSize = keyof typeof buttonSizeClasses;
234
238
 
235
239
  interface ButtonVariantsOptions {
236
240
  variant?: ButtonVariant;
237
241
  size?: ButtonSize;
242
+ /** A square button holding a bare glyph; `size` still picks the magnitude. */
243
+ icon?: boolean;
244
+ /** Recolours the button at an accent rung; unset is the normal case. */
245
+ accent?: Accent | undefined;
238
246
  className?: string;
239
247
  }
240
248
  /**
241
249
  * Returns the fused canonical button class string. Reused by `pagination` so a
242
250
  * non-`Button` element can adopt the same styling, mirroring Rust's
243
251
  * `button_classes`.
252
+ *
253
+ * The accent fuses after the variant so it recolours whatever the variant set.
244
254
  */
245
- declare function buttonVariants({ variant, size, className, }?: ButtonVariantsOptions): string;
255
+ declare function buttonVariants({ variant, size, icon, accent, className, }?: ButtonVariantsOptions): string;
246
256
  interface ButtonProps extends React.ComponentProps<"button"> {
247
257
  variant?: ButtonVariant;
248
258
  size?: ButtonSize;
259
+ icon?: boolean;
260
+ accent?: Accent;
249
261
  asChild?: boolean;
250
262
  /** Renders an `<a>` wearing the button's classes — a link that looks like a
251
263
  * call to action is still a link. */
252
264
  href?: string;
253
265
  }
254
- declare function Button({ className, variant, size, asChild, href, ...props }: ButtonProps): React.JSX.Element;
266
+ declare function Button({ className, variant, size, icon, accent, asChild, href, ...props }: ButtonProps): React.JSX.Element;
255
267
 
256
268
  declare const buttonGroupOrientationClasses: {
257
269
  readonly horizontal: "[&>*:not(:first-child)]:rounded-l-none [&>*:not(:first-child)]:border-l-0 [&>*:not(:last-child)]:rounded-r-none";
@@ -381,6 +393,28 @@ declare function Input({ className, type, ...props }: React.ComponentProps<"inpu
381
393
 
382
394
  declare function Textarea({ className, ...props }: React.ComponentProps<"textarea">): React.JSX.Element;
383
395
 
396
+ /**
397
+ * The consumer's mark, painted as a CSS mask (`backgroundColor: currentColor` +
398
+ * `maskImage`) so a monochrome lockup follows the surrounding text colour
399
+ * instead of the artwork's baked-in fill. `withBackground` seats it on the brand
400
+ * field, keeping a chip consistent with a favicon.
401
+ *
402
+ * The kit ships no artwork. The mark is a design token like every colour: the
403
+ * consumer declares `--brand-mark` — a `url()` at its own asset — and
404
+ * `--brand-aspect` in the same sheet it declares the palette in (see
405
+ * `styles/tokens.css`). Undeclared, `maskImage` is invalid at computed-value time
406
+ * and the span paints as a solid block: loud, and nobody else's logo.
407
+ *
408
+ * Decorative by design (`aria-hidden`): every real call site has the brand name
409
+ * in adjacent text or on the wrapping link, and a mark announced twice is worse
410
+ * than one announced once.
411
+ */
412
+ interface LogoProps {
413
+ className?: string;
414
+ withBackground?: boolean;
415
+ }
416
+ declare function Logo({ className, withBackground }: LogoProps): React.JSX.Element;
417
+
384
418
  declare const inputGroupAddonAligns: {
385
419
  readonly "inline-start": "order-first pl-3 has-[>button]:ml-[-0.45rem] has-[>kbd]:ml-[-0.35rem]";
386
420
  readonly "inline-end": "order-last pr-3 has-[>button]:mr-[-0.45rem] has-[>kbd]:mr-[-0.35rem]";
@@ -466,8 +500,10 @@ declare function PaginationItem(props: React.ComponentProps<"li">): React.JSX.El
466
500
  type PaginationLinkProps = {
467
501
  isActive?: boolean;
468
502
  size?: ButtonSize;
503
+ /** Page numbers are square glyphs; a "Previous"/"Next" label is not. */
504
+ icon?: boolean;
469
505
  } & React.ComponentProps<"a">;
470
- declare function PaginationLink({ className, isActive, size, ...props }: PaginationLinkProps): React.JSX.Element;
506
+ declare function PaginationLink({ className, isActive, size, icon, ...props }: PaginationLinkProps): React.JSX.Element;
471
507
  declare function PaginationPrevious({ className, ...props }: React.ComponentProps<typeof PaginationLink>): React.JSX.Element;
472
508
  declare function PaginationNext({ className, ...props }: React.ComponentProps<typeof PaginationLink>): React.JSX.Element;
473
509
  declare function PaginationEllipsis({ className, ...props }: React.ComponentProps<"span">): React.JSX.Element;
@@ -482,22 +518,12 @@ declare function Skeleton({ className, ...props }: React.ComponentProps<"div">):
482
518
  declare function Spinner({ className, ...props }: React.ComponentProps<"svg">): React.JSX.Element;
483
519
 
484
520
  /**
485
- * The shared 404 / 403 / 500 status surface.
486
- *
487
- * `StatusScreen` is the generic shell; `NotFound` / `Forbidden` / `ServerError`
488
- * are the ready-made pages with their copy baked in — a host renders those with
489
- * its own hrefs. Links default to a plain `<a>` (a full document load, which is
490
- * what you want off an error page); pass `linkComponent` (e.g. `next/link`) for
491
- * soft navigation from a client boundary.
492
- */
493
- type Accent = "trace" | "debug" | "info" | "warn" | "error";
494
- /**
495
- * A status CTA is a Button at the page's accent: the canonical button string,
496
- * then the mono/uppercase treatment the error pages wear, then the accent.
521
+ * A status CTA is a Button at the page's accent: the canonical button string for
522
+ * that variant and rung, then the mono/uppercase treatment the error pages wear.
497
523
  *
498
524
  * Exported because a host that renders its own action into `StatusScreen`'s
499
525
  * slot — a retry button wired to Next's `reset`, say — has to be able to match
500
- * the CTAs beside it, and the accent colour maps are ours.
526
+ * the CTAs beside it.
501
527
  */
502
528
  declare function statusCtaClass(accent: Accent, variant: ButtonVariant): string;
503
529
  interface StatusLinkData {
@@ -838,8 +864,8 @@ declare function CarouselItem({ className, ...props }: React.ComponentProps<"div
838
864
  declare function CarouselEdgeFade({ className, }: {
839
865
  className?: string;
840
866
  }): React.JSX.Element;
841
- declare function CarouselPrevious({ className, variant, size, ...props }: ButtonProps): React.JSX.Element;
842
- declare function CarouselNext({ className, variant, size, ...props }: ButtonProps): React.JSX.Element;
867
+ declare function CarouselPrevious({ className, variant, size, icon, ...props }: ButtonProps): React.JSX.Element;
868
+ declare function CarouselNext({ className, variant, size, icon, ...props }: ButtonProps): React.JSX.Element;
843
869
 
844
870
  interface InputOTPProps extends Omit<React.ComponentProps<"input">, "value" | "defaultValue" | "onChange"> {
845
871
  maxLength: number;
@@ -1478,4 +1504,121 @@ interface ResizableHandleProps extends React.ComponentProps<"div"> {
1478
1504
  }
1479
1505
  declare function ResizableHandle({ className, index, withHandle, children, ...props }: ResizableHandleProps): React.JSX.Element;
1480
1506
 
1481
- 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, 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, 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, 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, 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, Textarea, 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, buttonVariants, cn, mergeRefs, navigationMenuTriggerStyle, statusCtaClass, toast, toggleVariants, useControllableState, useDismissableLayer, useFloating, useFocusScope, useHoverIntent, usePresence, useRovingFocus, useSidebar };
1507
+ declare const terminalAreaClasses: {
1508
+ readonly ticker: "lg:col-span-3 lg:row-start-1";
1509
+ readonly chart: "lg:col-start-1 lg:row-start-2";
1510
+ readonly book: "lg:col-start-2 lg:row-start-2";
1511
+ readonly form: "lg:col-start-3 lg:row-start-2";
1512
+ readonly orders: "lg:col-span-3 lg:row-start-3";
1513
+ };
1514
+ type TerminalArea = keyof typeof terminalAreaClasses;
1515
+ declare const bookSideClasses: {
1516
+ readonly bid: "text-positive";
1517
+ readonly ask: "text-accent-error";
1518
+ };
1519
+ type BookSide = keyof typeof bookSideClasses;
1520
+ declare const orderSideClasses: {
1521
+ readonly buy: "bg-positive text-on-positive hover:bg-positive/90";
1522
+ readonly sell: "bg-accent-error text-on-accent-error hover:bg-accent-error/90";
1523
+ };
1524
+ type OrderSide = keyof typeof orderSideClasses;
1525
+
1526
+ /**
1527
+ * The trading terminal — an order book over an investment product's shares,
1528
+ * laid out like a spot exchange: ticker, then chart | book | order form, then
1529
+ * the trader's own orders. Every pane is a slot; the chart host is empty on
1530
+ * purpose (the plotting engine is the consumer's), the open-orders table is
1531
+ * `Table`, the tabs over it are `Tabs`.
1532
+ */
1533
+ /**
1534
+ * The frame: a phone stacks the panes in DOM order, `lg` and up places them
1535
+ * by `TerminalArea` on a viewport-bound grid.
1536
+ */
1537
+ declare function Terminal({ className, ...props }: React.ComponentProps<"div">): React.JSX.Element;
1538
+ interface TerminalPaneProps extends React.ComponentProps<"section"> {
1539
+ area: TerminalArea;
1540
+ }
1541
+ /**
1542
+ * One cell of the frame. `area` is where it sits on the desktop grid;
1543
+ * `TerminalPaneHeader` and `TerminalPaneBody` go inside.
1544
+ */
1545
+ declare function TerminalPane({ area, className, ...props }: TerminalPaneProps): React.JSX.Element;
1546
+ declare function TerminalPaneHeader({ className, ...props }: React.ComponentProps<"header">): React.JSX.Element;
1547
+ /** The scrolling part of a pane. */
1548
+ declare function TerminalPaneBody({ className, ...props }: React.ComponentProps<"div">): React.JSX.Element;
1549
+ /**
1550
+ * The sized host a plotting engine mounts into. Renders nothing itself; a
1551
+ * consumer mounts its chart on the element (via `ref`) or fills it with
1552
+ * children. `forwardRef` rather than a `ref` prop so the handle also reaches
1553
+ * the element under React 18, where function components drop `ref`.
1554
+ */
1555
+ declare const TerminalChart: React.ForwardRefExoticComponent<Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
1556
+ /**
1557
+ * The strip across the top; holds `TickerStat`s. Already placed in the
1558
+ * `ticker` slot.
1559
+ */
1560
+ declare function TerminalTicker({ className, ...props }: React.ComponentProps<"div">): React.JSX.Element;
1561
+ interface TickerStatProps extends Omit<React.ComponentProps<"div">, "children"> {
1562
+ label: React.ReactNode;
1563
+ value: React.ReactNode;
1564
+ }
1565
+ /**
1566
+ * A labelled figure in the ticker. `className` lands on the figure, so a
1567
+ * change figure passes its valence colour there.
1568
+ */
1569
+ declare function TickerStat({ label, value, className, ...props }: TickerStatProps): React.JSX.Element;
1570
+ /** The book: `OrderBookHead`, then ask rows, `OrderBookSpread`, bid rows. */
1571
+ declare function OrderBook({ className, ...props }: React.ComponentProps<"div">): React.JSX.Element;
1572
+ interface OrderBookHeadProps extends Omit<React.ComponentProps<"div">, "children"> {
1573
+ price: React.ReactNode;
1574
+ size: React.ReactNode;
1575
+ total: React.ReactNode;
1576
+ }
1577
+ /** The three column captions — price, size, total — in the consumer's words. */
1578
+ declare function OrderBookHead({ price, size, total, className, ...props }: OrderBookHeadProps): React.JSX.Element;
1579
+ interface OrderBookRowProps extends Omit<React.ComponentProps<"div">, "children"> {
1580
+ side: BookSide;
1581
+ price: React.ReactNode;
1582
+ size: React.ReactNode;
1583
+ total: React.ReactNode;
1584
+ /**
1585
+ * This level's cumulative size as a fraction of the deepest level shown
1586
+ * (`0..=1`); it sizes the bar behind the figures.
1587
+ */
1588
+ depth?: number;
1589
+ }
1590
+ /** One price level. */
1591
+ declare function OrderBookRow({ side, price, size, total, depth, className, ...props }: OrderBookRowProps): React.JSX.Element;
1592
+ /**
1593
+ * The line between asks and bids: the consumer passes the mid and the spread
1594
+ * as it wants them formatted.
1595
+ */
1596
+ declare function OrderBookSpread({ className, ...props }: React.ComponentProps<"div">): React.JSX.Element;
1597
+ interface TradesTapeRowProps extends Omit<React.ComponentProps<"div">, "children"> {
1598
+ side: BookSide;
1599
+ price: React.ReactNode;
1600
+ size: React.ReactNode;
1601
+ time: React.ReactNode;
1602
+ }
1603
+ /** One print in the tape: price coloured by the aggressor's side, then size and time. */
1604
+ declare function TradesTapeRow({ side, price, size, time, className, ...props }: TradesTapeRowProps): React.JSX.Element;
1605
+ /**
1606
+ * The order form. Owns no state: the consumer wires the inputs and handles
1607
+ * `onSubmit`; the default is prevented here so a submit never navigates.
1608
+ */
1609
+ declare function OrderForm({ className, onSubmit, ...props }: React.ComponentProps<"form">): React.JSX.Element;
1610
+ interface OrderFormRowProps extends Omit<React.ComponentProps<"div">, "children"> {
1611
+ label: React.ReactNode;
1612
+ value: React.ReactNode;
1613
+ }
1614
+ /** A label / figure line in the order summary — cost, fee, what is available. */
1615
+ declare function OrderFormRow({ label, value, className, ...props }: OrderFormRowProps): React.JSX.Element;
1616
+ interface OrderFormSubmitProps extends Omit<React.ComponentProps<"button">, "type"> {
1617
+ side?: OrderSide;
1618
+ }
1619
+ /** The submit, filled in the colour of the intent. */
1620
+ declare function OrderFormSubmit({ side, className, ...props }: OrderFormSubmitProps): React.JSX.Element;
1621
+ /** The open-orders pane with nothing in it. */
1622
+ declare function OpenOrdersEmpty({ className, ...props }: React.ComponentProps<"div">): React.JSX.Element;
1623
+
1624
+ 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, 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 };