diff --git a/dist/lib/address-search.js b/dist/lib/address-search.js new file mode 100644 index 0000000..6fa42ce --- /dev/null +++ b/dist/lib/address-search.js @@ -0,0 +1,1243 @@ +import EventFactory from './event-factory'; +import Request from './request'; +import { AddressValidationMode, defaults } from './search-options'; +import { datasetCodes } from './datasets-codes'; +import { translations } from './translations'; +import { Picklist } from './class-types'; +var AddressValidation = /** @class */ (function () { + function AddressValidation(options) { + var _this = this; + this.baseUrl = 'https://api.experianaperture.io/'; + this.searchEndpoint = 'address/search/v1'; + this.lookupEndpoint = 'address/lookup/v2'; + this.validateEndpoint = 'address/validate/v1'; + this.promptsetEndpoint = 'address/promptsets/v1'; + this.stepInEndpoint = 'address/suggestions/stepin/v1'; + this.refineEndpoint = 'address/suggestions/refine/v1'; + this.enrichmentEndpoint = 'enrichment/v2'; + this.what3WordCountries = ['GBR']; + this.what3WordsKeyword = 'what3words'; + this.poweredByLogo = { + element: null, + // Create a "Powered by Experian" footer + create: function (picklist) { + var item = { + text: "".concat(this.svg, " Powered by Experian"), + format: '' + }; + var listItem = picklist.createListItem(item); + listItem.classList.add('powered-by-experian'); + picklist.list.parentNode.appendChild(listItem); + return listItem; + }, + // Destroy the "Powered by Experian" footer + destroy: function (picklist) { + if (this.element) { + picklist.list.parentNode.removeChild(this.element); + this.element = undefined; + } + }, + svg: "\n Experian logo\n \n \n \n \n \n \n \n \n " + }; + this.result = { + formattedAddressContainer: null, + lastAddressField: null, + generateAddressLineRequired: false, + // Render a Formatted address + show: function (data) { + // Hide the inline search spinner + _this.searchSpinner.hide(); + // Hide the picklist + _this.picklist.hide(); + // Clear the previous search term + _this.lastSearchTerm = ''; + // Allow Autocomplete through as it will need to create the additional output fields for the final address. + // Otherwise, only render the final address if there are results available. + if (_this.searchType === AddressValidationMode.AUTOCOMPLETE || (data.result.address && data.result.confidence !== 'No matches')) { + // Clear search input(s) + _this.inputs.forEach(function (input) { return input.value = ''; }); + // Calculate if we needed to generate the formatted address input fields later + _this.result.calculateIfAddressLineGenerationRequired(); + // Get formatted address container element + // Only create a container if we're creating inputs. Otherwise the user will have their own container. + _this.result.formattedAddressContainer = _this.options.elements.formattedAddressContainer; + if (!_this.result.formattedAddressContainer && _this.result.generateAddressLineRequired) { + _this.result.createFormattedAddressContainer(); + } + // Loop over each formatted address component + for (var i = 0; i < Object.keys(data.result.address).length; i++) { + var key = Object.keys(data.result.address)[i]; + var addressComponent = data.result.address[key]; + // Bind the address element to the user's address field (or create a new one) + _this.result.updateAddressLine(key, addressComponent, 'address-line-input'); + } + // Hide country and address search fields (if they have a 'toggle' class) + _this.toggleSearchInputs('hide'); + // Enable users to search again subsequently + _this.hasSearchInputBeenReset = true; + // If an address line is also the main search input, set property to false. + // This ensures that typing in the field again (after an address has been + // returned) will not trigger a new search. + if (_this.searchType === AddressValidationMode.AUTOCOMPLETE) { + for (var element in _this.options.elements) { + if (Object.prototype.hasOwnProperty.call(_this.options.elements, element)) { + // Excluding the input itself, does another element match the input field? + if (element !== 'input' && _this.options.elements[element] === _this.inputs[0]) { + _this.hasSearchInputBeenReset = false; + break; + } + } + } + } + // Create the 'Search again' link and insert into DOM + _this.result.createSearchAgainLink(); + } + // Fire an event to say we've got the formatted address + _this.events.trigger('post-formatting-search', data); + }, + hide: function () { + // Delete the formatted address container + if (_this.result.formattedAddressContainer) { + _this.result.formattedAddressContainer.parentNode.removeChild(_this.result.formattedAddressContainer); + _this.result.formattedAddressContainer = undefined; + } + // Delete the search again link + if (_this.options.searchAgain.link) { + _this.options.searchAgain.link.parentNode.removeChild(_this.options.searchAgain.link); + _this.options.searchAgain.link = undefined; + } + // Remove previous value from user's result field + // Loop over their elements + for (var element in _this.options.elements) { + if (Object.prototype.hasOwnProperty.call(_this.options.elements, element)) { + // If it matches an "address" element + for (var i = 0; i < defaults.addressLineLabels.length; i++) { + var label = defaults.addressLineLabels[i]; + // Only reset the value if it's not an input field + if (label === element && _this.options.elements[element] !== _this.inputs[0]) { + _this.options.elements[element].value = ''; + break; + } + } + } + } + }, + createAddressLine: { + // Create an input to store the address line + input: function (key, value, className) { + // Create a wrapper + var div = document.createElement('div'); + div.classList.add(className); + // Create the label + var label = document.createElement('label'); + label.innerHTML = key.replace(/([A-Z])/g, ' $1') // Add space before capital Letters + .replace(/([0-9])/g, ' $1') // Add space before numbers + .replace(/^./, function (str) { return str.toUpperCase(); }); // Make first letter of word a capital letter + div.appendChild(label); + // Create the input + var input = document.createElement('input'); + input.setAttribute('type', 'text'); + input.setAttribute('name', key); + input.setAttribute('value', value); + div.appendChild(input); + return div; + }, + // Create the address line label based on the country and language + label: function (key) { + var label = key; + var language = _this.options.language.toLowerCase(); + var country = _this.currentCountryCode.toLowerCase(); + if (translations) { + try { + var translatedLabel = translations[language][country][key]; + if (translatedLabel) { + label = translatedLabel; + } + } + catch (e) { + // Translation doesn't exist for key + } + } + return label; + } + }, + // Create the formatted address container and inject after the input + createFormattedAddressContainer: function () { + var container = document.createElement('div'); + container.classList.add('formatted-address'); + // If Singleline mode is used, then append the formatted address after the last input field, otherwise use the first one + var position = _this.searchType === AddressValidationMode.SINGLELINE ? _this.inputs.length - 1 : 0; + // Insert the container after the input + _this.inputs[position].parentNode.insertBefore(container, _this.inputs[position].nextSibling); + _this.result.formattedAddressContainer = container; + }, + // Create a heading for the formatted address container + createHeading: function () { + // Create a heading for the formatted address + if (_this.options.formattedAddressContainer.showHeading) { + var heading = document.createElement(_this.options.formattedAddressContainer.headingType); + heading.innerHTML = _this.options.formattedAddressContainer.validatedHeadingText; + _this.result.formattedAddressContainer.appendChild(heading); + } + }, + // Update the heading text in the formatted address container + updateHeading: function (text) { + //Change the heading text to "Manual address entered" + if (_this.options.formattedAddressContainer.showHeading) { + var heading = _this.result.formattedAddressContainer.querySelector(_this.options.formattedAddressContainer.headingType); + heading.innerHTML = text; + } + }, + calculateIfAddressLineGenerationRequired: function () { + _this.result.generateAddressLineRequired = true; + for (var i = 0; i < defaults.addressLineLabels.length; i++) { + var key = defaults.addressLineLabels[i]; + if (_this.options.elements[key]) { + _this.result.generateAddressLineRequired = false; + break; + } + } + }, + updateAddressLine: function (key, addressLineObject, className) { + // Either append the result to the user's address field or create a new field for them + if (_this.options.elements[key]) { + var addressField = _this.options.elements[key]; + _this.result.updateLabel(key); + var value = addressLineObject; + // If a value is already present, prepend a comma and space + if (addressField.value && value) { + value = ', ' + value; + } + // Decide what property of the node we need to update. i.e. if it's not a form field, update the innerText. + if (addressField.nodeName === 'INPUT' || addressField.nodeName === 'TEXTAREA' || addressField.nodeName === 'SELECT') { + addressField.value += value; + } + else { + addressField.innerText += value; + } + // Store a record of their last address field + _this.result.lastAddressField = addressField; + } + else if (_this.result.generateAddressLineRequired) { + // Create an input to store the address line + var label = _this.result.createAddressLine.label(key); + var field = _this.result.createAddressLine.input(label, addressLineObject, className); + // Insert into DOM + _this.result.formattedAddressContainer.appendChild(field); + } + }, + // Update the label if translation is present + updateLabel: function (key) { + var label = key; + var language = _this.options.language.toLowerCase(); + var country = _this.currentCountryCode.toLowerCase(); + if (translations) { + try { + var translatedLabel = translations[language][country][key]; + if (translatedLabel) { + label = translatedLabel; + var labels = document.getElementsByTagName('label'); + for (var i = 0; i < labels.length; i++) { + if (labels[i].htmlFor === key) { + labels[i].innerHTML = translatedLabel; + } + } + } + } + catch (e) { + // Translation doesn't exist for key + } + } + return label; + }, + // Create the 'Search again' link that resets the search + createSearchAgainLink: function () { + if (_this.options.searchAgain.visible) { + var link = document.createElement('button'); + link.setAttribute('type', 'button'); + link.classList.add('search-again-button'); + link.innerText = _this.options.searchAgain.text; + // Bind event listener + link.addEventListener('click', _this.globalReset.bind(_this)); + // Store a reference to the link element + _this.options.searchAgain.link = link; + // Insert into the formatted address container + if (_this.result.formattedAddressContainer) { + _this.result.formattedAddressContainer.appendChild(link); + } + else if (_this.result.lastAddressField) { + // Insert after last address field + _this.result.lastAddressField.parentNode.insertBefore(link, _this.result.lastAddressField.nextSibling); + } + } + }, + // Write the list of hidden address line inputs to the DOM + renderInputList: function (inputArray) { + if (inputArray.length > 0) { + for (var i = 0; i < inputArray.length; i++) { + _this.result.formattedAddressContainer.appendChild(inputArray[i]); + } + } + }, + // Decide whether to either show a picklist or a verified result from a Validate response + handleValidateResponse: function (response) { + if (response.result.confidence === 'Verified match') { + // If the response contains an address, then use this directly in the result + if (response.result.address) { + _this.result.show(response); + } + else if (response.result.suggestions) { + // If the verified match still contains a suggestion, then we need to format this first + _this.format(response.result.suggestions[0].format); + } + } + else if (response.result.suggestions) { + // If the user needs to pick a suggestion, then display the picklist + _this.picklist.show(response); + } + else if (response.result.confidence === 'No matches') { + // If there are no matches, then allow "use address entered" + _this.picklist.handleEmptyPicklist(response); + } + } + }; + this.searchSpinner = { + show: function () { + var _a; + // Return if we're not displaying a spinner + if (!_this.options.useSpinner) { + return; + } + // Create the spinner container + var spinnerContainer = document.createElement('div'); + spinnerContainer.classList.add('loader'); + spinnerContainer.classList.add('loader-inline'); + // Create the spinner + var spinner = document.createElement('div'); + spinner.classList.add('spinner'); + spinnerContainer.appendChild(spinner); + // Insert the spinner after the field + (_a = _this.inputs[0].parentNode) === null || _a === void 0 ? void 0 : _a.insertBefore(spinnerContainer, _this.inputs[0].nextSibling); + }, + hide: function () { + var _a, _b; + // Return if we're not displaying a spinner + if (!_this.options.useSpinner) { + return; + } + var spinner = (_a = _this.inputs[0].parentNode) === null || _a === void 0 ? void 0 : _a.querySelector('.loader-inline'); + if (spinner) { + (_b = _this.inputs[0].parentNode) === null || _b === void 0 ? void 0 : _b.removeChild(spinner); + } + } + }; + this.options = this.mergeDefaultOptions(options); + this.events = new EventFactory(); + this.setup(); + } + AddressValidation.prototype.setToken = function (token) { + this.options.token = token; + this.setup(); + }; + AddressValidation.prototype.setSearchType = function (searchType) { + this.searchType = searchType; + this.globalReset(); + this.setInputs(); + this.events.trigger('post-search-type-change', searchType); + }; + AddressValidation.prototype.getEnrichmentData = function (globalAddressKey) { + if (globalAddressKey) { + var data = { + country_iso: this.currentCountryCode, + keys: { + global_address_key: globalAddressKey + }, + attributes: { + geocodes: ['latitude', 'longitude', 'match_level'], + what3words: this.shouldTriggerWhat3WordsEnrichment ? + ['latitude', 'longitude', 'name', 'description'] : null + } + }; + this.events.trigger('pre-enrichment'); + this.request.send(this.baseUrl + this.enrichmentEndpoint, 'POST', this.handleEnrichmentResult.bind(this), JSON.stringify(data)); + } + }; + AddressValidation.prototype.setup = function () { + var _this = this; + // Get token and proceed if it's present + if (this.token) { + this.hasSearchInputBeenReset = true; + // Instantiate a new Request class for use when making API calls + this.request = new Request(this); + // Set the country list + this.setCountryList(); + // Set the input fields for this search type + this.setInputs(); + // Setup a picklist object + this.createPicklist(); + } + else { + // Trigger a 401 Unauthorized event if a token does not exist + setTimeout(function () { return _this.events.trigger('request-error-401'); }); + } + }; + AddressValidation.prototype.handleEnrichmentResult = function (response) { + this.events.trigger('post-enrichment', response); + }; + AddressValidation.prototype.getParameter = function (name) { + name = name.replace(/[[]/, '\\[').replace(/[\]]/, '\\]'); + var regex = new RegExp('[\\?&]' + name + '=([^&#]*)'), results = regex.exec(location.search); + return results === null ? '' : decodeURIComponent(results[1].replace(/\+/g, ' ')); + }; + Object.defineProperty(AddressValidation.prototype, "token", { + // Try and get token from the query string if it's not already provided + get: function () { + if (!this.options.token) { + this.options.token = this.getParameter('token'); + } + return this.options.token; + }, + enumerable: false, + configurable: true + }); + AddressValidation.prototype.mergeDefaultOptions = function (customOptions) { + var instance = customOptions || {}; + instance.enabled = true; + this.searchType = instance.searchType || defaults.searchType; + instance.enableWhat3Words = instance.enableWhat3Words || defaults.enableWhat3Words; + instance.searchType = instance.searchType || defaults.searchType; + instance.language = instance.language || defaults.language; + instance.useSpinner = instance.useSpinner || defaults.useSpinner; + instance.applyFocus = (typeof instance.applyFocus !== 'undefined') ? instance.applyFocus : defaults.input.applyFocus; + instance.placeholderText = instance.placeholderText || defaults.input.placeholderText; + instance.searchAgain = instance.searchAgain || {}; + instance.searchAgain.visible = (typeof instance.searchAgain.visible !== 'undefined') ? instance.searchAgain.visible : defaults.searchAgain.visible; + instance.searchAgain.text = instance.searchAgain.text || defaults.searchAgain.text; + instance.formattedAddressContainer = instance.formattedAddressContainer || defaults.formattedAddressContainer; + instance.formattedAddressContainer.showHeading = (typeof instance.formattedAddressContainer.showHeading !== 'undefined') ? instance.formattedAddressContainer.showHeading : defaults.formattedAddressContainer.showHeading; + instance.formattedAddressContainer.headingType = instance.formattedAddressContainer.headingType || defaults.formattedAddressContainer.headingType; + instance.formattedAddressContainer.validatedHeadingText = instance.formattedAddressContainer.validatedHeadingText || defaults.formattedAddressContainer.validatedHeadingText; + instance.formattedAddressContainer.manualHeadingText = instance.formattedAddressContainer.manualHeadingText || defaults.formattedAddressContainer.manualHeadingText; + instance.useAddressEnteredText = instance.useAddressEnteredText || defaults.useAddressEnteredText; + instance.elements = instance.elements || {}; + return instance; + }; + AddressValidation.prototype.getPromptset = function () { + var _this = this; + if (this.currentCountryCode) { + // Using the country code and the search type, lookup what the relevant dataset code should be + this.currentDataSet = this.lookupDatasetCode(); + if (this.currentDataSet) { + /// Temporary measure until the promptset endpoint supports Autocomplete and Validate + if (this.searchType === AddressValidationMode.AUTOCOMPLETE) { + setTimeout(function () { return _this.handlePromptsetResult({ result: { lines: [{ example: _this.options.placeholderText, prompt: 'Address', suggested_input_length: 160 }] } }); }); + return; + } + else if (this.searchType === AddressValidationMode.VALIDATE) { + var lines_1 = [ + { prompt: 'Address line 1', suggested_input_length: 160 }, + { prompt: 'Address line 2', suggested_input_length: 160 }, + { prompt: 'Address line 3', suggested_input_length: 160 }, + { prompt: this.result.createAddressLine.label('locality'), suggested_input_length: 160 }, + { prompt: this.result.createAddressLine.label('region'), suggested_input_length: 160 }, + { prompt: this.result.createAddressLine.label('postal_code'), suggested_input_length: 160 } + ]; + setTimeout(function () { return _this.handlePromptsetResult({ result: { lines: lines_1 } }); }); + return; + } + var data = { + country_iso: this.currentCountryCode, + datasets: Array.isArray(this.currentDataSet) ? this.currentDataSet : [this.currentDataSet], + search_type: this.searchType, + prompt_set: 'optimal' + }; + this.events.trigger('pre-promptset-check'); + this.request.send(this.baseUrl + this.promptsetEndpoint, 'POST', this.handlePromptsetResult.bind(this), JSON.stringify(data)); + } + } + }; + AddressValidation.prototype.lookupDatasetCode = function () { + var _this = this; + var item = datasetCodes.find(function (dataset) { return dataset.iso3Code === _this.currentCountryCode && dataset.searchType.includes(_this.searchType); }); + if (item) { + return item.datasetCode; + } + }; + AddressValidation.prototype.handlePromptsetResult = function (response) { + // Remove any currently displayed picklist when the promptset changes + this.picklist.hide(); + // Trigger a new event to notify subscribers + this.events.trigger('post-promptset-check', response); + }; + AddressValidation.prototype.setInputs = function (inputs) { + if (inputs === void 0) { inputs = this.options.elements.inputs; } + // If address inputs exist then register these with event listeners, otherwise call the promptset endpoint to retrieve them + if (inputs) { + this.registerInputs(inputs); + } + else { + // Make an API call to get the promptset for this country/dataset/engine + this.getPromptset(); + } + if (this.searchType === AddressValidationMode.SINGLELINE || this.searchType === AddressValidationMode.VALIDATE) { + // Bind an event listener on the lookup button + if (this.options.elements.lookupButton) { + this.lookupFn = this.search.bind(this); + this.options.elements.lookupButton.addEventListener('click', this.lookupFn); + } + } + }; + AddressValidation.prototype.registerInputs = function (inputs) { + var _this = this; + // If new inputs have been provided, ensure we update the elements array to capture them + this.inputs = Array.from(inputs); + this.inputs.forEach(function (input) { + // Disable autocomplete on the form field + input.setAttribute('autocomplete', 'new-password'); + if (_this.searchType === AddressValidationMode.AUTOCOMPLETE) { + // Bind an event listener on the input + _this.keyUpFn = _this.search.bind(_this); + input.addEventListener('keyup', _this.keyUpFn); + _this.checkTabFn = _this.checkTab.bind(_this); + input.addEventListener('keydown', _this.checkTabFn); + // Set a placeholder for the input + input.setAttribute('placeholder', _this.options.placeholderText); + } + // Bind an event listener on the input to allow users to traverse up and down the picklist using the keyboard + input.addEventListener('keyup', _this.handleKeyboardEvent.bind(_this)); + }); + this.countryCodeMapping = this.options.countryCodeMapping || {}; + // Apply focus to the first input + if (this.options.applyFocus) { + this.inputs[0].focus(); + } + }; + AddressValidation.prototype.setCountryList = function () { + // Set the initial country code from either the value of a country list HTML element or a static country code + if (this.options.elements.countryList) { + this.currentCountryCode = this.options.elements.countryList.value; + // Listen for when a country is changed and call the promptset endpoint + this.options.elements.countryList.addEventListener('change', this.handleCountryListChange.bind(this)); + } + else if (this.options.countryCode) { + this.currentCountryCode = this.options.countryCode; + } + else { + throw new Error('Please provide a country code or a country list element'); + } + }; + // When a country from the list is changed, update the current country code and call the promptset endpoint again + AddressValidation.prototype.handleCountryListChange = function () { + this.currentCountryCode = this.options.elements.countryList.value; + this.getPromptset(); + }; + AddressValidation.prototype.generateSearchDataForApiCall = function () { + // If a dataset code hasn't been set yet, try and look it up + if (!this.currentDataSet) { + this.currentDataSet = this.lookupDatasetCode(); + } + var data = { + country_iso: this.currentCountryCode, + components: { unspecified: [this.currentSearchTerm] }, + datasets: Array.isArray(this.currentDataSet) ? this.currentDataSet : [this.currentDataSet], + max_suggestions: (this.options.maxSuggestions || this.picklist.maxSuggestions) + }; + if (this.searchType === AddressValidationMode.SINGLELINE || this.searchType === AddressValidationMode.VALIDATE) { + data['options'] = [ + { + name: 'flatten', + Value: 'true' + }, + { + name: 'intensity', + Value: 'close' + }, + { + name: 'prompt_set', + Value: 'default' + } + ]; + if (this.searchType === AddressValidationMode.SINGLELINE) { + data['options'].push({ + name: 'search_type', + Value: 'singleline' + }); + } + if (this.searchType === AddressValidationMode.VALIDATE) { + data['layouts'] = ['default']; + data['layout_format'] = 'default'; + } + } + if (this.options.location) { + data['location'] = this.options.location; + } + return JSON.stringify(data); + }; + AddressValidation.prototype.generateLookupDataForApiCall = function (input, shouldGetSuggestions) { + // If a dataset code hasn't been set yet, try and look it up + if (!this.currentDataSet) { + this.currentDataSet = this.lookupDatasetCode(); + } + var data = { + country_iso: this.currentCountryCode, + datasets: Array.isArray(this.currentDataSet) ? this.currentDataSet : [this.currentDataSet], + max_suggestions: (this.options.maxSuggestions || this.picklist.maxSuggestions), + key: { + type: this.what3WordsKeyword, + value: this.getWhat3WordsLookupValue(input, shouldGetSuggestions), + } + }; + return JSON.stringify(data); + }; + AddressValidation.prototype.getWhat3WordsLookupValue = function (input, shouldGetSuggestions) { + if (input.startsWith('///') && shouldGetSuggestions) { + input = input.slice(3); + } + return input; + }; + // Allow the keyboard to be used to either traverse up and down the picklist and select an item, or trigger a new search + AddressValidation.prototype.handleKeyboardEvent = function (event) { + event.preventDefault(); + // Handle keyboard navigation + var key = this.getKey(event); + // If a picklist is populated then trigger its keyup event to select an item + if (this.picklist.size) { + if (key === 'ArrowUp' || key === 'ArrowDown' || key === 'Enter') { + this.picklist.keyup(event); + return; + } + } + else { + // Otherwise, enable pressing 'enter' to trigger a new search + if (key === 'Enter') { + this.search(event); + return; + } + } + }; + // Main function to search for an address from an input string + AddressValidation.prototype.search = function (event) { + event.preventDefault(); + this.currentSearchTerm = this.inputs.map(function (input) { return input.value; }).join(','); + // Grab the country ISO code and (if it is present) the dataset name from the current value of the countryList (format: {countryIsoCode};{dataset}) + var currentCountryInfo = this.countryCodeMapping[this.currentCountryCode] || this.currentCountryCode; + var countryCodeAndDataset = currentCountryInfo.split(';'); + this.currentCountryCode = countryCodeAndDataset[0]; + if (countryCodeAndDataset[1]) { + this.currentDataSet = countryCodeAndDataset[1]; + } + // (Re-)set the property stating whether the search input has been reset. + // This is needed for instances when the search input is also an address + // output field. After an address has been returned, you don't want a new + // search being triggered until the field has been cleared. + if (this.currentSearchTerm === '') { + this.hasSearchInputBeenReset = true; + } + // Check if searching is permitted + if (this.canSearch()) { + // Abort any outstanding requests + if (this.request.currentRequest) { + this.request.currentRequest.abort(); + } + // Regex that checks if the input is the format for a what3words search. Ex: ///a.b.c + var regex = /^\/{0,}(?:[^0-9`~!@#$%^&*()+\-_=[{\]}\\|'<,.>?/";:£§º©®\s]+[.。。・・︒។։။۔።।][^0-9`~!@#$%^&*()+\-_=[{\]}\\|'<,.>?/";:£§º©®\s]+[.。。・・︒។։။۔።।][^0-9`~!@#$%^&*()+\-_=[{\]}\\|'<,.>?/";:£§º©®\s]+|[^0-9`~!@#$%^&*()+\-_=[{\]}\\|'<,.>?/";:£§º©®\s]+([\u0020\u00A0][^0-9`~!@#$%^&*()+\-_=[{\]}\\|'<,.>?/";:£§º©®\s]+){1,3}[.。。・・︒។։။۔።।][^0-9`~!@#$%^&*()+\-_=[{\]}\\|'<,.>?/";:£§º©®\s]+([\u0020\u00A0][^0-9`~!@#$%^&*()+\-_=[{\]}\\|'<,.>?/";:£§º©®\s]+){1,3}[.。。・・︒។։။۔።।][^0-9`~!@#$%^&*()+\-_=[{\]}\\|'<,.>?/";:£§º©®\s]+([\u0020\u00A0][^0-9`~!@#$%^&*()+\-_=[{\]}\\|'<,.>?/";:£§º©®\s]+){1,3})$/; + if (regex.test(this.currentSearchTerm.trim()) && this.options.enableWhat3Words && this.what3WordCountries.indexOf(this.currentCountryCode) > -1) { + this.isWhat3Words = true; + this.currentSearchTerm = this.currentSearchTerm.trim(); + } + else { + this.isWhat3Words = false; + this.shouldTriggerWhat3WordsEnrichment = false; + } + // Fire an event before a search takes place + this.events.trigger('pre-search', this.currentSearchTerm); + // Construct the new Search URL and data + var data = this.isWhat3Words ? this.generateLookupDataForApiCall(this.currentSearchTerm, true) : this.generateSearchDataForApiCall(); + // Store the last search term + this.lastSearchTerm = this.currentSearchTerm; + // Hide the inline search spinner + this.searchSpinner.hide(); + // Show an inline spinner whilst searching + this.searchSpinner.show(); + var url = void 0, headers = void 0, callback = void 0; + // Set the API URL, headers and callback function depending on the search type + if (this.isWhat3Words) { + url = this.baseUrl + this.lookupEndpoint; + headers = []; + callback = this.picklist.showWhat3Words; + } + else { + url = this.baseUrl + (this.searchType === AddressValidationMode.VALIDATE ? this.validateEndpoint : this.searchEndpoint); + headers = this.searchType === AddressValidationMode.VALIDATE ? [{ key: 'Add-Metadata', value: true }] : []; + callback = this.searchType === AddressValidationMode.VALIDATE ? this.result.handleValidateResponse : this.picklist.show; + } + // Initiate new Search request + this.request.send(url, 'POST', callback, data, headers); + } + else if (this.lastSearchTerm !== this.currentSearchTerm) { + // Clear the picklist if the search term is cleared/empty + this.picklist.hide(); + } + }; + // Helper method to return a consistent key name + AddressValidation.prototype.getKey = function (_a) { + var key = _a.key; + switch (key) { + case 'Down': + case 'ArrowDown': + return 'ArrowDown'; + case 'Up': + case 'ArrowUp': + return 'ArrowUp'; + case 'Spacebar': + case ' ': + return ' '; + case 'Escape': + case 'Esc': + return 'Escape'; + default: + return key; + } + }; + AddressValidation.prototype.canSearch = function () { + // If searching on this instance is enabled, and + return (this.options.enabled && + // If search term is not empty, and + this.currentSearchTerm !== '' && + // If the search term is at least 4 characters + this.currentSearchTerm.length > 3 && + // If search term is not the same as previous search term, and + this.lastSearchTerm !== this.currentSearchTerm && + // If the country is not empty, and + this.currentCountryCode && + // If search input has been reset (if applicable) + this.hasSearchInputBeenReset === true); + }; + AddressValidation.prototype.createPicklist = function () { + var _this = this; + // Instantiate a new Picklist class and set the properties below + this.picklist = new Picklist(); + // Set initial max size + this.picklist.maxSuggestions = 25; + // Tab count used for keyboard navigation + this.picklist.tabCount = -1; + // Render a picklist of search results + this.picklist.show = function (items) { + var _a; + // Store the picklist items + _this.picklist.items = items === null || items === void 0 ? void 0 : items.result.suggestions; + _this.picklist.handleCommonShowPicklistLogic(); + if (((_a = _this.picklist.items) === null || _a === void 0 ? void 0 : _a.length) > 0) { + // If a picklist needs "refining" then prepend a textbox to allow the user to enter their selection + if (_this.picklist.refine.isNeeded(items)) { + _this.picklist.refine.createInput(items.result.suggestions_prompt, items.result.suggestions_key); + } + if (_this.searchType === AddressValidationMode.VALIDATE) { + _this.picklist.displaySuggestionsHeader(); + } + // Iterate over and show results + _this.picklist.items.forEach(function (item) { + // Create a new item/row in the picklist + var listItem = _this.picklist.createListItem(item); + _this.picklist.list.appendChild(listItem); + // Listen for selection on this item + _this.picklist.listen(listItem); + }); + if (_this.searchType === AddressValidationMode.VALIDATE) { + _this.picklist.displayUseAddressEnteredFooter(); + } + _this.picklist.scrollIntoViewIfNeeded(); + } + else { + _this.picklist.handleEmptyPicklist(items); + } + // Add a "Powered by Experian" logo to the picklist footer + _this.poweredByLogo.element = _this.poweredByLogo.element || _this.poweredByLogo.create(_this.picklist); + // Fire an event after picklist is created + _this.events.trigger('post-picklist-create', _this.picklist.items); + }; + this.picklist.showWhat3Words = function (items) { + var _a; + // Store the picklist items + _this.picklist.what3wordsItems = items === null || items === void 0 ? void 0 : items.result.suggestions; + _this.picklist.handleCommonShowPicklistLogic(); + if (((_a = _this.picklist.what3wordsItems) === null || _a === void 0 ? void 0 : _a.length) > 0) { + // Iterate over and show results + _this.picklist.what3wordsItems.forEach(function (item) { + // Create a new item/row in the picklist + var listItem = _this.picklist.createWhat3WordsListItem(item); + _this.picklist.list.appendChild(listItem); + // Listen for selection on this item + _this.picklist.listen(listItem); + }); + _this.picklist.scrollIntoViewIfNeeded(); + } + else { + _this.picklist.handleEmptyPicklist(items); + } + // Add a "Powered by Experian" logo to the picklist footer + _this.poweredByLogo.element = _this.poweredByLogo.element || _this.poweredByLogo.create(_this.picklist); + // Fire an event after picklist is created + _this.events.trigger('post-picklist-create', _this.picklist.items); + }; + this.picklist.showLookup = function (items) { + var _a; + // Set isWhat3Words to "false" as we are no longer showing what3words addresses + _this.isWhat3Words = false; + // Store the picklist items + _this.picklist.lookupItems = items === null || items === void 0 ? void 0 : items.result.addresses; + _this.picklist.handleCommonShowPicklistLogic(); + if (((_a = _this.picklist.lookupItems) === null || _a === void 0 ? void 0 : _a.length) > 0) { + // Iterate over and show results + _this.picklist.lookupItems.forEach(function (item) { + // Create a new item/row in the picklist + var listItem = _this.picklist.createLookupListItem(item); + _this.picklist.list.appendChild(listItem); + // Listen for selection on this item + _this.picklist.listen(listItem); + }); + _this.picklist.scrollIntoViewIfNeeded(); + } + else { + _this.picklist.handleEmptyPicklist(items); + } + // Add a "Powered by Experian" logo to the picklist footer + _this.poweredByLogo.element = _this.poweredByLogo.element || _this.poweredByLogo.create(_this.picklist); + // Fire an event after picklist is created + _this.events.trigger('post-picklist-create', _this.picklist.items); + }; + this.picklist.handleCommonShowPicklistLogic = function () { + var _a; + // Reset any previously selected current item + _this.picklist.currentItem = null; + // Update picklist size + _this.picklist.size = (_a = _this.picklist.items) === null || _a === void 0 ? void 0 : _a.length; + // Reset the picklist tab count (used for keyboard navigation) + _this.picklist.resetTabCount(); + // Hide the inline search spinner + _this.searchSpinner.hide(); + // Get/Create picklist container element + _this.picklist.list = _this.picklist.list || _this.picklist.createList(); + // Ensure previous results are cleared + _this.picklist.list.innerHTML = ''; + _this.picklist.useAddressEntered.destroy(); + // Fire an event before picklist is created + _this.events.trigger('pre-picklist-create', _this.picklist.items); + }; + // Remove the picklist + this.picklist.hide = function () { + // Clear the current picklist item + _this.picklist.currentItem = null; + // Remove the "use address entered" option too + _this.picklist.useAddressEntered.destroy(); + // Remove the "Powered by Experian" logo + _this.poweredByLogo.destroy(_this.picklist); + if (_this.inputs) { + // Remove the class denoting a picklist - if Singleline mode is used, then it is the last input field, otherwise use the first one + var position = _this.searchType === AddressValidationMode.SINGLELINE ? _this.inputs.length - 1 : 0; + _this.inputs[position].classList.remove('showing-suggestions'); + } + // Remove the main picklist container + if (_this.picklist.list) { + _this.picklist.container.remove(); + _this.picklist.list = undefined; + } + }; + this.picklist.handleEmptyPicklist = function (items) { + var _a; + // Create a new item/row in the picklist showing "No matches" that allows the "use address entered" option + _this.picklist.useAddressEntered.element = _this.picklist.useAddressEntered.element || _this.picklist.useAddressEntered.create((_a = items.result) === null || _a === void 0 ? void 0 : _a.confidence); + _this.picklist.scrollIntoViewIfNeeded(); + // Provide implementing search types with a means of invoking a custom callback + if (typeof _this.picklist.handleEmptyPicklistCallback === 'function') { + _this.picklist.handleEmptyPicklistCallback(); + } + }; + // Prepend a title before the suggestions + this.picklist.displaySuggestionsHeader = function () { + var titleDiv = (document.querySelector('.picklist-suggestions-header') || document.createElement('div')); + titleDiv.classList.add('picklist-suggestions-header'); + titleDiv.innerText = 'Suggestions:'; + _this.picklist.list.parentNode.insertBefore(titleDiv, _this.picklist.list); + }; + // Append a footer at the bottom of the picklist providing an option to "use address entered" + this.picklist.displayUseAddressEnteredFooter = function () { + var containerDiv = document.querySelector('.picklist-use-entered-container') || document.createElement('div'); + containerDiv.classList.add('picklist-use-entered-container'); + _this.picklist.list.parentNode.insertBefore(containerDiv, _this.picklist.list.nextElementSibling); + var titleDiv = (document.querySelector('.picklist-use-entered-header') || document.createElement('div')); + titleDiv.classList.add('picklist-use-entered-header'); + titleDiv.innerText = 'Or use address entered:'; + containerDiv.appendChild(titleDiv); + var itemDiv = (document.querySelector('.picklist-use-entered-option') || document.createElement('div')); + itemDiv.classList.add('picklist-use-entered-option'); + itemDiv.innerText = _this.currentSearchTerm.replace(/,+/g, ', '); + itemDiv.addEventListener('click', _this.picklist.useAddressEntered.click); + containerDiv.appendChild(itemDiv); + }; + // If the picklist container is out of bounds to the top or bottom, then scroll it into view + this.picklist.scrollIntoViewIfNeeded = function () { + var outOfBoundsTop = _this.picklist.container.getBoundingClientRect().top < 0; + var outOfBoundsBottom = _this.picklist.container.getBoundingClientRect().bottom > window.innerHeight; + if (outOfBoundsTop || outOfBoundsBottom) { + _this.picklist.container.scrollIntoView(); + } + }; + this.picklist.useAddressEntered = { + element: null, + // Create a "use address entered" option + create: function (confidence) { + var item = { + text: "".concat(confidence, " ").concat(_this.options.useAddressEnteredText) + }; + var listItem = _this.picklist.createListItem(item); + listItem.classList.add('use-address-entered'); + listItem.setAttribute('title', 'Enter address manually'); + _this.picklist.list = _this.picklist.list || _this.picklist.createList(); + _this.picklist.list.parentNode.insertBefore(listItem, _this.picklist.container.firstChild); + listItem.addEventListener('click', _this.picklist.useAddressEntered.click); + return listItem; + }, + // Destroy the "use address entered" option + destroy: function () { + if (_this.picklist.useAddressEntered.element) { + _this.picklist.list.parentNode.removeChild(_this.picklist.useAddressEntered.element); + _this.picklist.useAddressEntered.element = undefined; + } + }, + // Use the address entered as the Formatted address + click: function () { + var inputData = { + result: { + confidence: 'No matches', + address: { + address_line_1: '', + address_line_2: '', + address_line_3: '', + locality: '', + region: '', + postal_code: '', + country: '' + } + } + }; + if (_this.currentSearchTerm) { + // Try and split into lines by using comma delimiter + var lines = _this.currentSearchTerm.split(','); + if (lines[0]) { + inputData.result.address.address_line_1 = lines[0]; + } + if (lines[1]) { + inputData.result.address.address_line_2 = lines[1]; + } + if (lines[2]) { + inputData.result.address.address_line_3 = lines[2]; + } + for (var i = 3; i < lines.length; i++) { + inputData.result.address.address_line_3 += lines[i]; + } + } + _this.result.show(inputData); + _this.result.updateHeading(_this.options.formattedAddressContainer.manualHeadingText); + }, + // Create and return an address line object with the key as the label + formatManualAddressLine: function (lines, i) { + var key = defaults.addressLineLabels[i]; + var lineObject = {}; + lineObject[key] = lines[i] || ''; + return lineObject; + } + }; + // Create the picklist list (and container) and inject after the input + this.picklist.createList = function () { + // If Singleline mode is used, then append the picklist after the last input field, otherwise use the first one + var position = _this.searchType === AddressValidationMode.SINGLELINE ? _this.inputs.length - 1 : 0; + var container = document.createElement('div'); + container.classList.add('address-picklist-container'); + _this.picklist.container = container; + // Insert the picklist container after the input + _this.inputs[position].parentNode.insertBefore(_this.picklist.container, _this.inputs[position].nextElementSibling); + var list = document.createElement('div'); + list.classList.add('address-picklist'); + // Append the picklist to the inner wrapper + _this.picklist.container.appendChild(list); + // Add a class to the input to denote that a picklist with suggestions is being shown + _this.inputs[position].classList.add('showing-suggestions'); + list.addEventListener('keydown', _this.picklist.checkEnter); + return list; + }; + // Create a new picklist item/row + this.picklist.createListItem = function (item) { + var row = document.createElement('div'); + row.innerHTML = _this.picklist.addMatchingEmphasis(item); + // Store the Format URL if it exists, otherwise use the global_address_key as a "refinement" property + if (item.format) { + row.setAttribute('format', item.format); + } + else if (item.global_address_key) { + row.setAttribute('refine', item.global_address_key); + } + return row; + }; + // Create a new picklist item/row for what3words + this.picklist.createWhat3WordsListItem = function (item) { + var row = document.createElement('div'); + var name = document.createElement('div'); + var description = document.createElement('div'); + row.className = _this.what3WordsKeyword; + name.className = 'what3Words-name'; + description.className = 'what3Words-description'; + name.innerHTML = '///' + item.what3words.name; + description.innerHTML = item.what3words.description; + row.appendChild(name); + row.appendChild(description); + return row; + }; + // Create a new picklist item/row for lookup items + this.picklist.createLookupListItem = function (item) { + var row = document.createElement('div'); + row.innerHTML = item.text; + // Store the Format URL if it exists, otherwise use the global_address_key as a "refinement" property + if (item.format) { + row.setAttribute('format', item.format); + } + else if (item.global_address_key) { + row.setAttribute('refine', item.global_address_key); + } + return row; + }; + this.picklist.refine = { + element: null, + // Returns whether the picklist needs refining. This happens after an item has been "stepped into" but has an unresolvable range. + // The user is prompted to enter their selection (e.g. building number). + isNeeded: function (response) { + return _this.searchType !== AddressValidationMode.AUTOCOMPLETE && (response.result.confidence === 'Premises partial' || response.result.confidence === 'Street partial' || response.result.confidence === 'Multiple matches'); + }, + createInput: function (prompt, key) { + var row = document.querySelector('.picklist-refinement-box') || document.createElement('div'); + row.classList.add('picklist-refinement-box'); + var input = (document.querySelector('.picklist-refinement-box input') || document.createElement('input')); + input.setAttribute('type', 'text'); + input.setAttribute('placeholder', prompt); + input.setAttribute('key', key); + input.setAttribute('autocomplete', 'new-password'); + input.addEventListener('keydown', _this.picklist.refine.enter.bind(_this)); + _this.picklist.refine.element = input; + var button = (document.querySelector('.picklist-refinement-box button') || document.createElement('button')); + button.innerText = 'Refine'; + button.addEventListener('click', _this.picklist.refine.enter); + row.appendChild(input); + row.appendChild(button); + _this.picklist.list.parentNode.insertBefore(row, _this.picklist.list); + input.focus(); + }, + enter: function (event) { + // Allow a new refinement entry if the enter key was used inside the textbox or the button was clicked + if ((event instanceof KeyboardEvent && event.key === 'Enter') || event instanceof MouseEvent) { + event.preventDefault(); + // If a picklist item is currently selected, then potentially use this instead of what's in the input field + if (_this.picklist.currentItem) { + _this.picklist.checkEnter(event); + return; + } + event.stopPropagation(); + // Take the value from the input field and use this to further refine the address + if (_this.picklist.refine.element.value) { + var data = JSON.stringify({ refinement: _this.picklist.refine.element.value }); + var key = _this.picklist.refine.element.getAttribute('key'); + _this.request.send("".concat(_this.baseUrl).concat(_this.refineEndpoint, "/").concat(key), 'POST', _this.result.handleValidateResponse, data); + } + } + else if (_this.picklist.size && event instanceof KeyboardEvent && (event.key === 'ArrowUp' || event.key === 'ArrowDown' || event.key === 'Enter')) { + _this.picklist.keyup(event); + } + } + }; + this.picklist.resetTabCount = function () { + _this.picklist.tabCount = -1; + }; + // Keyboard navigation + this.picklist.keyup = function (event) { + if (!_this.picklist.list) { + return; + } + _this.picklist.checkEnter(event); + // Get a list of all the addresses in the picklist + var addresses = _this.picklist.list.querySelectorAll('div'); + var firstAddress; + var lastAddress; + // If the picklist is empty, just return + if (addresses.length === 0) { + return; + } + // Set the tabCount based on previous and direction + if (event.key === 'ArrowUp') { + _this.picklist.tabCount--; + } + else if (event.key === 'ArrowDown') { + _this.picklist.tabCount++; + } + // Set top and bottom positions and enable wrap-around + if (_this.picklist.tabCount < 0) { + _this.picklist.tabCount = addresses.length - 1; + lastAddress = true; + } + if (_this.picklist.tabCount > addresses.length - 1) { + _this.picklist.tabCount = 0; + firstAddress = true; + } + // Highlight the selected address + var currentlyHighlighted = addresses[_this.picklist.tabCount]; + // Remove any previously highlighted ones + var previouslyHighlighted = _this.picklist.list.querySelector('.selected'); + if (previouslyHighlighted) { + previouslyHighlighted.classList.remove('selected'); + } + currentlyHighlighted.classList.add('selected'); + // Set the currentItem on the picklist to the currently highlighted address + _this.picklist.currentItem = currentlyHighlighted; + // Scroll address into view, if required + var addressListCoords = { + top: _this.picklist.list.offsetTop, + bottom: _this.picklist.list.offsetTop + _this.picklist.list.offsetHeight, + scrollTop: _this.picklist.list.scrollTop, + selectedTop: currentlyHighlighted.offsetTop, + selectedBottom: currentlyHighlighted.offsetTop + currentlyHighlighted.offsetHeight, + scrollAmount: currentlyHighlighted.offsetHeight + }; + if (firstAddress) { + _this.picklist.list.scrollTop = 0; + } + else if (lastAddress) { + _this.picklist.list.scrollTop = 999; + } + else if (addressListCoords.selectedBottom + addressListCoords.scrollAmount > addressListCoords.bottom) { + _this.picklist.list.scrollTop = addressListCoords.scrollTop + addressListCoords.scrollAmount; + } + else if (addressListCoords.selectedTop - addressListCoords.scrollAmount - addressListCoords.top < addressListCoords.scrollTop) { + _this.picklist.list.scrollTop = addressListCoords.scrollTop - addressListCoords.scrollAmount; + } + }; + // Add emphasis to the picklist items highlighting the match + this.picklist.addMatchingEmphasis = function (item) { + var highlights = item.matched || []; + var label = item.text; + for (var i = 0; i < highlights.length; i++) { + var replacement = '' + label.substring(highlights[i][0], highlights[i][1]) + ''; + label = label.substring(0, highlights[i][0]) + replacement + label.substring(highlights[i][1]); + } + return label; + }; + // Listen to a picklist selection + this.picklist.listen = function (row) { + row.addEventListener('click', _this.picklist.pick.bind(null, row)); + }; + this.picklist.checkEnter = function (event) { + if (event.key === 'Enter' || event.key === 'Tab') { + var picklistItem = void 0; + // If picklist contains 1 address then use this one to format + if (_this.picklist.size === 1) { + picklistItem = _this.picklist.list.querySelectorAll('div')[0]; + } // Else use the currently highlighted one when navigation using keyboard + else if (_this.picklist.currentItem) { + picklistItem = _this.picklist.currentItem; + } + if (picklistItem) { + _this.picklist.pick(picklistItem); + } + } + }; + // How to handle a picklist selection + this.picklist.pick = function (item) { + // Fire an event when an address is picked + _this.events.trigger('post-picklist-selection', item); + var elements = item.getElementsByTagName('div'); + if (_this.isWhat3Words) { + _this.lookup(elements[0].innerHTML); + } + else { + // Get a final address using picklist item unless it needs refinement + if (item.getAttribute('format')) { + _this.format(item.getAttribute('format')); + } + else { + _this.refine(item.getAttribute('refine')); + } + } + }; + }; + AddressValidation.prototype.format = function (url) { + // Trigger an event + this.events.trigger('pre-formatting-search', url); + // Hide the searching spinner + this.searchSpinner.hide(); + // Initiate a new Format request + this.request.send(url, 'GET', this.result.show, undefined, [{ key: 'Add-Metadata', value: true } /*, {key: 'Add-Components', value: true}*/]); + }; + AddressValidation.prototype.refine = function (key) { + // Trigger an event + this.events.trigger('pre-refinement', key); + // Hide the searching spinner + this.searchSpinner.hide(); + // Initiate a new Step-in request using the global address key + this.request.send("".concat(this.baseUrl).concat(this.stepInEndpoint, "/").concat(key), 'GET', this.picklist.show); + }; + AddressValidation.prototype.lookup = function (key) { + // Trigger an event + this.events.trigger('pre-lookup', key); + // Hide the searching spinner + this.searchSpinner.hide(); + //Get the lookup requet + var lookupV2Request = this.generateLookupDataForApiCall(key, false); + var url = this.baseUrl + this.lookupEndpoint; + var headers = [{ key: 'Add-Addresses', value: true }]; + var callback = this.picklist.showLookup; + //Set the shouldTriggerWhat3WordsEnrichment so that we can trigger it after the user chooses an address. + this.shouldTriggerWhat3WordsEnrichment = true; + // Initiate new Search request + this.request.send(url, 'POST', callback, lookupV2Request, headers); + }; + AddressValidation.prototype.checkTab = function (event) { + var key = this.getKey(event); + if (key === 'Tab') { + this.picklist.keyup(event); + return; + } + else if (key === 'Enter') { + // Prevent an 'Enter' keypress on the input submitting the form + event.preventDefault(); + } + }; + // Toggle the "hidden" class to either show or hide the input and country field(s) + AddressValidation.prototype.toggleSearchInputs = function (state) { + var _a, _b, _c; + var modifier = state === 'show' ? 'remove' : 'add'; + (_a = this.options.elements.inputs) === null || _a === void 0 ? void 0 : _a.forEach(function (input) { return input.parentNode.querySelectorAll('.toggle').forEach(function (element) { return element.classList[modifier]('hidden'); }); }); + (_b = this.options.elements.countryList) === null || _b === void 0 ? void 0 : _b.parentNode.querySelectorAll('.toggle').forEach(function (element) { return element.classList[modifier]('hidden'); }); + (_c = this.options.elements.lookupButton) === null || _c === void 0 ? void 0 : _c.parentNode.querySelectorAll('.toggle').forEach(function (element) { return element.classList[modifier]('hidden'); }); + }; + AddressValidation.prototype.globalReset = function (event) { + if (event) { + event.preventDefault(); + } + // Enable searching + this.options.enabled = true; + // Hide formatted address + this.result.hide(); + // Reset search input back + this.hasSearchInputBeenReset = true; + // Clear the input field(s) + this.inputs.forEach(function (input) { return input.value = ''; }); + // Remove the picklist (if present) + this.picklist.hide(); + // Show search input + this.toggleSearchInputs('show'); + // Apply focus to input + this.inputs[0].focus(); + // Fire an event after a reset + this.events.trigger('post-reset'); + }; + return AddressValidation; +}()); +export default AddressValidation; +//# sourceMappingURL=address-search.js.map \ No newline at end of file diff --git a/dist/lib/address-search.js.map b/dist/lib/address-search.js.map new file mode 100644 index 0000000..144c592 --- /dev/null +++ b/dist/lib/address-search.js.map @@ -0,0 +1 @@ +{"version":3,"file":"address-search.js","sourceRoot":"","sources":["../../src/ts/address-search.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/lib/class-types.js b/dist/lib/class-types.js new file mode 100644 index 0000000..b400e9a --- /dev/null +++ b/dist/lib/class-types.js @@ -0,0 +1,44 @@ +var Picklist = /** @class */ (function () { + function Picklist() { + this.size = 0; + this.maxSuggestions = 25; + } + return Picklist; +}()); +export { Picklist }; +var AddressValidationResult = /** @class */ (function () { + function AddressValidationResult() { + } + return AddressValidationResult; +}()); +export { AddressValidationResult }; +var CreateAddressLine = /** @class */ (function () { + function CreateAddressLine() { + } + return CreateAddressLine; +}()); +var UseAddressEntered = /** @class */ (function () { + function UseAddressEntered() { + } + return UseAddressEntered; +}()); +export { UseAddressEntered }; +var Refinement = /** @class */ (function () { + function Refinement() { + } + return Refinement; +}()); +export { Refinement }; +var SearchSpinner = /** @class */ (function () { + function SearchSpinner() { + } + return SearchSpinner; +}()); +export { SearchSpinner }; +var PoweredByLogo = /** @class */ (function () { + function PoweredByLogo() { + } + return PoweredByLogo; +}()); +export { PoweredByLogo }; +//# sourceMappingURL=class-types.js.map \ No newline at end of file diff --git a/dist/lib/class-types.js.map b/dist/lib/class-types.js.map new file mode 100644 index 0000000..5f65148 --- /dev/null +++ b/dist/lib/class-types.js.map @@ -0,0 +1 @@ +{"version":3,"file":"class-types.js","sourceRoot":"","sources":["../../src/ts/class-types.ts"],"names":[],"mappings":"AAAA;IAAA;QAOE,SAAI,GAAG,CAAC,CAAC;QACT,mBAAc,GAAG,EAAE,CAAC;IAwBtB,CAAC;IAAD,eAAC;AAAD,CAAC,AAhCD,IAgCC;;AAED;IAAA;IAgBA,CAAC;IAAD,8BAAC;AAAD,CAAC,AAhBD,IAgBC;;AAED;IAAA;IAGA,CAAC;IAAD,wBAAC;AAAD,CAAC,AAHD,IAGC;AAmDD;IAAA;IAMA,CAAC;IAAD,wBAAC;AAAD,CAAC,AAND,IAMC;;AAED;IAAA;IAKA,CAAC;IAAD,iBAAC;AAAD,CAAC,AALD,IAKC;;AAED;IAAA;IAGA,CAAC;IAAD,oBAAC;AAAD,CAAC,AAHD,IAGC;;AAED;IAAA;IAKA,CAAC;IAAD,oBAAC;AAAD,CAAC,AALD,IAKC"} \ No newline at end of file diff --git a/dist/lib/datasets-codes.js b/dist/lib/datasets-codes.js new file mode 100644 index 0000000..b021660 --- /dev/null +++ b/dist/lib/datasets-codes.js @@ -0,0 +1,462 @@ +export var datasetCodes = [ + { country: 'Afghanistan', iso3Code: 'AFG', iso2Code: 'AF', datasetCode: 'af-address-ed', searchType: 'singleline, validate' }, + { country: 'Afghanistan', iso3Code: 'AFG', iso2Code: 'AF', datasetCode: 'af-address-eh', searchType: 'autocomplete' }, + { country: 'Albania', iso3Code: 'ALB', iso2Code: 'AL', datasetCode: 'al-address-ed', searchType: 'singleline, validate' }, + { country: 'Albania', iso3Code: 'ALB', iso2Code: 'AL', datasetCode: 'al-address-eh', searchType: 'autocomplete' }, + { country: 'Algeria', iso3Code: 'DZA', iso2Code: 'DZ', datasetCode: 'dz-address-ed', searchType: 'singleline, validate' }, + { country: 'Algeria', iso3Code: 'DZA', iso2Code: 'DZ', datasetCode: 'dz-address-eh', searchType: 'autocomplete' }, + { country: 'American Samoa', iso3Code: 'ASM', iso2Code: 'AS', datasetCode: 'as-address-eh', searchType: 'autocomplete' }, + { country: 'Andorra', iso3Code: 'AND', iso2Code: 'AD', datasetCode: 'ad-address-ed', searchType: 'singleline, validate' }, + { country: 'Andorra', iso3Code: 'AND', iso2Code: 'AD', datasetCode: 'ad-address-eh', searchType: 'autocomplete' }, + { country: 'Angola', iso3Code: 'AGO', iso2Code: 'AO', datasetCode: 'ao-address-ed', searchType: 'singleline, validate' }, + { country: 'Angola', iso3Code: 'AGO', iso2Code: 'AO', datasetCode: 'ao-address-eh', searchType: 'autocomplete' }, + { country: 'Anguilla', iso3Code: 'AIA', iso2Code: 'AI', datasetCode: 'ai-address-eh', searchType: 'autocomplete' }, + { country: 'Antarctica', iso3Code: 'ATA', iso2Code: 'AQ', datasetCode: 'aq-address-ed', searchType: 'singleline, validate' }, + { country: 'Antigua and Barbuda', iso3Code: 'ATG', iso2Code: 'AG', datasetCode: 'ag-address-ed', searchType: 'singleline, validate' }, + { country: 'Antigua and Barbuda', iso3Code: 'ATG', iso2Code: 'AG', datasetCode: 'ag-address-eh', searchType: 'autocomplete' }, + { country: 'Argentina', iso3Code: 'ARG', iso2Code: 'AR', datasetCode: 'ar-address-ed', searchType: 'singleline, validate' }, + { country: 'Argentina', iso3Code: 'ARG', iso2Code: 'AR', datasetCode: 'ar-address-eh', searchType: 'autocomplete' }, + { country: 'Armenia', iso3Code: 'ARM', iso2Code: 'AM', datasetCode: 'am-address-ed', searchType: 'singleline, validate' }, + { country: 'Armenia', iso3Code: 'ARM', iso2Code: 'AM', datasetCode: 'am-address-eh', searchType: 'autocomplete' }, + { country: 'Aruba', iso3Code: 'ABW', iso2Code: 'AW', datasetCode: 'aw-address-ed', searchType: 'singleline, validate' }, + { country: 'Aruba', iso3Code: 'ABW', iso2Code: 'AW', datasetCode: 'aw-address-eh', searchType: 'autocomplete' }, + { country: 'Australia DataFusion', iso3Code: 'AUS', iso2Code: 'AU', datasetCode: 'au-address-datafusion', searchType: 'autocomplete, singleline, typedown' }, + { country: 'Australia Geocoded National Address', iso3Code: 'AUS', iso2Code: 'AU', datasetCode: 'au-address-gnaf', searchType: 'autocomplete, singleline, typedown, validate' }, + { country: 'Australia Postal Address', iso3Code: 'AUS', iso2Code: 'AU', datasetCode: 'au-address', searchType: 'autocomplete, singleline, typedown, validate' }, + { country: 'Austria', iso3Code: 'AUT', iso2Code: 'AT', datasetCode: 'at-address-eh', searchType: 'autocomplete' }, + { country: 'Austria', iso3Code: 'AUT', iso2Code: 'AT', datasetCode: 'az-address-ed', searchType: 'singleline, validate' }, + { country: 'Azerbaijan', iso3Code: 'AZE', iso2Code: 'AZ', datasetCode: 'az-address-ed', searchType: 'singleline, validate' }, + { country: 'Azerbaijan', iso3Code: 'AZE', iso2Code: 'AZ', datasetCode: 'az-address-eh', searchType: 'autocomplete' }, + { country: 'Bahamas', iso3Code: 'BHS', iso2Code: 'BS', datasetCode: 'bs-address-ed', searchType: 'singleline, validate' }, + { country: 'Bahamas', iso3Code: 'BHS', iso2Code: 'BS', datasetCode: 'bs-address-eh', searchType: 'autocomplete' }, + { country: 'Bahrain', iso3Code: 'BHR', iso2Code: 'BH', datasetCode: 'bh-address-ed', searchType: 'singleline, validate' }, + { country: 'Bahrain', iso3Code: 'BHR', iso2Code: 'BH', datasetCode: 'bh-address-eh', searchType: 'autocomplete' }, + { country: 'Bangladesh', iso3Code: 'BGD', iso2Code: 'BD', datasetCode: 'bd-address-ed', searchType: 'singleline, validate' }, + { country: 'Bangladesh', iso3Code: 'BGD', iso2Code: 'BD', datasetCode: 'bd-address-eh', searchType: 'autocomplete' }, + { country: 'Barbados', iso3Code: 'BRB', iso2Code: 'BB', datasetCode: 'bb-address-ed', searchType: 'singleline, validate' }, + { country: 'Barbados', iso3Code: 'BRB', iso2Code: 'BB', datasetCode: 'bb-address-eh', searchType: 'autocomplete' }, + { country: 'Belarus', iso3Code: 'BLR', iso2Code: 'BY', datasetCode: 'by-address-ed', searchType: 'singleline, validate' }, + { country: 'Belarus', iso3Code: 'BLR', iso2Code: 'BY', datasetCode: 'by-address-eh', searchType: 'autocomplete' }, + { country: 'Belgium', iso3Code: 'BEL', iso2Code: 'BE', datasetCode: 'be-address', searchType: 'singleline, typedown' }, + { country: 'Belgium', iso3Code: 'BEL', iso2Code: 'BE', datasetCode: 'be-address-ed', searchType: ' validate' }, + { country: 'Belgium', iso3Code: 'BEL', iso2Code: 'BE', datasetCode: 'be-address-eh', searchType: 'autocomplete' }, + { country: 'Belize', iso3Code: 'BLZ', iso2Code: 'BZ', datasetCode: 'bz-address-ed', searchType: 'singleline, validate' }, + { country: 'Belize', iso3Code: 'BLZ', iso2Code: 'BZ', datasetCode: 'bz-address-eh', searchType: 'autocomplete' }, + { country: 'Benin', iso3Code: 'BEN', iso2Code: 'BJ', datasetCode: 'bj-address-ed', searchType: 'singleline, validate' }, + { country: 'Benin', iso3Code: 'BEN', iso2Code: 'BJ', datasetCode: 'bj-address-eh', searchType: 'autocomplete' }, + { country: 'Bermuda', iso3Code: 'BMU', iso2Code: 'BM', datasetCode: 'bm-address-ed', searchType: 'singleline, validate' }, + { country: 'Bermuda', iso3Code: 'BMU', iso2Code: 'BM', datasetCode: 'bm-address-eh', searchType: 'autocomplete' }, + { country: 'Bhutan', iso3Code: 'BTN', iso2Code: 'BT', datasetCode: 'bt-address-ed', searchType: 'singleline, validate' }, + { country: 'Bhutan', iso3Code: 'BTN', iso2Code: 'BT', datasetCode: 'bt-address-eh', searchType: 'autocomplete' }, + { country: 'Bolivia', iso3Code: 'BOL', iso2Code: 'BO', datasetCode: 'bo-address-ed', searchType: 'singleline, validate' }, + { country: 'Bolivia', iso3Code: 'BOL', iso2Code: 'BO', datasetCode: 'bo-address-eh', searchType: 'autocomplete' }, + { country: 'Bonaire, Sint Eustatius and Saba', iso3Code: 'BES', iso2Code: 'BQ', datasetCode: 'bq-address-ed', searchType: 'singleline, validate' }, + { country: 'Bonaire, Sint Eustatius and Saba', iso3Code: 'BES', iso2Code: 'BQ', datasetCode: 'bq-address-eh', searchType: 'autocomplete' }, + { country: 'Bosnia and Herzegovina', iso3Code: 'BIH', iso2Code: 'BA', datasetCode: 'ba-address-ed', searchType: 'singleline, validate' }, + { country: 'Bosnia and Herzegovina', iso3Code: 'BIH', iso2Code: 'BA', datasetCode: 'ba-address-eh', searchType: 'autocomplete' }, + { country: 'Botswana', iso3Code: 'BWA', iso2Code: 'BW', datasetCode: 'bw-address-ed', searchType: 'singleline, validate' }, + { country: 'Botswana', iso3Code: 'BWA', iso2Code: 'BW', datasetCode: 'bw-address-eh', searchType: 'autocomplete' }, + { country: 'Brazil', iso3Code: 'BRA', iso2Code: 'BR', datasetCode: 'br-address-ed', searchType: 'singleline, validate' }, + { country: 'Brazil', iso3Code: 'BRA', iso2Code: 'BR', datasetCode: 'br-address-eh', searchType: 'autocomplete' }, + { country: 'Brunei Darussalam', iso3Code: 'BRN', iso2Code: 'BN', datasetCode: 'bn-address-ed', searchType: 'singleline, validate' }, + { country: 'Brunei Darussalam', iso3Code: 'BRN', iso2Code: 'BN', datasetCode: 'bn-address-eh', searchType: 'autocomplete' }, + { country: 'Bulgaria', iso3Code: 'BGR', iso2Code: 'BG', datasetCode: 'bg-address-ed', searchType: 'singleline, validate' }, + { country: 'Bulgaria', iso3Code: 'BGR', iso2Code: 'BG', datasetCode: 'bg-address-eh', searchType: 'autocomplete' }, + { country: 'Burkina Faso', iso3Code: 'BFA', iso2Code: 'BF', datasetCode: 'bf-address-ed', searchType: 'singleline, validate' }, + { country: 'Burkina Faso', iso3Code: 'BFA', iso2Code: 'BF', datasetCode: 'bf-address-eh', searchType: 'autocomplete' }, + { country: 'Burundi', iso3Code: 'BDI', iso2Code: 'BI', datasetCode: 'bi-address-eh', searchType: 'autocomplete' }, + { country: 'Cambodia', iso3Code: 'KHM', iso2Code: 'KH', datasetCode: 'kh-address-ed', searchType: 'singleline, validate' }, + { country: 'Cambodia', iso3Code: 'KHM', iso2Code: 'KH', datasetCode: 'kh-address-eh', searchType: 'autocomplete' }, + { country: 'Cameroon', iso3Code: 'CMR', iso2Code: 'CM', datasetCode: 'cm-address-ed', searchType: 'singleline, validate' }, + { country: 'Cameroon', iso3Code: 'CMR', iso2Code: 'CM', datasetCode: 'cm-address-eh', searchType: 'autocomplete' }, + { country: 'Canada', iso3Code: 'CAN', iso2Code: 'CA', datasetCode: 'ca-address', searchType: 'autocomplete, singleline, typedown, validate' }, + { country: 'Cape Verde', iso3Code: 'CPV', iso2Code: 'CV', datasetCode: 'cv-address-ed', searchType: 'singleline, validate' }, + { country: 'Cape Verde', iso3Code: 'CPV', iso2Code: 'CV', datasetCode: 'cv-address-eh', searchType: 'autocomplete' }, + { country: 'Cayman Islands', iso3Code: 'CYM', iso2Code: 'KY', datasetCode: 'ky-address-ed', searchType: 'singleline, validate' }, + { country: 'Cayman Islands', iso3Code: 'CYM', iso2Code: 'KY', datasetCode: 'ky-address-eh', searchType: 'autocomplete' }, + { country: 'Central African Republic', iso3Code: 'CAF', iso2Code: 'CF', datasetCode: 'cf-address-ed', searchType: 'singleline, validate' }, + { country: 'Central African Republic', iso3Code: 'CAF', iso2Code: 'CF', datasetCode: 'cf-address-eh', searchType: 'autocomplete' }, + { country: 'Chad', iso3Code: 'TCD', iso2Code: 'TD', datasetCode: 'td-address-ed', searchType: 'singleline, validate' }, + { country: 'Chad', iso3Code: 'TCD', iso2Code: 'TD', datasetCode: 'td-address-eh', searchType: 'autocomplete' }, + { country: 'Chile', iso3Code: 'CHL', iso2Code: 'CL', datasetCode: 'cl-address-ed', searchType: 'singleline, validate' }, + { country: 'Chile', iso3Code: 'CHL', iso2Code: 'CL', datasetCode: 'cl-address-eh', searchType: 'autocomplete' }, + { country: 'China', iso3Code: 'CHN', iso2Code: 'CN', datasetCode: 'cn-address-ed', searchType: 'singleline, validate' }, + { country: 'China', iso3Code: 'CHN', iso2Code: 'CN', datasetCode: 'cn-address-eh', searchType: 'autocomplete' }, + { country: 'Christmas Island', iso3Code: 'CXR', iso2Code: 'CX', datasetCode: 'cx-address-eh', searchType: 'autocomplete' }, + { country: 'Cocos Island', iso3Code: 'CCK', iso2Code: 'CC', datasetCode: 'cc-address-eh', searchType: 'autocomplete' }, + { country: 'Colombia', iso3Code: 'COL', iso2Code: 'CO', datasetCode: 'co-address-ed', searchType: 'singleline, validate' }, + { country: 'Colombia', iso3Code: 'COL', iso2Code: 'CO', datasetCode: 'co-address-eh', searchType: 'autocomplete' }, + { country: 'Comoros', iso3Code: 'COM', iso2Code: 'KM', datasetCode: 'km-address-ed', searchType: 'singleline, validate' }, + { country: 'Comoros', iso3Code: 'COM', iso2Code: 'KM', datasetCode: 'km-address-eh', searchType: 'autocomplete' }, + { country: 'Congo', iso3Code: 'COG', iso2Code: 'CG', datasetCode: 'cg-address-ed', searchType: 'singleline, validate' }, + { country: 'Congo', iso3Code: 'COG', iso2Code: 'CG', datasetCode: 'cg-address-eh', searchType: 'autocomplete' }, + { country: 'Congo, The Democratic Republic of the', iso3Code: 'COD', iso2Code: 'CD', datasetCode: 'cd-address-ed', searchType: 'singleline, validate' }, + { country: 'Congo, The Democratic Republic of the', iso3Code: 'COD', iso2Code: 'CD', datasetCode: 'cd-address-eh', searchType: 'autocomplete' }, + { country: 'Cook Islands', iso3Code: 'COK', iso2Code: 'CK', datasetCode: 'ck-address-ed', searchType: 'singleline, validate' }, + { country: 'Cook Islands', iso3Code: 'COK', iso2Code: 'CK', datasetCode: 'ck-address-eh', searchType: 'autocomplete' }, + { country: 'Costa Rica', iso3Code: 'CRI', iso2Code: 'CR', datasetCode: 'cr-address-ed', searchType: 'singleline, validate' }, + { country: 'Costa Rica', iso3Code: 'CRI', iso2Code: 'CR', datasetCode: 'cr-address-eh', searchType: 'autocomplete' }, + { country: 'Croatia', iso3Code: 'HRV', iso2Code: 'HR', datasetCode: 'hr-address-ed', searchType: 'singleline, validate' }, + { country: 'Croatia', iso3Code: 'HRV', iso2Code: 'HR', datasetCode: 'hr-address-eh', searchType: 'autocomplete' }, + { country: 'Cuba', iso3Code: 'CUB', iso2Code: 'CU', datasetCode: 'cu-address-ed', searchType: 'singleline, validate' }, + { country: 'Cuba', iso3Code: 'CUB', iso2Code: 'CU', datasetCode: 'cu-address-eh', searchType: 'autocomplete' }, + { country: 'Curaçao', iso3Code: 'CUW', iso2Code: 'CW', datasetCode: 'cw-address-ed', searchType: 'singleline, validate' }, + { country: 'Curaçao', iso3Code: 'CUW', iso2Code: 'CW', datasetCode: 'cw-address-eh', searchType: 'autocomplete' }, + { country: 'Cyprus', iso3Code: 'CYP', iso2Code: 'CY', datasetCode: 'cy-address-ed', searchType: 'singleline, validate' }, + { country: 'Cyprus', iso3Code: 'CYP', iso2Code: 'CY', datasetCode: 'cy-address-eh', searchType: 'autocomplete' }, + { country: 'Czech Republic', iso3Code: 'CZE', iso2Code: 'CZ', datasetCode: 'cz-address-ed', searchType: 'singleline, validate' }, + { country: 'Czech Republic', iso3Code: 'CZE', iso2Code: 'CZ', datasetCode: 'cz-address-eh', searchType: 'autocomplete' }, + { country: 'Côte d\'Ivoire', iso3Code: 'CIV', iso2Code: 'CI', datasetCode: 'ci-address-ed', searchType: 'singleline, validate' }, + { country: 'Côte d\'Ivoire', iso3Code: 'CIV', iso2Code: 'CI', datasetCode: 'ci-address-eh', searchType: 'autocomplete' }, + { country: 'Denmark', iso3Code: 'DNK', iso2Code: 'DK', datasetCode: 'dk-address-ed', searchType: 'singleline, validate' }, + { country: 'Denmark', iso3Code: 'DNK', iso2Code: 'DK', datasetCode: 'dk-address-eh', searchType: 'autocomplete' }, + { country: 'Djibouti', iso3Code: 'DJI', iso2Code: 'DJ', datasetCode: 'dj-address-ed', searchType: 'singleline, validate' }, + { country: 'Djibouti', iso3Code: 'DJI', iso2Code: 'DJ', datasetCode: 'dj-address-eh', searchType: 'autocomplete' }, + { country: 'Dominica', iso3Code: 'DMA', iso2Code: 'DM', datasetCode: 'dm-address-ed', searchType: 'singleline, validate' }, + { country: 'Dominica', iso3Code: 'DMA', iso2Code: 'DM', datasetCode: 'dm-address-eh', searchType: 'autocomplete' }, + { country: 'Dominican Republic', iso3Code: 'DOM', iso2Code: 'DO', datasetCode: 'do-address-ed', searchType: 'singleline, validate' }, + { country: 'Dominican Republic', iso3Code: 'DOM', iso2Code: 'DO', datasetCode: 'do-address-eh', searchType: 'autocomplete' }, + { country: 'Ecuador', iso3Code: 'ECU', iso2Code: 'EC', datasetCode: 'ec-address-ed', searchType: 'singleline, validate' }, + { country: 'Ecuador', iso3Code: 'ECU', iso2Code: 'EC', datasetCode: 'ec-address-eh', searchType: 'autocomplete' }, + { country: 'Egypt', iso3Code: 'EGY', iso2Code: 'EG', datasetCode: 'eg-address-ed', searchType: 'singleline, validate' }, + { country: 'Egypt', iso3Code: 'EGY', iso2Code: 'EG', datasetCode: 'eg-address-eh', searchType: 'autocomplete' }, + { country: 'El Salvador', iso3Code: 'SLV', iso2Code: 'SV', datasetCode: 'sv-address-ed', searchType: 'singleline, validate' }, + { country: 'El Salvador', iso3Code: 'SLV', iso2Code: 'SV', datasetCode: 'sv-address-eh', searchType: 'autocomplete' }, + { country: 'Equatorial Guinea', iso3Code: 'GNQ', iso2Code: 'GQ', datasetCode: 'gq-address-ed', searchType: 'singleline, validate' }, + { country: 'Equatorial Guinea', iso3Code: 'GNQ', iso2Code: 'GQ', datasetCode: 'gq-address-eh', searchType: 'autocomplete' }, + { country: 'Eritrea', iso3Code: 'ERI', iso2Code: 'ER', datasetCode: 'er-address-ed', searchType: 'singleline, validate' }, + { country: 'Eritrea', iso3Code: 'ERI', iso2Code: 'ER', datasetCode: 'er-address-eh', searchType: 'autocomplete' }, + { country: 'Estonia', iso3Code: 'EST', iso2Code: 'EE', datasetCode: 'ee-address-ed', searchType: 'singleline, validate' }, + { country: 'Estonia', iso3Code: 'EST', iso2Code: 'EE', datasetCode: 'ee-address-eh', searchType: 'autocomplete' }, + { country: 'Ethiopia', iso3Code: 'ETH', iso2Code: 'ET', datasetCode: 'et-address-ed', searchType: 'singleline, validate' }, + { country: 'Ethiopia', iso3Code: 'ETH', iso2Code: 'ET', datasetCode: 'et-address-eh', searchType: 'autocomplete' }, + { country: 'Falkland Islands (Malvinas)', iso3Code: 'FLK', iso2Code: 'FK', datasetCode: 'fk-address-eh', searchType: 'autocomplete' }, + { country: 'Faroe Islands', iso3Code: 'FRO', iso2Code: 'FO', datasetCode: 'fo-address-ed', searchType: 'singleline, validate' }, + { country: 'Faroe Islands', iso3Code: 'FRO', iso2Code: 'FO', datasetCode: 'fo-address-eh', searchType: 'autocomplete' }, + { country: 'Fiji', iso3Code: 'FJI', iso2Code: 'FJ', datasetCode: 'fj-address-ed', searchType: 'singleline, validate' }, + { country: 'Fiji', iso3Code: 'FJI', iso2Code: 'FJ', datasetCode: 'fj-address-eh', searchType: 'autocomplete' }, + { country: 'Finland', iso3Code: 'FIN', iso2Code: 'FI', datasetCode: 'fi-address', searchType: 'singleline, typedown' }, + { country: 'Finland', iso3Code: 'FIN', iso2Code: 'FI', datasetCode: 'fi-address-ed', searchType: 'validate' }, + { country: 'Finland', iso3Code: 'FIN', iso2Code: 'FI', datasetCode: 'fi-address-eh', searchType: 'autocomplete' }, + { country: 'France Street Level', iso3Code: 'FRA', iso2Code: 'FR', datasetCode: 'fr-address-streetlevel', searchType: 'singleline, typedown, validate' }, + { country: 'France Sub-Premises Level', iso3Code: 'FRA', iso2Code: 'FR', datasetCode: 'fr-additional-hexaline3', searchType: 'autocomplete, singleline, typedown' }, + { country: 'France Premises Level', iso3Code: 'FRA', iso2Code: 'FR', datasetCode: 'fr-address', searchType: 'singleline, typedown, validate' }, + { country: 'French Guiana', iso3Code: 'GUF', iso2Code: 'GF', datasetCode: 'gf-address-eh', searchType: 'autocomplete' }, + { country: 'French Polynesia', iso3Code: 'PYF', iso2Code: 'PF', datasetCode: 'pf-address-eh', searchType: 'autocomplete' }, + { country: 'Gabon', iso3Code: 'GAB', iso2Code: 'GA', datasetCode: 'ga-address-ed', searchType: 'singleline, validate' }, + { country: 'Gabon', iso3Code: 'GAB', iso2Code: 'GA', datasetCode: 'ga-address-eh', searchType: 'autocomplete' }, + { country: 'Gambia', iso3Code: 'GMB', iso2Code: 'GM', datasetCode: 'gm-address-ed', searchType: 'singleline, validate' }, + { country: 'Gambia', iso3Code: 'GMB', iso2Code: 'GM', datasetCode: 'gm-address-eh', searchType: 'autocomplete' }, + { country: 'Georgia', iso3Code: 'GEO', iso2Code: 'GE', datasetCode: 'ge-address-ed', searchType: 'singleline, validate' }, + { country: 'Georgia', iso3Code: 'GEO', iso2Code: 'GE', datasetCode: 'ge-address-eh', searchType: 'autocomplete' }, + { country: 'Germany', iso3Code: 'DEU', iso2Code: 'DE', datasetCode: 'de-address', searchType: 'singleline, typedown, validate' }, + { country: 'Germany', iso3Code: 'DEU', iso2Code: 'DE', datasetCode: 'de-address-ed', searchType: 'validate' }, + { country: 'Germany', iso3Code: 'DEU', iso2Code: 'DE', datasetCode: 'de-address-eh', searchType: 'autocomplete' }, + { country: 'Ghana', iso3Code: 'GHA', iso2Code: 'GH', datasetCode: 'gh-address-ed', searchType: 'singleline, validate' }, + { country: 'Ghana', iso3Code: 'GHA', iso2Code: 'GH', datasetCode: 'gh-address-eh', searchType: 'autocomplete' }, + { country: 'Gibraltar', iso3Code: 'GIB', iso2Code: 'GI', datasetCode: 'gi-address-eh', searchType: 'autocomplete' }, + { country: 'Greece', iso3Code: 'GRC', iso2Code: 'GR', datasetCode: 'gr-address-ed', searchType: 'singleline, validate' }, + { country: 'Greece', iso3Code: 'GRC', iso2Code: 'GR', datasetCode: 'gr-address-eh', searchType: 'autocomplete' }, + { country: 'Greenland', iso3Code: 'GRL', iso2Code: 'GL', datasetCode: 'gl-address-ed', searchType: 'singleline, validate' }, + { country: 'Greenland', iso3Code: 'GRL', iso2Code: 'GL', datasetCode: 'gl-address-eh', searchType: 'autocomplete' }, + { country: 'Grenada', iso3Code: 'GRD', iso2Code: 'GD', datasetCode: 'gd-address-ed', searchType: 'singleline, validate' }, + { country: 'Grenada', iso3Code: 'GRD', iso2Code: 'GD', datasetCode: 'gd-address-eh', searchType: 'autocomplete' }, + { country: 'Guadeloupe', iso3Code: 'GLP', iso2Code: 'GP', datasetCode: 'gp-address-eh', searchType: 'autocomplete' }, + { country: 'Guam', iso3Code: 'GUM', iso2Code: 'GU', datasetCode: 'gu-address-eh', searchType: 'autocomplete' }, + { country: 'Guatemala', iso3Code: 'GTM', iso2Code: 'GT', datasetCode: 'gt-address-ed', searchType: 'singleline, validate' }, + { country: 'Guatemala', iso3Code: 'GTM', iso2Code: 'GT', datasetCode: 'gt-address-eh', searchType: 'autocomplete' }, + { country: 'Guinea', iso3Code: 'GIN', iso2Code: 'GN', datasetCode: 'gn-address-ed', searchType: 'singleline, validate' }, + { country: 'Guinea', iso3Code: 'GIN', iso2Code: 'GN', datasetCode: 'gn-address-eh', searchType: 'autocomplete' }, + { country: 'Guinea-Bissau', iso3Code: 'GNB', iso2Code: 'GW', datasetCode: 'gw-address-ed', searchType: 'singleline, validate' }, + { country: 'Guinea-Bissau', iso3Code: 'GNB', iso2Code: 'GW', datasetCode: 'gw-address-eh', searchType: 'autocomplete' }, + { country: 'Guyana', iso3Code: 'GUY', iso2Code: 'GY', datasetCode: 'gy-address-ed', searchType: 'singleline, validate' }, + { country: 'Guyana', iso3Code: 'GUY', iso2Code: 'GY', datasetCode: 'gy-address-eh', searchType: 'autocomplete' }, + { country: 'Haiti', iso3Code: 'HTI', iso2Code: 'HT', datasetCode: 'ht-address-ed', searchType: 'singleline, validate' }, + { country: 'Haiti', iso3Code: 'HTI', iso2Code: 'HT', datasetCode: 'ht-address-eh', searchType: 'autocomplete' }, + { country: 'Honduras', iso3Code: 'HND', iso2Code: 'HN', datasetCode: 'hn-address-ed', searchType: 'singleline, validate' }, + { country: 'Honduras', iso3Code: 'HND', iso2Code: 'HN', datasetCode: 'hn-address-eh', searchType: 'autocomplete' }, + { country: 'Hong Kong', iso3Code: 'HKG', iso2Code: 'HK', datasetCode: 'hk-address-ed', searchType: 'singleline, validate' }, + { country: 'Hong Kong', iso3Code: 'HKG', iso2Code: 'HK', datasetCode: 'hk-address-eh', searchType: 'autocomplete' }, + { country: 'Hungary', iso3Code: 'HUN', iso2Code: 'HU', datasetCode: 'hu-address-ed', searchType: 'singleline, validate' }, + { country: 'Hungary', iso3Code: 'HUN', iso2Code: 'HU', datasetCode: 'hu-address-eh', searchType: 'autocomplete' }, + { country: 'Iceland', iso3Code: 'ISL', iso2Code: 'IS', datasetCode: 'is-address-ed', searchType: 'singleline, validate' }, + { country: 'Iceland', iso3Code: 'ISL', iso2Code: 'IS', datasetCode: 'is-address-eh', searchType: 'autocomplete' }, + { country: 'India', iso3Code: 'IND', iso2Code: 'IN', datasetCode: 'in-address-ed', searchType: 'singleline, validate' }, + { country: 'India', iso3Code: 'IND', iso2Code: 'IN', datasetCode: 'in-address-eh', searchType: 'autocomplete' }, + { country: 'Indonesia', iso3Code: 'IDN', iso2Code: 'ID', datasetCode: 'id-address-ed', searchType: 'singleline, validate' }, + { country: 'Indonesia', iso3Code: 'IDN', iso2Code: 'ID', datasetCode: 'id-address-eh', searchType: 'autocomplete' }, + { country: 'Iran, Islamic Republic of', iso3Code: 'IRN', iso2Code: 'IR', datasetCode: 'ir-address-ed', searchType: 'singleline, validate' }, + { country: 'Iran, Islamic Republic of', iso3Code: 'IRN', iso2Code: 'IR', datasetCode: 'ir-address-eh', searchType: 'autocomplete' }, + { country: 'Iraq', iso3Code: 'IRQ', iso2Code: 'IQ', datasetCode: 'iq-address-ed', searchType: 'singleline, validate' }, + { country: 'Iraq', iso3Code: 'IRQ', iso2Code: 'IQ', datasetCode: 'iq-address-eh', searchType: 'autocomplete' }, + { country: 'Ireland', iso3Code: 'IRL', iso2Code: 'IE', datasetCode: 'ie-address', searchType: 'singleline, typedown' }, + { country: 'Ireland', iso3Code: 'IRL', iso2Code: 'IE', datasetCode: 'ie-address-ed', searchType: 'singleline, validate' }, + { country: 'Ireland', iso3Code: 'IRL', iso2Code: 'IE', datasetCode: 'ie-address-eh', searchType: 'autocomplete' }, + { country: 'Ireland Eircode', iso3Code: 'IRL', iso2Code: 'IE', datasetCode: 'ie-additional-eircode', searchType: 'autocomplete' }, + { country: 'Ireland ECAD', iso3Code: 'IRL', iso2Code: 'IE', datasetCode: 'ie-address-ecad', searchType: 'autocomplete' }, + { country: 'Israel', iso3Code: 'ISR', iso2Code: 'IL', datasetCode: 'il-address-ed', searchType: 'singleline, validate' }, + { country: 'Israel', iso3Code: 'ISR', iso2Code: 'IL', datasetCode: 'il-address-eh', searchType: 'autocomplete' }, + { country: 'Italy', iso3Code: 'ITA', iso2Code: 'IT', datasetCode: 'it-address-ed', searchType: 'singleline, validate' }, + { country: 'Italy', iso3Code: 'ITA', iso2Code: 'IT', datasetCode: 'it-address-eh', searchType: 'autocomplete' }, + { country: 'Jamaica', iso3Code: 'JAM', iso2Code: 'JM', datasetCode: 'jm-address-ed', searchType: 'singleline, validate' }, + { country: 'Jamaica', iso3Code: 'JAM', iso2Code: 'JM', datasetCode: 'jm-address-eh', searchType: 'autocomplete' }, + { country: 'Japan', iso3Code: 'JPN', iso2Code: 'JP', datasetCode: 'jp-address-ed', searchType: 'singleline, validate' }, + { country: 'Japan', iso3Code: 'JPN', iso2Code: 'JP', datasetCode: 'jp-address', searchType: 'singleline, validate' }, + { country: 'Jordan', iso3Code: 'JOR', iso2Code: 'JO', datasetCode: 'jo-address-ed', searchType: 'singleline, validate' }, + { country: 'Jordan', iso3Code: 'JOR', iso2Code: 'JO', datasetCode: 'jo-address-eh', searchType: 'autocomplete' }, + { country: 'Kazakhstan', iso3Code: 'KAZ', iso2Code: 'KZ', datasetCode: 'kz-address-ed', searchType: 'singleline, validate' }, + { country: 'Kazakhstan', iso3Code: 'KAZ', iso2Code: 'KZ', datasetCode: 'kz-address-eh', searchType: 'autocomplete' }, + { country: 'Kenya', iso3Code: 'KEN', iso2Code: 'KE', datasetCode: 'ke-address-ed', searchType: 'singleline, validate' }, + { country: 'Kenya', iso3Code: 'KEN', iso2Code: 'KE', datasetCode: 'ke-address-eh', searchType: 'autocomplete' }, + { country: 'Kiribati', iso3Code: 'KIR', iso2Code: 'KI', datasetCode: 'ki-address-ed', searchType: 'singleline, validate' }, + { country: 'Kiribati', iso3Code: 'KIR', iso2Code: 'KI', datasetCode: 'ki-address-eh', searchType: 'autocomplete' }, + { country: 'Korea, Democratic People\'s Republic of', iso3Code: 'PRK', iso2Code: 'KP', datasetCode: 'kp-address-ed', searchType: 'singleline, validate' }, + { country: 'Korea, Democratic People\'s Republic of', iso3Code: 'PRK', iso2Code: 'KP', datasetCode: 'kp-address-eh', searchType: 'autocomplete' }, + { country: 'Korea, Republic of', iso3Code: 'KOR', iso2Code: 'KR', datasetCode: 'kr-address-ed', searchType: 'singleline, validate' }, + { country: 'Korea, Republic of', iso3Code: 'KOR', iso2Code: 'KR', datasetCode: 'kr-address-eh', searchType: 'autocomplete' }, + { country: 'Kosovo', iso3Code: 'KOS', iso2Code: 'XK', datasetCode: 'kv-address-eh', searchType: 'autocomplete' }, + { country: 'Kuwait', iso3Code: 'KWT', iso2Code: 'KW', datasetCode: 'kw-address-ed', searchType: 'singleline, validate' }, + { country: 'Kuwait', iso3Code: 'KWT', iso2Code: 'KW', datasetCode: 'kw-address-eh', searchType: 'autocomplete' }, + { country: 'Kyrgyzstan', iso3Code: 'KGZ', iso2Code: 'KG', datasetCode: 'kg-address-ed', searchType: 'singleline, validate' }, + { country: 'Kyrgyzstan', iso3Code: 'KGZ', iso2Code: 'KG', datasetCode: 'kg-address-eh', searchType: 'autocomplete' }, + { country: 'Laos', iso3Code: 'LAO', iso2Code: 'LA', datasetCode: 'la-address-ed', searchType: 'singleline, validate' }, + { country: 'Laos', iso3Code: 'LAO', iso2Code: 'LA', datasetCode: 'la-address-eh', searchType: 'autocomplete' }, + { country: 'Latvia', iso3Code: 'LVA', iso2Code: 'LV', datasetCode: 'lv-address-ed', searchType: 'singleline, validate' }, + { country: 'Latvia', iso3Code: 'LVA', iso2Code: 'LV', datasetCode: 'lv-address-eh', searchType: 'autocomplete' }, + { country: 'Lebanon', iso3Code: 'LBN', iso2Code: 'LB', datasetCode: 'lb-address-ed', searchType: 'singleline, validate' }, + { country: 'Lebanon', iso3Code: 'LBN', iso2Code: 'LB', datasetCode: 'lb-address-eh', searchType: 'autocomplete' }, + { country: 'Lesotho', iso3Code: 'LSO', iso2Code: 'LS', datasetCode: 'ls-address-ed', searchType: 'singleline, validate' }, + { country: 'Lesotho', iso3Code: 'LSO', iso2Code: 'LS', datasetCode: 'ls-address-eh', searchType: 'autocomplete' }, + { country: 'Liberia', iso3Code: 'LBR', iso2Code: 'LR', datasetCode: 'lr-address-ed', searchType: 'singleline, validate' }, + { country: 'Liberia', iso3Code: 'LBR', iso2Code: 'LR', datasetCode: 'lr-address-eh', searchType: 'autocomplete' }, + { country: 'Libya', iso3Code: 'LBY', iso2Code: 'LY', datasetCode: 'ly-address-ed', searchType: 'singleline, validate' }, + { country: 'Libya', iso3Code: 'LBY', iso2Code: 'LY', datasetCode: 'ly-address-eh', searchType: 'autocomplete' }, + { country: 'Liechtenstein', iso3Code: 'LIE', iso2Code: 'LI', datasetCode: 'li-address-ed', searchType: 'singleline, validate' }, + { country: 'Liechtenstein', iso3Code: 'LIE', iso2Code: 'LI', datasetCode: 'li-address-eh', searchType: 'autocomplete' }, + { country: 'Lithuania', iso3Code: 'LTU', iso2Code: 'LT', datasetCode: 'lt-address-ed', searchType: 'singleline, validate' }, + { country: 'Lithuania', iso3Code: 'LTU', iso2Code: 'LT', datasetCode: 'lt-address-eh', searchType: 'autocomplete' }, + { country: 'Luxembourg', iso3Code: 'LUX', iso2Code: 'LU', datasetCode: 'lu-address-ed', searchType: 'singleline, validate' }, + { country: 'Luxembourg', iso3Code: 'LUX', iso2Code: 'LU', datasetCode: 'lu-address-eh', searchType: 'autocomplete' }, + { country: 'Macau', iso3Code: 'MAC', iso2Code: 'MO', datasetCode: 'lv-address-ed', searchType: 'singleline, validate' }, + { country: 'Macau', iso3Code: 'MAC', iso2Code: 'MO', datasetCode: 'lv-address-eh', searchType: 'autocomplete' }, + { country: 'Madagascar', iso3Code: 'MDG', iso2Code: 'MG', datasetCode: 'mo-address-ed', searchType: 'singleline, validate' }, + { country: 'Madagascar', iso3Code: 'MDG', iso2Code: 'MG', datasetCode: 'mo-address-eh', searchType: 'autocomplete' }, + { country: 'Malawi', iso3Code: 'MWI', iso2Code: 'MW', datasetCode: 'mw-address-ed', searchType: 'singleline, validate' }, + { country: 'Malawi', iso3Code: 'MWI', iso2Code: 'MW', datasetCode: 'mw-address-eh', searchType: 'autocomplete' }, + { country: 'Malaysia', iso3Code: 'MYS', iso2Code: 'MY', datasetCode: 'my-address-ed', searchType: 'singleline, validate' }, + { country: 'Malaysia', iso3Code: 'MYS', iso2Code: 'MY', datasetCode: 'my-address-eh', searchType: 'autocomplete' }, + { country: 'Maldives', iso3Code: 'MDV', iso2Code: 'MV', datasetCode: 'mv-address-ed', searchType: 'singleline, validate' }, + { country: 'Maldives', iso3Code: 'MDV', iso2Code: 'MV', datasetCode: 'mv-address-eh', searchType: 'autocomplete' }, + { country: 'Mali', iso3Code: 'MLI', iso2Code: 'ML', datasetCode: 'ml-address-ed', searchType: 'singleline, validate' }, + { country: 'Mali', iso3Code: 'MLI', iso2Code: 'ML', datasetCode: 'ml-address-eh', searchType: 'autocomplete' }, + { country: 'Malta', iso3Code: 'MLT', iso2Code: 'MT', datasetCode: 'mt-address-ed', searchType: 'singleline, validate' }, + { country: 'Malta', iso3Code: 'MLT', iso2Code: 'MT', datasetCode: 'mt-address-eh', searchType: 'autocomplete' }, + { country: 'Marshall Islands', iso3Code: 'MHL', iso2Code: 'MH', datasetCode: 'mh-address-eh', searchType: 'autocomplete' }, + { country: 'Martinique', iso3Code: 'MTQ', iso2Code: 'MQ', datasetCode: 'mq-address-eh', searchType: 'autocomplete' }, + { country: 'Mauritania', iso3Code: 'MRT', iso2Code: 'MR', datasetCode: 'mr-address-ed', searchType: 'singleline, validate' }, + { country: 'Mauritania', iso3Code: 'MRT', iso2Code: 'MR', datasetCode: 'mr-address-eh', searchType: 'autocomplete' }, + { country: 'Mauritius', iso3Code: 'MUS', iso2Code: 'MU', datasetCode: 'mu-address-ed', searchType: 'singleline, validate' }, + { country: 'Mauritius', iso3Code: 'MUS', iso2Code: 'MU', datasetCode: 'mu-address-eh', searchType: 'autocomplete' }, + { country: 'Mayotte', iso3Code: 'MYT', iso2Code: 'YT', datasetCode: 'yt-address-eh', searchType: 'autocomplete' }, + { country: 'Mexico', iso3Code: 'MEX', iso2Code: 'MX', datasetCode: 'mx-address-ed', searchType: 'singleline, validate' }, + { country: 'Mexico', iso3Code: 'MEX', iso2Code: 'MX', datasetCode: 'mx-address-eh', searchType: 'autocomplete' }, + { country: 'Micronesia, Federated States of', iso3Code: 'FSM', iso2Code: 'FM', datasetCode: 'fm-address-eh', searchType: 'autocomplete' }, + { country: 'Moldova', iso3Code: 'MDA', iso2Code: 'MD', datasetCode: 'md-address-ed', searchType: 'singleline, validate' }, + { country: 'Moldova', iso3Code: 'MDA', iso2Code: 'MD', datasetCode: 'md-address-eh', searchType: 'autocomplete' }, + { country: 'Monaco', iso3Code: 'MCO', iso2Code: 'MC', datasetCode: 'mc-address-ed', searchType: 'singleline, validate' }, + { country: 'Monaco', iso3Code: 'MCO', iso2Code: 'MC', datasetCode: 'mc-address-eh', searchType: 'autocomplete' }, + { country: 'Mongolia', iso3Code: 'MNG', iso2Code: 'MN', datasetCode: 'mn-address-ed', searchType: 'singleline, validate' }, + { country: 'Mongolia', iso3Code: 'MNG', iso2Code: 'MN', datasetCode: 'mn-address-eh', searchType: 'autocomplete' }, + { country: 'Montenegro', iso3Code: 'MNE', iso2Code: 'ME', datasetCode: 'me-address-ed', searchType: 'singleline, validate' }, + { country: 'Montenegro', iso3Code: 'MNE', iso2Code: 'ME', datasetCode: 'me-address-eh', searchType: 'autocomplete' }, + { country: 'Montserrat', iso3Code: 'MSR', iso2Code: 'MS', datasetCode: 'ms-address-eh', searchType: 'autocomplete' }, + { country: 'Morocco', iso3Code: 'MAR', iso2Code: 'MA', datasetCode: 'ma-address-ed', searchType: 'singleline, validate' }, + { country: 'Morocco', iso3Code: 'MAR', iso2Code: 'MA', datasetCode: 'ma-address-eh', searchType: 'autocomplete' }, + { country: 'Mozambique', iso3Code: 'MOZ', iso2Code: 'MZ', datasetCode: 'mz-address-ed', searchType: 'singleline, validate' }, + { country: 'Mozambique', iso3Code: 'MOZ', iso2Code: 'MZ', datasetCode: 'mz-address-eh', searchType: 'autocomplete' }, + { country: 'Myanmar', iso3Code: 'MMR', iso2Code: 'MM', datasetCode: 'mm-address-ed', searchType: 'singleline, validate' }, + { country: 'Myanmar', iso3Code: 'MMR', iso2Code: 'MM', datasetCode: 'mm-address-eh', searchType: 'autocomplete' }, + { country: 'Namibia', iso3Code: 'NAM', iso2Code: 'NA', datasetCode: 'na-address-ed', searchType: 'singleline, validate' }, + { country: 'Namibia', iso3Code: 'NAM', iso2Code: 'NA', datasetCode: 'na-address-eh', searchType: 'autocomplete' }, + { country: 'Nauru', iso3Code: 'NRU', iso2Code: 'NR', datasetCode: 'nr-address-ed', searchType: 'singleline, validate' }, + { country: 'Nauru', iso3Code: 'NRU', iso2Code: 'NR', datasetCode: 'nr-address-eh', searchType: 'autocomplete' }, + { country: 'Nepal', iso3Code: 'NPL', iso2Code: 'NP', datasetCode: 'np-address-ed', searchType: 'singleline, validate' }, + { country: 'Nepal', iso3Code: 'NPL', iso2Code: 'NP', datasetCode: 'np-address-eh', searchType: 'autocomplete' }, + { country: 'Netherlands', iso3Code: 'NLD', iso2Code: 'NL', datasetCode: 'nl-address-ed', searchType: 'singleline, validate' }, + { country: 'Netherlands', iso3Code: 'NLD', iso2Code: 'NL', datasetCode: 'nl-address-eh', searchType: 'autocomplete' }, + { country: 'New Caledonia', iso3Code: 'NCL', iso2Code: 'NC', datasetCode: 'nc-address-eh', searchType: 'autocomplete' }, + { country: 'New Zealand DataFusion', iso3Code: 'NZL', iso2Code: 'NZ', datasetCode: 'nz-additional-datafusion', searchType: 'autocomplete, singleline, typedown, validate' }, + { country: 'New Zealand Postal Address', iso3Code: 'NZL', iso2Code: 'NZ', datasetCode: 'nz-address', searchType: 'autocomplete, singleline, typedown, validate' }, + { country: 'Nicaragua', iso3Code: 'NIC', iso2Code: 'NI', datasetCode: 'ni-address-ed', searchType: 'singleline, validate' }, + { country: 'Nicaragua', iso3Code: 'NIC', iso2Code: 'NI', datasetCode: 'ni-address-eh', searchType: 'autocomplete' }, + { country: 'Niger', iso3Code: 'NER', iso2Code: 'NE', datasetCode: 'ne-address-ed', searchType: 'singleline, validate' }, + { country: 'Niger', iso3Code: 'NER', iso2Code: 'NE', datasetCode: 'ne-address-eh', searchType: 'autocomplete' }, + { country: 'Nigeria', iso3Code: 'NGA', iso2Code: 'NG', datasetCode: 'ng-address-ed', searchType: 'singleline, validate' }, + { country: 'Nigeria', iso3Code: 'NGA', iso2Code: 'NG', datasetCode: 'ng-address-eh', searchType: 'autocomplete' }, + { country: 'Niue', iso3Code: 'NIU', iso2Code: 'NU', datasetCode: 'nu-address-ed', searchType: 'singleline, validate' }, + { country: 'Norfolk Island', iso3Code: 'NFK', iso2Code: 'NF', datasetCode: 'nf-address-ed', searchType: 'singleline, validate' }, + { country: 'Norfolk Island', iso3Code: 'NFK', iso2Code: 'NF', datasetCode: 'nf-address-eh', searchType: 'autocomplete' }, + { country: 'North Macedonia', iso3Code: 'MKD', iso2Code: 'MK', datasetCode: 'mk-address-ed', searchType: 'singleline, validate' }, + { country: 'North Macedonia', iso3Code: 'MKD', iso2Code: 'MK', datasetCode: 'mk-address-eh', searchType: 'autocomplete' }, + { country: 'Northern Mariana Islands', iso3Code: 'MNP', iso2Code: 'MP', datasetCode: 'mp-address-eh', searchType: 'autocomplete' }, + { country: 'Norway', iso3Code: 'NOR', iso2Code: 'NO', datasetCode: 'no-address-ed', searchType: 'validate' }, + { country: 'Norway', iso3Code: 'NOR', iso2Code: 'NO', datasetCode: 'no-address-eh', searchType: 'autocomplete' }, + { country: 'Oman', iso3Code: 'OMN', iso2Code: 'OM', datasetCode: 'om-address-ed', searchType: 'singleline, validate' }, + { country: 'Oman', iso3Code: 'OMN', iso2Code: 'OM', datasetCode: 'om-address-eh', searchType: 'autocomplete' }, + { country: 'Pakistan', iso3Code: 'PAK', iso2Code: 'PK', datasetCode: 'pk-address-ed', searchType: 'singleline, validate' }, + { country: 'Pakistan', iso3Code: 'PAK', iso2Code: 'PK', datasetCode: 'pk-address-eh', searchType: 'autocomplete' }, + { country: 'Palau', iso3Code: 'PLW', iso2Code: 'PW', datasetCode: 'pw-address-eh', searchType: 'autocomplete' }, + { country: 'Palestine', iso3Code: 'PSE', iso2Code: 'PS', datasetCode: 'ps-address-eh', searchType: 'autocomplete' }, + { country: 'Panama', iso3Code: 'PAN', iso2Code: 'PA', datasetCode: 'pa-address-ed', searchType: 'singleline, validate' }, + { country: 'Panama', iso3Code: 'PAN', iso2Code: 'PA', datasetCode: 'pa-address-eh', searchType: 'autocomplete' }, + { country: 'Papua New Guinea', iso3Code: 'PNG', iso2Code: 'PG', datasetCode: 'pg-address-ed', searchType: 'singleline, validate' }, + { country: 'Papua New Guinea', iso3Code: 'PNG', iso2Code: 'PG', datasetCode: 'pg-address-eh', searchType: 'autocomplete' }, + { country: 'Paraguay', iso3Code: 'PRY', iso2Code: 'PY', datasetCode: 'py-address-ed', searchType: 'singleline, validate' }, + { country: 'Paraguay', iso3Code: 'PRY', iso2Code: 'PY', datasetCode: 'py-address-eh', searchType: 'autocomplete' }, + { country: 'Peru', iso3Code: 'PER', iso2Code: 'PE', datasetCode: 'pe-address-ed', searchType: 'singleline, validate' }, + { country: 'Peru', iso3Code: 'PER', iso2Code: 'PE', datasetCode: 'pe-address-eh', searchType: 'autocomplete' }, + { country: 'Philippines', iso3Code: 'PHL', iso2Code: 'PH', datasetCode: 'ph-address-ed', searchType: 'singleline, validate' }, + { country: 'Philippines', iso3Code: 'PHL', iso2Code: 'PH', datasetCode: 'ph-address-eh', searchType: 'autocomplete' }, + { country: 'Pitcairn Islands', iso3Code: 'PCN', iso2Code: 'PN', datasetCode: 'pn-address-eh', searchType: 'autocomplete' }, + { country: 'Poland', iso3Code: 'POL', iso2Code: 'PL', datasetCode: 'pl-address-ed', searchType: 'singleline, validate' }, + { country: 'Poland', iso3Code: 'POL', iso2Code: 'PL', datasetCode: 'pl-address-eh', searchType: 'autocomplete' }, + { country: 'Portugal', iso3Code: 'PRT', iso2Code: 'PT', datasetCode: 'pt-address-ed', searchType: 'singleline, validate' }, + { country: 'Portugal', iso3Code: 'PRT', iso2Code: 'PT', datasetCode: 'pt-address-eh', searchType: 'autocomplete' }, + { country: 'Qatar', iso3Code: 'QAT', iso2Code: 'QA', datasetCode: 'qa-address-ed', searchType: 'singleline, validate' }, + { country: 'Qatar', iso3Code: 'QAT', iso2Code: 'QA', datasetCode: 'qa-address-eh', searchType: 'autocomplete' }, + { country: 'Romania', iso3Code: 'ROU', iso2Code: 'RO', datasetCode: 'ro-address-ed', searchType: 'singleline, validate' }, + { country: 'Romania', iso3Code: 'ROU', iso2Code: 'RO', datasetCode: 'ro-address-eh', searchType: 'autocomplete' }, + { country: 'Russian Federation', iso3Code: 'RUS', iso2Code: 'RU', datasetCode: 'ru-address-ed', searchType: 'singleline, validate' }, + { country: 'Russian Federation', iso3Code: 'RUS', iso2Code: 'RU', datasetCode: 'ru-address-eh', searchType: 'autocomplete' }, + { country: 'Rwanda', iso3Code: 'RWA', iso2Code: 'RW', datasetCode: 'rw-address-ed', searchType: 'singleline, validate' }, + { country: 'Rwanda', iso3Code: 'RWA', iso2Code: 'RW', datasetCode: 'rw-address-eh', searchType: 'autocomplete' }, + { country: 'Réunion', iso3Code: 'REU', iso2Code: 'RE', datasetCode: 're-address-eh', searchType: 'autocomplete' }, + { country: 'Saint Barthélemy', iso3Code: 'BLM', iso2Code: 'BL', datasetCode: 'bl-address-eh', searchType: 'autocomplete' }, + { country: 'Saint Helena', iso3Code: 'SHN', iso2Code: 'SH', datasetCode: 'sh-address-eh', searchType: 'autocomplete' }, + { country: 'Saint Kitts and Nevis', iso3Code: 'KNA', iso2Code: 'KN', datasetCode: 'kn-address-ed', searchType: 'singleline, validate' }, + { country: 'Saint Kitts and Nevis', iso3Code: 'KNA', iso2Code: 'KN', datasetCode: 'kn-address-eh', searchType: 'autocomplete' }, + { country: 'Saint Lucia', iso3Code: 'LCA', iso2Code: 'LC', datasetCode: 'lc-address-eh', searchType: 'autocomplete' }, + { country: 'Saint Pierre and Miquelon', iso3Code: 'SPM', iso2Code: 'PM', datasetCode: 'pm-address-eh', searchType: 'autocomplete' }, + { country: 'Saint Vincent and the Grenadines', iso3Code: 'VCT', iso2Code: 'VC', datasetCode: 'vc-address-ed', searchType: 'singleline, validate' }, + { country: 'Saint Vincent and the Grenadines', iso3Code: 'VCT', iso2Code: 'VC', datasetCode: 'vc-address-eh', searchType: 'autocomplete' }, + { country: 'Samoa', iso3Code: 'WSM', iso2Code: 'WS', datasetCode: 'ws-address-ed', searchType: 'singleline, validate' }, + { country: 'Samoa', iso3Code: 'WSM', iso2Code: 'WS', datasetCode: 'ws-address-eh', searchType: 'autocomplete' }, + { country: 'San Marino', iso3Code: 'SMR', iso2Code: 'SM', datasetCode: 'sm-address-ed', searchType: 'singleline, validate' }, + { country: 'San Marino', iso3Code: 'SMR', iso2Code: 'SM', datasetCode: 'sm-address-eh', searchType: 'autocomplete' }, + { country: 'Sao Tome and Principe', iso3Code: 'STP', iso2Code: 'ST', datasetCode: 'st-address-ed', searchType: 'singleline, validate' }, + { country: 'Sao Tome and Principe', iso3Code: 'STP', iso2Code: 'ST', datasetCode: 'st-address-eh', searchType: 'autocomplete' }, + { country: 'Saudi Arabia', iso3Code: 'SAU', iso2Code: 'SA', datasetCode: 'sa-address-ed', searchType: 'singleline, validate' }, + { country: 'Saudi Arabia', iso3Code: 'SAU', iso2Code: 'SA', datasetCode: 'sa-address-eh', searchType: 'autocomplete' }, + { country: 'Senegal', iso3Code: 'SEN', iso2Code: 'SN', datasetCode: 'sn-address-ed', searchType: 'singleline, validate' }, + { country: 'Senegal', iso3Code: 'SEN', iso2Code: 'SN', datasetCode: 'sn-address-eh', searchType: 'autocomplete' }, + { country: 'Serbia', iso3Code: 'SRB', iso2Code: 'RS', datasetCode: 'rs-address-ed', searchType: 'singleline, validate' }, + { country: 'Serbia', iso3Code: 'SRB', iso2Code: 'RS', datasetCode: 'rs-address-eh', searchType: 'autocomplete' }, + { country: 'Seychelles', iso3Code: 'SYC', iso2Code: 'SC', datasetCode: 'sc-address-ed', searchType: 'singleline, validate' }, + { country: 'Seychelles', iso3Code: 'SYC', iso2Code: 'SC', datasetCode: 'sc-address-eh', searchType: 'autocomplete' }, + { country: 'Sierra Leone', iso3Code: 'SLE', iso2Code: 'SL', datasetCode: 'sl-address-ed', searchType: 'singleline, validate' }, + { country: 'Sierra Leone', iso3Code: 'SLE', iso2Code: 'SL', datasetCode: 'sl-address-eh', searchType: 'autocomplete' }, + { country: 'Singapore', iso3Code: 'SGP', iso2Code: 'SG', datasetCode: 'sg-address', searchType: 'autocomplete, singleline, typedown, validate' }, + { country: 'Sint Maarten', iso3Code: 'SXM', iso2Code: 'SX', datasetCode: 'sx-address-ed', searchType: 'singleline, validate' }, + { country: 'Sint Maarten', iso3Code: 'SXM', iso2Code: 'SX', datasetCode: 'sx-address-eh', searchType: 'autocomplete' }, + { country: 'Slovakia', iso3Code: 'SVK', iso2Code: 'SK', datasetCode: 'sk-address-ed', searchType: 'singleline, validate' }, + { country: 'Slovakia', iso3Code: 'SVK', iso2Code: 'SK', datasetCode: 'sk-address-eh', searchType: 'autocomplete' }, + { country: 'Slovenia', iso3Code: 'SVN', iso2Code: 'SI', datasetCode: 'si-address-ed', searchType: 'singleline, validate' }, + { country: 'Slovenia', iso3Code: 'SVN', iso2Code: 'SI', datasetCode: 'si-address-eh', searchType: 'autocomplete' }, + { country: 'Solomon Islands', iso3Code: 'SLB', iso2Code: 'SB', datasetCode: 'sb-address-ed', searchType: 'singleline, validate' }, + { country: 'Solomon Islands', iso3Code: 'SLB', iso2Code: 'SB', datasetCode: 'sb-address-eh', searchType: 'autocomplete' }, + { country: 'Somalia', iso3Code: 'SOM', iso2Code: 'SO', datasetCode: 'so-address-ed', searchType: 'singleline, validate' }, + { country: 'Somalia', iso3Code: 'SOM', iso2Code: 'SO', datasetCode: 'so-address-eh', searchType: 'autocomplete' }, + { country: 'South Africa', iso3Code: 'ZAF', iso2Code: 'ZA', datasetCode: 'za-address-ed', searchType: 'singleline, validate' }, + { country: 'South Africa', iso3Code: 'ZAF', iso2Code: 'ZA', datasetCode: 'za-address-eh', searchType: 'autocomplete' }, + { country: 'South Georgia and the South Sandwich Islands', iso3Code: 'SGS', iso2Code: 'GS', datasetCode: 'gs-address-eh', searchType: 'autocomplete' }, + { country: 'South Sudan', iso3Code: 'SSD', iso2Code: 'SS', datasetCode: 'ss-address-ed', searchType: 'singleline, validate' }, + { country: 'South Sudan', iso3Code: 'SSD', iso2Code: 'SS', datasetCode: 'ss-address-eh', searchType: 'autocomplete' }, + { country: 'Spain', iso3Code: 'ESP', iso2Code: 'ES', datasetCode: 'es-address', searchType: 'singleline, typedown' }, + { country: 'Spain', iso3Code: 'ESP', iso2Code: 'ES', datasetCode: 'es-address-ed', searchType: 'validate' }, + { country: 'Spain', iso3Code: 'ESP', iso2Code: 'ES', datasetCode: 'es-address-eh', searchType: 'autocomplete' }, + { country: 'Sri Lanka', iso3Code: 'LKA', iso2Code: 'LK', datasetCode: 'lk-address-ed', searchType: 'singleline, validate' }, + { country: 'Sudan', iso3Code: 'SDN', iso2Code: 'SD', datasetCode: 'sd-address-ed', searchType: 'singleline, validate' }, + { country: 'Sudan', iso3Code: 'SDN', iso2Code: 'SD', datasetCode: 'sd-address-eh', searchType: 'autocomplete' }, + { country: 'Suriname', iso3Code: 'SUR', iso2Code: 'SR', datasetCode: 'sr-address-ed', searchType: 'singleline, validate' }, + { country: 'Suriname', iso3Code: 'SUR', iso2Code: 'SR', datasetCode: 'sr-address-eh', searchType: 'autocomplete' }, + { country: 'Svalbard and Jan Mayen Islands', iso3Code: 'SJM', iso2Code: 'SJ', datasetCode: 'sj-address-eh', searchType: 'autocomplete' }, + { country: 'Swaziland (Eswatini)', iso3Code: 'SWZ', iso2Code: 'SZ', datasetCode: 'sz-address-ed', searchType: 'singleline, validate' }, + { country: 'Swaziland (Eswatini)', iso3Code: 'SWZ', iso2Code: 'SZ', datasetCode: 'sz-address-eh', searchType: 'autocomplete' }, + { country: 'Sweden', iso3Code: 'SWE', iso2Code: 'SE', datasetCode: 'se-address', searchType: 'singleline, typedown' }, + { country: 'Sweden', iso3Code: 'SWE', iso2Code: 'SE', datasetCode: 'se-address-ed', searchType: 'validate' }, + { country: 'Sweden', iso3Code: 'SWE', iso2Code: 'SE', datasetCode: 'se-address-eh', searchType: 'autocomplete' }, + { country: 'Switzerland', iso3Code: 'CHE', iso2Code: 'CH', datasetCode: 'ch-address', searchType: 'singleline, typedown' }, + { country: 'Switzerland', iso3Code: 'CHE', iso2Code: 'CH', datasetCode: 'ch-address-ed', searchType: 'validate' }, + { country: 'Switzerland', iso3Code: 'CHE', iso2Code: 'CH', datasetCode: 'ch-address-eh', searchType: 'autocomplete' }, + { country: 'Syria', iso3Code: 'SYR', iso2Code: 'SY', datasetCode: 'sy-address-ed', searchType: 'singleline, validate' }, + { country: 'Syria', iso3Code: 'SYR', iso2Code: 'SY', datasetCode: 'sy-address-eh', searchType: 'autocomplete' }, + { country: 'Taiwan', iso3Code: 'TWN', iso2Code: 'TW', datasetCode: 'tw-address-ed', searchType: 'singleline, validate' }, + { country: 'Taiwan', iso3Code: 'TWN', iso2Code: 'TW', datasetCode: 'tw-address-eh', searchType: 'autocomplete' }, + { country: 'Tajikistan', iso3Code: 'TJK', iso2Code: 'TJ', datasetCode: 'tj-address-ed', searchType: 'singleline, validate' }, + { country: 'Tajikistan', iso3Code: 'TJK', iso2Code: 'TJ', datasetCode: 'tj-address-eh', searchType: 'autocomplete' }, + { country: 'Tanzania', iso3Code: 'TZA', iso2Code: 'TZ', datasetCode: 'tz-address-ed', searchType: 'singleline, validate' }, + { country: 'Tanzania', iso3Code: 'TZA', iso2Code: 'TZ', datasetCode: 'tz-address-eh', searchType: 'autocomplete' }, + { country: 'Thailand', iso3Code: 'THA', iso2Code: 'TH', datasetCode: 'th-address-ed', searchType: 'singleline, validate' }, + { country: 'Thailand', iso3Code: 'THA', iso2Code: 'TH', datasetCode: 'th-address-eh', searchType: 'autocomplete' }, + { country: 'Timor-Leste', iso3Code: 'TLS', iso2Code: 'TL', datasetCode: 'tl-address-ed', searchType: 'singleline, validate' }, + { country: 'Timor-Leste', iso3Code: 'TLS', iso2Code: 'TL', datasetCode: 'tl-address-eh', searchType: 'autocomplete' }, + { country: 'Togo', iso3Code: 'TGO', iso2Code: 'TG', datasetCode: 'tg-address-ed', searchType: 'singleline, validate' }, + { country: 'Togo', iso3Code: 'TGO', iso2Code: 'TG', datasetCode: 'tg-address-eh', searchType: 'autocomplete' }, + { country: 'Tokelau', iso3Code: 'TKL', iso2Code: 'TK', datasetCode: 'tk-address-ed', searchType: 'singleline, validate' }, + { country: 'Tokelau', iso3Code: 'TKL', iso2Code: 'TK', datasetCode: 'tk-address-eh', searchType: 'autocomplete' }, + { country: 'Tonga', iso3Code: 'TON', iso2Code: 'TO', datasetCode: 'to-address-ed', searchType: 'singleline, validate' }, + { country: 'Tonga', iso3Code: 'TON', iso2Code: 'TO', datasetCode: 'to-address-eh', searchType: 'autocomplete' }, + { country: 'Trinidad and Tobago', iso3Code: 'TTO', iso2Code: 'TT', datasetCode: 'tt-address-ed', searchType: 'singleline, validate' }, + { country: 'Trinidad and Tobago', iso3Code: 'TTO', iso2Code: 'TT', datasetCode: 'tt-address-eh', searchType: 'autocomplete' }, + { country: 'Tunisia', iso3Code: 'TUN', iso2Code: 'TN', datasetCode: 'tn-address-ed', searchType: 'singleline, validate' }, + { country: 'Tunisia', iso3Code: 'TUN', iso2Code: 'TN', datasetCode: 'tn-address-eh', searchType: 'autocomplete' }, + { country: 'Turkey', iso3Code: 'TUR', iso2Code: 'TR', datasetCode: 'tr-address-ed', searchType: 'singleline, validate' }, + { country: 'Turkey', iso3Code: 'TUR', iso2Code: 'TR', datasetCode: 'tr-address-eh', searchType: 'autocomplete' }, + { country: 'Turkish Republic of Northern Cyprus', iso3Code: 'NCY', iso2Code: 'CY', datasetCode: 'ny-address-eh', searchType: 'autocomplete' }, + { country: 'Turkmenistan', iso3Code: 'TKM', iso2Code: 'TM', datasetCode: 'tm-address-ed', searchType: 'singleline, validate' }, + { country: 'Turkmenistan', iso3Code: 'TKM', iso2Code: 'TM', datasetCode: 'tm-address-eh', searchType: 'autocomplete' }, + { country: 'Turks and Caicos Islands', iso3Code: 'TCA', iso2Code: 'TC', datasetCode: 'tc-address-eh', searchType: 'autocomplete' }, + { country: 'Tuvalu', iso3Code: 'TUV', iso2Code: 'TV', datasetCode: 'tv-address-ed', searchType: 'singleline, validate' }, + { country: 'Tuvalu', iso3Code: 'TUV', iso2Code: 'TV', datasetCode: 'tv-address-eh', searchType: 'autocomplete' }, + { country: 'Uganda', iso3Code: 'UGA', iso2Code: 'UG', datasetCode: 'ug-address-ed', searchType: 'singleline, validate' }, + { country: 'Uganda', iso3Code: 'UGA', iso2Code: 'UG', datasetCode: 'ug-address-eh', searchType: 'autocomplete' }, + { country: 'Ukraine', iso3Code: 'UKR', iso2Code: 'UA', datasetCode: 'ua-address-ed', searchType: 'singleline, validate' }, + { country: 'Ukraine', iso3Code: 'UKR', iso2Code: 'UA', datasetCode: 'ua-address-eh', searchType: 'autocomplete' }, + { country: 'United Arab Emirates', iso3Code: 'ARE', iso2Code: 'AE', datasetCode: 'ae-address-ed', searchType: 'singleline, validate' }, + { country: 'United Arab Emirates', iso3Code: 'ARE', iso2Code: 'AE', datasetCode: 'ae-address-eh', searchType: 'autocomplete' }, + { country: 'United Kingdom', iso3Code: 'GBR', iso2Code: 'GB', datasetCode: ['gb-address'], searchType: 'autocomplete' }, + { country: 'United Kingdom', iso3Code: 'GBR', iso2Code: 'GB', datasetCode: ['gb-additional-business', 'gb-additional-multipleresidence', 'gb-additional-notyetbuilt'], searchType: 'singleline' }, + { country: 'United Kingdom AddressBase Premium', iso3Code: 'GBR', iso2Code: 'GB', datasetCode: 'gb-address-addressbase', searchType: 'singleline, typedown, validate, lookup' }, + { country: 'United Kingdom AddressBase Premium with Islands', iso3Code: 'GBR', iso2Code: 'GB', datasetCode: 'gb-additional-addressbaseislands', searchType: 'singleline, typedown, validate, lookup' }, + { country: 'United Kingdom Business Names', iso3Code: 'GBR', iso2Code: 'GB', datasetCode: 'gb-additional-business', searchType: 'singleline, typedown' }, + { country: 'United Kingdom Electricity', iso3Code: 'GBR', iso2Code: 'GB', datasetCode: 'gb-additional-electricity', searchType: 'singleline, typedown, validate, lookup' }, + { country: 'United Kingdom Gas', iso3Code: 'GBR', iso2Code: 'GB', datasetCode: 'gb-additional-gas', searchType: 'singleline, typedown, validate, lookup' }, + { country: 'United Kingdom Street Level', iso3Code: 'GBR', iso2Code: 'GB', datasetCode: 'gb-address-streetlevel', searchType: 'singleline, typedown' }, + { country: 'United Kingdom Extended Business', iso3Code: 'GBR', iso2Code: 'GB', datasetCode: 'gb-additional-businessextended', searchType: 'singleline, typedown, validate, lookup' }, + { country: 'United Kingdom Cymraeg (Welsh Language) Postal Address', iso3Code: 'GBR', iso2Code: 'GB', datasetCode: 'gb-address-wales', searchType: 'singleline, typedown, validate' }, + { country: 'United States of America', iso3Code: 'USA', iso2Code: 'US', datasetCode: 'us-address', searchType: 'autocomplete, singleline, typedown, validate' }, + { country: 'Uruguay', iso3Code: 'URY', iso2Code: 'UY', datasetCode: 'uy-address-ed', searchType: 'singleline, validate' }, + { country: 'Uruguay', iso3Code: 'URY', iso2Code: 'UY', datasetCode: 'uy-address-eh', searchType: 'autocomplete' }, + { country: 'Uzbekistan', iso3Code: 'UZB', iso2Code: 'UZ', datasetCode: 'uz-address-ed', searchType: 'singleline, validate' }, + { country: 'Uzbekistan', iso3Code: 'UZB', iso2Code: 'UZ', datasetCode: 'uz-address-eh', searchType: 'autocomplete' }, + { country: 'Vanuatu', iso3Code: 'VUT', iso2Code: 'VU', datasetCode: 'vu-address-ed', searchType: 'singleline, validate' }, + { country: 'Vanuatu', iso3Code: 'VUT', iso2Code: 'VU', datasetCode: 'vu-address-eh', searchType: 'autocomplete' }, + { country: 'Vatican City (Holy See)', iso3Code: 'VAT', iso2Code: 'VA', datasetCode: 'va-address-ed', searchType: 'singleline, validate' }, + { country: 'Vatican City (Holy See)', iso3Code: 'VAT', iso2Code: 'VA', datasetCode: 'va-address-eh', searchType: 'autocomplete' }, + { country: 'Venezuela', iso3Code: 'VEN', iso2Code: 'VE', datasetCode: 've-address-ed', searchType: 'singleline, validate' }, + { country: 'Venezuela', iso3Code: 'VEN', iso2Code: 'VE', datasetCode: 've-address-eh', searchType: 'autocomplete' }, + { country: 'Viet Nam', iso3Code: 'VNM', iso2Code: 'VN', datasetCode: 'vn-address-ed', searchType: 'singleline, validate' }, + { country: 'Viet Nam', iso3Code: 'VNM', iso2Code: 'VN', datasetCode: 'vn-address-eh', searchType: 'autocomplete' }, + { country: 'Virgin Islands, British', iso3Code: 'VGB', iso2Code: 'VG', datasetCode: 'vg-address-eh', searchType: 'autocomplete' }, + { country: 'Virgin Islands, U.S.', iso3Code: 'VIR', iso2Code: 'VI', datasetCode: 'vi-address-eh', searchType: 'autocomplete' }, + { country: 'Wallis and Futuna Islands', iso3Code: 'WLF', iso2Code: 'WF', datasetCode: 'wf-address-eh', searchType: 'autocomplete' }, + { country: 'Western Sahara', iso3Code: 'ESH', iso2Code: 'EH', datasetCode: 'eh-address-ed', searchType: 'singleline, validate' }, + { country: 'Western Sahara', iso3Code: 'ESH', iso2Code: 'EH', datasetCode: 'eh-address-eh', searchType: 'autocomplete' }, + { country: 'Yemen', iso3Code: 'YEM', iso2Code: 'YE', datasetCode: 'ye-address-ed', searchType: 'singleline, validate' }, + { country: 'Yemen', iso3Code: 'YEM', iso2Code: 'YE', datasetCode: 'ye-address-eh', searchType: 'autocomplete' }, + { country: 'Zambia', iso3Code: 'ZMB', iso2Code: 'ZM', datasetCode: 'zm-address-ed', searchType: 'singleline, validate' }, + { country: 'Zambia', iso3Code: 'ZMB', iso2Code: 'ZM', datasetCode: 'zm-address-eh', searchType: 'autocomplete' }, + { country: 'Zimbabwe', iso3Code: 'ZWE', iso2Code: 'ZW', datasetCode: 'zw-address-ed', searchType: 'singleline, validate' }, + { country: 'Zimbabwe', iso3Code: 'ZWE', iso2Code: 'ZW', datasetCode: 'zw-address-eh', searchType: 'autocomplete' } +]; +//# sourceMappingURL=datasets-codes.js.map \ No newline at end of file diff --git a/dist/lib/datasets-codes.js.map b/dist/lib/datasets-codes.js.map new file mode 100644 index 0000000..6b7b550 --- /dev/null +++ b/dist/lib/datasets-codes.js.map @@ -0,0 +1 @@ +{"version":3,"file":"datasets-codes.js","sourceRoot":"","sources":["../../src/ts/datasets-codes.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/lib/event-factory.js b/dist/lib/event-factory.js new file mode 100644 index 0000000..0140a05 --- /dev/null +++ b/dist/lib/event-factory.js @@ -0,0 +1,42 @@ +/** + * Method event listener (pub/sub type thing) + */ +var EventFactory = /** @class */ (function () { + function EventFactory() { + // Create an object to hold the collection of events + this.collection = {}; + } + // Subscribe a new event + EventFactory.prototype.on = function (event, action) { + // Create the property array on the collection object + this.collection[event] = this.collection[event] || []; + // Push a new action for this event onto the array + this.collection[event].push(action); + }; + // Publish (trigger) an event + EventFactory.prototype.trigger = function (event, data) { + // If this event is in our collection (i.e. anyone's subscribed) + if (this.collection[event]) { + // Loop over all the actions for this event + for (var i = 0; i < this.collection[event].length; i++) { + // Create array with default data as 1st item + var args = [data]; + // Loop over additional args and add to array + for (var a = 2; a < arguments.length; a++) { + args.push(arguments[a]); + } + // Call each action for this event type, passing the args + try { + this.collection[event][i].apply(this.collection, args); + } + catch (e) { + // What to do? Uncomment the below to show errors in your event actions + //console.error(e); + } + } + } + }; + return EventFactory; +}()); +export default EventFactory; +//# sourceMappingURL=event-factory.js.map \ No newline at end of file diff --git a/dist/lib/event-factory.js.map b/dist/lib/event-factory.js.map new file mode 100644 index 0000000..dab3202 --- /dev/null +++ b/dist/lib/event-factory.js.map @@ -0,0 +1 @@ +{"version":3,"file":"event-factory.js","sourceRoot":"","sources":["../../src/ts/event-factory.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH;IAAA;QACE,oDAAoD;QACpD,eAAU,GAAG,EAAE,CAAC;IAkClB,CAAC;IAhCC,wBAAwB;IACxB,yBAAE,GAAF,UAAG,KAAK,EAAE,MAAM;QACd,qDAAqD;QACrD,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;QACtD,kDAAkD;QAClD,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACtC,CAAC;IAED,6BAA6B;IAC7B,8BAAO,GAAP,UAAQ,KAAK,EAAE,IAAI;QACjB,gEAAgE;QAChE,IAAI,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE;YAC1B,2CAA2C;YAC3C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACtD,6CAA6C;gBAC7C,IAAM,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC;gBAEpB,6CAA6C;gBAC7C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oBACzC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;iBACzB;gBAED,yDAAyD;gBACzD,IAAI;oBACF,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;iBACxD;gBAAC,OAAO,CAAC,EAAE;oBACV,uEAAuE;oBACvE,mBAAmB;iBACpB;aACF;SACF;IACH,CAAC;IACH,mBAAC;AAAD,CAAC,AApCD,IAoCC"} \ No newline at end of file diff --git a/dist/lib/index.js b/dist/lib/index.js new file mode 100644 index 0000000..7b9c022 --- /dev/null +++ b/dist/lib/index.js @@ -0,0 +1,3 @@ +import AddressValidation from './address-search'; +window.AddressValidation = AddressValidation; +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/dist/lib/index.js.map b/dist/lib/index.js.map new file mode 100644 index 0000000..b77a8a6 --- /dev/null +++ b/dist/lib/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/ts/index.ts"],"names":[],"mappings":"AAAA,OAAO,iBAAiB,MAAM,kBAAkB,CAAC;AAQjD,MAAM,CAAC,iBAAiB,GAAG,iBAAiB,CAAC"} \ No newline at end of file diff --git a/dist/lib/request.js b/dist/lib/request.js new file mode 100644 index 0000000..66f1c9c --- /dev/null +++ b/dist/lib/request.js @@ -0,0 +1,50 @@ +var Request = /** @class */ (function () { + function Request(instance) { + this.instance = instance; + } + Request.prototype.send = function (url, method, callback, data, headers) { + var _this = this; + if (headers === void 0) { headers = []; } + this.currentRequest = new XMLHttpRequest(); + this.currentRequest.open(method, url, true); + this.currentRequest.timeout = 5000; // 5 seconds + this.currentRequest.setRequestHeader('auth-token', this.instance.options.token); + this.currentRequest.setRequestHeader('Content-Type', 'application/json'); + this.currentRequest.setRequestHeader('Accept', 'application/json'); + // Add additional headers if supplied + headers.forEach(function (header) { return _this.currentRequest.setRequestHeader(header.key, header.value); }); + this.currentRequest.onload = function (xhr) { + if (_this.currentRequest.status >= 200 && _this.currentRequest.status < 400) { + // Success! + var data_1 = JSON.parse(_this.currentRequest.responseText); + callback(data_1); + } + else { + // We reached our target server, but it returned an error + _this.instance.searchSpinner.hide(); + // Fire an event to notify users of a general error + _this.instance.events.trigger('request-error', xhr); + // Fire an event for the specific status code + _this.instance.events.trigger("request-error-".concat(_this.currentRequest.status), xhr); + } + }; + this.currentRequest.onerror = function (xhr) { + // There was a connection error of some sort + // Hide the inline search spinner + _this.instance.searchSpinner.hide(); + // Fire an event to notify users of an error + _this.instance.events.trigger('request-error', xhr); + }; + this.currentRequest.ontimeout = function (xhr) { + // There was a connection timeout + // Hide the inline search spinner + _this.instance.searchSpinner.hide(); + // Fire an event to notify users of the timeout + _this.instance.events.trigger('request-timeout', xhr); + }; + this.currentRequest.send(data); + }; + return Request; +}()); +export default Request; +//# sourceMappingURL=request.js.map \ No newline at end of file diff --git a/dist/lib/request.js.map b/dist/lib/request.js.map new file mode 100644 index 0000000..0a6466a --- /dev/null +++ b/dist/lib/request.js.map @@ -0,0 +1 @@ +{"version":3,"file":"request.js","sourceRoot":"","sources":["../../src/ts/request.ts"],"names":[],"mappings":"AAAA;IAEE,iBAAY,QAAQ;QAClB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;IAKM,sBAAI,GAAX,UAAY,GAAW,EAAE,MAAsB,EAAE,QAAgC,EAAE,IAAa,EAAE,OAAsD;QAAxJ,iBA8CC;QA9CiG,wBAAA,EAAA,YAAsD;QACtJ,IAAI,CAAC,cAAc,GAAG,IAAI,cAAc,EAAE,CAAC;QAC3C,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;QAC5C,IAAI,CAAC,cAAc,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC,YAAY;QAChD,IAAI,CAAC,cAAc,CAAC,gBAAgB,CAAC,YAAY,EAAE,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAChF,IAAI,CAAC,cAAc,CAAC,gBAAgB,CAAC,cAAc,EAAE,kBAAkB,CAAC,CAAC;QACzE,IAAI,CAAC,cAAc,CAAC,gBAAgB,CAAC,QAAQ,EAAE,kBAAkB,CAAC,CAAC;QAEnE,qCAAqC;QACrC,OAAO,CAAC,OAAO,CAAC,UAAA,MAAM,IAAI,OAAA,KAAI,CAAC,cAAc,CAAC,gBAAgB,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC,EAA9D,CAA8D,CAAC,CAAC;QAE1F,IAAI,CAAC,cAAc,CAAC,MAAM,GAAG,UAAC,GAAG;YAC/B,IAAI,KAAI,CAAC,cAAc,CAAC,MAAM,IAAI,GAAG,IAAI,KAAI,CAAC,cAAc,CAAC,MAAM,GAAG,GAAG,EAAE;gBACzE,WAAW;gBACX,IAAM,MAAI,GAAG,IAAI,CAAC,KAAK,CAAC,KAAI,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC;gBAC1D,QAAQ,CAAC,MAAI,CAAC,CAAC;aAChB;iBAAM;gBACL,yDAAyD;gBACzD,KAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC;gBAEnC,mDAAmD;gBACnD,KAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,eAAe,EAAE,GAAG,CAAC,CAAC;gBACnD,6CAA6C;gBAC7C,KAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,wBAAiB,KAAI,CAAC,cAAc,CAAC,MAAM,CAAE,EAAE,GAAG,CAAC,CAAC;aAClF;QACH,CAAC,CAAC;QAEF,IAAI,CAAC,cAAc,CAAC,OAAO,GAAG,UAAC,GAAG;YAChC,4CAA4C;YAC5C,iCAAiC;YACjC,KAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC;YAEnC,4CAA4C;YAC5C,KAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,eAAe,EAAE,GAAG,CAAC,CAAC;QACrD,CAAC,CAAC;QAEF,IAAI,CAAC,cAAc,CAAC,SAAS,GAAG,UAAC,GAAG;YAClC,iCAAiC;YACjC,iCAAiC;YACjC,KAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC;YAEnC,+CAA+C;YAC/C,KAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,iBAAiB,EAAE,GAAG,CAAC,CAAC;QACvD,CAAC,CAAC;QAEF,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;IACH,cAAC;AAAD,CAAC,AAxDD,IAwDC"} \ No newline at end of file diff --git a/dist/lib/search-options.js b/dist/lib/search-options.js new file mode 100644 index 0000000..2c61807 --- /dev/null +++ b/dist/lib/search-options.js @@ -0,0 +1,27 @@ +export var AddressValidationMode; +(function (AddressValidationMode) { + AddressValidationMode["AUTOCOMPLETE"] = "autocomplete"; + AddressValidationMode["SINGLELINE"] = "singleline"; + AddressValidationMode["VALIDATE"] = "validate"; +})(AddressValidationMode || (AddressValidationMode = {})); +// Default settings +export var defaults = { + enableWhat3Words: true, + searchType: AddressValidationMode.AUTOCOMPLETE, + input: { placeholderText: 'Start typing an address...', applyFocus: false }, + formattedAddressContainer: { showHeading: false, headingType: 'h3', validatedHeadingText: 'Validated address', manualHeadingText: 'Manual address entered' }, + searchAgain: { visible: true, text: 'Search again' }, + useAddressEnteredText: ' - Use address entered or try again...', + useSpinner: false, + language: 'en', + addressLineLabels: [ + 'address_line_1', + 'address_line_2', + 'address_line_3', + 'locality', + 'region', + 'postal_code', + 'country' + ] +}; +//# sourceMappingURL=search-options.js.map \ No newline at end of file diff --git a/dist/lib/search-options.js.map b/dist/lib/search-options.js.map new file mode 100644 index 0000000..aa071a2 --- /dev/null +++ b/dist/lib/search-options.js.map @@ -0,0 +1 @@ +{"version":3,"file":"search-options.js","sourceRoot":"","sources":["../../src/ts/search-options.ts"],"names":[],"mappings":"AAmBA,MAAM,CAAN,IAAY,qBAIX;AAJD,WAAY,qBAAqB;IAC/B,sDAA6B,CAAA;IAC7B,kDAAyB,CAAA;IACzB,8CAAqB,CAAA;AACvB,CAAC,EAJW,qBAAqB,KAArB,qBAAqB,QAIhC;AAED,mBAAmB;AACnB,MAAM,CAAC,IAAM,QAAQ,GAAG;IACtB,gBAAgB,EAAE,IAAI;IACtB,UAAU,EAAE,qBAAqB,CAAC,YAAY;IAC9C,KAAK,EAAE,EAAE,eAAe,EAAE,4BAA4B,EAAE,UAAU,EAAE,KAAK,EAAE;IAC3E,yBAAyB,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,wBAAwB,EAAE;IAC5J,WAAW,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,cAAc,EAAE;IACpD,qBAAqB,EAAE,iDAAiD;IACxE,UAAU,EAAE,KAAK;IACjB,QAAQ,EAAE,IAAI;IACd,iBAAiB,EAAE;QACjB,gBAAgB;QAChB,gBAAgB;QAChB,gBAAgB;QAChB,UAAU;QACV,QAAQ;QACR,aAAa;QACb,SAAS;KACV;CACF,CAAC"} \ No newline at end of file diff --git a/dist/lib/translations.js b/dist/lib/translations.js new file mode 100644 index 0000000..4fc8680 --- /dev/null +++ b/dist/lib/translations.js @@ -0,0 +1,18 @@ +// Translations +export var translations = { + // language / country / property + en: { + gbr: { + locality: 'Town/City', + region: 'County', + postal_code: 'Post code' + }, + usa: { + locality: 'City', + region: 'State', + postal_code: 'ZIP code' + } + } + // Add other languages below +}; +//# sourceMappingURL=translations.js.map \ No newline at end of file diff --git a/dist/lib/translations.js.map b/dist/lib/translations.js.map new file mode 100644 index 0000000..3291c10 --- /dev/null +++ b/dist/lib/translations.js.map @@ -0,0 +1 @@ +{"version":3,"file":"translations.js","sourceRoot":"","sources":["../../src/ts/translations.ts"],"names":[],"mappings":"AAAA,eAAe;AACf,MAAM,CAAC,IAAM,YAAY,GAAG;IAC1B,gCAAgC;IAChC,EAAE,EAAE;QACF,GAAG,EAAE;YACH,QAAQ,EAAE,WAAW;YACrB,MAAM,EAAE,QAAQ;YAChB,WAAW,EAAE,WAAW;SACzB;QACD,GAAG,EAAE;YACH,QAAQ,EAAE,MAAM;YAChB,MAAM,EAAE,OAAO;YACf,WAAW,EAAE,UAAU;SACxB;KACF;IACD,4BAA4B;CAC7B,CAAC"} \ No newline at end of file diff --git a/index.html b/index.html index 5794eab..7e7557d 100644 --- a/index.html +++ b/index.html @@ -472,7 +472,7 @@

Validated address information

document.querySelector("#map").classList.remove("hidden"); let lat, long; - if (data.result.what3words) { + if (data.result.what3words.latitude && data.result.what3words.longitude && data.result.what3words.name) { document.querySelector(".metadata #what3words-key").classList.remove("hidden"); document.querySelector(".metadata #what3words-value").classList.remove("hidden"); document.querySelector(".metadata #what3words-value").innerHTML = '///' + data.result.what3words.name;