Expand description
Pure styling data for the uikit: Tailwind class tables, variant/size enums and
the cn! fuse macro. Carries no Dioxus — it’s the single source of truth that
both the Rust components (ev_lib) and the TS codegen (ev_lib_gen) read from.
Macros§
- cn
- Fuses any number of class fragments into a single
Stringwith real Tailwind conflict resolution (likeclsx+tailwind-merge): empty fragments drop, the rightmost conflicting utility wins. The TS mirror iscnin@evinvest/uikit.
Enums§
- Alert
Variant - Badge
Variant - Canonical superset of the cabinet (
Success) and landing variants. - Book
Side - Which side of the book a level or a print belongs to. Bids read positive,
asks read loud — the row’s text colour; the depth bar takes its tint from
book_depth_class. - Button
Group Orientation - Button
Variant - Per-variant classes only; the base rides on
BUTTON_BASE.as_class()yields the variant string, the codegen key isas_ref()(kebab). - Drawer
Direction - Edge the drawer slides in from. The shared content base rides on
DRAWER_CONTENT_BASE. - Empty
Media Variant - Field
Orientation - Input
Group Addon Align - Input
Group Button Size - Item
Media Variant - Item
Size - Item
Variant - Order
Side - The intent behind the submit: filled positive for a buy, filled loud for a sell, each with the ink that reads on that fill.
- Orientation
- Polarity
- Which token scope a band sets on itself. Custom properties inherit, so the
class re-themes the whole subtree:
bg-card text-inkis then correct on both sides with no prop threading. A consumer that defines only:rootgets a no-op either way. - Scroll
BarOrientation - Size
- The kit’s one control scale. Every sized component reads it, so a component that needs a step nobody else has adds it here rather than growing an enum of its own.
- Surface
- Which plane a band sits on, within its polarity.
- Terminal
Area - Where a pane sits in the
TERMINAL_ROOTgrid. Explicit placement, so the desktop layout does not depend on the order a consumer emits the panes in. - Toast
Position - Toast
Variant - Toggle
Variant
Constants§
- ACCORDION_
CONTENT - ACCORDION_
CONTENT_ INNER - ACCORDION_
HEADER - ACCORDION_
ITEM - ACCORDION_
TRIGGER - ALERT_
BASE - ALERT_
DESCRIPTION - ALERT_
DIALOG_ CONTENT - ALERT_
DIALOG_ DESCRIPTION - ALERT_
DIALOG_ FOOTER - ALERT_
DIALOG_ HEADER - ALERT_
DIALOG_ OVERLAY - ALERT_
DIALOG_ TITLE - ALERT_
TITLE - AVATAR
- AVATAR_
FALLBACK - AVATAR_
IMAGE - BADGE_
BASE - BREADCRUMB_
ELLIPSIS - BREADCRUMB_
ITEM - BREADCRUMB_
LINK - BREADCRUMB_
LIST - BREADCRUMB_
PAGE - BREADCRUMB_
SEPARATOR - BUTTON_
BASE - Base classes shared by every button variant. Split out from the variant enum
so the TS codegen can emit it verbatim and
button_classesfuses it last-wins. - BUTTON_
GROUP_ BASE - BUTTON_
GROUP_ SEPARATOR_ BASE - BUTTON_
GROUP_ TEXT_ BASE - CALENDAR_
CAPTION - CALENDAR_
DAY - CALENDAR_
DAY_ CELL - CALENDAR_
DAY_ EMPTY - CALENDAR_
DAY_ SELECTED - CALENDAR_
DAY_ TODAY - CALENDAR_
GRID - CALENDAR_
NAV - CALENDAR_
NAV_ BUTTON - CALENDAR_
ROOT - CALENDAR_
WEEK - CALENDAR_
WEEKDAY - CALENDAR_
WEEKDAY_ ROW - CARD
- CARD_
ACTION - CARD_
CONTENT - CARD_
DESCRIPTION - CARD_
FOOTER - CARD_
HEADER - CARD_
TITLE - CAROUSEL_
CONTENT_ TRACK - CAROUSEL_
CONTENT_ TRACK_ HORIZONTAL - CAROUSEL_
CONTENT_ TRACK_ VERTICAL - CAROUSEL_
CONTENT_ VIEWPORT - CAROUSEL_
EDGE_ FADE_ NEXT - CAROUSEL_
EDGE_ FADE_ PREV - CAROUSEL_
ITEM - CAROUSEL_
ITEM_ HORIZONTAL - CAROUSEL_
ITEM_ VERTICAL - CAROUSEL_
NAV - CAROUSEL_
NEXT_ HORIZONTAL - CAROUSEL_
NEXT_ VERTICAL - CAROUSEL_
PREVIOUS_ HORIZONTAL - CAROUSEL_
PREVIOUS_ VERTICAL - CHART_
CONTAINER - CHART_
LEGEND - CHART_
TOOLTIP - CHECK
- CLASS_
INVENTORY - Every Tailwind class literal the kit can emit, one per line.
- COMMAND_
DIALOG_ COMMAND - COMMAND_
DIALOG_ CONTENT - COMMAND_
DIALOG_ OVERLAY - COMMAND_
EMPTY - COMMAND_
GROUP - COMMAND_
INPUT - COMMAND_
INPUT_ WRAPPER - COMMAND_
ITEM - COMMAND_
LIST - COMMAND_
ROOT - COMMAND_
SEPARATOR - COMMAND_
SHORTCUT - CONTAINER_
BASE - CONTEXT_
MENU_ CHECK_ ITEM - CONTEXT_
MENU_ CONTENT - CONTEXT_
MENU_ ITEM - CONTEXT_
MENU_ LABEL - CONTEXT_
MENU_ SEPARATOR - CONTEXT_
MENU_ SHORTCUT - CONTEXT_
MENU_ SUB_ CONTENT - CONTEXT_
MENU_ SUB_ TRIGGER - DIALOG_
CLOSE - DIALOG_
CONTENT - DIALOG_
DESCRIPTION - DIALOG_
FOOTER - DIALOG_
HEADER - DIALOG_
OVERLAY - DIALOG_
TITLE - DISPLAY_
BASE cn!merges everyfont-*utility as one group, so afont-boldhere would take the family down with it the moment a caller overrides anything — hence the weight as a property.- DRAWER_
CONTENT_ BASE - DRAWER_
DESCRIPTION - DRAWER_
FOOTER - DRAWER_
HANDLE - DRAWER_
HEADER - DRAWER_
OVERLAY - DRAWER_
TITLE - DROPDOWN_
MENU_ CHECK_ ITEM - DROPDOWN_
MENU_ CONTENT - DROPDOWN_
MENU_ ITEM - DROPDOWN_
MENU_ ITEM_ INDICATOR - DROPDOWN_
MENU_ LABEL - DROPDOWN_
MENU_ SEPARATOR - DROPDOWN_
MENU_ SHORTCUT - DROPDOWN_
MENU_ SUB_ CONTENT - DROPDOWN_
MENU_ SUB_ TRIGGER - EMPTY
- EMPTY_
CONTENT - EMPTY_
DESCRIPTION - EMPTY_
HEADER - EMPTY_
MEDIA_ BASE - EMPTY_
TITLE - EYEBROW
- FIELD_
BASE - FIELD_
CONTENT - FIELD_
DESCRIPTION - FIELD_
ERROR - FIELD_
GROUP - FIELD_
LABEL - FIELD_
LEGEND - FIELD_
SEPARATOR - FIELD_
SEPARATOR_ CONTENT - FIELD_
SEPARATOR_ LINE - FIELD_
SET - FIELD_
TITLE - FORM_
DESCRIPTION - FORM_
ITEM - FORM_
LABEL - FORM_
MESSAGE - HOVER_
CARD_ CONTENT - INPUT_
BASE - INPUT_
GROUP_ ADDON_ BASE - INPUT_
GROUP_ BASE - INPUT_
GROUP_ BUTTON_ BASE - INPUT_
GROUP_ INPUT_ CONTROL - Appended to the shared
INPUT_BASEfor a group-embedded input. - INPUT_
GROUP_ TEXT - INPUT_
GROUP_ TEXTAREA_ CONTROL - Appended to the shared
TEXTAREA_BASEfor a group-embedded textarea. - INPUT_
OTP_ CONTAINER - INPUT_
OTP_ GROUP - INPUT_
OTP_ INPUT - INPUT_
OTP_ SLOT - INPUT_
OTP_ SLOT_ CARET - INPUT_
OTP_ SLOT_ CARET_ WRAPPER - ITEM_
ACTIONS - ITEM_
BASE - Shared base for the two-axis (variant × size) item. Fused with the variant
and size class last-wins, mirroring the TS
cn(ITEM_BASE, itemVariants[v], itemSizes[s]). - ITEM_
CONTENT - ITEM_
DESCRIPTION - ITEM_
FOOTER - ITEM_
GROUP - ITEM_
HEADER - ITEM_
MEDIA_ BASE - ITEM_
SEPARATOR - ITEM_
TITLE - KBD_
BASE - KBD_
GROUP_ BASE - LABEL_
BASE - LEDE
- The paragraph directly under a
DISPLAY_BASEheadline — one step up fromPROSE, which is body copy. - MENUBAR_
CHECKBOX_ ITEM - MENUBAR_
CONTENT - MENUBAR_
ITEM - MENUBAR_
ITEM_ INDICATOR - MENUBAR_
LABEL - MENUBAR_
RADIO_ ITEM - MENUBAR_
ROOT - MENUBAR_
SEPARATOR - MENUBAR_
SHORTCUT - MENUBAR_
SUB_ CONTENT - MENUBAR_
SUB_ TRIGGER - MENUBAR_
TRIGGER - NAVIGATION_
MENU - NAVIGATION_
MENU_ CONTENT - NAVIGATION_
MENU_ INDICATOR - NAVIGATION_
MENU_ ITEM - NAVIGATION_
MENU_ LINK - NAVIGATION_
MENU_ LIST - NAVIGATION_
MENU_ TRIGGER_ STYLE - NAVIGATION_
MENU_ VIEWPORT - OPEN_
ORDERS_ EMPTY - The open-orders pane when there is nothing in it. A trader with no orders is the common case, so this reads as calm, not as an error.
- ORDER_
BOOK - ORDER_
BOOK_ DEPTH - The bar behind a level, anchored right and sized by the consumer
(
style="width: 42%"), tinted bybook_depth_class. - ORDER_
BOOK_ HEAD - Column captions: price / size / total, right-aligned like the figures under them, except the price column.
- ORDER_
BOOK_ PRICE - The price cell of a level or a print; takes its colour from
BookSide. - ORDER_
BOOK_ ROW - One price level.
isolatestarts a stacking context so the depth bar’s negativez-indexsits between this row’s own background (and its hover wash) and the figures, instead of vanishing behind the pane. - ORDER_
BOOK_ SPREAD - The mid / spread line between asks and bids.
- ORDER_
FORM - ORDER_
FORM_ LABEL - ORDER_
FORM_ ROW - A label / figure line in the order summary (cost, fee, available balance).
- ORDER_
FORM_ SUBMIT_ BASE - The submit button’s geometry; colour is
OrderSide. Not aButtonvariant because the kit’sDestructivenames a consequence, and selling is not one — it is the other half of the same intent. - ORDER_
FORM_ VALUE - POPOVER_
CONTENT - PROGRESS_
INDICATOR - PROGRESS_
TRACK - PROSE
- RADIO_
GROUP_ ITEM - RADIO_
GROUP_ ROOT - RESIZABLE_
GROUP - RESIZABLE_
HANDLE - RESIZABLE_
HANDLE_ GRIP - RESIZABLE_
PANEL - SCROLLBAR_
BASE - SCROLL_
AREA_ THUMB - SCROLL_
AREA_ VIEWPORT - SECTION_
BASE - SECTION_
HEAD - SECTION_
PY - SECTION_
PY_ TIGHT - SEPARATOR_
BASE - SHEET_
CLOSE - SHEET_
CONTENT - SHEET_
DESCRIPTION - SHEET_
FOOTER - SHEET_
HEADER - SHEET_
OVERLAY - SHEET_
SIDE_ BOTTOM - SHEET_
SIDE_ LEFT - SHEET_
SIDE_ RIGHT - SHEET_
SIDE_ TOP - SHEET_
TITLE - SIDEBAR_
CONTENT - SIDEBAR_
FLAT - SIDEBAR_
FOOTER - SIDEBAR_
GROUP - SIDEBAR_
GROUP_ CONTENT - SIDEBAR_
GROUP_ LABEL - SIDEBAR_
HEADER - SIDEBAR_
INNER - SIDEBAR_
INSET - SIDEBAR_
MENU - SIDEBAR_
MENU_ BUTTON_ BASE - SIDEBAR_
MENU_ ITEM - SIDEBAR_
RAIL - SIDEBAR_
SEPARATOR - SIDEBAR_
TRIGGER - SIDEBAR_
WRAPPER - SKELETON_
BASE - SLIDER_
RANGE - SLIDER_
ROOT - SLIDER_
THUMB - SLIDER_
TRACK - STAT
- STAT_
FIGURE - STAT_
LABEL - TABLE
- TABLE_
BODY - TABLE_
CAPTION - TABLE_
CELL - TABLE_
CONTAINER - TABLE_
FOOTER - TABLE_
HEAD - TABLE_
HEADER - TABLE_
ROW - TABS_
CONTENT - TABS_
LIST - TABS_
ROOT - TABS_
TRIGGER - TERMINAL_
CHART - The slot a plotting engine mounts into: sized,
relative, nothing drawn. A chart library measures its host, so the host must have a height before the library runs — hence the floor. - TERMINAL_
PANE - TERMINAL_
PANE_ BODY - TERMINAL_
PANE_ HEADER - TERMINAL_
ROOT - The frame. Stacked on a phone in DOM order; from
lga three-column grid bound to the viewport, so every pane scrolls inside itself rather than the page. The height subtracts--ev-shell-offsetso a hosting shell’s chrome is not double-counted.gap-pxover abg-borderground draws the hairlines between panes without a border on each. - TERMINAL_
TICKER - The strip across the top. Scrolls sideways rather than wrapping: a stat that wraps under another is misread as its label.
- TERMINAL_
TICKER_ LABEL - TERMINAL_
TICKER_ STAT - TERMINAL_
TICKER_ VALUE - TEXTAREA_
BASE - TOASTER_
BASE - Pinned stack container base; the per-position offsets ride on
ToastPosition. - TOAST_
BASE - Base shared by every toast. The TS mirror appends its swipe-only utilities
(
touch-pan-y select-none) on top — that styling is behaviour-specific and stays in the React component (the Rust kit has no swipe-to-dismiss). - TOAST_
CLOSE - TOAST_
CONTENT - TOAST_
TITLE - TOGGLE_
BASE - TOKENS_
CSS - The token stylesheet the class tables above are written against, flattened.
- TOKENS_
LEGACY_ CSS TOKENS_CSSwith the pre-0.10 utility names layered back on top — import this one while a consumer still writestext-main-mist,bg-sidebarortext-muted-foregroundin its own markup. Pairs with thelegacyfeature ofev_lib; both go away together.- TOOLTIP_
CONTENT - TRADES_
TAPE_ ROW - One print in the trades tape: price / size / time, the price coloured by
the aggressor’s
BookSide.
Functions§
- book_
depth_ class - The depth bar’s fill for a side — the side colour at low alpha, so the figures over it stay legible.
- button_
size_ class - Size + shape dimensions. An
iconbutton is a square (h-N aspect-square px-0); otherwise per-size height + text padding. Mirrors the TSbuttonSizeClassestable. - input_
group_ button_ size_ class - Size × icon → shadcn’s flat
xs/sm/icon-xs/icon-smkeys. Mirrors the TSinputGroupButtonSizestable; an icon button is a square (size-N p-0). - sidebar_
menu_ button_ size_ class - The rail’s rows are full-width and left-aligned, so they take their height
from the shared
Sizescale and nothing else — colour comes fromButtonVariant, like every other button in the kit. - toggle_
size_ class - Per-size height + min-width + horizontal padding. Mirrors the TS
toggleSizeClassestable.