Перейти к содержимому

CorePhoneInput

Примеры использования и документация.

Поле телефона, которое прощает пользователю любой формат ввода: маска подставляется по выбранной стране, код страны выбирается из дропдауна, а корректность номера проверяется автоматически. Используйте в формах регистрации и связи, чтобы в базу не попадали «телефоны» из букв и обрывков.

Технические детали: валидация и форматирование на libphonenumber-js; international — формат +7 … или национальный, defaultCountryCode (по умолчанию RU) — страна при пустой/частичной модели, countryCodes — allowlist стран в дропдауне (undefined — все); страна определяется автоматически, как только введённый номер с «+» однозначно указывает код (например, +7 917… переключит страну на RU) Триггер страны показывает только флаг-иконку (dial code — в дропдауне и в номере при international; для скринридеров на кнопке aria-label «Страна: …, +код»). Флаги стран — растровый спрайт public/phone-flags.png (243 страны из flagcdn, порядок ячеек в phone-flag-sprite.ts): файл подгружается только на страницах с отрисованным компонентом и не попадает в глобальный бандл иконок; для ac/ta, которых нет в спрайте, — эмодзи-фолбэк. Дропдаун страны — кнопка с aria-haspopup="listbox" и список role="listbox"/role="option" c aria-selected. Поддержка label/id/describedBy (aria-describedby), error даёт aria-invalid, красную рамку и сообщение с role="alert"; размеры size sm/md/lg, placeholder, disabled. flow — градиентная анимированная рамка (цвета темы — primary/secondary, реагируют на акцент).

+7 — · валиден: нет