// Selector for country dialing code. import React from 'react'; import { injectIntl } from 'react-intl'; import * as dcodes from '../dcodes.json'; import { flagEmoji } from '../lib/strformat'; class PhoneCountrySelector extends React.PureComponent { constructor(props) { super(props); this.countries = []; const { formatDisplayName } = props.intl; dcodes.default.forEach(dc => { const parts = dc.dial.split(','); parts.forEach(part => { this.countries.push({ dial: part.trim(), code: dc.code, flag: flagEmoji(dc.code), name: formatDisplayName(dc.code, {type: 'region'}) }); }); }); this.countries.sort((a, b) => a.name.localeCompare(b.name)); } componentDidMount() { if (this.selectedRef) { this.selectedRef.scrollIntoView({block: 'center', inline: 'nearest'}); } } render() { const countries = []; const selected = this.props.selected || 'US'; this.countries.forEach((c, idx) => { const style = (c.code == selected ? 'selected ' : ''); countries.push(