rui

Self-contained Vega-style UI components for Rabbita

UI
components
rabbita
shadcn
web
moon add Yoorkin/rui@0.1.0
Download zip
Author
Version
0.1.0
License
MIT
Last updated
28 days ago
Downloads
15
README

#RUI (Experimental)

RUI is experimental. Its API and component behavior may change before a stable release.

RUI (Yoorkin/rui) is a native component library for Rabbita, inspired by the shadcn/ui Vega visual language.

#Design

  • Black-box components with public APIs for common customization.
  • No Tailwind, external CSS import, code generator, or extra build step.
  • Shared inline base styles, with theme providing tokens and the static rules needed for hover, focus, and motion.
  • Interactive state is owned by Rabbita incremental components.
  • Native HTML and ARIA behavior is used where the browser provides it.
  • JavaScript provides browser interaction; native builds expose initial state for SSR and snapshot rendering.

RUI includes components for forms, data display, navigation, disclosure, overlays, menus, and feedback. Exact APIs and copyable examples are available in the showcase and the generated pkg.generated.mbti interface.

#Customization

Use --rui-* theme tokens, component style parameters, and attrs for normal customization. Copy the relevant .mbt source when you need to change a component's DOM structure, state model, or interaction policy.

#License

RUI is available under the MIT License. See THIRD_PARTY_NOTICES.md for upstream attribution.

#
AccordionEntry

type AccordionEntry

One entry for the self-contained accordion component.

Use the compound accordion_* functions directly when the trigger needs richer content than this entry's text label.

#
AccordionType

pub(all) enum AccordionType {
Single
Multiple
} derive(Eq,
Debug
)

#
AlertDialogScope

type AlertDialogScope

Explicit scope passed by [alert_dialog] to its compound parts.

#
AlertVariant

pub(all) enum AlertVariant {
Default
Destructive
} derive(Eq,
Debug
)

#
AttachmentMediaVariant

pub(all) enum AttachmentMediaVariant {
AttachmentIcon
AttachmentImage
} derive(Eq,
Debug
)

#
AttachmentOrientation

pub(all) enum AttachmentOrientation {
AttachmentHorizontal
AttachmentVertical
} derive(Eq,
Debug
)

#
AttachmentSize

pub(all) enum AttachmentSize {
AttachmentDefaultSize
AttachmentSm
AttachmentXs
} derive(Eq,
Debug
)

#
AttachmentState

pub(all) enum AttachmentState {
AttachmentIdle
AttachmentUploading
AttachmentProcessing
AttachmentError
AttachmentDone
} derive(Eq,
Debug
)

#
AvatarImageStatus

pub(all) enum AvatarImageStatus {
AvatarLoading
AvatarLoaded
AvatarError
} derive(Eq,
Debug
)

#
AvatarSize

pub(all) enum AvatarSize {
Default
Sm
Lg
} derive(Eq,
Debug
)

#
BadgeVariant

pub(all) enum BadgeVariant {
Default
Secondary
Destructive
Outline
Ghost
Link
} derive(Eq,
Debug
)

#
BubbleReactionSide

pub(all) enum BubbleReactionSide {
ReactionTop
ReactionBottom
} derive(Eq,
Debug
)

#
BubbleVariant

pub(all) enum BubbleVariant {
BubbleDefault
BubbleSecondary
BubbleMuted
BubbleTinted
BubbleOutline
BubbleGhost
BubbleDestructive
} derive(Eq,
Debug
)

#
ButtonSize

pub(all) enum ButtonSize {
Default
Xs
Sm
Lg
Icon
IconXs
IconSm
IconLg
} derive(Eq,
Debug
)

#
ButtonVariant

pub(all) enum ButtonVariant {
Default
Outline
Secondary
Ghost
Destructive
Link
} derive(Eq,
Debug
)

#
CalendarDate

type CalendarDate derive(Eq,
Debug
)

A normalized proleptic-Gregorian date used by calendar.

Construction is intentionally opaque so every value stays inside the supported year range and always names a real day.

#
CalendarDate::day

fn CalendarDate::day(self : CalendarDate) -> Int

#
CalendarDate::month

fn CalendarDate::month(self : CalendarDate) -> Int

#
CalendarDate::to_iso_string

fn CalendarDate::to_iso_string(self : CalendarDate) -> String

Return the stable YYYY-MM-DD representation used by data attributes.

#
CalendarDate::year

fn CalendarDate::year(self : CalendarDate) -> Int

#
CardSize

pub(all) enum CardSize {
Default
Sm
} derive(Eq,
Debug
)

#
CarouselOrientation

pub(all) enum CarouselOrientation {
CarouselHorizontal
CarouselVertical
} derive(Eq,
Debug
)

#
CarouselScope

type CarouselScope

Opaque state passed from carousel to its compound content, item, and previous/next controls.

#
ChartIndicator

pub(all) enum ChartIndicator {
ChartDot
ChartLine
ChartDashed
} derive(Eq,
Debug
)

#
ColorMode

pub(all) enum ColorMode {
Light
Dark
} derive(Eq,
Debug
)

#
ComboboxOption

type ComboboxOption

#
ComboboxScope

type ComboboxScope

Opaque component-local state supplied to the combobox compound API.

#
CommandScope

type CommandScope

Opaque state supplied to every compound command part.

The scope deliberately replaces a global context: query, active option, filtering, dialog state, and commands stay local to one Rabbita value.

#
ContentAlignment

pub(all) enum ContentAlignment {
AlignStart
AlignEnd
} derive(Eq,
Debug
)

#
ContextMenuRadioGroupScope

type ContextMenuRadioGroupScope

#
ContextMenuScope

type ContextMenuScope

#
ContextMenuSubScope

type ContextMenuSubScope

#
DataTableColumn

type DataTableColumn[T]

One typed column in a black-box data_table.

value supplies the searchable and sortable text. render, when present, only changes the visual cell content, so formatting never breaks table operations.

#
DatePickerPreset

type DatePickerPreset derive(Eq,
Debug
)

A caller-defined quick choice rendered inside [date_picker].

#
DateRange

type DateRange derive(Eq,
Debug
)

An opaque range value. end() is None while the user is choosing the second boundary.

#
DateRange::end

fn DateRange::end(self : DateRange) -> CalendarDate?

#
DateRange::start

fn DateRange::start(self : DateRange) -> CalendarDate

#
DialogScope

type DialogScope

Explicit scope passed by [dialog] to its compound parts.

Rabbita does not need a global component context here: the opaque scope carries the component-local state and commands without exposing them to callers.

#
DrawerDirection

pub(all) enum DrawerDirection {
DrawerTop
DrawerRight
DrawerBottom
DrawerLeft
} derive(Eq,
Debug
)

Edge from which a [drawer_content] surface is presented.

#
DrawerScope

type DrawerScope

Explicit compound-component scope created by [drawer].
type DropdownMenuRadioGroupScope

type DropdownMenuScope

type DropdownMenuSubScope

#
EmptyMediaVariant

pub(all) enum EmptyMediaVariant {
EmptyMediaDefault
EmptyMediaIcon
} derive(Eq,
Debug
)

#
FieldLegendVariant

pub(all) enum FieldLegendVariant {
FieldLegend
FieldLabelLegend
} derive(Eq,
Debug
)

#
FieldOrientation

pub(all) enum FieldOrientation {
FieldVertical
FieldHorizontal
FieldResponsive
} derive(Eq,
Debug
)

#
InputGroupAddonAlign

pub(all) enum InputGroupAddonAlign {
InputInlineStart
InputInlineEnd
InputBlockStart
InputBlockEnd
} derive(Eq,
Debug
)

#
InputGroupButtonSize

pub(all) enum InputGroupButtonSize {
InputButtonXs
InputButtonSm
InputButtonIconXs
InputButtonIconSm
} derive(Eq,
Debug
)

#
InputOtpScope

type InputOtpScope

Opaque render scope owned by input_otp.

#
ItemMediaVariant

pub(all) enum ItemMediaVariant {
ItemMediaDefault
ItemMediaIcon
ItemMediaImage
} derive(Eq,
Debug
)

#
ItemSize

pub(all) enum ItemSize {
ItemDefaultSize
ItemSm
} derive(Eq,
Debug
)

#
ItemVariant

pub(all) enum ItemVariant {
ItemDefault
ItemOutline
ItemMuted
} derive(Eq,
Debug
)

#
MarkerVariant

pub(all) enum MarkerVariant {
MarkerDefault
MarkerSeparator
MarkerBorder
} derive(Eq,
Debug
)

type MenuCoreModel derive(Eq)

type MenuIndicatorPlacement derive(Eq)

type MenuSubmenuChange derive(Eq)

type MenubarMenuScope

type MenubarModel derive(Eq)

type MenubarRadioGroupScope

type MenubarScope

type MenubarSubScope

#
MessageScrollDirection

pub(all) enum MessageScrollDirection {
ScrollStart
ScrollEnd
} derive(Eq,
Debug
)

#
MessageScrollerScope

type MessageScrollerScope

Opaque render scope owned by message_scroller.

#
NativeSelectSize

pub(all) enum NativeSelectSize {
NativeSelectDefault
NativeSelectSm
} derive(Eq,
Debug
)

type NavigationMenuItemScope

type NavigationMenuModel derive(Eq)

type NavigationMenuScope

#
PopupAlign

pub(all) enum PopupAlign {
Start
Center
End
} derive(Eq,
Debug
)

#
PopupSide

pub(all) enum PopupSide {
Top
Right
Bottom
Left
} derive(Eq,
Debug
)

#
RadioGroupOrientation

pub(all) enum RadioGroupOrientation {
RadioVertical
RadioHorizontal
} derive(Eq,
Debug
)

#
RadioGroupScope

type RadioGroupScope

Opaque state shared by radio_group and its items.

#
ResizableGroupScope

type ResizableGroupScope

Opaque render scope owned by [resizable_group].

#
ResizablePanelSide

pub(all) enum ResizablePanelSide {
FirstPanel
SecondPanel
} derive(Eq,
Debug
)

#
ResizableScope

type ResizableScope

Opaque compatibility scope owned by [resizable_panel_group].

#
SelectOption

type SelectOption

One option consumed by the black-box [select] component.

#
SelectScope

type SelectScope

Opaque state handle passed by [select] to its compound rendering helpers.

#
SeparatorOrientation

pub(all) enum SeparatorOrientation {
Horizontal
Vertical
} derive(Eq,
Debug
)

#
SheetScope

type SheetScope

Explicit compound-component scope created by [sheet].

#
SheetSide

pub(all) enum SheetSide {
SheetTop
SheetRight
SheetBottom
SheetLeft
} derive(Eq,
Debug
)

Edge from which a [sheet_content] surface enters the viewport.

#
SidebarCollapsible

pub(all) enum SidebarCollapsible {
SidebarOffcanvas
SidebarIcon
SidebarFixed
} derive(Eq,
Debug
)

#
SidebarMenuButtonSize

pub(all) enum SidebarMenuButtonSize {
SidebarMenuSm
SidebarMenuDefault
SidebarMenuLg
} derive(Eq,
Debug
)

#
SidebarMenuButtonVariant

pub(all) enum SidebarMenuButtonVariant {
SidebarMenuButtonDefault
SidebarMenuButtonOutline
} derive(Eq,
Debug
)

#
SidebarScope

type SidebarScope

Explicit state and commands shared by every part inside [sidebar_provider].

#
SidebarSide

pub(all) enum SidebarSide {
SidebarLeft
SidebarRight
} derive(Eq,
Debug
)

#
SidebarVariant

pub(all) enum SidebarVariant {
SidebarDefault
SidebarFloating
SidebarInset
} derive(Eq,
Debug
)

#
SwitchSize

pub(all) enum SwitchSize {
Default
Sm
} derive(Eq,
Debug
)

#
TabEntry

type TabEntry

One entry for the self-contained tabs component.

Use icon for a leading graphic. Use the compound tabs_* functions directly when a trigger needs richer content than an icon and text label.

#
TabsListVariant

pub(all) enum TabsListVariant {
TabsDefault
TabsLine
} derive(Eq,
Debug
)

Visual treatment for a tabs list.

TabsDefault uses the compact muted surface. TabsLine removes that surface and marks the active trigger with the Vega edge indicator.

#
TabsOrientation

pub(all) enum TabsOrientation {
TabsHorizontal
TabsVertical
} derive(Eq,
Debug
)

#
TextDirection

pub(all) enum TextDirection {
Ltr
Rtl
} derive(Eq,
Debug
)

#
ToastScope

type ToastScope

Opaque command scope owned by toaster or sonner.

#
ToastScope::dismiss

#
ToastScope::dismiss_all

#
ToastScope::show

fn ToastScope::show(self : ToastScope, title~ : String, description? : String, variant? : ToastVariant, duration_ms? : Int) ->
Cmd

#
ToastVariant

pub(all) enum ToastVariant {
ToastDefault
ToastDestructive
ToastSuccess
} derive(Eq,
Debug
)

#
ToggleGroupScope

type ToggleGroupScope

Opaque render scope owned by toggle_group.

#
ToggleSize

pub(all) enum ToggleSize {
Default
Sm
Lg
} derive(Eq,
Debug
)

#
ToggleVariant

pub(all) enum ToggleVariant {
Default
Outline
} derive(Eq,
Debug
)

#
accordion

fn accordion(items~ : Array[AccordionEntry], type_? : AccordionType, collapsible? : Bool, disabled? : Bool, default_value? : String, default_values? : Array[String], show_indicator? : Bool, force_mount? : Bool, id? : String, class? : String, title? : String, hidden? : Bool, attrs? :
Attrs
, style? : Array[String], item_style? : Array[String], trigger_style? : Array[String], content_style? : Array[String]) ->
Val
[
Html
]

Build a self-contained accordion with component-local incremental state.

#
accordion_content

fn[C :
IsChildren
] accordion_content(value~ : String, open? : Bool, force_mount? : Bool, labelledby? : String, id? : String, class? : String, title? : String, attrs? :
Attrs
, style? : Array[String], children : C) ->
Html

Render one accordion panel.

#
accordion_entry

fn accordion_entry(value~ : String, label~ : String, content~ :
Html
, disabled? : Bool) -> AccordionEntry

Construct one black-box accordion entry.

#
accordion_item

fn[C :
IsChildren
] accordion_item(value~ : String, open? : Bool, disabled? : Bool, name? : String, id? : String, class? : String, title? : String, attrs? :
Attrs
, style? : Array[String], children : C) ->
Html

Render one accordion item container.

#
accordion_root

fn[C :
IsChildren
] accordion_root(type_? : AccordionType, disabled? : Bool, id? : String, class? : String, title? : String, hidden? : Bool, attrs? :
Attrs
, style? : Array[String], children : C) ->
Html

Render the root for a composed accordion.

#
accordion_trigger

fn[C :
IsChildren
] accordion_trigger(value~ : String, open? : Bool, disabled? : Bool, controls? : String, show_indicator? : Bool, on_value_change? :
Emit
[String], id? : String, class? : String, title? : String, attrs? :
Attrs
, style? : Array[String], children : C) ->
Html

Render one native button accordion trigger.

#
alert

fn[C :
IsChildren
] alert(variant? : AlertVariant, id? : String, class? : String, title? : String, attrs? :
Attrs
, style? : Array[String], children : C) ->
Html

Render a semantic live alert using the Vega default or destructive recipe.

Title, description, and action parts occupy stable grid tracks. This keeps optional actions from covering text without relying on stylesheet :has().

#
alert_action

fn[C :
IsChildren
] alert_action(id? : String, class? : String, title? : String, attrs? :
Attrs
, style? : Array[String], children : C) ->
Html

#
alert_description

fn[C :
IsChildren
] alert_description(id? : String, class? : String, title? : String, attrs? :
Attrs
, style? : Array[String], children : C) ->
Html

#
alert_dialog

fn alert_dialog(id~ : String, default_open? : Bool, close_on_escape? : Bool, on_open_change? :
Emit
[Bool], on_close? :
Emit
[String], children : (AlertDialogScope) ->
Html
) ->
Val
[
Html
]

Create a stateful alert dialog.

Unlike [dialog_content], [alert_dialog_content] does not dismiss on an overlay click and does not render an implicit close icon. A deliberate action or cancel control is therefore always visible in normal use.

#
alert_dialog_action

fn[C :
IsChildren
] alert_dialog_action(scope : AlertDialogScope, disabled? : Bool, id? : String, class? : String, title? : String, aria_label? : String, on_click? :
Cmd
, attrs? :
Attrs
, style? : Array[String], children : C) ->
Html

Render the primary alert-dialog action and close after its caller handler.

#
alert_dialog_cancel

fn[C :
IsChildren
] alert_dialog_cancel(scope : AlertDialogScope, disabled? : Bool, id? : String, class? : String, title? : String, aria_label? : String, on_click? :
Cmd
, attrs? :
Attrs
, style? : Array[String], children : C) ->
Html

Render the secondary alert-dialog cancel control.

#
alert_dialog_content

fn[C :
IsChildren
] alert_dialog_content(scope : AlertDialogScope, described? : Bool, aria_label? : String, id? : String, class? : String, title? : String, hidden? : Bool, attrs? :
Attrs
, style? : Array[String], overlay_attrs? :
Attrs
, overlay_style? : Array[String], native_attrs? :
Attrs
, native_style? : Array[String], children : C) ->
Html

Render a native role="alertdialog" with a non-dismissible backdrop.

#
alert_dialog_description

fn[C :
IsChildren
] alert_dialog_description(scope : AlertDialogScope, id? : String, class? : String, title? : String, attrs? :
Attrs
, style? : Array[String], children : C) ->
Html

fn[C :
IsChildren
] alert_dialog_footer(id? : String, class? : String, title? : String, attrs? :
Attrs
, style? : Array[String], children : C) ->
Html

#
alert_dialog_header

fn[C :
IsChildren
] alert_dialog_header(id? : String, class? : String, title? : String, attrs? :
Attrs
, style? : Array[String], children : C) ->
Html

#
alert_dialog_media

fn[C :
IsChildren
] alert_dialog_media(id? : String, class? : String, title? : String, attrs? :
Attrs
, style? : Array[String], children : C) ->
Html

Render the shadcn alert-dialog media tile for an icon or illustration.

#
alert_dialog_overlay

fn alert_dialog_overlay(scope : AlertDialogScope, id? : String, class? : String, title? : String, hidden? : Bool, attrs? :
Attrs
, style? : Array[String]) ->
Html

Render the non-dismissible backdrop for an alert-dialog scope.

#
alert_dialog_portal

Pass native alert-dialog content through without adding a DOM node.

#
alert_dialog_title

fn[C :
IsChildren
] alert_dialog_title(scope : AlertDialogScope, id? : String, class? : String, title? : String, attrs? :
Attrs
, style? : Array[String], children : C) ->
Html

#
alert_dialog_trigger

fn[C :
IsChildren
] alert_dialog_trigger(scope : AlertDialogScope, variant? : ButtonVariant, size? : ButtonSize, disabled? : Bool, id? : String, class? : String, title? : String, aria_label? : String, on_click? :
Cmd
, attrs? :
Attrs
, style? : Array[String], children : C) ->
Html

#
alert_title

fn[C :
IsChildren
] alert_title(id? : String, class? : String, title? : String, attrs? :
Attrs
, style? : Array[String], children : C) ->
Html

#
aspect_ratio

fn[C :
IsChildren
] aspect_ratio(ratio? : Double, id? : String, class? : String, title? : String, attrs? :
Attrs
, style? : Array[String], children : C) ->
Html

Keep content at a stable width-to-height ratio without external CSS.

#
attachment

fn[C :
IsChildren
] attachment(state? : AttachmentState, size? : AttachmentSize, orientation? : AttachmentOrientation, id? : String, class? : String, title? : String, attrs? :
Attrs
, style? : Array[String], children : C) ->
Html

#
attachment_action

fn[C :
IsChildren
] attachment_action(variant? : ButtonVariant, size? : ButtonSize, disabled? : Bool, aria_label? : String, on_click? :
Cmd
, id? : String, class? : String, title? : String, attrs? :
Attrs
, style? : Array[String], children : C) ->
Html

#
attachment_actions

fn[C :
IsChildren
] attachment_actions(id? : String, class? : String, title? : String, attrs? :
Attrs
, style? : Array[String], children : C) ->
Html

#
attachment_content

fn[C :
IsChildren
] attachment_content(id? : String, class? : String, title? : String, attrs? :
Attrs
, style? : Array[String], children : C) ->
Html

#
attachment_description

fn[C :
IsChildren
] attachment_description(id? : String, class? : String, title? : String, attrs? :
Attrs
, style? : Array[String], children : C) ->
Html

#
attachment_group

fn[C :
IsChildren
] attachment_group(id? : String, class? : String, title? : String, attrs? :
Attrs
, style? : Array[String], children : C) ->
Html

#
attachment_media

fn[C :
IsChildren
] attachment_media(variant? : AttachmentMediaVariant, error? : Bool, id? : String, class? : String, title? : String, attrs? :
Attrs
, style? : Array[String], children : C) ->
Html

#
attachment_title

fn[C :
IsChildren
] attachment_title(id? : String, class? : String, title? : String, attrs? :
Attrs
, style? : Array[String], children : C) ->
Html

#
attachment_trigger

fn[C :
IsChildren
] attachment_trigger(disabled? : Bool, on_click? :
Cmd
, aria_label? : String, id? : String, class? : String, title? : String, attrs? :
Attrs
, style? : Array[String], children : C) ->
Html

fn[C :
IsChildren
] attachment_trigger_link(href~ : String, disabled? : Bool, aria_label? : String, target? :
Target
, rel? : String, download? : String, escape? : Bool, on_click? :
Cmd
, id? : String, class? : String, title? : String, attrs? :
Attrs
, style? : Array[String], children : C) ->
Html

Render the Vega attachment trigger's asChild path as a native anchor.

#
avatar

fn[C :
IsChildren
] avatar(size? : AvatarSize, id? : String, class? : String, title? : String, hidden? : Bool, attrs? :
Attrs
, style? : Array[String], children : C) ->
Html

Render the composable Vega avatar root as a native span element.

Size is shared with fallback and badge parts through inherited inline custom properties. The root does not own image-loading state; omit avatar_image while showing a fallback, or control that choice in the parent TEA model.

#
avatar_badge

fn[C :
IsChildren
] avatar_badge(id? : String, class? : String, title? : String, hidden? : Bool, attrs? :
Attrs
, style? : Array[String], children : C) ->
Html

#
avatar_fallback

fn[C :
IsChildren
] avatar_fallback(id? : String, class? : String, title? : String, hidden? : Bool, attrs? :
Attrs
, style? : Array[String], children : C) ->
Html

#
avatar_group

fn[C :
IsChildren
] avatar_group(id? : String, class? : String, title? : String, hidden? : Bool, attrs? :
Attrs
, style? : Array[String], children : C) ->
Html

#
avatar_group_count

fn[C :
IsChildren
] avatar_group_count(size? : AvatarSize, id? : String, class? : String, title? : String, hidden? : Bool, attrs? :
Attrs
, style? : Array[String], children : C) ->
Html

#
avatar_image

fn avatar_image(src? : String, alt? : String, width? : Int, height? : Int, srcset? : String, sizes? : String, loading? : String, decoding? : String, id? : String, class? : String, title? : String, hidden? : Bool, attrs? :
Attrs
, style? : Array[String]) ->
Html

Render the avatar image as a native img layered above the fallback.

#
avatar_with_fallback

fn[C :
IsChildren
] avatar_with_fallback(id~ : String, src~ : String, alt? : String, size? : AvatarSize, on_status_change? :
Emit
[AvatarImageStatus], class? : String, title? : String, attrs? :
Attrs
, style? : Array[String], image_attrs? :
Attrs
, image_style? : Array[String], fallback_attrs? :
Attrs
, fallback_style? : Array[String], fallback : C) ->
Val
[
Html
]

Build a black-box avatar that owns image loading and failure state.

The fallback remains visible until the browser reports a successfully decoded image resource. Use the pure avatar, avatar_image, and avatar_fallback parts when the application already owns that state.

#
badge

fn[C :
IsChildren
] badge(variant? : BadgeVariant, id? : String, class? : String, title? : String, attrs? :
Attrs
, style? : Array[String], children : C) ->
Html

fn[C :
IsChildren
] badge_link(href~ : String, variant? : BadgeVariant, disabled? : Bool, aria_label? : String, target? :
Target
, rel? : String, download? : String, escape? : Bool, on_click? :
Cmd
, id? : String, class? : String, title? : String, attrs? :
Attrs
, style? : Array[String], children : C) ->
Html

Render the asChild anchor path from the Vega badge recipe as a native link.
fn[C :
IsChildren
] breadcrumb(aria_label? : String, id? : String, class? : String, title? : String, attrs? :
Attrs
, style? : Array[String], children : C) ->
Html

Render the semantic navigation root for a breadcrumb trail.
fn breadcrumb_ellipsis(label? : String, id? : String, class? : String, title? : String, attrs? :
Attrs
, style? : Array[String]) ->
Html

Render the collapsed-range marker used by long breadcrumb trails.
fn[C :
IsChildren
] breadcrumb_item(id? : String, class? : String, title? : String, attrs? :
Attrs
, style? : Array[String], children : C) ->
Html

Render one semantic list item in a breadcrumb trail.
fn[C :
IsChildren
] breadcrumb_link(href~ : String, target? :
Target
, rel? : String, download? : String, escape? : Bool, id? : String, class? : String, title? : String, attrs? :
Attrs
, style? : Array[String], children : C) ->
Html

Render a native anchor for a navigable breadcrumb item.
fn[C :
IsChildren
] breadcrumb_list(id? : String, class? : String, title? : String, attrs? :
Attrs
, style? : Array[String], children : C) ->
Html

Render the ordered list that contains breadcrumb items.
fn[C :
IsChildren
] breadcrumb_page(id? : String, class? : String, title? : String, attrs? :
Attrs
, style? : Array[String], children : C) ->
Html

Render the non-navigable current page in a breadcrumb trail.
fn breadcrumb_separator(children? :
Html
, id? : String, class? : String, title? : String, attrs? :
Attrs
, style? : Array[String]) ->
Html

Render a presentational breadcrumb separator.

Without children, a dependency-free CSS chevron is rendered. Pass a single Html value to replace it with a custom separator.

#
bubble

fn[C :
IsChildren
] bubble(variant? : BubbleVariant, align? : ContentAlignment, id? : String, class? : String, title? : String, attrs? :
Attrs
, style? : Array[String], children : C) ->
Html

#
bubble_content

fn[C :
IsChildren
] bubble_content(id? : String, class? : String, title? : String, attrs? :
Attrs
, style? : Array[String], children : C) ->
Html

#
bubble_content_button

fn[C :
IsChildren
] bubble_content_button(disabled? : Bool, type_? : String, aria_label? : String, on_click? :
Cmd
, id? : String, class? : String, title? : String, attrs? :
Attrs
, style? : Array[String], children : C) ->
Html

Render the button branch of Vega's interactive bubble-content recipe.
fn[C :
IsChildren
] bubble_content_link(href~ : String, disabled? : Bool, aria_label? : String, target? :
Target
, rel? : String, download? : String, escape? : Bool, on_click? :
Cmd
, id? : String, class? : String, title? : String, attrs? :
Attrs
, style? : Array[String], children : C) ->
Html

Render an interactive bubble-content anchor without a Slot/runtime wrapper.

#
bubble_group

fn[C :
IsChildren
] bubble_group(id? : String, class? : String, title? : String, attrs? :
Attrs
, style? : Array[String], children : C) ->
Html

#
bubble_reactions

fn[C :
IsChildren
] bubble_reactions(side? : BubbleReactionSide, align? : ContentAlignment, id? : String, class? : String, title? : String, attrs? :
Attrs
, style? : Array[String], children : C) ->
Html

#
button

fn[C :
IsChildren
] button(variant? : ButtonVariant, size? : ButtonSize, disabled? : Bool, type_? : String, id? : String, class? : String, title? : String, name? : String, value? : String, autofocus? : Bool, on_click? :
Cmd
, attrs? :
Attrs
, style? : Array[String], slot? : String, children : C) ->
Html

Render a native button with shadcn/ui Vega variants and sizes.

User styles are appended last and therefore override the built-in recipe.

#
button_group

fn[C :
IsChildren
] button_group(orientation? : SeparatorOrientation, id? : String, class? : String, title? : String, aria_label? : String, attrs? :
Attrs
, style? : Array[String], children : C) ->
Html

Group Buttons, Toggles, inputs, or text into one contiguous Vega control.

The interaction sheet merges adjacent borders and corner radii. Keeping those rules on the children preserves each control's own variant surface.

#
button_group_separator

fn button_group_separator(orientation? : SeparatorOrientation, id? : String, class? : String, title? : String, attrs? :
Attrs
, style? : Array[String]) ->
Html

#
button_group_text

fn[C :
IsChildren
] button_group_text(id? : String, class? : String, title? : String, attrs? :
Attrs
, style? : Array[String], children : C) ->
Html

#
calendar

fn calendar(default_month? : CalendarDate, default_selected? : CalendarDate, today? : CalendarDate, show_outside_days? : Bool, disabled? : Bool, aria_label? : String, on_select? :
Emit
[CalendarDate], on_month_change? :
Emit
[CalendarDate], id? : String, class? : String, title? : String, hidden? : Bool, attrs? :
Attrs
, previous_attrs? :
Attrs
, next_attrs? :
Attrs
, grid_attrs? :
Attrs
, day_attrs? :
Attrs
, style? : Array[String], header_style? : Array[String], caption_style? : Array[String], nav_style? : Array[String], previous_style? : Array[String], next_style? : Array[String], grid_style? : Array[String], weekday_style? : Array[String], cell_style? : Array[String], day_style? : Array[String]) ->
Val
[
Html
]

Stateful single-date calendar with Rabbita-owned visible-month and selection state.

When no initial month, selected date, or today is supplied, the stable SSR fallback is January 1970. Supplying today both selects the initial visible month and enables the current-day treatment.

#
calendar_date

fn calendar_date(year~ : Int, month~ : Int, day~ : Int) -> CalendarDate

Construct a valid date. Years are clamped to 1..9999, months to 1..12, and the day to the selected month's valid range.

#
calendar_day_button

fn calendar_day_button(date~ : CalendarDate, selected? : Bool, today? : Bool, outside? : Bool, disabled? : Bool, focused? : Bool, on_select? :
Emit
[CalendarDate], on_focus_change? :
Emit
[CalendarDate], on_focus_move? :
Emit
[CalendarDate], id? : String, class? : String, title? : String, attrs? :
Attrs
, style? : Array[String]) ->
Html

Render the native day button used by the Calendar state renderer.

Dates remain native buttons while the component supplies the roving tab stop and DayPicker-compatible arrow, Home/End, and PageUp/PageDown movement.

#
calendar_multiple

fn calendar_multiple(default_month? : CalendarDate, default_selected? : Array[CalendarDate], today? : CalendarDate, show_outside_days? : Bool, disabled? : Bool, aria_label? : String, on_select? :
Emit
[Array[CalendarDate]], on_month_change? :
Emit
[CalendarDate], id? : String, class? : String, title? : String, hidden? : Bool, attrs? :
Attrs
, previous_attrs? :
Attrs
, next_attrs? :
Attrs
, grid_attrs? :
Attrs
, day_attrs? :
Attrs
, style? : Array[String], header_style? : Array[String], caption_style? : Array[String], nav_style? : Array[String], previous_style? : Array[String], next_style? : Array[String], grid_style? : Array[String], weekday_style? : Array[String], cell_style? : Array[String], day_style? : Array[String]) ->
Val
[
Html
]

Stateful multiple-selection Calendar. Activating a date toggles it while preserving all other selected dates. on_select receives a fresh array after every toggle, including the empty selection.

#
calendar_range

fn calendar_range(default_month? : CalendarDate, default_selected? : DateRange, today? : CalendarDate, show_outside_days? : Bool, disabled? : Bool, aria_label? : String, on_select? :
Emit
[DateRange], on_month_change? :
Emit
[CalendarDate], id? : String, class? : String, title? : String, hidden? : Bool, attrs? :
Attrs
, previous_attrs? :
Attrs
, next_attrs? :
Attrs
, grid_attrs? :
Attrs
, day_attrs? :
Attrs
, style? : Array[String], header_style? : Array[String], caption_style? : Array[String], nav_style? : Array[String], previous_style? : Array[String], next_style? : Array[String], grid_style? : Array[String], weekday_style? : Array[String], cell_style? : Array[String], day_style? : Array[String]) ->
Val
[
Html
]

Stateful range-selection Calendar. The first activation starts a range; the second normalizes and completes it. Activating again starts a new range. Every change is reported through on_select.

#
card

fn[C :
IsChildren
] card(size? : CardSize, id? : String, class? : String, title? : String, attrs? :
Attrs
, style? : Array[String], children : C) ->
Html

Render the root of a composable Vega card.

--rui-card-spacing is inherited by every card part. Appending a value through style changes the spacing of the complete composition without CSS setup.

#
card_action

fn[C :
IsChildren
] card_action(id? : String, class? : String, title? : String, attrs? :
Attrs
, style? : Array[String], children : C) ->
Html

#
card_content

fn[C :
IsChildren
] card_content(id? : String, class? : String, title? : String, attrs? :
Attrs
, style? : Array[String], children : C) ->
Html

#
card_description

fn[C :
IsChildren
] card_description(id? : String, class? : String, title? : String, attrs? :
Attrs
, style? : Array[String], children : C) ->
Html

fn[C :
IsChildren
] card_footer(id? : String, class? : String, title? : String, attrs? :
Attrs
, style? : Array[String], children : C) ->
Html

#
card_header

fn[C :
IsChildren
] card_header(id? : String, class? : String, title? : String, attrs? :
Attrs
, style? : Array[String], children : C) ->
Html

#
card_title

fn[C :
IsChildren
] card_title(id? : String, class? : String, title? : String, attrs? :
Attrs
, style? : Array[String], children : C) ->
Html

fn[C :
IsChildren
] carousel(count~ : Int, default_index? : Int, loop_? : Bool, orientation? : CarouselOrientation, aria_label? : String, on_index_change? :
Emit
[Int], id? : String, class? : String, title? : String, hidden? : Bool, attrs? :
Attrs
, style? : Array[String], children : (CarouselScope) -> C) ->
Val
[
Html
]

Stateful carousel root. The active slide is component-local; the scope binds content, items, previous/next buttons, and orientation-aware arrow keys without Embla or another runtime dependency.
fn carousel_active_index(scope : CarouselScope) -> Int

Return the active zero-based index from a compound carousel scope.
fn carousel_can_next(scope : CarouselScope) -> Bool

fn carousel_can_previous(scope : CarouselScope) -> Bool

fn[C :
IsChildren
] carousel_content(scope~ : CarouselScope, id? : String, class? : String, title? : String, hidden? : Bool, attrs? :
Attrs
, track_attrs? :
Attrs
, style? : Array[String], track_style? : Array[String], children : C) ->
Html

Render the clipping viewport and translated slide track for a scope.

Component props style the viewport; track_attrs and track_style target the moving flex track. All caller attribute values are cloned.
fn[C :
IsChildren
] carousel_item(scope~ : CarouselScope, index~ : Int, aria_label? : String, id? : String, class? : String, title? : String, hidden? : Bool, attrs? :
Attrs
, style? : Array[String], children : C) ->
Html

Render one semantic carousel slide.

Mounted stateful carousels measure the viewport and make only truly clipped slides inert. Static/controlled markup stays conservative because active index alone cannot determine visibility when callers customize item sizes.
fn carousel_items(scope~ : CarouselScope, items~ : Array[
Html
], id? : String, class? : String, title? : String, attrs? :
Attrs
, track_attrs? :
Attrs
, style? : Array[String], track_style? : Array[String], item_style? : Array[String]) ->
Html

Convenience composition for an array of already-built slide bodies.
fn carousel_next(scope~ : CarouselScope, disabled? : Bool, aria_label? : String, id? : String, class? : String, title? : String, attrs? :
Attrs
, style? : Array[String]) ->
Html

Render the next control bound to a carousel scope.
fn carousel_previous(scope~ : CarouselScope, disabled? : Bool, aria_label? : String, id? : String, class? : String, title? : String, attrs? :
Attrs
, style? : Array[String]) ->
Html

Render the previous control bound to a carousel scope.
fn carousel_slide_count(scope : CarouselScope) -> Int

Return the normalized number of slides from a compound carousel scope.

#
chart_container

fn[C :
IsChildren
] chart_container(aria_label? : String, aspect? : String, id? : String, class? : String, title? : String, attrs? :
Attrs
, style? : Array[String], children : C) ->
Html

Vega chart surface for an application-provided SVG, canvas, or chart engine.

#
chart_legend

fn[C :
IsChildren
] chart_legend(position? : String, id? : String, class? : String, title? : String, attrs? :
Attrs
, style? : Array[String], children : C) ->
Html

Carry an application chart engine's legend output.

This compatibility spelling predates the explicit shadcn content part; prefer [chart_legend_content] for new compound composition.

#
chart_legend_content

fn[C :
IsChildren
] chart_legend_content(position? : String, id? : String, class? : String, title? : String, attrs? :
Attrs
, style? : Array[String], children : C) ->
Html

Render the official shadcn chart legend content surface.

#
chart_legend_item

fn[C :
IsChildren
] chart_legend_item(color? : String, id? : String, class? : String, title? : String, attrs? :
Attrs
, style? : Array[String], children : C) ->
Html

#
chart_style

fn[C :
IsChildren
] chart_style(variables? : Array[(String, String)], id? : String, class? : String, title? : String, attrs? :
Attrs
, style? : Array[String], children : C) ->
Html

Scope chart color variables to children with inline custom properties.

A variable named revenue becomes --color-revenue; names already starting with -- are kept verbatim. Unlike shadcn's Recharts helper this never emits a <style> element, so it remains CSP-friendly and copyable.

#
chart_tooltip

fn[C :
IsChildren
] chart_tooltip(id? : String, class? : String, title? : String, attrs? :
Attrs
, style? : Array[String], children : C) ->
Html

Carry chart-engine tooltip output without introducing a layout box.

Rabbita does not bundle a chart engine, so this is the native composition adapter corresponding to shadcn's ChartTooltip export. The application still owns pointer tracking and supplies the rendered tooltip content.

#
chart_tooltip_content

fn[C :
IsChildren
] chart_tooltip_content(active? : Bool, id? : String, class? : String, title? : String, attrs? :
Attrs
, style? : Array[String], children : C) ->
Html

#
chart_tooltip_item

fn chart_tooltip_item(label~ : String, value~ : String, color? : String, indicator? : ChartIndicator, id? : String, class? : String, title? : String, attrs? :
Attrs
, style? : Array[String]) ->
Html

#
chart_tooltip_label

fn[C :
IsChildren
] chart_tooltip_label(id? : String, class? : String, title? : String, attrs? :
Attrs
, style? : Array[String], children : C) ->
Html

#
checkbox

fn checkbox(default_checked? : Bool, default_indeterminate? : Bool, disabled? : Bool, read_only? : Bool, invalid? : Bool, id? : String, class? : String, title? : String, aria_label? : String, on_checked_change? :
Emit
[Bool], attrs? :
Attrs
, style? : Array[String]) ->
Val
[
Html
]

Build a black-box checkbox with component-local incremental state.

#
collapsible

fn[T :
IsChildren
, C :
IsChildren
] collapsible(default_open? : Bool, disabled? : Bool, show_indicator? : Bool, force_mount? : Bool, id? : String, trigger_id? : String, content_id? : String, class? : String, title? : String, hidden? : Bool, attrs? :
Attrs
, trigger_attrs? :
Attrs
, content_attrs? :
Attrs
, style? : Array[String], trigger_style? : Array[String], content_style? : Array[String], content_body_style? : Array[String], trigger~ : T, content~ : C) ->
Val
[
Html
]

Build a self-contained collapsible with component-local incremental state.

#
collapsible_content

fn[C :
IsChildren
] collapsible_content(open? : Bool, force_mount? : Bool, labelledby? : String, id? : String, class? : String, title? : String, attrs? :
Attrs
, style? : Array[String], body_style? : Array[String], children : C) ->
Html

Render the collapsible panel. Content remains mounted so both entering and leaving states can animate without a component-specific script.

#
collapsible_root

fn[C :
IsChildren
] collapsible_root(open? : Bool, disabled? : Bool, id? : String, class? : String, title? : String, hidden? : Bool, attrs? :
Attrs
, style? : Array[String], children : C) ->
Html

Render the root used by a controlled collapsible.

#
collapsible_trigger

fn[C :
IsChildren
] collapsible_trigger(open? : Bool, disabled? : Bool, controls? : String, show_indicator? : Bool, on_open_change? :
Emit
[Bool], id? : String, class? : String, title? : String, attrs? :
Attrs
, style? : Array[String], children : C) ->
Html

Render the native button trigger for a controlled collapsible.

The native button supplies pointer, Enter, and Space activation. The component appends its state request after any caller click handler stored in attrs.

#
combobox

fn combobox(id~ : String, options~ : Array[ComboboxOption], default_value? : String, default_values? : Array[String], multiple? : Bool, default_open? : Bool, placeholder? : String, empty_text? : String, disabled? : Bool, invalid? : Bool, required? : Bool, name? : String, side? : PopupSide, align? : PopupAlign, side_offset? : Int, align_offset? : Int, on_value_change? :
Emit
[String], on_values_change? :
Emit
[Array[String]], on_query_change? :
Emit
[String], on_open_change? :
Emit
[Bool], class? : String, title? : String, attrs? :
Attrs
, style? : Array[String], render? : (ComboboxScope) ->
Html
) ->
Val
[
Html
]

#
combobox_chip

fn[C :
IsChildren
] combobox_chip(scope~ : ComboboxScope, value~ : String, removable? : Bool, remove_label? : String, id? : String, class? : String, title? : String, attrs? :
Attrs
, style? : Array[String], children : C) ->
Html

#
combobox_chips

fn[C :
IsChildren
] combobox_chips(id? : String, class? : String, title? : String, attrs? :
Attrs
, style? : Array[String], children : C) ->
Html

#
combobox_chips_input

fn combobox_chips_input(scope~ : ComboboxScope, aria_label? : String, auto_complete? :
AutoComplete
, id? : String, class? : String, title? : String, attrs? :
Attrs
, style? : Array[String]) ->
Html

Render the query input inside a multi-select chips surface.

It shares the regular combobox input's value, ARIA active-descendant, query updates, focus opening, and keyboard navigation while exposing shadcn's singular combobox-chip-input data slot.

#
combobox_clear

fn combobox_clear(scope~ : ComboboxScope, label? : String, id? : String, class? : String, title? : String, attrs? :
Attrs
, style? : Array[String]) ->
Html

#
combobox_collection

fn[C :
IsChildren
] combobox_collection(id? : String, class? : String, title? : String, attrs? :
Attrs
, style? : Array[String], children : C) ->
Html

#
combobox_content

fn[C :
IsChildren
] combobox_content(scope~ : ComboboxScope, id? : String, class? : String, title? : String, attrs? :
Attrs
, style? : Array[String], children : C) ->
Html

#
combobox_empty

fn[C :
IsChildren
] combobox_empty(visible? : Bool, id? : String, class? : String, title? : String, attrs? :
Attrs
, style? : Array[String], children : C) ->
Html

#
combobox_group

fn[C :
IsChildren
] combobox_group(label_id? : String, id? : String, class? : String, title? : String, attrs? :
Attrs
, style? : Array[String], children : C) ->
Html

#
combobox_input

fn combobox_input(scope~ : ComboboxScope, aria_label? : String, auto_complete? :
AutoComplete
, id? : String, class? : String, title? : String, attrs? :
Attrs
, style? : Array[String]) ->
Html

#
combobox_item

fn[C :
IsChildren
] combobox_item(scope~ : ComboboxScope, value~ : String, disabled? : Bool, id? : String, class? : String, title? : String, attrs? :
Attrs
, style? : Array[String], children : C) ->
Html

#
combobox_label

fn[C :
IsChildren
] combobox_label(id? : String, class? : String, title? : String, attrs? :
Attrs
, style? : Array[String], children : C) ->
Html

#
combobox_list

fn[C :
IsChildren
] combobox_list(id? : String, class? : String, title? : String, attrs? :
Attrs
, style? : Array[String], children : C) ->
Html

#
combobox_option

fn combobox_option(value~ : String, label~ : String, disabled? : Bool) -> ComboboxOption

#
combobox_separator

fn combobox_separator(id? : String, class? : String, title? : String, attrs? :
Attrs
, style? : Array[String]) ->
Html

#
combobox_trigger

fn combobox_trigger(scope~ : ComboboxScope, aria_label? : String, id? : String, class? : String, title? : String, attrs? :
Attrs
, style? : Array[String]) ->
Html

#
combobox_value

fn combobox_value(scope~ : ComboboxScope, id? : String, class? : String, title? : String, attrs? :
Attrs
, style? : Array[String], prefix? :
Html
) ->
Html

#
command

fn command(id~ : String, default_query? : String, should_filter? : Bool, filter? : (String, String, Array[String]) -> Bool, on_value_select? :
Emit
[String], on_query_change? :
Emit
[String], class? : String, title? : String, attrs? :
Attrs
, style? : Array[String], children : (CommandScope) ->
Html
) ->
Val
[
Html
]

Create a self-contained command palette with Rabbita-owned query, filtering, and active-option state.

#
command_close

#
command_dialog

fn command_dialog(id~ : String, default_open? : Bool, default_query? : String, should_filter? : Bool, filter? : (String, String, Array[String]) -> Bool, close_on_select? : Bool, close_on_escape? : Bool, close_on_overlay? : Bool, aria_label? : String, on_value_select? :
Emit
[String], on_query_change? :
Emit
[String], on_open_change? :
Emit
[Bool], on_close? :
Emit
[String], class? : String, title? : String, attrs? :
Attrs
, style? : Array[String], overlay_attrs? :
Attrs
, overlay_style? : Array[String], native_attrs? :
Attrs
, native_style? : Array[String], trigger? : (CommandScope) ->
Html
, children : (CommandScope) ->
Html
) ->
Val
[
Html
]

Create a modal command palette backed by native <dialog> semantics. Focus trapping, Escape, top-layer stacking, and focus restoration are supplied by the browser rather than a hidden runtime or stylesheet.

#
command_dialog_trigger

fn[C :
IsChildren
] command_dialog_trigger(scope~ : CommandScope, variant? : ButtonVariant, size? : ButtonSize, disabled? : Bool, id? : String, class? : String, title? : String, aria_label? : String, on_click? :
Cmd
, attrs? :
Attrs
, style? : Array[String], children : C) ->
Html

Default trigger for a CommandDialog. Supply it through the dialog's trigger callback so it remains outside the native dialog top layer.

#
command_empty

fn[C :
IsChildren
] command_empty(scope~ : CommandScope, id? : String, class? : String, title? : String, attrs? :
Attrs
, style? : Array[String], children : C) ->
Html

#
command_group

fn[C :
IsChildren
] command_group(scope~ : CommandScope, heading? : String, heading_id? : String, id? : String, class? : String, title? : String, attrs? :
Attrs
, style? : Array[String], heading_style? : Array[String], children : C) ->
Html

#
command_input

fn command_input(scope~ : CommandScope, placeholder? : String, aria_label? : String, auto_complete? :
AutoComplete
, disabled? : Bool, on_input? :
Emit
[String], id? : String, class? : String, title? : String, attrs? :
Attrs
, style? : Array[String], input_style? : Array[String]) ->
Html

Render the ARIA combobox input that owns focus while options use aria-activedescendant.

#
command_is_open

fn command_is_open(scope : CommandScope) -> Bool

#
command_item

fn[C :
IsChildren
] command_item(scope~ : CommandScope, value~ : String, keywords? : Array[String], disabled? : Bool, force_mount? : Bool, on_select? :
Emit
[String], on_click? :
Cmd
, id? : String, class? : String, title? : String, attrs? :
Attrs
, style? : Array[String], children : C) ->
Html

#
command_list

fn[C :
IsChildren
] command_list(scope~ : CommandScope, aria_label? : String, id? : String, class? : String, title? : String, attrs? :
Attrs
, style? : Array[String], children : C) ->
Html

#
command_open

Return commands for custom dialog triggers or dismiss controls.

#
command_query

fn command_query(scope : CommandScope) -> String

Read the current normalized query without exposing the scope representation.

#
command_separator

fn command_separator(id? : String, class? : String, title? : String, attrs? :
Attrs
, style? : Array[String]) ->
Html

#
command_shortcut

fn[C :
IsChildren
] command_shortcut(id? : String, class? : String, title? : String, attrs? :
Attrs
, style? : Array[String], children : C) ->
Html

#
context_menu

fn context_menu(id~ : String, default_open? : Bool, default_checked_values? : Array[String], default_radio_values? : Array[(String, String)], on_open_change? :
Emit
[Bool], attrs? :
Attrs
, style? : Array[String], children : (ContextMenuScope) ->
Html
) ->
Val
[
Html
]

Stateful context menu opened at the native contextmenu pointer position.

#
context_menu_checkbox_item

fn[C :
IsChildren
] context_menu_checkbox_item(scope : ContextMenuScope, value~ : String, disabled? : Bool, close_on_select? : Bool, on_checked_change? :
Emit
[Bool], on_select? :
Cmd
, aria_label? : String, class? : String, title? : String, attrs? :
Attrs
, style? : Array[String], children : C) ->
Html

#
context_menu_content

fn[C :
IsChildren
] context_menu_content(scope : ContextMenuScope, aria_label? : String, class? : String, title? : String, attrs? :
Attrs
, style? : Array[String], children : C) ->
Html

#
context_menu_group

fn[C :
IsChildren
] context_menu_group(aria_label? : String, class? : String, title? : String, attrs? :
Attrs
, style? : Array[String], children : C) ->
Html

#
context_menu_item

fn[C :
IsChildren
] context_menu_item(scope : ContextMenuScope, disabled? : Bool, inset? : Bool, destructive? : Bool, close_on_select? : Bool, on_select? :
Cmd
, aria_label? : String, class? : String, title? : String, attrs? :
Attrs
, style? : Array[String], children : C) ->
Html

#
context_menu_label

fn[C :
IsChildren
] context_menu_label(inset? : Bool, class? : String, title? : String, attrs? :
Attrs
, style? : Array[String], children : C) ->
Html

#
context_menu_portal

Zero-DOM Portal adapter for shadcn-compatible compound composition. Content already uses the native Popover top layer, so this adapter adds no wrapper element and requires no registration or portal runtime.

#
context_menu_radio_group

fn[C :
IsChildren
] context_menu_radio_group(scope : ContextMenuScope, value~ : String, aria_label? : String, class? : String, title? : String, attrs? :
Attrs
, style? : Array[String], children : (ContextMenuRadioGroupScope) -> C) ->
Html

#
context_menu_radio_item

fn[C :
IsChildren
] context_menu_radio_item(scope : ContextMenuRadioGroupScope, value~ : String, disabled? : Bool, close_on_select? : Bool, on_value_change? :
Emit
[String], on_select? :
Cmd
, aria_label? : String, class? : String, title? : String, attrs? :
Attrs
, style? : Array[String], children : C) ->
Html

#
context_menu_root

fn context_menu_root(id~ : String, default_open? : Bool, default_checked_values? : Array[String], default_radio_values? : Array[(String, String)], on_open_change? :
Emit
[Bool], attrs? :
Attrs
, style? : Array[String], children : (ContextMenuScope) ->
Html
) ->
Val
[
Html
]

Explicit Root spelling matching the compound-component API.

#
context_menu_separator

fn context_menu_separator(class? : String, attrs? :
Attrs
, style? : Array[String]) ->
Html

#
context_menu_shortcut

fn[C :
IsChildren
] context_menu_shortcut(class? : String, title? : String, attrs? :
Attrs
, style? : Array[String], children : C) ->
Html

#
context_menu_sub

#
context_menu_sub_content

fn[C :
IsChildren
] context_menu_sub_content(scope : ContextMenuSubScope, class? : String, title? : String, attrs? :
Attrs
, style? : Array[String], children : C) ->
Html

#
context_menu_sub_trigger

fn[C :
IsChildren
] context_menu_sub_trigger(scope : ContextMenuSubScope, disabled? : Bool, inset? : Bool, aria_label? : String, class? : String, title? : String, attrs? :
Attrs
, style? : Array[String], children : C) ->
Html

#
context_menu_trigger

fn[C :
IsChildren
] context_menu_trigger(scope : ContextMenuScope, tabindex? : Int, class? : String, title? : String, attrs? :
Attrs
, style? : Array[String], children : C) ->
Html

#
data_table

fn[T] data_table(id~ : String, rows~ : Array[T], columns~ : Array[DataTableColumn[T]], row_key~ : (T) -> String, page_size? : Int, searchable? : Bool, selectable? : Bool, show_columns? : Bool, search_placeholder? : String, empty_text? : String, aria_label? : String, default_sort_key? : String, default_sort_descending? : Bool, default_selected? : Array[String], default_hidden_columns? : Array[String], on_selection_change? :
Emit
[Array[String]], on_query_change? :
Emit
[String], class? : String, title? : String, attrs? :
Attrs
, style? : Array[String]) ->
Val
[
Html
]

Build a typed, self-contained data table with local filter, sort, pagination, row-selection, and column-visibility state.

#
data_table_column

fn[T] data_table_column(key~ : String, label~ : String, value~ : (T) -> String, render? : (T) ->
Html
, sortable? : Bool, searchable? : Bool, hideable? : Bool, numeric? : Bool) -> DataTableColumn[T]

Construct a typed column for data_table.

#
date_picker

fn date_picker(id~ : String, default_value? : CalendarDate, default_month? : CalendarDate, today? : CalendarDate, default_open? : Bool, show_outside_days? : Bool, placeholder? : String, disabled? : Bool, invalid? : Bool, aria_label? : String, side? : PopupSide, align? : PopupAlign, side_offset? : Int, align_offset? : Int, presets? : Array[DatePickerPreset], format_value? : (CalendarDate) -> String, on_value_change? :
Emit
[CalendarDate], on_open_change? :
Emit
[Bool], class? : String, title? : String, attrs? :
Attrs
, style? : Array[String], trigger_attrs? :
Attrs
, trigger_style? : Array[String], content_attrs? :
Attrs
, content_style? : Array[String], calendar_attrs? :
Attrs
, calendar_style? : Array[String], day_attrs? :
Attrs
, day_style? : Array[String], preset_style? : Array[String]) ->
Val
[
Html
]

Stateful single-date picker composed from the package's native Calendar and CSS-anchored Popover primitives. Selecting a date updates the trigger, calls on_value_change, and closes the popup.

#
date_picker_preset

fn date_picker_preset(label~ : String, value~ : CalendarDate) -> DatePickerPreset

#
date_range

fn date_range(start~ : CalendarDate, end? : CalendarDate) -> DateRange

Construct a normalized date range. If end precedes start, the two boundaries are exchanged.

#
date_range_picker

fn date_range_picker(id~ : String, default_value? : DateRange, default_month? : CalendarDate, today? : CalendarDate, default_open? : Bool, show_outside_days? : Bool, placeholder? : String, disabled? : Bool, invalid? : Bool, aria_label? : String, side? : PopupSide, align? : PopupAlign, side_offset? : Int, align_offset? : Int, format_value? : (DateRange) -> String, on_value_change? :
Emit
[DateRange], on_open_change? :
Emit
[Bool], class? : String, title? : String, attrs? :
Attrs
, style? : Array[String], trigger_attrs? :
Attrs
, trigger_style? : Array[String], content_attrs? :
Attrs
, content_style? : Array[String], calendar_attrs? :
Attrs
, calendar_style? : Array[String], day_attrs? :
Attrs
, day_style? : Array[String]) ->
Val
[
Html
]

Stateful date-range picker. The first click starts a range and emits a DateRange whose end() is None; the second click normalizes its boundaries, emits the completed range, and closes the popup. Clicking after a completed range starts a new selection.

#
dialog

fn dialog(id~ : String, default_open? : Bool, modal? : Bool, close_on_escape? : Bool, on_open_change? :
Emit
[Bool], on_close? :
Emit
[String], children : (DialogScope) ->
Html
) ->
Val
[
Html
]

Create a stateful native-dialog component.

The builder receives one opaque scope. Pass that scope to [dialog_trigger], [dialog_content], and [dialog_close]. This is the explicit Rabbita equivalent of shadcn's implicit Dialog context. Modal dialogs use showModal() for inert background, focus containment, and native Escape behavior. With modal=false, the page stays interactive and Rabbita dismisses only the top non-modal layer.

#
dialog_close

fn[C :
IsChildren
] dialog_close(scope : DialogScope, variant? : ButtonVariant, size? : ButtonSize, disabled? : Bool, id? : String, class? : String, title? : String, aria_label? : String, on_click? :
Cmd
, attrs? :
Attrs
, style? : Array[String], children : C) ->
Html

Render a close control wired to this dialog's internal state.

#
dialog_content

fn[C :
IsChildren
] dialog_content(scope : DialogScope, close_on_overlay? : Bool, show_close? : Bool, close_label? : String, described? : Bool, aria_label? : String, id? : String, class? : String, title? : String, hidden? : Bool, attrs? :
Attrs
, style? : Array[String], overlay_attrs? :
Attrs
, overlay_style? : Array[String], native_attrs? :
Attrs
, native_style? : Array[String], children : C) ->
Html

Render the native dialog, backdrop, positioner, and Vega content surface.

attrs and style customize the visible content surface. Use native_attrs / native_style for the underlying <dialog> and overlay_attrs / overlay_style for the backdrop.

#
dialog_description

fn[C :
IsChildren
] dialog_description(scope : DialogScope, id? : String, class? : String, title? : String, attrs? :
Attrs
, style? : Array[String], children : C) ->
Html

fn[C :
IsChildren
] dialog_footer(id? : String, class? : String, title? : String, attrs? :
Attrs
, style? : Array[String], children : C) ->
Html

#
dialog_header

fn[C :
IsChildren
] dialog_header(id? : String, class? : String, title? : String, attrs? :
Attrs
, style? : Array[String], children : C) ->
Html

#
dialog_overlay

fn dialog_overlay(scope : DialogScope, close_on_overlay? : Bool, id? : String, class? : String, title? : String, hidden? : Bool, attrs? :
Attrs
, style? : Array[String]) ->
Html

Render the dialog backdrop associated with a compound dialog scope.

Caller click handlers run before the optional close command and are never discarded. Set close_on_overlay=false for a non-dismissible backdrop.

#
dialog_portal

Pass native-dialog content through without adding a DOM node.

Native <dialog> already enters the browser top layer, so a JavaScript body portal would be redundant. The fragment keeps the familiar shadcn compound API while preserving the caller's exact DOM structure.

#
dialog_title

fn[C :
IsChildren
] dialog_title(scope : DialogScope, id? : String, class? : String, title? : String, attrs? :
Attrs
, style? : Array[String], children : C) ->
Html

#
dialog_trigger

fn[C :
IsChildren
] dialog_trigger(scope : DialogScope, variant? : ButtonVariant, size? : ButtonSize, disabled? : Bool, id? : String, class? : String, title? : String, aria_label? : String, on_click? :
Cmd
, attrs? :
Attrs
, style? : Array[String], children : C) ->
Html

Render the default Vega trigger for a dialog scope.

Caller handlers stored in attrs and on_click run before the component's open command; neither is discarded.

#
direction

fn[C :
IsChildren
] direction(direction? : TextDirection, id? : String, class? : String, title? : String, attrs? :
Attrs
, style? : Array[String], children : C) ->
Html

Apply native writing direction to a subtree.

#
drawer

fn drawer(id~ : String, default_open? : Bool, modal? : Bool, close_on_escape? : Bool, on_open_change? :
Emit
[Bool], on_close? :
Emit
[String], children : (DrawerScope) ->
Html
) ->
Val
[
Html
]

Create a stateful native-dialog drawer. Modal drawers use native focus containment, restoration, Escape handling, and top-layer stacking; modal=false intentionally leaves background controls available.

#
drawer_close

fn[C :
IsChildren
] drawer_close(scope : DrawerScope, variant? : ButtonVariant, size? : ButtonSize, disabled? : Bool, id? : String, class? : String, title? : String, aria_label? : String, on_click? :
Cmd
, attrs? :
Attrs
, style? : Array[String], children : C) ->
Html

#
drawer_content

fn[C :
IsChildren
] drawer_content(scope : DrawerScope, direction? : DrawerDirection, close_on_overlay? : Bool, show_handle? : Bool, show_close? : Bool, close_label? : String, described? : Bool, aria_label? : String, id? : String, class? : String, title? : String, hidden? : Bool, attrs? :
Attrs
, style? : Array[String], overlay_attrs? :
Attrs
, overlay_style? : Array[String], native_attrs? :
Attrs
, native_style? : Array[String], children : C) ->
Html

Render an edge drawer. show_handle adds the familiar shadcn/Vaul visual affordance; it is decorative, while all dismissal remains available through native Escape, backdrop, and explicit close controls.

#
drawer_description

fn[C :
IsChildren
] drawer_description(scope : DrawerScope, id? : String, class? : String, title? : String, attrs? :
Attrs
, style? : Array[String], children : C) ->
Html

fn[C :
IsChildren
] drawer_footer(id? : String, class? : String, title? : String, attrs? :
Attrs
, style? : Array[String], children : C) ->
Html

#
drawer_handle

fn drawer_handle(direction? : DrawerDirection, id? : String, class? : String, title? : String, attrs? :
Attrs
, style? : Array[String]) ->
Html

Render the drawer's visual grab handle. It is intentionally presentation only; keyboard and assistive-technology users use the regular controls.

#
drawer_header

fn[C :
IsChildren
] drawer_header(id? : String, class? : String, title? : String, attrs? :
Attrs
, style? : Array[String], children : C) ->
Html

#
drawer_overlay

fn drawer_overlay(scope : DrawerScope, close_on_overlay? : Bool, id? : String, class? : String, title? : String, hidden? : Bool, attrs? :
Attrs
, style? : Array[String]) ->
Html

Render the drawer backdrop associated with a compound drawer scope.

#
drawer_portal

Pass native drawer content through without adding a DOM node.

#
drawer_title

fn[C :
IsChildren
] drawer_title(scope : DrawerScope, id? : String, class? : String, title? : String, attrs? :
Attrs
, style? : Array[String], children : C) ->
Html

#
drawer_trigger

fn[C :
IsChildren
] drawer_trigger(scope : DrawerScope, variant? : ButtonVariant, size? : ButtonSize, disabled? : Bool, id? : String, class? : String, title? : String, aria_label? : String, on_click? :
Cmd
, attrs? :
Attrs
, style? : Array[String], children : C) ->
Html

fn dropdown_menu(id~ : String, default_open? : Bool, default_checked_values? : Array[String], default_radio_values? : Array[(String, String)], on_open_change? :
Emit
[Bool], attrs? :
Attrs
, style? : Array[String], children : (DropdownMenuScope) ->
Html
) ->
Val
[
Html
]

Stateful shadcn/Vega dropdown menu. The builder receives an opaque scope shared by all compound parts; no registration or stylesheet is required.
fn[C :
IsChildren
] dropdown_menu_checkbox_item(scope : DropdownMenuScope, value~ : String, disabled? : Bool, close_on_select? : Bool, on_checked_change? :
Emit
[Bool], on_select? :
Cmd
, aria_label? : String, class? : String, title? : String, attrs? :
Attrs
, style? : Array[String], children : C) ->
Html

fn[C :
IsChildren
] dropdown_menu_content(scope : DropdownMenuScope, side? : PopupSide, align? : PopupAlign, side_offset? : Int, align_offset? : Int, aria_label? : String, class? : String, title? : String, attrs? :
Attrs
, style? : Array[String], children : C) ->
Html

fn[C :
IsChildren
] dropdown_menu_group(aria_label? : String, class? : String, title? : String, attrs? :
Attrs
, style? : Array[String], children : C) ->
Html

fn[C :
IsChildren
] dropdown_menu_item(scope : DropdownMenuScope, disabled? : Bool, inset? : Bool, destructive? : Bool, close_on_select? : Bool, on_select? :
Cmd
, aria_label? : String, class? : String, title? : String, attrs? :
Attrs
, style? : Array[String], children : C) ->
Html

fn[C :
IsChildren
] dropdown_menu_label(inset? : Bool, class? : String, title? : String, attrs? :
Attrs
, style? : Array[String], children : C) ->
Html

Zero-DOM Portal adapter for shadcn-compatible compound composition. Native popover="auto" promotes Content to the top layer when opened, so no registration, DOM relocation, or build-time portal runtime is required.
fn[C :
IsChildren
] dropdown_menu_radio_group(scope : DropdownMenuScope, value~ : String, aria_label? : String, class? : String, title? : String, attrs? :
Attrs
, style? : Array[String], children : (DropdownMenuRadioGroupScope) -> C) ->
Html

fn[C :
IsChildren
] dropdown_menu_radio_item(scope : DropdownMenuRadioGroupScope, value~ : String, disabled? : Bool, close_on_select? : Bool, on_value_change? :
Emit
[String], on_select? :
Cmd
, aria_label? : String, class? : String, title? : String, attrs? :
Attrs
, style? : Array[String], children : C) ->
Html

fn dropdown_menu_root(id~ : String, default_open? : Bool, default_checked_values? : Array[String], default_radio_values? : Array[(String, String)], on_open_change? :
Emit
[Bool], attrs? :
Attrs
, style? : Array[String], children : (DropdownMenuScope) ->
Html
) ->
Val
[
Html
]

Explicit Root spelling matching the compound-component API.
fn dropdown_menu_separator(class? : String, attrs? :
Attrs
, style? : Array[String]) ->
Html

fn[C :
IsChildren
] dropdown_menu_shortcut(class? : String, title? : String, attrs? :
Attrs
, style? : Array[String], children : C) ->
Html

fn[C :
IsChildren
] dropdown_menu_sub_content(scope : DropdownMenuSubScope, class? : String, title? : String, attrs? :
Attrs
, style? : Array[String], children : C) ->
Html

fn[C :
IsChildren
] dropdown_menu_sub_trigger(scope : DropdownMenuSubScope, disabled? : Bool, inset? : Bool, aria_label? : String, class? : String, title? : String, attrs? :
Attrs
, style? : Array[String], children : C) ->
Html

fn[C :
IsChildren
] dropdown_menu_trigger(scope : DropdownMenuScope, variant? : ButtonVariant, size? : ButtonSize, disabled? : Bool, aria_label? : String, on_click? :
Cmd
, class? : String, title? : String, attrs? :
Attrs
, style? : Array[String], children : C) ->
Html

#
empty

fn[C :
IsChildren
] empty(id? : String, class? : String, title? : String, attrs? :
Attrs
, style? : Array[String], children : C) ->
Html

#
empty_content

fn[C :
IsChildren
] empty_content(id? : String, class? : String, title? : String, attrs? :
Attrs
, style? : Array[String], children : C) ->
Html

#
empty_description

fn[C :
IsChildren
] empty_description(id? : String, class? : String, title? : String, attrs? :
Attrs
, style? : Array[String], children : C) ->
Html

#
empty_header

fn[C :
IsChildren
] empty_header(id? : String, class? : String, title? : String, attrs? :
Attrs
, style? : Array[String], children : C) ->
Html

#
empty_media

fn[C :
IsChildren
] empty_media(variant? : EmptyMediaVariant, id? : String, class? : String, title? : String, attrs? :
Attrs
, style? : Array[String], children : C) ->
Html

#
empty_title

fn[C :
IsChildren
] empty_title(id? : String, class? : String, title? : String, attrs? :
Attrs
, style? : Array[String], children : C) ->
Html

#
field

fn[C :
IsChildren
] field(orientation? : FieldOrientation, disabled? : Bool, invalid? : Bool, id? : String, class? : String, title? : String, attrs? :
Attrs
, style? : Array[String], children : C) ->
Html

#
field_content

fn[C :
IsChildren
] field_content(id? : String, class? : String, title? : String, attrs? :
Attrs
, style? : Array[String], children : C) ->
Html

#
field_description

fn[C :
IsChildren
] field_description(id? : String, class? : String, title? : String, attrs? :
Attrs
, style? : Array[String], children : C) ->
Html

#
field_error

fn[C :
IsChildren
] field_error(id? : String, class? : String, title? : String, attrs? :
Attrs
, style? : Array[String], children : C) ->
Html

#
field_group

fn[C :
IsChildren
] field_group(id? : String, class? : String, title? : String, attrs? :
Attrs
, style? : Array[String], children : C) ->
Html

#
field_label

fn[C :
IsChildren
] field_label(for_? : String, id? : String, class? : String, title? : String, attrs? :
Attrs
, style? : Array[String], children : C) ->
Html

#
field_legend

fn[C :
IsChildren
] field_legend(variant? : FieldLegendVariant, id? : String, class? : String, title? : String, attrs? :
Attrs
, style? : Array[String], children : C) ->
Html

#
field_separator

fn[C :
IsChildren
] field_separator(id? : String, class? : String, title? : String, attrs? :
Attrs
, style? : Array[String], children : C) ->
Html

#
field_set

fn[C :
IsChildren
] field_set(disabled? : Bool, name? : String, id? : String, class? : String, title? : String, attrs? :
Attrs
, style? : Array[String], children : C) ->
Html

#
field_title

fn[C :
IsChildren
] field_title(id? : String, class? : String, title? : String, attrs? :
Attrs
, style? : Array[String], children : C) ->
Html

#
form

fn[C :
IsChildren
] form(action? : String, name? : String, on_submit? :
Cmd
, id? : String, class? : String, title? : String, attrs? :
Attrs
, style? : Array[String], children : C) ->
Html

#
form_control

fn[C :
IsChildren
] form_control(id? : String, class? : String, title? : String, attrs? :
Attrs
, style? : Array[String], children : C) ->
Html

#
form_description

fn[C :
IsChildren
] form_description(id? : String, class? : String, title? : String, attrs? :
Attrs
, style? : Array[String], children : C) ->
Html

#
form_field

fn[C :
IsChildren
] form_field(name~ : String, invalid? : Bool, required? : Bool, describedby? : String, errormessage? : String, id? : String, class? : String, title? : String, attrs? :
Attrs
, style? : Array[String], children : C) ->
Html

Adapt caller-owned field state into one semantic Rabbita form group.

This is not React Hook Form's context-backed FormField: it does not register, validate, or retain a value. Pass the field name and validity from the application's TEA model, and keep native id, for, and description relationships explicit on the composed controls.

#
form_item

fn[C :
IsChildren
] form_item(invalid? : Bool, id? : String, class? : String, title? : String, attrs? :
Attrs
, style? : Array[String], children : C) ->
Html

#
form_label

fn[C :
IsChildren
] form_label(for_? : String, id? : String, class? : String, title? : String, attrs? :
Attrs
, style? : Array[String], children : C) ->
Html

#
form_message

fn[C :
IsChildren
] form_message(id? : String, class? : String, title? : String, attrs? :
Attrs
, style? : Array[String], children : C) ->
Html

#
hover_card

fn[T :
IsChildren
, C :
IsChildren
] hover_card(id~ : String, href? : String, target? :
Target
, rel? : String, download? : String, escape? : Bool, default_open? : Bool, disabled? : Bool, open_delay? : Int, close_delay? : Int, hoverable? : Bool, side? : PopupSide, align? : PopupAlign, side_offset? : Int, align_offset? : Int, trigger_variant? : ButtonVariant, trigger_size? : ButtonSize, aria_labelledby? : String, aria_describedby? : String, on_open_change? :
Emit
[Bool], on_trigger_click? :
Cmd
, attrs? :
Attrs
, style? : Array[String], trigger_attrs? :
Attrs
, trigger_style? : Array[String], content_attrs? :
Attrs
, content_style? : Array[String], trigger : T, content : C) ->
Val
[
Html
]

Build a black-box hover card with Rabbita-owned incremental state.

Pointer hover, keyboard focus, configurable opening/closing delays, hoverable content, Escape, outside press, native light-dismiss, and floating positioning are handled internally. All Vega styling is inline.

#
hover_card_content

fn[C :
IsChildren
] hover_card_content(id~ : String, trigger_id~ : String, open? : Bool, side? : PopupSide, align? : PopupAlign, side_offset? : Int, align_offset? : Int, aria_labelledby? : String, aria_describedby? : String, class? : String, title? : String, attrs? :
Attrs
, style? : Array[String], children : C) ->
Html

Render the shadcn Vega hover-card surface on the native Popover top layer.

popover="auto" supplies browser Escape and light-dismiss behavior. The stateful root synchronizes those native changes back into Rabbita state.

#
hover_card_trigger

fn[C :
IsChildren
] hover_card_trigger(content_id~ : String, href~ : String, open? : Bool, disabled? : Bool, open_delay? : Int, close_delay? : Int, variant? : ButtonVariant, size? : ButtonSize, target? :
Target
, rel? : String, download? : String, escape? : Bool, on_click? :
Cmd
, id? : String, class? : String, title? : String, attrs? :
Attrs
, style? : Array[String], children : C) ->
Html

Render the native link that owns hover-card interaction.

The stateful hover_card root wires hover and focus events. This standalone part exposes the same state, delay, and relationship attributes for custom composition without requiring a stylesheet.

#
input

fn input(input_type? :
InputType
, name? : String, value? : String, checked? : Bool, read_only? : Bool, multiple? : Bool, accept? : String, placeholder? : String, auto_complete? :
AutoComplete
, max? : Int, min? : Int, step? : Int, maxlength? : Int, minlength? : Int, pattern? : String, size? : Int, width? : Int, height? : Int, id? : String, class? : String, title? : String, hidden? : Bool, disabled? : Bool, required? : Bool, autofocus? : Bool, list? : String, inputmode? : String, invalid? : Bool, on_change? :
Emit
[String], on_input? :
Emit
[String], attrs? :
Attrs
, style? : Array[String], slot? : String) ->
Html

Render a controlled native input using the shadcn/ui Vega field recipe.

on_input is the immediate value-change channel; on_change follows the browser's native change event. User styles are appended last.

#
input_group

fn[C :
IsChildren
] input_group(disabled? : Bool, invalid? : Bool, id? : String, class? : String, title? : String, attrs? :
Attrs
, style? : Array[String], children : C) ->
Html

#
input_group_addon

fn[C :
IsChildren
] input_group_addon(align? : InputGroupAddonAlign, for_? : String, id? : String, class? : String, title? : String, attrs? :
Attrs
, style? : Array[String], children : C) ->
Html

#
input_group_button

fn[C :
IsChildren
] input_group_button(size? : InputGroupButtonSize, variant? : ButtonVariant, disabled? : Bool, on_click? :
Cmd
, id? : String, class? : String, title? : String, attrs? :
Attrs
, style? : Array[String], children : C) ->
Html

#
input_group_control

Adapt a custom form control to the Input Group surface.

The callback receives the complete public control-slot attributes and the shared nested-control style. Add only control-specific behavior through style; callers never need to know the Input Group's internal data slots.

#
input_group_input

fn input_group_input(input_type? :
InputType
, name? : String, value? : String, placeholder? : String, read_only? : Bool, disabled? : Bool, required? : Bool, autofocus? : Bool, invalid? : Bool, on_change? :
Emit
[String], on_input? :
Emit
[String], id? : String, class? : String, title? : String, attrs? :
Attrs
, style? : Array[String]) ->
Html

#
input_group_text

fn[C :
IsChildren
] input_group_text(id? : String, class? : String, title? : String, attrs? :
Attrs
, style? : Array[String], children : C) ->
Html

#
input_group_textarea

fn input_group_textarea(name? : String, value? : String, rows? : Int, cols? : Int, placeholder? : String, read_only? : Bool, disabled? : Bool, required? : Bool, autofocus? : Bool, invalid? : Bool, on_change? :
Emit
[String], on_input? :
Emit
[String], id? : String, class? : String, title? : String, attrs? :
Attrs
, style? : Array[String]) ->
Html

#
input_otp

fn input_otp(id~ : String, max_length? : Int, default_value? : String, separator_after? : Int, disabled? : Bool, invalid? : Bool, aria_label? : String, inputmode? : String, pattern? : String, on_value_change? :
Emit
[String], on_complete? :
Emit
[String], class? : String, title? : String, attrs? :
Attrs
, input_attrs? :
Attrs
, style? : Array[String], render? : (InputOtpScope) ->
Html
) ->
Val
[
Html
]

#
input_otp_group

fn[C :
IsChildren
] input_otp_group(id? : String, class? : String, title? : String, attrs? :
Attrs
, style? : Array[String], children : C) ->
Html

#
input_otp_separator

fn input_otp_separator(id? : String, class? : String, title? : String, attrs? :
Attrs
, style? : Array[String]) ->
Html

#
input_otp_slot

fn input_otp_slot(scope~ : InputOtpScope, index~ : Int, id? : String, class? : String, title? : String, attrs? :
Attrs
, style? : Array[String]) ->
Html

#
item

fn[C :
IsChildren
] item(variant? : ItemVariant, size? : ItemSize, id? : String, class? : String, title? : String, attrs? :
Attrs
, style? : Array[String], children : C) ->
Html

#
item_actions

fn[C :
IsChildren
] item_actions(id? : String, class? : String, title? : String, attrs? :
Attrs
, style? : Array[String], children : C) ->
Html

#
item_content

fn[C :
IsChildren
] item_content(id? : String, class? : String, title? : String, attrs? :
Attrs
, style? : Array[String], children : C) ->
Html

#
item_description

fn[C :
IsChildren
] item_description(id? : String, class? : String, title? : String, attrs? :
Attrs
, style? : Array[String], children : C) ->
Html

fn[C :
IsChildren
] item_footer(id? : String, class? : String, title? : String, attrs? :
Attrs
, style? : Array[String], children : C) ->
Html

#
item_group

fn[C :
IsChildren
] item_group(id? : String, class? : String, title? : String, attrs? :
Attrs
, style? : Array[String], children : C) ->
Html

#
item_header

fn[C :
IsChildren
] item_header(id? : String, class? : String, title? : String, attrs? :
Attrs
, style? : Array[String], children : C) ->
Html

fn[C :
IsChildren
] item_link(href~ : String, variant? : ItemVariant, size? : ItemSize, disabled? : Bool, aria_label? : String, target? :
Target
, rel? : String, download? : String, escape? : Bool, on_click? :
Cmd
, id? : String, class? : String, title? : String, attrs? :
Attrs
, style? : Array[String], children : C) ->
Html

Render the asChild anchor path from the Vega item recipe as a native link.

#
item_media

fn[C :
IsChildren
] item_media(variant? : ItemMediaVariant, id? : String, class? : String, title? : String, attrs? :
Attrs
, style? : Array[String], children : C) ->
Html

#
item_separator

fn item_separator(id? : String, class? : String, title? : String, attrs? :
Attrs
, style? : Array[String]) ->
Html

#
item_title

fn[C :
IsChildren
] item_title(id? : String, class? : String, title? : String, attrs? :
Attrs
, style? : Array[String], children : C) ->
Html

#
kbd

fn[C :
IsChildren
] kbd(id? : String, class? : String, title? : String, attrs? :
Attrs
, style? : Array[String], children : C) ->
Html

#
kbd_group

fn[C :
IsChildren
] kbd_group(id? : String, class? : String, title? : String, attrs? :
Attrs
, style? : Array[String], children : C) ->
Html

#
label

fn[C :
IsChildren
] label(for_? : String, disabled? : Bool, id? : String, class? : String, title? : String, hidden? : Bool, attrs? :
Attrs
, style? : Array[String], children : C) ->
Html

Render a native label. disabled supplies the standalone equivalent of shadcn/ui's field-context disabled state.

#
marker

fn[C :
IsChildren
] marker(variant? : MarkerVariant, id? : String, class? : String, title? : String, attrs? :
Attrs
, style? : Array[String], children : C) ->
Html

#
marker_content

fn[C :
IsChildren
] marker_content(id? : String, class? : String, title? : String, attrs? :
Attrs
, style? : Array[String], children : C) ->
Html

#
marker_icon

fn[C :
IsChildren
] marker_icon(id? : String, class? : String, title? : String, attrs? :
Attrs
, style? : Array[String], children : C) ->
Html

fn[C :
IsChildren
] marker_link(href~ : String, variant? : MarkerVariant, disabled? : Bool, aria_label? : String, target? :
Target
, rel? : String, download? : String, escape? : Bool, on_click? :
Cmd
, id? : String, class? : String, title? : String, attrs? :
Attrs
, style? : Array[String], children : C) ->
Html

Render the marker asChild anchor path as a native, focusable link.
fn menubar(id~ : String, default_value? : String, default_checked_values? : Array[String], default_radio_values? : Array[(String, String)], on_value_change? :
Emit
[String?], aria_label? : String, class? : String, title? : String, attrs? :
Attrs
, style? : Array[String], children : (MenubarScope) ->
Html
) ->
Val
[
Html
]

fn[C :
IsChildren
] menubar_checkbox_item(scope : MenubarMenuScope, value~ : String, disabled? : Bool, close_on_select? : Bool, on_checked_change? :
Emit
[Bool], on_select? :
Cmd
, attrs? :
Attrs
, style? : Array[String], children : C) ->
Html

fn[C :
IsChildren
] menubar_content(scope : MenubarMenuScope, side_offset? : Int, align_offset? : Int, aria_label? : String, class? : String, title? : String, attrs? :
Attrs
, style? : Array[String], children : C) ->
Html

fn[C :
IsChildren
] menubar_group(aria_label? : String, class? : String, title? : String, attrs? :
Attrs
, style? : Array[String], children : C) ->
Html

fn[C :
IsChildren
] menubar_item(scope : MenubarMenuScope, disabled? : Bool, inset? : Bool, destructive? : Bool, close_on_select? : Bool, on_select? :
Cmd
, aria_label? : String, class? : String, title? : String, attrs? :
Attrs
, style? : Array[String], children : C) ->
Html

Zero-DOM Portal adapter for shadcn-compatible compound composition. Menubar Content is promoted by native Popover, so children remain directly composable without an extra element or a portal registration phase.
fn[C :
IsChildren
] menubar_radio_group(scope : MenubarMenuScope, value~ : String, aria_label? : String, attrs? :
Attrs
, style? : Array[String], children : (MenubarRadioGroupScope) -> C) ->
Html

fn[C :
IsChildren
] menubar_radio_item(scope : MenubarRadioGroupScope, value~ : String, disabled? : Bool, close_on_select? : Bool, on_value_change? :
Emit
[String], on_select? :
Cmd
, attrs? :
Attrs
, style? : Array[String], children : C) ->
Html

fn menubar_root(id~ : String, default_value? : String, default_checked_values? : Array[String], default_radio_values? : Array[(String, String)], on_value_change? :
Emit
[String?], aria_label? : String, class? : String, title? : String, attrs? :
Attrs
, style? : Array[String], children : (MenubarScope) ->
Html
) ->
Val
[
Html
]

Explicit Root spelling matching the compound-component API.

fn[C :
IsChildren
] menubar_sub_trigger(scope : MenubarSubScope, disabled? : Bool, inset? : Bool, attrs? :
Attrs
, style? : Array[String], children : C) ->
Html

fn[C :
IsChildren
] menubar_trigger(scope : MenubarMenuScope, disabled? : Bool, aria_label? : String, on_click? :
Cmd
, class? : String, title? : String, attrs? :
Attrs
, style? : Array[String], children : C) ->
Html

#
message

fn[C :
IsChildren
] message(align? : ContentAlignment, id? : String, class? : String, title? : String, attrs? :
Attrs
, style? : Array[String], children : C) ->
Html

#
message_avatar

fn[C :
IsChildren
] message_avatar(id? : String, class? : String, title? : String, attrs? :
Attrs
, style? : Array[String], children : C) ->
Html

#
message_content

fn[C :
IsChildren
] message_content(id? : String, class? : String, title? : String, attrs? :
Attrs
, style? : Array[String], children : C) ->
Html

fn[C :
IsChildren
] message_footer(id? : String, class? : String, title? : String, attrs? :
Attrs
, style? : Array[String], children : C) ->
Html

#
message_group

fn[C :
IsChildren
] message_group(id? : String, class? : String, title? : String, attrs? :
Attrs
, style? : Array[String], children : C) ->
Html

#
message_header

fn[C :
IsChildren
] message_header(id? : String, class? : String, title? : String, attrs? :
Attrs
, style? : Array[String], children : C) ->
Html

#
message_scroller

fn[C :
IsChildren
] message_scroller(id~ : String, default_at_end? : Bool, class? : String, title? : String, attrs? :
Attrs
, style? : Array[String], children : (MessageScrollerScope) -> C) ->
Val
[
Html
]

#
message_scroller_button

fn[C :
IsChildren
] message_scroller_button(scope~ : MessageScrollerScope, direction? : MessageScrollDirection, label? : String, variant? : ButtonVariant, size? : ButtonSize, id? : String, class? : String, title? : String, attrs? :
Attrs
, style? : Array[String], children : C) ->
Html

#
message_scroller_content

fn[C :
IsChildren
] message_scroller_content(id? : String, class? : String, title? : String, attrs? :
Attrs
, style? : Array[String], children : C) ->
Html

#
message_scroller_item

fn[C :
IsChildren
] message_scroller_item(scroll_anchor? : Bool, id? : String, class? : String, title? : String, attrs? :
Attrs
, style? : Array[String], children : C) ->
Html

#
message_scroller_viewport

fn[C :
IsChildren
] message_scroller_viewport(scope~ : MessageScrollerScope, id? : String, class? : String, title? : String, attrs? :
Attrs
, style? : Array[String], children : C) ->
Html

#
native_select

fn[C :
IsChildren
] native_select(size? : NativeSelectSize, value? : String, name? : String, disabled? : Bool, required? : Bool, autofocus? : Bool, invalid? : Bool, id? : String, class? : String, title? : String, aria_label? : String, on_change? :
Emit
[String], attrs? :
Attrs
, style? : Array[String], wrapper_style? : Array[String], children : C) ->
Html

Render the shadcn native-select recipe with a real browser <select>.

value is written as a DOM property for controlled browser rendering. Options can also set selected for meaningful standalone SSR output.

#
native_select_optgroup

fn[C :
IsChildren
] native_select_optgroup(label? : String, disabled? : Bool, id? : String, class? : String, title? : String, attrs? :
Attrs
, style? : Array[String], children : C) ->
Html

#
native_select_option

fn[C :
IsChildren
] native_select_option(value? : String, selected? : Bool, disabled? : Bool, label? : String, id? : String, class? : String, title? : String, attrs? :
Attrs
, style? : Array[String], children : C) ->
Html

fn navigation_menu(id~ : String, default_value? : String, viewport? : Bool, on_value_change? :
Emit
[String?], aria_label? : String, class? : String, title? : String, attrs? :
Attrs
, style? : Array[String], children : (NavigationMenuScope) ->
Html
) ->
Val
[
Html
]

fn[C :
IsChildren
] navigation_menu_content(scope : NavigationMenuItemScope, side_offset? : Int, align_offset? : Int, aria_label? : String, class? : String, title? : String, attrs? :
Attrs
, style? : Array[String], children : C) ->
Html

fn navigation_menu_indicator(scope : NavigationMenuItemScope, class? : String, attrs? :
Attrs
, style? : Array[String]) ->
Html

fn[C :
IsChildren
] navigation_menu_item(scope : NavigationMenuScope, value~ : String, class? : String, title? : String, attrs? :
Attrs
, style? : Array[String], children : (NavigationMenuItemScope) -> C) ->
Html

fn[C :
IsChildren
] navigation_menu_link(href~ : String, active? : Bool, target? :
Target
, rel? : String, download? : String, escape? : Bool, id? : String, class? : String, title? : String, attrs? :
Attrs
, style? : Array[String], children : C) ->
Html

fn[C :
IsChildren
] navigation_menu_list(scope : NavigationMenuScope, class? : String, title? : String, attrs? :
Attrs
, style? : Array[String], children : C) ->
Html

fn navigation_menu_root(id~ : String, default_value? : String, viewport? : Bool, on_value_change? :
Emit
[String?], aria_label? : String, class? : String, title? : String, attrs? :
Attrs
, style? : Array[String], children : (NavigationMenuScope) ->
Html
) ->
Val
[
Html
]

Explicit Root spelling matching the compound-component API.
fn[C :
IsChildren
] navigation_menu_trigger(scope : NavigationMenuItemScope, disabled? : Bool, aria_label? : String, on_click? :
Cmd
, class? : String, title? : String, attrs? :
Attrs
, style? : Array[String], children : C) ->
Html

fn[C :
IsChildren
] navigation_menu_viewport(scope : NavigationMenuScope, class? : String, title? : String, attrs? :
Attrs
, style? : Array[String], children : C) ->
Html

Render the shared viewport. Content parts registered by the active menu item are mounted here; optional children are appended for custom chrome.
fn[C :
IsChildren
] pagination(aria_label? : String, id? : String, class? : String, title? : String, attrs? :
Attrs
, style? : Array[String], children : C) ->
Html

Render the semantic navigation root for a pagination control.

#
pagination_content

fn[C :
IsChildren
] pagination_content(id? : String, class? : String, title? : String, attrs? :
Attrs
, style? : Array[String], children : C) ->
Html

Render the list that contains pagination items.

#
pagination_ellipsis

fn pagination_ellipsis(label? : String, id? : String, class? : String, title? : String, attrs? :
Attrs
, style? : Array[String]) ->
Html

Render the collapsed-range marker used by long pagination controls.

#
pagination_item

fn[C :
IsChildren
] pagination_item(id? : String, class? : String, title? : String, attrs? :
Attrs
, style? : Array[String], children : C) ->
Html

Render one semantic list item in a pagination control.
fn[C :
IsChildren
] pagination_link(href~ : String, is_active? : Bool, disabled? : Bool, size? : ButtonSize, aria_label? : String, target? :
Target
, rel? : String, download? : String, escape? : Bool, id? : String, class? : String, title? : String, attrs? :
Attrs
, style? : Array[String], children : C) ->
Html

Render a native page anchor using the Vega button recipe.

Active links expose both aria-current="page" and stable data state.

#
pagination_next

fn pagination_next(href~ : String, disabled? : Bool, text? : String, aria_label? : String, target? :
Target
, rel? : String, download? : String, escape? : Bool, id? : String, class? : String, title? : String, attrs? :
Attrs
, style? : Array[String]) ->
Html

Render a next-page anchor with a dependency-free CSS chevron.

#
pagination_previous

fn pagination_previous(href~ : String, disabled? : Bool, text? : String, aria_label? : String, target? :
Target
, rel? : String, download? : String, escape? : Bool, id? : String, class? : String, title? : String, attrs? :
Attrs
, style? : Array[String]) ->
Html

Render a previous-page anchor with a dependency-free CSS chevron.

#
popover

fn[T :
IsChildren
, C :
IsChildren
] popover(id~ : String, default_open? : Bool, disabled? : Bool, modal? : Bool, initial_focus? : Bool, initial_focus_id? : String, restore_focus? : Bool, final_focus_id? : String, side? : PopupSide, align? : PopupAlign, side_offset? : Int, align_offset? : Int, trigger_variant? : ButtonVariant, trigger_size? : ButtonSize, title_id? : String, description_id? : String, on_open_change? :
Emit
[Bool], attrs? :
Attrs
, style? : Array[String], trigger_attrs? :
Attrs
, trigger_style? : Array[String], content_attrs? :
Attrs
, content_style? : Array[String], trigger : T, content : C) ->
Val
[
Html
]

Build a stateful Rabbita popover backed by native browser primitives.

The default non-modal mode uses the HTML Popover API for light-dismiss and Escape. modal=true uses <dialog> for inert background and Tab containment. Initial and final focus IDs configure focus entry and restoration. id is also used by popover_open, popover_close, and popover_toggle.

#
popover_anchor

fn[C :
IsChildren
] popover_anchor(id~ : String, class? : String, title? : String, attrs? :
Attrs
, style? : Array[String], children : C) ->
Html

Render a measurable custom anchor for controlled popover composition.

Pass this element's id as popover_content(trigger_id=...). The anchor may wrap any trigger or visual target; positioning then uses the anchor's bounding box instead of requiring the trigger itself to be the reference.

#
popover_close

fn popover_close(id : String) ->
Cmd

#
popover_close_button

fn[C :
IsChildren
] popover_close_button(target_id~ : String, disabled? : Bool, variant? : ButtonVariant, size? : ButtonSize, aria_label? : String, id? : String, class? : String, title? : String, attrs? :
Attrs
, style? : Array[String], children : C) ->
Html

#
popover_content

fn[C :
IsChildren
] popover_content(id~ : String, trigger_id~ : String, open? : Bool, modal? : Bool, initial_focus? : Bool, initial_focus_id? : String, restore_focus? : Bool, final_focus_id? : String, side? : PopupSide, align? : PopupAlign, side_offset? : Int, align_offset? : Int, title_id? : String, description_id? : String, class? : String, title? : String, attrs? :
Attrs
, style? : Array[String], children : C) ->
Html

#
popover_description

fn[C :
IsChildren
] popover_description(id? : String, class? : String, title? : String, attrs? :
Attrs
, style? : Array[String], children : C) ->
Html

#
popover_header

fn[C :
IsChildren
] popover_header(id? : String, class? : String, title? : String, attrs? :
Attrs
, style? : Array[String], children : C) ->
Html

#
popover_open

fn popover_open(id : String) ->
Cmd

Imperatively open a mounted popover. Its incremental component synchronizes through the native toggle event.

#
popover_title

fn[C :
IsChildren
] popover_title(id? : String, class? : String, title? : String, attrs? :
Attrs
, style? : Array[String], children : C) ->
Html

#
popover_toggle

fn popover_toggle(id : String) ->
Cmd

#
popover_trigger

fn[C :
IsChildren
] popover_trigger(target_id~ : String, open? : Bool, disabled? : Bool, variant? : ButtonVariant, size? : ButtonSize, on_click? :
Cmd
, id? : String, class? : String, title? : String, attrs? :
Attrs
, style? : Array[String], children : C) ->
Html

#
progress

fn progress(value? : Int, min? : Int, max? : Int, aria_label? : String, aria_value_text? : String, labelledby? : String, id? : String, class? : String, title? : String, hidden? : Bool, attrs? :
Attrs
, style? : Array[String], children? : Array[
Html
]) ->
Html

Render an ARIA progress group and append Vega's track and indicator automatically after optional label/value children.

Determinate values are clamped to min...max. A max below min is normalized to min. None renders the indeterminate state and omits aria-valuenow.

#
progress_indicator

fn progress_indicator(value? : Int, min? : Int, max? : Int, id? : String, class? : String, title? : String, hidden? : Bool, attrs? :
Attrs
, style? : Array[String]) ->
Html

#
progress_label

fn[C :
IsChildren
] progress_label(value? : Int, min? : Int, max? : Int, id? : String, class? : String, title? : String, hidden? : Bool, attrs? :
Attrs
, style? : Array[String], children : C) ->
Html

Render a progress label. Pass the same id to progress(labelledby=...) because a stateless Rabbita function cannot register the label implicitly.

#
progress_track

fn[C :
IsChildren
] progress_track(value? : Int, min? : Int, max? : Int, id? : String, class? : String, title? : String, hidden? : Bool, attrs? :
Attrs
, style? : Array[String], children : C) ->
Html

#
progress_value

fn progress_value(value? : Int, min? : Int, max? : Int, text? : String, id? : String, class? : String, title? : String, hidden? : Bool, attrs? :
Attrs
, style? : Array[String]) ->
Html

Render the formatted percentage, or an empty span for indeterminate state. text overrides the default formatting while preserving aria-hidden.

#
radio_group

fn[C :
IsChildren
] radio_group(default_value? : String, name? : String, disabled? : Bool, required? : Bool, invalid? : Bool, orientation? : RadioGroupOrientation, on_value_change? :
Emit
[String], id? : String, class? : String, title? : String, aria_label? : String, attrs? :
Attrs
, style? : Array[String], children : (RadioGroupScope) -> C) ->
Val
[
Html
]

Build a black-box radio group with component-local incremental selection.

#
radio_group_item

fn radio_group_item(scope~ : RadioGroupScope, value~ : String, disabled? : Bool, required? : Bool, invalid? : Bool, id? : String, class? : String, title? : String, aria_label? : String, attrs? :
Attrs
, style? : Array[String]) ->
Html

Render one item bound to the local state owned by radio_group.

#
radio_group_root

fn[C :
IsChildren
] radio_group_root(orientation? : RadioGroupOrientation, id? : String, class? : String, title? : String, aria_label? : String, attrs? :
Attrs
, style? : Array[String], children : C) ->
Html

Lay out native radio inputs as a Vega-style radio group.

Each item remains a real <input type="radio">, so same-name items retain the browser's arrow-key navigation and form behavior.

#
resizable_group

fn[C :
IsChildren
] resizable_group(id~ : String, default_sizes~ : Array[Int], min_sizes? : Array[Int], max_sizes? : Array[Int], orientation? : SeparatorOrientation, aria_label? : String, on_resize? :
Emit
[Array[Int]], class? : String, title? : String, attrs? :
Attrs
, style? : Array[String], children : (ResizableGroupScope) -> C) ->
Val
[
Html
]

#
resizable_group_handle

fn resizable_group_handle(scope~ : ResizableGroupScope, between~ : Int, with_handle? : Bool, aria_label? : String, class? : String, title? : String, attrs? :
Attrs
, style? : Array[String]) ->
Html

#
resizable_group_panel

fn[C :
IsChildren
] resizable_group_panel(scope~ : ResizableGroupScope, index~ : Int, id? : String, class? : String, title? : String, attrs? :
Attrs
, style? : Array[String], children : C) ->
Html

#
resizable_handle

fn resizable_handle(scope~ : ResizableScope, with_handle? : Bool, aria_label? : String, id? : String, class? : String, title? : String, attrs? :
Attrs
, style? : Array[String]) ->
Html

#
resizable_panel

fn[C :
IsChildren
] resizable_panel(scope~ : ResizableScope, side~ : ResizablePanelSide, id? : String, class? : String, title? : String, attrs? :
Attrs
, style? : Array[String], children : C) ->
Html

#
resizable_panel_group

fn[C :
IsChildren
] resizable_panel_group(id~ : String, default_size? : Int, min? : Int, max? : Int, orientation? : SeparatorOrientation, aria_label? : String, on_resize? :
Emit
[Int], class? : String, title? : String, attrs? :
Attrs
, style? : Array[String], children : (ResizableScope) -> C) ->
Val
[
Html
]

#
scroll_area

fn[C :
IsChildren
] scroll_area(orientation? : SeparatorOrientation, id? : String, class? : String, title? : String, attrs? :
Attrs
, style? : Array[String], children : C) ->
Html

#
scroll_area_with_scrollbar

fn[C :
IsChildren
] scroll_area_with_scrollbar(orientation? : SeparatorOrientation, id~ : String, class? : String, title? : String, attrs? :
Attrs
, style? : Array[String], children : C) ->
Val
[
Html
]

A black-box incremental Scroll Area with a proportional custom scrollbar.

The component measures its viewport after the first render, owns the latest offset/viewport/content metrics in Rabbita state, and refreshes them on each native scroll event. Wheel, touch, and keyboard scrolling remain native. Pointer presses on the track jump the thumb to that position; pressing the thumb preserves its grab offset and drags with pointer capture until release or cancellation. Horizontal RTL scrolling is normalized before it enters component state, so the thumb geometry stays logical across browser modes.

#
scroll_bar

fn scroll_bar(orientation? : SeparatorOrientation, id? : String, class? : String, title? : String, attrs? :
Attrs
, style? : Array[String]) ->
Html

Optional visual scrollbar track for layouts that want shadcn's composition. Native scrolling remains on scroll_area; this element is decorative.

#
select

fn select(id~ : String, options~ : Array[SelectOption], default_value? : String, default_open? : Bool, placeholder? : String, disabled? : Bool, invalid? : Bool, required? : Bool, name? : String, side? : PopupSide, align? : PopupAlign, side_offset? : Int, align_offset? : Int, on_value_change? :
Emit
[String], on_open_change? :
Emit
[Bool], class? : String, title? : String, attrs? :
Attrs
, style? : Array[String], render? : (SelectScope) ->
Html
) ->
Val
[
Html
]

#
select_content

fn[C :
IsChildren
] select_content(scope~ : SelectScope, id? : String, class? : String, title? : String, attrs? :
Attrs
, style? : Array[String], children : C) ->
Html

#
select_group

fn[C :
IsChildren
] select_group(label_id? : String, id? : String, class? : String, title? : String, attrs? :
Attrs
, style? : Array[String], children : C) ->
Html

#
select_item

fn[C :
IsChildren
] select_item(scope~ : SelectScope, value~ : String, disabled? : Bool, id? : String, class? : String, title? : String, attrs? :
Attrs
, style? : Array[String], children : C) ->
Html

#
select_label

fn[C :
IsChildren
] select_label(id? : String, class? : String, title? : String, attrs? :
Attrs
, style? : Array[String], children : C) ->
Html

#
select_option

fn select_option(value~ : String, label~ : String, disabled? : Bool) -> SelectOption

#
select_scroll_down_button

fn select_scroll_down_button(scope~ : SelectScope, label? : String, attrs? :
Attrs
, style? : Array[String]) ->
Html

#
select_scroll_up_button

fn select_scroll_up_button(scope~ : SelectScope, label? : String, attrs? :
Attrs
, style? : Array[String]) ->
Html

#
select_separator

fn select_separator(id? : String, class? : String, title? : String, attrs? :
Attrs
, style? : Array[String]) ->
Html

#
select_trigger

fn select_trigger(scope~ : SelectScope, aria_label? : String, id? : String, class? : String, title? : String, attrs? :
Attrs
, style? : Array[String]) ->
Html

#
select_value

fn select_value(scope~ : SelectScope, id? : String, class? : String, title? : String, attrs? :
Attrs
, style? : Array[String], prefix? :
Html
) ->
Html

#
separator

fn separator(orientation? : SeparatorOrientation, decorative? : Bool, id? : String, class? : String, title? : String, attrs? :
Attrs
, style? : Array[String], slot? : String) ->
Html

Render a decorative divider by default, matching shadcn/Radix semantics. Set decorative=false when the divider conveys document structure.

#
sheet

fn sheet(id~ : String, default_open? : Bool, modal? : Bool, close_on_escape? : Bool, on_open_change? :
Emit
[Bool], on_close? :
Emit
[String], children : (SheetScope) ->
Html
) ->
Val
[
Html
]

Create a stateful edge sheet backed by native dialog behavior. Modal sheets enter the browser top layer; modal=false leaves the page interactive. The returned value participates in Rabbita's incremental renderer.

#
sheet_close

fn[C :
IsChildren
] sheet_close(scope : SheetScope, variant? : ButtonVariant, size? : ButtonSize, disabled? : Bool, id? : String, class? : String, title? : String, aria_label? : String, on_click? :
Cmd
, attrs? :
Attrs
, style? : Array[String], children : C) ->
Html

#
sheet_content

fn[C :
IsChildren
] sheet_content(scope : SheetScope, side? : SheetSide, close_on_overlay? : Bool, show_close? : Bool, close_label? : String, described? : Bool, aria_label? : String, id? : String, class? : String, title? : String, hidden? : Bool, attrs? :
Attrs
, style? : Array[String], overlay_attrs? :
Attrs
, overlay_style? : Array[String], native_attrs? :
Attrs
, native_style? : Array[String], children : C) ->
Html

Render an edge-anchored sheet surface. Caller styles are appended after the built-in Vega recipe, so CSS variables or individual properties can be overridden without copying the component.

#
sheet_description

fn[C :
IsChildren
] sheet_description(scope : SheetScope, id? : String, class? : String, title? : String, attrs? :
Attrs
, style? : Array[String], children : C) ->
Html

fn[C :
IsChildren
] sheet_footer(id? : String, class? : String, title? : String, attrs? :
Attrs
, style? : Array[String], children : C) ->
Html

#
sheet_header

fn[C :
IsChildren
] sheet_header(id? : String, class? : String, title? : String, attrs? :
Attrs
, style? : Array[String], children : C) ->
Html

#
sheet_title

fn[C :
IsChildren
] sheet_title(scope : SheetScope, id? : String, class? : String, title? : String, attrs? :
Attrs
, style? : Array[String], children : C) ->
Html

#
sheet_trigger

fn[C :
IsChildren
] sheet_trigger(scope : SheetScope, variant? : ButtonVariant, size? : ButtonSize, disabled? : Bool, id? : String, class? : String, title? : String, aria_label? : String, on_click? :
Cmd
, attrs? :
Attrs
, style? : Array[String], children : C) ->
Html

fn[C :
IsChildren
] sidebar(scope : SidebarScope, side? : SidebarSide, variant? : SidebarVariant, collapsible? : SidebarCollapsible, mobile? : Bool, aria_label? : String, id? : String, class? : String, title? : String, hidden? : Bool, attrs? :
Attrs
, style? : Array[String], overlay_attrs? :
Attrs
, overlay_style? : Array[String], children : C) ->
Html

Render either the desktop sidebar or its explicit mobile sheet form. mobile=true is intentional: inline styles have no hidden stylesheet or breakpoint registration, so applications choose when to switch forms.
fn sidebar_close_mobile(scope : SidebarScope) ->
Cmd

fn sidebar_collapse(scope : SidebarScope) ->
Cmd

fn[C :
IsChildren
] sidebar_content(id? : String, class? : String, title? : String, attrs? :
Attrs
, style? : Array[String], children : C) ->
Html

Commands for applications that need custom controls instead of the default trigger and rail.
fn[C :
IsChildren
] sidebar_footer(id? : String, class? : String, title? : String, attrs? :
Attrs
, style? : Array[String], children : C) ->
Html

fn[C :
IsChildren
] sidebar_group(id? : String, class? : String, title? : String, aria_label? : String, attrs? :
Attrs
, style? : Array[String], children : C) ->
Html

fn[C :
IsChildren
] sidebar_group_action(disabled? : Bool, id? : String, class? : String, title? : String, aria_label? : String, on_click? :
Cmd
, attrs? :
Attrs
, style? : Array[String], children : C) ->
Html

fn[C :
IsChildren
] sidebar_group_content(id? : String, class? : String, title? : String, attrs? :
Attrs
, style? : Array[String], children : C) ->
Html

fn[C :
IsChildren
] sidebar_group_label(scope? : SidebarScope, hide_when_collapsed? : Bool, id? : String, class? : String, title? : String, attrs? :
Attrs
, style? : Array[String], children : C) ->
Html

fn[C :
IsChildren
] sidebar_header(id? : String, class? : String, title? : String, attrs? :
Attrs
, style? : Array[String], children : C) ->
Html

fn sidebar_input(name? : String, value? : String, placeholder? : String, auto_complete? :
AutoComplete
, id? : String, class? : String, title? : String, disabled? : Bool, aria_label? : String, on_change? :
Emit
[String], on_input? :
Emit
[String], attrs? :
Attrs
, style? : Array[String]) ->
Html

fn[C :
IsChildren
] sidebar_inset(id? : String, class? : String, title? : String, attrs? :
Attrs
, style? : Array[String], children : C) ->
Html

fn sidebar_is_collapsed(scope : SidebarScope) -> Bool

fn sidebar_is_mobile_open(scope : SidebarScope) -> Bool

fn[C :
IsChildren
] sidebar_menu(id? : String, class? : String, title? : String, attrs? :
Attrs
, style? : Array[String], children : C) ->
Html

fn[C :
IsChildren
] sidebar_menu_action(show_on_hover? : Bool, disabled? : Bool, id? : String, class? : String, title? : String, aria_label? : String, on_click? :
Cmd
, attrs? :
Attrs
, style? : Array[String], children : C) ->
Html

fn[C :
IsChildren
] sidebar_menu_badge(id? : String, class? : String, title? : String, attrs? :
Attrs
, style? : Array[String], children : C) ->
Html

fn[C :
IsChildren
] sidebar_menu_button(href? : String, is_active? : Bool, variant? : SidebarMenuButtonVariant, size? : SidebarMenuButtonSize, disabled? : Bool, aria_label? : String, target? :
Target
, rel? : String, download? : String, on_click? :
Cmd
, id? : String, class? : String, title? : String, attrs? :
Attrs
, style? : Array[String], children : C) ->
Html

Render a native button, or a native anchor when href is supplied.
fn[C :
IsChildren
] sidebar_menu_button_with_tooltip(id~ : String, tooltip~ : String, href? : String, is_active? : Bool, variant? : SidebarMenuButtonVariant, size? : SidebarMenuButtonSize, disabled? : Bool, aria_label? : String, target? :
Target
, rel? : String, download? : String, on_click? :
Cmd
, on_tooltip_open_change? :
Emit
[Bool], class? : String, title? : String, attrs? :
Attrs
, style? : Array[String], tooltip_side? : PopupSide, tooltip_align? : PopupAlign, tooltip_side_offset? : Int, tooltip_align_offset? : Int, tooltip_show_arrow? : Bool, tooltip_attrs? :
Attrs
, tooltip_style? : Array[String], children : C) ->
Val
[
Html
]

Render a sidebar menu button with a tooltip that is active only while its desktop icon sidebar is collapsed.

The tooltip reuses the button or anchor as its trigger, so this API never nests interactive elements. Expanded, off-canvas, fixed, and mobile sidebars suppress the tooltip automatically.
fn[C :
IsChildren
] sidebar_menu_item(id? : String, class? : String, title? : String, attrs? :
Attrs
, style? : Array[String], children : C) ->
Html

fn sidebar_menu_skeleton(show_icon? : Bool, id? : String, class? : String, title? : String, attrs? :
Attrs
, style? : Array[String]) ->
Html

fn[C :
IsChildren
] sidebar_menu_sub(id? : String, class? : String, title? : String, attrs? :
Attrs
, style? : Array[String], children : C) ->
Html

fn[C :
IsChildren
] sidebar_menu_sub_button(href? : String, is_active? : Bool, disabled? : Bool, aria_label? : String, target? :
Target
, rel? : String, download? : String, on_click? :
Cmd
, id? : String, class? : String, title? : String, attrs? :
Attrs
, style? : Array[String], children : C) ->
Html

fn[C :
IsChildren
] sidebar_menu_sub_item(id? : String, class? : String, title? : String, attrs? :
Attrs
, style? : Array[String], children : C) ->
Html

fn sidebar_open_mobile(scope : SidebarScope) ->
Cmd

fn sidebar_provider(default_collapsed? : Bool, default_mobile_open? : Bool, on_collapsed_change? :
Emit
[Bool], on_mobile_open_change? :
Emit
[Bool], id? : String, class? : String, title? : String, attrs? :
Attrs
, style? : Array[String], children : (SidebarScope) ->
Html
) ->
Val
[
Html
]

Own desktop-collapse and mobile-open state for a complete sidebar tree. The native fallback renders the requested initial state as a constant value.
fn sidebar_rail(scope : SidebarScope, min_width? : Int, max_width? : Int, id? : String, class? : String, title? : String, aria_label? : String, on_click? :
Cmd
, attrs? :
Attrs
, style? : Array[String]) ->
Html

Render the desktop edge control for toggling and pointer resizing. Placement and resize direction are derived from the nearest sidebar.
fn sidebar_separator(id? : String, class? : String, title? : String, attrs? :
Attrs
, style? : Array[String]) ->
Html

fn[C :
IsChildren
] sidebar_trigger(scope : SidebarScope, mobile? : Bool, controls? : String, disabled? : Bool, id? : String, class? : String, title? : String, aria_label? : String, on_click? :
Cmd
, attrs? :
Attrs
, style? : Array[String], children : C) ->
Html

#
skeleton

fn skeleton(id? : String, class? : String, title? : String, attrs? :
Attrs
, style? : Array[String]) ->
Html

Render the Vega pulse skeleton. theme supplies its static keyframes and a reduced-motion override; no external stylesheet is required.

#
slider

fn slider(id~ : String, default_value? : Int, min? : Int, max? : Int, step? : Int, large_step? : Int, orientation? : SeparatorOrientation, disabled? : Bool, aria_label? : String, on_value_change? :
Emit
[Int], on_value_commit? :
Emit
[Int], class? : String, title? : String, attrs? :
Attrs
, input_attrs? :
Attrs
, style? : Array[String]) ->
Val
[
Html
]

#
slider_values

fn slider_values(id~ : String, default_values~ : Array[Int], min? : Int, max? : Int, step? : Int, large_step? : Int, min_steps_between_values? : Int, orientation? : SeparatorOrientation, disabled? : Bool, aria_label? : String, on_value_change? :
Emit
[Array[Int]], on_value_commit? :
Emit
[Array[Int]], class? : String, title? : String, attrs? :
Attrs
, input_attrs? :
Attrs
, style? : Array[String]) ->
Val
[
Html
]

Stateful multi-thumb slider with sorted, non-crossing values.

Every thumb is backed by its own native range input. Initial and pointer values align to step; keyboard page/shift movement uses the exact large_step. Values stay sorted and at least min_steps_between_values steps apart.

#
sonner

fn sonner(max_toasts? : Int, position? : String, class? : String, attrs? :
Attrs
, style? : Array[String], children : (ToastScope) ->
Html
) ->
Val
[
Html
]

Stateful rich-color toast host matching shadcn's Sonner surface while using Rabbita incremental state instead of a global JavaScript singleton.

#
spinner

fn spinner(label? : String, id? : String, class? : String, title? : String, attrs? :
Attrs
, style? : Array[String]) ->
Html

Render a self-contained SVG spinner. theme supplies the CSS keyframes and reduced-motion override so motion is not tracked by runtime script.

#
switch

fn switch(default_checked? : Bool, size? : SwitchSize, disabled? : Bool, read_only? : Bool, invalid? : Bool, id? : String, class? : String, title? : String, aria_label? : String, on_checked_change? :
Emit
[Bool], attrs? :
Attrs
, style? : Array[String]) ->
Val
[
Html
]

Build a black-box switch with component-local incremental state.

#
tab_entry

fn tab_entry(value~ : String, label~ : String, icon? :
Html
, content~ :
Html
, disabled? : Bool) -> TabEntry

Construct one black-box tab entry.

#
table

fn[C :
IsChildren
] table(id? : String, class? : String, title? : String, hidden? : Bool, attrs? :
Attrs
, style? : Array[String], container_attrs? :
Attrs
, container_style? : Array[String], children : C) ->
Html

Render a semantic native table inside Vega's horizontal-scroll container.

style and attrs belong to the native table; use container_style and container_attrs when the scroll wrapper needs customization.

#
table_body

fn[C :
IsChildren
] table_body(id? : String, class? : String, title? : String, hidden? : Bool, attrs? :
Attrs
, style? : Array[String], children : C) ->
Html

#
table_caption

fn[C :
IsChildren
] table_caption(id? : String, class? : String, title? : String, hidden? : Bool, attrs? :
Attrs
, style? : Array[String], children : C) ->
Html

#
table_cell

fn[C :
IsChildren
] table_cell(colspan? : Int, rowspan? : Int, headers? : String, id? : String, class? : String, title? : String, hidden? : Bool, attrs? :
Attrs
, style? : Array[String], children : C) ->
Html

fn[C :
IsChildren
] table_footer(id? : String, class? : String, title? : String, hidden? : Bool, attrs? :
Attrs
, style? : Array[String], children : C) ->
Html

#
table_head

fn[C :
IsChildren
] table_head(scope? :
Scope
, abbr? : String, colspan? : Int, rowspan? : Int, headers? : String, id? : String, class? : String, title? : String, hidden? : Bool, attrs? :
Attrs
, style? : Array[String], children : C) ->
Html

#
table_header

fn[C :
IsChildren
] table_header(id? : String, class? : String, title? : String, hidden? : Bool, attrs? :
Attrs
, style? : Array[String], children : C) ->
Html

#
table_row

fn[C :
IsChildren
] table_row(selected? : Bool, expanded? : Bool, id? : String, class? : String, title? : String, hidden? : Bool, attrs? :
Attrs
, style? : Array[String], children : C) ->
Html

#
tabs

fn tabs(items~ : Array[TabEntry], default_value? : String, orientation? : TabsOrientation, list_variant? : TabsListVariant, aria_label? : String, force_mount? : Bool, id? : String, class? : String, title? : String, hidden? : Bool, attrs? :
Attrs
, list_attrs? :
Attrs
, style? : Array[String], list_style? : Array[String], trigger_style? : Array[String], content_style? : Array[String]) ->
Val
[
Html
]

Build a self-contained tabs interface with component-local incremental state.

#
tabs_content

fn[C :
IsChildren
] tabs_content(value~ : String, selected? : Bool, force_mount? : Bool, labelledby? : String, id? : String, class? : String, title? : String, attrs? :
Attrs
, style? : Array[String], children : C) ->
Html

Render one ARIA tab panel.

#
tabs_list

fn[C :
IsChildren
] tabs_list(orientation? : TabsOrientation, variant? : TabsListVariant, aria_label? : String, id? : String, class? : String, title? : String, attrs? :
Attrs
, style? : Array[String], children : C) ->
Html

Render the ARIA tablist container.

#
tabs_root

fn[C :
IsChildren
] tabs_root(value? : String, orientation? : TabsOrientation, id? : String, class? : String, title? : String, hidden? : Bool, attrs? :
Attrs
, style? : Array[String], children : C) ->
Html

Render the root for a composed tabs interface.

#
tabs_trigger

fn[C :
IsChildren
] tabs_trigger(value~ : String, selected? : Bool, disabled? : Bool, tab_stop? : Bool, controls? : String, on_value_change? :
Emit
[String], id? : String, class? : String, title? : String, attrs? :
Attrs
, style? : Array[String], children : C) ->
Html

Render one native button with ARIA tab semantics.

The browser supplies native focus plus Enter and Space activation. The component appends its value request after any caller click handler stored in attrs.

#
textarea

fn textarea(name? : String, value? : String, rows? : Int, cols? : Int, placeholder? : String, read_only? : Bool, disabled? : Bool, maxlength? : Int, minlength? : Int, required? : Bool, autofocus? : Bool, wrap? : String, invalid? : Bool, id? : String, class? : String, title? : String, hidden? : Bool, on_change? :
Emit
[String], on_input? :
Emit
[String], attrs? :
Attrs
, style? : Array[String], slot? : String) ->
Html

Render a controlled native textarea using the shadcn/ui Vega field recipe.

on_input is the immediate value-change channel; on_change follows the browser's native change event. User styles are appended last.

#
theme

fn[C :
IsChildren
] theme(mode? : ColorMode, id? : String, class? : String, title? : String, attrs? :
Attrs
, style? : Array[String], children : C) ->
Html

Provide the official shadcn Neutral tokens to a subtree.

The wrapper emits the library's static pseudo-class interaction sheet, so no external CSS import or runtime stylesheet registration is required. Every component still carries light-theme fallback values. Append custom CSS variables through style to override any token.

#
toast

fn[C :
IsChildren
] toast(variant? : ToastVariant, open? : Bool, id? : String, class? : String, title? : String, attrs? :
Attrs
, style? : Array[String], children : C) ->
Html

#
toast_action

fn[C :
IsChildren
] toast_action(on_click? :
Cmd
, id? : String, class? : String, title? : String, attrs? :
Attrs
, style? : Array[String], children : C) ->
Html

#
toast_close

fn toast_close(scope~ : ToastScope, toast_id~ : Int, label? : String, id? : String, class? : String, title? : String, attrs? :
Attrs
, style? : Array[String]) ->
Html

#
toast_description

fn[C :
IsChildren
] toast_description(id? : String, class? : String, title? : String, attrs? :
Attrs
, style? : Array[String], children : C) ->
Html

#
toast_title

fn[C :
IsChildren
] toast_title(id? : String, class? : String, title? : String, attrs? :
Attrs
, style? : Array[String], children : C) ->
Html

#
toaster

fn toaster(max_toasts? : Int, position? : String, class? : String, attrs? :
Attrs
, style? : Array[String], children : (ToastScope) ->
Html
) ->
Val
[
Html
]

#
toggle

fn[C :
IsChildren
] toggle(default_pressed? : Bool, variant? : ToggleVariant, size? : ToggleSize, disabled? : Bool, invalid? : Bool, id? : String, class? : String, title? : String, aria_label? : String, on_pressed_change? :
Emit
[Bool], attrs? :
Attrs
, style? : Array[String], slot? : String, children : C) ->
Val
[
Html
]

Build a black-box toggle with component-local incremental state.

#
toggle_group

fn[C :
IsChildren
] toggle_group(default_values? : Array[String], multiple? : Bool, orientation? : SeparatorOrientation, variant? : ToggleVariant, size? : ToggleSize, spacing? : Int, aria_label? : String, on_value_change? :
Emit
[Array[String]], id? : String, class? : String, title? : String, attrs? :
Attrs
, style? : Array[String], children : (ToggleGroupScope) -> C) ->
Val
[
Html
]

Stateful shadcn-style toggle group. Selection is component-local and the optional callback observes each committed value set.

#
toggle_group_item

fn[C :
IsChildren
] toggle_group_item(scope~ : ToggleGroupScope, value~ : String, disabled? : Bool, aria_label? : String, id? : String, class? : String, title? : String, attrs? :
Attrs
, style? : Array[String], children : C) ->
Html

#
tooltip

fn[T :
IsChildren
, C :
IsChildren
] tooltip(id~ : String, default_open? : Bool, disabled? : Bool, delay? : Int, close_delay? : Int, close_on_click? : Bool, hoverable? : Bool, side? : PopupSide, align? : PopupAlign, side_offset? : Int, align_offset? : Int, show_arrow? : Bool, trigger_variant? : ButtonVariant, trigger_size? : ButtonSize, on_open_change? :
Emit
[Bool], on_trigger_click? :
Cmd
, attrs? :
Attrs
, style? : Array[String], trigger_attrs? :
Attrs
, trigger_style? : Array[String], content_attrs? :
Attrs
, content_style? : Array[String], arrow_attrs? :
Attrs
, arrow_style? : Array[String], trigger : T, content : C) ->
Val
[
Html
]

Build a black-box tooltip with Rabbita-owned incremental interaction state.

Hover, keyboard focus, click dismissal, Escape, hoverable content, provider delays, and native Popover top-layer synchronization are handled internally.

#
tooltip_arrow

fn tooltip_arrow(side? : PopupSide, class? : String, title? : String, attrs? :
Attrs
, style? : Array[String]) ->
Html

#
tooltip_close

fn tooltip_close(id : String) ->
Cmd

#
tooltip_content

fn[C :
IsChildren
] tooltip_content(id~ : String, trigger_id~ : String, open? : Bool, side? : PopupSide, align? : PopupAlign, side_offset? : Int, align_offset? : Int, show_arrow? : Bool, class? : String, title? : String, attrs? :
Attrs
, arrow_attrs? :
Attrs
, style? : Array[String], arrow_style? : Array[String], children : C) ->
Html

#
tooltip_open

fn tooltip_open(id : String) ->
Cmd

Imperatively open a mounted tooltip. The owning incremental component receives the resulting native toggle event and synchronizes its state.

#
tooltip_provider

fn[C :
IsChildren
] tooltip_provider(delay? : Int, close_delay? : Int, timeout? : Int, id? : String, class? : String, title? : String, attrs? :
Attrs
, style? : Array[String], children : C) ->
Html

Supply shared open and close delays to descendant tooltips.

shadcn's Vega preset opens without a wait, so delay defaults to zero. timeout is the instant-phase window: moving between tooltips within that period bypasses a non-zero opening delay. An individual tooltip can override the opening or closing delay.

#
tooltip_toggle

fn tooltip_toggle(id : String) ->
Cmd

#
tooltip_trigger

fn[C :
IsChildren
] tooltip_trigger(content_id~ : String, open? : Bool, disabled? : Bool, variant? : ButtonVariant, size? : ButtonSize, on_click? :
Cmd
, id? : String, class? : String, title? : String, attrs? :
Attrs
, style? : Array[String], children : C) ->
Html

#
typography_blockquote

fn[C :
IsChildren
] typography_blockquote(id? : String, class? : String, title? : String, hidden? : Bool, attrs? :
Attrs
, style? : Array[String], children : C) ->
Html

Render the Vega quotation recipe as a semantic blockquote.

#
typography_h1

fn[C :
IsChildren
] typography_h1(id? : String, class? : String, title? : String, hidden? : Bool, attrs? :
Attrs
, style? : Array[String], children : C) ->
Html

Render the Vega display heading recipe as a semantic h1.

#
typography_h2

fn[C :
IsChildren
] typography_h2(id? : String, class? : String, title? : String, hidden? : Bool, attrs? :
Attrs
, style? : Array[String], children : C) ->
Html

Render the Vega section heading recipe as a semantic h2.

#
typography_h3

fn[C :
IsChildren
] typography_h3(id? : String, class? : String, title? : String, hidden? : Bool, attrs? :
Attrs
, style? : Array[String], children : C) ->
Html

Render the Vega subsection heading recipe as a semantic h3.

#
typography_h4

fn[C :
IsChildren
] typography_h4(id? : String, class? : String, title? : String, hidden? : Bool, attrs? :
Attrs
, style? : Array[String], children : C) ->
Html

Render the Vega compact heading recipe as a semantic h4.

#
typography_inline_code

fn[C :
IsChildren
] typography_inline_code(id? : String, class? : String, title? : String, hidden? : Bool, attrs? :
Attrs
, style? : Array[String], children : C) ->
Html

Render a short inline code fragment.

#
typography_large

fn[C :
IsChildren
] typography_large(id? : String, class? : String, title? : String, hidden? : Bool, attrs? :
Attrs
, style? : Array[String], children : C) ->
Html

Render emphasized large text without adding heading semantics.

#
typography_lead

fn[C :
IsChildren
] typography_lead(id? : String, class? : String, title? : String, hidden? : Bool, attrs? :
Attrs
, style? : Array[String], children : C) ->
Html

Render introductory copy with the Vega lead treatment.

#
typography_list

fn[C :
IsChildren
] typography_list(id? : String, class? : String, title? : String, hidden? : Bool, attrs? :
Attrs
, style? : Array[String], children : C) ->
Html

Render the Vega bulleted-list recipe as a semantic ul.

#
typography_muted

fn[C :
IsChildren
] typography_muted(id? : String, class? : String, title? : String, hidden? : Bool, attrs? :
Attrs
, style? : Array[String], children : C) ->
Html

Render subdued helper copy.

#
typography_p

fn[C :
IsChildren
] typography_p(id? : String, class? : String, title? : String, hidden? : Bool, attrs? :
Attrs
, style? : Array[String], children : C) ->
Html

Render a readable body paragraph.

#
typography_small

fn[C :
IsChildren
] typography_small(id? : String, class? : String, title? : String, hidden? : Bool, attrs? :
Attrs
, style? : Array[String], children : C) ->
Html

Render compact supporting copy using the semantic small element.