Date
Поле для ввода даты, поддерживает маску для установки формата, в основе текстовое поле. A field for entering a date, supports a mask for setting the format, based on the text field.
Import Permalink to "Import"
import ProximaDate from 'proxima-vue/field/date';Playground Permalink to "Playground"
import { ref } from 'vue';
import ProximaDate from 'proxima-vue/field/date';
const value = ref('');<ProximaDate
  label="Birthday"
  v-model="value"
/>Format Permalink to "Format"
По умолчанию формат зависит от выбранной локализации, но вы можете напрямую указать нужный формат, например ISO 8601: By default, the format depends on the selected localization, but you can directly specify the desired format, for example ISO 8601:
<ProximaDate
  format="yyyy-mm-dd"
  validity-status="both"
  width="12"
/>Min and max Permalink to "Min and max"
Вы можете указать минимальную и максимальную дату, если значение будет выходить за эти рамки, то поле будет считаться невалидным, вы можете передать строку с датой или now: You can specify the minimum and maximum date values. If the value falls beyond these limits, the field will be considered invalid. You can pass a string with date or now: 
<ProximaDate
  format="yyyy-mm-dd"
  validity-status="both"
  width="12"
  min="2022-01-01"
  max="now"
/>Parser Permalink to "Parser"
Поле умеет парсить текстовые даты на разных языках, вы можете скопировать и вставить текст с датой или нажать на кнопку: The field can parse text dates in different languages. You can copy and paste the text with date or click on the button:
<ProximaDate
  format="yyyy-mm-dd"
  validity-status="both"
  width="12"
  has-clear-button
  actions-visibility="always"
  v-model="value"
/>
<button
  type="button"
  v-text="'10 December 1815'"
  @click="value = '10 December 1815'"
/>import { ref } from 'vue';
import ProximaDate from 'proxima-vue/field/date';
const value = ref('');Mask char Permalink to "Mask char"
Вы можете указать свой символ для маски: You can specify your own placeholder symbol for the mask:
<ProximaDate
  width="12"
  mask-char="*"
  format="yyyy-mm-dd"
  validity-status="both"
/>
<ProximaDate
  width="12"
  mask-char="_"
  format="mm/dd/yyyy"
  validity-status="both"
/>Blink Permalink to "Blink"
По умолчанию при вводе недопустимого символа фон поля мерцает красным цветом, вы можете задать другой цвет или отключить анимацию вовсе: By default, when you enter an invalid character, the field's background blink red. You can set a different color or disable the animation altogether:
:root {
  --field-blink-rgb: 255, 0, 0;
  --field-blink-rgb-opacity: 0.15;
}<ProximaDate
  :has-invalid-blink="false"
/>Unexpected Permalink to "Unexpected"
Поле имеет отдельное событие при вводе недопустимого символа: The field triggers a custom event when an invalid character is entered:
<ProximaDate
  :has-invalid-blink="false"
  @unexpected:input="onUnexpectedInput"
/>const onUnexpectedInput = (event) => {
  alert(`Unexpected char: ${event.inputData}`);
};CSS Permalink to "CSS"
--field-mask-color: var(--field-placeholder-color);
--field-invalid-mask-color: color-mix(
  in srgb, var(--field-invalid-color), #fff 50%
);Locale Permalink to "Locale"
Компонент использует токены локализации: The component uses localization tokens:
{
  fieldUnexpectedUseNumber: "Invalid character, use numbers",
  fieldBadDate: "Date does not match format: {format}",
  fieldIsoDate: "year month day",
  fieldBadMonth: "The month is entered incorrectly, it should be from 01 to 12, now: {month}",
  fieldBadDay: "The day is entered incorrectly, it should be from 01 to {max}, now: {day}",
  fieldDateUnderflow: "The earliest date to accept: {date}",
  fieldDateOverflow: "The latest date to accept: {date}",
}Expose Permalink to "Expose"
Поле поддерживает все методы текстового поля и функцию возврата даты в формате ISO: The field supports all text field methods and is able to return an ISO date:
<ProximaDate
  ref="field"
  format="mm/dd/yyyy"
  v-model="value"
/>import { ref, unref, onMounted } from 'vue';
import ProximaDate from 'proxima-vue/field/date';
const field = ref({} as InstanceType<typeof ProximaDate>);
const value = ref('04/15/1992');
onMounted(() => {
  unref(field).getISOString(); // 1992-04-15
});Extends Permalink to "Extends"
Данный компонент основан на текстовом поле и поддерживает его пропсы, события, слоты, БЭМ модификаторы и кастомные свойства. This component is based on a text field and supports its props, events, slots, BEM modifiers and custom properties.