Skip to main content

Crate euv_ui

Crate euv_ui 

Source
Expand description

euv-ui

Reusable UI component library for the euv framework, providing buttons, cards, modals, inputs, theme management, and more.

Structs§

Console
A console abstraction providing web console API methods.
ConsoleEntry
A single console entry containing a message and its log level.
Counter
A bounded reactive counter.
DebouncedValue
A value that only emits after a quiet period of delay since its most recent set.
ErrorBoundary
A handle that tracks whether a wrapped subtree has thrown.
EuvAlertProps
Props for the euv_alert component.
EuvBadgeProps
Props for the euv_badge component.
EuvButtonProps
Props for the euv_button component.
EuvCameraConfig
Configuration for camera initialization.
EuvCardProps
Props for the euv_card component.
EuvCheckboxProps
Props for the euv_checkbox component.
EuvDebugProps
Props for the euv_debug component.
EuvDrawerProps
Props for the euv_drawer component.
EuvDropdownItem
One entry of the euv_dropdown menu.
EuvDropdownProps
Props for the euv_dropdown component.
EuvFeature
One card of the euv_feature_grid component.
EuvFeatureGridProps
Props for the euv_feature_grid component.
EuvFieldProps
Props for the euv_field component.
EuvHeaderProps
Props for the header component.
EuvHeroAction
One action button of the euv_hero component.
EuvHeroActionProps
Props of the euv_hero_action component.
EuvHeroProps
Props for the euv_hero component.
EuvInfoProps
Props for the euv_info component.
EuvInputProps
Props for the euv_input component.
EuvLoadingProps
Props for the euv_loading component.
EuvLogoProps
Props for the euv_logo component.
EuvMarkdownProps
Props for the euv_markdown component.
EuvMobileNavItemProps
Props for the euv_mobile_nav_item component.
EuvModalProps
Props for the euv_modal component.
EuvNavItemConfig
Configuration for a navigation item.
EuvNavItemProps
Props for the euv_nav_item component.
EuvNavItemsProps
Props for the euv_nav_items component.
EuvNavbarItem
One link entry of the euv_navbar top navigation bar.
EuvNavbarLinkProps
Props of the euv_navbar_link component.
EuvNavbarProps
Props for the euv_navbar component.
EuvPageRouterProps
Props for the euv_page_router component.
EuvPaginationItem
One side of the euv_pagination prev/next footer.
EuvPaginationProps
Props for the euv_pagination component.
EuvRouteConfig
Configuration for a route entry in the router.
EuvRoutesProps
Props for declarative route-based rendering.
EuvSidebarItem
One node of the euv_sidebar navigation tree.
EuvSidebarItemProps
Props of the euv_sidebar_item component.
EuvSidebarProps
Props for the euv_sidebar component.
EuvTagProps
Props for the euv_tag component.
EuvTocItem
One entry of the euv_toc anchor list.
EuvTocProps
Props for the euv_toc component.
EuvVconsoleDrawerProps
Props for the euv_vconsole_drawer component.
EuvVconsoleFabProps
Props for the euv_vconsole_fab component.
EuvVconsolePanelProps
Props for the euv_vconsole_panel component.
EuvVirtualListConfig
Configuration for a virtual list instance.
EuvVirtualListProps
Props for the euv_virtual_list component.
FormState
The aggregate form state.
I18n
The aggregate i18n state.
LazyComponent
A lazy component that defers factory invocation until first access.
NativeTouchPoint
Represents a single touch point from a multi-touch event.
NativeTouchPointF64
Represents a single touch point with high-precision f64 coordinates.
NestedRouteConfig
A nested route configuration entry.
Previous
Tracks the previously observed value of some external reactive source.
ProfileEntry
A single recorded measurement.
ProfilerHandle
A handle to the profiler registered against the current hook context.
ProfilerMark
A begin() marker — RAII guard that records the start timestamp and the label so the matching end() call can compute the elapsed time.
Router
Router functionality for managing browser history, overlays, and navigation.
SuspenseHandle
A handle that drives a SuspenseState.
ThemeState
Holds the reactive state for the application theme.
ThrottledValue
A value that emits the most recent input at most once per interval_ms.
Toggle
A reactive boolean toggle.
TransitionConfig
Configuration for a TransitionState.
TransitionState
The aggregate transition state.
UseAsyncHandle
use_async’s reactive handle, stored in the hook context slot and returned to the user on each render.
UseEuvBrowser
Reactive state for the browser API features.
UseEuvCamera
Reactive state for the camera, including camera control, facing mode, and QR code scanning results.
UseEuvInput
Input functionality for handling form input events.
UseEuvLayout
Layout functionality for managing viewport resize, drawer toggle, and safe area.
UseVirtualList
Reactive state for the virtual list scroll tracking.

Enums§

AlertVariant
The alert variant determining the visual style.
AsyncState
Discriminant for the three states an use_async future can be in.
ErrorBoundaryPhase
The phase of an ErrorBoundary.
EuvButtonVariant
The visual variant of the euv_button component.
EuvCameraFacing
Represents the facing direction of the camera device.
EuvMdBlock
One block-level markdown node of the euv_markdown AST.
EuvMdInline
One inline markdown node of the euv_markdown AST.
EuvTagColor
The semantic colour type of the euv_tag component.
EuvTagVariant
The visual variant of the euv_tag component.
LoadState
The state of a LazyComponent.
LogFilter
Filter level for the vConsole panel log entry display.
LogLevel
Log level for console entries, mirroring the web console API.
LogoButtonVariant
Display variant for the euv_logo component.
SuspensePhase
The phase of a SuspenseState.
TransitionPhase
The four phases of a transition lifecycle.

Constants§

EUV_MD_CSS
Raw stylesheet for rendered markdown bodies (crate::euv_markdown).
THEME_DARK
The dark theme name string.
THEME_LIGHT
The light theme name string.

Traits§

HasLoadingHint
Optional payload for the Loading state.
HookContextFormExt
Extension trait that exposes the hook-context factory used by App::use_form.
HookContextI18nExt
Extension trait that exposes the hook-context factory used by App::use_i18n.
HookContextTransitionExt
Extension trait that exposes the hook-context factory used by App::use_transition.

Functions§

c_anim_fade_in
c_anim_pulse
c_anim_pulse_container
c_anim_pulse_stopped
c_anim_scale_box
c_anim_spin
c_anim_spin_container
c_anim_spin_stopped
c_app_main
c_app_nav
c_app_root
c_attrs_dynamic_demo
c_badge
c_badge_hint
c_badge_outline
c_badge_row
c_binding_child_box
c_binding_child_label
c_binding_color_hex
c_binding_color_mixer
c_binding_color_preview
c_binding_compact_button
c_binding_demo_text
c_binding_form_label
c_binding_parent_box
c_binding_section_title
c_binding_slider
c_binding_slider_label
c_binding_slider_row
c_binding_slider_value
c_binding_temp_arrow
c_binding_temp_converter
c_binding_temp_field
c_binding_typed_prop_group
c_binding_typed_prop_value
c_binding_typed_warning
c_browser_api_actions
c_browser_api_row
c_browser_info_grid
c_browser_info_item
c_browser_info_label
c_browser_info_value
c_browser_result_box
c_browser_result_label
c_browser_result_value
c_button_controls
c_camera_error_box
c_camera_placeholder_content
c_camera_placeholder_icon
c_camera_placeholder_text
c_camera_scan_result_box
c_camera_scan_result_label
c_camera_scan_result_value
c_camera_video_active
c_camera_video_container
c_camera_video_hidden
c_camera_video_placeholder
c_canvas_color_input_fullscreen
c_canvas_container_fullscreen
c_canvas_drawing_fullscreen
c_canvas_drawing_fullscreen_wrapper
c_canvas_fullscreen_range_input
c_canvas_fullscreen_toolbar
c_canvas_fullscreen_toolbar_button
c_canvas_fullscreen_toolbar_color_wrapper
c_canvas_fullscreen_toolbar_row_bottom
c_canvas_fullscreen_toolbar_row_top
c_canvas_placeholder
c_canvas_preview_container
c_canvas_preview_image
c_card
c_card_title
c_counter_row
c_counter_text
c_counter_value
c_custom_attrs_demo
c_data_box
c_data_pre
c_debug
c_debug_label
c_debug_value
c_demo_text
c_demo_text_muted
c_dynamic_component_panel
c_dynamic_component_tab_bar
c_element_stack
c_error_box
c_error_container
c_error_icon
c_error_text
c_euv_button_outline_md
c_euv_button_primary_md
c_euv_drawer
c_euv_drawer_closed
c_euv_drawer_open
c_euv_drawer_overlay
c_euv_drawer_overlay_closed
c_euv_drawer_overlay_open
c_euv_dropdown
c_euv_dropdown_item
c_euv_dropdown_menu
c_euv_footer
c_euv_input
c_euv_input_error
c_euv_input_no_transition
c_euv_input_wrapper
c_euv_logo
c_euv_logo_fab
c_euv_logo_nav
c_euv_markdown
c_euv_navbar
c_euv_navbar_actions
c_euv_navbar_brand
c_euv_navbar_icon_button
c_euv_navbar_link
c_euv_navbar_link_active
c_euv_navbar_links
c_euv_navbar_logo
c_euv_navbar_menu_button
c_euv_pagination
c_euv_pagination_label
c_euv_pagination_link
c_euv_pagination_next
c_euv_pagination_spacer
c_euv_pagination_text
c_euv_sidebar_children
c_euv_sidebar_group
c_euv_sidebar_group_arrow
c_euv_sidebar_group_arrow_open
c_euv_sidebar_group_title
c_euv_sidebar_link
c_euv_sidebar_link_active
c_euv_tag_outline_black
c_euv_tag_outline_white
c_euv_tag_solid_black
c_euv_tag_solid_white
c_euv_toc
c_euv_toc_link
c_euv_toc_link_nested
c_euv_toc_title
c_event_audio
c_event_clipboard_area
c_event_drag_item
c_event_drag_zone
c_event_drag_zone_active
c_event_drop_hint
c_event_drop_icon
c_event_drop_text
c_event_drop_zone
c_event_drop_zone_active
c_event_form_area
c_event_highlight
c_event_image
c_event_image_area
c_event_info_grid
c_event_info_label
c_event_info_row
c_event_info_value
c_event_media_area
c_event_mouse_area
c_event_result
c_event_touch_zone
c_event_url_text
c_event_video
c_event_video_area
c_event_wheel_zone
c_feature_card
c_feature_desc
c_feature_header
c_feature_icon
c_feature_name
c_fetch_hint
c_field_error_text
c_file_upload_input_hidden
c_file_upload_item
c_file_upload_item_index
c_file_upload_item_name
c_file_upload_options
c_form_checkbox
c_form_checkbox_label
c_form_checkbox_row
c_form_label
c_hint
c_home
c_home_actions
c_home_badge
c_home_badge_row
c_home_btn_primary
c_home_btn_secondary
c_home_content
c_home_feature_grid
c_home_section_desc
c_home_section_title
c_home_stat_card
c_home_stat_icon
c_home_stat_label
c_home_stat_value
c_home_stats
c_home_subtitle
c_home_title
c_info_label
c_info_link
c_info_row
c_info_value
c_inline_input_button_wrap
c_inline_input_row
c_keep_alive_counter_controls
c_keep_alive_counter_display
c_keep_alive_counter_value
c_keep_alive_demo_text
c_keep_alive_form_group
c_keep_alive_form_preview
c_keep_alive_panel_title
c_keep_alive_preview_label
c_keep_alive_tab_bar
c_keep_alive_tab_panel
c_list_error_text
c_list_input
c_list_input_error
c_list_item
c_list_item_button
c_list_item_text
c_list_ul
c_loading_container
c_loading_overlay
c_loading_subtitle
c_loading_text_col
c_loading_title
c_log_container
c_log_item
c_mobile_app_root
c_mobile_drawer_close_button
c_mobile_header
c_mobile_header_left
c_mobile_header_logo
c_mobile_main
c_mobile_menu_button
c_mobile_menu_button_active
c_mobile_nav_drawer
c_mobile_nav_drawer_closed
c_mobile_nav_drawer_header
c_mobile_overlay
c_mobile_overlay_hidden
c_mobile_theme_button
c_modal_actions
c_modal_body
c_modal_close_button
c_modal_content
c_modal_header
c_modal_overlay
c_modal_title
c_nav_brand_title
c_nav_footer
c_nav_footer_brand
c_nav_footer_divider
c_nav_footer_text
c_nav_header
c_nav_item_active
c_nav_item_icon
c_nav_item_inactive
c_nav_item_label
c_nav_items_scroll
c_nav_section_label
c_nav_theme_button
c_nav_theme_toggle
c_net_message_data
c_net_message_index
c_net_message_item
c_net_messages_empty
c_net_messages_list
c_page
c_page_container
c_page_content
c_page_glow
c_page_icon
c_page_router
c_page_subtitle
c_page_title
c_primary_button
c_progress_bar_running
c_progress_bar_stopped
c_progress_container
c_render_count_text
c_role_admin_text
c_role_button_row
c_role_guest_text
c_role_user_text
c_select_input
c_spinner
c_success_box
c_switcher
c_switcher_col
c_tab_bar
c_tab_content
c_tab_item_active
c_tab_item_inactive
c_tab_text
c_tab_text_input
c_tab_text_muted
c_text_ellipsis
c_textarea_counter
c_textarea_counter_text
c_textarea_input
c_textarea_input_error
c_theme_dark
c_theme_icon_moon
c_theme_icon_sun
c_theme_light
c_timer_controls
c_timer_display
c_timer_done
c_timer_value
c_toggle_content
c_toggle_title
c_vconsole_badge
c_vconsole_body
c_vconsole_clear_button
c_vconsole_close_button
c_vconsole_count
c_vconsole_empty
c_vconsole_empty_hidden
c_vconsole_fab
c_vconsole_filter_badge
c_vconsole_filter_badge_outline
c_vconsole_filter_bar
c_vconsole_header
c_vconsole_header_actions
c_vconsole_level_badge
c_vconsole_log_item
c_vconsole_log_list
c_vconsole_log_list_hidden
c_vconsole_overlay
c_vconsole_overlay_hidden
c_vconsole_panel
c_vconsole_panel_closed
c_vconsole_title
c_vconsole_title_dot
c_virtual_list_card
c_virtual_list_container
c_virtual_list_row
c_virtual_list_row_description
c_virtual_list_row_index
c_virtual_list_row_label
c_virtual_list_status
c_virtual_list_status_item
c_virtual_list_status_value
c_ws_message_input
c_ws_message_time
euv_alert
An alert component that displays contextual messages with semantic styling.
euv_badge
A badge component for displaying status indicators with black/white colour scheme.
euv_button
A versatile button component supporting primary and outline variants.
euv_card
A card component that wraps children with a styled container.
euv_checkbox
A labeled checkbox component with two-way binding via a signal.
euv_debug
A dev-only component for inspecting reactive state inside the component tree.
euv_drawer
A generic left-side mobile drawer with overlay, aligned with common component libraries.
euv_dropdown
A generic dropdown menu aligned with common component libraries.
euv_feature_grid
A generic borderless feature card grid aligned with common site frameworks.
euv_field
A form field component with label, input, and validation error display.
euv_header
Renders a standard header with an emoji icon, title, and subtitle.
euv_hero
A generic hero section aligned with common site frameworks.
euv_hero_action
Renders one hero action button (internal route or external URL).
euv_info
A key-value information row component with label and value display.
euv_input
A custom input component with label and event handling.
euv_loading
A loading indicator component with spinner and optional subtitle.
euv_logo
Renders a branded logo element displaying the “E” letter with a gradient background.
euv_markdown
A generic markdown renderer component.
euv_markdown_blocks
Renders a markdown block slice into euv VirtualNodes.
euv_mobile_nav_item
Renders a mobile navigation item link that closes the drawer on navigation.
euv_modal
A modal dialog component with overlay, title, and close handler.
euv_nav_item
Renders a navigation item link with active state styling.
euv_nav_items
Renders a configurable navigation items list.
euv_navbar
A generic fixed top navigation bar aligned with common site frameworks.
euv_navbar_link
Renders a single navbar link (internal hash route or external URL).
euv_page_router
A simple page router wrapper that provides a container for routed content.
euv_pagination
A generic prev/next pagination footer aligned with common docs frameworks.
euv_routes
A declarative router component that renders different content based on the current route.
euv_sidebar
A generic collapsible navigation tree aligned with common docs frameworks.
euv_sidebar_item
Renders one sidebar node: a leaf link or a collapsible group.
euv_tag
A tag component for displaying semantic status indicators.
euv_toc
A generic sticky anchor table-of-contents aligned with common docs frameworks.
euv_vconsole_drawer
Renders the vConsole drawer panel with log entries, level filter, and controls.
euv_vconsole_fab
Renders the floating action button for the vConsole panel.
euv_vconsole_panel
Renders a vConsole-style floating debug panel with a toggle button and a half-page drawer.
euv_virtual_list
A high-performance virtual list component for rendering large datasets.
find_active_route
Recursively finds the deepest matching route in the configuration tree.
inject_app_global_css
Injects application-level global CSS into the DOM.
normalize_path
Normalizes a path by stripping a trailing / (except for the root path /, which stays as /).
now_ms
Returns a monotonic millisecond timestamp suitable for profiling measurements.
route_chain
Returns the chain of routes from the root to the matched route, in render order (root first).
route_matches
Returns true if path matches the route’s pattern.

Type Aliases§

CameraErrorCallback
Type alias for camera error callback.
ClickEventHandler
Type alias for click event handler.
DebugValueFormatter
Type alias for the formatter that produces the displayable string for an euv_debug component.
DefaultLoadingHandle
Helper alias for the common case with the empty LoadingHint default. Use this unless the future wants to surface a typed loading indicator.
MessageEntry
An entry for I18n::add_messages — a (key, value) pair that the caller usually writes as a single literal array. The tuple form keeps the public API allocation-free for the common “compile-time literal list of pairs” case.
NavEventCallback
Type alias for navigation event callback.
NavItemClickCallback
Type alias for navigation item click callback.
QrDetectedCallback
Type alias for QR code detection callback.
Validator
A single validator closure, used by [FormState::validate].
VirtualListConfig
Type alias for backward compatibility.
VirtualListItemRenderer
Type alias for the virtual list item renderer callback.
VirtualListProps
Type alias for backward compatibility.
VirtualListRangeHandler
Type alias for the visible range change callback.
VirtualListScrollHandler
Type alias for the scroll offset change callback.