# AUTOGENERATED FILE


from __future__ import annotations

from typing import Literal, Optional

from miniappi.core.models.content import BaseContent
from pydantic import ConfigDict, Field, RootModel


class Props(BaseContent):
    model_config = ConfigDict(
        extra='allow',
    )
    defaultValue: Optional[float] = Field(
        None,
        description='The default value for the input when not controlled by `modelValue`.',
    )
    id: str = Field(..., description='ID of the component')
    max: Optional[float] = Field(None, description='Maximum boundary value.')
    maxFractionDigits: Optional[float] = Field(
        None,
        description="The maximum number of fraction digits to use. Possible values are from 0 to 20; the default for plain number formatting is the larger of minimumFractionDigits and 3; the default for currency formatting is the larger of minimumFractionDigits and the number of minor unit digits provided by the [ISO 4217 currency code](https://www.six-group.com/en/products-services/financial-information/data-standards.html#scrollTo=maintenance-agency) list (2 if the list doesn't provide that information).",
    )
    min: Optional[float] = Field(None, description='Minimum boundary value.')
    minFractionDigits: Optional[float] = Field(
        None,
        description="The minimum number of fraction digits to use. Possible values are from 0 to 20; the default for plain number and percent formatting is 0; the default for currency formatting is the number of minor unit digits provided by the [ISO 4217 currency code](https://www.six-group.com/en/products-services/financial-information/data-standards.html#scrollTo=maintenance-agency) list (2 if the list doesn't provide that information).",
    )
    prefix: Optional[str] = Field(None, description='Text to display before the value.')
    showButtons: Optional[bool] = Field(None, description='Displays spinner buttons.')
    step: Optional[float] = Field(
        None, description='Step factor to increment/decrement the value.'
    )
    submitText: Optional[str] = None
    suffix: Optional[str] = Field(None, description='Text to display after the value.')
    contentType: Literal['v0/widgets/InputNumber.vue'] = 'v0/widgets/InputNumber.vue'


class Root(RootModel[Props]):
    root: Props
