From cfafc385f03a1390266b06cdc3612cc4dab80bb0 Mon Sep 17 00:00:00 2001 From: johnnyq Date: Wed, 26 Aug 2026 13:14:32 -0400 Subject: [PATCH] Bump intl-tel-input --- libs/intl-tel-input/css/demo.css | 86 - libs/intl-tel-input/css/flag-offsets.css | 253 + libs/intl-tel-input/css/intlTelInput.css | 1553 +-- libs/intl-tel-input/css/intlTelInput.min.css | 1 - .../css/intlTelInputWithAssets.css | 7 + libs/intl-tel-input/css/styles.d.ts | 2 + libs/intl-tel-input/img/flags.png | Bin 40728 -> 0 bytes libs/intl-tel-input/img/flags.webp | Bin 28186 -> 0 bytes libs/intl-tel-input/img/flags@2x.png | Bin 101569 -> 0 bytes libs/intl-tel-input/img/flags@2x.webp | Bin 66446 -> 0 bytes libs/intl-tel-input/img/globe.png | Bin 646 -> 0 bytes libs/intl-tel-input/img/globe.webp | Bin 514 -> 0 bytes libs/intl-tel-input/img/globe@2x.png | Bin 1667 -> 0 bytes libs/intl-tel-input/img/globe@2x.webp | Bin 1380 -> 0 bytes libs/intl-tel-input/img/globe_light.png | Bin 664 -> 0 bytes libs/intl-tel-input/img/globe_light.webp | Bin 536 -> 0 bytes libs/intl-tel-input/img/globe_light@2x.png | Bin 1811 -> 0 bytes libs/intl-tel-input/img/globe_light@2x.webp | Bin 1514 -> 0 bytes libs/intl-tel-input/js/constants.ts | 213 + libs/intl-tel-input/js/core/countrySearch.ts | 148 + libs/intl-tel-input/js/core/icons.ts | 64 + libs/intl-tel-input/js/core/numerals.ts | 64 + libs/intl-tel-input/js/core/options.ts | 466 + libs/intl-tel-input/js/core/ui.ts | 1442 +++ libs/intl-tel-input/js/data.js | 1384 --- libs/intl-tel-input/js/data.min.js | 20 - libs/intl-tel-input/js/data.ts | 1531 +++ libs/intl-tel-input/js/data/country-data.ts | 168 + .../intl-tel-input/js/data/intl-regionless.ts | 20 + .../intl-tel-input/js/data/nanp-regionless.ts | 37 + libs/intl-tel-input/js/format/caret.ts | 32 + libs/intl-tel-input/js/format/formatting.ts | 48 + libs/intl-tel-input/js/helpers/dom.ts | 26 + libs/intl-tel-input/js/helpers/string.ts | 10 + libs/intl-tel-input/js/i18n/ar/countries.js | 245 - libs/intl-tel-input/js/i18n/ar/index.js | 5 - libs/intl-tel-input/js/i18n/ar/interface.js | 13 - libs/intl-tel-input/js/i18n/bg/countries.js | 245 - libs/intl-tel-input/js/i18n/bg/index.js | 5 - libs/intl-tel-input/js/i18n/bg/interface.js | 13 - libs/intl-tel-input/js/i18n/bn/countries.js | 245 - libs/intl-tel-input/js/i18n/bn/index.js | 5 - libs/intl-tel-input/js/i18n/bn/interface.js | 13 - libs/intl-tel-input/js/i18n/bs/index.js | 5 - libs/intl-tel-input/js/i18n/bs/interface.js | 13 - libs/intl-tel-input/js/i18n/ca/countries.js | 245 - libs/intl-tel-input/js/i18n/ca/index.js | 5 - libs/intl-tel-input/js/i18n/ca/interface.js | 13 - libs/intl-tel-input/js/i18n/cs/countries.js | 245 - libs/intl-tel-input/js/i18n/cs/index.js | 5 - libs/intl-tel-input/js/i18n/cs/interface.js | 13 - libs/intl-tel-input/js/i18n/da/countries.js | 245 - libs/intl-tel-input/js/i18n/da/index.js | 5 - libs/intl-tel-input/js/i18n/da/interface.js | 13 - libs/intl-tel-input/js/i18n/de/countries.js | 245 - libs/intl-tel-input/js/i18n/de/index.js | 5 - libs/intl-tel-input/js/i18n/de/interface.js | 13 - libs/intl-tel-input/js/i18n/el/countries.js | 245 - libs/intl-tel-input/js/i18n/el/index.js | 5 - libs/intl-tel-input/js/i18n/el/interface.js | 13 - libs/intl-tel-input/js/i18n/en/countries.js | 245 - libs/intl-tel-input/js/i18n/en/index.js | 5 - libs/intl-tel-input/js/i18n/en/interface.js | 13 - libs/intl-tel-input/js/i18n/es/countries.js | 245 - libs/intl-tel-input/js/i18n/es/index.js | 5 - libs/intl-tel-input/js/i18n/es/interface.js | 13 - libs/intl-tel-input/js/i18n/fa/countries.js | 245 - libs/intl-tel-input/js/i18n/fa/index.js | 5 - libs/intl-tel-input/js/i18n/fa/interface.js | 13 - libs/intl-tel-input/js/i18n/fi/countries.js | 245 - libs/intl-tel-input/js/i18n/fi/index.js | 5 - libs/intl-tel-input/js/i18n/fi/interface.js | 13 - libs/intl-tel-input/js/i18n/fr/countries.js | 245 - libs/intl-tel-input/js/i18n/fr/index.js | 5 - libs/intl-tel-input/js/i18n/fr/interface.js | 13 - libs/intl-tel-input/js/i18n/hi/countries.js | 245 - libs/intl-tel-input/js/i18n/hi/index.js | 5 - libs/intl-tel-input/js/i18n/hi/interface.js | 13 - libs/intl-tel-input/js/i18n/hr/countries.js | 245 - libs/intl-tel-input/js/i18n/hr/index.js | 5 - libs/intl-tel-input/js/i18n/hr/interface.js | 13 - libs/intl-tel-input/js/i18n/hu/countries.js | 245 - libs/intl-tel-input/js/i18n/hu/index.js | 5 - libs/intl-tel-input/js/i18n/hu/interface.js | 13 - libs/intl-tel-input/js/i18n/id/countries.js | 245 - libs/intl-tel-input/js/i18n/id/index.js | 5 - libs/intl-tel-input/js/i18n/id/interface.js | 13 - libs/intl-tel-input/js/i18n/index.js | 37 - libs/intl-tel-input/js/i18n/it/countries.js | 245 - libs/intl-tel-input/js/i18n/it/index.js | 5 - libs/intl-tel-input/js/i18n/it/interface.js | 13 - libs/intl-tel-input/js/i18n/ja/countries.js | 245 - libs/intl-tel-input/js/i18n/ja/index.js | 5 - libs/intl-tel-input/js/i18n/ja/interface.js | 13 - libs/intl-tel-input/js/i18n/ko/countries.js | 245 - libs/intl-tel-input/js/i18n/ko/index.js | 5 - libs/intl-tel-input/js/i18n/ko/interface.js | 13 - libs/intl-tel-input/js/i18n/mr/countries.js | 245 - libs/intl-tel-input/js/i18n/mr/index.js | 5 - libs/intl-tel-input/js/i18n/mr/interface.js | 13 - libs/intl-tel-input/js/i18n/nl/countries.js | 245 - libs/intl-tel-input/js/i18n/nl/index.js | 5 - libs/intl-tel-input/js/i18n/nl/interface.js | 13 - libs/intl-tel-input/js/i18n/no/countries.js | 245 - libs/intl-tel-input/js/i18n/no/index.js | 5 - libs/intl-tel-input/js/i18n/no/interface.js | 13 - libs/intl-tel-input/js/i18n/pl/countries.js | 245 - libs/intl-tel-input/js/i18n/pl/index.js | 5 - libs/intl-tel-input/js/i18n/pl/interface.js | 13 - libs/intl-tel-input/js/i18n/pt/countries.js | 245 - libs/intl-tel-input/js/i18n/pt/index.js | 5 - libs/intl-tel-input/js/i18n/pt/interface.js | 13 - libs/intl-tel-input/js/i18n/ro/countries.js | 245 - libs/intl-tel-input/js/i18n/ro/index.js | 5 - libs/intl-tel-input/js/i18n/ro/interface.js | 13 - libs/intl-tel-input/js/i18n/ru/countries.js | 245 - libs/intl-tel-input/js/i18n/ru/index.js | 5 - libs/intl-tel-input/js/i18n/ru/interface.js | 13 - libs/intl-tel-input/js/i18n/sk/countries.js | 245 - libs/intl-tel-input/js/i18n/sk/index.js | 5 - libs/intl-tel-input/js/i18n/sk/interface.js | 13 - libs/intl-tel-input/js/i18n/sv/countries.js | 245 - libs/intl-tel-input/js/i18n/sv/index.js | 5 - libs/intl-tel-input/js/i18n/sv/interface.js | 13 - libs/intl-tel-input/js/i18n/te/countries.js | 245 - libs/intl-tel-input/js/i18n/te/index.js | 5 - libs/intl-tel-input/js/i18n/te/interface.js | 13 - libs/intl-tel-input/js/i18n/th/countries.js | 245 - libs/intl-tel-input/js/i18n/th/index.js | 5 - libs/intl-tel-input/js/i18n/th/interface.js | 13 - libs/intl-tel-input/js/i18n/tr/countries.js | 245 - libs/intl-tel-input/js/i18n/tr/index.js | 5 - libs/intl-tel-input/js/i18n/tr/interface.js | 13 - libs/intl-tel-input/js/i18n/uk/countries.js | 245 - libs/intl-tel-input/js/i18n/uk/index.js | 5 - libs/intl-tel-input/js/i18n/uk/interface.js | 13 - libs/intl-tel-input/js/i18n/ur/countries.js | 245 - libs/intl-tel-input/js/i18n/ur/index.js | 5 - libs/intl-tel-input/js/i18n/ur/interface.js | 13 - libs/intl-tel-input/js/i18n/vi/countries.js | 245 - libs/intl-tel-input/js/i18n/vi/index.js | 5 - libs/intl-tel-input/js/i18n/vi/interface.js | 13 - libs/intl-tel-input/js/i18n/zh/countries.js | 245 - libs/intl-tel-input/js/i18n/zh/index.js | 5 - libs/intl-tel-input/js/i18n/zh/interface.js | 13 - libs/intl-tel-input/js/intlTelInput.d.ts | 1177 -- libs/intl-tel-input/js/intlTelInput.js | 3181 ------ libs/intl-tel-input/js/intlTelInput.min.js | 20 - libs/intl-tel-input/js/intlTelInput.ts | 1805 ++++ .../js/intlTelInputWithUtils.js | 9426 ----------------- .../js/intlTelInputWithUtils.min.js | 20 - .../js/intlTelInputWithUtils.ts | 4 + libs/intl-tel-input/js/locale/ar.ts | 34 + libs/intl-tel-input/js/locale/bg.ts | 24 + libs/intl-tel-input/js/locale/bn.ts | 24 + libs/intl-tel-input/js/locale/bs.ts | 37 + libs/intl-tel-input/js/locale/ca.ts | 24 + .../country-names/bs.ts} | 352 +- .../js/locale/country-names/hy.ts | 253 + .../js/locale/country-names/is.ts | 253 + .../js/locale/country-names/mk.ts | 253 + .../js/locale/country-names/sq.ts | 253 + .../js/locale/country-names/uz.ts | 253 + libs/intl-tel-input/js/locale/cs.ts | 29 + libs/intl-tel-input/js/locale/da.ts | 24 + libs/intl-tel-input/js/locale/de.ts | 24 + libs/intl-tel-input/js/locale/el.ts | 24 + libs/intl-tel-input/js/locale/en.ts | 24 + libs/intl-tel-input/js/locale/es.ts | 24 + libs/intl-tel-input/js/locale/et.ts | 24 + libs/intl-tel-input/js/locale/fa.ts | 21 + libs/intl-tel-input/js/locale/fi.ts | 24 + libs/intl-tel-input/js/locale/fil.ts | 21 + libs/intl-tel-input/js/locale/fr.ts | 24 + libs/intl-tel-input/js/locale/he.ts | 24 + libs/intl-tel-input/js/locale/hi.ts | 24 + libs/intl-tel-input/js/locale/hr.ts | 36 + libs/intl-tel-input/js/locale/hu.ts | 21 + libs/intl-tel-input/js/locale/hy.ts | 25 + libs/intl-tel-input/js/locale/id.ts | 21 + libs/intl-tel-input/js/locale/index.ts | 55 + libs/intl-tel-input/js/locale/is.ts | 30 + libs/intl-tel-input/js/locale/it.ts | 24 + libs/intl-tel-input/js/locale/ja.ts | 21 + libs/intl-tel-input/js/locale/kn.ts | 24 + libs/intl-tel-input/js/locale/ko.ts | 21 + libs/intl-tel-input/js/locale/lt.ts | 38 + libs/intl-tel-input/js/locale/lv.ts | 34 + libs/intl-tel-input/js/locale/mk.ts | 30 + libs/intl-tel-input/js/locale/mr.ts | 24 + libs/intl-tel-input/js/locale/ms.ts | 21 + libs/intl-tel-input/js/locale/nl.ts | 24 + libs/intl-tel-input/js/locale/no.ts | 24 + libs/intl-tel-input/js/locale/pl.ts | 34 + libs/intl-tel-input/js/locale/pt.ts | 24 + libs/intl-tel-input/js/locale/ro.ts | 30 + libs/intl-tel-input/js/locale/ru.ts | 35 + libs/intl-tel-input/js/locale/sk.ts | 27 + libs/intl-tel-input/js/locale/sl.ts | 39 + libs/intl-tel-input/js/locale/sq.ts | 25 + libs/intl-tel-input/js/locale/sr.ts | 35 + libs/intl-tel-input/js/locale/sv.ts | 21 + libs/intl-tel-input/js/locale/sw.ts | 24 + libs/intl-tel-input/js/locale/ta.ts | 24 + libs/intl-tel-input/js/locale/te.ts | 24 + libs/intl-tel-input/js/locale/th.ts | 21 + libs/intl-tel-input/js/locale/tr.ts | 21 + libs/intl-tel-input/js/locale/types.ts | 17 + libs/intl-tel-input/js/locale/uk.ts | 35 + libs/intl-tel-input/js/locale/ur.ts | 24 + libs/intl-tel-input/js/locale/uz.ts | 22 + libs/intl-tel-input/js/locale/vi.ts | 21 + libs/intl-tel-input/js/locale/zh-hk.ts | 20 + libs/intl-tel-input/js/locale/zh.ts | 21 + libs/intl-tel-input/js/types/events.ts | 20 + .../js/types/forEachInstanceArgsMap.ts | 6 + libs/intl-tel-input/js/types/public-api.ts | 171 + libs/intl-tel-input/js/types/utils.d.ts | 6 + libs/intl-tel-input/js/utils.js | 724 +- 219 files changed, 10122 insertions(+), 26624 deletions(-) delete mode 100644 libs/intl-tel-input/css/demo.css create mode 100644 libs/intl-tel-input/css/flag-offsets.css delete mode 100644 libs/intl-tel-input/css/intlTelInput.min.css create mode 100644 libs/intl-tel-input/css/intlTelInputWithAssets.css create mode 100644 libs/intl-tel-input/css/styles.d.ts delete mode 100644 libs/intl-tel-input/img/flags.png delete mode 100644 libs/intl-tel-input/img/flags.webp delete mode 100644 libs/intl-tel-input/img/flags@2x.png delete mode 100644 libs/intl-tel-input/img/flags@2x.webp delete mode 100644 libs/intl-tel-input/img/globe.png delete mode 100644 libs/intl-tel-input/img/globe.webp delete mode 100644 libs/intl-tel-input/img/globe@2x.png delete mode 100644 libs/intl-tel-input/img/globe@2x.webp delete mode 100644 libs/intl-tel-input/img/globe_light.png delete mode 100644 libs/intl-tel-input/img/globe_light.webp delete mode 100644 libs/intl-tel-input/img/globe_light@2x.png delete mode 100644 libs/intl-tel-input/img/globe_light@2x.webp create mode 100644 libs/intl-tel-input/js/constants.ts create mode 100644 libs/intl-tel-input/js/core/countrySearch.ts create mode 100644 libs/intl-tel-input/js/core/icons.ts create mode 100644 libs/intl-tel-input/js/core/numerals.ts create mode 100644 libs/intl-tel-input/js/core/options.ts create mode 100644 libs/intl-tel-input/js/core/ui.ts delete mode 100644 libs/intl-tel-input/js/data.js delete mode 100644 libs/intl-tel-input/js/data.min.js create mode 100644 libs/intl-tel-input/js/data.ts create mode 100644 libs/intl-tel-input/js/data/country-data.ts create mode 100644 libs/intl-tel-input/js/data/intl-regionless.ts create mode 100644 libs/intl-tel-input/js/data/nanp-regionless.ts create mode 100644 libs/intl-tel-input/js/format/caret.ts create mode 100644 libs/intl-tel-input/js/format/formatting.ts create mode 100644 libs/intl-tel-input/js/helpers/dom.ts create mode 100644 libs/intl-tel-input/js/helpers/string.ts delete mode 100644 libs/intl-tel-input/js/i18n/ar/countries.js delete mode 100644 libs/intl-tel-input/js/i18n/ar/index.js delete mode 100644 libs/intl-tel-input/js/i18n/ar/interface.js delete mode 100644 libs/intl-tel-input/js/i18n/bg/countries.js delete mode 100644 libs/intl-tel-input/js/i18n/bg/index.js delete mode 100644 libs/intl-tel-input/js/i18n/bg/interface.js delete mode 100644 libs/intl-tel-input/js/i18n/bn/countries.js delete mode 100644 libs/intl-tel-input/js/i18n/bn/index.js delete mode 100644 libs/intl-tel-input/js/i18n/bn/interface.js delete mode 100644 libs/intl-tel-input/js/i18n/bs/index.js delete mode 100644 libs/intl-tel-input/js/i18n/bs/interface.js delete mode 100644 libs/intl-tel-input/js/i18n/ca/countries.js delete mode 100644 libs/intl-tel-input/js/i18n/ca/index.js delete mode 100644 libs/intl-tel-input/js/i18n/ca/interface.js delete mode 100644 libs/intl-tel-input/js/i18n/cs/countries.js delete mode 100644 libs/intl-tel-input/js/i18n/cs/index.js delete mode 100644 libs/intl-tel-input/js/i18n/cs/interface.js delete mode 100644 libs/intl-tel-input/js/i18n/da/countries.js delete mode 100644 libs/intl-tel-input/js/i18n/da/index.js delete mode 100644 libs/intl-tel-input/js/i18n/da/interface.js delete mode 100644 libs/intl-tel-input/js/i18n/de/countries.js delete mode 100644 libs/intl-tel-input/js/i18n/de/index.js delete mode 100644 libs/intl-tel-input/js/i18n/de/interface.js delete mode 100644 libs/intl-tel-input/js/i18n/el/countries.js delete mode 100644 libs/intl-tel-input/js/i18n/el/index.js delete mode 100644 libs/intl-tel-input/js/i18n/el/interface.js delete mode 100644 libs/intl-tel-input/js/i18n/en/countries.js delete mode 100644 libs/intl-tel-input/js/i18n/en/index.js delete mode 100644 libs/intl-tel-input/js/i18n/en/interface.js delete mode 100644 libs/intl-tel-input/js/i18n/es/countries.js delete mode 100644 libs/intl-tel-input/js/i18n/es/index.js delete mode 100644 libs/intl-tel-input/js/i18n/es/interface.js delete mode 100644 libs/intl-tel-input/js/i18n/fa/countries.js delete mode 100644 libs/intl-tel-input/js/i18n/fa/index.js delete mode 100644 libs/intl-tel-input/js/i18n/fa/interface.js delete mode 100644 libs/intl-tel-input/js/i18n/fi/countries.js delete mode 100644 libs/intl-tel-input/js/i18n/fi/index.js delete mode 100644 libs/intl-tel-input/js/i18n/fi/interface.js delete mode 100644 libs/intl-tel-input/js/i18n/fr/countries.js delete mode 100644 libs/intl-tel-input/js/i18n/fr/index.js delete mode 100644 libs/intl-tel-input/js/i18n/fr/interface.js delete mode 100644 libs/intl-tel-input/js/i18n/hi/countries.js delete mode 100644 libs/intl-tel-input/js/i18n/hi/index.js delete mode 100644 libs/intl-tel-input/js/i18n/hi/interface.js delete mode 100644 libs/intl-tel-input/js/i18n/hr/countries.js delete mode 100644 libs/intl-tel-input/js/i18n/hr/index.js delete mode 100644 libs/intl-tel-input/js/i18n/hr/interface.js delete mode 100644 libs/intl-tel-input/js/i18n/hu/countries.js delete mode 100644 libs/intl-tel-input/js/i18n/hu/index.js delete mode 100644 libs/intl-tel-input/js/i18n/hu/interface.js delete mode 100644 libs/intl-tel-input/js/i18n/id/countries.js delete mode 100644 libs/intl-tel-input/js/i18n/id/index.js delete mode 100644 libs/intl-tel-input/js/i18n/id/interface.js delete mode 100644 libs/intl-tel-input/js/i18n/index.js delete mode 100644 libs/intl-tel-input/js/i18n/it/countries.js delete mode 100644 libs/intl-tel-input/js/i18n/it/index.js delete mode 100644 libs/intl-tel-input/js/i18n/it/interface.js delete mode 100644 libs/intl-tel-input/js/i18n/ja/countries.js delete mode 100644 libs/intl-tel-input/js/i18n/ja/index.js delete mode 100644 libs/intl-tel-input/js/i18n/ja/interface.js delete mode 100644 libs/intl-tel-input/js/i18n/ko/countries.js delete mode 100644 libs/intl-tel-input/js/i18n/ko/index.js delete mode 100644 libs/intl-tel-input/js/i18n/ko/interface.js delete mode 100644 libs/intl-tel-input/js/i18n/mr/countries.js delete mode 100644 libs/intl-tel-input/js/i18n/mr/index.js delete mode 100644 libs/intl-tel-input/js/i18n/mr/interface.js delete mode 100644 libs/intl-tel-input/js/i18n/nl/countries.js delete mode 100644 libs/intl-tel-input/js/i18n/nl/index.js delete mode 100644 libs/intl-tel-input/js/i18n/nl/interface.js delete mode 100644 libs/intl-tel-input/js/i18n/no/countries.js delete mode 100644 libs/intl-tel-input/js/i18n/no/index.js delete mode 100644 libs/intl-tel-input/js/i18n/no/interface.js delete mode 100644 libs/intl-tel-input/js/i18n/pl/countries.js delete mode 100644 libs/intl-tel-input/js/i18n/pl/index.js delete mode 100644 libs/intl-tel-input/js/i18n/pl/interface.js delete mode 100644 libs/intl-tel-input/js/i18n/pt/countries.js delete mode 100644 libs/intl-tel-input/js/i18n/pt/index.js delete mode 100644 libs/intl-tel-input/js/i18n/pt/interface.js delete mode 100644 libs/intl-tel-input/js/i18n/ro/countries.js delete mode 100644 libs/intl-tel-input/js/i18n/ro/index.js delete mode 100644 libs/intl-tel-input/js/i18n/ro/interface.js delete mode 100644 libs/intl-tel-input/js/i18n/ru/countries.js delete mode 100644 libs/intl-tel-input/js/i18n/ru/index.js delete mode 100644 libs/intl-tel-input/js/i18n/ru/interface.js delete mode 100644 libs/intl-tel-input/js/i18n/sk/countries.js delete mode 100644 libs/intl-tel-input/js/i18n/sk/index.js delete mode 100644 libs/intl-tel-input/js/i18n/sk/interface.js delete mode 100644 libs/intl-tel-input/js/i18n/sv/countries.js delete mode 100644 libs/intl-tel-input/js/i18n/sv/index.js delete mode 100644 libs/intl-tel-input/js/i18n/sv/interface.js delete mode 100644 libs/intl-tel-input/js/i18n/te/countries.js delete mode 100644 libs/intl-tel-input/js/i18n/te/index.js delete mode 100644 libs/intl-tel-input/js/i18n/te/interface.js delete mode 100644 libs/intl-tel-input/js/i18n/th/countries.js delete mode 100644 libs/intl-tel-input/js/i18n/th/index.js delete mode 100644 libs/intl-tel-input/js/i18n/th/interface.js delete mode 100644 libs/intl-tel-input/js/i18n/tr/countries.js delete mode 100644 libs/intl-tel-input/js/i18n/tr/index.js delete mode 100644 libs/intl-tel-input/js/i18n/tr/interface.js delete mode 100644 libs/intl-tel-input/js/i18n/uk/countries.js delete mode 100644 libs/intl-tel-input/js/i18n/uk/index.js delete mode 100644 libs/intl-tel-input/js/i18n/uk/interface.js delete mode 100644 libs/intl-tel-input/js/i18n/ur/countries.js delete mode 100644 libs/intl-tel-input/js/i18n/ur/index.js delete mode 100644 libs/intl-tel-input/js/i18n/ur/interface.js delete mode 100644 libs/intl-tel-input/js/i18n/vi/countries.js delete mode 100644 libs/intl-tel-input/js/i18n/vi/index.js delete mode 100644 libs/intl-tel-input/js/i18n/vi/interface.js delete mode 100644 libs/intl-tel-input/js/i18n/zh/countries.js delete mode 100644 libs/intl-tel-input/js/i18n/zh/index.js delete mode 100644 libs/intl-tel-input/js/i18n/zh/interface.js delete mode 100644 libs/intl-tel-input/js/intlTelInput.d.ts delete mode 100644 libs/intl-tel-input/js/intlTelInput.js delete mode 100644 libs/intl-tel-input/js/intlTelInput.min.js create mode 100644 libs/intl-tel-input/js/intlTelInput.ts delete mode 100644 libs/intl-tel-input/js/intlTelInputWithUtils.js delete mode 100644 libs/intl-tel-input/js/intlTelInputWithUtils.min.js create mode 100644 libs/intl-tel-input/js/intlTelInputWithUtils.ts create mode 100644 libs/intl-tel-input/js/locale/ar.ts create mode 100644 libs/intl-tel-input/js/locale/bg.ts create mode 100644 libs/intl-tel-input/js/locale/bn.ts create mode 100644 libs/intl-tel-input/js/locale/bs.ts create mode 100644 libs/intl-tel-input/js/locale/ca.ts rename libs/intl-tel-input/js/{i18n/bs/countries.js => locale/country-names/bs.ts} (89%) create mode 100644 libs/intl-tel-input/js/locale/country-names/hy.ts create mode 100644 libs/intl-tel-input/js/locale/country-names/is.ts create mode 100644 libs/intl-tel-input/js/locale/country-names/mk.ts create mode 100644 libs/intl-tel-input/js/locale/country-names/sq.ts create mode 100644 libs/intl-tel-input/js/locale/country-names/uz.ts create mode 100644 libs/intl-tel-input/js/locale/cs.ts create mode 100644 libs/intl-tel-input/js/locale/da.ts create mode 100644 libs/intl-tel-input/js/locale/de.ts create mode 100644 libs/intl-tel-input/js/locale/el.ts create mode 100644 libs/intl-tel-input/js/locale/en.ts create mode 100644 libs/intl-tel-input/js/locale/es.ts create mode 100644 libs/intl-tel-input/js/locale/et.ts create mode 100644 libs/intl-tel-input/js/locale/fa.ts create mode 100644 libs/intl-tel-input/js/locale/fi.ts create mode 100644 libs/intl-tel-input/js/locale/fil.ts create mode 100644 libs/intl-tel-input/js/locale/fr.ts create mode 100644 libs/intl-tel-input/js/locale/he.ts create mode 100644 libs/intl-tel-input/js/locale/hi.ts create mode 100644 libs/intl-tel-input/js/locale/hr.ts create mode 100644 libs/intl-tel-input/js/locale/hu.ts create mode 100644 libs/intl-tel-input/js/locale/hy.ts create mode 100644 libs/intl-tel-input/js/locale/id.ts create mode 100644 libs/intl-tel-input/js/locale/index.ts create mode 100644 libs/intl-tel-input/js/locale/is.ts create mode 100644 libs/intl-tel-input/js/locale/it.ts create mode 100644 libs/intl-tel-input/js/locale/ja.ts create mode 100644 libs/intl-tel-input/js/locale/kn.ts create mode 100644 libs/intl-tel-input/js/locale/ko.ts create mode 100644 libs/intl-tel-input/js/locale/lt.ts create mode 100644 libs/intl-tel-input/js/locale/lv.ts create mode 100644 libs/intl-tel-input/js/locale/mk.ts create mode 100644 libs/intl-tel-input/js/locale/mr.ts create mode 100644 libs/intl-tel-input/js/locale/ms.ts create mode 100644 libs/intl-tel-input/js/locale/nl.ts create mode 100644 libs/intl-tel-input/js/locale/no.ts create mode 100644 libs/intl-tel-input/js/locale/pl.ts create mode 100644 libs/intl-tel-input/js/locale/pt.ts create mode 100644 libs/intl-tel-input/js/locale/ro.ts create mode 100644 libs/intl-tel-input/js/locale/ru.ts create mode 100644 libs/intl-tel-input/js/locale/sk.ts create mode 100644 libs/intl-tel-input/js/locale/sl.ts create mode 100644 libs/intl-tel-input/js/locale/sq.ts create mode 100644 libs/intl-tel-input/js/locale/sr.ts create mode 100644 libs/intl-tel-input/js/locale/sv.ts create mode 100644 libs/intl-tel-input/js/locale/sw.ts create mode 100644 libs/intl-tel-input/js/locale/ta.ts create mode 100644 libs/intl-tel-input/js/locale/te.ts create mode 100644 libs/intl-tel-input/js/locale/th.ts create mode 100644 libs/intl-tel-input/js/locale/tr.ts create mode 100644 libs/intl-tel-input/js/locale/types.ts create mode 100644 libs/intl-tel-input/js/locale/uk.ts create mode 100644 libs/intl-tel-input/js/locale/ur.ts create mode 100644 libs/intl-tel-input/js/locale/uz.ts create mode 100644 libs/intl-tel-input/js/locale/vi.ts create mode 100644 libs/intl-tel-input/js/locale/zh-hk.ts create mode 100644 libs/intl-tel-input/js/locale/zh.ts create mode 100644 libs/intl-tel-input/js/types/events.ts create mode 100644 libs/intl-tel-input/js/types/forEachInstanceArgsMap.ts create mode 100644 libs/intl-tel-input/js/types/public-api.ts create mode 100644 libs/intl-tel-input/js/types/utils.d.ts diff --git a/libs/intl-tel-input/css/demo.css b/libs/intl-tel-input/css/demo.css deleted file mode 100644 index f3eb52449..000000000 --- a/libs/intl-tel-input/css/demo.css +++ /dev/null @@ -1,86 +0,0 @@ -* { - box-sizing: border-box; -} - -body { - margin: 20px; - font-size: 14px; - font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; - color: #555; -} - -input, -.button { - height: 35px; - margin: 0; - padding: 6px 12px; - border-radius: 2px; - font-family: inherit; - font-size: 100%; - color: inherit; -} - -input { - border: 1px solid #ccc; - width: 220px; -} - -input::placeholder { - color: #bbb; -} - -.button { - color: #fff; - background-color: #428bca; - border: 1px solid #357ebd; - margin-left: 5px; -} -.button:hover { - background-color: #3276b1; - border-color: #285e8e; - cursor: pointer; -} - -.notice { - margin-top: 15px; -} - -@media (prefers-color-scheme: dark) { - body, input { - color: white; - background-color: #0d1117; - } - input[disabled] { - background-color: #3c3c3c; - } - input { - border-color: #5b5b5b; - } - input::placeholder { - color: #8d96a0; - } - .iti { - --iti-border-color: #5b5b5b; - --iti-dialcode-color: #999999; - --iti-dropdown-bg: #0d1117; - --iti-arrow-color: #aaaaaa; - --iti-hover-color: #30363d; - --iti-path-globe-1x: url("../img/globe_light.webp"); - --iti-path-globe-2x: url("../img/globe_light@2x.webp"); - } -} -#error-msg { - color: red; -} - -#valid-msg { - color: #00c900; -} - -input.error { - border: 1px solid #ff7c7c; -} - -.hide { - display: none; -} \ No newline at end of file diff --git a/libs/intl-tel-input/css/flag-offsets.css b/libs/intl-tel-input/css/flag-offsets.css new file mode 100644 index 000000000..7c6b774a2 --- /dev/null +++ b/libs/intl-tel-input/css/flag-offsets.css @@ -0,0 +1,253 @@ +/* THIS FILE IS AUTO-GENERATED. DO NOT EDIT. */ + +:root { + --iti-flag-width: 20px; + --iti-flag-count: 244; +} + +.iti__ac { --iti-flag-offset: 0; } +.iti__ad { --iti-flag-offset: -1; } +.iti__ae { --iti-flag-offset: -2; } +.iti__af { --iti-flag-offset: -3; } +.iti__ag { --iti-flag-offset: -4; } +.iti__ai { --iti-flag-offset: -5; } +.iti__al { --iti-flag-offset: -6; } +.iti__am { --iti-flag-offset: -7; } +.iti__ao { --iti-flag-offset: -8; } +.iti__ar { --iti-flag-offset: -9; } +.iti__as { --iti-flag-offset: -10; } +.iti__at { --iti-flag-offset: -11; } +.iti__au { --iti-flag-offset: -12; } +.iti__aw { --iti-flag-offset: -13; } +.iti__ax { --iti-flag-offset: -14; } +.iti__az { --iti-flag-offset: -15; } +.iti__ba { --iti-flag-offset: -16; } +.iti__bb { --iti-flag-offset: -17; } +.iti__bd { --iti-flag-offset: -18; } +.iti__be { --iti-flag-offset: -19; } +.iti__bf { --iti-flag-offset: -20; } +.iti__bg { --iti-flag-offset: -21; } +.iti__bh { --iti-flag-offset: -22; } +.iti__bi { --iti-flag-offset: -23; } +.iti__bj { --iti-flag-offset: -24; } +.iti__bl { --iti-flag-offset: -25; } +.iti__bm { --iti-flag-offset: -26; } +.iti__bn { --iti-flag-offset: -27; } +.iti__bo { --iti-flag-offset: -28; } +.iti__bq { --iti-flag-offset: -29; } +.iti__br { --iti-flag-offset: -30; } +.iti__bs { --iti-flag-offset: -31; } +.iti__bt { --iti-flag-offset: -32; } +.iti__bw { --iti-flag-offset: -33; } +.iti__by { --iti-flag-offset: -34; } +.iti__bz { --iti-flag-offset: -35; } +.iti__ca { --iti-flag-offset: -36; } +.iti__cc { --iti-flag-offset: -37; } +.iti__cd { --iti-flag-offset: -38; } +.iti__cf { --iti-flag-offset: -39; } +.iti__cg { --iti-flag-offset: -40; } +.iti__ch { --iti-flag-offset: -41; } +.iti__ci { --iti-flag-offset: -42; } +.iti__ck { --iti-flag-offset: -43; } +.iti__cl { --iti-flag-offset: -44; } +.iti__cm { --iti-flag-offset: -45; } +.iti__cn { --iti-flag-offset: -46; } +.iti__co { --iti-flag-offset: -47; } +.iti__cr { --iti-flag-offset: -48; } +.iti__cu { --iti-flag-offset: -49; } +.iti__cv { --iti-flag-offset: -50; } +.iti__cw { --iti-flag-offset: -51; } +.iti__cx { --iti-flag-offset: -52; } +.iti__cy { --iti-flag-offset: -53; } +.iti__cz { --iti-flag-offset: -54; } +.iti__de { --iti-flag-offset: -55; } +.iti__dj { --iti-flag-offset: -56; } +.iti__dk { --iti-flag-offset: -57; } +.iti__dm { --iti-flag-offset: -58; } +.iti__do { --iti-flag-offset: -59; } +.iti__dz { --iti-flag-offset: -60; } +.iti__ec { --iti-flag-offset: -61; } +.iti__ee { --iti-flag-offset: -62; } +.iti__eg { --iti-flag-offset: -63; } +.iti__eh { --iti-flag-offset: -64; } +.iti__er { --iti-flag-offset: -65; } +.iti__es { --iti-flag-offset: -66; } +.iti__et { --iti-flag-offset: -67; } +.iti__fi { --iti-flag-offset: -68; } +.iti__fj { --iti-flag-offset: -69; } +.iti__fk { --iti-flag-offset: -70; } +.iti__fm { --iti-flag-offset: -71; } +.iti__fo { --iti-flag-offset: -72; } +.iti__fr { --iti-flag-offset: -73; } +.iti__ga { --iti-flag-offset: -74; } +.iti__gb { --iti-flag-offset: -75; } +.iti__gd { --iti-flag-offset: -76; } +.iti__ge { --iti-flag-offset: -77; } +.iti__gf { --iti-flag-offset: -78; } +.iti__gg { --iti-flag-offset: -79; } +.iti__gh { --iti-flag-offset: -80; } +.iti__gi { --iti-flag-offset: -81; } +.iti__gl { --iti-flag-offset: -82; } +.iti__gm { --iti-flag-offset: -83; } +.iti__gn { --iti-flag-offset: -84; } +.iti__gp { --iti-flag-offset: -85; } +.iti__gq { --iti-flag-offset: -86; } +.iti__gr { --iti-flag-offset: -87; } +.iti__gt { --iti-flag-offset: -88; } +.iti__gu { --iti-flag-offset: -89; } +.iti__gw { --iti-flag-offset: -90; } +.iti__gy { --iti-flag-offset: -91; } +.iti__hk { --iti-flag-offset: -92; } +.iti__hn { --iti-flag-offset: -93; } +.iti__hr { --iti-flag-offset: -94; } +.iti__ht { --iti-flag-offset: -95; } +.iti__hu { --iti-flag-offset: -96; } +.iti__id { --iti-flag-offset: -97; } +.iti__ie { --iti-flag-offset: -98; } +.iti__il { --iti-flag-offset: -99; } +.iti__im { --iti-flag-offset: -100; } +.iti__in { --iti-flag-offset: -101; } +.iti__io { --iti-flag-offset: -102; } +.iti__iq { --iti-flag-offset: -103; } +.iti__ir { --iti-flag-offset: -104; } +.iti__is { --iti-flag-offset: -105; } +.iti__it { --iti-flag-offset: -106; } +.iti__je { --iti-flag-offset: -107; } +.iti__jm { --iti-flag-offset: -108; } +.iti__jo { --iti-flag-offset: -109; } +.iti__jp { --iti-flag-offset: -110; } +.iti__ke { --iti-flag-offset: -111; } +.iti__kg { --iti-flag-offset: -112; } +.iti__kh { --iti-flag-offset: -113; } +.iti__ki { --iti-flag-offset: -114; } +.iti__km { --iti-flag-offset: -115; } +.iti__kn { --iti-flag-offset: -116; } +.iti__kp { --iti-flag-offset: -117; } +.iti__kr { --iti-flag-offset: -118; } +.iti__kw { --iti-flag-offset: -119; } +.iti__ky { --iti-flag-offset: -120; } +.iti__kz { --iti-flag-offset: -121; } +.iti__la { --iti-flag-offset: -122; } +.iti__lb { --iti-flag-offset: -123; } +.iti__lc { --iti-flag-offset: -124; } +.iti__li { --iti-flag-offset: -125; } +.iti__lk { --iti-flag-offset: -126; } +.iti__lr { --iti-flag-offset: -127; } +.iti__ls { --iti-flag-offset: -128; } +.iti__lt { --iti-flag-offset: -129; } +.iti__lu { --iti-flag-offset: -130; } +.iti__lv { --iti-flag-offset: -131; } +.iti__ly { --iti-flag-offset: -132; } +.iti__ma { --iti-flag-offset: -133; } +.iti__mc { --iti-flag-offset: -134; } +.iti__md { --iti-flag-offset: -135; } +.iti__me { --iti-flag-offset: -136; } +.iti__mf { --iti-flag-offset: -137; } +.iti__mg { --iti-flag-offset: -138; } +.iti__mh { --iti-flag-offset: -139; } +.iti__mk { --iti-flag-offset: -140; } +.iti__ml { --iti-flag-offset: -141; } +.iti__mm { --iti-flag-offset: -142; } +.iti__mn { --iti-flag-offset: -143; } +.iti__mo { --iti-flag-offset: -144; } +.iti__mp { --iti-flag-offset: -145; } +.iti__mq { --iti-flag-offset: -146; } +.iti__mr { --iti-flag-offset: -147; } +.iti__ms { --iti-flag-offset: -148; } +.iti__mt { --iti-flag-offset: -149; } +.iti__mu { --iti-flag-offset: -150; } +.iti__mv { --iti-flag-offset: -151; } +.iti__mw { --iti-flag-offset: -152; } +.iti__mx { --iti-flag-offset: -153; } +.iti__my { --iti-flag-offset: -154; } +.iti__mz { --iti-flag-offset: -155; } +.iti__na { --iti-flag-offset: -156; } +.iti__nc { --iti-flag-offset: -157; } +.iti__ne { --iti-flag-offset: -158; } +.iti__nf { --iti-flag-offset: -159; } +.iti__ng { --iti-flag-offset: -160; } +.iti__ni { --iti-flag-offset: -161; } +.iti__nl { --iti-flag-offset: -162; } +.iti__no { --iti-flag-offset: -163; } +.iti__np { --iti-flag-offset: -164; } +.iti__nr { --iti-flag-offset: -165; } +.iti__nu { --iti-flag-offset: -166; } +.iti__nz { --iti-flag-offset: -167; } +.iti__om { --iti-flag-offset: -168; } +.iti__pa { --iti-flag-offset: -169; } +.iti__pe { --iti-flag-offset: -170; } +.iti__pf { --iti-flag-offset: -171; } +.iti__pg { --iti-flag-offset: -172; } +.iti__ph { --iti-flag-offset: -173; } +.iti__pk { --iti-flag-offset: -174; } +.iti__pl { --iti-flag-offset: -175; } +.iti__pm { --iti-flag-offset: -176; } +.iti__pr { --iti-flag-offset: -177; } +.iti__ps { --iti-flag-offset: -178; } +.iti__pt { --iti-flag-offset: -179; } +.iti__pw { --iti-flag-offset: -180; } +.iti__py { --iti-flag-offset: -181; } +.iti__qa { --iti-flag-offset: -182; } +.iti__re { --iti-flag-offset: -183; } +.iti__ro { --iti-flag-offset: -184; } +.iti__rs { --iti-flag-offset: -185; } +.iti__ru { --iti-flag-offset: -186; } +.iti__rw { --iti-flag-offset: -187; } +.iti__sa { --iti-flag-offset: -188; } +.iti__sb { --iti-flag-offset: -189; } +.iti__sc { --iti-flag-offset: -190; } +.iti__sd { --iti-flag-offset: -191; } +.iti__se { --iti-flag-offset: -192; } +.iti__sg { --iti-flag-offset: -193; } +.iti__sh { --iti-flag-offset: -194; } +.iti__si { --iti-flag-offset: -195; } +.iti__sj { --iti-flag-offset: -196; } +.iti__sk { --iti-flag-offset: -197; } +.iti__sl { --iti-flag-offset: -198; } +.iti__sm { --iti-flag-offset: -199; } +.iti__sn { --iti-flag-offset: -200; } +.iti__so { --iti-flag-offset: -201; } +.iti__sr { --iti-flag-offset: -202; } +.iti__ss { --iti-flag-offset: -203; } +.iti__st { --iti-flag-offset: -204; } +.iti__sv { --iti-flag-offset: -205; } +.iti__sx { --iti-flag-offset: -206; } +.iti__sy { --iti-flag-offset: -207; } +.iti__sz { --iti-flag-offset: -208; } +.iti__tc { --iti-flag-offset: -209; } +.iti__td { --iti-flag-offset: -210; } +.iti__tg { --iti-flag-offset: -211; } +.iti__th { --iti-flag-offset: -212; } +.iti__tj { --iti-flag-offset: -213; } +.iti__tk { --iti-flag-offset: -214; } +.iti__tl { --iti-flag-offset: -215; } +.iti__tm { --iti-flag-offset: -216; } +.iti__tn { --iti-flag-offset: -217; } +.iti__to { --iti-flag-offset: -218; } +.iti__tr { --iti-flag-offset: -219; } +.iti__tt { --iti-flag-offset: -220; } +.iti__tv { --iti-flag-offset: -221; } +.iti__tw { --iti-flag-offset: -222; } +.iti__tz { --iti-flag-offset: -223; } +.iti__ua { --iti-flag-offset: -224; } +.iti__ug { --iti-flag-offset: -225; } +.iti__us { --iti-flag-offset: -226; } +.iti__uy { --iti-flag-offset: -227; } +.iti__uz { --iti-flag-offset: -228; } +.iti__va { --iti-flag-offset: -229; } +.iti__vc { --iti-flag-offset: -230; } +.iti__ve { --iti-flag-offset: -231; } +.iti__vg { --iti-flag-offset: -232; } +.iti__vi { --iti-flag-offset: -233; } +.iti__vn { --iti-flag-offset: -234; } +.iti__vu { --iti-flag-offset: -235; } +.iti__wf { --iti-flag-offset: -236; } +.iti__ws { --iti-flag-offset: -237; } +.iti__xk { --iti-flag-offset: -238; } +.iti__ye { --iti-flag-offset: -239; } +.iti__yt { --iti-flag-offset: -240; } +.iti__za { --iti-flag-offset: -241; } +.iti__zm { --iti-flag-offset: -242; } +.iti__zw { --iti-flag-offset: -243; } + +/* THIS FILE IS AUTO-GENERATED. DO NOT EDIT. */ diff --git a/libs/intl-tel-input/css/intlTelInput.css b/libs/intl-tel-input/css/intlTelInput.css index b3e4abcda..43fca1d05 100644 --- a/libs/intl-tel-input/css/intlTelInput.css +++ b/libs/intl-tel-input/css/intlTelInput.css @@ -1,39 +1,72 @@ +@import "flag-offsets.css"; + :root { + /* rgba is needed for the selected country hover state to blend in with the border-highlighting some browsers give the input on focus. + Used as the bg color for both the selected country and the country list items, on hover. */ --iti-hover-color: rgba(0, 0, 0, 0.05); + /* Used for both the country selector border, and the divider under the country search input. */ --iti-border-color: #ccc; - --iti-dialcode-color: #999; - --iti-dropdown-bg: white; - --iti-spacer-horizontal: 8px; - --iti-flag-height: 12px; - --iti-flag-width: 16px; + --iti-country-selector-bg: white; + /* icons include: arrow icon, globe icon, search icon, clear icon, check icon */ + --iti-icon-color: #555; + /* horizontal spacing around the flag, country name, search icon, clear icon, check icon etc */ + --iti-spacer-horizontal: 10px; + /* Flags are a 4:3 aspect ratio, so height is derived from width — consumers only need to override --iti-flag-width to scale. + --iti-flag-width itself is set in flag-offsets.css (auto-generated). */ + --iti-flag-height: calc(var(--iti-flag-width) * 3 / 4); + /* Separate height for the globe icon, as it's much thinner than the flags, so nice to have it a bit taller. This is also re-used for the search icon. */ + --iti-globe-icon-size: 17px; + /* Separate height for the search clear icon, which looks too big if it's the same as the others. */ + --iti-clear-icon-size: 15px; + /* This border width is used for the popup and divider, but it is also assumed to be the border width of the input, which we do not control. */ --iti-border-width: 1px; - --iti-arrow-height: 4px; - --iti-arrow-width: 6px; - --iti-triangle-border: calc(var(--iti-arrow-width) / 2); - --iti-arrow-padding: 6px; - --iti-arrow-color: #555; - --iti-path-flags-1x: url("../img/flags.webp"); - --iti-path-flags-2x: url("../img/flags@2x.webp"); - --iti-path-globe-1x: url("../img/globe.webp"); - --iti-path-globe-2x: url("../img/globe@2x.webp"); - --iti-flag-sprite-width: 3904px; - --iti-flag-sprite-height: 12px; + /* Arrow */ + --iti-arrow-size: 5px; + --iti-arrow-width: 1.5px; /* thickness */ + --iti-arrow-padding: 7px; + + /* NOTE: image paths are now defined in intlTelInputWithAssets.css */ + + /* Enough space for them to click off to close. */ --iti-mobile-popup-margin: 30px; + + /* Colour used for the flash variant of the strictRejectAnimation option (shown when the user has prefers-reduced-motion). */ + --iti-strict-reject-flash-color: rgba(255, 0, 0, 0.12); } .iti { + /* We need position on the container so the selected country can be absolutely positioned over the input. */ position: relative; + /* Keep the input's default inline properties. */ display: inline-block; + + /* Paul Irish (paulirish) says this is ok. + http://www.paulirish.com/2012/box-sizing-border-box-ftw/ */ + * { + box-sizing: border-box; + } + + /* Specify types to increase specificity e.g. to override bootstrap v2.3. */ + input.iti__tel-input, + input.iti__tel-input[type="text"], + input.iti__tel-input[type="tel"] { + position: relative; + /* Input is bottom level, below selected country and country selector. */ + z-index: 0; + + /* By default the input is inline, which means any inherited line-height will make the wrapper (and hence the selected country) taller than the input. Block is a better default in this case, given it should fill the wrapper. */ + display: block; + + /* Ensure the input fills the wrapper e.g. when the wrapper is inside a flex/grid container. + When the wrapper has no explicit width (standard inline-block), this is a cyclic percentage + and resolves to auto per CSS Sizing 3, so it has no effect and any consumer-set width wins. */ + min-width: 100%; + + /* Since we wrap the input in a container div, any margin here would interfere with the positioning of the selected country. */ + margin: 0 !important; + } } -.iti * { - box-sizing: border-box; -} -.iti__hide { - display: none; -} -.iti__v-hide { - visibility: hidden; -} + .iti__a11y-text { width: 1px; height: 1px; @@ -41,25 +74,29 @@ overflow: hidden; position: absolute; } -.iti input.iti__tel-input, -.iti input.iti__tel-input[type=text], -.iti input.iti__tel-input[type=tel] { - position: relative; - z-index: 0; - margin: 0 !important; -} + .iti__country-container { + /* Positioned over the top of the input. */ position: absolute; + /* Full height. */ top: 0; bottom: 0; + left: 0; + /* Prevent the highlighted child from overlapping the input border. */ padding: var(--iti-border-width); } + +/* Now a button element. */ .iti__selected-country { + /* Render above the input. */ z-index: 1; position: relative; display: flex; align-items: center; + /* This must be full-height both for the hover highlight, and to push down the dropdown so it appears below the input. */ height: 100%; + + /* Reset button styles (can't use all:unset as lose browser default focus outline styles). */ background: none; border: 0; margin: 0; @@ -72,1134 +109,450 @@ line-height: inherit; text-decoration: none; } + .iti__selected-country-primary { display: flex; align-items: center; + /* This must be full-height for the hover highlight. */ height: 100%; padding: 0 var(--iti-arrow-padding) 0 var(--iti-spacer-horizontal); } + +.iti__selected-dial-code { + margin-left: 4px; +} + .iti__arrow { margin-left: var(--iti-arrow-padding); - width: 0; - height: 0; - border-left: var(--iti-triangle-border) solid transparent; - border-right: var(--iti-triangle-border) solid transparent; - border-top: var(--iti-arrow-height) solid var(--iti-arrow-color); -} -[dir=rtl] .iti__arrow { - margin-right: var(--iti-arrow-padding); - margin-left: 0; + margin-top: -2px; + + width: var(--iti-arrow-size); + height: var(--iti-arrow-size); + box-sizing: border-box; + border-right: var(--iti-arrow-width) solid var(--iti-icon-color); + border-bottom: var(--iti-arrow-width) solid var(--iti-icon-color); + transform: rotate(45deg); } + .iti__arrow--up { - border-top: none; - border-bottom: var(--iti-arrow-height) solid var(--iti-arrow-color); + margin-top: 4px; + transform: rotate(-135deg); } -.iti__dropdown-content { + +/* The country selector. */ +.iti__country-selector { border-radius: 3px; - background-color: var(--iti-dropdown-bg); -} -.iti--inline-dropdown .iti__dropdown-content { - position: absolute; - z-index: 2; - margin-top: 3px; - margin-left: calc(var(--iti-border-width) * -1); - border: var(--iti-border-width) solid var(--iti-border-color); - box-shadow: 1px 1px 4px rgba(0, 0, 0, 0.2); + background-color: var(--iti-country-selector-bg); + + .iti--inline-country-selector & { + border: var(--iti-border-width) solid var(--iti-border-color); + box-shadow: 1px 1px 4px rgba(0, 0, 0, 0.2); + } + /* Note: don't apply these styles when using dropdownParent, as that uses pos:fixed and so this (child) doesn't need pos:absolute */ + .iti--inline-country-selector:not(.iti--detached-country-selector) & { + position: absolute; + /* Popup so render above everything else. */ + z-index: 2; + left: 0; + } } + .iti__search-input { width: 100%; border-width: 0; border-radius: 3px; + /* Space for search icon. */ + padding-left: calc( + var(--iti-spacer-horizontal) + var(--iti-globe-icon-size) + + var(--iti-spacer-horizontal) + ); + /* Space for clear button. */ + padding-right: calc( + var(--iti-spacer-horizontal) + var(--iti-clear-icon-size) + + var(--iti-spacer-horizontal) + ); + + /* RTL: put the icon on the right instead. */ + [dir="rtl"] & { + padding-left: inherit; + padding-right: 30px; + background-position: right 8px center; + } + + /* hide chrome/safari's native clear button for inputs with type=search */ + &::-webkit-search-cancel-button { + appearance: none; + } } -.iti__search-input + .iti__country-list { - border-top: 1px solid var(--iti-border-color); + +/* give the search input the same v-padding as the country items, for visual consistency */ +.iti__search-input, +.iti__country { + padding-top: 8px; + padding-bottom: 8px; } + +.iti__search-input-wrapper { + position: relative; + display: flex; + align-items: center; + border-bottom: 1px solid var(--iti-border-color); +} + +.iti__search-icon { + position: absolute; + left: var(--iti-spacer-horizontal); + display: flex; + pointer-events: none; + + [dir="rtl"] & { + left: auto; + right: var(--iti-spacer-horizontal); + } +} + +.iti__search-icon-svg { + width: var(--iti-globe-icon-size); + height: var(--iti-globe-icon-size); + display: block; + stroke: var(--iti-icon-color); + fill: none; + stroke-width: 3; +} + +.iti__search-clear { + position: absolute; + /* half the spacer value as the other half is in the padding */ + right: calc(var(--iti-spacer-horizontal) / 2); + background: transparent; + border: 0; + border-radius: 3px; /* nice on hover state */ + cursor: pointer; + padding: calc(var(--iti-spacer-horizontal) / 2); + display: flex; + align-items: center; + justify-content: center; + transition: background-color 0.15s ease; + + .iti__search-clear-x { + stroke-width: 2; + } + .iti__search-clear-bg { + fill: var(--iti-icon-color); + } + + [dir="rtl"] & { + right: auto; + left: var(--iti-spacer-horizontal); + } + + &:hover, + &:focus-visible { + background: var(--iti-hover-color); + outline: none; + } +} + +.iti__search-clear-svg { + width: var(--iti-clear-icon-size); + height: var(--iti-clear-icon-size); + display: block; +} + +.iti__no-results { + text-align: center; + padding: 30px 0; +} + .iti__country-list { + /* Override default list styles. */ list-style: none; padding: 0; margin: 0; + cursor: pointer; + overflow-y: scroll; + /* Fixes https://github.com/jackocnr/intl-tel-input/issues/765 + Apple still hasn't fixed the issue where setting overflow: scroll on a div element does not use inertia scrolling + If this is not set, then the country list scroll stops moving after raising a finger, and users report that scroll is slow + Stackoverflow question about it: https://stackoverflow.com/questions/33601165/scrolling-slow-on-mobile-ios-when-using-overflowscroll */ -webkit-overflow-scrolling: touch; + + .iti--inline-country-selector & { + max-height: 185px; + } } -.iti--inline-dropdown .iti__country-list { - max-height: 185px; -} + .iti--flexible-dropdown-width .iti__country-list { + /* Don't let the contents wrap AKA the container will be as wide as the contents. */ white-space: nowrap; -} -@media (max-width: 500px) { - .iti--flexible-dropdown-width .iti__country-list { + + /* Except on small screens, where we force the dropdown width to match the input. */ + @media (max-width: 500px) { white-space: normal; } } + +/* Each country item in the list (we must have separate class to differentiate from dividers). */ .iti__country { + /* Note: decided not to use line-height here for alignment because it causes issues e.g. large font-sizes will overlap, and also looks bad if one country overflows onto 2 lines. */ display: flex; align-items: center; - padding: 8px var(--iti-spacer-horizontal); + padding-left: var(--iti-spacer-horizontal); + padding-right: var(--iti-spacer-horizontal); outline: none; + + &.iti__highlight { + background-color: var(--iti-hover-color); + } } -.iti__dial-code { - color: var(--iti-dialcode-color); + +.iti__country-name { + /* expand to fill available space, so the last flex item, the check mark, is pushed to the right edge */ + flex-grow: 1; } -.iti__country.iti__highlight { - background-color: var(--iti-hover-color); -} -.iti__country-list .iti__flag, .iti__country-name { - margin-right: var(--iti-spacer-horizontal); -} -[dir=rtl] .iti__country-list .iti__flag, [dir=rtl] .iti__country-name { - margin-right: 0; + +/* Check icon shown on the right for the selected country. */ +.iti__country-check { margin-left: var(--iti-spacer-horizontal); + display: flex; + align-items: center; + color: var(--iti-icon-color); } -.iti--allow-dropdown .iti__country-container:not(:has(+ input[disabled])):not(:has(+ input[readonly])):hover, .iti--allow-dropdown .iti__country-container:not(:has(+ input[disabled])):not(:has(+ input[readonly])):hover button { - cursor: pointer; + +.iti__country-check-svg { + width: var(--iti-clear-icon-size); + height: var(--iti-clear-icon-size); + display: block; } -.iti--allow-dropdown .iti__country-container:not(:has(+ input[disabled])):not(:has(+ input[readonly])) .iti__selected-country-primary:hover, -.iti--allow-dropdown .iti__country-container:not(:has(+ input[disabled])):not(:has(+ input[readonly])) .iti__selected-country:has(+ .iti__dropdown-content:hover) .iti__selected-country-primary { - background-color: var(--iti-hover-color); + +/* Spacing between country flag and country name. */ +.iti__country-list .iti__flag { + margin-right: var(--iti-spacer-horizontal); + flex-shrink: 0; /* stop long country names from shrinking the flag */ + + [dir="rtl"] & { + margin-right: 0; + margin-left: var(--iti-spacer-horizontal); + } } -.iti .iti__selected-dial-code { - margin-left: 4px; + +.iti--has-country-selector { + /* If the adjacent input is disabled/readonly, ensure the country button doesn't look clickable. */ + .iti__country-container:has(+ input[disabled]), + .iti__country-container:has(+ input[readonly]) { + button.iti__selected-country { + cursor: not-allowed; + + .iti__arrow { + visibility: hidden; + } + } + } + + /* Show the active background colour on the selected flag/arrow when you hover it, or for as long as the country selector (dropdown) is open. Deliberately not applied when hovering the selected dial code, which would feel weird. + Only apply when the input is NOT disabled/readonly. */ + .iti__country-container:not(:has(+ input[disabled])):not(:has(+ input[readonly])) { + .iti__selected-country-primary:hover, + .iti__selected-country[aria-expanded="true"] .iti__selected-country-primary { + background-color: var(--iti-hover-color); + } + } } -[dir=rtl] .iti .iti__selected-dial-code { - margin-left: 0; - margin-right: 4px; -} -.iti--container { + +/* When the country selector is rendered detached (fullscreen, or dropdown with dropdownParent set), increase z-index to prevent display issues. */ +.iti--detached-country-selector { position: fixed; top: -1000px; left: -1000px; + /* Higher than default Bootstrap modal z-index of 1050. */ z-index: 1060; - padding: var(--iti-border-width); -} -.iti--container:hover { - cursor: pointer; + + &:hover { + cursor: pointer; + } } -.iti--fullscreen-popup.iti--container { - background-color: rgba(0, 0, 0, 0.5); - top: 0; - bottom: 0; - left: 0; - right: 0; - position: fixed; - padding: var(--iti-mobile-popup-margin); - display: flex; - flex-direction: column; - justify-content: flex-start; +/* CSS Anchor Positioning: when supported, the browser keeps the detached country selector + anchored to the input on the compositor (no JS scroll/resize listeners needed) and flips it + above the input automatically via @position-try when there isn't room below. In unsupporting + browsers anchor() is invalid so these declarations are dropped, and ui.ts falls back to + JS-driven positioning (which sets inline top/left, overriding the offscreen defaults above). */ +.iti--detached-country-selector { + top: calc(anchor(bottom) + 3px); + left: anchor(left); + position-try-fallbacks: --iti-flip-above; } -.iti--fullscreen-popup .iti__dropdown-content { - display: flex; - flex-direction: column; - max-height: 100%; - position: relative; + +@position-try --iti-flip-above { + top: auto; + bottom: calc(anchor(top) + 3px); } -.iti--fullscreen-popup .iti__country { - padding: 10px 10px; - line-height: 1.5em; + +/* Put these at the end, so they override other classes with display:flex etc. */ +.iti__hide { + display: none; +} + +/* Need this during init, to get the height of the country list. */ +.iti__v-hide { + visibility: hidden; +} + +/* Overrides for mobile popup. */ +.iti--fullscreen-popup { + &.iti--detached-country-selector { + background-color: rgba(0, 0, 0, 0.5); + top: 0; + bottom: 0; + left: 0; + right: 0; + position: fixed; + padding: var(--iti-mobile-popup-margin); + /* Short country lists should be vertically centred. */ + display: flex; + flex-direction: column; + /* The country search input auto-focuses, so mobile keyboard appears, so stick to top (also because when filter countries down, the height changes and the vertical centring would make it jump around). */ + justify-content: flex-start; + } + + .iti__country-selector { + display: flex; + flex-direction: column; + max-height: 100%; + position: relative; /* Override needed in order to get full-width working properly. */ + } + + /* give the search input the same v-padding as the country items, for visual consistency */ + .iti__country, + .iti__search-input { + padding-top: 10px; + padding-bottom: 10px; + } + + .iti__country { + padding-left: 10px; + padding-right: 10px; + /* Increase line height because country list copy is v likely to overflow on mobile and when it does it needs to be well spaced. */ + line-height: 1.5em; + } } .iti__flag { - --iti-flag-offset: 100px; height: var(--iti-flag-height); width: var(--iti-flag-width); border-radius: 1px; box-shadow: 0px 0px 1px 0px #888; - background-image: var(--iti-path-flags-1x); + background-image: image-set( + var(--iti-path-flags-1x) 1x, + var(--iti-path-flags-2x) 2x + ); background-repeat: no-repeat; - background-position: var(--iti-flag-offset) 0; - background-size: var(--iti-flag-sprite-width) var(--iti-flag-sprite-height); -} - -.iti__ac { - --iti-flag-offset: 0px; -} - -.iti__ad { - --iti-flag-offset: -16px; -} - -.iti__ae { - --iti-flag-offset: -32px; -} - -.iti__af { - --iti-flag-offset: -48px; -} - -.iti__ag { - --iti-flag-offset: -64px; -} - -.iti__ai { - --iti-flag-offset: -80px; -} - -.iti__al { - --iti-flag-offset: -96px; -} - -.iti__am { - --iti-flag-offset: -112px; -} - -.iti__ao { - --iti-flag-offset: -128px; -} - -.iti__ar { - --iti-flag-offset: -144px; -} - -.iti__as { - --iti-flag-offset: -160px; -} - -.iti__at { - --iti-flag-offset: -176px; -} - -.iti__au { - --iti-flag-offset: -192px; -} - -.iti__aw { - --iti-flag-offset: -208px; -} - -.iti__ax { - --iti-flag-offset: -224px; -} - -.iti__az { - --iti-flag-offset: -240px; -} - -.iti__ba { - --iti-flag-offset: -256px; -} - -.iti__bb { - --iti-flag-offset: -272px; -} - -.iti__bd { - --iti-flag-offset: -288px; -} - -.iti__be { - --iti-flag-offset: -304px; -} - -.iti__bf { - --iti-flag-offset: -320px; -} - -.iti__bg { - --iti-flag-offset: -336px; -} - -.iti__bh { - --iti-flag-offset: -352px; -} - -.iti__bi { - --iti-flag-offset: -368px; -} - -.iti__bj { - --iti-flag-offset: -384px; -} - -.iti__bl { - --iti-flag-offset: -400px; -} - -.iti__bm { - --iti-flag-offset: -416px; -} - -.iti__bn { - --iti-flag-offset: -432px; -} - -.iti__bo { - --iti-flag-offset: -448px; -} - -.iti__bq { - --iti-flag-offset: -464px; -} - -.iti__br { - --iti-flag-offset: -480px; -} - -.iti__bs { - --iti-flag-offset: -496px; -} - -.iti__bt { - --iti-flag-offset: -512px; -} - -.iti__bw { - --iti-flag-offset: -528px; -} - -.iti__by { - --iti-flag-offset: -544px; -} - -.iti__bz { - --iti-flag-offset: -560px; -} - -.iti__ca { - --iti-flag-offset: -576px; -} - -.iti__cc { - --iti-flag-offset: -592px; -} - -.iti__cd { - --iti-flag-offset: -608px; -} - -.iti__cf { - --iti-flag-offset: -624px; -} - -.iti__cg { - --iti-flag-offset: -640px; -} - -.iti__ch { - --iti-flag-offset: -656px; -} - -.iti__ci { - --iti-flag-offset: -672px; -} - -.iti__ck { - --iti-flag-offset: -688px; -} - -.iti__cl { - --iti-flag-offset: -704px; -} - -.iti__cm { - --iti-flag-offset: -720px; -} - -.iti__cn { - --iti-flag-offset: -736px; -} - -.iti__co { - --iti-flag-offset: -752px; -} - -.iti__cr { - --iti-flag-offset: -768px; -} - -.iti__cu { - --iti-flag-offset: -784px; -} - -.iti__cv { - --iti-flag-offset: -800px; -} - -.iti__cw { - --iti-flag-offset: -816px; -} - -.iti__cx { - --iti-flag-offset: -832px; -} - -.iti__cy { - --iti-flag-offset: -848px; -} - -.iti__cz { - --iti-flag-offset: -864px; -} - -.iti__de { - --iti-flag-offset: -880px; -} - -.iti__dj { - --iti-flag-offset: -896px; -} - -.iti__dk { - --iti-flag-offset: -912px; -} - -.iti__dm { - --iti-flag-offset: -928px; -} - -.iti__do { - --iti-flag-offset: -944px; -} - -.iti__dz { - --iti-flag-offset: -960px; -} - -.iti__ec { - --iti-flag-offset: -976px; -} - -.iti__ee { - --iti-flag-offset: -992px; -} - -.iti__eg { - --iti-flag-offset: -1008px; -} - -.iti__eh { - --iti-flag-offset: -1024px; -} - -.iti__er { - --iti-flag-offset: -1040px; -} - -.iti__es { - --iti-flag-offset: -1056px; -} - -.iti__et { - --iti-flag-offset: -1072px; -} - -.iti__fi { - --iti-flag-offset: -1088px; -} - -.iti__fj { - --iti-flag-offset: -1104px; -} - -.iti__fk { - --iti-flag-offset: -1120px; -} - -.iti__fm { - --iti-flag-offset: -1136px; -} - -.iti__fo { - --iti-flag-offset: -1152px; -} - -.iti__fr { - --iti-flag-offset: -1168px; -} - -.iti__ga { - --iti-flag-offset: -1184px; -} - -.iti__gb { - --iti-flag-offset: -1200px; -} - -.iti__gd { - --iti-flag-offset: -1216px; -} - -.iti__ge { - --iti-flag-offset: -1232px; -} - -.iti__gf { - --iti-flag-offset: -1248px; -} - -.iti__gg { - --iti-flag-offset: -1264px; -} - -.iti__gh { - --iti-flag-offset: -1280px; -} - -.iti__gi { - --iti-flag-offset: -1296px; -} - -.iti__gl { - --iti-flag-offset: -1312px; -} - -.iti__gm { - --iti-flag-offset: -1328px; -} - -.iti__gn { - --iti-flag-offset: -1344px; -} - -.iti__gp { - --iti-flag-offset: -1360px; -} - -.iti__gq { - --iti-flag-offset: -1376px; -} - -.iti__gr { - --iti-flag-offset: -1392px; -} - -.iti__gt { - --iti-flag-offset: -1408px; -} - -.iti__gu { - --iti-flag-offset: -1424px; -} - -.iti__gw { - --iti-flag-offset: -1440px; -} - -.iti__gy { - --iti-flag-offset: -1456px; -} - -.iti__hk { - --iti-flag-offset: -1472px; -} - -.iti__hn { - --iti-flag-offset: -1488px; -} - -.iti__hr { - --iti-flag-offset: -1504px; -} - -.iti__ht { - --iti-flag-offset: -1520px; -} - -.iti__hu { - --iti-flag-offset: -1536px; -} - -.iti__id { - --iti-flag-offset: -1552px; -} - -.iti__ie { - --iti-flag-offset: -1568px; -} - -.iti__il { - --iti-flag-offset: -1584px; -} - -.iti__im { - --iti-flag-offset: -1600px; -} - -.iti__in { - --iti-flag-offset: -1616px; -} - -.iti__io { - --iti-flag-offset: -1632px; -} - -.iti__iq { - --iti-flag-offset: -1648px; -} - -.iti__ir { - --iti-flag-offset: -1664px; -} - -.iti__is { - --iti-flag-offset: -1680px; -} - -.iti__it { - --iti-flag-offset: -1696px; -} - -.iti__je { - --iti-flag-offset: -1712px; -} - -.iti__jm { - --iti-flag-offset: -1728px; -} - -.iti__jo { - --iti-flag-offset: -1744px; -} - -.iti__jp { - --iti-flag-offset: -1760px; -} - -.iti__ke { - --iti-flag-offset: -1776px; -} - -.iti__kg { - --iti-flag-offset: -1792px; -} - -.iti__kh { - --iti-flag-offset: -1808px; -} - -.iti__ki { - --iti-flag-offset: -1824px; -} - -.iti__km { - --iti-flag-offset: -1840px; -} - -.iti__kn { - --iti-flag-offset: -1856px; -} - -.iti__kp { - --iti-flag-offset: -1872px; -} - -.iti__kr { - --iti-flag-offset: -1888px; -} - -.iti__kw { - --iti-flag-offset: -1904px; -} - -.iti__ky { - --iti-flag-offset: -1920px; -} - -.iti__kz { - --iti-flag-offset: -1936px; -} - -.iti__la { - --iti-flag-offset: -1952px; -} - -.iti__lb { - --iti-flag-offset: -1968px; -} - -.iti__lc { - --iti-flag-offset: -1984px; -} - -.iti__li { - --iti-flag-offset: -2000px; -} - -.iti__lk { - --iti-flag-offset: -2016px; -} - -.iti__lr { - --iti-flag-offset: -2032px; -} - -.iti__ls { - --iti-flag-offset: -2048px; -} - -.iti__lt { - --iti-flag-offset: -2064px; -} - -.iti__lu { - --iti-flag-offset: -2080px; -} - -.iti__lv { - --iti-flag-offset: -2096px; -} - -.iti__ly { - --iti-flag-offset: -2112px; -} - -.iti__ma { - --iti-flag-offset: -2128px; -} - -.iti__mc { - --iti-flag-offset: -2144px; -} - -.iti__md { - --iti-flag-offset: -2160px; -} - -.iti__me { - --iti-flag-offset: -2176px; -} - -.iti__mf { - --iti-flag-offset: -2192px; -} - -.iti__mg { - --iti-flag-offset: -2208px; -} - -.iti__mh { - --iti-flag-offset: -2224px; -} - -.iti__mk { - --iti-flag-offset: -2240px; -} - -.iti__ml { - --iti-flag-offset: -2256px; -} - -.iti__mm { - --iti-flag-offset: -2272px; -} - -.iti__mn { - --iti-flag-offset: -2288px; -} - -.iti__mo { - --iti-flag-offset: -2304px; -} - -.iti__mp { - --iti-flag-offset: -2320px; -} - -.iti__mq { - --iti-flag-offset: -2336px; -} - -.iti__mr { - --iti-flag-offset: -2352px; -} - -.iti__ms { - --iti-flag-offset: -2368px; -} - -.iti__mt { - --iti-flag-offset: -2384px; -} - -.iti__mu { - --iti-flag-offset: -2400px; -} - -.iti__mv { - --iti-flag-offset: -2416px; -} - -.iti__mw { - --iti-flag-offset: -2432px; -} - -.iti__mx { - --iti-flag-offset: -2448px; -} - -.iti__my { - --iti-flag-offset: -2464px; -} - -.iti__mz { - --iti-flag-offset: -2480px; -} - -.iti__na { - --iti-flag-offset: -2496px; -} - -.iti__nc { - --iti-flag-offset: -2512px; -} - -.iti__ne { - --iti-flag-offset: -2528px; -} - -.iti__nf { - --iti-flag-offset: -2544px; -} - -.iti__ng { - --iti-flag-offset: -2560px; -} - -.iti__ni { - --iti-flag-offset: -2576px; -} - -.iti__nl { - --iti-flag-offset: -2592px; -} - -.iti__no { - --iti-flag-offset: -2608px; -} - -.iti__np { - --iti-flag-offset: -2624px; -} - -.iti__nr { - --iti-flag-offset: -2640px; -} - -.iti__nu { - --iti-flag-offset: -2656px; -} - -.iti__nz { - --iti-flag-offset: -2672px; -} - -.iti__om { - --iti-flag-offset: -2688px; -} - -.iti__pa { - --iti-flag-offset: -2704px; -} - -.iti__pe { - --iti-flag-offset: -2720px; -} - -.iti__pf { - --iti-flag-offset: -2736px; -} - -.iti__pg { - --iti-flag-offset: -2752px; -} - -.iti__ph { - --iti-flag-offset: -2768px; -} - -.iti__pk { - --iti-flag-offset: -2784px; -} - -.iti__pl { - --iti-flag-offset: -2800px; -} - -.iti__pm { - --iti-flag-offset: -2816px; -} - -.iti__pr { - --iti-flag-offset: -2832px; -} - -.iti__ps { - --iti-flag-offset: -2848px; -} - -.iti__pt { - --iti-flag-offset: -2864px; -} - -.iti__pw { - --iti-flag-offset: -2880px; -} - -.iti__py { - --iti-flag-offset: -2896px; -} - -.iti__qa { - --iti-flag-offset: -2912px; -} - -.iti__re { - --iti-flag-offset: -2928px; -} - -.iti__ro { - --iti-flag-offset: -2944px; -} - -.iti__rs { - --iti-flag-offset: -2960px; -} - -.iti__ru { - --iti-flag-offset: -2976px; -} - -.iti__rw { - --iti-flag-offset: -2992px; -} - -.iti__sa { - --iti-flag-offset: -3008px; -} - -.iti__sb { - --iti-flag-offset: -3024px; -} - -.iti__sc { - --iti-flag-offset: -3040px; -} - -.iti__sd { - --iti-flag-offset: -3056px; -} - -.iti__se { - --iti-flag-offset: -3072px; -} - -.iti__sg { - --iti-flag-offset: -3088px; -} - -.iti__sh { - --iti-flag-offset: -3104px; -} - -.iti__si { - --iti-flag-offset: -3120px; -} - -.iti__sj { - --iti-flag-offset: -3136px; -} - -.iti__sk { - --iti-flag-offset: -3152px; -} - -.iti__sl { - --iti-flag-offset: -3168px; -} - -.iti__sm { - --iti-flag-offset: -3184px; -} - -.iti__sn { - --iti-flag-offset: -3200px; -} - -.iti__so { - --iti-flag-offset: -3216px; -} - -.iti__sr { - --iti-flag-offset: -3232px; -} - -.iti__ss { - --iti-flag-offset: -3248px; -} - -.iti__st { - --iti-flag-offset: -3264px; -} - -.iti__sv { - --iti-flag-offset: -3280px; -} - -.iti__sx { - --iti-flag-offset: -3296px; -} - -.iti__sy { - --iti-flag-offset: -3312px; -} - -.iti__sz { - --iti-flag-offset: -3328px; -} - -.iti__tc { - --iti-flag-offset: -3344px; -} - -.iti__td { - --iti-flag-offset: -3360px; -} - -.iti__tg { - --iti-flag-offset: -3376px; -} - -.iti__th { - --iti-flag-offset: -3392px; -} - -.iti__tj { - --iti-flag-offset: -3408px; -} - -.iti__tk { - --iti-flag-offset: -3424px; -} - -.iti__tl { - --iti-flag-offset: -3440px; -} - -.iti__tm { - --iti-flag-offset: -3456px; -} - -.iti__tn { - --iti-flag-offset: -3472px; -} - -.iti__to { - --iti-flag-offset: -3488px; -} - -.iti__tr { - --iti-flag-offset: -3504px; -} - -.iti__tt { - --iti-flag-offset: -3520px; -} - -.iti__tv { - --iti-flag-offset: -3536px; -} - -.iti__tw { - --iti-flag-offset: -3552px; -} - -.iti__tz { - --iti-flag-offset: -3568px; -} - -.iti__ua { - --iti-flag-offset: -3584px; -} - -.iti__ug { - --iti-flag-offset: -3600px; -} - -.iti__us { - --iti-flag-offset: -3616px; -} - -.iti__uy { - --iti-flag-offset: -3632px; -} - -.iti__uz { - --iti-flag-offset: -3648px; -} - -.iti__va { - --iti-flag-offset: -3664px; -} - -.iti__vc { - --iti-flag-offset: -3680px; -} - -.iti__ve { - --iti-flag-offset: -3696px; -} - -.iti__vg { - --iti-flag-offset: -3712px; -} - -.iti__vi { - --iti-flag-offset: -3728px; -} - -.iti__vn { - --iti-flag-offset: -3744px; -} - -.iti__vu { - --iti-flag-offset: -3760px; -} - -.iti__wf { - --iti-flag-offset: -3776px; -} - -.iti__ws { - --iti-flag-offset: -3792px; -} - -.iti__xk { - --iti-flag-offset: -3808px; -} - -.iti__ye { - --iti-flag-offset: -3824px; -} - -.iti__yt { - --iti-flag-offset: -3840px; -} - -.iti__za { - --iti-flag-offset: -3856px; -} - -.iti__zm { - --iti-flag-offset: -3872px; -} - -.iti__zw { - --iti-flag-offset: -3888px; -} - -.iti__globe { - background-image: var(--iti-path-globe-1x); - background-size: contain; - background-position: right; + /* Offset and sprite size are expressed as multiples of --iti-flag-width / --iti-flag-height + so consumers can scale the flags by overriding just those two vars. + The 100 fallback hides all flags when no country class is set (useful for the empty state + shown while initialCountryLookup is resolving) — done via var()'s fallback rather than as a rule + default so the country-specific offsets win regardless of source order. */ + background-position: calc(var(--iti-flag-offset, 100) * var(--iti-flag-width)) 0; + background-size: calc(var(--iti-flag-count) * var(--iti-flag-width)) + var(--iti-flag-height); +} + +/* Loading state (used while initialCountryLookup is resolving the initial country). */ +.iti__loading { + position: relative; + background: none; box-shadow: none; - height: 19px; + + &::after { + content: ""; + position: absolute; + inset: 0; + margin: auto; + width: var(--iti-flag-height); + height: var(--iti-flag-height); + box-sizing: border-box; + border: 2px solid var(--iti-icon-color); + border-right-color: transparent; + border-radius: 50%; + animation: iti-spinner 1s linear infinite; + } } -@media (min-resolution: 2x) { - .iti__flag { - background-image: var(--iti-path-flags-2x); +@keyframes iti-spinner { + to { + transform: rotate(360deg); } - .iti__globe { - background-image: var(--iti-path-globe-2x); +} + +/* Subtle visual feedback when strictMode rejects the whole input. Opt-in via the strictRejectAnimation option. + Targets the input and selected-country button (not the wrapper), so an open dropdown (e.g. with dropdownAlwaysOpen) doesn't shake along with them. */ +.iti__strict-reject-animation { + .iti__tel-input, + .iti__selected-country { + animation: iti-strict-reject-shake 0.3s cubic-bezier(0.36, 0.07, 0.19, 0.97); } -} \ No newline at end of file + + /* Users who have opted out of motion get a brief background-color flash on the input instead (the selected-country button is skipped to avoid an odd-looking flash on a small UI element). */ + @media (prefers-reduced-motion: reduce) { + .iti__tel-input { + animation: iti-strict-reject-flash 0.3s ease-out both; + } + .iti__selected-country { + animation: none; + } + } +} + +@keyframes iti-strict-reject-shake { + 10%, + 90% { + transform: translateX(-1px); + } + 20%, + 80% { + transform: translateX(2px); + } + 30%, + 50%, + 70% { + transform: translateX(-3px); + } + 40%, + 60% { + transform: translateX(3px); + } +} + +/* Keyframe omits 0%/100% so the element falls back to its base background-color + (important because `both` fill-mode would otherwise persist the last keyframe). */ +@keyframes iti-strict-reject-flash { + 40% { + background-color: var(--iti-strict-reject-flash-color); + } +} + +/* Empty state. + Inline globe icon (now rendered as SVG inside .iti__flag). Keep class for width/position logic and to clear box-shadow. */ +.iti__globe { + background: none; + box-shadow: none; + height: var(--iti-globe-icon-size); + display: flex; + align-items: center; + justify-content: center; + padding: 0; /* ensure svg centers */ + + .iti__globe-svg { + width: 100%; + height: 100%; + fill: var(--iti-icon-color); + } +} + +/* Browsers normally add a coloured outline when you focus an input. Chrome adds a blue outline WITHIN the input. If you focus the input and then hover the selected country, it's bg color square overlaps the focus outline and looks bad. Here, @supports is used to target Chrome only, and move the default outline out by 1px so there's no overlap. */ +@supports (-webkit-appearance: none) and (not (background: -webkit-canvas(foo))) { + .iti__tel-input:focus { + outline-offset: 1px; + } +} diff --git a/libs/intl-tel-input/css/intlTelInput.min.css b/libs/intl-tel-input/css/intlTelInput.min.css deleted file mode 100644 index 0e96cc5e3..000000000 --- a/libs/intl-tel-input/css/intlTelInput.min.css +++ /dev/null @@ -1 +0,0 @@ -:root{--iti-hover-color:rgba(0, 0, 0, 0.05);--iti-border-color:#ccc;--iti-dialcode-color:#999;--iti-dropdown-bg:white;--iti-spacer-horizontal:8px;--iti-flag-height:12px;--iti-flag-width:16px;--iti-border-width:1px;--iti-arrow-height:4px;--iti-arrow-width:6px;--iti-triangle-border:calc(var(--iti-arrow-width) / 2);--iti-arrow-padding:6px;--iti-arrow-color:#555;--iti-path-flags-1x:url("../img/flags.webp");--iti-path-flags-2x:url("../img/flags@2x.webp");--iti-path-globe-1x:url("../img/globe.webp");--iti-path-globe-2x:url("../img/globe@2x.webp");--iti-flag-sprite-width:3904px;--iti-flag-sprite-height:12px;--iti-mobile-popup-margin:30px}.iti{position:relative;display:inline-block}.iti *{box-sizing:border-box}.iti__hide{display:none}.iti__v-hide{visibility:hidden}.iti__a11y-text{width:1px;height:1px;clip:rect(1px,1px,1px,1px);overflow:hidden;position:absolute}.iti input.iti__tel-input,.iti input.iti__tel-input[type=tel],.iti input.iti__tel-input[type=text]{position:relative;z-index:0;margin:0!important}.iti__country-container{position:absolute;top:0;bottom:0;padding:var(--iti-border-width)}.iti__selected-country{z-index:1;position:relative;display:flex;align-items:center;height:100%;background:0 0;border:0;margin:0;padding:0;font-family:inherit;font-size:inherit;color:inherit;border-radius:0;font-weight:inherit;line-height:inherit;text-decoration:none}.iti__selected-country-primary{display:flex;align-items:center;height:100%;padding:0 var(--iti-arrow-padding) 0 var(--iti-spacer-horizontal)}.iti__arrow{margin-left:var(--iti-arrow-padding);width:0;height:0;border-left:var(--iti-triangle-border) solid transparent;border-right:var(--iti-triangle-border) solid transparent;border-top:var(--iti-arrow-height) solid var(--iti-arrow-color)}[dir=rtl] .iti__arrow{margin-right:var(--iti-arrow-padding);margin-left:0}.iti__arrow--up{border-top:none;border-bottom:var(--iti-arrow-height) solid var(--iti-arrow-color)}.iti__dropdown-content{border-radius:3px;background-color:var(--iti-dropdown-bg)}.iti--inline-dropdown .iti__dropdown-content{position:absolute;z-index:2;margin-top:3px;margin-left:calc(var(--iti-border-width) * -1);border:var(--iti-border-width) solid var(--iti-border-color);box-shadow:1px 1px 4px rgba(0,0,0,.2)}.iti__search-input{width:100%;border-width:0;border-radius:3px}.iti__search-input+.iti__country-list{border-top:1px solid var(--iti-border-color)}.iti__country-list{list-style:none;padding:0;margin:0;overflow-y:scroll;-webkit-overflow-scrolling:touch}.iti--inline-dropdown .iti__country-list{max-height:185px}.iti--flexible-dropdown-width .iti__country-list{white-space:nowrap}@media (max-width:500px){.iti--flexible-dropdown-width .iti__country-list{white-space:normal}}.iti__country{display:flex;align-items:center;padding:8px var(--iti-spacer-horizontal);outline:0}.iti__dial-code{color:var(--iti-dialcode-color)}.iti__country.iti__highlight{background-color:var(--iti-hover-color)}.iti__country-list .iti__flag,.iti__country-name{margin-right:var(--iti-spacer-horizontal)}[dir=rtl] .iti__country-list .iti__flag,[dir=rtl] .iti__country-name{margin-right:0;margin-left:var(--iti-spacer-horizontal)}.iti--allow-dropdown .iti__country-container:not(:has(+ input[disabled])):not(:has(+ input[readonly])):hover,.iti--allow-dropdown .iti__country-container:not(:has(+ input[disabled])):not(:has(+ input[readonly])):hover button{cursor:pointer}.iti--allow-dropdown .iti__country-container:not(:has(+ input[disabled])):not(:has(+ input[readonly])) .iti__selected-country-primary:hover,.iti--allow-dropdown .iti__country-container:not(:has(+ input[disabled])):not(:has(+ input[readonly])) .iti__selected-country:has(+ .iti__dropdown-content:hover) .iti__selected-country-primary{background-color:var(--iti-hover-color)}.iti .iti__selected-dial-code{margin-left:4px}[dir=rtl] .iti .iti__selected-dial-code{margin-left:0;margin-right:4px}.iti--container{position:fixed;top:-1000px;left:-1000px;z-index:1060;padding:var(--iti-border-width)}.iti--container:hover{cursor:pointer}.iti--fullscreen-popup.iti--container{background-color:rgba(0,0,0,.5);top:0;bottom:0;left:0;right:0;position:fixed;padding:var(--iti-mobile-popup-margin);display:flex;flex-direction:column;justify-content:flex-start}.iti--fullscreen-popup .iti__dropdown-content{display:flex;flex-direction:column;max-height:100%;position:relative}.iti--fullscreen-popup .iti__country{padding:10px 10px;line-height:1.5em}.iti__flag{--iti-flag-offset:100px;height:var(--iti-flag-height);width:var(--iti-flag-width);border-radius:1px;box-shadow:0 0 1px 0 #888;background-image:var(--iti-path-flags-1x);background-repeat:no-repeat;background-position:var(--iti-flag-offset) 0;background-size:var(--iti-flag-sprite-width) var(--iti-flag-sprite-height)}.iti__ac{--iti-flag-offset:0px}.iti__ad{--iti-flag-offset:-16px}.iti__ae{--iti-flag-offset:-32px}.iti__af{--iti-flag-offset:-48px}.iti__ag{--iti-flag-offset:-64px}.iti__ai{--iti-flag-offset:-80px}.iti__al{--iti-flag-offset:-96px}.iti__am{--iti-flag-offset:-112px}.iti__ao{--iti-flag-offset:-128px}.iti__ar{--iti-flag-offset:-144px}.iti__as{--iti-flag-offset:-160px}.iti__at{--iti-flag-offset:-176px}.iti__au{--iti-flag-offset:-192px}.iti__aw{--iti-flag-offset:-208px}.iti__ax{--iti-flag-offset:-224px}.iti__az{--iti-flag-offset:-240px}.iti__ba{--iti-flag-offset:-256px}.iti__bb{--iti-flag-offset:-272px}.iti__bd{--iti-flag-offset:-288px}.iti__be{--iti-flag-offset:-304px}.iti__bf{--iti-flag-offset:-320px}.iti__bg{--iti-flag-offset:-336px}.iti__bh{--iti-flag-offset:-352px}.iti__bi{--iti-flag-offset:-368px}.iti__bj{--iti-flag-offset:-384px}.iti__bl{--iti-flag-offset:-400px}.iti__bm{--iti-flag-offset:-416px}.iti__bn{--iti-flag-offset:-432px}.iti__bo{--iti-flag-offset:-448px}.iti__bq{--iti-flag-offset:-464px}.iti__br{--iti-flag-offset:-480px}.iti__bs{--iti-flag-offset:-496px}.iti__bt{--iti-flag-offset:-512px}.iti__bw{--iti-flag-offset:-528px}.iti__by{--iti-flag-offset:-544px}.iti__bz{--iti-flag-offset:-560px}.iti__ca{--iti-flag-offset:-576px}.iti__cc{--iti-flag-offset:-592px}.iti__cd{--iti-flag-offset:-608px}.iti__cf{--iti-flag-offset:-624px}.iti__cg{--iti-flag-offset:-640px}.iti__ch{--iti-flag-offset:-656px}.iti__ci{--iti-flag-offset:-672px}.iti__ck{--iti-flag-offset:-688px}.iti__cl{--iti-flag-offset:-704px}.iti__cm{--iti-flag-offset:-720px}.iti__cn{--iti-flag-offset:-736px}.iti__co{--iti-flag-offset:-752px}.iti__cr{--iti-flag-offset:-768px}.iti__cu{--iti-flag-offset:-784px}.iti__cv{--iti-flag-offset:-800px}.iti__cw{--iti-flag-offset:-816px}.iti__cx{--iti-flag-offset:-832px}.iti__cy{--iti-flag-offset:-848px}.iti__cz{--iti-flag-offset:-864px}.iti__de{--iti-flag-offset:-880px}.iti__dj{--iti-flag-offset:-896px}.iti__dk{--iti-flag-offset:-912px}.iti__dm{--iti-flag-offset:-928px}.iti__do{--iti-flag-offset:-944px}.iti__dz{--iti-flag-offset:-960px}.iti__ec{--iti-flag-offset:-976px}.iti__ee{--iti-flag-offset:-992px}.iti__eg{--iti-flag-offset:-1008px}.iti__eh{--iti-flag-offset:-1024px}.iti__er{--iti-flag-offset:-1040px}.iti__es{--iti-flag-offset:-1056px}.iti__et{--iti-flag-offset:-1072px}.iti__fi{--iti-flag-offset:-1088px}.iti__fj{--iti-flag-offset:-1104px}.iti__fk{--iti-flag-offset:-1120px}.iti__fm{--iti-flag-offset:-1136px}.iti__fo{--iti-flag-offset:-1152px}.iti__fr{--iti-flag-offset:-1168px}.iti__ga{--iti-flag-offset:-1184px}.iti__gb{--iti-flag-offset:-1200px}.iti__gd{--iti-flag-offset:-1216px}.iti__ge{--iti-flag-offset:-1232px}.iti__gf{--iti-flag-offset:-1248px}.iti__gg{--iti-flag-offset:-1264px}.iti__gh{--iti-flag-offset:-1280px}.iti__gi{--iti-flag-offset:-1296px}.iti__gl{--iti-flag-offset:-1312px}.iti__gm{--iti-flag-offset:-1328px}.iti__gn{--iti-flag-offset:-1344px}.iti__gp{--iti-flag-offset:-1360px}.iti__gq{--iti-flag-offset:-1376px}.iti__gr{--iti-flag-offset:-1392px}.iti__gt{--iti-flag-offset:-1408px}.iti__gu{--iti-flag-offset:-1424px}.iti__gw{--iti-flag-offset:-1440px}.iti__gy{--iti-flag-offset:-1456px}.iti__hk{--iti-flag-offset:-1472px}.iti__hn{--iti-flag-offset:-1488px}.iti__hr{--iti-flag-offset:-1504px}.iti__ht{--iti-flag-offset:-1520px}.iti__hu{--iti-flag-offset:-1536px}.iti__id{--iti-flag-offset:-1552px}.iti__ie{--iti-flag-offset:-1568px}.iti__il{--iti-flag-offset:-1584px}.iti__im{--iti-flag-offset:-1600px}.iti__in{--iti-flag-offset:-1616px}.iti__io{--iti-flag-offset:-1632px}.iti__iq{--iti-flag-offset:-1648px}.iti__ir{--iti-flag-offset:-1664px}.iti__is{--iti-flag-offset:-1680px}.iti__it{--iti-flag-offset:-1696px}.iti__je{--iti-flag-offset:-1712px}.iti__jm{--iti-flag-offset:-1728px}.iti__jo{--iti-flag-offset:-1744px}.iti__jp{--iti-flag-offset:-1760px}.iti__ke{--iti-flag-offset:-1776px}.iti__kg{--iti-flag-offset:-1792px}.iti__kh{--iti-flag-offset:-1808px}.iti__ki{--iti-flag-offset:-1824px}.iti__km{--iti-flag-offset:-1840px}.iti__kn{--iti-flag-offset:-1856px}.iti__kp{--iti-flag-offset:-1872px}.iti__kr{--iti-flag-offset:-1888px}.iti__kw{--iti-flag-offset:-1904px}.iti__ky{--iti-flag-offset:-1920px}.iti__kz{--iti-flag-offset:-1936px}.iti__la{--iti-flag-offset:-1952px}.iti__lb{--iti-flag-offset:-1968px}.iti__lc{--iti-flag-offset:-1984px}.iti__li{--iti-flag-offset:-2000px}.iti__lk{--iti-flag-offset:-2016px}.iti__lr{--iti-flag-offset:-2032px}.iti__ls{--iti-flag-offset:-2048px}.iti__lt{--iti-flag-offset:-2064px}.iti__lu{--iti-flag-offset:-2080px}.iti__lv{--iti-flag-offset:-2096px}.iti__ly{--iti-flag-offset:-2112px}.iti__ma{--iti-flag-offset:-2128px}.iti__mc{--iti-flag-offset:-2144px}.iti__md{--iti-flag-offset:-2160px}.iti__me{--iti-flag-offset:-2176px}.iti__mf{--iti-flag-offset:-2192px}.iti__mg{--iti-flag-offset:-2208px}.iti__mh{--iti-flag-offset:-2224px}.iti__mk{--iti-flag-offset:-2240px}.iti__ml{--iti-flag-offset:-2256px}.iti__mm{--iti-flag-offset:-2272px}.iti__mn{--iti-flag-offset:-2288px}.iti__mo{--iti-flag-offset:-2304px}.iti__mp{--iti-flag-offset:-2320px}.iti__mq{--iti-flag-offset:-2336px}.iti__mr{--iti-flag-offset:-2352px}.iti__ms{--iti-flag-offset:-2368px}.iti__mt{--iti-flag-offset:-2384px}.iti__mu{--iti-flag-offset:-2400px}.iti__mv{--iti-flag-offset:-2416px}.iti__mw{--iti-flag-offset:-2432px}.iti__mx{--iti-flag-offset:-2448px}.iti__my{--iti-flag-offset:-2464px}.iti__mz{--iti-flag-offset:-2480px}.iti__na{--iti-flag-offset:-2496px}.iti__nc{--iti-flag-offset:-2512px}.iti__ne{--iti-flag-offset:-2528px}.iti__nf{--iti-flag-offset:-2544px}.iti__ng{--iti-flag-offset:-2560px}.iti__ni{--iti-flag-offset:-2576px}.iti__nl{--iti-flag-offset:-2592px}.iti__no{--iti-flag-offset:-2608px}.iti__np{--iti-flag-offset:-2624px}.iti__nr{--iti-flag-offset:-2640px}.iti__nu{--iti-flag-offset:-2656px}.iti__nz{--iti-flag-offset:-2672px}.iti__om{--iti-flag-offset:-2688px}.iti__pa{--iti-flag-offset:-2704px}.iti__pe{--iti-flag-offset:-2720px}.iti__pf{--iti-flag-offset:-2736px}.iti__pg{--iti-flag-offset:-2752px}.iti__ph{--iti-flag-offset:-2768px}.iti__pk{--iti-flag-offset:-2784px}.iti__pl{--iti-flag-offset:-2800px}.iti__pm{--iti-flag-offset:-2816px}.iti__pr{--iti-flag-offset:-2832px}.iti__ps{--iti-flag-offset:-2848px}.iti__pt{--iti-flag-offset:-2864px}.iti__pw{--iti-flag-offset:-2880px}.iti__py{--iti-flag-offset:-2896px}.iti__qa{--iti-flag-offset:-2912px}.iti__re{--iti-flag-offset:-2928px}.iti__ro{--iti-flag-offset:-2944px}.iti__rs{--iti-flag-offset:-2960px}.iti__ru{--iti-flag-offset:-2976px}.iti__rw{--iti-flag-offset:-2992px}.iti__sa{--iti-flag-offset:-3008px}.iti__sb{--iti-flag-offset:-3024px}.iti__sc{--iti-flag-offset:-3040px}.iti__sd{--iti-flag-offset:-3056px}.iti__se{--iti-flag-offset:-3072px}.iti__sg{--iti-flag-offset:-3088px}.iti__sh{--iti-flag-offset:-3104px}.iti__si{--iti-flag-offset:-3120px}.iti__sj{--iti-flag-offset:-3136px}.iti__sk{--iti-flag-offset:-3152px}.iti__sl{--iti-flag-offset:-3168px}.iti__sm{--iti-flag-offset:-3184px}.iti__sn{--iti-flag-offset:-3200px}.iti__so{--iti-flag-offset:-3216px}.iti__sr{--iti-flag-offset:-3232px}.iti__ss{--iti-flag-offset:-3248px}.iti__st{--iti-flag-offset:-3264px}.iti__sv{--iti-flag-offset:-3280px}.iti__sx{--iti-flag-offset:-3296px}.iti__sy{--iti-flag-offset:-3312px}.iti__sz{--iti-flag-offset:-3328px}.iti__tc{--iti-flag-offset:-3344px}.iti__td{--iti-flag-offset:-3360px}.iti__tg{--iti-flag-offset:-3376px}.iti__th{--iti-flag-offset:-3392px}.iti__tj{--iti-flag-offset:-3408px}.iti__tk{--iti-flag-offset:-3424px}.iti__tl{--iti-flag-offset:-3440px}.iti__tm{--iti-flag-offset:-3456px}.iti__tn{--iti-flag-offset:-3472px}.iti__to{--iti-flag-offset:-3488px}.iti__tr{--iti-flag-offset:-3504px}.iti__tt{--iti-flag-offset:-3520px}.iti__tv{--iti-flag-offset:-3536px}.iti__tw{--iti-flag-offset:-3552px}.iti__tz{--iti-flag-offset:-3568px}.iti__ua{--iti-flag-offset:-3584px}.iti__ug{--iti-flag-offset:-3600px}.iti__us{--iti-flag-offset:-3616px}.iti__uy{--iti-flag-offset:-3632px}.iti__uz{--iti-flag-offset:-3648px}.iti__va{--iti-flag-offset:-3664px}.iti__vc{--iti-flag-offset:-3680px}.iti__ve{--iti-flag-offset:-3696px}.iti__vg{--iti-flag-offset:-3712px}.iti__vi{--iti-flag-offset:-3728px}.iti__vn{--iti-flag-offset:-3744px}.iti__vu{--iti-flag-offset:-3760px}.iti__wf{--iti-flag-offset:-3776px}.iti__ws{--iti-flag-offset:-3792px}.iti__xk{--iti-flag-offset:-3808px}.iti__ye{--iti-flag-offset:-3824px}.iti__yt{--iti-flag-offset:-3840px}.iti__za{--iti-flag-offset:-3856px}.iti__zm{--iti-flag-offset:-3872px}.iti__zw{--iti-flag-offset:-3888px}.iti__globe{background-image:var(--iti-path-globe-1x);background-size:contain;background-position:right;box-shadow:none;height:19px}@media (min-resolution:2x){.iti__flag{background-image:var(--iti-path-flags-2x)}.iti__globe{background-image:var(--iti-path-globe-2x)}} \ No newline at end of file diff --git a/libs/intl-tel-input/css/intlTelInputWithAssets.css b/libs/intl-tel-input/css/intlTelInputWithAssets.css new file mode 100644 index 000000000..e83e1edeb --- /dev/null +++ b/libs/intl-tel-input/css/intlTelInputWithAssets.css @@ -0,0 +1,7 @@ +@import "intlTelInput.css"; + +:root { + /* Image related variables. */ + --iti-path-flags-1x: url('../img/flags.webp'); + --iti-path-flags-2x: url('../img/flags@2x.webp'); +} diff --git a/libs/intl-tel-input/css/styles.d.ts b/libs/intl-tel-input/css/styles.d.ts new file mode 100644 index 000000000..153572561 --- /dev/null +++ b/libs/intl-tel-input/css/styles.d.ts @@ -0,0 +1,2 @@ +declare const styles: string; +export default styles; diff --git a/libs/intl-tel-input/img/flags.png b/libs/intl-tel-input/img/flags.png deleted file mode 100644 index 0c321c202a977d6f13988760ad4c3961d7a01f64..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 40728 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 diff --git a/libs/intl-tel-input/img/flags.webp b/libs/intl-tel-input/img/flags.webp deleted file mode 100644 index b433dbdf43fdc95bdd9acbf6a8fffcaa4a27d31b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 28186 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ℜ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

;99?~&hm0BLJ{$k^hAK3YXe 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 diff --git a/libs/intl-tel-input/img/flags@2x.webp b/libs/intl-tel-input/img/flags@2x.webp deleted file mode 100644 index 87f79a7924a7d1fa7df7650ab955a7ca13ef8121..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 66446 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 E0obne$N&HU diff --git a/libs/intl-tel-input/img/globe@2x.png b/libs/intl-tel-input/img/globe@2x.png deleted file mode 100644 index 45d0db0d7e867111e5b488729dbc5ae6d6196084..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1667 zcmV-}27LL6P)f_p_^rfN||A4P+(=Hd8sH%L2^jBP%;ZmnL%E0x-HxkMf0}%+28Yi-+#_L zGUxyCU%t!xy!ZG0y|%AtNB1^E-H~qz)V3offS|@^=R=eq|ckP2F?kKODJ}7 zwgab|{$2PnuEcdp3c?b!0+;zL$5oY9l4wG$C}^2KM5)?=lZQ}|P>4ETp_)lP0|Pt{ z-=LE6_dygjLUwVLwLVU8zd$K(0f)zMJ*KiX5wrqJD9@K}m#(P_zozF0_!ztL0`R1$ zg`aH$QXS#<$7QQ3`I}9Y_U%}ZxYzRv?z9qCsfE?XIDtQD=LM8h9xH$gi0{ zCuBV;TKS_IJM?XaqfX(-dN-$8H>f*)1UFjHNZTz6iH_lS3^H@%BmBg#OK8MjC^cW8 zC^ii5OF&t9NnT9p8b~)&1xo{B3zx3*F4dLT-7=3BvO#UG;3!IQ2DR8Jhj5;&&dX~s zz%qU>PgM?ZiuO&rV~8Zt3_?oZ*a&P_A~eb>Bf0%T`>vDIVLJAf92BEEp{_e*rg5)K zBO?*W^R4zzdHZ& zm>i%=rx4@^d{4IoHCU$}rlBKbnTo@R4(s*lbXiY|GEVm81)?dSQa->VN`^tvj)~4@ zjLdNSbNkWPb5cgm01S;389{a~8Pb^t3jJXGBhfBndm%f~!}R8<&GK)ebF?S2k*!af=?uPCpXc|Ab}>UyXH#OY z=RawyNlvoi8LUiNm~$*;9EVePGU5=z^2!A(Cd+$?iAx4_435-w4|t>39X*F zBUOJ60$MAa&*`ppo7|?lkkV&n95QrRJDKG#XoR>J2m$AEA_uh8gRpv=$xaEbEYste zfUS*83Yg?WEMpaWB)~O-oseDyW_`NFO^Azij;ij!NnbRCMgTuzsQhgtOB z&@X(a4z-5w(391YSU4f@Z2&yZJTEU8VI)|rN>Q>@@5{v(m7K{?@5YLh!5Reoep$^e396!8Y3CVwBEFcWcNZsu-%C0XbIpXk8bNCru&GGxGRs z=ZdJ=F$uNS;K^1vb0ykGt0Lt(f{ikfN@g^;+x^A%$8MEH>oDQyNyl7vb}dX&Y{{Cj0gwUr*>!`>VKaex!rCCuX6wZ N002ovPDHLkV1n~oAoKtL diff --git a/libs/intl-tel-input/img/globe@2x.webp b/libs/intl-tel-input/img/globe@2x.webp deleted file mode 100644 index 168bfa764ea337fac1ffd130213b7e76403d332c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1380 zcmV-q1)KU(Nk&Fo1pok7MM6+kP&iCa1pojqC%_31N5?3VBq`aPg81X#3?i0Z(7>o| zBuUPkfabsa$t(v(Z6ir?<^(kV<3$@Jv~Kwx1F+|8dWb!nSRj?rHE2 z2nrO}d+s;~%NR&uTgyNY#2i3MMF2=Se9)u_Vg&$*0LF*_0EdJG2Oz;=g&7h?-C>my z7z_qOh9NfzTERMxYLmou{xcEL@u|WXC54bm zn{afeJK)@x1FcJp5`NMRr3ghb;fALF0kH4G=G!GY3=*zTeoeTPp_h57JiVEVUXpedxSXBU=xV>doS_D#kf_;~W z@B4;<&|P^=-Q*uu7T`FHoI*z#CWShKox_6hIuNQoH}od*^0T5mTL1k8=dOfF8GKKa zW%E)x>8elQfUW`XY!TVR=0Vdy26`qjAfm2xeX|c3J?&Dv7Z*(3qs?+)S`g} zYaay~eRW`%(LLKRK?UX`uzC3}p(fA%yYHbV#{yKcqJRv*=BvlX{XKeq=0HOvnp9xK$M9&T$69}Pd*=;a`UP~WycxwTi`f+t}l_ZYazM&ZUty6ecg=< zz0ykSmRzSpSUbOJ>5WD#edKzz($Z?BdBc~{=uUoetk~s zQgW_)l-xr%1AOOs`svq=pXJHsoHfnKcbq&{6kywSrBx-qi+}#5g$~T~^`z?x;i*AY z_*#F80}iVSupqo=~1}h1&}7c2ap4z~Kv15B@7ro*VwcVdIOqX;18Q zwdpg796OH{1=zN8oqh2;Cr91xUse_tJCqKTDNoITSM);z>y!O#5!u(L%d59Xez{tg zo6gw0ZYo6Fd;o8aknzIBuYcHV?vStAyt#6WF9&b@ii;}cirQFwJ0vVi$)FZw`V_7y zOlcDeqs6eL3-r%m7pijeEDkmwmd=Ze_0JqJZ4$fc}~*kDHBho*AbCz z(@J};@Xa%KHjA*|C-BpChx&TwsX!+Z>3Lw~z~+s#FNCK8CF7xfpX~X%M2CTwUIZEL z8u3!vcZDatl<>;TQP?|9x?v(v>Sc(yyA@+w+Vg}fgb<#5s3EKVDvwu$X4Ds08Sd4J zaZpQN0*Cvz`F^I6iIi87?toRV mi3Qje57LGs4;vY#JCm^h$FX?8QH*P^3?B9YmPHg<+$R7O!kYO2 diff --git a/libs/intl-tel-input/img/globe_light.png b/libs/intl-tel-input/img/globe_light.png deleted file mode 100644 index 2c2b2389897cbe74db756d013da1cc665e65315d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 664 zcmV;J0%!e+P)p zO-NKx6vv;HWg3|YWgifgfk*{z+8FK%sYM$h%iIK!o1l+PCRoAX!l0rcB+$T*sT35< z7P@F8^WFb>?>Rcd%+#dgm^6kJ)HsGT7^m~@OyqrV&%NjV-Z}q!?lCfh*SRzH(k&Xr zA{gIkoIE(>dVAMvLvfBI9avz5?PJufC3I$HyAp52uXH>oSCTe-VnpQV4Ej_hU8hMjTUBVo zRXH0?FnKgOT!5c8qlPZiJPj(3x&|AK>JGg`0*!PUNvuxo5fHWX8%gS?CXC2dC(T&Z zPaf(<@+0GhcEt0{Qo{%qp)CtO$5w4yog;!@iZX@_bF+GcIGqaiJ y<&HJ}eYl6?hR!G0nxO?)CFsP8YFg|4xB3f|FO}M+{HJXI0000seH~_l@=JB`6t7uM1 zuB;66>}^c>#NTCZamuf&OeB>Rl^(Swl9#@#T@b5B6rG5xj5MhXLZ_6BvX=i2nCmF3 zh6i!6T))mSE{F_5{|3bfE-_F^(gf9?9=ZAE5G!~NPr`Xh3j@{9Lq^j_d(Lx2M<#=J zTwVm94?syLk%opqzl>B$M!7oDf8sJ3o8Wg3OjfAr@Bz{1jI6L})gTq-uY1VAJz;*Y zf+Lg4twk=S_p@PUFEb4AW*4|g`|l;-K1IVB_tN*4Th&h|yIe;K{SiEyqG$-FIQX&v z{>^fZ^qoXQfE?5m#m=Z9@Rjo9i diff --git a/libs/intl-tel-input/img/globe_light@2x.png b/libs/intl-tel-input/img/globe_light@2x.png deleted file mode 100644 index 898dcf276d20159dbe8da84fabc98f2c0d51c01a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1811 zcmV+u2kiKXP)?$T|CzUMyW8&3ZK0GxI1C2l?6te&H~-u1 zwot_Pvb*p7$M?^C^UcgULtk!r@JkcuDYKM4+D^Tc=iL;i74!m64rcw~PRKd=C1o-U z-^1up3bUjoC2{eEa7QF2NokQrp$xrHS6w*z#8+tn-AnChX;zqC(@puPc)}9Jhr6kV z@-e{jeqK`UF;2x+CE-0QJ~#rG{*Wc+)U; z6CG&;q>o+R7{^&YY>>NVaYi(vakyYzTaXg>tl|puEp00qK)cLZ`+F62DO^%`qvI?p zvy%ZbUyX@8^`?biDsYvd`p7u0p%3{ts;B)3RK#rHFKNCvk>2$sTxlV1i(?=6Adru$ zVg3Bkij>e1z-`cx@MwP4lNdye5FMlzvw?QfQCd%N-W#>j205SmV=d&{ZLksCZ*|N2 z?F(PdIg@2T)}PN;)9OZSg6GlduMu9Su@ZXUo~OqG!qdbpoI zerGF00QNlI&?yk{GsKiGGL{;FO+VV8l=ZXtF(0PKD78aCO>Gp%!{$G9CZx;Ahf7;Y zHVf_KnRdf&`dTBrs7ylk$fXuAq_;+$XC}n0!iuTHo5j}@P{CaYK;0G@=az4-;K^oI zaDMm#Xsf13@<6~MN#4Y?gzqjW;11dj$X-xz?-2Du&-boHcy3lGwJgGTI%(i>$Vo~UCQk~V)y zx2WDfvo3rd6MmKE(tMi7&q8%I6s7%U4$Ujxc-}`buHgk(GnW@p59eT^=aAbhD3@aI zJV1LJ#shFhLe`HO$QUo7j?!B}SRWUk8_uCDWr6g&L$7E~SU798FWQ34Eoo_(tP$5B zg)57~_J`}88X=+j(_zNz8s+-aF*`k>xuVt6OtM8GuYg8b*lQPDg3@(gASwM0bQq*T zkT2dC6yHZwA%O-0K$@#BK47xeJ|+6Dfagco}%(gLI$Xh(Tb0_{O zyyDIBuH|*KCo;u6z|WawriFUJ{9pX3nWBv?4s$dLk;@9*r0G=Jg94P}oK_5TQ9wK$ z1l)Jr$+?8I*e0Krgtq!!$ePtq?=?Z;Fr9I0pZQkVE%uYyY9qs@W;E|0{pbr?g=riY z8D}n{THftVOjAnVUB)XSi`kegIUd{Adr+E|{}Uxz|LF87Q4 zQq;}oE!#h(HK4uV?=fpysY%t3MbozOvD4oby5acn)L2!}-Z|-@xLVu4@kGl4Hvq2B zbfc#%3G5xzM)|I!RZ{`-m%3_{c|qU(Cupk;SFEX!a{P{mFK^I2)RjQ?Q%|e#+G1}% z7V^c`Vj61BbTx}cI;v%@Wl*K6PGLOXsJ3;*QAN!=g}ujL60*U0FQbm5r3U#Oz7m{|hn z)AYT$6HcD|4{<3x-WcAP5nq*=gZn*gV&>>^W)e-1P;p)G^gkg1`ULIENCdELHtnS> z00=tcNx+VexUv}@O>dzD?BdzMe+C_2KJ34t{sk^%=+I4LG3EdO002ovPDHLkV1l06 BcB%jX diff --git a/libs/intl-tel-input/img/globe_light@2x.webp b/libs/intl-tel-input/img/globe_light@2x.webp deleted file mode 100644 index c87b1a3f4e44b39c644e527dcdf92ad8aab997fb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1514 zcmVINk&HE1pok7MM6+kP&iE01pojqC%_316Di)ph=hTgd!ufQTrNv3VRckX$%ZQHhO+qP}n{I+e|wr%@g-<|*lJCg)ts3N!4F6*@z z;@Ah>)HXGk15oDKhMS=;AQn*gp)z#dus`<0o+v}`CG3HHaR7FQ9=?381mr`?LD6~^ z?hT(hTC;*847J#3qBlDY`(ZVZ3?X4hA#L3c9Z@Hnes84irGBOMOn>&mN@I(u|G|N< z8wGumK_y5>FAqQ}YG-eV)pqIgRB`L<6-9aHt`93K*aySI_4|q;B!fsOnCM?sR533+ z)!M3VDPU`F0xa=vvN7By%ZqTh(J>H~3B-*lB3Ia3v`Q}ah@N^zI21PHX?;J5&P%o-5gVHC#ja=wx z%}wj!EBDNl25>9iNMF5o2SBFvpx(8UY)b$=%q(c8p)~>aP-jb;mZu5Z^KJb|b;TXE zC8{nOX)rh)6u7Br^oBA>;D`L+9{mgLC=?{Evfa6-s^5C>6}`JiN4{WRYK@VW7Rsui zzJpQk==n?%dK`bBW5svQQ(UXPBaPHXaSCqB&k3@2UCLveUecUN9>VuLmkxZqdL9Y%2Qw&~8Wth| z7jjdOb`?!d|Bq6%3C)vaNpupA-9+!fB{{d1pemm6C`t}5YFJOsNv>9>FWpR@bJ;zk z^s6;5p@03dQGma#OuKG7ve%0Pu{XM13uZe$TxqAI_vl=Sve+xmLYwtw`AqS3>w4=> z*E_d~v-XyF^dV83RXbO7t!*04hHKy6L!6>l(2U#t#=hOZapHF0(X6U#?p(JX`*^aU zdH8GRA1b?I%^SXAd9QxQ18e#|pzq`7edUU+);?+Ms$JHJy&b)P$g6HA9!}$(8I+M&#=W{oaB*{t9Jdv8ZC=33S%`H(w zx71k%&8GKLRekv>(rH-?IpjR|CdOa^!9>-iaS~`vs~&FUTh+{u`cVr9GVA7~0f3yl z4#c;?g`Bb}YgXXwC=@qRFJ^cFOI|utTxZ-#ez<^4PUmwsktF$ce7L6Cl`hsE9g1tj z{`JV}oOSvd7<+1O{14RI(x0=+TJ&B2M*1%QdtiSL!RfE?`wzpX&?c7x?;QM+I-p_1lXweQEL zn#N3Fusq&>>aEGigJ1_B>W2ht98bN^s`b6mu2s-IkG_}IU*D~XnmwUiuz+B| z9xohEn|`XD-RGx%9V!=!&33Qd9GR?d+8b^FdJG&bK|>d2S={vA`>8;GB!^pj1TGSD zx^n>ZsOYr~SM(r*jh1jlYh@bu@mU~et_W9#EqhuljmRSgALS_QqVD9cz4zJ5>rP-@ zsQce=p*_eMdcuUAyfBzHb~gRQ14Q3`C<2m*V>5wb!FMlQ89eb?9*lrIk2sclODIUH Q_fdOq*+db&Uc?Xq0G0UmS^xk5 diff --git a/libs/intl-tel-input/js/constants.ts b/libs/intl-tel-input/js/constants.ts new file mode 100644 index 000000000..21b47a970 --- /dev/null +++ b/libs/intl-tel-input/js/constants.ts @@ -0,0 +1,213 @@ +// Shared constants extracted from intl-tel-input logic to avoid magic strings/numbers + +import type { Iso2 } from "./data.js"; + +export const EVENTS = { + OPEN_COUNTRY_SELECTOR: "open:countryselector", + CLOSE_COUNTRY_SELECTOR: "close:countryselector", + COUNTRY_CHANGE: "countrychange", + INPUT: "input", // used for synthetic input trigger + STRICT_REJECT: "strict:reject", +} as const; + +//* The named "slots" (i.e. the elements we generate) that consumers can add their own classes +//* to, via the classNames option. Deliberately decoupled from our internal iti__* class names, +//* so the markup remains an implementation detail. Used to validate the option at runtime, and +//* to derive the ItiClassNames type. Keep in sync with the ItiClassNames interface. +export const ITI_SLOTS = [ + "container", + "input", + "countryContainer", + "selectedCountry", + "selectedCountryPrimary", + "selectedFlag", + "arrow", + "selectedDialCode", + "countrySelector", + "countrySelectorContainer", + "searchWrapper", + "searchIcon", + "searchInput", + "searchClear", + "countryList", + "countryListItem", + "countryListItemFlag", + "countryName", + "dialCode", + "countryCheck", + "noResults", +] as const; + +export const CLASSES = { + HIDE: "iti__hide", + V_HIDE: "iti__v-hide", + ARROW_UP: "iti__arrow--up", + GLOBE: "iti__globe", + FLAG: "iti__flag", + LOADING: "iti__loading", + COUNTRY_ITEM: "iti__country", + HIGHLIGHT: "iti__highlight", + STRICT_REJECT_ANIMATION: "iti__strict-reject-animation", +} as const; + +export const KEYS = { + ARROW_UP: "ArrowUp", + ARROW_DOWN: "ArrowDown", + SPACE: " ", + ENTER: "Enter", + ESC: "Escape", + TAB: "Tab", +} as const; + +export const INPUT_TYPES = { + PASTE: "insertFromPaste", + DELETE_FORWARD: "deleteContentForward", +} as const; + +export const REGEX = { + ALPHA_UNICODE: /\p{L}/u, // any kind of letter from any language + NON_PLUS_NUMERIC: /[^+0-9]/, // chars that are NOT + or digit + NON_PLUS_NUMERIC_GLOBAL: /[^+0-9]/g, // chars that are NOT + or digit (global) + HIDDEN_SEARCH_CHAR: /^[a-zA-ZÀ-ÿа-яА-Я ]$/, // single acceptable hidden-search char +} as const; + +export const TIMINGS = { + SEARCH_DEBOUNCE_MS: 100, + HIDDEN_SEARCH_RESET_MS: 1000, + NEXT_TICK: 0, +} as const; + +// Layout / sizing fallbacks (used when measuring elements fails e.g., hidden containers) +// TODO: find a way to pull these out of the CSS, so there's a single source of truth. +export const LAYOUT = { + NARROW_VIEWPORT_WIDTH: 500, // keep in sync with .iti__country-list CSS media query + FALLBACK_SELECTED_COUNTRY_WITH_DIAL_WIDTH: 78, // px width fallback when separateDialCode enabled + FALLBACK_SELECTED_COUNTRY_NO_DIAL_WIDTH: 42, // px width fallback when no separate dial code + INPUT_PADDING_EXTRA_LEFT: 6, // px gap between selected country container and input text + DROPDOWN_MARGIN: 3, // px margin between dropdown and tel input + FALLBACK_DROPDOWN_HEIGHT: 200, // px height fallback for dropdown +} as const; + +// Helpful grouping for dial code logic (kept lean; expand only if reused widely) +export const DIAL_CODE = { + PLUS: "+", + NANP: "1", // North American Numbering Plan +} as const; + +// E.164 caps a full international number (dial code + national number) at 15 +// digits. Used as a fallback max length in strictMode when there is no selected +// country, and so no country-specific max to enforce. +export const E164_MAX_DIGITS = 15; + +// Country-specific telephone rules +export const UK = { + ISO2: "gb" as Iso2, + DIAL_CODE: "44", // +44 United Kingdom + MOBILE_PREFIX: "7", // UK mobile numbers start with 7 after national trunk (0) or core section + MOBILE_CORE_LENGTH: 10, // core number length (excluding dial code / national prefix) for mobiles +} as const; + +export const US = { + ISO2: "us" as Iso2, + DIAL_CODE: "1", // +1 United States +}; + +// Public-facing enum constant for placeholderNumberPolicy. Singular to match +// NUMBER_FORMAT / NUMBER_TYPE / VALIDATION_ERROR. Hand-defined (rather than +// derived via toEnumObject) because there's no parallel array to be the source +// of truth. +export const PLACEHOLDER_POLICY = { + AGGRESSIVE: "AGGRESSIVE", + POLITE: "POLITE", + OFF: "OFF", +} as const; + +// Valid values for the countrySelectorMode option. The COUNTRY_SELECTOR_MODE +// enum object is derived from this array (below, alongside NUMBER_FORMAT etc). +export const COUNTRY_SELECTOR_MODES = [ + "OFF", + "DROPDOWN", + "FULLSCREEN", + "AUTO", +] as const; + +// libphonenumber enums - sole source of truth for both the core library (option +// validation, public types) and utils.js (which builds its int maps from +// these arrays at build time via scripts/build-utils.js). +// +// Order matters - the array index is the integer value libphonenumber uses, +// EXCEPT for NUMBER_TYPES.UNKNOWN which libphonenumber maps to -1 (handled +// explicitly in utils.js). +// +// Mirrors: +// - i18n.phonenumbers.PhoneNumberFormat +// - i18n.phonenumbers.PhoneNumberType +// - i18n.phonenumbers.PhoneNumberUtil.ValidationResult +// in third_party/libphonenumber/javascript/i18n/phonenumbers/phonenumberutil.js +export const NUMBER_FORMATS = [ + "E164", + "INTERNATIONAL", + "NATIONAL", + "RFC3966", +] as const; + +export const NUMBER_TYPES = [ + "FIXED_LINE", + "MOBILE", + "FIXED_LINE_OR_MOBILE", + "TOLL_FREE", + "PREMIUM_RATE", + "SHARED_COST", + "VOIP", + "PERSONAL_NUMBER", + "PAGER", + "UAN", + "VOICEMAIL", + "UNKNOWN", +] as const; + +export const VALIDATION_ERRORS = [ + "IS_POSSIBLE", + "INVALID_COUNTRY_CODE", + "TOO_SHORT", + "TOO_LONG", + "IS_POSSIBLE_LOCAL_ONLY", + "INVALID_LENGTH", +] as const; + +// Convenience constants so consumers can write NUMBER_TYPE.MOBILE instead of +// the bare string "MOBILE" - typo-safe and matches the PLACEHOLDER_POLICY style. +// Derived from the arrays above so there's no second list to keep in sync. +const toEnumObject = ( + arr: T, +): Readonly<{ [K in T[number]]: K }> => + Object.fromEntries(arr.map((v) => [v, v])) as Readonly<{ + [K in T[number]]: K; + }>; + +export const NUMBER_FORMAT = toEnumObject(NUMBER_FORMATS); +export const NUMBER_TYPE = toEnumObject(NUMBER_TYPES); +export const VALIDATION_ERROR = toEnumObject(VALIDATION_ERRORS); +export const COUNTRY_SELECTOR_MODE = toEnumObject(COUNTRY_SELECTOR_MODES); + +// Data-* keys used on DOM nodes +export const DATA_KEYS = { + // e.g.

  • for country items in the country list + ISO2: "iso2", + DIAL_CODE: "dialCode", + // e.g. on the input element + INSTANCE_ID: "intlTelInputId", +} as const; + +// ARIA attribute names (avoid typos & for potential future refactors) +export const ARIA = { + EXPANDED: "aria-expanded", + LABEL: "aria-label", + SELECTED: "aria-selected", + ACTIVE_DESCENDANT: "aria-activedescendant", + HASPOPUP: "aria-haspopup", + CONTROLS: "aria-controls", + HIDDEN: "aria-hidden", + AUTOCOMPLETE: "aria-autocomplete", + MODAL: "aria-modal", +} as const; diff --git a/libs/intl-tel-input/js/core/countrySearch.ts b/libs/intl-tel-input/js/core/countrySearch.ts new file mode 100644 index 000000000..9fe140428 --- /dev/null +++ b/libs/intl-tel-input/js/core/countrySearch.ts @@ -0,0 +1,148 @@ +// * Country search & ranking logic extracted from intlTelInput.ts +// * Maintains original comments/order. Pure functions for reuse & testability. + +import type { Country, Iso2 } from "../data.js"; +import { normaliseString } from "../helpers/string.js"; + +export interface SearchTokens { + normalisedName: string; + words: string[]; + initials: string; + dialCodePlus: string; +} + +export type SearchTokensMap = Map; + +//* Strip all non-letter chars (any script via \p{L}) so separators like "-", ".", "'", "&" all collapse to a single space. +//* Lets queries like "St Pierre" match "St. Pierre & Miquelon", "Sant Elena" match "Sant'Elena", etc., regardless of locale. +const normaliseName = (s: string): string => + normaliseString(s).replace(/[^\p{L}]+/gu, " ").trim(); + +//* Precompute country search tokens (normalised name, initials, +dialCode) to speed up filtering. +export const buildSearchTokens = (countries: Country[]): SearchTokensMap => { + const tokens: SearchTokensMap = new Map(); + for (const c of countries) { + const normalisedName = normaliseName(c.name); + const words = normalisedName.split(" ").filter(Boolean); + const initials = words.map((w) => w[0] || "").join(""); + tokens.set(c.iso2, { + normalisedName, + words, + initials, + dialCodePlus: `+${c.dialCode}`, + }); + } + return tokens; +}; + +/** + * Country search: Given raw query, return ordered list of countries by priority buckets. + * Buckets (in order): + * 1. exact iso2 matches + * 2. name starts with + * 3. name contains + * 4. dial code exact match (bare or with plus) + * 5. dial code contains (with plus form) + * 6. initials match + * 7. word fallback: any query word is a prefix of some word in the name (only when query has 2+ words AND no name bucket hit) + * Each bucket preserves country.priority ordering. + */ +export const getMatchedCountries = ( + countries: Country[], + searchTokens: SearchTokensMap, + query: string, +): Country[] => { + //* lowerQuery preserves digits/+ for iso2/dial-code/initials checks; nameQuery strips non-letters for name matching. + const lowerQuery = normaliseString(query); + const nameQuery = normaliseName(query); + //* Skip name buckets if the user typed only non-letters (e.g. "+44") — otherwise empty nameQuery would match everything. + const skipNameBuckets = lowerQuery !== "" && nameQuery === ""; + + // search result groups, in order of priority + // first, exact iso2 matches, then name starts with, then name contains, dial code match etc. + const iso2Matches: Country[] = []; + const nameStartsWith: Country[] = []; + const nameContains: Country[] = []; + const dialCodeMatches: Country[] = []; + const dialCodeContains: Country[] = []; + const initialsMatches: Country[] = []; + const wordMatches: Country[] = []; + + for (const c of countries) { + const t = searchTokens.get(c.iso2)!; + if (c.iso2 === lowerQuery) { + iso2Matches.push(c); + } else if (!skipNameBuckets && t.normalisedName.startsWith(nameQuery)) { + nameStartsWith.push(c); + } else if (!skipNameBuckets && t.normalisedName.includes(nameQuery)) { + nameContains.push(c); + } else if ( + lowerQuery === c.dialCode || + lowerQuery === t.dialCodePlus + ) { + dialCodeMatches.push(c); + } else if (t.dialCodePlus.includes(lowerQuery)) { + dialCodeContains.push(c); + } else if (t.initials.includes(lowerQuery)) { + initialsMatches.push(c); + } + } + + //* Per-word fallback for multi-word queries that hit no name bucket. A country qualifies when at least one + //* query word is the *prefix of* some word in its name (not a mid-word substring) — so "Saint Hel" finds + //* "St. Helena" via "helena", but does not surface "Seychelles" / "St. Barthélemy" where "hel" sits mid-word. + const queryWords = nameQuery.split(" ").filter(Boolean); + if ( + queryWords.length > 1 && + iso2Matches.length === 0 && + nameStartsWith.length === 0 && + nameContains.length === 0 + ) { + const claimed = new Set([ + ...dialCodeMatches.map((c) => c.iso2), + ...dialCodeContains.map((c) => c.iso2), + ...initialsMatches.map((c) => c.iso2), + ]); + for (const c of countries) { + if (claimed.has(c.iso2)) { + continue; + } + const t = searchTokens.get(c.iso2)!; + if (queryWords.some((qw) => t.words.some((sw) => sw.startsWith(qw)))) { + wordMatches.push(c); + } + } + } + + // Combine result groups in correct order (and respect country priority order within each group e.g. if search +44, then UK appears first above Guernsey etc) + const sortByPriority = (a: Country, b: Country) => a.priority - b.priority; + + return [ + ...iso2Matches, + ...nameStartsWith, + ...nameContains, + // priority sort is only relevant when showing multiple countries with the same dial code (that's what the priority field is used to distinguish between) + ...dialCodeMatches.sort(sortByPriority), + ...dialCodeContains.sort(sortByPriority), + ...initialsMatches, + ...wordMatches, + ]; +}; + +/** + * Hidden search (when countrySearch disabled): find first country whose name starts with query (case-insensitive). + */ +export const findFirstCountryStartingWith = ( + countries: Country[], + searchTokens: SearchTokensMap, + query: string, +): Country | null => { + const nameQuery = normaliseName(query); + for (const c of countries) { + const { normalisedName } = searchTokens.get(c.iso2)!; + if (normalisedName.startsWith(nameQuery)) { + return c; + } + } + return null; +}; diff --git a/libs/intl-tel-input/js/core/icons.ts b/libs/intl-tel-input/js/core/icons.ts new file mode 100644 index 000000000..295213fc0 --- /dev/null +++ b/libs/intl-tel-input/js/core/icons.ts @@ -0,0 +1,64 @@ +import { ARIA } from "../constants.js"; + +type SvgNode = [ + tag: string, + attrs?: Record, + children?: SvgNode[], +]; + +const SVG_NS = "http://www.w3.org/2000/svg"; + +const buildSvg = ([tag, attrs, children]: SvgNode): SVGElement => { + const el = document.createElementNS(SVG_NS, tag); + if (attrs) { + for (const k in attrs) { + el.setAttribute(k, String(attrs[k])); + } + } + if (children) { + for (const c of children) { + el.appendChild(buildSvg(c)); + } + } + return el; +}; + +/** Magnifying glass search icon */ +export const buildSearchIcon = (): SVGElement => buildSvg( + ["svg", { class: "iti__search-icon-svg", width: 14, height: 14, viewBox: "0 0 24 24", focusable: "false", [ARIA.HIDDEN]: "true" }, [ + ["circle", { cx: 11, cy: 11, r: 7 }], + ["line", { x1: 21, y1: 21, x2: 16.65, y2: 16.65 }], + ]], +); + +/** + * Clear (circle with X) icon + * @param id Instance id used to create a unique mask id. + */ +export const buildClearIcon = (id: number): SVGElement => { + const maskId = `iti-${id}-clear-mask`; + return buildSvg( + ["svg", { class: "iti__search-clear-svg", width: 12, height: 12, viewBox: "0 0 16 16", [ARIA.HIDDEN]: "true", focusable: "false" }, [ + ["mask", { id: maskId, maskUnits: "userSpaceOnUse" }, [ + ["rect", { width: 16, height: 16, fill: "white" }], + ["path", { d: "M5.2 5.2 L10.8 10.8 M10.8 5.2 L5.2 10.8", stroke: "black", "stroke-linecap": "round", class: "iti__search-clear-x" }], + ]], + ["circle", { cx: 8, cy: 8, r: 8, class: "iti__search-clear-bg", mask: `url(#${maskId})` }], + ]], + ); +}; + +/** Check icon shown next to the selected country in the country list. */ +export const buildCheckIcon = (): SVGElement => buildSvg( + ["svg", { class: "iti__country-check-svg", width: 14, height: 14, viewBox: "0 0 16 16", fill: "currentColor", focusable: "false", [ARIA.HIDDEN]: "true" }, [ + ["path", { d: "M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0m-3.97-3.03a.75.75 0 0 0-1.08.022L7.477 9.417 5.384 7.323a.75.75 0 0 0-1.06 1.06L6.97 11.03a.75.75 0 0 0 1.079-.02l3.992-4.99a.75.75 0 0 0-.01-1.05z" }], + ]], +); + +/** Globe icon used when no country is selected */ +export const buildGlobeIcon = (): SVGElement => buildSvg( + ["svg", { width: 256, height: 256, viewBox: "0 0 512 512", class: "iti__globe-svg" }, [ + ["path", { d: "M508 213a240 240 0 0 0-449-87l-2 5-2 5c-8 14-13 30-17 46a65 65 0 0 1 56 4c16-10 35-19 56-27l9-3c-6 23-10 48-10 74h-16l4 6c3 4 5 8 6 13h6c0 22 3 44 8 65l2 10-25-10-4 5 12 18 9 3 6 2 8 3 9 26 1 2 16-7h1l-5-13-1-2c24 6 49 9 75 10v26l11 10 7 7v-30l1-13c22 0 44-3 65-8l10-2-21 48-1 1a317 317 0 0 1-14 23l-21 5h-2c6 16 7 33 1 50a240 240 0 0 0 211-265m-401-56-11 6c19-44 54-79 98-98-11 20-21 44-29 69-21 6-40 15-58 23m154 182v4c-29-1-57-6-81-13-7-25-12-52-13-81h94zm0-109h-94c1-29 6-56 13-81 24-7 52-12 81-13zm0-112c-22 1-44 4-65 8l-10 2 12-30 9-17 1-2a332 332 0 0 1 13-23c13-4 26-6 40-7zm187 69 6 4c4 12 6 25 6 38v1h-68c-1-26-4-51-10-74l48 20 1 1 14 8zm-14-44 10 20c-20-11-43-21-68-29-8-25-18-49-29-69 37 16 67 44 87 78M279 49h1c13 1 27 3 39 7l14 23 1 2a343 343 0 0 1 12 26l2 5 6 16c-23-6-48-9-74-10h-1zm0 87h1c29 1 56 6 81 13 7 24 12 51 12 80v1h-94zm2 207h-2v-94h95c-1 29-6 56-13 81-24 7-51 12-80 13m86 60-20 10c11-20 21-43 29-68 25-8 48-18 68-29-16 37-43 67-77 87m87-115-7 5-16 9-2 1a337 337 0 0 1-47 21c6-24 9-49 10-75h68c0 13-2 27-6 39" }], + ["path", { d: "m261 428-2-2-22-21a40 40 0 0 0-32-11h-1a37 37 0 0 0-18 8l-1 1-4 2-2 2-5 4c-9-3-36-31-47-44s-32-45-34-55l3-2a151 151 0 0 0 11-9v-1a39 39 0 0 0 5-48l-3-3-11-19-3-4-5-7h-1l-3-3-4-3-5-2a35 35 0 0 0-16-3h-5c-4 1-14 5-24 11l-4 2-4 3-4 2c-9 8-17 17-18 27a380 380 0 0 0 212 259h3c12 0 25-10 36-21l10-12 6-11a39 39 0 0 0-8-40" }], + ]], +); diff --git a/libs/intl-tel-input/js/core/numerals.ts b/libs/intl-tel-input/js/core/numerals.ts new file mode 100644 index 000000000..74b5c1ff6 --- /dev/null +++ b/libs/intl-tel-input/js/core/numerals.ts @@ -0,0 +1,64 @@ +export class Numerals { + #userNumeralSet: "ascii" | "arabic-indic" | "persian" | undefined; + + //* Stateless conversion of any Arabic-Indic / Persian digits to ASCII 0-9. + //* Use this when you need to normalise digits without affecting any instance's tracked numeral set (e.g. for the country-search query). + public static toAscii(str: string): string { + if (!str) { + return ""; + } + // Note: yes it runs two replaces, but a replace call is really a test + manipulate, so for standard ascii input, it just runs 2x tests. Not worth splitting up and adding test guards. + return str + .replace(/[٠-٩]/g, (ch) => + String.fromCharCode(0x30 + (ch.charCodeAt(0) - 0x0660)), + ) + .replace(/[۰-۹]/g, (ch) => + String.fromCharCode(0x30 + (ch.charCodeAt(0) - 0x06f0)), + ); + } + + constructor(initialValue: string) { + if (initialValue) { + this.#updateNumeralSet(initialValue); + } + } + + // If any Arabic-Indic digits, then label it as that set. Same for Persian. Otherwise assume ASCII. + #updateNumeralSet(str: string): void { + if (/[٠-٩]/.test(str)) { + this.#userNumeralSet = "arabic-indic"; + } else if (/[۰-۹]/.test(str)) { + this.#userNumeralSet = "persian"; + } else { + this.#userNumeralSet = "ascii"; + } + } + + // Denormalise ASCII 0-9 to the user's numeral set. If not yet known, return as-is. + // NOTE: normalise is always called before this, so it should be impossible for the numeral set to be unknown at this point. + public denormalise(str: string): string { + if (!this.#userNumeralSet || this.#userNumeralSet === "ascii") { + return str; + } + const base = this.#userNumeralSet === "arabic-indic" ? 0x0660 : 0x06f0; + return str.replace(/[0-9]/g, (d) => String.fromCharCode(base + Number(d))); + } + + // Normalize Eastern Arabic (U+0660-0669) and Persian/Extended Arabic-Indic (U+06F0-06F9) numerals to ASCII 0-9. + // Tracks the user's numeral set as a side effect so denormalise can mirror it back. + public normalise(str: string): string { + if (!str) { + return ""; + } + this.#updateNumeralSet(str); + //* Fast-path ASCII (the common case) so we skip both replaces on every keystroke. + if (this.#userNumeralSet === "ascii") { + return str; + } + return Numerals.toAscii(str); + } + + public isAscii(): boolean { + return !this.#userNumeralSet || this.#userNumeralSet === "ascii"; + } +} diff --git a/libs/intl-tel-input/js/core/options.ts b/libs/intl-tel-input/js/core/options.ts new file mode 100644 index 000000000..77e542fa7 --- /dev/null +++ b/libs/intl-tel-input/js/core/options.ts @@ -0,0 +1,466 @@ +import { + PLACEHOLDER_POLICY, + NUMBER_FORMAT, + NUMBER_TYPE, + NUMBER_TYPES, + COUNTRY_SELECTOR_MODE, + COUNTRY_SELECTOR_MODES, + ITI_SLOTS, + LAYOUT, +} from "../constants.js"; +import defaultEnglishStrings from "../locale/en.js"; +import { isIso2, type Iso2 } from "../data.js"; +import type { AllOptions, SomeOptions } from "../types/public-api.js"; + +// Helper for media query evaluation +const mediaQuery = (q: string): boolean => + typeof window !== "undefined" && + typeof window.matchMedia === "function" && + window.matchMedia(q).matches; + +const isNarrowViewport = () => + mediaQuery(`(max-width: ${LAYOUT.NARROW_VIEWPORT_WIDTH}px)`); + +//* Heuristic for resolving countrySelectorMode "AUTO" to "FULLSCREEN" or "DROPDOWN". +const resolveAutoCountrySelectorMode = (): + | typeof COUNTRY_SELECTOR_MODE.FULLSCREEN + | typeof COUNTRY_SELECTOR_MODE.DROPDOWN => { + if (typeof navigator !== "undefined" && typeof window !== "undefined") { + const isShortViewport = mediaQuery("(max-height: 600px)"); + const isCoarsePointer = mediaQuery("(pointer: coarse)"); + /* Heuristic rationale: If narrow width OR (coarse pointer with constrained height) we prefer fullscreen for usability. Coarse pointer usually implies touch (phones/tablets, some hybrids) where larger touch targets help (and virtual keyboards may be used, which consume more vertical space). */ + if (isNarrowViewport() || (isCoarsePointer && isShortViewport)) { + return COUNTRY_SELECTOR_MODE.FULLSCREEN; + } + } + return COUNTRY_SELECTOR_MODE.DROPDOWN; +}; + +export const defaults: AllOptions = { + //* How the country selector is displayed. "DROPDOWN" vs "FULLSCREEN", or "AUTO" to decide itself, or "OFF". + countrySelectorMode: COUNTRY_SELECTOR_MODE.AUTO, + //* The number type to enforce during validation. + allowedNumberTypes: [NUMBER_TYPE.MOBILE, NUMBER_TYPE.FIXED_LINE], + //* Whether or not to allow extensions after the main number. + allowNumberExtensions: false, + // Allow alphanumeric "phonewords" (e.g. +1 800 FLOWERS) as valid numbers + allowPhonewords: false, + //* Add custom classes to the elements we generate, keyed by slot name e.g. { selectedCountry: "rounded-l-lg" }. + classNames: {}, + //* Add a custom class to the (injected) container element. + containerClass: "", + //* Locale for localising country names via Intl.DisplayNames. + countryNameLocale: "en", + //* Override individual country names by iso2 code. + countryNameOverrides: {}, + //* The order of the countries in the country list. Defaults to alphabetical. + countryOrder: null, + //* Add a country search input at the top of the country selector. + countrySearch: true, + //* Modify the auto placeholder. + customPlaceholder: null, + //* Always show the dropdown + dropdownAlwaysOpen: false, + //* Optional DOM element to append the dropdown to (used to escape ancestors with overflow:hidden, or to mount in a custom container). Only consulted in dropdown rendering; ignored when the country selector renders as a fullscreen popup. + dropdownParent: null, + //* Don't display these countries. + excludeCountries: null, + //* Fix the dropdown width to the input width (rather than being as wide as the longest country name). + matchDropdownWidth: true, + //* Format the number as the user types + formatAsYouType: true, + //* Inject hidden inputs with the names returned from this function, and on submit, populate them with the full number and selected country iso2. + hiddenInputs: null, + //* Translations for the core library UI strings e.g. search input placeholder, country names. + uiTranslations: {}, + //* Initial country. + initialCountry: "", + //* Async lookup function used to determine the initial country (e.g. via IP). Ignored if initialCountry is set. + initialCountryLookup: null, + //* A function to load the utils script. + loadUtils: null, + //* Format used when displaying numbers (placeholder examples and stored values). One of "E164", "INTERNATIONAL", "NATIONAL". + numberDisplayFormat: NUMBER_FORMAT.INTERNATIONAL, + //* Display only these countries. + onlyCountries: null, + //* When to set the placeholder to an example number for the selected country: "POLITE" only when the input has no manually-set placeholder, "AGGRESSIVE" always, "OFF" never. + placeholderNumberPolicy: PLACEHOLDER_POLICY.POLITE, + //* Number type to use for placeholders. + placeholderNumberType: NUMBER_TYPE.MOBILE, + //* Add custom classes to the search input element. + searchInputClass: "", + //* Display the international dial code next to the selected flag. + separateDialCode: true, + //* When strictMode rejects a key (etc), play a short feedback animation + strictRejectAnimation: true, + //* Show flags - for both the selected country, and in the country list + showFlags: true, + //* Only allow certain chars e.g. a plus followed by numeric digits, and cap at max valid length. + strictMode: true, +}; + +const toString = (val: unknown): string => JSON.stringify(val); + +const isPlainObject = (val: unknown): val is Record => + Boolean(val) && typeof val === "object" && !Array.isArray(val); + +const isFunction = (val: unknown): val is (...args: unknown[]) => unknown => + typeof val === "function"; + +const isElLike = (val: unknown): val is HTMLElement => { + if (!val || typeof val !== "object") { + return false; + } + const v = val as any; + return ( + v.nodeType === 1 && + typeof v.tagName === "string" && + typeof v.appendChild === "function" + ); +}; + +const placeholderPolicySet = new Set(Object.values(PLACEHOLDER_POLICY)); + +const slotSet = new Set(ITI_SLOTS); + +const warn = (message: string): void => { + console.warn(`[intl-tel-input] ${message}`); +}; + +const warnOption = ( + optionName: string, + expectedType: string, + actualValue: unknown, +): void => { + warn( + `Option '${optionName}' must be ${expectedType}; got ${toString(actualValue)}. Ignoring.`, + ); +}; + +const validateIso2Array = (key: string, value: unknown): string[] | false => { + const expectedType = "an array of iso2 country code strings"; + if (!Array.isArray(value)) { + warnOption(key, expectedType, value); + return false; + } + const valid: string[] = []; + for (const v of value) { + if (typeof v !== "string") { + warnOption(key, expectedType, value); + return false; + } + const lower = v.toLowerCase(); + if (!isIso2(lower)) { + warn(`Invalid iso2 code in '${key}': '${v}'. Skipping.`); + } else { + valid.push(v); + } + } + return valid; +}; + +/** + * Validate runtime init options + */ +export const validateOptions = (customOptions: unknown): SomeOptions => { + if (customOptions === undefined) { + return {}; + } + + if (!isPlainObject(customOptions)) { + const error = `The second argument must be an options object; got ${toString(customOptions)}. Using defaults.`; + warn(error); + return {}; + } + + const validatedOptions: Record = {}; + + for (const [key, value] of Object.entries(customOptions)) { + // Check option exists + if (!Object.hasOwn(defaults, key)) { + warn(`Unknown option '${key}'. Ignoring.`); + continue; + } + + switch (key) { + case "allowNumberExtensions": + case "allowPhonewords": + case "countrySearch": + case "dropdownAlwaysOpen": + case "matchDropdownWidth": + case "formatAsYouType": + case "showFlags": + case "separateDialCode": + case "strictMode": + case "strictRejectAnimation": + if (typeof value !== "boolean") { + warnOption(key, "a boolean", value); + break; + } + validatedOptions[key] = value; + break; + + case "countrySelectorMode": + if ( + typeof value !== "string" || + !(COUNTRY_SELECTOR_MODES as readonly string[]).includes(value) + ) { + warnOption( + "countrySelectorMode", + `one of ${COUNTRY_SELECTOR_MODES.map((m) => `"${m}"`).join(", ")}`, + value, + ); + break; + } + validatedOptions[key] = value; + break; + + case "numberDisplayFormat": + if ( + typeof value !== "string" || + value === NUMBER_FORMAT.RFC3966 || + !(value === NUMBER_FORMAT.E164 || + value === NUMBER_FORMAT.INTERNATIONAL || + value === NUMBER_FORMAT.NATIONAL) + ) { + warnOption( + "numberDisplayFormat", + 'one of "E164", "INTERNATIONAL", "NATIONAL"', + value, + ); + break; + } + validatedOptions[key] = value; + break; + + case "placeholderNumberPolicy": + if (typeof value !== "string" || !placeholderPolicySet.has(value)) { + const validPolicies = Array.from(placeholderPolicySet).join(", "); + warnOption("placeholderNumberPolicy", `one of ${validPolicies}`, value); + break; + } + validatedOptions[key] = value; + break; + + case "containerClass": + case "searchInputClass": + case "countryNameLocale": + if (typeof value !== "string") { + warnOption(key, "a string", value); + break; + } + validatedOptions[key] = value; + break; + + case "classNames": { + if (!isPlainObject(value)) { + warnOption("classNames", "an object", value); + break; + } + //* Drop unknown slots and non-string values, so a typo is loud rather than silent. + const validSlots: Record = {}; + for (const [slot, slotValue] of Object.entries(value)) { + if (!slotSet.has(slot)) { + warn( + `Unknown slot '${slot}' in 'classNames'. Valid slots: ${ITI_SLOTS.join(", ")}. Skipping.`, + ); + } else if (typeof slotValue !== "string") { + warnOption(`classNames.${slot}`, "a string", slotValue); + } else { + //* Normalise whitespace, so consumers can be untidy, and we can safely split on single spaces. + validSlots[slot] = slotValue.trim().replace(/\s+/g, " "); + } + } + validatedOptions[key] = validSlots; + break; + } + + case "countryOrder": { + if (value === null) { + validatedOptions[key] = value; + } else { + const filtered = validateIso2Array(key, value); + if (filtered !== false) { + validatedOptions[key] = filtered; + } + } + break; + } + + case "customPlaceholder": + case "hiddenInputs": + case "initialCountryLookup": + case "loadUtils": + if (value !== null && !isFunction(value)) { + warnOption(key, "a function or null", value); + break; + } + validatedOptions[key] = value; + break; + + case "dropdownParent": + if (value !== null && !isElLike(value)) { + warnOption("dropdownParent", "an HTMLElement or null", value); + break; + } + validatedOptions[key] = value; + break; + + case "excludeCountries": + case "onlyCountries": { + if (value === null) { + validatedOptions[key] = value; + } else { + const filtered = validateIso2Array(key, value); + if (filtered !== false) { + validatedOptions[key] = filtered; + } + } + break; + } + + case "uiTranslations": + if (value && !isPlainObject(value)) { + warnOption("uiTranslations", "an object", value); + break; + } + // don't bother validating the shape of the object, as the standard use is to just pass in one of the provided locale objects. + validatedOptions[key] = value; + break; + + case "countryNameOverrides": + if (value && !isPlainObject(value)) { + warnOption("countryNameOverrides", "an object", value); + break; + } + validatedOptions[key] = value; + break; + + case "initialCountry": { + if (typeof value !== "string") { + warnOption("initialCountry", "a string", value); + break; + } + const lower = value.toLowerCase(); + if (lower && !isIso2(lower)) { + warnOption("initialCountry", "a valid iso2 country code", value); + break; + } + validatedOptions[key] = value; + break; + } + + case "placeholderNumberType": + if ( + typeof value !== "string" || + !(NUMBER_TYPES as readonly string[]).includes(value) + ) { + const validTypes = NUMBER_TYPES.join(", "); + warnOption("placeholderNumberType", `one of ${validTypes}`, value); + break; + } + validatedOptions[key] = value; + break; + + case "allowedNumberTypes": + if (value !== null) { + if (!Array.isArray(value)) { + warnOption( + "allowedNumberTypes", + "an array of number types or null", + value, + ); + break; + } + let allValid = true; + for (const v of value as unknown[]) { + if ( + typeof v !== "string" || + !(NUMBER_TYPES as readonly string[]).includes(v) + ) { + const validTypes = NUMBER_TYPES.join(", "); + warnOption( + "allowedNumberTypes", + `an array of valid number types (${validTypes})`, + v, + ); + allValid = false; + break; + } + } + if (allValid) { + // include it (even if empty) + validatedOptions[key] = value; + } + } else { + validatedOptions[key] = null; + } + break; + } + } + + return validatedOptions as SomeOptions; +}; + +// Normalise option values so downstream code doesn't have to (mutates the passed object). +export const normaliseOptions = (o: AllOptions): void => { + //* Lowercase all iso2 codes so consumers can compare directly. + if (o.initialCountry) { + o.initialCountry = o.initialCountry.toLowerCase() as Iso2 | ""; + } + if (o.onlyCountries?.length) { + o.onlyCountries = o.onlyCountries.map((c) => c.toLowerCase() as Iso2); + } + if (o.excludeCountries?.length) { + o.excludeCountries = o.excludeCountries.map((c) => c.toLowerCase() as Iso2); + } + if (o.countryOrder) { + o.countryOrder = o.countryOrder.map((c) => c.toLowerCase() as Iso2); + } +}; + +// Apply option side-effects (mutates the passed object) +export const applyOptionSideEffects = (o: AllOptions): void => { + //* Resolve "AUTO" to a concrete mode based on the current viewport. Downstream code only ever sees "OFF", "DROPDOWN", or "FULLSCREEN". + if (o.countrySelectorMode === COUNTRY_SELECTOR_MODE.AUTO) { + o.countrySelectorMode = resolveAutoCountrySelectorMode(); + } + + //* dropdownAlwaysOpen requires the dropdown rendering (fullscreen popup doesn't support always-open, and we need the country selector to exist). + if (o.dropdownAlwaysOpen) { + o.countrySelectorMode = COUNTRY_SELECTOR_MODE.DROPDOWN; + } + + //* If showing fullscreen popup, do not fix the width. + if (o.countrySelectorMode === COUNTRY_SELECTOR_MODE.FULLSCREEN) { + o.matchDropdownWidth = false; + } else { + // if fullscreen popup disabled for whatever reason, but it's still a narrow screen (so full width dropdown wont fit), then the best UX is to fix dropdown width to input width. + if (isNarrowViewport()) { + o.matchDropdownWidth = true; + } + } + + //* If theres only one country, then use it! + if (o.onlyCountries?.length === 1) { + o.initialCountry = o.onlyCountries[0]; + } + + //* When separateDialCode enabled, NATIONAL display is contradictory (the dial code is supposed to be thought of as part of the typed number), so force INTERNATIONAL. + if (o.separateDialCode && o.numberDisplayFormat === NUMBER_FORMAT.NATIONAL) { + o.numberDisplayFormat = NUMBER_FORMAT.INTERNATIONAL; + } + + // if there is a country selector, but no flags and no separate dial code, then it suggests that there are multiple countries to choose from, but no way to see which one is currently selected, so we force INTERNATIONAL display, as it doesn't make sense to show a national number placeholder if there's no way to see which country is selected + if ( + o.countrySelectorMode !== COUNTRY_SELECTOR_MODE.OFF && + !o.showFlags && + !o.separateDialCode && + o.numberDisplayFormat === NUMBER_FORMAT.NATIONAL + ) { + o.numberDisplayFormat = NUMBER_FORMAT.INTERNATIONAL; + } + + //* Allow overriding the default interface strings. + o.uiTranslations = { ...defaultEnglishStrings, ...o.uiTranslations }; +}; diff --git a/libs/intl-tel-input/js/core/ui.ts b/libs/intl-tel-input/js/core/ui.ts new file mode 100644 index 000000000..74fad403c --- /dev/null +++ b/libs/intl-tel-input/js/core/ui.ts @@ -0,0 +1,1442 @@ +import type { Country, Iso2 } from "../data.js"; +import type { AllOptions, ItiSlot, SelectedCountry } from "../types/public-api.js"; +import { buildClassNames, createEl } from "../helpers/dom.js"; +import { + buildSearchIcon, + buildClearIcon, + buildCheckIcon, + buildGlobeIcon, +} from "./icons.js"; +import { + CLASSES, + ARIA, + LAYOUT, + KEYS, + REGEX, + TIMINGS, + DATA_KEYS, + COUNTRY_SELECTOR_MODE, +} from "../constants.js"; +import { + findFirstCountryStartingWith, + getMatchedCountries, + type SearchTokensMap, +} from "./countrySearch.js"; +import { Numerals } from "./numerals.js"; + +//* Feature-detect CSS Anchor Positioning. +const supportsCssAnchor = + typeof CSS !== "undefined" && + typeof CSS.supports === "function" && + CSS.supports("anchor-name: --x"); + +export default class UI { + // private + readonly #options: AllOptions; + readonly #id: number; + readonly #isRTL: boolean; + readonly #originalPaddingLeft: string = ""; + #countries!: Country[]; + #searchTokens!: SearchTokensMap; + #searchDebounceTimer: ReturnType | null = null; + #inlineDropdownHeight?: number; + #cssAnchorPositioningDone = false; + #countryContainerEl?: HTMLElement; + #selectedCountryEl?: HTMLElement; + #selectedFlagEl?: HTMLElement; + #selectedDialCodeEl?: HTMLElement; + #arrowEl?: HTMLElement; + #countrySelectorEl?: HTMLElement; + #searchIconEl?: HTMLElement; + #searchInputEl?: HTMLInputElement; + #searchClearButtonEl?: HTMLButtonElement; + #countryListEl?: HTMLElement; + #hiddenInputPhoneEl?: HTMLInputElement; + #hiddenInputCountryEl?: HTMLInputElement; + #noResultsMessageEl?: HTMLElement; + #searchResultsLiveRegionEl?: HTMLElement; + #detachedCountrySelectorEl?: HTMLElement; + #selectedListItemEl: HTMLElement | null = null; + #highlightedListItemEl: HTMLElement | null = null; + readonly #listItemByIso2: Map = new Map(); + #countrySelectorAbortController: AbortController | null = null; + #resizeObserver?: ResizeObserver; + + // public + public telInputEl!: HTMLInputElement; + public readonly hadInitialPlaceholder: boolean; + + public constructor(input: HTMLInputElement, options: AllOptions, id: number) { + input.dataset[DATA_KEYS.INSTANCE_ID] = id.toString(); + this.telInputEl = input; + this.#options = options; + this.#id = id; + this.hadInitialPlaceholder = Boolean(input.getAttribute("placeholder")); + this.#isRTL = !!this.telInputEl.closest("[dir=rtl]"); + //* Store original styling before we override it. + this.#originalPaddingLeft = this.telInputEl.style.paddingLeft; + } + + // Validate that the provided element is an HTMLInputElement. + public static validateInput(input: unknown): void { + const tagName = (input as { tagName?: unknown } | null)?.tagName; + const isInputEl = + Boolean(input) && + typeof input === "object" && + tagName === "INPUT" && + typeof (input as { setAttribute?: unknown }).setAttribute === "function"; + + if (!isInputEl) { + const type = Object.prototype.toString.call(input); + throw new TypeError( + `The first argument must be an HTMLInputElement, not ${type}`, + ); + } + } + + //* Append any consumer-supplied classes (via the classNames option) for the given slot to our own classes for that element. + #withSlotClass(slot: ItiSlot, ourClasses: string): string { + const custom = this.#options.classNames[slot]; + return custom ? `${ourClasses} ${custom}` : ourClasses; + } + + //* Generate all of the markup for the core library: the selected country overlay, and the country selector. + public buildMarkup( + countries: Country[], + searchTokens: SearchTokensMap, + ): void { + this.#countries = countries; + this.#searchTokens = searchTokens; + + this.telInputEl.classList.add( + ...this.#withSlotClass("input", "iti__tel-input").split(" "), + ); + //* Set useful defaults for phone number input attributes. + if (!this.telInputEl.hasAttribute("type")) { + this.telInputEl.setAttribute("type", "tel"); + } + if (!this.telInputEl.hasAttribute("autocomplete")) { + this.telInputEl.setAttribute("autocomplete", "tel"); + } + if (!this.telInputEl.hasAttribute("inputmode")) { + this.telInputEl.setAttribute("inputmode", "tel"); + } + + const wrapper = this.#createWrapperAndInsert(); + this.#buildCountryContainer(wrapper); + wrapper.appendChild(this.telInputEl); + + this.#updateInputPaddingAndReveal(); + this.#observeSelectedCountryResize(); + this.#buildHiddenInputs(wrapper); + + // call this before setInitialState (see commit msg) + this.ensureDropdownWidthSet(); + } + + #createWrapperAndInsert(): HTMLElement { + const { countrySelectorMode, showFlags, containerClass } = this.#options; + + //* Containers (mostly for positioning). + const parentClasses = buildClassNames({ + iti: true, + "iti--input-container": true, + "iti--has-country-selector": countrySelectorMode !== COUNTRY_SELECTOR_MODE.OFF, + "iti--show-flags": showFlags, + "iti--inline-country-selector": countrySelectorMode !== COUNTRY_SELECTOR_MODE.FULLSCREEN, + [containerClass]: Boolean(containerClass), + }); + const wrapper = createEl("div", { + class: this.#withSlotClass("container", parentClasses), + }); + // if the page is RTL, then add dir=LTR to the wrapper, as numbers are still written LTR, so the input should be LTR, but we also need to display any separate dial code to the left as well (but we then make the country selector RTL) + if (this.#isRTL) { + wrapper.setAttribute("dir", "ltr"); + } + this.telInputEl.before(wrapper); + return wrapper; + } + + #buildCountryContainer(wrapper: HTMLElement): void { + const { countrySelectorMode, separateDialCode, showFlags } = this.#options; + const enableCountrySelector = countrySelectorMode !== COUNTRY_SELECTOR_MODE.OFF; + + //* If we don't need a countryContainer + if (!enableCountrySelector && !showFlags && !separateDialCode) { + return; + } + + this.#countryContainerEl = createEl( + "div", + // visibly hidden until we measure its width to set the input padding correctly + { + class: this.#withSlotClass( + "countryContainer", + `iti__country-container ${CLASSES.V_HIDE}`, + ), + }, + wrapper, + ); + + //* Selected country: clickable