{#snippet renderIcon(item: ComboboxOption)} {#if countrycodeMap[item.value]?.flag} {countrycodeMap[item.value].flag} {/if} {/snippet}
{#if label} {/if}
{ country = countrycodeMap[item.value]; }} onvalidate={(e) => { countriesValid = e.detail.valid; }} invalidMessage={null} />
!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(); }} onbeforeinput={(event: Event) => { const target = event.target as HTMLInputElement; if (target) { lastRawValue = target.value; } }} 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 (input.value.length >= lastRawValue.length) { setTimeout(() => { input.value = formatted; }, 1); } lastValue = formatter.getNumber(); if (formatter.isValid() && formatter.isInternational() && value) { const country = formatter.getCountry(); if (country) { setCountryByISO(country); setTimeout(() => { if (lastValue) input.value = lastValue.formatNational(); }, 1); } } }} onblur={() => { value = lastValue; }} />