Crate mingot

Crate mingot 

Source
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