Skip to main content

Crate ev_lib_classes

Crate ev_lib_classes 

Source
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 String with real Tailwind conflict resolution (like clsx + tailwind-merge): empty fragments drop, the rightmost conflicting utility wins. The TS mirror is cn in @evinvest/uikit.

Enums§

AlertVariant
BadgeVariant
Canonical superset of the cabinet (Success) and landing variants.
ButtonGroupOrientation
ButtonVariant
Per-variant classes only; the base rides on BUTTON_BASE. as_class() yields the variant string, the codegen key is as_ref() (kebab).
DrawerDirection
Edge the drawer slides in from. The shared content base rides on DRAWER_CONTENT_BASE.
EmptyMediaVariant
FieldOrientation
InputGroupAddonAlign
InputGroupButtonSize
ItemMediaVariant
ItemSize
ItemVariant
Orientation
ScrollBarOrientation
SidebarMenuButtonSize
SidebarMenuButtonVariant
Size
ToastPosition
ToastVariant
ToggleVariant

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_classes fuses 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
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
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
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_BASE for a group-embedded input.
INPUT_GROUP_TEXT
INPUT_GROUP_TEXTAREA_CONTROL
Appended to the shared TEXTAREA_BASE for 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
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
POPOVER_CONTENT
PROGRESS_INDICATOR
PROGRESS_TRACK
RADIO_GROUP_ITEM
RADIO_GROUP_ROOT
RESIZABLE_GROUP
RESIZABLE_HANDLE
RESIZABLE_HANDLE_GRIP
RESIZABLE_PANEL
SCROLLBAR_BASE
SCROLL_AREA_THUMB
SCROLL_AREA_VIEWPORT
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
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
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
TOOLTIP_CONTENT

Functions§

button_size_class
Size + shape dimensions. An icon button is a square (h-N aspect-square px-0); otherwise per-size height + text padding. Mirrors the TS buttonSizeClasses table.
input_group_button_size_class
Size × icon → shadcn’s flat xs/sm/icon-xs/icon-sm keys. Mirrors the TS inputGroupButtonSizes table; an icon button is a square (size-N p-0).
toggle_size_class
Per-size height + min-width + horizontal padding. Mirrors the TS toggleSizeClasses table.