{#snippet renderIcon(item: ComboboxItem)} {#if countrycodeMap[item.value]?.flag} {countrycodeMap[item.value].flag} {/if} {/snippet}
{#if label} {/if}
{ country = countrycodeMap[e.value.value]; }} onvalidate={(e) => { countriesValid = e.detail.valid; }} />
!required || (value !== undefined && value.isValid()) }} onvalidate={(e) => { numberValid = e.detail.valid; }} onkeydown={(e) => { if (e.ctrlKey || e.key.length > 1) { return; } if (/[0-9-()+]/.test(e.key)) { return; } e.preventDefault(); }} oninput={(event: Event) => { const e = event as InputEvent; if (!e.target) return; const input = e.target as HTMLInputElement; const formatter = new AsYouType(formatterCountryCode); const formatted = formatter.input(input.value); if (formatted.length >= input.value.length) input.value = formatted; value = formatter.getNumber(); console.log('updated value', value, value?.isValid()); if (formatter.isValid() && formatter.isInternational() && value) { const country = formatter.getCountry(); if (country) { setCountryByISO(country); input.value = value.formatNational(); } } }} />