loadFlag
SVG-иконка флага по коду страны. Модуль tinyval-phone/flags.
Сигнатура
ts
function loadFlag(code: string): Promise<string | undefined>
function flagCodes(): string[]
function setFlags(flags: Record<string, FlagSource> | ((code: string) => string | undefined | Promise<string | undefined>)): void
function resetFlags(): void
type FlagSource = string | (() => string | undefined | Promise<string | undefined>) | nullОсобенности
- Возвращает SVG-разметку (
'<svg …>'); для неизвестного кода —undefined. Регистр кода не важен:'RU'и'ru'. - Каждый флаг — отдельный модуль, поэтому функция асинхронная: флаг загружается при первом обращении. Сам загрузчик — ~3 kB gzip, флаг — от 150 байт до 1 kB.
- Флаги в пропорции 3:2,
viewBox="0 0 513 342". Размер задаётся CSS. - Нужен файл, а не разметка —
tinyval-phone/flags/<код>.svg, см. Иконки флагов. setFlagsзаменяет флаги: объект по кодам (null— флага нет) или функция для всех. Флаг по коду важнее функции; функция вернулаundefined— встроенный флаг. См. Свои страны и флаги.
Примеры
ts
import { loadFlag, flagCodes } from 'tinyval-phone/flags';
const el = document.querySelector('.flag')!;
el.innerHTML = (await loadFlag('jp')) ?? '';
await loadFlag('zz'); // undefined
flagCodes().length; // 257См. также
- Иконки флагов — в Vue, файлом в
<img> - phoneAuto —
country(value).codeдля флага