rui

    Self-contained Nova-style UI components for Rabbita

    UI
    components
    rabbita
    shadcn
    web
    Download zip
    Version
    0.3.4
    License
    MIT
    Last updated
    3 days ago
    Downloads
    125

    #RUI (Experimental)

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

    RUI (moonbit-community/rui) is a native component library for Rabbita, inspired by the shadcn/ui Nova 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.

    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

    For Markdown documents, import moonbit-community/rui/markdown and use @markdown.markdown(source). The synchronous renderer includes shadcn Typeset typography with Nova tokens, tables, task lists and footnotes. See the Markdown package for supported syntax and source-rendering behavior.

    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
    )

    AccordionType::equal

    AccordionType::not_equal

    fn AccordionType::not_equal(x : AccordionType, y : AccordionType) -> Bool

    AlertVariant

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

    AlertVariant::equal

    AlertVariant::not_equal

    fn AlertVariant::not_equal(x : AlertVariant, y : AlertVariant) -> Bool

    AttachmentMediaVariant

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

    AttachmentMediaVariant::equal

    AttachmentMediaVariant::not_equal

    AttachmentOrientation

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

    AttachmentOrientation::equal

    AttachmentOrientation::not_equal

    AttachmentSize

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

    AttachmentSize::equal

    AttachmentSize::not_equal

    fn AttachmentSize::not_equal(x : AttachmentSize, y : AttachmentSize) -> Bool

    AttachmentState

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

    AttachmentState::equal

    AttachmentState::not_equal

    fn AttachmentState::not_equal(x : AttachmentState, y : AttachmentState) -> Bool

    AvatarImageStatus

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

    AvatarImageStatus::equal

    AvatarImageStatus::not_equal

    fn AvatarImageStatus::not_equal(x : AvatarImageStatus, y : AvatarImageStatus) -> Bool

    AvatarSize

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

    AvatarSize::equal

    fn AvatarSize::equal(AvatarSize, AvatarSize) -> Bool

    AvatarSize::not_equal

    fn AvatarSize::not_equal(x : AvatarSize, y : AvatarSize) -> Bool

    BadgeVariant

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

    BadgeVariant::equal

    BadgeVariant::not_equal

    fn BadgeVariant::not_equal(x : BadgeVariant, y : BadgeVariant) -> Bool

    BubbleReactionSide

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

    BubbleReactionSide::equal

    BubbleReactionSide::not_equal

    BubbleVariant

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

    BubbleVariant::equal

    BubbleVariant::not_equal

    fn BubbleVariant::not_equal(x : BubbleVariant, y : BubbleVariant) -> Bool

    ButtonSize

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

    ButtonSize::equal

    fn ButtonSize::equal(ButtonSize, ButtonSize) -> Bool

    ButtonSize::not_equal

    fn ButtonSize::not_equal(x : ButtonSize, y : ButtonSize) -> Bool

    ButtonVariant

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

    ButtonVariant::equal

    ButtonVariant::not_equal

    fn ButtonVariant::not_equal(x : ButtonVariant, y : ButtonVariant) -> Bool

    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::equal

    CalendarDate::month

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

    CalendarDate::not_equal

    fn CalendarDate::not_equal(x : CalendarDate, y : CalendarDate) -> Bool

    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
    )

    CardSize::equal

    fn CardSize::equal(CardSize, CardSize) -> Bool

    CardSize::not_equal

    fn CardSize::not_equal(x : CardSize, y : CardSize) -> Bool

    CardSize::to_repr

    CarouselOrientation

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

    CarouselOrientation::equal

    CarouselOrientation::not_equal

    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
    )

    ChartIndicator::equal

    ChartIndicator::not_equal

    fn ChartIndicator::not_equal(x : ChartIndicator, y : ChartIndicator) -> Bool

    ColorMode

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

    ColorMode::equal

    fn ColorMode::equal(ColorMode, ColorMode) -> Bool

    ColorMode::not_equal

    fn ColorMode::not_equal(x : ColorMode, y : ColorMode) -> Bool

    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, and filtering stay local to one Rabbita value.

    ContentAlignment

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

    ContentAlignment::equal

    ContentAlignment::not_equal

    fn ContentAlignment::not_equal(x : ContentAlignment, y : ContentAlignment) -> Bool

    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].

    DatePickerPreset::equal

    DatePickerPreset::not_equal

    fn DatePickerPreset::not_equal(x : DatePickerPreset, y : DatePickerPreset) -> Bool

    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::equal

    fn DateRange::equal(DateRange, DateRange) -> Bool

    DateRange::not_equal

    fn DateRange::not_equal(x : DateRange, y : DateRange) -> Bool

    DateRange::start

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

    DrawerDirection

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

    Edge from which a [drawer] enters the viewport.

    DrawerDirection::equal

    DrawerDirection::not_equal

    fn DrawerDirection::not_equal(x : DrawerDirection, y : DrawerDirection) -> Bool

    type DropdownMenuRadioGroupScope

    type DropdownMenuScope

    type DropdownMenuSubScope

    EmptyMediaVariant

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

    EmptyMediaVariant::equal

    EmptyMediaVariant::not_equal

    fn EmptyMediaVariant::not_equal(x : EmptyMediaVariant, y : EmptyMediaVariant) -> Bool

    FieldLegendVariant

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

    FieldLegendVariant::equal

    FieldLegendVariant::not_equal

    FieldOrientation

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

    FieldOrientation::equal

    FieldOrientation::not_equal

    fn FieldOrientation::not_equal(x : FieldOrientation, y : FieldOrientation) -> Bool

    InputGroupAddonAlign

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

    InputGroupAddonAlign::equal

    InputGroupAddonAlign::not_equal

    InputGroupButtonSize

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

    InputGroupButtonSize::equal

    InputGroupButtonSize::not_equal

    InputOtpScope

    type InputOtpScope

    Opaque render scope owned by input_otp.

    ItemMediaVariant

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

    ItemMediaVariant::equal

    ItemMediaVariant::not_equal

    fn ItemMediaVariant::not_equal(x : ItemMediaVariant, y : ItemMediaVariant) -> Bool

    ItemSize

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

    ItemSize::equal

    fn ItemSize::equal(ItemSize, ItemSize) -> Bool

    ItemSize::not_equal

    fn ItemSize::not_equal(x : ItemSize, y : ItemSize) -> Bool

    ItemSize::to_repr

    ItemVariant

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

    ItemVariant::equal

    fn ItemVariant::equal(ItemVariant, ItemVariant) -> Bool

    ItemVariant::not_equal

    fn ItemVariant::not_equal(x : ItemVariant, y : ItemVariant) -> Bool

    MarkerVariant

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

    MarkerVariant::equal

    MarkerVariant::not_equal

    fn MarkerVariant::not_equal(x : MarkerVariant, y : MarkerVariant) -> Bool

    type MenuCoreModel derive(Eq)

    fn MenuCoreModel::not_equal(x : MenuCoreModel, y : MenuCoreModel) -> Bool

    type MenuIndicatorPlacement derive(Eq)

    type MenuSubmenuChange derive(Eq)

    fn MenuSubmenuChange::not_equal(x : MenuSubmenuChange, y : MenuSubmenuChange) -> Bool

    type MenubarMenuScope

    type MenubarModel derive(Eq)

    fn MenubarModel::not_equal(x : MenubarModel, y : MenubarModel) -> Bool

    type MenubarRadioGroupScope

    type MenubarScope

    type MenubarSubScope

    MessageScrollDirection

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

    MessageScrollDirection::equal

    MessageScrollDirection::not_equal

    MessageScrollerScope

    type MessageScrollerScope

    Opaque render scope owned by message_scroller.

    NativeSelectSize

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

    NativeSelectSize::equal

    NativeSelectSize::not_equal

    fn NativeSelectSize::not_equal(x : NativeSelectSize, y : NativeSelectSize) -> Bool

    type NavigationMenuItemScope

    type NavigationMenuModel derive(Eq)

    type NavigationMenuScope

    PopupAlign

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

    PopupAlign::equal

    fn PopupAlign::equal(PopupAlign, PopupAlign) -> Bool

    PopupAlign::not_equal

    fn PopupAlign::not_equal(x : PopupAlign, y : PopupAlign) -> Bool

    PopupSide

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

    PopupSide::equal

    fn PopupSide::equal(PopupSide, PopupSide) -> Bool

    PopupSide::not_equal

    fn PopupSide::not_equal(x : PopupSide, y : PopupSide) -> Bool

    RadioGroupOrientation

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

    RadioGroupOrientation::equal

    RadioGroupOrientation::not_equal

    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
    )

    ResizablePanelSide::equal

    ResizablePanelSide::not_equal

    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
    )

    SeparatorOrientation::equal

    SeparatorOrientation::not_equal

    SheetSide

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

    Edge from which a [sheet] enters the viewport.

    SheetSide::equal

    fn SheetSide::equal(SheetSide, SheetSide) -> Bool

    SheetSide::not_equal

    fn SheetSide::not_equal(x : SheetSide, y : SheetSide) -> Bool

    SidebarCollapsible

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

    SidebarCollapsible::equal

    SidebarCollapsible::not_equal

    SidebarMenuButtonSize

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

    SidebarMenuButtonSize::equal

    SidebarMenuButtonSize::not_equal

    SidebarMenuButtonVariant

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

    SidebarMenuButtonVariant::equal

    SidebarMenuButtonVariant::not_equal

    SidebarScope

    type SidebarScope

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

    SidebarSide

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

    SidebarSide::equal

    fn SidebarSide::equal(SidebarSide, SidebarSide) -> Bool

    SidebarSide::not_equal

    fn SidebarSide::not_equal(x : SidebarSide, y : SidebarSide) -> Bool

    SidebarVariant

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

    SidebarVariant::equal

    SidebarVariant::not_equal

    fn SidebarVariant::not_equal(x : SidebarVariant, y : SidebarVariant) -> Bool

    SwitchSize

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

    SwitchSize::equal

    fn SwitchSize::equal(SwitchSize, SwitchSize) -> Bool

    SwitchSize::not_equal

    fn SwitchSize::not_equal(x : SwitchSize, y : SwitchSize) -> Bool

    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 Nova edge indicator.

    TabsListVariant::equal

    TabsListVariant::not_equal

    fn TabsListVariant::not_equal(x : TabsListVariant, y : TabsListVariant) -> Bool

    TabsOrientation

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

    TabsOrientation::equal

    TabsOrientation::not_equal

    fn TabsOrientation::not_equal(x : TabsOrientation, y : TabsOrientation) -> Bool

    TextDirection

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

    TextDirection::equal

    TextDirection::not_equal

    fn TextDirection::not_equal(x : TextDirection, y : TextDirection) -> Bool

    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
    )

    ToastVariant::equal

    ToastVariant::not_equal

    fn ToastVariant::not_equal(x : ToastVariant, y : ToastVariant) -> Bool

    ToggleGroupScope

    type ToggleGroupScope

    Opaque render scope owned by toggle_group.

    ToggleSize

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

    ToggleSize::equal

    fn ToggleSize::equal(ToggleSize, ToggleSize) -> Bool

    ToggleSize::not_equal

    fn ToggleSize::not_equal(x : ToggleSize, y : ToggleSize) -> Bool

    ToggleVariant

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

    ToggleVariant::equal

    ToggleVariant::not_equal

    fn ToggleVariant::not_equal(x : ToggleVariant, y : ToggleVariant) -> Bool

    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
    ]

    Native/SSR fallback: render the requested initial selection as a constant incremental value.

    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 Nova 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[C :
    IsChildren
    ] alert_dialog(id? : String, class? : String, title? : String, hidden? : Bool, open? : Bool, closedby? : String, on_close? :
    Emit
    [String], on_cancel? :
    Cmd
    , attrs? :
    Attrs
    , style? : Array[String], children : C) ->
    Html

    Render a native alert dialog without component state or an implicit close icon. Open it with @rabbita/dialog.show(id) and use a <form method="dialog"> for its action and cancel buttons. Outside clicks do not dismiss it by default. Title/description IDs and native events follow [dialog].

    alert_dialog_action

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

    Render the primary submit button for a <form method="dialog">.

    alert_dialog_cancel

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

    Render a cancel submit button with autofocus and no form validation.

    alert_dialog_description

    fn[C :
    IsChildren
    ] alert_dialog_description(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_title

    fn[C :
    IsChildren
    ] alert_dialog_title(id? : String, class? : String, title? : String, 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 Nova 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 Nova 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
    ]

    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 Nova 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 Nova'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 Nova variants and sizes.

    Mark icons with data-icon="inline-start" or data-icon="inline-end" to reduce padding on the corresponding side.

    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 Nova 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
    ]

    Native/SSR fallback for calendar; renders the same requested initial month and selection as a constant incremental value.

    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
    ]

    Native/SSR fallback for [calendar_multiple].

    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
    ]

    Native/SSR fallback for [calendar_range].

    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 Nova 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
    ]

    Native/SSR fallback for carousel; renders the requested initial scope as a constant incremental value.
    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

    Nova 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
    ]

    Native/SSR fallback for checkbox: render the initial state as a constant incremental value.

    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
    ]

    Native/SSR fallback: render the requested initial state as a constant incremental value.

    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_box

    fn command_box(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
    ]

    command_dialog

    fn command_dialog(id~ : String, default_query? : String, should_filter? : Bool, filter? : (String, String, Array[String]) -> Bool, close_on_select? : Bool, open? : Bool, closedby? : String, aria_label? : String, on_value_select? :
    Emit
    [String], on_query_change? :
    Emit
    [String], on_close? :
    Emit
    [String], on_cancel? :
    Cmd
    , class? : String, title? : String, attrs? :
    Attrs
    , style? : Array[String], children : (CommandScope) ->
    Html
    ) ->
    Val
    [
    Html
    ]

    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_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_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
    ]

    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
    ]

    Native/SSR fallback: render the requested initial table state as a constant incremental value.

    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
    ]

    Native/SSR fallback for [date_picker].

    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
    ]

    Native/SSR fallback for [date_range_picker].

    dialog

    fn[C :
    IsChildren
    ] dialog(id? : String, class? : String, title? : String, hidden? : Bool, open? : Bool, closedby? : String, show_close? : Bool, close_label? : String, on_close? :
    Emit
    [String], on_cancel? :
    Cmd
    , attrs? :
    Attrs
    , style? : Array[String], children : C) ->
    Html

    Render a styled native dialog without component state.

    Open it with @rabbita/dialog.show(id) (or modal=false for a non-modal dialog), and close it with a <form method="dialog"> submit button or @rabbita/dialog.close(id). The browser owns visibility and focus. open=true renders an initially open, non-modal dialog.

    Give the title and description IDs and link them with aria_labelledby and aria_describedby in attrs, or provide an aria_label there. closedby controls native dismissal: "any" allows outside clicks and Escape, "closerequest" allows Escape, and "none" requires an explicit close. As with @html.dialog, supplying on_cancel prevents the default close so the caller can decide how to handle the request.

    dialog_description

    fn[C :
    IsChildren
    ] dialog_description(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

    Render the action row with default spacing above it, including inside forms.

    dialog_header

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

    Render the heading group with default spacing below it.

    dialog_title

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

    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[C :
    IsChildren
    ] drawer(id? : String, class? : String, title? : String, hidden? : Bool, direction? : DrawerDirection, swipe_area? : Int, open? : Bool, closedby? : String, on_close? :
    Emit
    [String], on_cancel? :
    Cmd
    , attrs? :
    Attrs
    , style? : Array[String], children : C) ->
    Html

    Render a floating native drawer. Set swipe_area to a positive pixel size to enable a transparent swipe area outside its inward-facing edge (width for side drawers, height for top/bottom drawers). It is disabled by default. --rui-drawer-inset controls the viewport gutter (defaults to 0.5rem). Open it with @rabbita/dialog.show(id) and close it with a <form method="dialog"> or @rabbita/dialog.close(id). Swiping the outside area requests native dismissal and respects on_cancel. Native events and title/description IDs follow [dialog].

    drawer_description

    fn[C :
    IsChildren
    ] drawer_description(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_header

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

    drawer_title

    fn[C :
    IsChildren
    ] drawer_title(id? : String, class? : String, title? : String, 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
    ]

    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
    ]

    Native/SSR fallback: retain the same API and render the normalized initial state as a constant incremental value.

    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 Nova 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 Nova 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 Nova 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 Nova 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
    ]

    Native/SSR fallback: renders the initial state as a constant incremental value. Browser interaction is available on the JavaScript target.

    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 Nova'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
    ]

    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 Nova-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
    ]

    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[C :
    IsChildren
    ] sheet(id? : String, class? : String, title? : String, hidden? : Bool, side? : SheetSide, open? : Bool, closedby? : String, show_close? : Bool, close_label? : String, on_close? :
    Emit
    [String], on_cancel? :
    Cmd
    , attrs? :
    Attrs
    , style? : Array[String], children : C) ->
    Html

    Render an edge-anchored native dialog without component state. Open it with @rabbita/dialog.show(id) and close it with a <form method="dialog"> or @rabbita/dialog.close(id). Native dismissal, events and title/description IDs follow [dialog].

    sheet_description

    fn[C :
    IsChildren
    ] sheet_description(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(id? : String, class? : String, title? : String, 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
    ]

    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
    ]

    fn[Input : Eq] sidebar_provider_with_input(input~ :
    Val
    [Input], 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, Input) ->
    Html
    ) ->
    Val
    [
    Html
    ]

    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 Nova 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
    ]

    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 Nova'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
    ]

    Native/SSR fallback: render the requested initial selection as a constant incremental value.

    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 Nova 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
    ]

    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
    ]

    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
    ]

    Native/SSR fallback: render the requested initial state. Browser event and top-layer behavior is enabled by the JavaScript target.

    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 Nova 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 Nova 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 Nova 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 Nova 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 Nova 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 Nova 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 Nova 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 Nova 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.