Native, touch-first Skyline components for Minimoon, adapted from RUI.
Dependencies
import {
"lampclaw/minimoon@0.2.0",
"lampclaw/minimoon_ui@0.1.0",
}import {
"lampclaw/minimoon" @minimoon,
"lampclaw/minimoon_ui" @ui,
}{
"schemaVersion": 11,
"name": "ui_app",
"resources": [
{"package": "lampclaw/minimoon_ui/resources", "features": []}
],
"pages": [{"package": "src/pages/home"}]
}pub fn program() -> @minimoon.Page {
@minimoon.page(
id="home",
route=@minimoon.route("pages/home/home"),
title="UI",
capabilities=[@minimoon.MeasureNodes],
build=page => @ui.root(page, context => {
@ui.dialog(
context,
id="welcome",
title="Welcome",
trigger_label="Open",
content=@minimoon.Val::constant(@minimoon.text("Hello Skyline")),
)
}),
)
}moon test ui/src --target native
moon test ui/src --target js
bun run check:coverage
bun run check:candidatebun run minimoon build ui/examples/showcase
bun run minimoon verify ui/examples/showcase --candidatetype CarouselScopetype ComboboxScopetype CommandScopetype NavigationMenuItemScopetype NavigationMenuScopetype SidebarSurfaceScopetype UiContextfn[C : IsChildren] accordion_content(id? : String, open? : Bool, force_mount? : Bool, labelled_by? : String, children : C) -> Nodefn[C : IsChildren] accordion_item(id? : String, open? : Bool, disabled? : Bool, children : C) -> Nodefn[C : IsChildren] accordion_trigger(value~ : String, on_change~ : Emit[String], open? : Bool, disabled? : Bool, controls? : String, id? : String, show_indicator? : Bool, children : C) -> Nodefn[C : IsChildren] alert_action(id? : String, class? : String, style? : String, children : C) -> Nodefn[C : IsChildren] alert_description(id? : String, class? : String, style? : String, children : C) -> Nodefn[C : IsChildren] alert_title(id? : String, class? : String, style? : String, children : C) -> Nodefn[C : IsChildren] attachment(children : C, state? : AttachmentState, size? : AttachmentSize, orientation? : Orientation, id? : String, class? : String, style? : String) -> Nodefn attachment_action(label~ : String, on_tap~ : Cmd, content? : Node, variant? : ButtonVariant, size? : ButtonSize, disabled? : Bool, id? : String, class? : String, style? : String) -> Nodefn[C : IsChildren] attachment_actions(children : C, id? : String, class? : String, style? : String) -> Nodefn[C : IsChildren] attachment_content(children : C, id? : String, class? : String, style? : String) -> Nodefn[C : IsChildren] attachment_description(children : C, id? : String, class? : String, style? : String) -> Nodefn[C : IsChildren] attachment_group(children : C, id? : String, class? : String, style? : String) -> Nodefn attachment_media(src? : String, alt? : String, variant? : MediaVariant, content? : Node, error? : Bool, id? : String, class? : String, style? : String) -> Nodefn[C : IsChildren] attachment_title(children : C, id? : String, class? : String, style? : String) -> Nodefn[C : IsChildren] attachment_trigger_link(target~ : Route, disabled? : Bool, label? : String, id? : String, children : C) -> Nodefn[C : IsChildren] avatar_badge(id? : String, class? : String, style? : String, children : C) -> Nodefn[C : IsChildren] avatar_fallback(id? : String, class? : String, style? : String, children : C) -> Nodefn[C : IsChildren] avatar_group(id? : String, class? : String, style? : String, children : C) -> Nodefn[C : IsChildren] avatar_group_count(id? : String, class? : String, style? : String, children : C) -> Nodefn avatar_image(src~ : String, alt? : String, on_load? : Emit[ImageLoadDetail], on_error? : Emit[String], id? : String) -> Nodefn[C : IsChildren] avatar_with_fallback(src~ : Val[String], alt? : String, size? : Size, id? : String, on_status_change? : Emit[AvatarImageStatus], fallback : C) -> Val[Node]fn[C : IsChildren] badge_link(on_tap~ : Cmd, variant? : Tone, disabled? : Bool, id? : String, class? : String, children : C) -> Nodefn[C : IsChildren] breadcrumb_item(id? : String, class? : String, style? : String, children : C) -> Nodefn[C : IsChildren] breadcrumb_link(on_tap~ : Cmd, disabled? : Bool, id? : String, class? : String, children : C) -> Nodefn[C : IsChildren] breadcrumb_list(id? : String, class? : String, style? : String, children : C) -> Nodefn[C : IsChildren] breadcrumb_page(id? : String, class? : String, style? : String, children : C) -> Nodefn[C : IsChildren] bubble_content(id? : String, class? : String, style? : String, children : C) -> Nodefn[C : IsChildren] bubble_content_button(on_tap~ : Cmd, disabled? : Bool, id? : String, class? : String, children : C) -> Nodefn[C : IsChildren] bubble_content_link(on_tap~ : Cmd, disabled? : Bool, id? : String, class? : String, children : C) -> Nodefn[C : IsChildren] bubble_group(id? : String, class? : String, style? : String, children : C) -> Nodefn[C : IsChildren] bubble_reactions(side? : ReactionSide, alignment? : Alignment, id? : String, class? : String, style? : String, children : C) -> Nodefn[C : IsChildren] button(on_tap? : Cmd, variant? : ButtonVariant, size? : ButtonSize, disabled? : Bool, form_type? : FormButtonType, id? : String, event_key? : String, class? : String, style? : String, label? : String, children : C) -> Nodefn[C : IsChildren] button_group_text(id? : String, class? : String, style? : String, children : C) -> Nodefn calendar(id~ : String, initial_month~ : CalendarDate, initial_selected? : DateSelection, disabled_date? : (CalendarDate) -> Bool, week_start? : Int, today? : CalendarDate, show_outside_days? : Bool, disabled? : Bool, on_select? : Emit[DateSelection], on_month_change? : Emit[CalendarDate]) -> Val[Node]fn calendar_controlled(id~ : String, month~ : Val[CalendarDate], on_month_change~ : Emit[CalendarDate], selected~ : Val[DateSelection], on_change~ : Emit[DateSelection], disabled_date? : (CalendarDate) -> Bool, week_start? : Int, today? : CalendarDate, show_outside_days? : Bool, disabled? : Bool) -> Val[Node]fn[C : IsChildren] card_action(id? : String, class? : String, style? : String, children : C) -> Nodefn[C : IsChildren] card_content(id? : String, class? : String, style? : String, children : C) -> Nodefn[C : IsChildren] card_description(id? : String, class? : String, style? : String, children : C) -> Nodefn[C : IsChildren] card_footer(id? : String, class? : String, style? : String, children : C) -> Nodefn[C : IsChildren] card_header(id? : String, class? : String, style? : String, children : C) -> Nodefn[C : IsChildren] carousel_content(scope : CarouselScope, children : C, id? : String, autoplay? : Bool, interval? : Int, height? : String, class? : String, style? : String) -> Nodefn[C : IsChildren] carousel_item(scope : CarouselScope, index~ : Int, children : C, key? : String, aria_label? : String, class? : String, style? : String) -> Nodefn carousel_items(scope : CarouselScope, items~ : Array[Panel], autoplay? : Bool, interval? : Int, height? : String, class? : String, style? : String) -> Nodefn[C : IsChildren] carousel_next(scope : CarouselScope, children : C, disabled? : Bool, aria_label? : String, class? : String) -> Nodefn[C : IsChildren] carousel_previous(scope : CarouselScope, children : C, disabled? : Bool, aria_label? : String, class? : String) -> Nodefn carousel_provider(id~ : String, count~ : Val[Int], render~ : (CarouselScope) -> Node, default_index? : Int, on_change? : Emit[Int], circular? : Bool, orientation? : Orientation, aria_label? : String, class? : String, style? : String) -> Val[Node]fn carousel_provider_controlled(id~ : String, count~ : Val[Int], current~ : Val[Int], on_change~ : Emit[Int], render~ : (CarouselScope) -> Node, circular? : Bool, orientation? : Orientation, aria_label? : String, class? : String, style? : String) -> Val[Node]fn[Input : Eq] carousel_provider_controlled_with_input(id~ : String, count~ : Val[Int], current~ : Val[Int], on_change~ : Emit[Int], input~ : Val[Input], render~ : (CarouselScope, Input) -> Node, circular? : Bool, orientation? : Orientation, aria_label? : String, class? : String, style? : String) -> Val[Node]fn[Input : Eq] carousel_provider_with_input(id~ : String, count~ : Val[Int], input~ : Val[Input], render~ : (CarouselScope, Input) -> Node, default_index? : Int, on_change? : Emit[Int], circular? : Bool, orientation? : Orientation, aria_label? : String, class? : String, style? : String) -> Val[Node]fn[C : IsChildren] chart_container(children : C, id? : String, label? : String, style? : String) -> Nodefn chart_tooltip_item(label~ : String, value~ : String, color? : String, indicator? : ChartIndicator) -> Nodefn checkbox_state(name? : String, id~ : String, initial? : CheckState, label? : String, disabled? : Bool, read_only? : Bool, invalid? : Bool) -> Val[Node]fn checkbox_state_controlled(name? : String, id~ : String, state~ : Val[CheckState], on_change~ : Emit[CheckState], label? : String, disabled? : Bool, read_only? : Bool, invalid? : Bool) -> Val[Node]fn[C : IsChildren] collapsible_content(id? : String, open? : Bool, force_mount? : Bool, labelled_by? : String, children : C) -> Nodefn[C : IsChildren] collapsible_root(id? : String, open? : Bool, disabled? : Bool, children : C) -> Nodefn[C : IsChildren] collapsible_trigger(on_change~ : Emit[Bool], open? : Bool, disabled? : Bool, controls? : String, id? : String, show_indicator? : Bool, children : C) -> Nodefn[C : IsChildren] combobox_chip(scope : ComboboxScope, value~ : String, children : C, removable? : Bool) -> Nodefn[C : IsChildren] combobox_chips(children : C, id? : String, class? : String, style? : String) -> Nodefn[C : IsChildren] combobox_collection(children : C, id? : String, class? : String, style? : String) -> Nodefn[C : IsChildren] combobox_group(children : C, id? : String, class? : String, style? : String) -> Nodefn[C : IsChildren] combobox_item(scope : ComboboxScope, value~ : String, children : C, disabled? : Bool) -> Nodefn[C : IsChildren] combobox_label(children : C, id? : String, class? : String, style? : String) -> Nodefn[C : IsChildren] combobox_list(children : C, id? : String, class? : String, style? : String) -> Nodefn combobox_provider(context : UiContext, id~ : String, options~ : Val[Array[ChoiceOption]], initial? : ComboboxState, multiple? : Bool, disabled? : Bool, invalid? : Bool, required? : Bool, on_query_change? : Emit[String], on_values_change? : Emit[Array[String]], on_open_change? : Emit[Bool], render? : (ComboboxScope) -> Node) -> Val[Node]fn combobox_provider_controlled(context : UiContext, id~ : String, options~ : Val[Array[ChoiceOption]], state~ : Val[ComboboxState], on_change~ : Emit[ComboboxState], multiple? : Bool, disabled? : Bool, invalid? : Bool, required? : Bool, placeholder? : String, empty_text? : String, on_query_change? : Emit[String], on_values_change? : Emit[Array[String]], on_open_change? : Emit[Bool], filter? : (ChoiceOption, String) -> Bool, render? : (ComboboxScope) -> Node) -> Val[Node]fn command_dialog(context : UiContext, id~ : String, title~ : String, trigger_label~ : String, render~ : (CommandScope) -> Node, initial_query? : String, initially_open? : Bool, should_filter? : Bool, filter? : (String, String, Array[String]) -> Bool, close_on_select? : Bool, close_on_overlay? : Bool, on_query_change? : Emit[String], on_value_select? : Emit[String], on_open_change? : Emit[Bool]) -> Val[Node]fn[C : IsChildren] command_dialog_trigger(scope : CommandScope, children : C, disabled? : Bool) -> Nodefn[C : IsChildren] command_item(scope : CommandScope, value~ : String, children : C, keywords? : Array[String], disabled? : Bool, force_mount? : Bool, on_select? : Emit[String], on_click? : Cmd) -> Nodefn[C : IsChildren] command_list(children : C, id? : String, class? : String, style? : String) -> Nodefn[C : IsChildren] command_shortcut(children : C, id? : String, class? : String, style? : String) -> Nodefn[T] data_column(key~ : String, label~ : String, text~ : (T) -> String, render? : (T) -> Node, sortable? : Bool, searchable? : Bool, hideable? : Bool, compare? : (T, T) -> Int, numeric_value? : (T) -> Double) -> DataColumn[T]fn[T : Eq] data_table_controlled(id~ : String, rows~ : Val[Array[T]], columns~ : Array[DataColumn[T]], row_key~ : (T) -> String, state~ : Val[TableState], on_change~ : Emit[TableState], selectable? : Bool) -> Val[Node]fn date_picker(context : UiContext, id~ : String, label~ : String, initial_month~ : CalendarDate, selected~ : Val[DateSelection], on_change~ : Emit[DateSelection], disabled_date? : (CalendarDate) -> Bool, disabled? : Bool, today? : CalendarDate, show_outside_days? : Bool, week_start? : Int, presets? : Array[DatePickerPreset], format_value? : (DateSelection) -> String, initially_open? : Bool, on_open_change? : Emit[Bool], close_on_select? : Bool) -> Val[Node]fn date_picker_controlled(context : UiContext, id~ : String, label~ : String, initial_month~ : CalendarDate, selected~ : Val[DateSelection], on_change~ : Emit[DateSelection], open~ : Val[Bool], on_open_change~ : Emit[Bool], disabled_date? : (CalendarDate) -> Bool, disabled? : Bool, today? : CalendarDate, show_outside_days? : Bool, week_start? : Int, presets? : Array[DatePickerPreset], format_value? : (DateSelection) -> String, close_on_select? : Bool) -> Val[Node]fn date_range_picker(context : UiContext, id~ : String, label~ : String, initial_month~ : CalendarDate, selected~ : Val[DateSelection], on_change~ : Emit[DateSelection], disabled_date? : (CalendarDate) -> Bool, disabled? : Bool, presets? : Array[DatePickerPreset], format_value? : (DateSelection) -> String, on_open_change? : Emit[Bool]) -> Val[Node]fn date_range_picker_preset(label~ : String, start~ : CalendarDate, end~ : CalendarDate) -> DatePickerPresetfn[C : IsChildren] empty_content(id? : String, class? : String, style? : String, children : C) -> Nodefn[C : IsChildren] empty_description(id? : String, class? : String, style? : String, children : C) -> Nodefn[C : IsChildren] empty_header(id? : String, class? : String, style? : String, children : C) -> Nodefn[C : IsChildren] empty_media(variant? : MediaVariant, id? : String, class? : String, style? : String, children : C) -> Nodefn[C : IsChildren] empty_title(id? : String, class? : String, style? : String, children : C) -> Nodefn[C : IsChildren] field_content(id? : String, class? : String, style? : String, children : C) -> Nodefn[C : IsChildren] field_description(id? : String, class? : String, style? : String, children : C) -> Nodefn[C : IsChildren] field_error(id? : String, class? : String, style? : String, children : C) -> Nodefn[C : IsChildren] field_group(id? : String, class? : String, style? : String, children : C) -> Nodefn[C : IsChildren] field_legend(id? : String, class? : String, style? : String, children : C) -> Nodefn[C : IsChildren] field_separator(id? : String, class? : String, style? : String, children : C) -> Nodefn field_state(id~ : String, label~ : String, description? : String, error? : String, required? : Bool, disabled? : Bool) -> FieldStatefn[C : IsChildren] field_title(id? : String, class? : String, style? : String, children : C) -> Nodefn[Input : Eq] field_with_input(state : Val[FieldState], input : Val[Input], render : (FieldState, Input) -> Node) -> Val[Node]fn[C : IsChildren] form_control(id? : String, class? : String, style? : String, children : C) -> Nodefn[C : IsChildren] form_description(id? : String, class? : String, style? : String, children : C) -> Nodefn[C : IsChildren] form_message(id? : String, class? : String, style? : String, children : C) -> Nodefn input(id~ : String, value~ : String, on_input~ : Emit[String], options? : InputOptions, focused? : Bool, on_confirm? : Emit[String], semantics? : Semantics, on_focus? : Emit[FocusDetail], on_blur? : Emit[InputBlurDetail]) -> Nodefn[C : IsChildren] input_group(id? : String, class? : String, style? : String, children : C) -> Nodefn[C : IsChildren] input_group_addon(align? : AddonAlign, id? : String, class? : String, style? : String, children : C) -> Nodefn[C : IsChildren] input_group_button(variant? : ButtonVariant, size? : ButtonSize, on_tap~ : Cmd, disabled? : Bool, id? : String, class? : String, children : C) -> Nodefn input_group_input(id~ : String, value~ : Val[String], on_change~ : Emit[String], options? : InputOptions) -> Val[Node]fn[C : IsChildren] input_group_text(id? : String, class? : String, style? : String, children : C) -> Nodefn input_group_textarea(id~ : String, value~ : Val[String], on_change~ : Emit[String], options? : InputOptions) -> Val[Node]fn input_options(disabled? : Bool, read_only? : Bool, invalid? : Bool, placeholder? : String, maxlength? : Int, input_type? : InputType, password? : Bool, focus? : Bool, name? : String, selection_start? : Int, selection_end? : Int) -> InputOptionsfn[C : IsChildren] input_otp_group(id? : String, class? : String, style? : String, children : C) -> Nodefn input_stateful(id~ : String, initial_value? : String, options? : InputOptions, on_confirm? : Emit[String], semantics? : Semantics, on_focus? : Emit[FocusDetail], on_blur? : Emit[InputBlurDetail]) -> Val[Node]fn[C : IsChildren] item_actions(id? : String, class? : String, style? : String, children : C) -> Nodefn[C : IsChildren] item_content(id? : String, class? : String, style? : String, children : C) -> Nodefn[C : IsChildren] item_description(id? : String, class? : String, style? : String, children : C) -> Nodefn[C : IsChildren] item_footer(id? : String, class? : String, style? : String, children : C) -> Nodefn[C : IsChildren] item_header(id? : String, class? : String, style? : String, children : C) -> Nodefn[C : IsChildren] item_link(on_tap~ : Cmd, variant? : Tone, size? : Size, disabled? : Bool, id? : String, class? : String, children : C) -> Nodefn[C : IsChildren] item_media(variant? : MediaVariant, id? : String, class? : String, style? : String, children : C) -> Nodefn[C : IsChildren] label(for_id~ : String, required? : Bool, disabled? : Bool, children : C) -> Nodefn[C : IsChildren] marker_content(id? : String, class? : String, style? : String, children : C) -> Nodefn[C : IsChildren] marker_icon(id? : String, class? : String, style? : String, children : C) -> Nodefn[C : IsChildren] marker_link(on_tap~ : Cmd, variant? : MarkerVariant, disabled? : Bool, id? : String, class? : String, children : C) -> Nodefn menu_customize(item : MenuItem, content? : Node, shortcut? : String, inset? : Bool, destructive? : Bool, close_on_select? : Bool, indicator_placement? : MenuIndicatorPlacement) -> MenuItemfn[C : IsChildren] message_avatar(id? : String, class? : String, style? : String, children : C) -> Nodefn[C : IsChildren] message_content(id? : String, class? : String, style? : String, children : C) -> Nodefn[C : IsChildren] message_footer(id? : String, class? : String, style? : String, children : C) -> Nodefn[C : IsChildren] message_group(id? : String, class? : String, style? : String, children : C) -> Nodefn[C : IsChildren] message_header(id? : String, class? : String, style? : String, children : C) -> Nodefn message_scroller(context : UiContext, id~ : String, items~ : Val[Array[MessageItem]], content_revision? : Val[Int], initially_at_end? : Bool, height? : String, show_buttons? : Bool, render_button? : (MessageScrollDirection, Cmd, Bool) -> Node) -> Val[Node]fn native_select_option(key~ : String, label~ : String, disabled? : Bool, group? : String) -> ChoiceOptionfn[C : IsChildren] navigation_menu_content(scope : NavigationMenuItemScope, children : C, class? : String, style? : String) -> Nodefn navigation_menu_item(scope : NavigationMenuScope, value~ : String, render~ : (NavigationMenuItemScope) -> Node, disabled? : Bool, class? : String, style? : String) -> Nodefn[C : IsChildren] navigation_menu_link(target~ : Route, children : C, active? : Bool, scope? : NavigationMenuScope, class? : String, style? : String, on_tap? : Cmd) -> Nodefn[C : IsChildren] navigation_menu_list(scope : NavigationMenuScope, children : C, class? : String, style? : String) -> Nodefn[Input : Eq] navigation_menu_provider_controlled_with_input(context : UiContext, id~ : String, input~ : Val[Input], value~ : Val[String?], on_value_change~ : Emit[String?], render~ : (NavigationMenuScope, Input) -> Node, viewport? : Bool, aria_label? : String, side_offset? : Double, align_offset? : Double) -> Val[Node]fn[Input : Eq] navigation_menu_provider_with_input(context : UiContext, id~ : String, input~ : Val[Input], render~ : (NavigationMenuScope, Input) -> Node, default_value? : String, viewport? : Bool, on_value_change? : Emit[String?], aria_label? : String, side_offset? : Double, align_offset? : Double) -> Val[Node]fn[C : IsChildren] navigation_menu_trigger(scope : NavigationMenuItemScope, children : C, disabled? : Bool, class? : String, on_tap? : Cmd) -> Nodefn[C : IsChildren] navigation_menu_viewport(scope : NavigationMenuScope, children : C, class? : String, style? : String) -> Nodefn[C : IsChildren] overlay_action(scope : OverlayScope, children : C, on_tap~ : Cmd, close? : Bool, key? : String) -> Nodefn[C : IsChildren] overlay_close_button(scope : OverlayScope, children : C, on_tap? : Cmd, key? : String) -> Nodefn[C : IsChildren] overlay_content(scope : OverlayScope, children : C, show_close? : Bool, close_label? : String, class? : String, style? : String) -> Nodefn overlay_controlled(context : UiContext, id~ : String, title~ : String, trigger_label~ : String, trigger_label_value? : Val[String], content~ : Val[Node], open~ : Val[Bool], on_change~ : Emit[Bool], kind? : OverlayKind, disabled? : Bool, close_on_overlay? : Bool, placement? : Placement) -> Val[Node]fn overlay_provider(context : UiContext, id~ : String, render~ : (OverlayScope) -> Node, initially_open? : Bool, kind? : OverlayKind, disabled? : Bool, modal? : Bool, close_on_overlay? : Bool, force_mount? : Bool, placement? : Placement, side_offset? : Double, align_offset? : Double, delay_ms? : Int, close_delay_ms? : Int, on_close? : Emit[OverlayCloseReason], on_open_change? : Emit[Bool]) -> Val[Node]fn overlay_provider_controlled(context : UiContext, id~ : String, open~ : Val[Bool], on_open_change~ : Emit[Bool], render~ : (OverlayScope) -> Node, kind? : OverlayKind, disabled? : Bool, modal? : Bool, close_on_overlay? : Bool, force_mount? : Bool, placement? : Placement, side_offset? : Double, align_offset? : Double, delay_ms? : Int, close_delay_ms? : Int, on_close? : Emit[OverlayCloseReason]) -> Val[Node]fn[Input : Eq] overlay_provider_controlled_with_input(context : UiContext, id~ : String, input~ : Val[Input], open~ : Val[Bool], on_open_change~ : Emit[Bool], render~ : (OverlayScope, Input) -> Node, kind? : OverlayKind, disabled? : Bool, modal? : Bool, close_on_overlay? : Bool, force_mount? : Bool, placement? : Placement, side_offset? : Double, align_offset? : Double, delay_ms? : Int, close_delay_ms? : Int, on_close? : Emit[OverlayCloseReason]) -> Val[Node]fn[C : IsChildren] overlay_trigger(scope : OverlayScope, children : C, on_tap? : Cmd, class? : String) -> Nodefn progress(value~ : Double, min? : Double, max? : Double, label? : String, indeterminate? : Bool, show_value? : Bool) -> Nodefn[C : IsChildren] progress_label(id? : String, class? : String, style? : String, children : C) -> Nodefn[C : IsChildren] progress_track(id? : String, class? : String, style? : String, children : C) -> Nodefn radio_group(name? : String, id~ : String, options~ : Val[Array[ChoiceOption]], initial_value? : String, disabled? : Bool, orientation? : Orientation) -> Val[Node]fn radio_group_controlled(name? : String, id~ : String, options~ : Val[Array[ChoiceOption]], value~ : Val[String], on_change~ : Emit[String], disabled? : Bool, orientation? : Orientation) -> Val[Node]fn radio_group_item(value~ : String, checked? : Bool, disabled? : Bool, label? : String, id? : String) -> Nodefn[C : IsChildren] radio_group_root(on_change~ : Emit[String], name? : String, id? : String, orientation? : Orientation, children : C) -> Nodefn resizable(context : UiContext, id~ : String, panes~ : Val[Array[ResizablePane]], initial_sizes? : Array[Double], orientation? : Orientation, direction? : TextDirection, disabled? : Bool, style? : String) -> Val[Node]fn resizable_controlled(context : UiContext, id~ : String, panes~ : Val[Array[ResizablePane]], sizes~ : Val[Array[Double]], on_change~ : Emit[Array[Double]], on_commit? : Emit[Array[Double]], orientation? : Orientation, direction? : TextDirection, disabled? : Bool, style? : String) -> Val[Node]fn resizable_pane(key~ : String, content~ : Node, minimum? : Double, maximum? : Double) -> ResizablePanefn[C : IsChildren] scroll_area(children : C, id? : String, horizontal? : Bool, vertical? : Bool, height? : Int, on_scroll? : Emit[ScrollDetail], on_upper? : Cmd, on_lower? : Cmd) -> Nodefn[C : IsChildren] select_content(id? : String, class? : String, style? : String, children : C) -> Nodefn select_controlled(context : UiContext, id~ : String, options~ : Val[Array[ChoiceOption]], value~ : Val[String], on_change~ : Emit[String], placeholder? : String, disabled? : Bool, open? : Val[Bool], initially_open? : Bool, on_open_change? : Emit[Bool], invalid? : Bool, required? : Bool, placement? : Placement, side_offset? : Double, align_offset? : Double, render_option? : (ChoiceOption, Bool) -> Node, render_value? : (String, Array[ChoiceOption]) -> Node, render_content? : (Array[Node]) -> Node) -> Val[Node]fn[C : IsChildren] select_group(id? : String, class? : String, style? : String, children : C) -> Nodefn[C : IsChildren] select_item(on_tap~ : Cmd, selected? : Bool, disabled? : Bool, id? : String, children : C) -> Nodefn[C : IsChildren] select_label(id? : String, class? : String, style? : String, children : C) -> Nodefn[C : IsChildren] sidebar_content(children : C, id? : String, class? : String, height? : String) -> Nodefn[C : IsChildren] sidebar_footer(children : C, id? : String, class? : String, style? : String) -> Nodefn[C : IsChildren] sidebar_group(children : C, id? : String, class? : String, style? : String) -> Nodefn[C : IsChildren] sidebar_group_action(scope : SidebarSurfaceScope, on_tap~ : Cmd, children : C, disabled? : Bool, class? : String) -> Nodefn[C : IsChildren] sidebar_group_content(children : C, id? : String, class? : String, style? : String) -> Nodefn[C : IsChildren] sidebar_group_label(scope : SidebarSurfaceScope, children : C, class? : String) -> Nodefn[C : IsChildren] sidebar_header(children : C, id? : String, class? : String, style? : String) -> Nodefn[C : IsChildren] sidebar_inset(children : C, id? : String, class? : String, style? : String) -> Nodefn[C : IsChildren] sidebar_menu(children : C, id? : String, class? : String, style? : String) -> Nodefn[C : IsChildren] sidebar_menu_action(scope : SidebarSurfaceScope, on_tap~ : Cmd, children : C, disabled? : Bool, class? : String) -> Nodefn[C : IsChildren] sidebar_menu_badge(scope : SidebarSurfaceScope, children : C, class? : String) -> Nodefn[C : IsChildren] sidebar_menu_button(scope : SidebarSurfaceScope, children : C, target? : Route, is_active? : Bool, variant? : SidebarMenuButtonVariant, size? : SidebarMenuButtonSize, disabled? : Bool, aria_label? : String, on_tap? : Cmd, icon? : Node, id? : String, event_key? : String, class? : String, style? : String) -> Nodefn[C : IsChildren] sidebar_menu_button_with_tooltip(scope : SidebarSurfaceScope, id~ : String, tooltip~ : String, children : C, target? : Route, is_active? : Bool, variant? : SidebarMenuButtonVariant, size? : SidebarMenuButtonSize, disabled? : Bool, aria_label? : String, on_tap? : Cmd, icon? : Node, tooltip_side? : Side, tooltip_align? : Alignment, tooltip_side_offset? : Double, tooltip_align_offset? : Double, tooltip_show_arrow? : Bool, class? : String) -> Nodefn[C : IsChildren] sidebar_menu_item(children : C, id? : String, class? : String, style? : String) -> Nodefn[C : IsChildren] sidebar_menu_sub(scope : SidebarSurfaceScope, children : C, class? : String) -> Nodefn[C : IsChildren] sidebar_menu_sub_button(scope : SidebarSurfaceScope, children : C, target? : Route, is_active? : Bool, disabled? : Bool, on_tap? : Cmd, class? : String) -> Nodefn[C : IsChildren] sidebar_menu_sub_item(children : C, id? : String, class? : String, style? : String) -> Nodefn sidebar_provider(context : UiContext, id~ : String, render~ : (SidebarScope) -> Node, default_collapsed? : Bool, default_mobile_open? : Bool, default_width? : Double, on_collapsed_change? : Emit[Bool], on_mobile_open_change? : Emit[Bool], on_width_change? : Emit[Double], style? : String) -> Val[Node]fn sidebar_provider_controlled(context : UiContext, id~ : String, state~ : Val[SidebarState], on_change~ : Emit[SidebarState], render~ : (SidebarScope) -> Node, style? : String) -> Val[Node]fn[Input : Eq] sidebar_provider_controlled_with_input(context : UiContext, id~ : String, state~ : Val[SidebarState], on_change~ : Emit[SidebarState], input~ : Val[Input], render~ : (SidebarScope, Input) -> Node, style? : String) -> Val[Node]fn[Input : Eq] sidebar_provider_with_input(context : UiContext, id~ : String, input~ : Val[Input], render~ : (SidebarScope, Input) -> Node, default_collapsed? : Bool, default_mobile_open? : Bool, default_width? : Double, on_collapsed_change? : Emit[Bool], on_mobile_open_change? : Emit[Bool], on_width_change? : Emit[Double], style? : String) -> Val[Node]fn sidebar_rail(scope : SidebarSurfaceScope, min_width? : Double, max_width? : Double, class? : String) -> Nodefn sidebar_surface(scope : SidebarScope, render~ : (SidebarSurfaceScope) -> Node, side? : SidebarSide, variant? : SidebarVariant, collapsible? : SidebarCollapsible, mobile? : Bool, hidden? : Bool, aria_label? : String, id? : String, class? : String, style? : String) -> Nodefn[C : IsChildren] sidebar_trigger(scope : SidebarScope, children : C, mobile? : Bool, disabled? : Bool, id? : String, class? : String, on_tap? : Cmd) -> Nodefn slider(context : UiContext, id~ : String, default_value? : Int, spec? : SliderSpec, orientation? : Orientation, direction? : TextDirection, disabled? : Bool, label? : String, on_value_change? : Emit[Int], on_value_commit? : Emit[Int]) -> Val[Node]fn slider_controlled(context : UiContext, id~ : String, value~ : Val[Int], on_change~ : Emit[Int], on_commit? : Emit[Int], spec? : SliderSpec, orientation? : Orientation, direction? : TextDirection, disabled? : Bool, label? : String) -> Val[Node]fn slider_values(context : UiContext, id~ : String, default_values~ : Array[Int], spec? : SliderSpec, orientation? : Orientation, direction? : TextDirection, disabled? : Bool, label? : String, on_value_change? : Emit[Array[Int]], on_value_commit? : Emit[Array[Int]]) -> Val[Node]fn slider_values_controlled(context : UiContext, id~ : String, values~ : Val[Array[Int]], on_change~ : Emit[Array[Int]], on_commit? : Emit[Array[Int]], spec? : SliderSpec, orientation? : Orientation, direction? : TextDirection, disabled? : Bool, label? : String) -> Val[Node]fn[C : IsChildren] table_span_cell(children : C, colspan? : Int, rowspan? : Int, header? : Bool) -> TableSpanCellfn table_spanning(rows~ : Array[Array[TableSpanCell]], columns~ : Int, row_height? : Int, min_width? : Int, id? : String) -> Nodefn[C : IsChildren] tabs_content(id? : String, selected? : Bool, force_mount? : Bool, labelled_by? : String, children : C) -> Nodefn[C : IsChildren] tabs_list(id? : String, vertical? : Bool, variant? : TabsListVariant, children : C) -> Nodefn[C : IsChildren] tabs_trigger(value~ : String, on_change~ : Emit[String], selected? : Bool, disabled? : Bool, controls? : String, id? : String, children : C) -> Nodefn text_field(state : Val[FieldState], value : Val[String], on_input : Emit[String], options? : Val[InputOptions], orientation? : Orientation, on_confirm? : Emit[String], on_focus? : Emit[FocusDetail], on_blur? : Emit[InputBlurDetail]) -> Val[Node]fn textarea(id~ : String, value~ : String, on_input~ : Emit[String], options? : InputOptions, focused? : Bool, on_confirm? : Emit[String], semantics? : Semantics, on_focus? : Emit[FocusDetail], on_blur? : Emit[TextareaBlurDetail]) -> Nodefn textarea_stateful(id~ : String, initial_value? : String, options? : InputOptions, on_confirm? : Emit[String], semantics? : Semantics, on_focus? : Emit[FocusDetail], on_blur? : Emit[TextareaBlurDetail]) -> Val[Node]fn toast_notice(id~ : String, title~ : String, description? : String, duration_ms? : Int, variant? : ToastVariant, action_label? : String, action? : Cmd, on_close? : Cmd) -> Toastfn[C : IsChildren] toast_surface(children : C, variant? : ToastVariant, open? : Bool, id? : String) -> Nodefn toggle_group(id~ : String, options~ : Val[Array[ChoiceOption]], initial_value? : Array[String], multiple? : Bool, disabled? : Bool, orientation? : Orientation, variant? : ButtonVariant, size? : Size, spacing? : Int, render? : (ChoiceOption, Bool) -> Node) -> Val[Node]fn toggle_group_controlled(id~ : String, options~ : Val[Array[ChoiceOption]], value~ : Val[Array[String]], on_change~ : Emit[Array[String]], multiple? : Bool, disabled? : Bool, orientation? : Orientation, variant? : ButtonVariant, size? : Size, spacing? : Int, render? : (ChoiceOption, Bool) -> Node) -> Val[Node]fn[C : IsChildren] toggle_group_item(on_tap~ : Cmd, pressed? : Bool, disabled? : Bool, id? : String, children : C) -> Nodefn[C : IsChildren] typography_blockquote(id? : String, class? : String, style? : String, children : C) -> Nodefn[C : IsChildren] typography_h1(id? : String, class? : String, style? : String, children : C) -> Nodefn[C : IsChildren] typography_h2(id? : String, class? : String, style? : String, children : C) -> Nodefn[C : IsChildren] typography_h3(id? : String, class? : String, style? : String, children : C) -> Nodefn[C : IsChildren] typography_h4(id? : String, class? : String, style? : String, children : C) -> Nodefn[C : IsChildren] typography_inline_code(id? : String, class? : String, style? : String, children : C) -> Nodefn[C : IsChildren] typography_large(id? : String, class? : String, style? : String, children : C) -> Nodefn[C : IsChildren] typography_lead(id? : String, class? : String, style? : String, children : C) -> Nodefn[C : IsChildren] typography_list(id? : String, class? : String, style? : String, children : C) -> Nodefn[C : IsChildren] typography_muted(id? : String, class? : String, style? : String, children : C) -> Nodefn[C : IsChildren] typography_p(id? : String, class? : String, style? : String, children : C) -> Nodefn[C : IsChildren] typography_small(id? : String, class? : String, style? : String, children : C) -> NodeInstall
Download zipNative, touch-first Skyline components for Minimoon, adapted from RUI.
Dependencies