## Числовые типы масок

Числовые типы в Mask обеспечивают специализированное форматирование и валидацию для работы с числами, валютами и финансовыми данными.

**Доступные типы:**

- `number` — простая числовая маска с резиновой структурой
- `number-format` — форматированные числа с разделителями разрядов
- `currency` — валютная маска с автоматическим символом валюты

Все числовые типы автоматически создают резиновые маски переменной длины, игнорируя свойство `mask`. Валидация числовых символов происходит на уровне ввода, поддерживаются отрицательные значения и ограничения через `min`/`max`.

Типы `number-format` и `currency` применяют локализованные разделители разрядов согласно `language` (пробел для русского, запятая для английского). Дробная часть настраивается через `fraction` — число для точного количества знаков, `true` для автоопределения, `false` для целых чисел.

```html
<!-- Простое число -->
<Mask type="number" />

<!-- Форматированное число -->
<Mask type="number-format" language="ru" :fraction="2" />

<!-- Валюта -->
<Mask type="currency" currency="RUB" language="ru" />
```

### Типы

#### number

Простая числовая маска для ввода целых и дробных чисел без форматирования. Создаёт резиновую группу переменной длины, поддерживает отрицательные значения. Разделитель дробной части определяется локалью (точка для английского, запятая для русского).

#### number-format

Числовая маска с автоматическими разделителями разрядов для улучшения читаемости больших чисел. Работает аналогично `number`, но добавляет разделители тысяч, миллионов согласно региональным настройкам. Подходит для количественных показателей, статистики.

#### currency

Валютная маска с символом валюты и форматированием согласно региональным стандартам. Автоматически добавляет символ валюты (₽, $, €) и разделители разрядов. Символ может отображаться до или после числа в зависимости от локали. Свойство `currencyHide` позволяет скрыть символ валюты, оставив только форматирование.

### Свойство fraction

Определяет количество знаков после десятичного разделителя.

**Возможные значения:**

- `number` — точное количество знаков (например, `2` для двух знаков)
- `true` — автоматическое определение по вводу пользователя
- `false` или `0` — без дробной части (только целые числа)

```html
<!-- Два знака после запятой -->
<Mask type="number" :fraction="2" />

<!-- Автоопределение -->
<Mask type="number-format" :fraction="true" />

<!-- Только целые числа -->
<Mask type="currency" currency="USD" :fraction="false" />
```

### Локализация

Форматы автоматически адаптируются к локали через свойство `language`:

**Русский (ru):**
- Разделитель разрядов: пробел
- Десятичный разделитель: запятая
- Пример: `1 234 567,89`

**Английский (en-US):**
- Разделитель разрядов: запятая
- Десятичный разделитель: точка
- Пример: `1,234,567.89`

**Немецкий (de):**
- Разделитель разрядов: точка
- Десятичный разделитель: запятая
- Пример: `1.234.567,89`

```html
<Mask type="number-format" language="ru" :fraction="2" />
<!-- Результат: 1 234,56 -->

<Mask type="number-format" language="en-US" :fraction="2" />
<!-- Результат: 1,234.56 -->

<Mask type="currency" currency="EUR" language="de" />
<!-- Результат: 1.234,56 € -->

<!-- Валюта без символа -->
<Mask type="currency" currency="USD" :currencyHide="true" />
<!-- Результат: 1,234.56 -->
```
