Expand description
Mingot - The Leptos UI library for applications that demand mathematical precision
Mingot provides ultra-precision UI components for scientific computing, financial applications, and mathematical software. Built with first-class support for u64+ precision integers and arbitrary-precision decimals via rust_decimal integration.
§Why Mingot?
Most web UI libraries stop at JavaScript’s Number type (safe integers up to 2^53 - 1). Mingot goes beyond with:
- NumberInput supporting u64, u128, i64, i128, and arbitrary precision
- Zero precision loss throughout the component lifecycle
- Type-safe validation with detailed error types
- rust_decimal integration for 128-bit arbitrary-precision decimals (optional)
§Precision Without Compromise
ⓘ
use mingot::prelude::*;
// High-precision number input
<NumberInput
precision=NumberInputPrecision::U64
label="Large Integer"
on_valid_change=Callback::new(move |result| {
// Supports values up to 18,446,744,073,709,551,615
})
/>§Quick Start
use leptos::prelude::*;
use mingot::prelude::*;
#[component]
fn App() -> impl IntoView {
view! {
<MingotProvider>
<Container>
<Stack spacing="md">
<Text size=TextSize::Xl weight=TextWeight::Bold>
"Welcome to Mingot"
</Text>
<Button variant=ButtonVariant::Filled on_click=Callback::new(move |_| {})>
"Click me"
</Button>
</Stack>
</Container>
</MingotProvider>
}
}Re-exports§
pub use theme::use_color_scheme;pub use theme::use_color_scheme_toggle;pub use theme::use_set_color_scheme;pub use theme::use_theme;pub use theme::ActiveColorScheme;pub use theme::ColorSchemeMode;pub use theme::MingotProvider;pub use theme::Theme;pub use theme::ThemeContext;pub use validation::ValidationError;pub use validation::ValidationResult;pub use validation::Validator;pub use leptos;pub use components::*;
Modules§
- components
- prelude
- Prelude module with commonly used imports
- theme
- utils
- validation