@iamproperty/components 7.6.3--beta3 → 7.6.3

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.
Files changed (137) hide show
  1. package/assets/css/components/actionbar.component.css +1 -1
  2. package/assets/css/components/actionbar.component.css.map +1 -1
  3. package/assets/css/components/address-lookup.component.css +1 -1
  4. package/assets/css/components/address-lookup.component.css.map +1 -1
  5. package/assets/css/components/barchart.component.css +1 -1
  6. package/assets/css/components/barchart.component.css.map +1 -1
  7. package/assets/css/components/calendar.component.css +1 -1
  8. package/assets/css/components/calendar.component.css.map +1 -1
  9. package/assets/css/components/card.component.css +1 -1
  10. package/assets/css/components/card.component.css.map +1 -1
  11. package/assets/css/components/carousel.component.css +1 -1
  12. package/assets/css/components/carousel.component.css.map +1 -1
  13. package/assets/css/components/collapsible-side.css +1 -1
  14. package/assets/css/components/collapsible-side.css.map +1 -1
  15. package/assets/css/components/content.component.css +1 -1
  16. package/assets/css/components/content.component.css.map +1 -1
  17. package/assets/css/components/doughnutchart.component.css +1 -1
  18. package/assets/css/components/doughnutchart.component.css.map +1 -1
  19. package/assets/css/components/fileupload.css +1 -1
  20. package/assets/css/components/fileupload.css.map +1 -1
  21. package/assets/css/components/modal.component.css +1 -1
  22. package/assets/css/components/modal.component.css.map +1 -1
  23. package/assets/css/components/multi-step-modal.component.css +1 -1
  24. package/assets/css/components/multi-step-modal.component.css.map +1 -1
  25. package/assets/css/components/multiselect.css +1 -1
  26. package/assets/css/components/multiselect.css.map +1 -1
  27. package/assets/css/components/nav.component.css +1 -1
  28. package/assets/css/components/nav.component.css.map +1 -1
  29. package/assets/css/components/pagination.css +1 -1
  30. package/assets/css/components/pagination.css.map +1 -1
  31. package/assets/css/components/rating.component.css +1 -0
  32. package/assets/css/components/rating.component.css.map +1 -0
  33. package/assets/css/components/slider.css +1 -1
  34. package/assets/css/components/slider.css.map +1 -1
  35. package/assets/css/components/split-button.component.css +1 -1
  36. package/assets/css/components/split-button.component.css.map +1 -1
  37. package/assets/css/components/tabs.component.css +1 -1
  38. package/assets/css/components/tabs.component.css.map +1 -1
  39. package/assets/css/components/tag.component.css +1 -1
  40. package/assets/css/components/tag.component.css.map +1 -1
  41. package/assets/css/components/video-modal.component.css +1 -1
  42. package/assets/css/components/video-modal.component.css.map +1 -1
  43. package/assets/css/core.min.css +1 -1
  44. package/assets/css/core.min.css.map +1 -1
  45. package/assets/css/style.min.css +1 -1
  46. package/assets/css/style.min.css.map +1 -1
  47. package/assets/js/components/accordion/accordion.component.min.js +1 -1
  48. package/assets/js/components/actionbar/actionbar.component.min.js +2 -2
  49. package/assets/js/components/address-lookup/address-lookup.component.js +91 -66
  50. package/assets/js/components/address-lookup/address-lookup.component.min.js +5 -6
  51. package/assets/js/components/address-lookup/address-lookup.component.min.js.map +1 -1
  52. package/assets/js/components/advanced-select/advanced-select.component.min.js +3 -3
  53. package/assets/js/components/advanced-select/advanced-select.component.min.js.map +1 -1
  54. package/assets/js/components/applied-filters/applied-filters.component.min.js +1 -1
  55. package/assets/js/components/barchart/barchart.component.min.js +4 -4
  56. package/assets/js/components/bento-grid/bento-grid.component.min.js +1 -1
  57. package/assets/js/components/calendar/calendar.component.min.js +4 -4
  58. package/assets/js/components/card/card.component.min.js +2 -2
  59. package/assets/js/components/carousel/carousel.component.min.js +3 -3
  60. package/assets/js/components/collapsible-side/collapsible-side.component.min.js +2 -2
  61. package/assets/js/components/content/content.component.min.js +2 -2
  62. package/assets/js/components/darkmode/darkmode.component.min.js +1 -1
  63. package/assets/js/components/doughnutchart/doughnutchart.component.min.js +3 -3
  64. package/assets/js/components/fileupload/fileupload.component.min.js +2 -2
  65. package/assets/js/components/filter-card/filter-card.component.min.js +1 -1
  66. package/assets/js/components/filterlist/filterlist.component.min.js +1 -1
  67. package/assets/js/components/header/header.component.min.js +1 -1
  68. package/assets/js/components/inline-edit/inline-edit.component.min.js +1 -1
  69. package/assets/js/components/input/input.component.min.js +1 -1
  70. package/assets/js/components/input-range/input-range.component.min.js +1 -1
  71. package/assets/js/components/marketing/marketing.component.min.js +1 -1
  72. package/assets/js/components/menu/menu.component.min.js +1 -1
  73. package/assets/js/components/milestone/milestone.component.min.js +1 -1
  74. package/assets/js/components/milestone-group/milestone-group.component.min.js +1 -1
  75. package/assets/js/components/modal/modal.component.js +47 -24
  76. package/assets/js/components/modal/modal.component.min.js +10 -11
  77. package/assets/js/components/modal/modal.component.min.js.map +1 -1
  78. package/assets/js/components/multi-step/multi-step.component.min.js +1 -1
  79. package/assets/js/components/multi-step-modal/multi-step-modal.component.min.js +3 -3
  80. package/assets/js/components/multiselect/multiselect.component.min.js +2 -2
  81. package/assets/js/components/nav/nav.component.min.js +2 -2
  82. package/assets/js/components/notification/notification.component.min.js +1 -1
  83. package/assets/js/components/pagination/pagination.component.min.js +3 -3
  84. package/assets/js/components/password/password.component.min.js +1 -1
  85. package/assets/js/components/popover/popover.component.min.js +1 -1
  86. package/assets/js/components/rank/rank.component.min.js +1 -1
  87. package/assets/js/components/rankings/rankings.component.min.js +1 -1
  88. package/assets/js/components/rating/rating.component.js +66 -0
  89. package/assets/js/components/rating/rating.component.min.js +15 -0
  90. package/assets/js/components/rating/rating.component.min.js.map +1 -0
  91. package/assets/js/components/record-card/record-card.component.min.js +1 -1
  92. package/assets/js/components/search/search.component.min.js +5 -5
  93. package/assets/js/components/search/search.component.min.js.map +1 -1
  94. package/assets/js/components/slider/slider.component.min.js +2 -2
  95. package/assets/js/components/split-button/split-button.component.min.js +2 -2
  96. package/assets/js/components/std-address-lookup/std-address-lookup.component.js +383 -383
  97. package/assets/js/components/std-address-lookup/std-address-lookup.component.min.js +18 -19
  98. package/assets/js/components/std-address-lookup/std-address-lookup.component.min.js.map +1 -1
  99. package/assets/js/components/table/table.component.min.js +1 -1
  100. package/assets/js/components/table-ajax/table-ajax.component.min.js +1 -1
  101. package/assets/js/components/table-basic/table-basic.component.min.js +1 -1
  102. package/assets/js/components/table-no-submit/table-no-submit.component.min.js +1 -1
  103. package/assets/js/components/table-submit/table-submit.component.min.js +1 -1
  104. package/assets/js/components/tabs/tabs.component.min.js +3 -3
  105. package/assets/js/components/tag/tag.component.min.js +2 -2
  106. package/assets/js/components/tooltip/tooltip.component.min.js +1 -1
  107. package/assets/js/components/video-card/video-card.component.min.js +1 -1
  108. package/assets/js/components/video-modal/video-modal.component.min.js +2 -2
  109. package/assets/js/components/word-count/word-count.component.min.js +1 -1
  110. package/assets/js/modules/advanced-select.js +11 -9
  111. package/assets/js/scripts.bundle.js +2 -2
  112. package/assets/js/scripts.bundle.js.map +1 -1
  113. package/assets/js/scripts.bundle.min.js +2 -2
  114. package/assets/js/scripts.bundle.min.js.map +1 -1
  115. package/assets/js/scripts.js +2 -4
  116. package/assets/sass/components/modal.component.scss +179 -198
  117. package/assets/sass/components/rating.component.css +212 -0
  118. package/assets/sass/elements/button__group.css +25 -4
  119. package/assets/sass/elements/buttons--compact.scss +12 -3
  120. package/assets/sass/elements/buttons--special.scss +2 -1
  121. package/assets/sass/elements/forms.scss +33 -21
  122. package/assets/sass/elements/highlight.css +7 -0
  123. package/assets/sass/elements/label.scss +17 -0
  124. package/assets/sass/foundations/colours.scss +10 -0
  125. package/assets/sass/utilities/colours.scss +4 -3
  126. package/assets/sass/utilities/font-awesome-iso-fallbacks.scss +6 -0
  127. package/assets/sass/utilities/wider-colours.scss +1 -0
  128. package/assets/ts/components/address-lookup/address-lookup.component.ts +154 -190
  129. package/assets/ts/components/modal/modal.component.ts +63 -26
  130. package/assets/ts/components/rating/rating.component.ts +86 -0
  131. package/assets/ts/components/std-address-lookup/std-address-lookup.component.ts +383 -383
  132. package/assets/ts/modules/advanced-select.ts +13 -9
  133. package/assets/ts/scripts.ts +2 -2
  134. package/dist/components.es.js +88 -88
  135. package/dist/components.umd.js +214 -204
  136. package/package.json +1 -1
  137. package/src/components/Rating/Rating.vue +22 -0
@@ -28,7 +28,7 @@ class iamAddressLookup extends HTMLElement {
28
28
  template.innerHTML = `
29
29
  <style>
30
30
  ${loadCSS}
31
-
31
+
32
32
  </style>
33
33
  <link rel="stylesheet" href="https://kit.fontawesome.com/26fdbf0179.css" crossorigin="anonymous" />
34
34
  <div class="wrapper">
@@ -49,7 +49,6 @@ class iamAddressLookup extends HTMLElement {
49
49
  <button id="postcode__submit" class="suffix fa-regular fa-search" part="suffix"></button>
50
50
  </span>
51
51
  </label>
52
-
53
52
  <span class="invalid-feedback mb-2" id="invalid-feedback-address-lookup">${this.hasAttribute('data-error-msg') ? this.getAttribute('data-error-msg') : 'Required address fields'}</span>
54
53
 
55
54
  <div class="datalist__wrapper ${this.hasAttribute('data-list-class') ? this.getAttribute('data-list-class') : ''}" tabindex="0" part="list-wrapper">
@@ -94,7 +93,9 @@ class iamAddressLookup extends HTMLElement {
94
93
  const lookupWrapper = this.shadowRoot.querySelector('.postcode-lookup');
95
94
  const manualWrapper = this.shadowRoot.querySelector('.manual-address');
96
95
  const preFilledWrapper = this.shadowRoot.querySelector('.pre-filled');
97
- const list = this.querySelector('datalist[slot="preloadedList"]') ? this.querySelector('datalist[slot="preloadedList"]') : this.shadowRoot.querySelector('.datalist__wrapper datalist');
96
+ const list = this.querySelector('datalist[slot="preloadedList"]')
97
+ ? this.querySelector('datalist[slot="preloadedList"]')
98
+ : this.shadowRoot.querySelector('.datalist__wrapper datalist');
98
99
  const listWrapper = this.shadowRoot.querySelector('.datalist__wrapper');
99
100
  const switchManualBtn = this.shadowRoot.querySelector('.switch-to-manual-btn');
100
101
  const switchLookupBtn = this.shadowRoot.querySelector('.switch-to-lookup-btn');
@@ -112,6 +113,7 @@ class iamAddressLookup extends HTMLElement {
112
113
  const matchedAddressWrapper = this.shadowRoot.querySelector('.matched');
113
114
  const matchedAddressUse = this.shadowRoot.querySelector('.matched .use-matched');
114
115
  const matchedAddressEntered = this.shadowRoot.querySelector('.matched .use-entered');
116
+ let cacheSearchQuery = '';
115
117
  Array.from(this.shadowRoot.querySelectorAll('.title')).forEach((titleElement) => {
116
118
  titleElement.innerHTML = title;
117
119
  });
@@ -122,7 +124,7 @@ class iamAddressLookup extends HTMLElement {
122
124
  preFilledAddress.innerHTML = '';
123
125
  Array.from(component.querySelectorAll('input[required],input[data-required],select[required],select[data-required]')).forEach((input) => {
124
126
  let value = input.hasAttribute('data-value') ? input.getAttribute('data-value') : input.value;
125
- if (input.tagName == "SELECT" && component.querySelector(`[value="${input.value}"][data-value]`))
127
+ if (input.tagName == 'SELECT' && component.querySelector(`[value="${input.value}"][data-value]`))
126
128
  value = component.querySelector(`[value="${input.value}"][data-value]`).getAttribute('data-value');
127
129
  if (!value) {
128
130
  if (input.closest('.atleastone')) {
@@ -159,7 +161,7 @@ class iamAddressLookup extends HTMLElement {
159
161
  }
160
162
  const atleastoneValidate = () => {
161
163
  if (atleastone.querySelector('input:valid, input.is-valid')) {
162
- Array.from(atleastone.querySelectorAll('input')).forEach(element => {
164
+ Array.from(atleastone.querySelectorAll('input')).forEach((element) => {
163
165
  element.removeAttribute('required');
164
166
  });
165
167
  }
@@ -181,7 +183,7 @@ class iamAddressLookup extends HTMLElement {
181
183
  input = this.querySelector(`[data-name-alt="${key}"]`);
182
184
  else if (this.querySelector(`[name="${key}"]`))
183
185
  input = this.querySelector(`[name="${key}"]`);
184
- if (input && input.tagName == "SELECT" && value.id) {
186
+ if (input && input.tagName == 'SELECT' && value.id) {
185
187
  input.value = value.id;
186
188
  }
187
189
  else if (input && value != '') {
@@ -191,7 +193,7 @@ class iamAddressLookup extends HTMLElement {
191
193
  input.classList.add('is-valid');
192
194
  }
193
195
  }
194
- else if (value != "") {
196
+ else if (value != '') {
195
197
  this.insertAdjacentHTML('beforeend', `<input type="hidden" class="inserted" data-hidden name="${key}" value="${value}" />`);
196
198
  }
197
199
  if (this.querySelector(`[data-name-2="${key}"]`))
@@ -208,6 +210,16 @@ class iamAddressLookup extends HTMLElement {
208
210
  checkFilled(this);
209
211
  };
210
212
  const search = (searchValue_1, ...args_1) => __awaiter(this, [searchValue_1, ...args_1], void 0, function* (searchValue, paginate = false) {
213
+ var _a, _b;
214
+ if (!paginate && searchValue === cacheSearchQuery) {
215
+ if ((_a = list === null || list === void 0 ? void 0 : list.children) === null || _a === void 0 ? void 0 : _a.length) {
216
+ list === null || list === void 0 ? void 0 : list.classList.remove('loading');
217
+ list === null || list === void 0 ? void 0 : list.classList.remove('noresults');
218
+ listWrapper === null || listWrapper === void 0 ? void 0 : listWrapper.focus();
219
+ (_b = list === null || list === void 0 ? void 0 : list.querySelector('option')) === null || _b === void 0 ? void 0 : _b.focus();
220
+ return true;
221
+ }
222
+ }
211
223
  // check if postcode is valid
212
224
  const limit = this.hasAttribute('data-limit') ? parseInt(this.getAttribute('data-limit')) : 100;
213
225
  if (paginate)
@@ -222,15 +234,15 @@ class iamAddressLookup extends HTMLElement {
222
234
  const postcode = searchValue; // TODO: remove when postcode comes from response
223
235
  if (this.hasAttribute('data-postcode')) {
224
236
  if (!isValidPostcode(searchValue)) {
225
- return "Invalid postcode, please enter a valid postcode";
237
+ return 'Invalid postcode, please enter a valid postcode';
226
238
  }
227
239
  else {
228
240
  if (!paginate)
229
- list.innerHTML = "";
241
+ list.innerHTML = '';
230
242
  list === null || list === void 0 ? void 0 : list.classList.add('loading');
231
243
  list === null || list === void 0 ? void 0 : list.classList.remove('noresults');
232
244
  lookup === null || lookup === void 0 ? void 0 : lookup.classList.remove('is-invalid');
233
- errorMsg === null || errorMsg === void 0 ? void 0 : errorMsg.innerHTML = "";
245
+ errorMsg === null || errorMsg === void 0 ? void 0 : errorMsg.innerHTML = '';
234
246
  list === null || list === void 0 ? void 0 : list.classList.remove('show-welsh-banner');
235
247
  Array.from(this.querySelectorAll('[data-required]')).forEach((input) => {
236
248
  input.removeAttribute('required');
@@ -254,7 +266,7 @@ class iamAddressLookup extends HTMLElement {
254
266
  window.controller[ajaxURL].abort();
255
267
  // Create a new controller so it can be aborted if new fetch made
256
268
  window.controller[ajaxURL] = new AbortController();
257
- const { signal } = controller[ajaxURL];
269
+ const { signal } = window.controller[ajaxURL];
258
270
  try {
259
271
  return yield fetch(ajaxURL, {
260
272
  signal: signal,
@@ -276,10 +288,18 @@ class iamAddressLookup extends HTMLElement {
276
288
  addresses.forEach((address) => {
277
289
  // Deal with agent platform response
278
290
  if (typeof address.attributes == 'object' && address.attributes.label) {
291
+ if (address.id)
292
+ address.attributes.id = address.id;
293
+ if (address.relationships)
294
+ address.attributes = Object.assign(address.attributes, address.relationships);
279
295
  const values = JSON.stringify(address.attributes);
280
296
  listString += `<option data-values='${values}' >${address.attributes.label}</option>`;
281
297
  }
282
298
  else if (typeof address.value == 'object') {
299
+ if (address.id)
300
+ address.attributes.id = address.id;
301
+ if (address.relationships)
302
+ address.attributes = Object.assign(address.attributes, address.relationships);
283
303
  const values = JSON.stringify(address.value);
284
304
  listString += `<option data-values='${values}'>${address['label']}, ${postcode}</option>`;
285
305
  }
@@ -304,6 +324,8 @@ class iamAddressLookup extends HTMLElement {
304
324
  list.innerHTML += listString;
305
325
  else
306
326
  list.innerHTML = listString;
327
+ // Cache the search value to prevent further calls
328
+ cacheSearchQuery = searchValue;
307
329
  if (addresses.length) {
308
330
  list === null || list === void 0 ? void 0 : list.classList.remove('loading');
309
331
  }
@@ -312,7 +334,10 @@ class iamAddressLookup extends HTMLElement {
312
334
  list === null || list === void 0 ? void 0 : list.classList.add('noresults');
313
335
  }
314
336
  // pagination
315
- if (response.meta && response.meta.current_page && response.meta.total_pages && response.meta.total_pages > response.meta.current_page) {
337
+ if (response.meta &&
338
+ response.meta.current_page &&
339
+ response.meta.total_pages &&
340
+ response.meta.total_pages > response.meta.current_page) {
316
341
  paginationWrapper === null || paginationWrapper === void 0 ? void 0 : paginationWrapper.innerHTML = `<div class="bg-light text-center p-2"><p class="m-0">Showing 1-${response.meta.current_page * limit} of ${response.meta.total_results} addresses <br /><button type="button" data-next="${response.meta.current_page + 1}" class="mt-1 mb-0 btn btn-action"><i class="fa-regular fa-eye me-1"></i>Show more addresses</button></p></div>`;
317
342
  }
318
343
  else {
@@ -327,12 +352,32 @@ class iamAddressLookup extends HTMLElement {
327
352
  });
328
353
  }
329
354
  catch (error) {
355
+ if ((error === null || error === void 0 ? void 0 : error.name) === 'AbortError') {
356
+ return true;
357
+ }
330
358
  console.log(error);
331
- return "There has been a problem. Please try again in a few moments.";
359
+ return 'There has been a problem. Please try again in a few moments.';
332
360
  }
333
361
  });
362
+ let searchTimer;
363
+ const triggerSearch = (raw, paginate = false, immediate = false) => {
364
+ const value = (raw !== null && raw !== void 0 ? raw : '').trim();
365
+ if (value.length < minChars)
366
+ return;
367
+ if (immediate) {
368
+ if (searchTimer)
369
+ window.clearTimeout(searchTimer);
370
+ void search(value, paginate);
371
+ return;
372
+ }
373
+ if (searchTimer)
374
+ window.clearTimeout(searchTimer);
375
+ searchTimer = window.setTimeout(() => {
376
+ void search(value, paginate);
377
+ }, 200);
378
+ };
334
379
  // #endregion
335
- // #region check attributes and trigger functions
380
+ // #region check attributes and trigger functions
336
381
  if (!this.hasAttribute('data-force-manual'))
337
382
  checkFilled(this);
338
383
  this.addEventListener('filled', () => {
@@ -383,14 +428,14 @@ class iamAddressLookup extends HTMLElement {
383
428
  preFilledWrapper.classList.add('js-hide');
384
429
  lookupWrapper.classList.remove('js-hide');
385
430
  manualWrapper.classList.add('js-hide');
386
- list.innerHTML = "";
431
+ list.innerHTML = '';
387
432
  list === null || list === void 0 ? void 0 : list.classList.remove('loading');
388
433
  list === null || list === void 0 ? void 0 : list.classList.remove('noresults');
389
434
  lookup === null || lookup === void 0 ? void 0 : lookup.classList.remove('is-invalid');
390
- errorMsg === null || errorMsg === void 0 ? void 0 : errorMsg.innerHTML = "";
435
+ errorMsg === null || errorMsg === void 0 ? void 0 : errorMsg.innerHTML = '';
391
436
  list === null || list === void 0 ? void 0 : list.classList.remove('show-welsh-banner');
392
437
  lookup.focus();
393
- lookup.value = "";
438
+ lookup.value = '';
394
439
  if (lookup === null || lookup === void 0 ? void 0 : lookup.hasAttribute('data-placeholder'))
395
440
  lookup.setAttribute('placeholder', lookup === null || lookup === void 0 ? void 0 : lookup.getAttribute('data-placeholder'));
396
441
  const updateEvent = new CustomEvent('switch-to-lookup');
@@ -410,35 +455,30 @@ class iamAddressLookup extends HTMLElement {
410
455
  this.dispatchEvent(updateEvent);
411
456
  lookupWrapper.scrollIntoView();
412
457
  });
413
- lookup.addEventListener('keyup', (e) => __awaiter(this, void 0, void 0, function* () {
414
- if (![40, 38, 13].includes(e.keyCode) && lookup.value.length >= minChars) {
415
- const valid = yield search(lookup.value);
416
- console.log(errorMsg);
417
- console.log(valid);
418
- if (valid != true) {
419
- lookup === null || lookup === void 0 ? void 0 : lookup.classList.add('is-invalid');
420
- errorMsg === null || errorMsg === void 0 ? void 0 : errorMsg.innerHTML = valid;
421
- }
422
- }
423
- if (e.keyCode == 13) {
424
- const valid = yield search(lookup.value);
425
- if (valid != true) {
426
- lookup === null || lookup === void 0 ? void 0 : lookup.classList.add('is-invalid');
427
- errorMsg === null || errorMsg === void 0 ? void 0 : errorMsg.innerHTML = valid;
428
- }
458
+ lookup.addEventListener('keyup', (e) => {
459
+ if (e.keyCode === 13) {
460
+ triggerSearch(lookup.value, false, true);
429
461
  }
430
- }));
431
- lookup.addEventListener('change', () => __awaiter(this, void 0, void 0, function* () {
432
- if (lookup.value.length >= minChars) {
433
- const valid = yield search(lookup.value);
434
- if (valid != true) {
435
- lookup === null || lookup === void 0 ? void 0 : lookup.classList.add('is-invalid');
436
- errorMsg === null || errorMsg === void 0 ? void 0 : errorMsg.innerHTML = valid;
462
+ });
463
+ lookup.addEventListener('input', () => {
464
+ var _a;
465
+ lookup.classList.remove('is-invalid');
466
+ if (errorMsg)
467
+ errorMsg.innerHTML = '';
468
+ const v = ((_a = lookup.value) !== null && _a !== void 0 ? _a : '').trim();
469
+ if (v.length < minChars) {
470
+ list.innerHTML = '';
471
+ if (paginationWrapper) {
472
+ paginationWrapper.innerHTML = '';
437
473
  }
474
+ list === null || list === void 0 ? void 0 : list.classList.remove('loading', 'noresults');
475
+ cacheSearchQuery = '';
476
+ return;
438
477
  }
439
- }));
478
+ triggerSearch(v);
479
+ });
440
480
  list.addEventListener('click', (e) => {
441
- if (e.target.tagName == "OPTION") {
481
+ if (e.target.tagName == 'OPTION') {
442
482
  const values = JSON.parse(e.target.getAttribute('data-values'));
443
483
  fillInputs(values);
444
484
  if (this.shadowRoot.querySelector('[name="use"]'))
@@ -451,38 +491,23 @@ class iamAddressLookup extends HTMLElement {
451
491
  });
452
492
  atleastoneValidate();
453
493
  });
454
- postcodeSubmit === null || postcodeSubmit === void 0 ? void 0 : postcodeSubmit.addEventListener('click', () => __awaiter(this, void 0, void 0, function* () {
455
- const valid = yield search(lookup.value);
456
- if (valid != true) {
457
- lookup === null || lookup === void 0 ? void 0 : lookup.classList.add('is-invalid');
458
- errorMsg === null || errorMsg === void 0 ? void 0 : errorMsg.innerHTML = valid;
459
- }
460
- }));
461
- this === null || this === void 0 ? void 0 : this.addEventListener('search', () => __awaiter(this, void 0, void 0, function* () {
462
- const valid = yield search(lookup.value);
463
- if (valid != true) {
464
- lookup === null || lookup === void 0 ? void 0 : lookup.classList.add('is-invalid');
465
- errorMsg === null || errorMsg === void 0 ? void 0 : errorMsg.innerHTML = valid;
466
- }
467
- }));
494
+ postcodeSubmit === null || postcodeSubmit === void 0 ? void 0 : postcodeSubmit.addEventListener('click', () => {
495
+ triggerSearch(lookup.value, false, true);
496
+ });
468
497
  this === null || this === void 0 ? void 0 : this.addEventListener('close-button-pressed', () => {
469
- list.innerHTML = "";
498
+ list.innerHTML = '';
470
499
  list === null || list === void 0 ? void 0 : list.classList.remove('loading');
471
500
  list === null || list === void 0 ? void 0 : list.classList.remove('noresults');
472
501
  lookup === null || lookup === void 0 ? void 0 : lookup.classList.remove('is-invalid');
473
- errorMsg === null || errorMsg === void 0 ? void 0 : errorMsg.innerHTML = "";
502
+ errorMsg === null || errorMsg === void 0 ? void 0 : errorMsg.innerHTML = '';
474
503
  list === null || list === void 0 ? void 0 : list.classList.remove('show-welsh-banner');
475
504
  lookup.focus();
476
505
  });
477
- paginationWrapper === null || paginationWrapper === void 0 ? void 0 : paginationWrapper.addEventListener('click', (e) => __awaiter(this, void 0, void 0, function* () {
478
- if (e.target.tagName == "BUTTON") {
479
- const valid = yield search(lookup.value, true);
480
- if (valid != true) {
481
- lookup === null || lookup === void 0 ? void 0 : lookup.classList.add('is-invalid');
482
- errorMsg === null || errorMsg === void 0 ? void 0 : errorMsg.innerHTML = valid;
483
- }
506
+ paginationWrapper === null || paginationWrapper === void 0 ? void 0 : paginationWrapper.addEventListener('click', (e) => {
507
+ if (e.target.tagName === 'BUTTON') {
508
+ triggerSearch(lookup.value, true, true);
484
509
  }
485
- }));
510
+ });
486
511
  // #endregion
487
512
  // #region Matched address
488
513
  if (this.hasAttribute('data-matched')) {