govuk_publishing_components 43.3.0 → 43.4.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (53) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/images/govuk_publishing_components/icon-autocomplete-search-suggestion.svg +4 -0
  3. data/app/assets/javascripts/govuk_publishing_components/components/search-with-autocomplete.js +123 -0
  4. data/app/assets/stylesheets/govuk_publishing_components/components/_layout-super-navigation-header.scss +5 -4
  5. data/app/assets/stylesheets/govuk_publishing_components/components/_phase-banner.scss +0 -2
  6. data/app/assets/stylesheets/govuk_publishing_components/components/_search-with-autocomplete.scss +200 -0
  7. data/app/views/govuk_publishing_components/components/_layout_header.html.erb +16 -40
  8. data/app/views/govuk_publishing_components/components/_search.html.erb +16 -14
  9. data/app/views/govuk_publishing_components/components/_search_with_autocomplete.html.erb +27 -0
  10. data/app/views/govuk_publishing_components/components/docs/layout_header.yml +0 -41
  11. data/app/views/govuk_publishing_components/components/docs/phase_banner.yml +4 -0
  12. data/app/views/govuk_publishing_components/components/docs/search_with_autocomplete.yml +61 -0
  13. data/lib/govuk_publishing_components/version.rb +1 -1
  14. data/node_modules/accessible-autocomplete/CHANGELOG.md +390 -0
  15. data/node_modules/accessible-autocomplete/CODEOWNERS +2 -0
  16. data/node_modules/accessible-autocomplete/CONTRIBUTING.md +161 -0
  17. data/node_modules/accessible-autocomplete/LICENSE.txt +20 -0
  18. data/node_modules/accessible-autocomplete/Procfile +1 -0
  19. data/node_modules/accessible-autocomplete/README.md +490 -0
  20. data/node_modules/accessible-autocomplete/accessibility-criteria.md +42 -0
  21. data/node_modules/accessible-autocomplete/app.json +15 -0
  22. data/node_modules/accessible-autocomplete/babel.config.js +29 -0
  23. data/node_modules/accessible-autocomplete/dist/accessible-autocomplete.min.css +3 -0
  24. data/node_modules/accessible-autocomplete/dist/accessible-autocomplete.min.css.map +1 -0
  25. data/node_modules/accessible-autocomplete/dist/accessible-autocomplete.min.js +2 -0
  26. data/node_modules/accessible-autocomplete/dist/accessible-autocomplete.min.js.map +1 -0
  27. data/node_modules/accessible-autocomplete/dist/lib/accessible-autocomplete.preact.min.js +2 -0
  28. data/node_modules/accessible-autocomplete/dist/lib/accessible-autocomplete.preact.min.js.map +1 -0
  29. data/node_modules/accessible-autocomplete/dist/lib/accessible-autocomplete.react.min.js +2 -0
  30. data/node_modules/accessible-autocomplete/dist/lib/accessible-autocomplete.react.min.js.map +1 -0
  31. data/node_modules/accessible-autocomplete/examples/form-single.html +379 -0
  32. data/node_modules/accessible-autocomplete/examples/form.html +673 -0
  33. data/node_modules/accessible-autocomplete/examples/index.html +738 -0
  34. data/node_modules/accessible-autocomplete/examples/preact/index.html +346 -0
  35. data/node_modules/accessible-autocomplete/examples/react/index.html +347 -0
  36. data/node_modules/accessible-autocomplete/package.json +93 -0
  37. data/node_modules/accessible-autocomplete/postcss.config.js +16 -0
  38. data/node_modules/accessible-autocomplete/preact.js +1 -0
  39. data/node_modules/accessible-autocomplete/react.js +1 -0
  40. data/node_modules/accessible-autocomplete/scripts/check-staged.mjs +16 -0
  41. data/node_modules/accessible-autocomplete/src/autocomplete.css +167 -0
  42. data/node_modules/accessible-autocomplete/src/autocomplete.js +608 -0
  43. data/node_modules/accessible-autocomplete/src/dropdown-arrow-down.js +11 -0
  44. data/node_modules/accessible-autocomplete/src/status.js +125 -0
  45. data/node_modules/accessible-autocomplete/src/wrapper.js +60 -0
  46. data/node_modules/accessible-autocomplete/test/functional/dropdown-arrow-down.js +46 -0
  47. data/node_modules/accessible-autocomplete/test/functional/index.js +793 -0
  48. data/node_modules/accessible-autocomplete/test/functional/wrapper.js +339 -0
  49. data/node_modules/accessible-autocomplete/test/integration/index.js +309 -0
  50. data/node_modules/accessible-autocomplete/test/karma.config.js +46 -0
  51. data/node_modules/accessible-autocomplete/test/wdio.config.js +123 -0
  52. data/node_modules/accessible-autocomplete/webpack.config.mjs +244 -0
  53. metadata +46 -2
@@ -0,0 +1,673 @@
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="utf-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1">
6
+ <title>Accessible Autocomplete form example</title>
7
+ <style>
8
+ /* Example page specific styling. */
9
+ html {
10
+ color: #111;
11
+ background: #FFF;
12
+ font-family: -apple-system, BlinkMacSystemFont, 'avenir next', avenir, 'helvetica neue', helvetica, ubuntu, roboto, noto, 'segoe ui', arial, sans-serif;
13
+ font-size: 16px;
14
+ line-height: 1.5;
15
+ }
16
+
17
+ body {
18
+ padding-left: 1rem;
19
+ padding-right: 1rem;
20
+ }
21
+
22
+ h1, h2, h3, h4, h5, h6 {
23
+ line-height: normal;
24
+ }
25
+
26
+ label {
27
+ display: block;
28
+ margin-bottom: .5rem;
29
+ }
30
+
31
+ code {
32
+ padding-left: .5em;
33
+ padding-right: .5em;
34
+ background: #EFEFEF;
35
+ font-weight: normal;
36
+ font-family: monospace;
37
+ }
38
+
39
+ main {
40
+ max-width: 40em;
41
+ margin-left: auto;
42
+ margin-right: auto;
43
+ }
44
+
45
+ .autocomplete-wrapper {
46
+ max-width: 20em;
47
+ margin-bottom: 4rem;
48
+ }
49
+
50
+ .submitted--hidden {
51
+ display: none;
52
+ }
53
+ </style>
54
+ <link rel="stylesheet" href="../dist/accessible-autocomplete.min.css">
55
+ </head>
56
+ <body>
57
+ <main>
58
+ <h1>Accessible Autocomplete form example</h1>
59
+
60
+ <p><a href="form-single.html">Another HTML form example, with a single form field</a></p>
61
+
62
+ <div class="submitted submitted--hidden">
63
+ <p>You submitted:</p>
64
+ <ul>
65
+ <li><code>"last-location": <span class="submitted__last-location"></span></code></li>
66
+ <li><code>"passport-location": <span class="submitted__passport-location"></span></code></li>
67
+ </ul>
68
+ <hr />
69
+ </div>
70
+
71
+ <form action="form.html" method="get">
72
+ <label for="last-location">What was the last location you visited?</label>
73
+ <div class="autocomplete-wrapper">
74
+ <select name="last-location" id="last-location">
75
+ <option value="territory:AE-AZ">Abu Dhabi</option>
76
+ <option value="country:AF">Afghanistan</option>
77
+ <option value="territory:AE-AJ">Ajman</option>
78
+ <option value="territory:XQZ">Akrotiri</option>
79
+ <option value="country:AL">Albania</option>
80
+ <option value="country:DZ">Algeria</option>
81
+ <option value="territory:AS">American Samoa</option>
82
+ <option value="country:AD">Andorra</option>
83
+ <option value="country:AO">Angola</option>
84
+ <option value="territory:AI">Anguilla</option>
85
+ <option value="territory:AQ">Antarctica</option>
86
+ <option value="country:AG">Antigua and Barbuda</option>
87
+ <option value="country:AR">Argentina</option>
88
+ <option value="country:AM">Armenia</option>
89
+ <option value="territory:AW">Aruba</option>
90
+ <option value="territory:SH-AC">Ascension</option>
91
+ <option value="country:AU">Australia</option>
92
+ <option value="country:AT">Austria</option>
93
+ <option value="country:AZ">Azerbaijan</option>
94
+ <option value="country:BH">Bahrain</option>
95
+ <option value="territory:UM-81">Baker Island</option>
96
+ <option value="country:BD">Bangladesh</option>
97
+ <option value="country:BB">Barbados</option>
98
+ <option value="country:BY">Belarus</option>
99
+ <option value="country:BE">Belgium</option>
100
+ <option value="country:BZ">Belize</option>
101
+ <option value="country:BJ">Benin</option>
102
+ <option value="territory:BM">Bermuda</option>
103
+ <option value="country:BT">Bhutan</option>
104
+ <option value="country:BO">Bolivia</option>
105
+ <option value="territory:BQ-BO">Bonaire</option>
106
+ <option value="country:BA">Bosnia and Herzegovina</option>
107
+ <option value="country:BW">Botswana</option>
108
+ <option value="territory:BV">Bouvet Island</option>
109
+ <option value="country:BR">Brazil</option>
110
+ <option value="territory:BAT">British Antarctic Territory</option>
111
+ <option value="territory:IO">British Indian Ocean Territory</option>
112
+ <option value="territory:VG">British Virgin Islands</option>
113
+ <option value="country:BN">Brunei</option>
114
+ <option value="country:BG">Bulgaria</option>
115
+ <option value="country:BF">Burkina Faso</option>
116
+ <option value="country:MM">Burma</option>
117
+ <option value="country:BI">Burundi</option>
118
+ <option value="country:KH">Cambodia</option>
119
+ <option value="country:CM">Cameroon</option>
120
+ <option value="country:CA">Canada</option>
121
+ <option value="country:CV">Cape Verde</option>
122
+ <option value="territory:KY">Cayman Islands</option>
123
+ <option value="country:CF">Central African Republic</option>
124
+ <option value="territory:ES-CE">Ceuta</option>
125
+ <option value="country:TD">Chad</option>
126
+ <option value="country:CL">Chile</option>
127
+ <option value="country:CN">China</option>
128
+ <option value="territory:CX">Christmas Island</option>
129
+ <option value="territory:CC">Cocos (Keeling) Islands</option>
130
+ <option value="country:CO">Colombia</option>
131
+ <option value="country:KM">Comoros</option>
132
+ <option value="country:CG">Congo</option>
133
+ <option value="country:CD">Congo (Democratic Republic)</option>
134
+ <option value="territory:CK">Cook Islands</option>
135
+ <option value="country:CR">Costa Rica</option>
136
+ <option value="country:HR">Croatia</option>
137
+ <option value="country:CU">Cuba</option>
138
+ <option value="territory:CW">Curaçao</option>
139
+ <option value="country:CY">Cyprus</option>
140
+ <option value="country:CZ">Czechia</option>
141
+ <option value="country:CS">Czechoslovakia</option>
142
+ <option value="country:DK">Denmark</option>
143
+ <option value="territory:XXD">Dhekelia</option>
144
+ <option value="country:DJ">Djibouti</option>
145
+ <option value="country:DM">Dominica</option>
146
+ <option value="country:DO">Dominican Republic</option>
147
+ <option value="territory:AE-DU">Dubai</option>
148
+ <option value="country:DD">East Germany</option>
149
+ <option value="country:TL">East Timor</option>
150
+ <option value="country:EC">Ecuador</option>
151
+ <option value="country:EG">Egypt</option>
152
+ <option value="country:SV">El Salvador</option>
153
+ <option value="country:GQ">Equatorial Guinea</option>
154
+ <option value="country:ER">Eritrea</option>
155
+ <option value="country:EE">Estonia</option>
156
+ <option value="country:ET">Ethiopia</option>
157
+ <option value="territory:FK">Falkland Islands</option>
158
+ <option value="territory:FO">Faroe Islands</option>
159
+ <option value="country:FJ">Fiji</option>
160
+ <option value="country:FI">Finland</option>
161
+ <option value="country:FR">France</option>
162
+ <option value="territory:GF">French Guiana</option>
163
+ <option value="territory:PF">French Polynesia</option>
164
+ <option value="territory:TF">French Southern Territories</option>
165
+ <option value="territory:AE-FU">Fujairah</option>
166
+ <option value="country:GA">Gabon</option>
167
+ <option value="country:GE">Georgia</option>
168
+ <option value="country:DE">Germany</option>
169
+ <option value="country:GH">Ghana</option>
170
+ <option value="territory:GI">Gibraltar</option>
171
+ <option value="country:GR">Greece</option>
172
+ <option value="territory:GL">Greenland</option>
173
+ <option value="country:GD">Grenada</option>
174
+ <option value="territory:GP">Guadeloupe</option>
175
+ <option value="territory:GU">Guam</option>
176
+ <option value="country:GT">Guatemala</option>
177
+ <option value="territory:GG">Guernsey</option>
178
+ <option value="country:GN">Guinea</option>
179
+ <option value="country:GW">Guinea-Bissau</option>
180
+ <option value="country:GY">Guyana</option>
181
+ <option value="country:HT">Haiti</option>
182
+ <option value="territory:HM">Heard Island and McDonald Islands</option>
183
+ <option value="country:HN">Honduras</option>
184
+ <option value="territory:HK">Hong Kong</option>
185
+ <option value="territory:UM-84">Howland Island</option>
186
+ <option value="country:HU">Hungary</option>
187
+ <option value="country:IS">Iceland</option>
188
+ <option value="country:IN">India</option>
189
+ <option value="country:ID">Indonesia</option>
190
+ <option value="country:IR">Iran</option>
191
+ <option value="country:IQ">Iraq</option>
192
+ <option value="country:IE">Ireland</option>
193
+ <option value="territory:IM">Isle of Man</option>
194
+ <option value="country:IL">Israel</option>
195
+ <option value="country:IT">Italy</option>
196
+ <option value="country:CI">Ivory Coast</option>
197
+ <option value="country:JM">Jamaica</option>
198
+ <option value="country:JP">Japan</option>
199
+ <option value="territory:UM-86">Jarvis Island</option>
200
+ <option value="territory:JE">Jersey</option>
201
+ <option value="territory:UM-67">Johnston Atoll</option>
202
+ <option value="country:JO">Jordan</option>
203
+ <option value="country:KZ">Kazakhstan</option>
204
+ <option value="country:KE">Kenya</option>
205
+ <option value="territory:UM-89">Kingman Reef</option>
206
+ <option value="country:KI">Kiribati</option>
207
+ <option value="country:XK">Kosovo</option>
208
+ <option value="country:KW">Kuwait</option>
209
+ <option value="country:KG">Kyrgyzstan</option>
210
+ <option value="country:LA">Laos</option>
211
+ <option value="country:LV">Latvia</option>
212
+ <option value="country:LB">Lebanon</option>
213
+ <option value="country:LS">Lesotho</option>
214
+ <option value="country:LR">Liberia</option>
215
+ <option value="country:LY">Libya</option>
216
+ <option value="country:LI">Liechtenstein</option>
217
+ <option value="country:LT">Lithuania</option>
218
+ <option value="country:LU">Luxembourg</option>
219
+ <option value="territory:MO">Macao</option>
220
+ <option value="country:MK">Macedonia</option>
221
+ <option value="country:MG">Madagascar</option>
222
+ <option value="country:MW">Malawi</option>
223
+ <option value="country:MY">Malaysia</option>
224
+ <option value="country:MV">Maldives</option>
225
+ <option value="country:ML">Mali</option>
226
+ <option value="country:MT">Malta</option>
227
+ <option value="country:MH">Marshall Islands</option>
228
+ <option value="territory:MQ">Martinique</option>
229
+ <option value="country:MR">Mauritania</option>
230
+ <option value="country:MU">Mauritius</option>
231
+ <option value="territory:YT">Mayotte</option>
232
+ <option value="territory:ES-ML">Melilla</option>
233
+ <option value="country:MX">Mexico</option>
234
+ <option value="country:FM">Micronesia</option>
235
+ <option value="territory:UM-71">Midway Islands</option>
236
+ <option value="country:MD">Moldova</option>
237
+ <option value="country:MC">Monaco</option>
238
+ <option value="country:MN">Mongolia</option>
239
+ <option value="country:ME">Montenegro</option>
240
+ <option value="territory:MS">Montserrat</option>
241
+ <option value="country:MA">Morocco</option>
242
+ <option value="country:MZ">Mozambique</option>
243
+ <option value="country:NA">Namibia</option>
244
+ <option value="country:NR">Nauru</option>
245
+ <option value="territory:UM-76">Navassa Island</option>
246
+ <option value="country:NP">Nepal</option>
247
+ <option value="country:NL">Netherlands</option>
248
+ <option value="territory:NC">New Caledonia</option>
249
+ <option value="country:NZ">New Zealand</option>
250
+ <option value="country:NI">Nicaragua</option>
251
+ <option value="country:NE">Niger</option>
252
+ <option value="country:NG">Nigeria</option>
253
+ <option value="territory:NU">Niue</option>
254
+ <option value="territory:NF">Norfolk Island</option>
255
+ <option value="country:KP">North Korea</option>
256
+ <option value="territory:MP">Northern Mariana Islands</option>
257
+ <option value="country:NO">Norway</option>
258
+ <option value="territory:PS">Occupied Palestinian Territories</option>
259
+ <option value="country:OM">Oman</option>
260
+ <option value="country:PK">Pakistan</option>
261
+ <option value="country:PW">Palau</option>
262
+ <option value="territory:UM-95">Palmyra Atoll</option>
263
+ <option value="country:PA">Panama</option>
264
+ <option value="country:PG">Papua New Guinea</option>
265
+ <option value="country:PY">Paraguay</option>
266
+ <option value="country:PE">Peru</option>
267
+ <option value="country:PH">Philippines</option>
268
+ <option value="territory:PN">Pitcairn, Henderson, Ducie and Oeno Islands</option>
269
+ <option value="country:PL">Poland</option>
270
+ <option value="country:PT">Portugal</option>
271
+ <option value="territory:PR">Puerto Rico</option>
272
+ <option value="country:QA">Qatar</option>
273
+ <option value="territory:AE-RK">Ras al-Khaimah</option>
274
+ <option value="country:RO">Romania</option>
275
+ <option value="country:RU">Russia</option>
276
+ <option value="country:RW">Rwanda</option>
277
+ <option value="territory:RE">Réunion</option>
278
+ <option value="territory:BQ-SA">Saba</option>
279
+ <option value="territory:BL">Saint Barthélemy</option>
280
+ <option value="territory:SH-HL">Saint Helena</option>
281
+ <option value="territory:PM">Saint Pierre and Miquelon</option>
282
+ <option value="territory:MF">Saint-Martin (French part)</option>
283
+ <option value="country:WS">Samoa</option>
284
+ <option value="country:SM">San Marino</option>
285
+ <option value="country:ST">Sao Tome and Principe</option>
286
+ <option value="country:SA">Saudi Arabia</option>
287
+ <option value="country:SN">Senegal</option>
288
+ <option value="country:RS">Serbia</option>
289
+ <option value="country:SC">Seychelles</option>
290
+ <option value="territory:AE-SH">Sharjah</option>
291
+ <option value="country:SL">Sierra Leone</option>
292
+ <option value="country:SG">Singapore</option>
293
+ <option value="territory:BQ-SE">Sint Eustatius</option>
294
+ <option value="territory:SX">Sint Maarten (Dutch part)</option>
295
+ <option value="country:SK">Slovakia</option>
296
+ <option value="country:SI">Slovenia</option>
297
+ <option value="country:SB">Solomon Islands</option>
298
+ <option value="country:SO">Somalia</option>
299
+ <option value="country:ZA">South Africa</option>
300
+ <option value="territory:GS">South Georgia and South Sandwich Islands</option>
301
+ <option value="country:KR">South Korea</option>
302
+ <option value="country:SS">South Sudan</option>
303
+ <option value="country:ES">Spain</option>
304
+ <option value="country:LK">Sri Lanka</option>
305
+ <option value="country:KN">St Kitts and Nevis</option>
306
+ <option value="country:LC">St Lucia</option>
307
+ <option value="country:VC">St Vincent</option>
308
+ <option value="country:SD">Sudan</option>
309
+ <option value="country:SR">Suriname</option>
310
+ <option value="territory:SJ">Svalbard and Jan Mayen</option>
311
+ <option value="country:SZ">Swaziland</option>
312
+ <option value="country:SE">Sweden</option>
313
+ <option value="country:CH">Switzerland</option>
314
+ <option value="country:SY">Syria</option>
315
+ <option value="territory:TW">Taiwan</option>
316
+ <option value="country:TJ">Tajikistan</option>
317
+ <option value="country:TZ">Tanzania</option>
318
+ <option value="country:TH">Thailand</option>
319
+ <option value="country:BS">The Bahamas</option>
320
+ <option value="country:GM">The Gambia</option>
321
+ <option value="country:TG">Togo</option>
322
+ <option value="territory:TK">Tokelau</option>
323
+ <option value="country:TO">Tonga</option>
324
+ <option value="country:TT">Trinidad and Tobago</option>
325
+ <option value="territory:SH-TA">Tristan da Cunha</option>
326
+ <option value="country:TN">Tunisia</option>
327
+ <option value="country:TR">Turkey</option>
328
+ <option value="country:TM">Turkmenistan</option>
329
+ <option value="territory:TC">Turks and Caicos Islands</option>
330
+ <option value="country:TV">Tuvalu</option>
331
+ <option value="country:SU">USSR</option>
332
+ <option value="country:UG">Uganda</option>
333
+ <option value="country:UA">Ukraine</option>
334
+ <option value="territory:AE-UQ">Umm al-Quwain</option>
335
+ <option value="country:AE">United Arab Emirates</option>
336
+ <option value="country:GB" selected>United Kingdom</option>
337
+ <option value="country:US">United States</option>
338
+ <option value="territory:VI">United States Virgin Islands</option>
339
+ <option value="country:UY">Uruguay</option>
340
+ <option value="country:UZ">Uzbekistan</option>
341
+ <option value="country:VU">Vanuatu</option>
342
+ <option value="country:VA">Vatican City</option>
343
+ <option value="country:VE">Venezuela</option>
344
+ <option value="country:VN">Vietnam</option>
345
+ <option value="territory:UM-79">Wake Island</option>
346
+ <option value="territory:WF">Wallis and Futuna</option>
347
+ <option value="territory:EH">Western Sahara</option>
348
+ <option value="country:YE">Yemen</option>
349
+ <option value="country:YU">Yugoslavia</option>
350
+ <option value="country:ZM">Zambia</option>
351
+ <option value="country:ZW">Zimbabwe</option>
352
+ <option value="territory:AX">Åland Islands</option>
353
+ </select>
354
+ </div>
355
+
356
+ <label for="passport-location">What is the location on your passport?</label>
357
+ <div class="autocomplete-wrapper">
358
+ <select name="passport-location" id="passport-location">
359
+ <option value="territory:AE-AZ">Abu Dhabi</option>
360
+ <option value="country:AF">Afghanistan</option>
361
+ <option value="territory:AE-AJ">Ajman</option>
362
+ <option value="territory:XQZ">Akrotiri</option>
363
+ <option value="country:AL">Albania</option>
364
+ <option value="country:DZ">Algeria</option>
365
+ <option value="territory:AS">American Samoa</option>
366
+ <option value="country:AD">Andorra</option>
367
+ <option value="country:AO">Angola</option>
368
+ <option value="territory:AI">Anguilla</option>
369
+ <option value="territory:AQ">Antarctica</option>
370
+ <option value="country:AG">Antigua and Barbuda</option>
371
+ <option value="country:AR">Argentina</option>
372
+ <option value="country:AM">Armenia</option>
373
+ <option value="territory:AW">Aruba</option>
374
+ <option value="territory:SH-AC">Ascension</option>
375
+ <option value="country:AU">Australia</option>
376
+ <option value="country:AT">Austria</option>
377
+ <option value="country:AZ">Azerbaijan</option>
378
+ <option value="country:BH">Bahrain</option>
379
+ <option value="territory:UM-81">Baker Island</option>
380
+ <option value="country:BD">Bangladesh</option>
381
+ <option value="country:BB">Barbados</option>
382
+ <option value="country:BY">Belarus</option>
383
+ <option value="country:BE">Belgium</option>
384
+ <option value="country:BZ">Belize</option>
385
+ <option value="country:BJ">Benin</option>
386
+ <option value="territory:BM">Bermuda</option>
387
+ <option value="country:BT">Bhutan</option>
388
+ <option value="country:BO">Bolivia</option>
389
+ <option value="territory:BQ-BO">Bonaire</option>
390
+ <option value="country:BA">Bosnia and Herzegovina</option>
391
+ <option value="country:BW">Botswana</option>
392
+ <option value="territory:BV">Bouvet Island</option>
393
+ <option value="country:BR">Brazil</option>
394
+ <option value="territory:BAT">British Antarctic Territory</option>
395
+ <option value="territory:IO">British Indian Ocean Territory</option>
396
+ <option value="territory:VG">British Virgin Islands</option>
397
+ <option value="country:BN">Brunei</option>
398
+ <option value="country:BG">Bulgaria</option>
399
+ <option value="country:BF">Burkina Faso</option>
400
+ <option value="country:MM">Burma</option>
401
+ <option value="country:BI">Burundi</option>
402
+ <option value="country:KH">Cambodia</option>
403
+ <option value="country:CM">Cameroon</option>
404
+ <option value="country:CA">Canada</option>
405
+ <option value="country:CV">Cape Verde</option>
406
+ <option value="territory:KY">Cayman Islands</option>
407
+ <option value="country:CF">Central African Republic</option>
408
+ <option value="territory:ES-CE">Ceuta</option>
409
+ <option value="country:TD">Chad</option>
410
+ <option value="country:CL">Chile</option>
411
+ <option value="country:CN">China</option>
412
+ <option value="territory:CX">Christmas Island</option>
413
+ <option value="territory:CC">Cocos (Keeling) Islands</option>
414
+ <option value="country:CO">Colombia</option>
415
+ <option value="country:KM">Comoros</option>
416
+ <option value="country:CG">Congo</option>
417
+ <option value="country:CD">Congo (Democratic Republic)</option>
418
+ <option value="territory:CK">Cook Islands</option>
419
+ <option value="country:CR">Costa Rica</option>
420
+ <option value="country:HR">Croatia</option>
421
+ <option value="country:CU">Cuba</option>
422
+ <option value="territory:CW">Curaçao</option>
423
+ <option value="country:CY">Cyprus</option>
424
+ <option value="country:CZ">Czechia</option>
425
+ <option value="country:CS">Czechoslovakia</option>
426
+ <option value="country:DK">Denmark</option>
427
+ <option value="territory:XXD">Dhekelia</option>
428
+ <option value="country:DJ">Djibouti</option>
429
+ <option value="country:DM">Dominica</option>
430
+ <option value="country:DO">Dominican Republic</option>
431
+ <option value="territory:AE-DU">Dubai</option>
432
+ <option value="country:DD">East Germany</option>
433
+ <option value="country:TL">East Timor</option>
434
+ <option value="country:EC">Ecuador</option>
435
+ <option value="country:EG">Egypt</option>
436
+ <option value="country:SV">El Salvador</option>
437
+ <option value="country:GQ">Equatorial Guinea</option>
438
+ <option value="country:ER">Eritrea</option>
439
+ <option value="country:EE">Estonia</option>
440
+ <option value="country:ET">Ethiopia</option>
441
+ <option value="territory:FK">Falkland Islands</option>
442
+ <option value="territory:FO">Faroe Islands</option>
443
+ <option value="country:FJ">Fiji</option>
444
+ <option value="country:FI">Finland</option>
445
+ <option value="country:FR">France</option>
446
+ <option value="territory:GF">French Guiana</option>
447
+ <option value="territory:PF">French Polynesia</option>
448
+ <option value="territory:TF">French Southern Territories</option>
449
+ <option value="territory:AE-FU">Fujairah</option>
450
+ <option value="country:GA">Gabon</option>
451
+ <option value="country:GE">Georgia</option>
452
+ <option value="country:DE">Germany</option>
453
+ <option value="country:GH">Ghana</option>
454
+ <option value="territory:GI">Gibraltar</option>
455
+ <option value="country:GR">Greece</option>
456
+ <option value="territory:GL">Greenland</option>
457
+ <option value="country:GD">Grenada</option>
458
+ <option value="territory:GP">Guadeloupe</option>
459
+ <option value="territory:GU">Guam</option>
460
+ <option value="country:GT">Guatemala</option>
461
+ <option value="territory:GG">Guernsey</option>
462
+ <option value="country:GN">Guinea</option>
463
+ <option value="country:GW">Guinea-Bissau</option>
464
+ <option value="country:GY">Guyana</option>
465
+ <option value="country:HT">Haiti</option>
466
+ <option value="territory:HM">Heard Island and McDonald Islands</option>
467
+ <option value="country:HN">Honduras</option>
468
+ <option value="territory:HK">Hong Kong</option>
469
+ <option value="territory:UM-84">Howland Island</option>
470
+ <option value="country:HU">Hungary</option>
471
+ <option value="country:IS">Iceland</option>
472
+ <option value="country:IN">India</option>
473
+ <option value="country:ID">Indonesia</option>
474
+ <option value="country:IR">Iran</option>
475
+ <option value="country:IQ">Iraq</option>
476
+ <option value="country:IE">Ireland</option>
477
+ <option value="territory:IM">Isle of Man</option>
478
+ <option value="country:IL">Israel</option>
479
+ <option value="country:IT">Italy</option>
480
+ <option value="country:CI">Ivory Coast</option>
481
+ <option value="country:JM">Jamaica</option>
482
+ <option value="country:JP">Japan</option>
483
+ <option value="territory:UM-86">Jarvis Island</option>
484
+ <option value="territory:JE">Jersey</option>
485
+ <option value="territory:UM-67">Johnston Atoll</option>
486
+ <option value="country:JO">Jordan</option>
487
+ <option value="country:KZ">Kazakhstan</option>
488
+ <option value="country:KE">Kenya</option>
489
+ <option value="territory:UM-89">Kingman Reef</option>
490
+ <option value="country:KI">Kiribati</option>
491
+ <option value="country:XK">Kosovo</option>
492
+ <option value="country:KW">Kuwait</option>
493
+ <option value="country:KG">Kyrgyzstan</option>
494
+ <option value="country:LA">Laos</option>
495
+ <option value="country:LV">Latvia</option>
496
+ <option value="country:LB">Lebanon</option>
497
+ <option value="country:LS">Lesotho</option>
498
+ <option value="country:LR">Liberia</option>
499
+ <option value="country:LY">Libya</option>
500
+ <option value="country:LI">Liechtenstein</option>
501
+ <option value="country:LT">Lithuania</option>
502
+ <option value="country:LU">Luxembourg</option>
503
+ <option value="territory:MO">Macao</option>
504
+ <option value="country:MK">Macedonia</option>
505
+ <option value="country:MG">Madagascar</option>
506
+ <option value="country:MW">Malawi</option>
507
+ <option value="country:MY">Malaysia</option>
508
+ <option value="country:MV">Maldives</option>
509
+ <option value="country:ML">Mali</option>
510
+ <option value="country:MT">Malta</option>
511
+ <option value="country:MH">Marshall Islands</option>
512
+ <option value="territory:MQ">Martinique</option>
513
+ <option value="country:MR">Mauritania</option>
514
+ <option value="country:MU">Mauritius</option>
515
+ <option value="territory:YT">Mayotte</option>
516
+ <option value="territory:ES-ML">Melilla</option>
517
+ <option value="country:MX">Mexico</option>
518
+ <option value="country:FM">Micronesia</option>
519
+ <option value="territory:UM-71">Midway Islands</option>
520
+ <option value="country:MD">Moldova</option>
521
+ <option value="country:MC">Monaco</option>
522
+ <option value="country:MN">Mongolia</option>
523
+ <option value="country:ME">Montenegro</option>
524
+ <option value="territory:MS">Montserrat</option>
525
+ <option value="country:MA">Morocco</option>
526
+ <option value="country:MZ">Mozambique</option>
527
+ <option value="country:NA">Namibia</option>
528
+ <option value="country:NR">Nauru</option>
529
+ <option value="territory:UM-76">Navassa Island</option>
530
+ <option value="country:NP">Nepal</option>
531
+ <option value="country:NL">Netherlands</option>
532
+ <option value="territory:NC">New Caledonia</option>
533
+ <option value="country:NZ">New Zealand</option>
534
+ <option value="country:NI">Nicaragua</option>
535
+ <option value="country:NE">Niger</option>
536
+ <option value="country:NG">Nigeria</option>
537
+ <option value="territory:NU">Niue</option>
538
+ <option value="territory:NF">Norfolk Island</option>
539
+ <option value="country:KP">North Korea</option>
540
+ <option value="territory:MP">Northern Mariana Islands</option>
541
+ <option value="country:NO">Norway</option>
542
+ <option value="territory:PS">Occupied Palestinian Territories</option>
543
+ <option value="country:OM">Oman</option>
544
+ <option value="country:PK">Pakistan</option>
545
+ <option value="country:PW">Palau</option>
546
+ <option value="territory:UM-95">Palmyra Atoll</option>
547
+ <option value="country:PA">Panama</option>
548
+ <option value="country:PG">Papua New Guinea</option>
549
+ <option value="country:PY">Paraguay</option>
550
+ <option value="country:PE">Peru</option>
551
+ <option value="country:PH">Philippines</option>
552
+ <option value="territory:PN">Pitcairn, Henderson, Ducie and Oeno Islands</option>
553
+ <option value="country:PL">Poland</option>
554
+ <option value="country:PT">Portugal</option>
555
+ <option value="territory:PR">Puerto Rico</option>
556
+ <option value="country:QA">Qatar</option>
557
+ <option value="territory:AE-RK">Ras al-Khaimah</option>
558
+ <option value="country:RO">Romania</option>
559
+ <option value="country:RU">Russia</option>
560
+ <option value="country:RW">Rwanda</option>
561
+ <option value="territory:RE">Réunion</option>
562
+ <option value="territory:BQ-SA">Saba</option>
563
+ <option value="territory:BL">Saint Barthélemy</option>
564
+ <option value="territory:SH-HL">Saint Helena</option>
565
+ <option value="territory:PM">Saint Pierre and Miquelon</option>
566
+ <option value="territory:MF">Saint-Martin (French part)</option>
567
+ <option value="country:WS">Samoa</option>
568
+ <option value="country:SM">San Marino</option>
569
+ <option value="country:ST">Sao Tome and Principe</option>
570
+ <option value="country:SA">Saudi Arabia</option>
571
+ <option value="country:SN">Senegal</option>
572
+ <option value="country:RS">Serbia</option>
573
+ <option value="country:SC">Seychelles</option>
574
+ <option value="territory:AE-SH">Sharjah</option>
575
+ <option value="country:SL">Sierra Leone</option>
576
+ <option value="country:SG">Singapore</option>
577
+ <option value="territory:BQ-SE">Sint Eustatius</option>
578
+ <option value="territory:SX">Sint Maarten (Dutch part)</option>
579
+ <option value="country:SK">Slovakia</option>
580
+ <option value="country:SI">Slovenia</option>
581
+ <option value="country:SB">Solomon Islands</option>
582
+ <option value="country:SO">Somalia</option>
583
+ <option value="country:ZA">South Africa</option>
584
+ <option value="territory:GS">South Georgia and South Sandwich Islands</option>
585
+ <option value="country:KR">South Korea</option>
586
+ <option value="country:SS">South Sudan</option>
587
+ <option value="country:ES">Spain</option>
588
+ <option value="country:LK">Sri Lanka</option>
589
+ <option value="country:KN">St Kitts and Nevis</option>
590
+ <option value="country:LC">St Lucia</option>
591
+ <option value="country:VC">St Vincent</option>
592
+ <option value="country:SD">Sudan</option>
593
+ <option value="country:SR">Suriname</option>
594
+ <option value="territory:SJ">Svalbard and Jan Mayen</option>
595
+ <option value="country:SZ">Swaziland</option>
596
+ <option value="country:SE">Sweden</option>
597
+ <option value="country:CH">Switzerland</option>
598
+ <option value="country:SY">Syria</option>
599
+ <option value="territory:TW">Taiwan</option>
600
+ <option value="country:TJ">Tajikistan</option>
601
+ <option value="country:TZ">Tanzania</option>
602
+ <option value="country:TH">Thailand</option>
603
+ <option value="country:BS">The Bahamas</option>
604
+ <option value="country:GM">The Gambia</option>
605
+ <option value="country:TG">Togo</option>
606
+ <option value="territory:TK">Tokelau</option>
607
+ <option value="country:TO">Tonga</option>
608
+ <option value="country:TT">Trinidad and Tobago</option>
609
+ <option value="territory:SH-TA">Tristan da Cunha</option>
610
+ <option value="country:TN">Tunisia</option>
611
+ <option value="country:TR">Turkey</option>
612
+ <option value="country:TM">Turkmenistan</option>
613
+ <option value="territory:TC">Turks and Caicos Islands</option>
614
+ <option value="country:TV">Tuvalu</option>
615
+ <option value="country:SU">USSR</option>
616
+ <option value="country:UG">Uganda</option>
617
+ <option value="country:UA">Ukraine</option>
618
+ <option value="territory:AE-UQ">Umm al-Quwain</option>
619
+ <option value="country:AE">United Arab Emirates</option>
620
+ <option value="country:GB" selected>United Kingdom</option>
621
+ <option value="country:US">United States</option>
622
+ <option value="territory:VI">United States Virgin Islands</option>
623
+ <option value="country:UY">Uruguay</option>
624
+ <option value="country:UZ">Uzbekistan</option>
625
+ <option value="country:VU">Vanuatu</option>
626
+ <option value="country:VA">Vatican City</option>
627
+ <option value="country:VE">Venezuela</option>
628
+ <option value="country:VN">Vietnam</option>
629
+ <option value="territory:UM-79">Wake Island</option>
630
+ <option value="territory:WF">Wallis and Futuna</option>
631
+ <option value="territory:EH">Western Sahara</option>
632
+ <option value="country:YE">Yemen</option>
633
+ <option value="country:YU">Yugoslavia</option>
634
+ <option value="country:ZM">Zambia</option>
635
+ <option value="country:ZW">Zimbabwe</option>
636
+ <option value="territory:AX">Åland Islands</option>
637
+ </select>
638
+ </div>
639
+
640
+ <button type="submit">Submit your answer</button>
641
+ </form>
642
+ </main>
643
+
644
+ <script type="text/javascript" src="../dist/accessible-autocomplete.min.js"></script>
645
+ <script type="text/javascript">
646
+ var selectEl = document.querySelector('#last-location')
647
+ accessibleAutocomplete.enhanceSelectElement({
648
+ autoselect: true,
649
+ defaultValue: selectEl.options[selectEl.options.selectedIndex].innerHTML,
650
+ minLength: 2,
651
+ selectElement: selectEl
652
+ })
653
+
654
+ selectEl = document.querySelector('#passport-location')
655
+ accessibleAutocomplete.enhanceSelectElement({
656
+ autoselect: true,
657
+ defaultValue: selectEl.options[selectEl.options.selectedIndex].innerHTML,
658
+ minLength: 2,
659
+ selectElement: selectEl
660
+ })
661
+
662
+ var queryStringParameters = window.location.search
663
+ var previouslySubmitted = queryStringParameters.length > 0
664
+ if (previouslySubmitted) {
665
+ var submittedEl = document.querySelector('.submitted')
666
+ submittedEl.classList.remove('submitted--hidden')
667
+ var params = new URLSearchParams(document.location.search.split('?')[1])
668
+ document.querySelector('.submitted__last-location').innerHTML = params.get('last-location')
669
+ document.querySelector('.submitted__passport-location').innerHTML = params.get('passport-location')
670
+ }
671
+ </script>
672
+ </body>
673
+ </html>