intl-tel-input 18.4.0 → 18.5.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -141,6 +141,10 @@ When enabled (requires `nationalMode` to be disabled), the international dial co
141
141
  Type: `String` Default: `"polite"`
142
142
  Set the input's placeholder to an example number for the selected country, and update it if the country changes. You can specify the number type using the `placeholderNumberType` option. By default it is set to `"polite"`, which means it will only set the placeholder if the input doesn't already have one. You can also set it to `"aggressive"`, which will replace any existing placeholder, or `"off"`. Requires the `utilsScript` option.
143
143
 
144
+ **countrySearch**
145
+ Type: `Boolean` Default: `false`
146
+ Add a search input to the top of the dropdown, so users can filter the displayed countries.
147
+
144
148
  **customContainer**
145
149
  Type: `String` Default: `""`
146
150
  Additional classes to add to the parent div.
@@ -11,9 +11,9 @@
11
11
  .iti__v-hide {
12
12
  visibility: hidden;
13
13
  }
14
- .iti input,
15
- .iti input[type=text],
16
- .iti input[type=tel] {
14
+ .iti input.iti__tel-input,
15
+ .iti input.iti__tel-input[type=text],
16
+ .iti input.iti__tel-input[type=tel] {
17
17
  position: relative;
18
18
  z-index: 0;
19
19
  margin-top: 0 !important;
@@ -52,12 +52,10 @@
52
52
  border-top: none;
53
53
  border-bottom: 4px solid #555;
54
54
  }
55
- .iti__country-list {
55
+ .iti__dropdown-content {
56
56
  position: absolute;
57
57
  z-index: 2;
58
- list-style: none;
59
- padding: 0;
60
- margin: 0 0 0 -1px;
58
+ margin-left: -1px;
61
59
  box-shadow: 1px 1px 4px rgba(0, 0, 0, 0.2);
62
60
  background-color: white;
63
61
  border: 1px solid #ccc;
@@ -65,18 +63,27 @@
65
63
  overflow-y: scroll;
66
64
  -webkit-overflow-scrolling: touch;
67
65
  }
68
- .iti__country-list--dropup {
66
+ .iti__dropdown-content--dropup {
69
67
  bottom: 100%;
70
68
  margin-bottom: -1px;
71
69
  }
72
- @media (max-width: 500px) {
73
- .iti__country-list {
74
- white-space: normal;
75
- }
70
+ .iti__search-input {
71
+ width: 100%;
72
+ border-width: 0;
73
+ }
74
+ .iti__country-list {
75
+ list-style: none;
76
+ padding: 0;
77
+ margin: 0;
76
78
  }
77
79
  .iti--flexible-dropdown-width .iti__country-list {
78
80
  white-space: nowrap;
79
81
  }
82
+ @media (max-width: 500px) {
83
+ .iti--flexible-dropdown-width .iti__country-list {
84
+ white-space: normal;
85
+ }
86
+ }
80
87
  .iti__flag-box {
81
88
  display: inline-block;
82
89
  width: 20px;
@@ -105,20 +112,20 @@
105
112
  margin-right: 0;
106
113
  margin-left: 6px;
107
114
  }
108
- .iti--allow-dropdown input,
109
- .iti--allow-dropdown input[type=text],
110
- .iti--allow-dropdown input[type=tel], .iti--separate-dial-code input,
111
- .iti--separate-dial-code input[type=text],
112
- .iti--separate-dial-code input[type=tel] {
115
+ .iti--allow-dropdown input.iti__tel-input,
116
+ .iti--allow-dropdown input.iti__tel-input[type=text],
117
+ .iti--allow-dropdown input.iti__tel-input[type=tel], .iti--separate-dial-code input.iti__tel-input,
118
+ .iti--separate-dial-code input.iti__tel-input[type=text],
119
+ .iti--separate-dial-code input.iti__tel-input[type=tel] {
113
120
  padding-right: 6px;
114
121
  padding-left: 52px;
115
122
  margin-left: 0;
116
123
  }
117
- [dir=rtl] .iti--allow-dropdown input,
118
- [dir=rtl] .iti--allow-dropdown input[type=text],
119
- [dir=rtl] .iti--allow-dropdown input[type=tel], [dir=rtl] .iti--separate-dial-code input,
120
- [dir=rtl] .iti--separate-dial-code input[type=text],
121
- [dir=rtl] .iti--separate-dial-code input[type=tel] {
124
+ [dir=rtl] .iti--allow-dropdown input.iti__tel-input,
125
+ [dir=rtl] .iti--allow-dropdown input.iti__tel-input[type=text],
126
+ [dir=rtl] .iti--allow-dropdown input.iti__tel-input[type=tel], [dir=rtl] .iti--separate-dial-code input.iti__tel-input,
127
+ [dir=rtl] .iti--separate-dial-code input.iti__tel-input[type=text],
128
+ [dir=rtl] .iti--separate-dial-code input.iti__tel-input[type=tel] {
122
129
  padding-right: 52px;
123
130
  padding-left: 6px;
124
131
  margin-right: 0;
@@ -178,7 +185,10 @@
178
185
  flex-direction: column;
179
186
  justify-content: center;
180
187
  }
181
- .iti--fullscreen-popup .iti__country-list {
188
+ .iti--fullscreen-popup.iti--container.iti--country-search {
189
+ justify-content: flex-start;
190
+ }
191
+ .iti--fullscreen-popup .iti__dropdown-content {
182
192
  max-height: 100%;
183
193
  position: relative;
184
194
  }
@@ -1 +1 @@
1
- .iti{position:relative;display:inline-block}.iti *{box-sizing:border-box}.iti__hide{display:none}.iti__v-hide{visibility:hidden}.iti input,.iti input[type=tel],.iti input[type=text]{position:relative;z-index:0;margin-top:0!important;margin-bottom:0!important;padding-right:36px;margin-right:0}.iti__flag-container{position:absolute;top:0;bottom:0;right:0;padding:1px}.iti__selected-flag{z-index:1;position:relative;display:flex;align-items:center;height:100%;padding:0 6px 0 8px}.iti__arrow{margin-left:6px;width:0;height:0;border-left:3px solid transparent;border-right:3px solid transparent;border-top:4px solid #555}[dir=rtl] .iti__arrow{margin-right:6px;margin-left:0}.iti__arrow--up{border-top:none;border-bottom:4px solid #555}.iti__country-list{position:absolute;z-index:2;list-style:none;padding:0;margin:0 0 0 -1px;box-shadow:1px 1px 4px rgba(0,0,0,.2);background-color:#fff;border:1px solid #ccc;max-height:200px;overflow-y:scroll;-webkit-overflow-scrolling:touch}.iti__country-list--dropup{bottom:100%;margin-bottom:-1px}@media (max-width:500px){.iti__country-list{white-space:normal}}.iti--flexible-dropdown-width .iti__country-list{white-space:nowrap}.iti__flag-box{display:inline-block;width:20px}.iti__divider{padding-bottom:5px;margin-bottom:5px;border-bottom:1px solid #ccc}.iti__country{display:flex;align-items:center;padding:5px 10px;outline:0}.iti__dial-code{color:#999}.iti__country.iti__highlight{background-color:rgba(0,0,0,.05)}.iti__country-name,.iti__flag-box{margin-right:6px}[dir=rtl] .iti__country-name,[dir=rtl] .iti__flag-box{margin-right:0;margin-left:6px}.iti--allow-dropdown input,.iti--allow-dropdown input[type=tel],.iti--allow-dropdown input[type=text],.iti--separate-dial-code input,.iti--separate-dial-code input[type=tel],.iti--separate-dial-code input[type=text]{padding-right:6px;padding-left:52px;margin-left:0}[dir=rtl] .iti--allow-dropdown input,[dir=rtl] .iti--allow-dropdown input[type=tel],[dir=rtl] .iti--allow-dropdown input[type=text],[dir=rtl] .iti--separate-dial-code input,[dir=rtl] .iti--separate-dial-code input[type=tel],[dir=rtl] .iti--separate-dial-code input[type=text]{padding-right:52px;padding-left:6px;margin-right:0}.iti--allow-dropdown .iti__flag-container,.iti--separate-dial-code .iti__flag-container{right:auto;left:0}[dir=rtl] .iti--allow-dropdown .iti__flag-container,[dir=rtl] .iti--separate-dial-code .iti__flag-container{right:0;left:auto}.iti--allow-dropdown .iti__flag-container:hover{cursor:pointer}.iti--allow-dropdown .iti__flag-container:hover .iti__selected-flag{background-color:rgba(0,0,0,.05)}.iti--allow-dropdown input[disabled]+.iti__flag-container:hover,.iti--allow-dropdown input[readonly]+.iti__flag-container:hover{cursor:default}.iti--allow-dropdown input[disabled]+.iti__flag-container:hover .iti__selected-flag,.iti--allow-dropdown input[readonly]+.iti__flag-container:hover .iti__selected-flag{background-color:transparent}.iti--separate-dial-code .iti__selected-flag{background-color:rgba(0,0,0,.05)}.iti--separate-dial-code.iti--show-flags .iti__selected-dial-code{margin-left:6px}[dir=rtl] .iti--separate-dial-code.iti--show-flags .iti__selected-dial-code{margin-left:0;margin-right:6px}.iti--container{position:absolute;top:-1000px;left:-1000px;z-index:1060;padding:1px}.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:30px;display:flex;flex-direction:column;justify-content:center}.iti-fullscreen-popup .iti__country-list{max-height:100%;position:relative}.iti-fullscreen-popup .iti__country{padding:10px 10px;line-height:1.5em}.iti__flag{width:20px}.iti__flag.iti__be{width:18px}.iti__flag.iti__ch{width:15px}.iti__flag.iti__mc{width:19px}.iti__flag.iti__ne{width:18px}.iti__flag.iti__np{width:13px}.iti__flag.iti__va{width:15px}@media (min-resolution:2x){.iti__flag{background-size:5762px 15px}}.iti__flag.iti__ac{height:10px;background-position:0 0}.iti__flag.iti__ad{height:14px;background-position:-22px 0}.iti__flag.iti__ae{height:10px;background-position:-44px 0}.iti__flag.iti__af{height:14px;background-position:-66px 0}.iti__flag.iti__ag{height:14px;background-position:-88px 0}.iti__flag.iti__ai{height:10px;background-position:-110px 0}.iti__flag.iti__al{height:15px;background-position:-132px 0}.iti__flag.iti__am{height:10px;background-position:-154px 0}.iti__flag.iti__ao{height:14px;background-position:-176px 0}.iti__flag.iti__aq{height:14px;background-position:-198px 0}.iti__flag.iti__ar{height:13px;background-position:-220px 0}.iti__flag.iti__as{height:10px;background-position:-242px 0}.iti__flag.iti__at{height:14px;background-position:-264px 0}.iti__flag.iti__au{height:10px;background-position:-286px 0}.iti__flag.iti__aw{height:14px;background-position:-308px 0}.iti__flag.iti__ax{height:13px;background-position:-330px 0}.iti__flag.iti__az{height:10px;background-position:-352px 0}.iti__flag.iti__ba{height:10px;background-position:-374px 0}.iti__flag.iti__bb{height:14px;background-position:-396px 0}.iti__flag.iti__bd{height:12px;background-position:-418px 0}.iti__flag.iti__be{height:15px;background-position:-440px 0}.iti__flag.iti__bf{height:14px;background-position:-460px 0}.iti__flag.iti__bg{height:12px;background-position:-482px 0}.iti__flag.iti__bh{height:12px;background-position:-504px 0}.iti__flag.iti__bi{height:12px;background-position:-526px 0}.iti__flag.iti__bj{height:14px;background-position:-548px 0}.iti__flag.iti__bl{height:14px;background-position:-570px 0}.iti__flag.iti__bm{height:10px;background-position:-592px 0}.iti__flag.iti__bn{height:10px;background-position:-614px 0}.iti__flag.iti__bo{height:14px;background-position:-636px 0}.iti__flag.iti__bq{height:14px;background-position:-658px 0}.iti__flag.iti__br{height:14px;background-position:-680px 0}.iti__flag.iti__bs{height:10px;background-position:-702px 0}.iti__flag.iti__bt{height:14px;background-position:-724px 0}.iti__flag.iti__bv{height:15px;background-position:-746px 0}.iti__flag.iti__bw{height:14px;background-position:-768px 0}.iti__flag.iti__by{height:10px;background-position:-790px 0}.iti__flag.iti__bz{height:12px;background-position:-812px 0}.iti__flag.iti__ca{height:10px;background-position:-834px 0}.iti__flag.iti__cc{height:10px;background-position:-856px 0}.iti__flag.iti__cd{height:15px;background-position:-878px 0}.iti__flag.iti__cf{height:14px;background-position:-900px 0}.iti__flag.iti__cg{height:14px;background-position:-922px 0}.iti__flag.iti__ch{height:15px;background-position:-944px 0}.iti__flag.iti__ci{height:14px;background-position:-961px 0}.iti__flag.iti__ck{height:10px;background-position:-983px 0}.iti__flag.iti__cl{height:14px;background-position:-1005px 0}.iti__flag.iti__cm{height:14px;background-position:-1027px 0}.iti__flag.iti__cn{height:14px;background-position:-1049px 0}.iti__flag.iti__co{height:14px;background-position:-1071px 0}.iti__flag.iti__cp{height:14px;background-position:-1093px 0}.iti__flag.iti__cq{height:12px;background-position:-1115px 0}.iti__flag.iti__cr{height:12px;background-position:-1137px 0}.iti__flag.iti__cu{height:10px;background-position:-1159px 0}.iti__flag.iti__cv{height:12px;background-position:-1181px 0}.iti__flag.iti__cw{height:14px;background-position:-1203px 0}.iti__flag.iti__cx{height:10px;background-position:-1225px 0}.iti__flag.iti__cy{height:14px;background-position:-1247px 0}.iti__flag.iti__cz{height:14px;background-position:-1269px 0}.iti__flag.iti__de{height:12px;background-position:-1291px 0}.iti__flag.iti__dg{height:10px;background-position:-1313px 0}.iti__flag.iti__dj{height:14px;background-position:-1335px 0}.iti__flag.iti__dk{height:15px;background-position:-1357px 0}.iti__flag.iti__dm{height:10px;background-position:-1379px 0}.iti__flag.iti__do{height:14px;background-position:-1401px 0}.iti__flag.iti__dz{height:14px;background-position:-1423px 0}.iti__flag.iti__ea{height:14px;background-position:-1445px 0}.iti__flag.iti__ec{height:14px;background-position:-1467px 0}.iti__flag.iti__ee{height:13px;background-position:-1489px 0}.iti__flag.iti__eg{height:14px;background-position:-1511px 0}.iti__flag.iti__eh{height:10px;background-position:-1533px 0}.iti__flag.iti__er{height:10px;background-position:-1555px 0}.iti__flag.iti__es{height:14px;background-position:-1577px 0}.iti__flag.iti__et{height:10px;background-position:-1599px 0}.iti__flag.iti__eu{height:14px;background-position:-1621px 0}.iti__flag.iti__ez{height:14px;background-position:-1643px 0}.iti__flag.iti__fi{height:12px;background-position:-1665px 0}.iti__flag.iti__fj{height:10px;background-position:-1687px 0}.iti__flag.iti__fk{height:10px;background-position:-1709px 0}.iti__flag.iti__fm{height:11px;background-position:-1731px 0}.iti__flag.iti__fo{height:15px;background-position:-1753px 0}.iti__flag.iti__fr{height:14px;background-position:-1775px 0}.iti__flag.iti__fx{height:14px;background-position:-1797px 0}.iti__flag.iti__ga{height:15px;background-position:-1819px 0}.iti__flag.iti__gb{height:10px;background-position:-1841px 0}.iti__flag.iti__gd{height:12px;background-position:-1863px 0}.iti__flag.iti__ge{height:14px;background-position:-1885px 0}.iti__flag.iti__gf{height:14px;background-position:-1907px 0}.iti__flag.iti__gg{height:14px;background-position:-1929px 0}.iti__flag.iti__gh{height:14px;background-position:-1951px 0}.iti__flag.iti__gi{height:10px;background-position:-1973px 0}.iti__flag.iti__gl{height:14px;background-position:-1995px 0}.iti__flag.iti__gm{height:14px;background-position:-2017px 0}.iti__flag.iti__gn{height:14px;background-position:-2039px 0}.iti__flag.iti__gp{height:14px;background-position:-2061px 0}.iti__flag.iti__gq{height:14px;background-position:-2083px 0}.iti__flag.iti__gr{height:14px;background-position:-2105px 0}.iti__flag.iti__gs{height:10px;background-position:-2127px 0}.iti__flag.iti__gt{height:13px;background-position:-2149px 0}.iti__flag.iti__gu{height:11px;background-position:-2171px 0}.iti__flag.iti__gw{height:10px;background-position:-2193px 0}.iti__flag.iti__gy{height:12px;background-position:-2215px 0}.iti__flag.iti__hk{height:14px;background-position:-2237px 0}.iti__flag.iti__hm{height:10px;background-position:-2259px 0}.iti__flag.iti__hn{height:10px;background-position:-2281px 0}.iti__flag.iti__hr{height:10px;background-position:-2303px 0}.iti__flag.iti__ht{height:12px;background-position:-2325px 0}.iti__flag.iti__hu{height:10px;background-position:-2347px 0}.iti__flag.iti__ic{height:14px;background-position:-2369px 0}.iti__flag.iti__id{height:14px;background-position:-2391px 0}.iti__flag.iti__ie{height:10px;background-position:-2413px 0}.iti__flag.iti__il{height:15px;background-position:-2435px 0}.iti__flag.iti__im{height:10px;background-position:-2457px 0}.iti__flag.iti__in{height:14px;background-position:-2479px 0}.iti__flag.iti__io{height:10px;background-position:-2501px 0}.iti__flag.iti__iq{height:14px;background-position:-2523px 0}.iti__flag.iti__ir{height:12px;background-position:-2545px 0}.iti__flag.iti__is{height:15px;background-position:-2567px 0}.iti__flag.iti__it{height:14px;background-position:-2589px 0}.iti__flag.iti__je{height:12px;background-position:-2611px 0}.iti__flag.iti__jm{height:10px;background-position:-2633px 0}.iti__flag.iti__jo{height:10px;background-position:-2655px 0}.iti__flag.iti__jp{height:14px;background-position:-2677px 0}.iti__flag.iti__ke{height:14px;background-position:-2699px 0}.iti__flag.iti__kg{height:12px;background-position:-2721px 0}.iti__flag.iti__kh{height:13px;background-position:-2743px 0}.iti__flag.iti__ki{height:10px;background-position:-2765px 0}.iti__flag.iti__km{height:12px;background-position:-2787px 0}.iti__flag.iti__kn{height:14px;background-position:-2809px 0}.iti__flag.iti__kp{height:10px;background-position:-2831px 0}.iti__flag.iti__kr{height:14px;background-position:-2853px 0}.iti__flag.iti__kw{height:10px;background-position:-2875px 0}.iti__flag.iti__ky{height:10px;background-position:-2897px 0}.iti__flag.iti__kz{height:10px;background-position:-2919px 0}.iti__flag.iti__la{height:14px;background-position:-2941px 0}.iti__flag.iti__lb{height:14px;background-position:-2963px 0}.iti__flag.iti__lc{height:10px;background-position:-2985px 0}.iti__flag.iti__li{height:12px;background-position:-3007px 0}.iti__flag.iti__lk{height:10px;background-position:-3029px 0}.iti__flag.iti__lr{height:11px;background-position:-3051px 0}.iti__flag.iti__ls{height:14px;background-position:-3073px 0}.iti__flag.iti__lt{height:12px;background-position:-3095px 0}.iti__flag.iti__lu{height:12px;background-position:-3117px 0}.iti__flag.iti__lv{height:10px;background-position:-3139px 0}.iti__flag.iti__ly{height:10px;background-position:-3161px 0}.iti__flag.iti__ma{height:14px;background-position:-3183px 0}.iti__flag.iti__mc{height:15px;background-position:-3205px 0}.iti__flag.iti__md{height:10px;background-position:-3226px 0}.iti__flag.iti__me{height:10px;background-position:-3248px 0}.iti__flag.iti__mf{height:14px;background-position:-3270px 0}.iti__flag.iti__mg{height:14px;background-position:-3292px 0}.iti__flag.iti__mh{height:11px;background-position:-3314px 0}.iti__flag.iti__mk{height:10px;background-position:-3336px 0}.iti__flag.iti__ml{height:14px;background-position:-3358px 0}.iti__flag.iti__mm{height:14px;background-position:-3380px 0}.iti__flag.iti__mn{height:10px;background-position:-3402px 0}.iti__flag.iti__mo{height:14px;background-position:-3424px 0}.iti__flag.iti__mp{height:10px;background-position:-3446px 0}.iti__flag.iti__mq{height:14px;background-position:-3468px 0}.iti__flag.iti__mr{height:14px;background-position:-3490px 0}.iti__flag.iti__ms{height:10px;background-position:-3512px 0}.iti__flag.iti__mt{height:14px;background-position:-3534px 0}.iti__flag.iti__mu{height:14px;background-position:-3556px 0}.iti__flag.iti__mv{height:14px;background-position:-3578px 0}.iti__flag.iti__mw{height:14px;background-position:-3600px 0}.iti__flag.iti__mx{height:12px;background-position:-3622px 0}.iti__flag.iti__my{height:10px;background-position:-3644px 0}.iti__flag.iti__mz{height:14px;background-position:-3666px 0}.iti__flag.iti__na{height:14px;background-position:-3688px 0}.iti__flag.iti__nc{height:10px;background-position:-3710px 0}.iti__flag.iti__ne{height:15px;background-position:-3732px 0}.iti__flag.iti__nf{height:10px;background-position:-3752px 0}.iti__flag.iti__ng{height:10px;background-position:-3774px 0}.iti__flag.iti__ni{height:12px;background-position:-3796px 0}.iti__flag.iti__nl{height:14px;background-position:-3818px 0}.iti__flag.iti__no{height:15px;background-position:-3840px 0}.iti__flag.iti__np{height:15px;background-position:-3862px 0}.iti__flag.iti__nr{height:10px;background-position:-3877px 0}.iti__flag.iti__nu{height:10px;background-position:-3899px 0}.iti__flag.iti__nz{height:10px;background-position:-3921px 0}.iti__flag.iti__om{height:10px;background-position:-3943px 0}.iti__flag.iti__pa{height:14px;background-position:-3965px 0}.iti__flag.iti__pe{height:14px;background-position:-3987px 0}.iti__flag.iti__pf{height:14px;background-position:-4009px 0}.iti__flag.iti__pg{height:15px;background-position:-4031px 0}.iti__flag.iti__ph{height:10px;background-position:-4053px 0}.iti__flag.iti__pk{height:14px;background-position:-4075px 0}.iti__flag.iti__pl{height:13px;background-position:-4097px 0}.iti__flag.iti__pm{height:14px;background-position:-4119px 0}.iti__flag.iti__pn{height:10px;background-position:-4141px 0}.iti__flag.iti__pr{height:14px;background-position:-4163px 0}.iti__flag.iti__ps{height:10px;background-position:-4185px 0}.iti__flag.iti__pt{height:14px;background-position:-4207px 0}.iti__flag.iti__pw{height:13px;background-position:-4229px 0}.iti__flag.iti__py{height:11px;background-position:-4251px 0}.iti__flag.iti__qa{height:8px;background-position:-4273px 0}.iti__flag.iti__re{height:14px;background-position:-4295px 0}.iti__flag.iti__ro{height:14px;background-position:-4317px 0}.iti__flag.iti__rs{height:14px;background-position:-4339px 0}.iti__flag.iti__ru{height:14px;background-position:-4361px 0}.iti__flag.iti__rw{height:14px;background-position:-4383px 0}.iti__flag.iti__sa{height:14px;background-position:-4405px 0}.iti__flag.iti__sb{height:10px;background-position:-4427px 0}.iti__flag.iti__sc{height:10px;background-position:-4449px 0}.iti__flag.iti__sd{height:10px;background-position:-4471px 0}.iti__flag.iti__se{height:13px;background-position:-4493px 0}.iti__flag.iti__sg{height:14px;background-position:-4515px 0}.iti__flag.iti__sh{height:10px;background-position:-4537px 0}.iti__flag.iti__si{height:10px;background-position:-4559px 0}.iti__flag.iti__sj{height:15px;background-position:-4581px 0}.iti__flag.iti__sk{height:14px;background-position:-4603px 0}.iti__flag.iti__sl{height:14px;background-position:-4625px 0}.iti__flag.iti__sm{height:15px;background-position:-4647px 0}.iti__flag.iti__sn{height:14px;background-position:-4669px 0}.iti__flag.iti__so{height:14px;background-position:-4691px 0}.iti__flag.iti__sr{height:14px;background-position:-4713px 0}.iti__flag.iti__ss{height:10px;background-position:-4735px 0}.iti__flag.iti__st{height:10px;background-position:-4757px 0}.iti__flag.iti__su{height:10px;background-position:-4779px 0}.iti__flag.iti__sv{height:12px;background-position:-4801px 0}.iti__flag.iti__sx{height:14px;background-position:-4823px 0}.iti__flag.iti__sy{height:14px;background-position:-4845px 0}.iti__flag.iti__sz{height:14px;background-position:-4867px 0}.iti__flag.iti__ta{height:10px;background-position:-4889px 0}.iti__flag.iti__tc{height:10px;background-position:-4911px 0}.iti__flag.iti__td{height:14px;background-position:-4933px 0}.iti__flag.iti__tf{height:14px;background-position:-4955px 0}.iti__flag.iti__tg{height:13px;background-position:-4977px 0}.iti__flag.iti__th{height:14px;background-position:-4999px 0}.iti__flag.iti__tj{height:10px;background-position:-5021px 0}.iti__flag.iti__tk{height:10px;background-position:-5043px 0}.iti__flag.iti__tl{height:10px;background-position:-5065px 0}.iti__flag.iti__tm{height:14px;background-position:-5087px 0}.iti__flag.iti__tn{height:14px;background-position:-5109px 0}.iti__flag.iti__to{height:10px;background-position:-5131px 0}.iti__flag.iti__tr{height:14px;background-position:-5153px 0}.iti__flag.iti__tt{height:12px;background-position:-5175px 0}.iti__flag.iti__tv{height:10px;background-position:-5197px 0}.iti__flag.iti__tw{height:14px;background-position:-5219px 0}.iti__flag.iti__tz{height:14px;background-position:-5241px 0}.iti__flag.iti__ua{height:14px;background-position:-5263px 0}.iti__flag.iti__ug{height:14px;background-position:-5285px 0}.iti__flag.iti__uk{height:10px;background-position:-5307px 0}.iti__flag.iti__um{height:11px;background-position:-5329px 0}.iti__flag.iti__un{height:14px;background-position:-5351px 0}.iti__flag.iti__us{height:11px;background-position:-5373px 0}.iti__flag.iti__uy{height:14px;background-position:-5395px 0}.iti__flag.iti__uz{height:10px;background-position:-5417px 0}.iti__flag.iti__va{height:15px;background-position:-5439px 0}.iti__flag.iti__vc{height:14px;background-position:-5456px 0}.iti__flag.iti__ve{height:14px;background-position:-5478px 0}.iti__flag.iti__vg{height:10px;background-position:-5500px 0}.iti__flag.iti__vi{height:14px;background-position:-5522px 0}.iti__flag.iti__vn{height:14px;background-position:-5544px 0}.iti__flag.iti__vu{height:12px;background-position:-5566px 0}.iti__flag.iti__wf{height:14px;background-position:-5588px 0}.iti__flag.iti__ws{height:10px;background-position:-5610px 0}.iti__flag.iti__xk{height:15px;background-position:-5632px 0}.iti__flag.iti__ye{height:14px;background-position:-5654px 0}.iti__flag.iti__yt{height:14px;background-position:-5676px 0}.iti__flag.iti__za{height:14px;background-position:-5698px 0}.iti__flag.iti__zm{height:14px;background-position:-5720px 0}.iti__flag.iti__zw{height:10px;background-position:-5742px 0}.iti__flag{height:15px;box-shadow:0 0 1px 0 #888;background-image:url(../img/flags.png?1);background-repeat:no-repeat;background-color:#dbdbdb;background-position:20px 0}@media (min-resolution:2x){.iti__flag{background-image:url(../img/flags@2x.png?1)}}.iti__flag.iti__np{background-color:transparent}
1
+ .iti{position:relative;display:inline-block}.iti *{box-sizing:border-box}.iti__hide{display:none}.iti__v-hide{visibility:hidden}.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-top:0!important;margin-bottom:0!important;padding-right:36px;margin-right:0}.iti__flag-container{position:absolute;top:0;bottom:0;right:0;padding:1px}.iti__selected-flag{z-index:1;position:relative;display:flex;align-items:center;height:100%;padding:0 6px 0 8px}.iti__arrow{margin-left:6px;width:0;height:0;border-left:3px solid transparent;border-right:3px solid transparent;border-top:4px solid #555}[dir=rtl] .iti__arrow{margin-right:6px;margin-left:0}.iti__arrow--up{border-top:none;border-bottom:4px solid #555}.iti__dropdown-content{position:absolute;z-index:2;margin-left:-1px;box-shadow:1px 1px 4px rgba(0,0,0,.2);background-color:#fff;border:1px solid #ccc;max-height:200px;overflow-y:scroll;-webkit-overflow-scrolling:touch}.iti__dropdown-content--dropup{bottom:100%;margin-bottom:-1px}.iti__search-input{width:100%;border-width:0}.iti__country-list{list-style:none;padding:0;margin:0}.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__flag-box{display:inline-block;width:20px}.iti__divider{padding-bottom:5px;margin-bottom:5px;border-bottom:1px solid #ccc}.iti__country{display:flex;align-items:center;padding:5px 10px;outline:0}.iti__dial-code{color:#999}.iti__country.iti__highlight{background-color:rgba(0,0,0,.05)}.iti__country-name,.iti__flag-box{margin-right:6px}[dir=rtl] .iti__country-name,[dir=rtl] .iti__flag-box{margin-right:0;margin-left:6px}.iti--allow-dropdown input.iti__tel-input,.iti--allow-dropdown input.iti__tel-input[type=tel],.iti--allow-dropdown input.iti__tel-input[type=text],.iti--separate-dial-code input.iti__tel-input,.iti--separate-dial-code input.iti__tel-input[type=tel],.iti--separate-dial-code input.iti__tel-input[type=text]{padding-right:6px;padding-left:52px;margin-left:0}[dir=rtl] .iti--allow-dropdown input.iti__tel-input,[dir=rtl] .iti--allow-dropdown input.iti__tel-input[type=tel],[dir=rtl] .iti--allow-dropdown input.iti__tel-input[type=text],[dir=rtl] .iti--separate-dial-code input.iti__tel-input,[dir=rtl] .iti--separate-dial-code input.iti__tel-input[type=tel],[dir=rtl] .iti--separate-dial-code input.iti__tel-input[type=text]{padding-right:52px;padding-left:6px;margin-right:0}.iti--allow-dropdown .iti__flag-container,.iti--separate-dial-code .iti__flag-container{right:auto;left:0}[dir=rtl] .iti--allow-dropdown .iti__flag-container,[dir=rtl] .iti--separate-dial-code .iti__flag-container{right:0;left:auto}.iti--allow-dropdown .iti__flag-container:hover{cursor:pointer}.iti--allow-dropdown .iti__flag-container:hover .iti__selected-flag{background-color:rgba(0,0,0,.05)}.iti--allow-dropdown .iti__flag-container:has(+input[disabled]):hover,.iti--allow-dropdown .iti__flag-container:has(+input[readonly]):hover{cursor:default}.iti--allow-dropdown .iti__flag-container:has(+input[disabled]):hover .iti__selected-flag,.iti--allow-dropdown .iti__flag-container:has(+input[readonly]):hover .iti__selected-flag{background-color:transparent}.iti--separate-dial-code .iti__selected-flag{background-color:rgba(0,0,0,.05)}.iti--separate-dial-code.iti--show-flags .iti__selected-dial-code{margin-left:6px}[dir=rtl] .iti--separate-dial-code.iti--show-flags .iti__selected-dial-code{margin-left:0;margin-right:6px}.iti--container{position:absolute;top:-1000px;left:-1000px;z-index:1060;padding:1px}.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:30px;display:flex;flex-direction:column;justify-content:center}.iti--fullscreen-popup .iti__dropdown-content{max-height:100%;position:relative}.iti--fullscreen-popup .iti__country{padding:10px 10px;line-height:1.5em}.iti__flag{width:20px}.iti__flag.iti__be{width:18px}.iti__flag.iti__ch{width:15px}.iti__flag.iti__mc{width:19px}.iti__flag.iti__ne{width:18px}.iti__flag.iti__np{width:13px}.iti__flag.iti__va{width:15px}@media (min-resolution:2x){.iti__flag{background-size:5762px 15px}}.iti__flag.iti__ac{height:10px;background-position:0 0}.iti__flag.iti__ad{height:14px;background-position:-22px 0}.iti__flag.iti__ae{height:10px;background-position:-44px 0}.iti__flag.iti__af{height:14px;background-position:-66px 0}.iti__flag.iti__ag{height:14px;background-position:-88px 0}.iti__flag.iti__ai{height:10px;background-position:-110px 0}.iti__flag.iti__al{height:15px;background-position:-132px 0}.iti__flag.iti__am{height:10px;background-position:-154px 0}.iti__flag.iti__ao{height:14px;background-position:-176px 0}.iti__flag.iti__aq{height:14px;background-position:-198px 0}.iti__flag.iti__ar{height:13px;background-position:-220px 0}.iti__flag.iti__as{height:10px;background-position:-242px 0}.iti__flag.iti__at{height:14px;background-position:-264px 0}.iti__flag.iti__au{height:10px;background-position:-286px 0}.iti__flag.iti__aw{height:14px;background-position:-308px 0}.iti__flag.iti__ax{height:13px;background-position:-330px 0}.iti__flag.iti__az{height:10px;background-position:-352px 0}.iti__flag.iti__ba{height:10px;background-position:-374px 0}.iti__flag.iti__bb{height:14px;background-position:-396px 0}.iti__flag.iti__bd{height:12px;background-position:-418px 0}.iti__flag.iti__be{height:15px;background-position:-440px 0}.iti__flag.iti__bf{height:14px;background-position:-460px 0}.iti__flag.iti__bg{height:12px;background-position:-482px 0}.iti__flag.iti__bh{height:12px;background-position:-504px 0}.iti__flag.iti__bi{height:12px;background-position:-526px 0}.iti__flag.iti__bj{height:14px;background-position:-548px 0}.iti__flag.iti__bl{height:14px;background-position:-570px 0}.iti__flag.iti__bm{height:10px;background-position:-592px 0}.iti__flag.iti__bn{height:10px;background-position:-614px 0}.iti__flag.iti__bo{height:14px;background-position:-636px 0}.iti__flag.iti__bq{height:14px;background-position:-658px 0}.iti__flag.iti__br{height:14px;background-position:-680px 0}.iti__flag.iti__bs{height:10px;background-position:-702px 0}.iti__flag.iti__bt{height:14px;background-position:-724px 0}.iti__flag.iti__bv{height:15px;background-position:-746px 0}.iti__flag.iti__bw{height:14px;background-position:-768px 0}.iti__flag.iti__by{height:10px;background-position:-790px 0}.iti__flag.iti__bz{height:12px;background-position:-812px 0}.iti__flag.iti__ca{height:10px;background-position:-834px 0}.iti__flag.iti__cc{height:10px;background-position:-856px 0}.iti__flag.iti__cd{height:15px;background-position:-878px 0}.iti__flag.iti__cf{height:14px;background-position:-900px 0}.iti__flag.iti__cg{height:14px;background-position:-922px 0}.iti__flag.iti__ch{height:15px;background-position:-944px 0}.iti__flag.iti__ci{height:14px;background-position:-961px 0}.iti__flag.iti__ck{height:10px;background-position:-983px 0}.iti__flag.iti__cl{height:14px;background-position:-1005px 0}.iti__flag.iti__cm{height:14px;background-position:-1027px 0}.iti__flag.iti__cn{height:14px;background-position:-1049px 0}.iti__flag.iti__co{height:14px;background-position:-1071px 0}.iti__flag.iti__cp{height:14px;background-position:-1093px 0}.iti__flag.iti__cq{height:12px;background-position:-1115px 0}.iti__flag.iti__cr{height:12px;background-position:-1137px 0}.iti__flag.iti__cu{height:10px;background-position:-1159px 0}.iti__flag.iti__cv{height:12px;background-position:-1181px 0}.iti__flag.iti__cw{height:14px;background-position:-1203px 0}.iti__flag.iti__cx{height:10px;background-position:-1225px 0}.iti__flag.iti__cy{height:14px;background-position:-1247px 0}.iti__flag.iti__cz{height:14px;background-position:-1269px 0}.iti__flag.iti__de{height:12px;background-position:-1291px 0}.iti__flag.iti__dg{height:10px;background-position:-1313px 0}.iti__flag.iti__dj{height:14px;background-position:-1335px 0}.iti__flag.iti__dk{height:15px;background-position:-1357px 0}.iti__flag.iti__dm{height:10px;background-position:-1379px 0}.iti__flag.iti__do{height:14px;background-position:-1401px 0}.iti__flag.iti__dz{height:14px;background-position:-1423px 0}.iti__flag.iti__ea{height:14px;background-position:-1445px 0}.iti__flag.iti__ec{height:14px;background-position:-1467px 0}.iti__flag.iti__ee{height:13px;background-position:-1489px 0}.iti__flag.iti__eg{height:14px;background-position:-1511px 0}.iti__flag.iti__eh{height:10px;background-position:-1533px 0}.iti__flag.iti__er{height:10px;background-position:-1555px 0}.iti__flag.iti__es{height:14px;background-position:-1577px 0}.iti__flag.iti__et{height:10px;background-position:-1599px 0}.iti__flag.iti__eu{height:14px;background-position:-1621px 0}.iti__flag.iti__ez{height:14px;background-position:-1643px 0}.iti__flag.iti__fi{height:12px;background-position:-1665px 0}.iti__flag.iti__fj{height:10px;background-position:-1687px 0}.iti__flag.iti__fk{height:10px;background-position:-1709px 0}.iti__flag.iti__fm{height:11px;background-position:-1731px 0}.iti__flag.iti__fo{height:15px;background-position:-1753px 0}.iti__flag.iti__fr{height:14px;background-position:-1775px 0}.iti__flag.iti__fx{height:14px;background-position:-1797px 0}.iti__flag.iti__ga{height:15px;background-position:-1819px 0}.iti__flag.iti__gb{height:10px;background-position:-1841px 0}.iti__flag.iti__gd{height:12px;background-position:-1863px 0}.iti__flag.iti__ge{height:14px;background-position:-1885px 0}.iti__flag.iti__gf{height:14px;background-position:-1907px 0}.iti__flag.iti__gg{height:14px;background-position:-1929px 0}.iti__flag.iti__gh{height:14px;background-position:-1951px 0}.iti__flag.iti__gi{height:10px;background-position:-1973px 0}.iti__flag.iti__gl{height:14px;background-position:-1995px 0}.iti__flag.iti__gm{height:14px;background-position:-2017px 0}.iti__flag.iti__gn{height:14px;background-position:-2039px 0}.iti__flag.iti__gp{height:14px;background-position:-2061px 0}.iti__flag.iti__gq{height:14px;background-position:-2083px 0}.iti__flag.iti__gr{height:14px;background-position:-2105px 0}.iti__flag.iti__gs{height:10px;background-position:-2127px 0}.iti__flag.iti__gt{height:13px;background-position:-2149px 0}.iti__flag.iti__gu{height:11px;background-position:-2171px 0}.iti__flag.iti__gw{height:10px;background-position:-2193px 0}.iti__flag.iti__gy{height:12px;background-position:-2215px 0}.iti__flag.iti__hk{height:14px;background-position:-2237px 0}.iti__flag.iti__hm{height:10px;background-position:-2259px 0}.iti__flag.iti__hn{height:10px;background-position:-2281px 0}.iti__flag.iti__hr{height:10px;background-position:-2303px 0}.iti__flag.iti__ht{height:12px;background-position:-2325px 0}.iti__flag.iti__hu{height:10px;background-position:-2347px 0}.iti__flag.iti__ic{height:14px;background-position:-2369px 0}.iti__flag.iti__id{height:14px;background-position:-2391px 0}.iti__flag.iti__ie{height:10px;background-position:-2413px 0}.iti__flag.iti__il{height:15px;background-position:-2435px 0}.iti__flag.iti__im{height:10px;background-position:-2457px 0}.iti__flag.iti__in{height:14px;background-position:-2479px 0}.iti__flag.iti__io{height:10px;background-position:-2501px 0}.iti__flag.iti__iq{height:14px;background-position:-2523px 0}.iti__flag.iti__ir{height:12px;background-position:-2545px 0}.iti__flag.iti__is{height:15px;background-position:-2567px 0}.iti__flag.iti__it{height:14px;background-position:-2589px 0}.iti__flag.iti__je{height:12px;background-position:-2611px 0}.iti__flag.iti__jm{height:10px;background-position:-2633px 0}.iti__flag.iti__jo{height:10px;background-position:-2655px 0}.iti__flag.iti__jp{height:14px;background-position:-2677px 0}.iti__flag.iti__ke{height:14px;background-position:-2699px 0}.iti__flag.iti__kg{height:12px;background-position:-2721px 0}.iti__flag.iti__kh{height:13px;background-position:-2743px 0}.iti__flag.iti__ki{height:10px;background-position:-2765px 0}.iti__flag.iti__km{height:12px;background-position:-2787px 0}.iti__flag.iti__kn{height:14px;background-position:-2809px 0}.iti__flag.iti__kp{height:10px;background-position:-2831px 0}.iti__flag.iti__kr{height:14px;background-position:-2853px 0}.iti__flag.iti__kw{height:10px;background-position:-2875px 0}.iti__flag.iti__ky{height:10px;background-position:-2897px 0}.iti__flag.iti__kz{height:10px;background-position:-2919px 0}.iti__flag.iti__la{height:14px;background-position:-2941px 0}.iti__flag.iti__lb{height:14px;background-position:-2963px 0}.iti__flag.iti__lc{height:10px;background-position:-2985px 0}.iti__flag.iti__li{height:12px;background-position:-3007px 0}.iti__flag.iti__lk{height:10px;background-position:-3029px 0}.iti__flag.iti__lr{height:11px;background-position:-3051px 0}.iti__flag.iti__ls{height:14px;background-position:-3073px 0}.iti__flag.iti__lt{height:12px;background-position:-3095px 0}.iti__flag.iti__lu{height:12px;background-position:-3117px 0}.iti__flag.iti__lv{height:10px;background-position:-3139px 0}.iti__flag.iti__ly{height:10px;background-position:-3161px 0}.iti__flag.iti__ma{height:14px;background-position:-3183px 0}.iti__flag.iti__mc{height:15px;background-position:-3205px 0}.iti__flag.iti__md{height:10px;background-position:-3226px 0}.iti__flag.iti__me{height:10px;background-position:-3248px 0}.iti__flag.iti__mf{height:14px;background-position:-3270px 0}.iti__flag.iti__mg{height:14px;background-position:-3292px 0}.iti__flag.iti__mh{height:11px;background-position:-3314px 0}.iti__flag.iti__mk{height:10px;background-position:-3336px 0}.iti__flag.iti__ml{height:14px;background-position:-3358px 0}.iti__flag.iti__mm{height:14px;background-position:-3380px 0}.iti__flag.iti__mn{height:10px;background-position:-3402px 0}.iti__flag.iti__mo{height:14px;background-position:-3424px 0}.iti__flag.iti__mp{height:10px;background-position:-3446px 0}.iti__flag.iti__mq{height:14px;background-position:-3468px 0}.iti__flag.iti__mr{height:14px;background-position:-3490px 0}.iti__flag.iti__ms{height:10px;background-position:-3512px 0}.iti__flag.iti__mt{height:14px;background-position:-3534px 0}.iti__flag.iti__mu{height:14px;background-position:-3556px 0}.iti__flag.iti__mv{height:14px;background-position:-3578px 0}.iti__flag.iti__mw{height:14px;background-position:-3600px 0}.iti__flag.iti__mx{height:12px;background-position:-3622px 0}.iti__flag.iti__my{height:10px;background-position:-3644px 0}.iti__flag.iti__mz{height:14px;background-position:-3666px 0}.iti__flag.iti__na{height:14px;background-position:-3688px 0}.iti__flag.iti__nc{height:10px;background-position:-3710px 0}.iti__flag.iti__ne{height:15px;background-position:-3732px 0}.iti__flag.iti__nf{height:10px;background-position:-3752px 0}.iti__flag.iti__ng{height:10px;background-position:-3774px 0}.iti__flag.iti__ni{height:12px;background-position:-3796px 0}.iti__flag.iti__nl{height:14px;background-position:-3818px 0}.iti__flag.iti__no{height:15px;background-position:-3840px 0}.iti__flag.iti__np{height:15px;background-position:-3862px 0}.iti__flag.iti__nr{height:10px;background-position:-3877px 0}.iti__flag.iti__nu{height:10px;background-position:-3899px 0}.iti__flag.iti__nz{height:10px;background-position:-3921px 0}.iti__flag.iti__om{height:10px;background-position:-3943px 0}.iti__flag.iti__pa{height:14px;background-position:-3965px 0}.iti__flag.iti__pe{height:14px;background-position:-3987px 0}.iti__flag.iti__pf{height:14px;background-position:-4009px 0}.iti__flag.iti__pg{height:15px;background-position:-4031px 0}.iti__flag.iti__ph{height:10px;background-position:-4053px 0}.iti__flag.iti__pk{height:14px;background-position:-4075px 0}.iti__flag.iti__pl{height:13px;background-position:-4097px 0}.iti__flag.iti__pm{height:14px;background-position:-4119px 0}.iti__flag.iti__pn{height:10px;background-position:-4141px 0}.iti__flag.iti__pr{height:14px;background-position:-4163px 0}.iti__flag.iti__ps{height:10px;background-position:-4185px 0}.iti__flag.iti__pt{height:14px;background-position:-4207px 0}.iti__flag.iti__pw{height:13px;background-position:-4229px 0}.iti__flag.iti__py{height:11px;background-position:-4251px 0}.iti__flag.iti__qa{height:8px;background-position:-4273px 0}.iti__flag.iti__re{height:14px;background-position:-4295px 0}.iti__flag.iti__ro{height:14px;background-position:-4317px 0}.iti__flag.iti__rs{height:14px;background-position:-4339px 0}.iti__flag.iti__ru{height:14px;background-position:-4361px 0}.iti__flag.iti__rw{height:14px;background-position:-4383px 0}.iti__flag.iti__sa{height:14px;background-position:-4405px 0}.iti__flag.iti__sb{height:10px;background-position:-4427px 0}.iti__flag.iti__sc{height:10px;background-position:-4449px 0}.iti__flag.iti__sd{height:10px;background-position:-4471px 0}.iti__flag.iti__se{height:13px;background-position:-4493px 0}.iti__flag.iti__sg{height:14px;background-position:-4515px 0}.iti__flag.iti__sh{height:10px;background-position:-4537px 0}.iti__flag.iti__si{height:10px;background-position:-4559px 0}.iti__flag.iti__sj{height:15px;background-position:-4581px 0}.iti__flag.iti__sk{height:14px;background-position:-4603px 0}.iti__flag.iti__sl{height:14px;background-position:-4625px 0}.iti__flag.iti__sm{height:15px;background-position:-4647px 0}.iti__flag.iti__sn{height:14px;background-position:-4669px 0}.iti__flag.iti__so{height:14px;background-position:-4691px 0}.iti__flag.iti__sr{height:14px;background-position:-4713px 0}.iti__flag.iti__ss{height:10px;background-position:-4735px 0}.iti__flag.iti__st{height:10px;background-position:-4757px 0}.iti__flag.iti__su{height:10px;background-position:-4779px 0}.iti__flag.iti__sv{height:12px;background-position:-4801px 0}.iti__flag.iti__sx{height:14px;background-position:-4823px 0}.iti__flag.iti__sy{height:14px;background-position:-4845px 0}.iti__flag.iti__sz{height:14px;background-position:-4867px 0}.iti__flag.iti__ta{height:10px;background-position:-4889px 0}.iti__flag.iti__tc{height:10px;background-position:-4911px 0}.iti__flag.iti__td{height:14px;background-position:-4933px 0}.iti__flag.iti__tf{height:14px;background-position:-4955px 0}.iti__flag.iti__tg{height:13px;background-position:-4977px 0}.iti__flag.iti__th{height:14px;background-position:-4999px 0}.iti__flag.iti__tj{height:10px;background-position:-5021px 0}.iti__flag.iti__tk{height:10px;background-position:-5043px 0}.iti__flag.iti__tl{height:10px;background-position:-5065px 0}.iti__flag.iti__tm{height:14px;background-position:-5087px 0}.iti__flag.iti__tn{height:14px;background-position:-5109px 0}.iti__flag.iti__to{height:10px;background-position:-5131px 0}.iti__flag.iti__tr{height:14px;background-position:-5153px 0}.iti__flag.iti__tt{height:12px;background-position:-5175px 0}.iti__flag.iti__tv{height:10px;background-position:-5197px 0}.iti__flag.iti__tw{height:14px;background-position:-5219px 0}.iti__flag.iti__tz{height:14px;background-position:-5241px 0}.iti__flag.iti__ua{height:14px;background-position:-5263px 0}.iti__flag.iti__ug{height:14px;background-position:-5285px 0}.iti__flag.iti__uk{height:10px;background-position:-5307px 0}.iti__flag.iti__um{height:11px;background-position:-5329px 0}.iti__flag.iti__un{height:14px;background-position:-5351px 0}.iti__flag.iti__us{height:11px;background-position:-5373px 0}.iti__flag.iti__uy{height:14px;background-position:-5395px 0}.iti__flag.iti__uz{height:10px;background-position:-5417px 0}.iti__flag.iti__va{height:15px;background-position:-5439px 0}.iti__flag.iti__vc{height:14px;background-position:-5456px 0}.iti__flag.iti__ve{height:14px;background-position:-5478px 0}.iti__flag.iti__vg{height:10px;background-position:-5500px 0}.iti__flag.iti__vi{height:14px;background-position:-5522px 0}.iti__flag.iti__vn{height:14px;background-position:-5544px 0}.iti__flag.iti__vu{height:12px;background-position:-5566px 0}.iti__flag.iti__wf{height:14px;background-position:-5588px 0}.iti__flag.iti__ws{height:10px;background-position:-5610px 0}.iti__flag.iti__xk{height:15px;background-position:-5632px 0}.iti__flag.iti__ye{height:14px;background-position:-5654px 0}.iti__flag.iti__yt{height:14px;background-position:-5676px 0}.iti__flag.iti__za{height:14px;background-position:-5698px 0}.iti__flag.iti__zm{height:14px;background-position:-5720px 0}.iti__flag.iti__zw{height:10px;background-position:-5742px 0}.iti__flag{height:15px;box-shadow:0 0 1px 0 #888;background-image:url(../img/flags.png?1);background-repeat:no-repeat;background-color:#dbdbdb;background-position:20px 0}@media (min-resolution:2x){.iti__flag{background-image:url(../img/flags@2x.png?1)}}.iti__flag.iti__np{background-color:transparent}
package/build/js/data.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /*
2
- * International Telephone Input v18.4.0
2
+ * International Telephone Input v18.5.1
3
3
  * https://github.com/jackocnr/intl-tel-input.git
4
4
  * Licensed under the MIT license
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /*
2
- * International Telephone Input v18.4.0
2
+ * International Telephone Input v18.5.1
3
3
  * https://github.com/jackocnr/intl-tel-input.git
4
4
  * Licensed under the MIT license
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /*
2
- * International Telephone Input v18.4.0
2
+ * International Telephone Input v18.5.1
3
3
  * https://github.com/jackocnr/intl-tel-input.git
4
4
  * Licensed under the MIT license
5
5
  */
@@ -131,6 +131,8 @@
131
131
  autoInsertDialCode: false,
132
132
  // add a placeholder in the input with an example number for the selected country
133
133
  autoPlaceholder: "polite",
134
+ // add a country search input at the top of the dropdown
135
+ countrySearch: false,
134
136
  // modify the parentClass
135
137
  customContainer: "",
136
138
  // modify the auto placeholder
@@ -214,6 +216,10 @@
214
216
  if (this.options.useFullscreenPopup) {
215
217
  this.options.fixDropdownWidth = false;
216
218
  }
219
+ // when search enabled, we must fix the width else it would change with different results
220
+ if (this.options.countrySearch && !this.options.useFullscreenPopup) {
221
+ this.options.fixDropdownWidth = true;
222
+ }
217
223
  // if in nationalMode, do not insert dial codes
218
224
  if (this.options.nationalMode) {
219
225
  this.options.autoInsertDialCode = false;
@@ -415,6 +421,7 @@
415
421
  }, {
416
422
  key: "_generateMarkup",
417
423
  value: function _generateMarkup() {
424
+ this.telInput.classList.add("iti__tel-input");
418
425
  // if autocomplete does not exist on the element and its form, then
419
426
  // prevent autocomplete as there's no safe, cross-browser event we can react to, so it can
420
427
  // easily put the plugin in an inconsistent state e.g. the wrong flag selected for the
@@ -422,7 +429,7 @@
422
429
  if (!this.telInput.hasAttribute("autocomplete") && !(this.telInput.form && this.telInput.form.hasAttribute("autocomplete"))) {
423
430
  this.telInput.setAttribute("autocomplete", "off");
424
431
  }
425
- var _this$options = this.options, allowDropdown = _this$options.allowDropdown, separateDialCode = _this$options.separateDialCode, showFlags = _this$options.showFlags, customContainer = _this$options.customContainer, hiddenInput = _this$options.hiddenInput, dropdownContainer = _this$options.dropdownContainer, fixDropdownWidth = _this$options.fixDropdownWidth, useFullscreenPopup = _this$options.useFullscreenPopup;
432
+ var _this$options = this.options, allowDropdown = _this$options.allowDropdown, separateDialCode = _this$options.separateDialCode, showFlags = _this$options.showFlags, customContainer = _this$options.customContainer, hiddenInput = _this$options.hiddenInput, dropdownContainer = _this$options.dropdownContainer, fixDropdownWidth = _this$options.fixDropdownWidth, useFullscreenPopup = _this$options.useFullscreenPopup, countrySearch = _this$options.countrySearch;
426
433
  // containers (mostly for positioning)
427
434
  var parentClass = "iti";
428
435
  if (allowDropdown) {
@@ -487,14 +494,24 @@
487
494
  this.dropdownArrow = this._createEl("div", {
488
495
  "class": "iti__arrow"
489
496
  }, this.selectedFlag);
490
- // country dropdown: preferred countries, then divider, then all countries
497
+ this.dropdownContent = this._createEl("div", {
498
+ "class": "iti__dropdown-content iti__hide"
499
+ });
500
+ if (countrySearch) {
501
+ this.searchInput = this._createEl("input", {
502
+ type: "text",
503
+ "class": "iti__search-input",
504
+ placeholder: "Search"
505
+ }, this.dropdownContent);
506
+ }
507
+ // country list: preferred countries, then divider, then all countries
491
508
  this.countryList = this._createEl("ul", {
492
- "class": "iti__country-list iti__hide",
509
+ "class": "iti__country-list",
493
510
  id: "iti-".concat(this.id, "__country-listbox"),
494
511
  role: "listbox",
495
512
  "aria-label": "List of countries"
496
- });
497
- if (this.preferredCountries.length) {
513
+ }, this.dropdownContent);
514
+ if (this.preferredCountries.length && !countrySearch) {
498
515
  this._appendListItems(this.preferredCountries, "iti__preferred", true);
499
516
  this._createEl("li", {
500
517
  "class": "iti__divider",
@@ -504,13 +521,19 @@
504
521
  this._appendListItems(this.countries, "iti__standard");
505
522
  // create dropdownContainer markup
506
523
  if (dropdownContainer) {
507
- var fullscreenClass = useFullscreenPopup ? "iti--fullscreen-popup" : "";
524
+ var dropdownClasses = "iti iti--container";
525
+ if (useFullscreenPopup) {
526
+ dropdownClasses += " iti--fullscreen-popup";
527
+ }
528
+ if (countrySearch) {
529
+ dropdownClasses += " iti--country-search";
530
+ }
508
531
  this.dropdown = this._createEl("div", {
509
- "class": "iti iti--container ".concat(fullscreenClass)
532
+ "class": dropdownClasses
510
533
  });
511
- this.dropdown.appendChild(this.countryList);
534
+ this.dropdown.appendChild(this.dropdownContent);
512
535
  } else {
513
- this.flagsContainer.appendChild(this.countryList);
536
+ this.flagsContainer.appendChild(this.dropdownContent);
514
537
  }
515
538
  }
516
539
  if (hiddenInput) {
@@ -534,26 +557,30 @@
534
557
  }, {
535
558
  key: "_appendListItems",
536
559
  value: function _appendListItems(countries, className, preferred) {
537
- // we create so many DOM elements, it is faster to build a temp string
538
- // and then add everything to the DOM in one go at the end
539
- var tmp = "";
540
- // for each country
541
560
  for (var i = 0; i < countries.length; i++) {
542
561
  var c = countries[i];
543
562
  var idSuffix = preferred ? "-preferred" : "";
544
- // open the list item
545
- tmp += "<li class='iti__country ".concat(className, "' tabIndex='-1' id='iti-").concat(this.id, "__item-").concat(c.iso2).concat(idSuffix, "' role='option' data-dial-code='").concat(c.dialCode, "' data-country-code='").concat(c.iso2, "' aria-selected='false'>");
563
+ var listItem = this._createEl("li", {
564
+ id: "iti-".concat(this.id, "__item-").concat(c.iso2).concat(idSuffix),
565
+ "class": "iti__country ".concat(className),
566
+ tabindex: "-1",
567
+ role: "option",
568
+ "data-dial-code": c.dialCode,
569
+ "data-country-code": c.iso2,
570
+ "aria-selected": "false"
571
+ }, this.countryList);
572
+ // store this for later use e.g. country search filtering
573
+ c.node = listItem;
574
+ var content = "";
546
575
  // add the flag
547
576
  if (this.options.showFlags) {
548
- tmp += "<div class='iti__flag-box'><div class='iti__flag iti__".concat(c.iso2, "'></div></div>");
577
+ content += "<div class='iti__flag-box'><div class='iti__flag iti__".concat(c.iso2, "'></div></div>");
549
578
  }
550
579
  // and the country name and dial code
551
- tmp += "<span class='iti__country-name'>".concat(c.name, "</span>");
552
- tmp += "<span class='iti__dial-code'>+".concat(c.dialCode, "</span>");
553
- // close the list item
554
- tmp += "</li>";
580
+ content += "<span class='iti__country-name'>".concat(c.name, "</span>");
581
+ content += "<span class='iti__dial-code'>+".concat(c.dialCode, "</span>");
582
+ listItem.insertAdjacentHTML("beforeend", content);
555
583
  }
556
- this.countryList.insertAdjacentHTML("beforeend", tmp);
557
584
  }
558
585
  }, {
559
586
  key: "_setInitialState",
@@ -642,7 +669,7 @@
642
669
  // close it again
643
670
  this._handleLabelClick = function(e) {
644
671
  // if the dropdown is closed, then focus the input, else ignore the click
645
- if (_this4.countryList.classList.contains("iti__hide")) {
672
+ if (_this4.dropdownContent.classList.contains("iti__hide")) {
646
673
  _this4.telInput.focus();
647
674
  } else {
648
675
  e.preventDefault();
@@ -657,15 +684,15 @@
657
684
  // only intercept this event if we're opening the dropdown
658
685
  // else let it bubble up to the top ("click-off-to-close" listener)
659
686
  // we cannot just stopPropagation as it may be needed to close another instance
660
- if (_this4.countryList.classList.contains("iti__hide") && !_this4.telInput.disabled && !_this4.telInput.readOnly) {
687
+ if (_this4.dropdownContent.classList.contains("iti__hide") && !_this4.telInput.disabled && !_this4.telInput.readOnly) {
661
688
  _this4._showDropdown();
662
689
  }
663
690
  };
664
691
  this.selectedFlag.addEventListener("click", this._handleClickSelectedFlag);
665
- // open dropdown list if currently focused
692
+ // open dropdown if selected flag is focused and they press up/down/space/enter
666
693
  this._handleFlagsContainerKeydown = function(e) {
667
- var isDropdownHidden = _this4.countryList.classList.contains("iti__hide");
668
- if (isDropdownHidden && [ "ArrowUp", "Up", "ArrowDown", "Down", " ", "Enter" ].indexOf(e.key) !== -1) {
694
+ var isDropdownHidden = _this4.dropdownContent.classList.contains("iti__hide");
695
+ if (isDropdownHidden && [ "ArrowUp", "ArrowDown", " ", "Enter" ].includes(e.key)) {
669
696
  // prevent form from being submitted if "ENTER" was pressed
670
697
  e.preventDefault();
671
698
  // prevent event from being handled again by document
@@ -800,13 +827,17 @@
800
827
  key: "_showDropdown",
801
828
  value: function _showDropdown() {
802
829
  if (this.options.fixDropdownWidth) {
803
- this.countryList.style.width = "".concat(this.telInput.offsetWidth, "px");
830
+ this.dropdownContent.style.width = "".concat(this.telInput.offsetWidth, "px");
804
831
  }
805
- this.countryList.classList.remove("iti__hide");
832
+ this.dropdownContent.classList.remove("iti__hide");
806
833
  this.selectedFlag.setAttribute("aria-expanded", "true");
807
834
  this._setDropdownPosition();
808
- // update highlighting and scroll to active list item
809
- if (this.activeItem) {
835
+ if (this.options.countrySearch) {
836
+ // start by highlighting the first item in the list
837
+ this._highlightListItem(this.countryList.firstElementChild, false);
838
+ this.searchInput.focus();
839
+ } else if (this.activeItem) {
840
+ // update highlighting and scroll to active list item
810
841
  this._highlightListItem(this.activeItem, false);
811
842
  this._scrollTo(this.activeItem, true);
812
843
  }
@@ -837,18 +868,20 @@
837
868
  // windowTop from https://stackoverflow.com/a/14384091/217866
838
869
  var windowTop = window.pageYOffset || document.documentElement.scrollTop;
839
870
  var inputTop = pos.top + windowTop;
840
- var dropdownHeight = this.countryList.offsetHeight;
871
+ var dropdownHeight = this.dropdownContent.offsetHeight;
841
872
  // dropdownFitsBelow = (dropdownBottom < windowBottom)
842
873
  var dropdownFitsBelow = inputTop + this.telInput.offsetHeight + dropdownHeight < windowTop + window.innerHeight;
843
874
  var dropdownFitsAbove = inputTop - dropdownHeight > windowTop;
875
+ // dont allow positioning above when country search enabled as the search box jumps around as you filter countries
876
+ var positionDropdownAboveInput = !this.options.countrySearch && !dropdownFitsBelow && dropdownFitsAbove;
844
877
  // by default, the dropdown will be below the input. If we want to position it above the
845
878
  // input, we add the dropup class.
846
- this._toggleClass(this.countryList, "iti__country-list--dropup", !dropdownFitsBelow && dropdownFitsAbove);
879
+ this._toggleClass(this.dropdownContent, "iti__dropdown-content--dropup", positionDropdownAboveInput);
847
880
  // if dropdownContainer is enabled, calculate postion
848
881
  if (this.options.dropdownContainer) {
849
882
  // by default the dropdown will be directly over the input because it's not in the flow.
850
883
  // If we want to position it below, we need to add some extra top value.
851
- var extraTop = !dropdownFitsBelow && dropdownFitsAbove ? 0 : this.telInput.offsetHeight;
884
+ var extraTop = positionDropdownAboveInput ? 0 : this.telInput.offsetHeight;
852
885
  // calculate placement
853
886
  this.dropdown.style.top = "".concat(inputTop + extraTop, "px");
854
887
  this.dropdown.style.left = "".concat(pos.left + document.body.scrollLeft, "px");
@@ -903,7 +936,7 @@
903
936
  isOpening = false;
904
937
  };
905
938
  document.documentElement.addEventListener("click", this._handleClickOffToClose);
906
- // listen for up/down scrolling, enter to select, or letters to jump to country name.
939
+ // listen for up/down scrolling, enter to select, or escape to close
907
940
  // use keydown as keypress doesn't fire for non-char keys and we want to catch if they
908
941
  // just hit down and hold it to scroll down (no keyup event).
909
942
  // listen on the document because that's where key events are triggered if no input has focus
@@ -912,15 +945,22 @@
912
945
  this._handleKeydownOnDropdown = function(e) {
913
946
  // prevent down key from scrolling the whole page,
914
947
  // and enter key from submitting a form etc
915
- e.preventDefault();
916
- // up and down to navigate
917
- if (e.key === "ArrowUp" || e.key === "Up" || e.key === "ArrowDown" || e.key === "Down") {
918
- _this9._handleUpDownKey(e.key);
919
- } else if (e.key === "Enter") {
920
- _this9._handleEnterKey();
921
- } else if (e.key === "Escape") {
922
- _this9._closeDropdown();
923
- } else if (/^[a-zA-ZÀ-ÿа-яА-Я ]$/.test(e.key)) {
948
+ if ([ "ArrowUp", "ArrowDown", "Enter", "Escape" ].includes(e.key)) {
949
+ e.preventDefault();
950
+ e.stopPropagation();
951
+ // up and down to navigate
952
+ if (e.key === "ArrowUp" || e.key === "ArrowDown") {
953
+ _this9._handleUpDownKey(e.key);
954
+ } else if (e.key === "Enter") {
955
+ _this9._handleEnterKey();
956
+ } else if (e.key === "Escape") {
957
+ _this9._closeDropdown();
958
+ }
959
+ }
960
+ // alpha chars to perform search
961
+ // regex allows one latin alpha char or space, based on https://stackoverflow.com/a/26900132/217866)
962
+ if (!_this9.options.countrySearch && /^[a-zA-ZÀ-ÿа-яА-Я ]$/.test(e.key)) {
963
+ e.stopPropagation();
924
964
  // jump to countries that start with the query string
925
965
  if (queryTimer) {
926
966
  clearTimeout(queryTimer);
@@ -934,17 +974,73 @@
934
974
  }
935
975
  };
936
976
  document.addEventListener("keydown", this._handleKeydownOnDropdown);
977
+ if (this.options.countrySearch) {
978
+ var doFilter = function doFilter() {
979
+ var inputQuery = _this9.searchInput.value.trim();
980
+ if (inputQuery) {
981
+ _this9._filterCountries(inputQuery.toLowerCase());
982
+ } else {
983
+ _this9._filterCountries(null, true);
984
+ }
985
+ };
986
+ var keyupTimer = null;
987
+ this._handleSearchChange = function() {
988
+ // filtering country nodes is expensive (lots of DOM manipulation), so rate limit it
989
+ if (keyupTimer) {
990
+ clearTimeout(keyupTimer);
991
+ }
992
+ keyupTimer = setTimeout(function() {
993
+ doFilter();
994
+ keyupTimer = null;
995
+ }, 100);
996
+ };
997
+ this.searchInput.addEventListener("input", this._handleSearchChange);
998
+ // stop propagation on search input click, so doesn't trigger click-off-to-close listener
999
+ this.searchInput.addEventListener("click", function(e) {
1000
+ return e.stopPropagation();
1001
+ });
1002
+ }
1003
+ }
1004
+ }, {
1005
+ key: "_filterCountries",
1006
+ value: function _filterCountries(query) {
1007
+ var isReset = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
1008
+ var isFirst = true;
1009
+ this.countryList.innerHTML = "";
1010
+ for (var i = 0; i < this.countries.length; i++) {
1011
+ var c = this.countries[i];
1012
+ var nameLower = c.name.toLowerCase();
1013
+ var fullDialCode = "+".concat(c.dialCode);
1014
+ if (isReset || nameLower.includes(query) || fullDialCode.includes(query)) {
1015
+ this.countryList.appendChild(c.node);
1016
+ // highlight the first item
1017
+ if (isFirst) {
1018
+ this._highlightListItem(c.node, false);
1019
+ isFirst = false;
1020
+ }
1021
+ }
1022
+ }
937
1023
  }
938
1024
  }, {
939
1025
  key: "_handleUpDownKey",
940
1026
  value: function _handleUpDownKey(key) {
941
- var next = key === "ArrowUp" || key === "Up" ? this.highlightedItem.previousElementSibling : this.highlightedItem.nextElementSibling;
1027
+ var next = key === "ArrowUp" ? this.highlightedItem.previousElementSibling : this.highlightedItem.nextElementSibling;
942
1028
  if (next) {
943
1029
  // skip the divider
944
1030
  if (next.classList.contains("iti__divider")) {
945
- next = key === "ArrowUp" || key === "Up" ? next.previousElementSibling : next.nextElementSibling;
1031
+ next = key === "ArrowUp" ? next.previousElementSibling : next.nextElementSibling;
1032
+ }
1033
+ } else if (this.countryList.childElementCount > 1) {
1034
+ // otherwise, we must be at the end, so loop round again
1035
+ next = key === "ArrowUp" ? this.countryList.lastElementChild : this.countryList.firstElementChild;
1036
+ }
1037
+ if (next) {
1038
+ // if country search enabled, dont lose focus from the search input on up/down
1039
+ var doFocus = !this.options.countrySearch;
1040
+ this._highlightListItem(next, doFocus);
1041
+ if (this.options.countrySearch) {
1042
+ this._scrollTo(next, false);
946
1043
  }
947
- this._highlightListItem(next, true);
948
1044
  }
949
1045
  }
950
1046
  }, {
@@ -959,7 +1055,7 @@
959
1055
  value: function _searchForCountry(query) {
960
1056
  for (var i = 0; i < this.countries.length; i++) {
961
1057
  if (this._startsWith(this.countries[i].name, query)) {
962
- var listItem = this.countryList.querySelector("#iti-".concat(this.id, "__item-").concat(this.countries[i].iso2));
1058
+ var listItem = this.countries[i].node;
963
1059
  // update highlighting and scroll
964
1060
  this._highlightListItem(listItem, false);
965
1061
  this._scrollTo(listItem, true);
@@ -1199,13 +1295,16 @@
1199
1295
  }, {
1200
1296
  key: "_closeDropdown",
1201
1297
  value: function _closeDropdown() {
1202
- this.countryList.classList.add("iti__hide");
1298
+ this.dropdownContent.classList.add("iti__hide");
1203
1299
  this.selectedFlag.setAttribute("aria-expanded", "false");
1204
1300
  this.selectedFlag.removeAttribute("aria-activedescendant");
1205
1301
  // update the arrow
1206
1302
  this.dropdownArrow.classList.remove("iti__arrow--up");
1207
1303
  // unbind key events
1208
1304
  document.removeEventListener("keydown", this._handleKeydownOnDropdown);
1305
+ if (this.options.countrySearch) {
1306
+ this.searchInput.removeEventListener("input", this._handleSearchChange);
1307
+ }
1209
1308
  document.documentElement.removeEventListener("click", this._handleClickOffToClose);
1210
1309
  this.countryList.removeEventListener("mouseover", this._handleMouseoverCountryList);
1211
1310
  this.countryList.removeEventListener("click", this._handleClickCountryList);
@@ -1223,7 +1322,7 @@
1223
1322
  }, {
1224
1323
  key: "_scrollTo",
1225
1324
  value: function _scrollTo(element, middle) {
1226
- var container = this.countryList;
1325
+ var container = this.dropdownContent;
1227
1326
  // windowTop from https://stackoverflow.com/a/14384091/217866
1228
1327
  var windowTop = window.pageYOffset || document.documentElement.scrollTop;
1229
1328
  var containerHeight = container.offsetHeight;
@@ -1550,7 +1649,7 @@
1550
1649
  // default options
1551
1650
  intlTelInputGlobals.defaults = defaults;
1552
1651
  // version
1553
- intlTelInputGlobals.version = "18.4.0";
1652
+ intlTelInputGlobals.version = "18.5.1";
1554
1653
  var pluginName = "intlTelInput";
1555
1654
  // A really lightweight plugin wrapper around the constructor,
1556
1655
  // preventing against multiple instantiations