Metadata-Version: 2.1
Name: coral-decimal-mask
Version: 0.2.1
Summary: Django mask decimal fields
License: MIT
Author: Coral Sistemas
Requires-Python: >=3.10,<4.0
Classifier: Environment :: Web Environment
Classifier: Framework :: Django
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3
Classifier: Topic :: Internet :: WWW/HTTP :: Dynamic Content
Requires-Dist: Django (>=4.0.4,<5.0.0)
Description-Content-Type: text/markdown

# Coral Decimal Mask

Widgets que aplicam mascaras nos forms do django.

## Instalação

```sh
python -m pip install coral-decimal-mask
```

## Como usar

```py
from django import forms
from decimal_mask.widgets import DecimalMaskWidget, MoneyMaskWidget, PercentMaskWidget


class MyForm(forms.Form):
    value1 = forms.DecimalField(widget=DecimalMaskWidget())
    value2 = forms.DecimalField(
        widget=DecimalMaskWidget(
            decimal_attrs={
                "locales": "pt-BR",
                "decimalPlaces": 2,
                "format": {
                    "style": "currency",
                    "currency": "BRL",
                },
            },
        ),
    ) # ou usar forms.DecimalField(widget=MoneyMaskWidget())
    value3 = forms.DecimalField(widget=PercentMaskWidget())
```

- O parâmetro `decimal_attrs` são algumas opções para construir o objeto javascript [Intl.NumberFormat](https://developer.mozilla.org/pt-BR/docs/Web/JavaScript/Reference/Global_Objects/Intl/NumberFormat).

  - `locales` é o primeiro parâmetro de `Intl.NumberFormat` referente a linguagem utilizada na interface do usuário da sua aplicação.

  - `decimalPlaces` é o número de casas decimais que a mascara vai considerar.

  - `format` é um `dict` com as informações do parâmetro `options` de `Intl.NumberFormat`.


## Contribuindo com o projeto

```py
(venv) poetry install
(venv) pytest
```

