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.
EuvAvatarProps
Props for the euv_avatar component.
EuvBadgeProps
Props for the euv_badge component.
EuvBreadcrumbItem
One entry of the euv_breadcrumb trail.
EuvBreadcrumbProps
Props for the euv_breadcrumb component.
EuvButtonProps
Props for the euv_button component.
EuvCalendarDay
One cell of the euv_calendar day grid.
EuvCalendarProps
Props for the euv_calendar component.
EuvCameraConfig
Configuration for camera initialization.
EuvCardProps
Props for the euv_card component.
EuvCheckboxProps
Props for the euv_checkbox component.
EuvCollapseItem
One entry of the euv_collapse accordion.
EuvCollapseProps
Props for the euv_collapse component.
EuvDebugProps
Props for the euv_debug component.
EuvDividerProps
Props for the euv_divider component.
EuvDocLayoutProps
Props for the euv_doc_layout component.
EuvDrag
A single-finger drag described by the current position and the movement accumulated since the drag started.
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.
EuvGestureConfig
Tunable thresholds for EuvGestureRecognizer.
EuvGestureRecognizer
Stateless gesture classifier driven by EuvGestureState.
EuvGestureState
Live gesture state produced by EuvGestureRecognizer::use_gesture.
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.
EuvIconProps
Props for the euv_icon 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.
EuvPanelProps
Props for the euv_panel component.
EuvPinch
A two-finger pinch described by the distance and midpoint of the two touch points.
EuvPopoverProps
Props for the euv_popover component.
EuvProgressProps
Props for the euv_progress component.
EuvRadioGroupProps
Props for the euv_radio component.
EuvRadioOption
One selectable entry of the euv_radio_group.
EuvRatingProps
Props for the euv_rating component.
EuvResultProps
Props for the euv_result 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.
EuvSkeletonProps
Props for the euv_skeleton component.
EuvSliderHelpers
Stateless helper functions backing the euv_slider component.
EuvSliderProps
Props for the euv_slider component.
EuvSpaceProps
Props for the euv_space component.
EuvStatProps
Props for the euv_stat component.
EuvStep
One entry of the euv_steps progress stepper.
EuvStepsProps
Props for the euv_steps component.
EuvSwitchProps
Props for the euv_switch component.
EuvSwitchState
The reactive state handle for the euv_switch component.
EuvTabItem
One entry of the euv_tabs tab bar.
EuvTableColumn
One column of the euv_table component.
EuvTableProps
Props for the euv_table component.
EuvTableRow
One body row of the euv_table component.
EuvTabsProps
Props for the euv_tabs component.
EuvTagProps
Props for the euv_tag component.
EuvTimelineItem
One entry of the euv_timeline event log.
EuvTimelineProps
Props for the euv_timeline component.
EuvTocItem
One entry of the euv_toc anchor list.
EuvTocProps
Props for the euv_toc component.
EuvTooltipProps
Props for the euv_tooltip component.
EuvUploadFile
One row of the euv_upload file list.
EuvUploadProps
Props for the euv_upload 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.
GesturePoint
The live position of the tracked finger, in client coordinates.
GestureProgress
Per-touch progress for one in-flight gesture sequence.
I18n
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.
EuvAvatarSize
The square edge length of the euv_avatar component.
EuvButtonVariant
The visual variant of the euv_button component.
EuvCalendarWeekday
The column headings of the euv_calendar day grid.
EuvCameraFacing
Represents the facing direction of the camera device.
EuvDividerOrientation
The direction a euv_divider rule runs in.
EuvGesture
A single-finger directional gesture resolved from a completed touch sequence.
EuvIconSize
The size scale of the euv_icon component.
EuvMdBlock
One block-level markdown node of the euv_markdown AST.
EuvMdInline
One inline markdown node of the euv_markdown AST.
EuvPanelVariant
The border treatment of the euv_panel component.
EuvRatingSize
The star glyph size of the euv_rating component.
EuvSpaceSize
The spacing step of the euv_space component.
EuvTableAlign
The horizontal alignment of a table column and of every cell in it.
EuvTagColor
The semantic colour type of the euv_tag component.
EuvTagVariant
The visual variant of the euv_tag component.
EuvTooltipPlacement
The side of the trigger the euv_tooltip bubble is rendered on.
EuvUploadStatus
The transfer state of one file in the euv_upload list.
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.

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_hint
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_title
c_counter_row
c_counter_text
c_counter_value
c_counter_value_row
c_custom_attrs_demo
c_data_box
c_data_pre
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_primary_md
c_euv_display_contents
c_euv_doc_body
c_euv_doc_content
c_euv_doc_layout
c_euv_doc_tail
c_euv_doc_toc
c_euv_feature_card
c_euv_feature_desc
c_euv_feature_grid
c_euv_feature_header
c_euv_feature_icon
c_euv_feature_name
c_euv_footer
c_euv_input
c_euv_input_error
c_euv_input_no_transition
c_euv_input_wrapper
c_euv_navbar_icon_button
c_euv_pagination
c_euv_pagination_link
c_euv_sidebar_children
c_euv_sidebar_group_title
c_euv_sidebar_group_title_active
c_euv_sidebar_group_title_root
c_euv_sidebar_group_title_root_active
c_euv_sidebar_link
c_euv_sidebar_link_active
c_euv_sidebar_link_active_flush
c_euv_toc
c_euv_toc_link
c_euv_toc_link_active
c_euv_toc_link_nested
c_euv_toc_link_nested_active
c_euv_user_select_text
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_form_switch_off
c_game_container_fullscreen
c_game_fullscreen_canvas_letterbox
c_game_fullscreen_toolbar
c_hint
c_home
c_home_actions
c_home_badge
c_home_badge_row
c_home_body
c_home_btn_primary
c_home_btn_secondary
c_home_content
c_home_feature_grid
c_home_layout
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_tail
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_overlay
c_log_container
c_log_item
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_nav_brand_title
c_nav_footer
c_nav_footer_brand
c_nav_footer_divider
c_nav_footer_text
c_nav_header
c_nav_items_scroll
c_nav_locale_button
c_nav_locale_button_open
c_nav_locale_row
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_container
c_page_router
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_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_timer_controls
c_timer_display
c_timer_done
c_timer_value
c_toggle_content
c_toggle_title
c_virtual_list_card
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_avatar
A user or entity avatar rendered as a square image or an initials fallback.
euv_badge
A badge component for displaying status indicators with black/white colour scheme.
euv_breadcrumb
A generic breadcrumb trail aligned with common site frameworks.
euv_button
A versatile button component supporting primary and outline variants.
euv_calendar
A pure-presentation month grid for date selection.
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_collapse
A generic accordion aligned with common component libraries.
euv_debug
A dev-only component for inspecting reactive state inside the component tree.
euv_divider
A generic section rule aligned with common component libraries.
euv_doc_layout
A generic documentation page layout aligned with common site frameworks (VuePress default theme Page, Docusaurus doc item): a fluid content column with the page body as children, euv_pagination prev/next links and an optional footer, plus a sticky right euv_toc anchor column that collapses on narrow viewports.
euv_drawer
A generic left-side mobile drawer with overlay, aligned with common component libraries and the euv example’s overlay-stack behaviour.
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_icon
A monochrome glyph wrapper rendering an inline emoji or text symbol.
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_md_css
Injects the markdown stylesheet content. Callers pass the result to Css::inject_css once at startup.
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_panel
A bordered section container wrapping children with a titled header.
euv_popover
A click-toggled rich panel anchored to a caller-owned trigger.
euv_progress
A determinate progress bar component bound to a percentage signal.
euv_radio
A radio group component with two-way binding via a signal.
euv_rating
A star rating supporting read-only display and half-star fill.
euv_result
A generic status/result page aligned with common component libraries (Ant Design Result, Element Plus Result): a big status code, a title, a description and an action area.
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_skeleton
A loading placeholder shown while real content is still being fetched.
euv_slider
A range slider component with two-way binding via a signal.
euv_space
A layout gap primitive separating sibling blocks without a border.
euv_stat
A single metric tile showing one large value with its label.
euv_steps
A horizontal progress stepper marking each stage of a multi-step flow.
euv_switch
A toggle switch component with two-way binding via a signal.
euv_table
A bordered monochrome data table with a header row and optional caption.
euv_tabs
A generic tab bar with a single panel, aligned with common site frameworks.
euv_tag
A tag component for displaying semantic status indicators.
euv_timeline
A vertical event log with a continuous rail connecting each entry.
euv_toc
A generic sticky anchor table-of-contents aligned with common docs frameworks.
euv_tooltip
A hover / focus hint anchored to its trigger element.
euv_upload
A drop zone with a hidden file input and a status-driven file list.
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.
first_navigable_route
Returns the first navigable route inside a subtree of sidebar items.
i18n_register
Registers a translation key -> message under locale on the supplied i18n handle.
i18n_reset_for_tests
Clears every registered translation from the process-wide [I18N_MESSAGES] storage.
inject_app_global_css
Injects application-level global CSS into the DOM.
is_edge_to_edge_viewport
Decides whether a viewport is laid out edge-to-edge on its physical screen.
normalize_path
Normalizes a path by stripping a trailing / (except for the root path /, which stays as /).
now_ms
Returns the current wall-clock time, in milliseconds.
on_calendar_day_click
Builds the click handler that selects a calendar day.
on_popover_toggle
Builds the click handler that toggles the popover open signal.
on_radio_change
Builds a change handler that selects option_value.
on_upload_drag_leave
Builds the drag-leave handler that clears the drop zone highlight.
on_upload_drag_over
Builds the drag-over handler that marks the drop zone as active.
on_upload_files_change
Builds the change handler for the hidden file input.
previous_step
Records current against the supplied tracker and returns the snapshot of what was previously recorded.
profiler_measure
Runs body and records the elapsed time under label.
progress_percent_clamp
Clamps a raw percentage into the 0.0..=100.0 range a bar can render.
rating_fill_percent
Returns the fill percentage of a rating value, clamped to 0.0..=100.0.
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.
safe_area_contract_value
Picks the pixel value one side’s contract variable carries for a given host.
skeleton_line_count
Clamps a requested line count into the renderable 1..=8 range.
use_async
Obtains the UseAsyncHandle registered against the current hook context slot.
use_debounced_value
Obtains the debounced value registered against the current hook context slot.
use_error_boundary
Obtains an ErrorBoundary registered against the current hook context slot.
use_euv_switch_state
Obtains the switch state handle registered against the current hook context slot.
use_i18n
Obtains the i18n handle registered against the current hook context slot.
use_lazy_component
Obtains a LazyComponent registered against the current hook context slot.
use_previous
Obtains the previous-value tracker registered against the current hook context slot.
use_profiler
Obtains a ProfilerHandle registered against the current hook context slot.
use_suspense
Obtains a SuspenseHandle registered against the current hook context slot.
use_throttled_value
Obtains the throttled value registered against the current hook context slot.

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 crate::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.