@nuskin/address-lookup 1.1.0 → 1.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -20,7 +20,8 @@ const AddressLookup = ({
20
20
  validationRequestId = 0,
21
21
  language = 'en',
22
22
  strings = null,
23
- formDefinition = null
23
+ formDefinition = null,
24
+ deferFormLookup = false
24
25
  }) => {
25
26
  const isUS = country === 'US';
26
27
  return /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
@@ -33,7 +34,8 @@ const AddressLookup = ({
33
34
  validationRequestId: validationRequestId,
34
35
  language: language,
35
36
  strings: strings,
36
- formDefinition: formDefinition
37
+ formDefinition: formDefinition,
38
+ deferFormLookup: deferFormLookup
37
39
  }) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_SmartyIntlResults.default, {
38
40
  countryCode: country,
39
41
  onSelect: onAddressSelect,
@@ -43,7 +45,8 @@ const AddressLookup = ({
43
45
  validationRequestId: validationRequestId,
44
46
  language: language,
45
47
  strings: strings,
46
- formDefinition: formDefinition
48
+ formDefinition: formDefinition,
49
+ deferFormLookup: deferFormLookup
47
50
  })
48
51
  });
49
52
  };
@@ -56,7 +59,8 @@ AddressLookup.propTypes = {
56
59
  validationRequestId: _propTypes.default.number,
57
60
  language: _propTypes.default.string,
58
61
  strings: _componentPropTypes.labelStringsPropType,
59
- formDefinition: _componentPropTypes.formDefinitionPropType
62
+ formDefinition: _componentPropTypes.formDefinitionPropType,
63
+ deferFormLookup: _propTypes.default.bool
60
64
  };
61
65
  var _default = exports.default = AddressLookup;
62
66
  //# sourceMappingURL=AddressLookup.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AddressLookup.js","names":["_propTypes","_interopRequireDefault","require","_SmartyUSResults","_SmartyIntlResults","_componentPropTypes","_jsxRuntime","e","__esModule","default","AddressLookup","onAddressSelect","country","address","requireValidation","showManualValidateButton","validationRequestId","language","strings","formDefinition","isUS","jsx","className","children","onSelect","initialAddress","countryCode","propTypes","PropTypes","func","string","addressPropType","bool","number","labelStringsPropType","formDefinitionPropType","_default","exports"],"sources":["../src/AddressLookup.jsx"],"sourcesContent":["import PropTypes from 'prop-types';\nimport './styles/addressLookup.css';\nimport SmartyUSResults from './components/SmartyUSResults';\nimport SmartyIntlResults from './components/SmartyIntlResults';\nimport { addressPropType, formDefinitionPropType, labelStringsPropType } from './utils/componentPropTypes';\n\nconst AddressLookup = ({ \n onAddressSelect, \n country = 'US',\n address = null,\n requireValidation = true,\n showManualValidateButton = false,\n validationRequestId = 0,\n language = 'en',\n strings = null,\n formDefinition = null\n}) => {\n const isUS = country === 'US';\n\n return (\n <div className='ns-address-lookup'>\n {isUS ? (\n <SmartyUSResults \n onSelect={onAddressSelect}\n initialAddress={address}\n requireValidation={requireValidation}\n showManualValidateButton={showManualValidateButton}\n validationRequestId={validationRequestId}\n language={language}\n strings={strings}\n formDefinition={formDefinition}\n />\n ) : (\n <SmartyIntlResults \n countryCode={country}\n onSelect={onAddressSelect}\n initialAddress={address}\n requireValidation={requireValidation}\n showManualValidateButton={showManualValidateButton}\n validationRequestId={validationRequestId}\n language={language}\n strings={strings}\n formDefinition={formDefinition}\n />\n )}\n </div>\n );\n};\n\nAddressLookup.propTypes = {\n onAddressSelect: PropTypes.func,\n country: PropTypes.string,\n address: addressPropType,\n requireValidation: PropTypes.bool,\n showManualValidateButton: PropTypes.bool,\n validationRequestId: PropTypes.number,\n language: PropTypes.string,\n strings: labelStringsPropType,\n formDefinition: formDefinitionPropType\n};\n\nexport default AddressLookup;\n"],"mappings":";;;;;;AAAA,IAAAA,UAAA,GAAAC,sBAAA,CAAAC,OAAA;AACAA,OAAA;AACA,IAAAC,gBAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,kBAAA,GAAAH,sBAAA,CAAAC,OAAA;AACA,IAAAG,mBAAA,GAAAH,OAAA;AAA2G,IAAAI,WAAA,GAAAJ,OAAA;AAAA,SAAAD,uBAAAM,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAE3G,MAAMG,aAAa,GAAGA,CAAC;EACrBC,eAAe;EACfC,OAAO,GAAG,IAAI;EACdC,OAAO,GAAG,IAAI;EACdC,iBAAiB,GAAG,IAAI;EACxBC,wBAAwB,GAAG,KAAK;EAChCC,mBAAmB,GAAG,CAAC;EACvBC,QAAQ,GAAG,IAAI;EACfC,OAAO,GAAG,IAAI;EACdC,cAAc,GAAG;AACnB,CAAC,KAAK;EACJ,MAAMC,IAAI,GAAGR,OAAO,KAAK,IAAI;EAE7B,oBACE,IAAAN,WAAA,CAAAe,GAAA;IAAKC,SAAS,EAAC,mBAAmB;IAAAC,QAAA,EAC/BH,IAAI,gBACH,IAAAd,WAAA,CAAAe,GAAA,EAAClB,gBAAA,CAAAM,OAAe;MACde,QAAQ,EAAEb,eAAgB;MAC1Bc,cAAc,EAAEZ,OAAQ;MACxBC,iBAAiB,EAAEA,iBAAkB;MACrCC,wBAAwB,EAAEA,wBAAyB;MACnDC,mBAAmB,EAAEA,mBAAoB;MACzCC,QAAQ,EAAEA,QAAS;MACnBC,OAAO,EAAEA,OAAQ;MACjBC,cAAc,EAAEA;IAAe,CAChC,CAAC,gBAEF,IAAAb,WAAA,CAAAe,GAAA,EAACjB,kBAAA,CAAAK,OAAiB;MAChBiB,WAAW,EAAEd,OAAQ;MACrBY,QAAQ,EAAEb,eAAgB;MAC1Bc,cAAc,EAAEZ,OAAQ;MACxBC,iBAAiB,EAAEA,iBAAkB;MACrCC,wBAAwB,EAAEA,wBAAyB;MACnDC,mBAAmB,EAAEA,mBAAoB;MACzCC,QAAQ,EAAEA,QAAS;MACnBC,OAAO,EAAEA,OAAQ;MACjBC,cAAc,EAAEA;IAAe,CAChC;EACF,CACE,CAAC;AAEV,CAAC;AAEDT,aAAa,CAACiB,SAAS,GAAG;EACxBhB,eAAe,EAAEiB,kBAAS,CAACC,IAAI;EAC/BjB,OAAO,EAAEgB,kBAAS,CAACE,MAAM;EACzBjB,OAAO,EAAEkB,mCAAe;EACxBjB,iBAAiB,EAAEc,kBAAS,CAACI,IAAI;EACjCjB,wBAAwB,EAAEa,kBAAS,CAACI,IAAI;EACxChB,mBAAmB,EAAEY,kBAAS,CAACK,MAAM;EACrChB,QAAQ,EAAEW,kBAAS,CAACE,MAAM;EAC1BZ,OAAO,EAAEgB,wCAAoB;EAC7Bf,cAAc,EAAEgB;AAClB,CAAC;AAAC,IAAAC,QAAA,GAAAC,OAAA,CAAA5B,OAAA,GAEaC,aAAa","ignoreList":[]}
1
+ {"version":3,"file":"AddressLookup.js","names":["_propTypes","_interopRequireDefault","require","_SmartyUSResults","_SmartyIntlResults","_componentPropTypes","_jsxRuntime","e","__esModule","default","AddressLookup","onAddressSelect","country","address","requireValidation","showManualValidateButton","validationRequestId","language","strings","formDefinition","deferFormLookup","isUS","jsx","className","children","onSelect","initialAddress","countryCode","propTypes","PropTypes","func","string","addressPropType","bool","number","labelStringsPropType","formDefinitionPropType","_default","exports"],"sources":["../src/AddressLookup.jsx"],"sourcesContent":["import PropTypes from 'prop-types';\nimport './styles/addressLookup.css';\nimport SmartyUSResults from './components/SmartyUSResults';\nimport SmartyIntlResults from './components/SmartyIntlResults';\nimport { addressPropType, formDefinitionPropType, labelStringsPropType } from './utils/componentPropTypes';\n\nconst AddressLookup = ({ \n onAddressSelect, \n country = 'US',\n address = null,\n requireValidation = true,\n showManualValidateButton = false,\n validationRequestId = 0,\n language = 'en',\n strings = null,\n formDefinition = null,\n deferFormLookup = false\n}) => {\n const isUS = country === 'US';\n\n return (\n <div className='ns-address-lookup'>\n {isUS ? (\n <SmartyUSResults \n onSelect={onAddressSelect}\n initialAddress={address}\n requireValidation={requireValidation}\n showManualValidateButton={showManualValidateButton}\n validationRequestId={validationRequestId}\n language={language}\n strings={strings}\n formDefinition={formDefinition}\n deferFormLookup={deferFormLookup}\n />\n ) : (\n <SmartyIntlResults \n countryCode={country}\n onSelect={onAddressSelect}\n initialAddress={address}\n requireValidation={requireValidation}\n showManualValidateButton={showManualValidateButton}\n validationRequestId={validationRequestId}\n language={language}\n strings={strings}\n formDefinition={formDefinition}\n deferFormLookup={deferFormLookup}\n />\n )}\n </div>\n );\n};\n\nAddressLookup.propTypes = {\n onAddressSelect: PropTypes.func,\n country: PropTypes.string,\n address: addressPropType,\n requireValidation: PropTypes.bool,\n showManualValidateButton: PropTypes.bool,\n validationRequestId: PropTypes.number,\n language: PropTypes.string,\n strings: labelStringsPropType,\n formDefinition: formDefinitionPropType,\n deferFormLookup: PropTypes.bool\n};\n\nexport default AddressLookup;\n"],"mappings":";;;;;;AAAA,IAAAA,UAAA,GAAAC,sBAAA,CAAAC,OAAA;AACAA,OAAA;AACA,IAAAC,gBAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,kBAAA,GAAAH,sBAAA,CAAAC,OAAA;AACA,IAAAG,mBAAA,GAAAH,OAAA;AAA2G,IAAAI,WAAA,GAAAJ,OAAA;AAAA,SAAAD,uBAAAM,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAE3G,MAAMG,aAAa,GAAGA,CAAC;EACrBC,eAAe;EACfC,OAAO,GAAG,IAAI;EACdC,OAAO,GAAG,IAAI;EACdC,iBAAiB,GAAG,IAAI;EACxBC,wBAAwB,GAAG,KAAK;EAChCC,mBAAmB,GAAG,CAAC;EACvBC,QAAQ,GAAG,IAAI;EACfC,OAAO,GAAG,IAAI;EACdC,cAAc,GAAG,IAAI;EACrBC,eAAe,GAAG;AACpB,CAAC,KAAK;EACJ,MAAMC,IAAI,GAAGT,OAAO,KAAK,IAAI;EAE7B,oBACE,IAAAN,WAAA,CAAAgB,GAAA;IAAKC,SAAS,EAAC,mBAAmB;IAAAC,QAAA,EAC/BH,IAAI,gBACH,IAAAf,WAAA,CAAAgB,GAAA,EAACnB,gBAAA,CAAAM,OAAe;MACdgB,QAAQ,EAAEd,eAAgB;MAC1Be,cAAc,EAAEb,OAAQ;MACxBC,iBAAiB,EAAEA,iBAAkB;MACrCC,wBAAwB,EAAEA,wBAAyB;MACnDC,mBAAmB,EAAEA,mBAAoB;MACzCC,QAAQ,EAAEA,QAAS;MACnBC,OAAO,EAAEA,OAAQ;MACjBC,cAAc,EAAEA,cAAe;MAC/BC,eAAe,EAAEA;IAAgB,CAClC,CAAC,gBAEF,IAAAd,WAAA,CAAAgB,GAAA,EAAClB,kBAAA,CAAAK,OAAiB;MAChBkB,WAAW,EAAEf,OAAQ;MACrBa,QAAQ,EAAEd,eAAgB;MAC1Be,cAAc,EAAEb,OAAQ;MACxBC,iBAAiB,EAAEA,iBAAkB;MACrCC,wBAAwB,EAAEA,wBAAyB;MACnDC,mBAAmB,EAAEA,mBAAoB;MACzCC,QAAQ,EAAEA,QAAS;MACnBC,OAAO,EAAEA,OAAQ;MACjBC,cAAc,EAAEA,cAAe;MAC/BC,eAAe,EAAEA;IAAgB,CAClC;EACF,CACE,CAAC;AAEV,CAAC;AAEDV,aAAa,CAACkB,SAAS,GAAG;EACxBjB,eAAe,EAAEkB,kBAAS,CAACC,IAAI;EAC/BlB,OAAO,EAAEiB,kBAAS,CAACE,MAAM;EACzBlB,OAAO,EAAEmB,mCAAe;EACxBlB,iBAAiB,EAAEe,kBAAS,CAACI,IAAI;EACjClB,wBAAwB,EAAEc,kBAAS,CAACI,IAAI;EACxCjB,mBAAmB,EAAEa,kBAAS,CAACK,MAAM;EACrCjB,QAAQ,EAAEY,kBAAS,CAACE,MAAM;EAC1Bb,OAAO,EAAEiB,wCAAoB;EAC7BhB,cAAc,EAAEiB,0CAAsB;EACtChB,eAAe,EAAES,kBAAS,CAACI;AAC7B,CAAC;AAAC,IAAAI,QAAA,GAAAC,OAAA,CAAA7B,OAAA,GAEaC,aAAa","ignoreList":[]}
@@ -30,6 +30,24 @@ const stripGeocode = (address = {}) => {
30
30
  delete nextAddress.longitude;
31
31
  return nextAddress;
32
32
  };
33
+ const FIELD_TEST_IDS = {
34
+ address1: 'qa-address-1',
35
+ address2: 'qa-address-2',
36
+ district: 'qa-address-district',
37
+ region: 'qa-address-region',
38
+ city: 'qa-address-city',
39
+ postalCode: 'qa-address-postal-code'
40
+ };
41
+ const FIELD_IDS = {
42
+ address1: 'address-line-1',
43
+ address2: 'address-line-2',
44
+ district: 'address-district',
45
+ region: 'address-region',
46
+ city: 'address-city',
47
+ postalCode: 'address-postal-code'
48
+ };
49
+ const getFieldTestId = field => FIELD_TEST_IDS[field] || `qa-address-${field}`;
50
+ const getFieldId = field => FIELD_IDS[field] || `address-${field}`;
33
51
  const SmartyIntlResults = ({
34
52
  countryCode,
35
53
  onSelect,
@@ -39,7 +57,8 @@ const SmartyIntlResults = ({
39
57
  validationRequestId = 0,
40
58
  language = 'en',
41
59
  strings = null,
42
- formDefinition = null
60
+ formDefinition = null,
61
+ deferFormLookup = false
43
62
  }) => {
44
63
  var _formDefinition$addre, _window$google;
45
64
  const [mode, setMode] = (0, _react.useState)('autocomplete');
@@ -111,7 +130,7 @@ const SmartyIntlResults = ({
111
130
  labels: fieldLabels,
112
131
  isLoading: areLabelsLoading
113
132
  } = (0, _useAddressFieldLabels.default)(countryCode, language, strings);
114
- const shouldLoadAddressForm = !formDefinition;
133
+ const shouldLoadAddressForm = !formDefinition && !deferFormLookup;
115
134
  const {
116
135
  addressForm: loadedAddressForm,
117
136
  isLoading: isFormLoading
@@ -773,6 +792,7 @@ const SmartyIntlResults = ({
773
792
  children: areLabelsLoading ? '' : (fieldLabels === null || fieldLabels === void 0 ? void 0 : fieldLabels[fieldConfig.field]) || fieldConfig.label
774
793
  }), renderLookupActions()]
775
794
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_foundationUiComponents.NsInputField, {
795
+ id: getFieldId(fieldConfig.field),
776
796
  type: "text",
777
797
  label: isLookupField || areLabelsLoading ? '' : (fieldLabels === null || fieldLabels === void 0 ? void 0 : fieldLabels[fieldConfig.field]) || fieldConfig.label,
778
798
  value: formData[fieldConfig.field] || '',
@@ -798,7 +818,8 @@ const SmartyIntlResults = ({
798
818
  readOnly: isReadOnly
799
819
  },
800
820
  inputProps: {
801
- maxLength: fieldConfig.maxLength
821
+ maxLength: fieldConfig.maxLength,
822
+ 'data-testid': getFieldTestId(fieldConfig.field)
802
823
  },
803
824
  className: inputClassName
804
825
  }), renderLookupLists(isLookupField)]
@@ -873,7 +894,8 @@ SmartyIntlResults.propTypes = {
873
894
  validationRequestId: _propTypes.default.number,
874
895
  language: _propTypes.default.string,
875
896
  strings: _componentPropTypes.labelStringsPropType,
876
- formDefinition: _componentPropTypes.formDefinitionPropType
897
+ formDefinition: _componentPropTypes.formDefinitionPropType,
898
+ deferFormLookup: _propTypes.default.bool
877
899
  };
878
900
  var _default = exports.default = SmartyIntlResults;
879
901
  //# sourceMappingURL=SmartyIntlResults.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SmartyIntlResults.js","names":["_propTypes","_interopRequireDefault","require","_react","_useSmartyInternationalLookup","_useIntlAddressValidation","_useAddressFieldLabels","_useAddressForm","_useInitialAddressVerification","_useAddressMapModal","_addressMapping","_addressWrapper","_addressStatus","_addressVerification","_validators","_componentPropTypes","_LocationPinIcon","_foundationUiComponents","_jsxRuntime","e","__esModule","default","stripGeocode","address","nextAddress","latitude","longitude","SmartyIntlResults","countryCode","onSelect","initialAddress","requireValidation","showManualValidateButton","validationRequestId","language","strings","formDefinition","_formDefinition$addre","_window$google","mode","setMode","useState","query","setQuery","selectedAddress","setSelectedAddress","selectedIntlAddressId","setSelectedIntlAddressId","formData","setFormData","verificationStatus","setVerificationStatus","getIncomingVerificationStatus","customError","setCustomError","validationTrigger","setValidationTrigger","validationTriggerSource","setValidationTriggerSource","showValidationSuggestions","setShowValidationSuggestions","mapAddressLines","setMapAddressLines","hasPendingLookupDraft","setHasPendingLookupDraft","touchedFields","setTouchedFields","showAllRequiredErrors","setShowAllRequiredErrors","lookupServiceError","setLookupServiceError","validationServiceError","setValidationServiceError","shouldSearchRef","useRef","fieldTimerRef","componentRef","suggestionsListRef","lastCommittedAddressRef","lookupDraftOriginalRef","appliedSelectionKeyRef","mapValidationStartedRef","autoApplyValidationStartedRef","useEffect","current","type","status","buildAddressStatus","addressForm","resolvedAddressForm","clearTimeout","isAutocompleteMode","labels","fieldLabels","isLoading","areLabelsLoading","useAddressFieldLabels","shouldLoadAddressForm","loadedAddressForm","isFormLoading","useAddressForm","providedAddressForm","addressElements","length","lookupField","requiredFields","getRequiredFieldsFromAddressForm","hasEmailField","some","field","hasMapCoordinates","undefined","canUseGoogleMaps","window","Boolean","google","maps","importLibrary","hasLookupValue","String","trim","canAttemptMap","includes","showMapAction","mapInfoLines","address1","address2","district","postalCode","city","filter","join","region","mapContainerRef","pendingMapOpen","setPendingMapOpen","setShowMapModal","showMapModal","useAddressMapModal","infoLines","openInMapsLabel","openInMaps","suggestions","loading","error","rateLimited","useSmartyInternationalLookup","validationSuggestions","validationLoading","validationError","validationRateLimited","useIntlAddressValidation","lookupValue","lookupErrorMessage","lookupError","validationErrorMessage","rawMessage","kind","source","message","clearServiceErrors","lookup","validation","custom","stripUnusedEmail","email","buildTrackedAddress","withAddressVerification","isAcceptableInitialValidationResult","validatedAddress","_validatedAddress$val","validationSummary","code","useInitialAddressVerification","isDetailed","handleDocumentMouseDown","event","component","contains","target","suggestionsList","document","addEventListener","removeEventListener","selectionKey","address_id","street","locality","postal_code","mapped","buildIntlAutocompleteAddressMapping","updatedFormData","normalizedFormData","currentVerificationStatus","verifyAfterAutocomplete","prev","handleInputChange","value","normalizeAddressFieldValue","isFieldRequired","isFieldBlank","hasInvalidPostalCodeFormat","postalCodeRegex","test","normalizePostalCodeValue","hasInvalidEmailFormat","isValidEmail","shouldShowFieldError","shouldShowValidation","requiredError","handleFieldBlur","getFieldErrorMessage","fieldRequired","invalidPostalCode","invalidEmail","hasVisibleFieldError","handleEditableFieldChange","normalizedValue","requiredFieldsForVerification","nextVerificationStatus","getManualEditVerificationStatus","withManualAddressVerificationEdit","setTimeout","payload","handleSelect","entries","displayText","handleValidationSelect","_validatedAddress$met","_validatedAddress$met2","config","formattedMapped","nextMapAddressLines","buildIntlConfiguredVerificationMapping","preserveBlankConfiguredMappings","wrapAddress1ToAddress2","address1Field","find","f","maxLength","wrapped","metadata","verification","analysis","handleValidate","getFieldKey","fieldConfig","getSuggestionKey","suggestion","address_text","administrative_area","getValidationSuggestionKey","_suggestion$component","_suggestion$component2","_suggestion$component3","_suggestion$component4","_suggestion$component5","address3","components","thoroughfare","premise","getIntlValidationSummaryTitle","_suggestion$validatio","_suggestion$validatio2","_suggestion$validatio3","_suggestion$validatio4","_suggestion$validatio5","_suggestion$validatio6","_suggestion$validatio7","intlVerifiedTitle","title","intlVerifiedSubBuildingChangedTitle","intlPartialTitle","intlAmbiguousTitle","intlNotVerifiedTitle","getIntlValidationSummaryMessage","_suggestion$validatio8","_suggestion$validatio9","_suggestion$validatio0","_suggestion$validatio1","_suggestion$validatio10","_suggestion$validatio11","_suggestion$validatio12","intlVerifiedMessage","intlVerifiedSubBuildingChangedMessage","intlPartialMessage","intlAmbiguousMessage","intlNotVerifiedMessage","handleOpenMap","renderLookupActions","jsxs","className","children","jsx","onClick","NsButton","disabled","variant","color","size","switchToManualEntry","switchToAutocomplete","renderLookupLists","isLookupField","shouldShowValidationResults","shouldShowNoResults","ref","map","index","intlNoResults","renderField","fieldError","isInvalid","isReadOnly","editable","inputClassName","style","width","label","NsInputField","fieldState","helperText","onBlur","onChange","filtered","filterAllowedCharacters","allowedCharacters","InputProps","readOnly","inputProps","renderAddressForm","loadingAddressForm","Fragment","role","addressLocation","stopPropagation","propTypes","PropTypes","string","isRequired","func","addressPropType","bool","number","labelStringsPropType","formDefinitionPropType","_default","exports"],"sources":["../../src/components/SmartyIntlResults.jsx"],"sourcesContent":["import PropTypes from 'prop-types';\nimport { useState, useEffect, useRef } from 'react';\nimport useSmartyInternationalLookup from '../hooks/useSmartyInternationalLookup';\nimport useIntlAddressValidation from '../hooks/useIntlAddressValidation';\nimport useAddressFieldLabels from '../hooks/useAddressFieldLabels';\nimport useAddressForm from '../hooks/useAddressForm';\nimport useInitialAddressVerification from '../hooks/useInitialAddressVerification';\nimport useAddressMapModal from '../hooks/useAddressMapModal';\nimport {\n buildIntlAutocompleteAddressMapping,\n buildIntlConfiguredVerificationMapping,\n preserveBlankConfiguredMappings\n} from '../utils/addressMapping';\nimport { wrapAddress1ToAddress2 } from '../utils/addressWrapper';\nimport { buildAddressStatus, getRequiredFieldsFromAddressForm } from '../utils/addressStatus';\nimport {\n getIncomingVerificationStatus,\n getManualEditVerificationStatus,\n withAddressVerification,\n withManualAddressVerificationEdit\n} from '../utils/addressVerification';\nimport { isValidEmail, normalizeAddressFieldValue, normalizePostalCodeValue, filterAllowedCharacters } from '../utils/validators';\nimport { addressPropType, formDefinitionPropType, labelStringsPropType } from '../utils/componentPropTypes';\nimport LocationPinIcon from './LocationPinIcon';\nimport { NsButton, NsInputField } from '@nuskin/foundation-ui-components';\n\nconst stripGeocode = (address = {}) => {\n const nextAddress = { ...address };\n delete nextAddress.latitude;\n delete nextAddress.longitude;\n return nextAddress;\n};\n\nconst SmartyIntlResults = ({\n countryCode,\n onSelect,\n initialAddress = null,\n requireValidation = true,\n showManualValidateButton = false,\n validationRequestId = 0,\n language = 'en',\n strings = null,\n formDefinition = null\n}) => {\n const [mode, setMode] = useState('autocomplete');\n const [query, setQuery] = useState('');\n const [selectedAddress, setSelectedAddress] = useState(null);\n const [selectedIntlAddressId, setSelectedIntlAddressId] = useState(null);\n const [formData, setFormData] = useState(initialAddress || {});\n const [verificationStatus, setVerificationStatus] = useState(getIncomingVerificationStatus(initialAddress));\n const [customError, setCustomError] = useState(null);\n const [validationTrigger, setValidationTrigger] = useState(0);\n const [validationTriggerSource, setValidationTriggerSource] = useState(null);\n const [showValidationSuggestions, setShowValidationSuggestions] = useState(false);\n const [mapAddressLines, setMapAddressLines] = useState([]);\n const [hasPendingLookupDraft, setHasPendingLookupDraft] = useState(false);\n const [touchedFields, setTouchedFields] = useState({});\n const [showAllRequiredErrors, setShowAllRequiredErrors] = useState(false);\n const [lookupServiceError, setLookupServiceError] = useState(null);\n const [validationServiceError, setValidationServiceError] = useState(null);\n const shouldSearchRef = useRef(true);\n const fieldTimerRef = useRef(null);\n const componentRef = useRef(null);\n const suggestionsListRef = useRef(null);\n const lastCommittedAddressRef = useRef(initialAddress || {});\n const lookupDraftOriginalRef = useRef(initialAddress || {});\n const appliedSelectionKeyRef = useRef(null);\n const mapValidationStartedRef = useRef(false);\n const autoApplyValidationStartedRef = useRef(false);\n\n useEffect(() => {\n if (initialAddress) {\n setFormData(initialAddress);\n setVerificationStatus(getIncomingVerificationStatus(initialAddress));\n shouldSearchRef.current = false;\n lastCommittedAddressRef.current = initialAddress;\n lookupDraftOriginalRef.current = initialAddress;\n setTouchedFields({});\n setShowAllRequiredErrors(false);\n setLookupServiceError(null);\n setValidationServiceError(null);\n setMapAddressLines([]);\n }\n }, [initialAddress]);\n\n useEffect(() => {\n if (!validationRequestId) {\n return;\n }\n\n setShowAllRequiredErrors(true);\n onSelect?.({\n type: 'validation-request',\n address: formData,\n status: buildAddressStatus({\n countryCode,\n addressForm: resolvedAddressForm,\n formData,\n verificationStatus,\n mode,\n requireValidation\n })\n });\n }, [validationRequestId]);\n\n useEffect(() => {\n return () => {\n if (fieldTimerRef.current) {\n clearTimeout(fieldTimerRef.current);\n }\n };\n }, []);\n\n const isAutocompleteMode = mode === 'autocomplete';\n const {\n labels: fieldLabels,\n isLoading: areLabelsLoading\n } = useAddressFieldLabels(countryCode, language, strings);\n const shouldLoadAddressForm = !formDefinition;\n const {\n addressForm: loadedAddressForm,\n isLoading: isFormLoading\n } = useAddressForm(countryCode, shouldLoadAddressForm);\n const providedAddressForm = formDefinition?.addressElements?.length ? formDefinition : null;\n const resolvedAddressForm = providedAddressForm || loadedAddressForm;\n const lookupField = resolvedAddressForm?.lookupField || 'address1';\n const requiredFields = getRequiredFieldsFromAddressForm(resolvedAddressForm);\n const hasEmailField = (resolvedAddressForm?.addressElements || []).some((field) => field.field === 'email');\n const hasMapCoordinates = (\n formData?.latitude !== undefined && formData?.longitude !== undefined\n );\n const canUseGoogleMaps = typeof window !== 'undefined' &&\n Boolean(window.google?.maps?.importLibrary);\n const hasLookupValue = Boolean(String(formData?.[lookupField] || '').trim());\n const canAttemptMap = Boolean(\n (!isAutocompleteMode && hasLookupValue) ||\n (isAutocompleteMode && ['autocomplete', 'verified'].includes(verificationStatus) && hasLookupValue)\n );\n const showMapAction = canUseGoogleMaps && (hasMapCoordinates || canAttemptMap);\n const mapInfoLines = (mapAddressLines.length ? mapAddressLines : [\n formData.address1,\n formData.address2,\n formData.district,\n [formData.postalCode, formData.city].filter(Boolean).join(' '),\n formData.region\n ]).filter(Boolean);\n const {\n mapContainerRef,\n pendingMapOpen,\n setPendingMapOpen,\n setShowMapModal,\n showMapModal\n } = useAddressMapModal({\n formData,\n infoLines: mapInfoLines,\n canUseGoogleMaps,\n hasMapCoordinates,\n openInMapsLabel: fieldLabels?.openInMaps\n });\n\n const { suggestions, loading, error, rateLimited } = useSmartyInternationalLookup(\n shouldSearchRef.current && isAutocompleteMode ? query : '',\n countryCode,\n selectedIntlAddressId,\n 500\n );\n\n const {\n suggestions: validationSuggestions,\n loading: validationLoading,\n error: validationError,\n rateLimited: validationRateLimited\n } = useIntlAddressValidation(\n formData,\n countryCode,\n requireValidation ? validationTrigger : 0,\n lookupField\n );\n const lookupValue = formData[lookupField];\n const lookupErrorMessage = lookupServiceError?.rateLimited ?\n (fieldLabels?.rateLimited || 'Too many requests. Please wait a moment and try again.') :\n (fieldLabels?.lookupError || 'We could not look up that address right now.');\n const validationErrorMessage = validationServiceError?.rateLimited ?\n (fieldLabels?.rateLimited || 'Too many requests. Please wait a moment and try again.') :\n (fieldLabels?.validationError || 'We could not validate that address right now.');\n\n useEffect(() => {\n if (!error) {\n setLookupServiceError(null);\n return;\n }\n\n setLookupServiceError({\n rateLimited,\n rawMessage: error\n });\n }, [error, rateLimited]);\n\n useEffect(() => {\n if (!validationError) {\n setValidationServiceError(null);\n return;\n }\n\n setValidationServiceError({\n rateLimited: validationRateLimited,\n rawMessage: validationError\n });\n setPendingMapOpen(false);\n mapValidationStartedRef.current = false;\n }, [validationError, validationRateLimited]);\n\n useEffect(() => {\n if (!lookupServiceError) {\n return;\n }\n\n onSelect?.({\n type: 'lookup-error',\n address: formData,\n status: buildAddressStatus({\n countryCode,\n addressForm: resolvedAddressForm,\n formData,\n verificationStatus,\n mode,\n requireValidation\n }),\n error: {\n kind: lookupServiceError.rateLimited ? 'rate-limited' : 'api',\n source: 'autocomplete',\n message: lookupErrorMessage\n }\n });\n }, [lookupServiceError]);\n\n useEffect(() => {\n if (!validationServiceError) {\n return;\n }\n\n onSelect?.({\n type: 'validation-error',\n address: formData,\n status: buildAddressStatus({\n countryCode,\n addressForm: resolvedAddressForm,\n formData,\n verificationStatus,\n mode,\n requireValidation\n }),\n error: {\n kind: validationServiceError.rateLimited ? 'rate-limited' : 'api',\n source: 'validation',\n message: validationErrorMessage\n }\n });\n }, [validationServiceError]);\n\n const clearServiceErrors = ({ lookup = true, validation = true, custom = false } = {}) => {\n if (lookup) {\n setLookupServiceError(null);\n }\n if (validation) {\n setValidationServiceError(null);\n }\n if (custom) {\n setCustomError(null);\n }\n };\n\n const stripUnusedEmail = (address = {}) => {\n if (hasEmailField) {\n return address;\n }\n\n const nextAddress = { ...address };\n delete nextAddress.email;\n return nextAddress;\n };\n\n const buildTrackedAddress = (address = {}, status = 'unverified', source = null) => (\n stripUnusedEmail(withAddressVerification(address, status, source))\n );\n\n const isAcceptableInitialValidationResult = (validatedAddress) => (\n ['verified', 'verified-sub-building-changed']\n .includes(validatedAddress?.validationSummary?.code)\n );\n\n useInitialAddressVerification({\n initialAddress,\n countryCode,\n lookupField,\n requireValidation,\n resolvedAddressForm,\n setValidationServiceError,\n setCustomError,\n setShowValidationSuggestions,\n setValidationTriggerSource,\n setValidationTrigger\n });\n\n useEffect(() => {\n if (selectedIntlAddressId) {\n if (suggestions.length === 1 && suggestions[0].isDetailed) {\n setSelectedAddress(suggestions[0]);\n setSelectedIntlAddressId(null);\n setQuery('');\n setCustomError(null);\n } else if (suggestions.length === 0 && !loading) {\n setCustomError('Unable to retrieve address details. Please try another address or enter manually.');\n setSelectedIntlAddressId(null);\n setQuery('');\n }\n } else if (suggestions.length > 0 && !suggestions[0].isDetailed && !selectedAddress) {\n setSelectedAddress(null);\n setCustomError(null);\n }\n }, [suggestions, selectedIntlAddressId, selectedAddress, loading]);\n\n useEffect(() => {\n if (lookupValue !== undefined && shouldSearchRef.current && !selectedAddress) {\n setQuery(lookupValue);\n }\n }, [lookupValue, selectedAddress]);\n\n useEffect(() => {\n if (validationTrigger > 0 && ['autocomplete', 'map', 'initial'].includes(validationTriggerSource)) {\n autoApplyValidationStartedRef.current = false;\n }\n }, [validationTrigger, validationTriggerSource]);\n\n useEffect(() => {\n if (validationTriggerSource === 'map' && validationLoading) {\n mapValidationStartedRef.current = true;\n }\n if (validationLoading && ['autocomplete', 'map', 'initial'].includes(validationTriggerSource)) {\n autoApplyValidationStartedRef.current = true;\n }\n }, [validationLoading, validationTriggerSource]);\n\n useEffect(() => {\n if (\n validationTriggerSource === 'map' &&\n mapValidationStartedRef.current &&\n showValidationSuggestions &&\n !validationLoading &&\n validationSuggestions.length === 0\n ) {\n setPendingMapOpen(false);\n mapValidationStartedRef.current = false;\n }\n }, [validationLoading, validationSuggestions, validationTriggerSource, showValidationSuggestions]);\n\n useEffect(() => {\n if (!hasPendingLookupDraft || suggestions.length === 0) {\n return undefined;\n }\n\n const handleDocumentMouseDown = (event) => {\n const component = componentRef.current;\n if (component?.contains(event.target)) {\n return;\n }\n\n const suggestionsList = suggestionsListRef.current;\n if (suggestionsList?.contains(event.target) === false) {\n shouldSearchRef.current = false;\n setQuery('');\n setSelectedAddress(null);\n setSelectedIntlAddressId(null);\n setShowValidationSuggestions(false);\n clearServiceErrors({ custom: true });\n setFormData(lookupDraftOriginalRef.current);\n setHasPendingLookupDraft(false);\n }\n };\n\n document.addEventListener('pointerdown', handleDocumentMouseDown);\n return () => {\n document.removeEventListener('pointerdown', handleDocumentMouseDown);\n };\n }, [hasPendingLookupDraft, suggestions]);\n\n useEffect(() => {\n if (selectedAddress) {\n const selectionKey = selectedAddress.address_id ||\n `${selectedAddress.street || ''}|${selectedAddress.locality || ''}|${selectedAddress.postal_code || ''}`;\n if (appliedSelectionKeyRef.current === selectionKey) {\n return;\n }\n appliedSelectionKeyRef.current = selectionKey;\n\n const mapped = buildIntlAutocompleteAddressMapping(selectedAddress, resolvedAddressForm);\n const updatedFormData = {\n ...stripGeocode(formData),\n ...mapped,\n email: formData.email\n };\n const normalizedFormData = buildTrackedAddress(updatedFormData, 'autocomplete', 'smarty-intl');\n setFormData(normalizedFormData);\n setMapAddressLines([]);\n lastCommittedAddressRef.current = normalizedFormData;\n lookupDraftOriginalRef.current = normalizedFormData;\n setHasPendingLookupDraft(false);\n clearServiceErrors({ custom: true });\n const currentVerificationStatus = 'autocomplete';\n setVerificationStatus(currentVerificationStatus);\n onSelect?.({\n type: 'autocomplete',\n address: normalizedFormData,\n status: buildAddressStatus({\n countryCode,\n addressForm: resolvedAddressForm,\n formData: normalizedFormData,\n verificationStatus: currentVerificationStatus,\n mode,\n requireValidation\n })\n });\n\n if (requireValidation && resolvedAddressForm.verifyAfterAutocomplete) {\n // Trigger validation instead of directly selecting.\n // Keep suggestions visible in case multiple candidates are returned.\n setShowValidationSuggestions(true);\n setValidationTriggerSource('autocomplete');\n setValidationTrigger(prev => prev + 1);\n }\n }\n }, [selectedAddress]);\n\n const handleInputChange = (e) => {\n const value = normalizeAddressFieldValue(lookupField, e.target.value);\n shouldSearchRef.current = true;\n appliedSelectionKeyRef.current = null;\n setSelectedAddress(null);\n setSelectedIntlAddressId(null);\n setShowValidationSuggestions(false);\n setShowMapModal(false);\n setPendingMapOpen(false);\n mapValidationStartedRef.current = false;\n setMapAddressLines([]);\n setValidationTriggerSource(null);\n clearServiceErrors({ custom: true });\n if (!hasPendingLookupDraft) {\n lookupDraftOriginalRef.current = formData;\n setHasPendingLookupDraft(true);\n }\n const updatedFormData = stripUnusedEmail({\n ...stripGeocode(formData),\n [lookupField]: value\n });\n setFormData(buildTrackedAddress(updatedFormData, 'unverified'));\n setVerificationStatus('unverified');\n };\n\n const isFieldRequired = (field) => requiredFields.includes(field);\n const isFieldBlank = (field) => String(formData[field] || '').trim() === '';\n const hasInvalidPostalCodeFormat = (field) => {\n if (field !== 'postalCode') {\n return false;\n }\n const value = String(formData.postalCode || '').trim();\n if (!value || !resolvedAddressForm.postalCodeRegex) {\n return false;\n }\n return !resolvedAddressForm.postalCodeRegex.test(normalizePostalCodeValue(value));\n };\n const hasInvalidEmailFormat = (field) => {\n if (field !== 'email') {\n return false;\n }\n const value = String(formData.email || '').trim();\n if (!value) {\n return false;\n }\n return !isValidEmail(value);\n };\n const shouldShowFieldError = (field) => {\n const shouldShowValidation = Boolean(showAllRequiredErrors || touchedFields[field]);\n if (!shouldShowValidation) {\n return false;\n }\n const requiredError = isFieldRequired(field) && isFieldBlank(field);\n return requiredError || hasInvalidPostalCodeFormat(field) || hasInvalidEmailFormat(field);\n };\n\n const handleFieldBlur = (field) => {\n if (!isFieldRequired(field) && field !== 'email' && field !== 'postalCode') {\n return;\n }\n setTouchedFields((prev) => ({ ...prev, [field]: true }));\n };\n\n const getFieldErrorMessage = (field) => {\n if (!shouldShowFieldError(field)) {\n return '';\n }\n if (isFieldRequired(field) && isFieldBlank(field)) {\n return areLabelsLoading ? '' : fieldLabels?.fieldRequired;\n }\n if (hasInvalidPostalCodeFormat(field)) {\n return areLabelsLoading ? '' : fieldLabels?.invalidPostalCode;\n }\n if (hasInvalidEmailFormat(field)) {\n return areLabelsLoading ? '' : fieldLabels?.invalidEmail;\n }\n return '';\n };\n\n const hasVisibleFieldError = (field) => shouldShowFieldError(field);\n\n const handleEditableFieldChange = (field, value) => {\n const normalizedValue = normalizeAddressFieldValue(field, value);\n if (field === lookupField) {\n setShowValidationSuggestions(false);\n }\n setShowMapModal(false);\n setPendingMapOpen(false);\n mapValidationStartedRef.current = false;\n setMapAddressLines([]);\n clearServiceErrors({ custom: true });\n\n const requiredFieldsForVerification = resolvedAddressForm?.requiredFields || requiredFields;\n const nextVerificationStatus = getManualEditVerificationStatus(\n verificationStatus,\n field,\n lookupField,\n requiredFieldsForVerification\n );\n const updatedFormData = withManualAddressVerificationEdit(\n stripUnusedEmail({\n ...stripGeocode(formData),\n [field]: normalizedValue\n }),\n field,\n nextVerificationStatus\n );\n setFormData(updatedFormData);\n setVerificationStatus(nextVerificationStatus);\n\n if (fieldTimerRef.current) {\n clearTimeout(fieldTimerRef.current);\n }\n\n fieldTimerRef.current = setTimeout(() => {\n const payload = {\n type: 'field-change',\n field,\n value: normalizedValue,\n address: updatedFormData,\n status: buildAddressStatus({\n countryCode,\n addressForm: resolvedAddressForm,\n formData: updatedFormData,\n verificationStatus: nextVerificationStatus,\n mode,\n requireValidation\n })\n };\n\n if (hasEmailField && field === 'email' && value) {\n payload.isValidEmail = isValidEmail(normalizedValue);\n }\n\n onSelect?.(payload);\n }, 500);\n };\n\n const handleSelect = (address) => {\n clearServiceErrors({ lookup: true, validation: false, custom: true });\n if (address.entries > 1 || (address.entries === 1 && address.isDetailed === false)) {\n shouldSearchRef.current = true;\n appliedSelectionKeyRef.current = null;\n setSelectedIntlAddressId(address.address_id);\n setQuery(address.displayText);\n } else {\n shouldSearchRef.current = false;\n appliedSelectionKeyRef.current = null;\n setSelectedIntlAddressId(null);\n setSelectedAddress(address);\n setQuery('');\n }\n };\n\n const handleValidationSelect = (validatedAddress) => {\n clearServiceErrors({ lookup: false, validation: true, custom: false });\n const config = resolvedAddressForm.addressElements || [];\n const {\n mapped: formattedMapped,\n mapAddressLines: nextMapAddressLines\n } = buildIntlConfiguredVerificationMapping(validatedAddress, resolvedAddressForm);\n\n let mapped = preserveBlankConfiguredMappings(\n formattedMapped,\n formData,\n config,\n 'verification'\n );\n\n // Apply address wrapping if enabled\n if (resolvedAddressForm.wrapAddress1ToAddress2) {\n const address1Field = config.find(f => f.field === 'address1');\n if (address1Field?.maxLength) {\n const wrapped = wrapAddress1ToAddress2(mapped.address1, mapped.address2, address1Field.maxLength);\n mapped.address1 = wrapped.address1;\n mapped.address2 = wrapped.address2;\n }\n }\n\n const updatedFormData = {\n ...stripGeocode(formData),\n ...mapped,\n email: formData.email,\n latitude: validatedAddress.metadata?.latitude,\n longitude: validatedAddress.metadata?.longitude\n };\n const normalizedFormData = buildTrackedAddress(updatedFormData, 'verified', 'smarty-intl');\n setShowValidationSuggestions(false);\n setValidationTriggerSource(null);\n setFormData(normalizedFormData);\n setMapAddressLines(nextMapAddressLines);\n lastCommittedAddressRef.current = normalizedFormData;\n lookupDraftOriginalRef.current = normalizedFormData;\n setHasPendingLookupDraft(false);\n const currentVerificationStatus = 'verified';\n setVerificationStatus(currentVerificationStatus);\n autoApplyValidationStartedRef.current = false;\n if (pendingMapOpen) {\n setPendingMapOpen(false);\n setShowMapModal(true);\n }\n mapValidationStartedRef.current = false;\n onSelect?.({\n type: 'validation',\n address: normalizedFormData,\n verification: validatedAddress.analysis,\n status: buildAddressStatus({\n countryCode,\n addressForm: resolvedAddressForm,\n formData: normalizedFormData,\n verificationStatus: currentVerificationStatus,\n mode,\n requireValidation\n })\n });\n };\n\n const handleValidate = () => {\n if (!requireValidation) {\n return;\n }\n clearServiceErrors({ lookup: false, validation: true, custom: false });\n setShowValidationSuggestions(true);\n setValidationTriggerSource('manual');\n setValidationTrigger(prev => prev + 1);\n };\n\n const getFieldKey = (fieldConfig) => fieldConfig.field;\n\n const getSuggestionKey = (suggestion) => (\n suggestion.address_id ||\n [\n suggestion.displayText,\n suggestion.street,\n suggestion.address_text,\n suggestion.locality,\n suggestion.administrative_area,\n suggestion.postal_code,\n suggestion.entries\n ].filter((value) => value !== undefined && value !== null).join('|')\n );\n\n const getValidationSuggestionKey = (suggestion) => [\n suggestion.displayText,\n suggestion.address1,\n suggestion.address2,\n suggestion.address3,\n suggestion.components?.thoroughfare,\n suggestion.components?.premise,\n suggestion.components?.locality,\n suggestion.components?.administrative_area,\n suggestion.components?.postal_code\n ].filter((value) => value !== undefined && value !== null).join('|');\n\n const getIntlValidationSummaryTitle = (suggestion) => {\n const code = suggestion.validationSummary?.code;\n\n switch (code) {\n case 'verified':\n return fieldLabels?.intlVerifiedTitle || suggestion.validationSummary?.title || 'Verified';\n case 'verified-sub-building-changed':\n return fieldLabels?.intlVerifiedSubBuildingChangedTitle ||\n suggestion.validationSummary?.title ||\n 'Verified with unit changes';\n case 'partial':\n return fieldLabels?.intlPartialTitle || suggestion.validationSummary?.title || 'Partially verified';\n case 'ambiguous':\n return fieldLabels?.intlAmbiguousTitle || suggestion.validationSummary?.title || 'Multiple matches found';\n case 'not-verified':\n return fieldLabels?.intlNotVerifiedTitle || suggestion.validationSummary?.title || 'Not verified';\n default:\n return suggestion.validationSummary?.title || 'Unknown';\n }\n };\n\n const getIntlValidationSummaryMessage = (suggestion) => {\n const code = suggestion.validationSummary?.code;\n\n switch (code) {\n case 'verified':\n return fieldLabels?.intlVerifiedMessage || suggestion.validationSummary?.message || '';\n case 'verified-sub-building-changed':\n return fieldLabels?.intlVerifiedSubBuildingChangedMessage ||\n suggestion.validationSummary?.message ||\n '';\n case 'partial':\n return fieldLabels?.intlPartialMessage || suggestion.validationSummary?.message || '';\n case 'ambiguous':\n return fieldLabels?.intlAmbiguousMessage || suggestion.validationSummary?.message || '';\n case 'not-verified':\n return fieldLabels?.intlNotVerifiedMessage || suggestion.validationSummary?.message || '';\n default:\n return suggestion.validationSummary?.message || '';\n }\n };\n\n const handleOpenMap = () => {\n if (hasMapCoordinates) {\n setShowMapModal(true);\n return;\n }\n\n if (!canAttemptMap || validationLoading) {\n return;\n }\n\n clearServiceErrors({ lookup: false, validation: true, custom: false });\n mapValidationStartedRef.current = false;\n setPendingMapOpen(true);\n setShowValidationSuggestions(true);\n setValidationTriggerSource('map');\n setValidationTrigger((prev) => prev + 1);\n };\n\n const renderLookupActions = () => (\n <div className=\"ns-address-lookup__actions\">\n {showMapAction && (\n <button\n type=\"button\"\n onClick={handleOpenMap}\n className=\"ns-address-lookup__toggle ns-address-lookup__toggle--icon\"\n title={fieldLabels?.openInMaps}\n aria-label={fieldLabels?.openInMaps}\n >\n <LocationPinIcon className=\"ns-address-lookup__icon\" />\n </button>\n )}\n {!isAutocompleteMode && requireValidation && showManualValidateButton && (\n <NsButton\n type=\"button\"\n onClick={handleValidate}\n disabled={validationLoading || !String(formData[lookupField] || '').trim()}\n variant=\"contained\"\n color=\"primary\"\n size=\"small\"\n >\n {validationLoading ? 'Validating...' : 'Validate Address'}\n </NsButton>\n )}\n <button\n type=\"button\"\n onClick={() => {\n setShowValidationSuggestions(false);\n setShowMapModal(false);\n setPendingMapOpen(false);\n setValidationTriggerSource(null);\n clearServiceErrors({ custom: true });\n setMode(mode === 'autocomplete' ? 'manual' : 'autocomplete');\n }}\n className=\"ns-address-lookup__toggle\"\n >\n {mode === 'autocomplete' ?\n fieldLabels?.switchToManualEntry :\n fieldLabels?.switchToAutocomplete}\n </button>\n </div>\n );\n\n const renderLookupLists = (isLookupField) => {\n const shouldShowValidationResults =\n requireValidation &&\n showValidationSuggestions &&\n (!isAutocompleteMode || ['map', 'initial'].includes(validationTriggerSource));\n const shouldShowNoResults =\n shouldShowValidationResults &&\n !validationLoading &&\n validationSuggestions.length === 0 &&\n !validationServiceError &&\n (validationTriggerSource !== 'map' || mapValidationStartedRef.current);\n\n if (!isLookupField) {\n return null;\n }\n\n if (loading && isAutocompleteMode) {\n return <div className=\"ns-address-lookup__spinner\" />;\n }\n\n if (suggestions.length > 0 && !selectedAddress && isAutocompleteMode) {\n return (\n <ul\n ref={suggestionsListRef}\n className=\"ns-address-lookup__list ns-address-lookup__list--suggestions\">\n {suggestions.map((suggestion, index) => (\n <li\n key={getSuggestionKey(suggestion)}\n className={[\n 'ns-address-lookup__list-item',\n index < suggestions.length - 1 ? 'ns-address-lookup__list-item--divided' : ''\n ].filter(Boolean).join(' ')}\n >\n <button\n type=\"button\"\n onClick={() => handleSelect(suggestion)}\n className=\"ns-address-lookup__list-button\"\n >\n {suggestion.displayText}\n </button>\n </li>\n ))}\n </ul>\n );\n }\n\n if (shouldShowValidationResults && validationSuggestions.length > 0) {\n return (\n <ul className=\"ns-address-lookup__list ns-address-lookup__list--validation-inline\">\n {validationSuggestions.map((suggestion, index) => (\n <li\n key={getValidationSuggestionKey(suggestion)}\n className={[\n 'ns-address-lookup__list-item',\n index < validationSuggestions.length - 1 ? 'ns-address-lookup__list-item--divided' : ''\n ].filter(Boolean).join(' ')}\n >\n <button\n type=\"button\"\n onClick={() => handleValidationSelect(suggestion)}\n className=\"ns-address-lookup__list-button\"\n >\n <div className=\"ns-address-lookup__list-title\">\n {getIntlValidationSummaryTitle(suggestion)}\n </div>\n <div className=\"ns-address-lookup__list-subtitle\">\n {suggestion.displayText}\n </div>\n <div className=\"ns-address-lookup__list-subtitle\">\n {getIntlValidationSummaryMessage(suggestion)}\n </div>\n </button>\n </li>\n ))}\n </ul>\n );\n }\n\n if (shouldShowNoResults) {\n return (\n <div className=\"ns-address-lookup__message\">\n {fieldLabels?.intlNoResults}\n </div>\n );\n }\n\n return null;\n };\n\n useEffect(() => {\n if (\n ['autocomplete', 'map'].includes(validationTriggerSource) &&\n validationSuggestions.length === 1 &&\n autoApplyValidationStartedRef.current\n ) {\n handleValidationSelect(validationSuggestions[0]);\n }\n\n if (\n validationTriggerSource === 'initial' &&\n validationSuggestions.length === 1 &&\n autoApplyValidationStartedRef.current &&\n isAcceptableInitialValidationResult(validationSuggestions[0])\n ) {\n handleValidationSelect(validationSuggestions[0]);\n }\n }, [validationSuggestions, validationTriggerSource]);\n\n const renderField = (fieldConfig) => {\n const isLookupField = fieldConfig.field === lookupField;\n const fieldError = getFieldErrorMessage(fieldConfig.field);\n const isInvalid = hasVisibleFieldError(fieldConfig.field);\n const isReadOnly = (!fieldConfig.editable && !isLookupField) && isAutocompleteMode;\n const inputClassName = [\n 'ns-address-lookup__input',\n isReadOnly ? 'ns-address-lookup__input--readonly' : '',\n isLookupField && loading ? 'ns-address-lookup__input--loading' : ''\n ].filter(Boolean).join(' ');\n\n return (\n <div\n key={getFieldKey(fieldConfig)}\n className=\"ns-address-lookup__field\"\n style={{ width: fieldConfig.width === 'full' ? '100%' : '50%' }}\n >\n {isLookupField && (\n <div className=\"ns-address-lookup__label-row\">\n <label className=\"MuiFormLabel-root MuiFormLabel-colorPrimary css-1ef1ceb-MuiFormLabel-root\">\n {areLabelsLoading ? '' : (fieldLabels?.[fieldConfig.field] || fieldConfig.label)}\n </label>\n {renderLookupActions()}\n </div>\n )}\n <NsInputField\n type=\"text\"\n label={isLookupField || areLabelsLoading ? '' : (fieldLabels?.[fieldConfig.field] || fieldConfig.label)}\n value={formData[fieldConfig.field] || ''}\n aria-invalid={shouldShowFieldError(fieldConfig.field) ? 'true' : undefined}\n fieldState={isInvalid ? 'error' : undefined}\n helperText={fieldError || undefined}\n onBlur={() => handleFieldBlur(fieldConfig.field)}\n onChange={(e) => {\n const filtered = filterAllowedCharacters(e.target.value, fieldConfig.allowedCharacters);\n if (isLookupField && isAutocompleteMode) {\n handleInputChange({ ...e, target: { ...e.target, value: filtered } });\n } else {\n handleEditableFieldChange(fieldConfig.field, filtered);\n }\n }}\n InputProps={{\n readOnly: isReadOnly\n }}\n inputProps={{\n maxLength: fieldConfig.maxLength\n }}\n className={inputClassName}\n />\n {renderLookupLists(isLookupField)}\n </div>\n );\n };\n\n const renderAddressForm = () => {\n const config = resolvedAddressForm?.addressElements;\n\n if (!config?.length) {\n if (isFormLoading) {\n return <div>{fieldLabels?.loadingAddressForm}</div>;\n }\n\n return <div>No form available for this country: {countryCode}</div>;\n }\n\n return (\n <>\n {config.map(renderField)}\n </>\n );\n };\n\n return (\n <div ref={componentRef} className=\"ns-address-lookup__panel\">\n {lookupServiceError && <div className=\"ns-address-lookup__message\">{lookupErrorMessage}</div>}\n {customError && <div className=\"ns-address-lookup__message\">{customError}</div>}\n {requireValidation && validationServiceError && (\n <div className=\"ns-address-lookup__message\">\n {validationErrorMessage}\n </div>\n )}\n\n <div className=\"ns-address-lookup__form\">\n {renderAddressForm()}\n </div>\n {showMapModal && (\n <div\n className=\"ns-address-lookup__modal-backdrop\"\n onClick={() => setShowMapModal(false)}\n >\n <div\n className=\"ns-address-lookup__modal\"\n role=\"dialog\"\n aria-modal=\"true\"\n aria-label={fieldLabels?.addressLocation}\n onClick={(event) => event.stopPropagation()}\n >\n <div className=\"ns-address-lookup__modal-header\">\n <div className=\"ns-address-lookup__modal-title\">\n {fieldLabels?.addressLocation}\n </div>\n <button\n type=\"button\"\n className=\"ns-address-lookup__toggle\"\n aria-label=\"Close\"\n onClick={() => setShowMapModal(false)}\n >\n X\n </button>\n </div>\n <div ref={mapContainerRef} className=\"ns-address-lookup__map\" />\n </div>\n </div>\n )}\n </div>\n );\n};\n\nSmartyIntlResults.propTypes = {\n countryCode: PropTypes.string.isRequired,\n onSelect: PropTypes.func,\n initialAddress: addressPropType,\n requireValidation: PropTypes.bool,\n showManualValidateButton: PropTypes.bool,\n validationRequestId: PropTypes.number,\n language: PropTypes.string,\n strings: labelStringsPropType,\n formDefinition: formDefinitionPropType\n};\n\nexport default SmartyIntlResults;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"SmartyIntlResults.js","names":["_propTypes","_interopRequireDefault","require","_react","_useSmartyInternationalLookup","_useIntlAddressValidation","_useAddressFieldLabels","_useAddressForm","_useInitialAddressVerification","_useAddressMapModal","_addressMapping","_addressWrapper","_addressStatus","_addressVerification","_validators","_componentPropTypes","_LocationPinIcon","_foundationUiComponents","_jsxRuntime","e","__esModule","default","stripGeocode","address","nextAddress","latitude","longitude","FIELD_TEST_IDS","address1","address2","district","region","city","postalCode","FIELD_IDS","getFieldTestId","field","getFieldId","SmartyIntlResults","countryCode","onSelect","initialAddress","requireValidation","showManualValidateButton","validationRequestId","language","strings","formDefinition","deferFormLookup","_formDefinition$addre","_window$google","mode","setMode","useState","query","setQuery","selectedAddress","setSelectedAddress","selectedIntlAddressId","setSelectedIntlAddressId","formData","setFormData","verificationStatus","setVerificationStatus","getIncomingVerificationStatus","customError","setCustomError","validationTrigger","setValidationTrigger","validationTriggerSource","setValidationTriggerSource","showValidationSuggestions","setShowValidationSuggestions","mapAddressLines","setMapAddressLines","hasPendingLookupDraft","setHasPendingLookupDraft","touchedFields","setTouchedFields","showAllRequiredErrors","setShowAllRequiredErrors","lookupServiceError","setLookupServiceError","validationServiceError","setValidationServiceError","shouldSearchRef","useRef","fieldTimerRef","componentRef","suggestionsListRef","lastCommittedAddressRef","lookupDraftOriginalRef","appliedSelectionKeyRef","mapValidationStartedRef","autoApplyValidationStartedRef","useEffect","current","type","status","buildAddressStatus","addressForm","resolvedAddressForm","clearTimeout","isAutocompleteMode","labels","fieldLabels","isLoading","areLabelsLoading","useAddressFieldLabels","shouldLoadAddressForm","loadedAddressForm","isFormLoading","useAddressForm","providedAddressForm","addressElements","length","lookupField","requiredFields","getRequiredFieldsFromAddressForm","hasEmailField","some","hasMapCoordinates","undefined","canUseGoogleMaps","window","Boolean","google","maps","importLibrary","hasLookupValue","String","trim","canAttemptMap","includes","showMapAction","mapInfoLines","filter","join","mapContainerRef","pendingMapOpen","setPendingMapOpen","setShowMapModal","showMapModal","useAddressMapModal","infoLines","openInMapsLabel","openInMaps","suggestions","loading","error","rateLimited","useSmartyInternationalLookup","validationSuggestions","validationLoading","validationError","validationRateLimited","useIntlAddressValidation","lookupValue","lookupErrorMessage","lookupError","validationErrorMessage","rawMessage","kind","source","message","clearServiceErrors","lookup","validation","custom","stripUnusedEmail","email","buildTrackedAddress","withAddressVerification","isAcceptableInitialValidationResult","validatedAddress","_validatedAddress$val","validationSummary","code","useInitialAddressVerification","isDetailed","handleDocumentMouseDown","event","component","contains","target","suggestionsList","document","addEventListener","removeEventListener","selectionKey","address_id","street","locality","postal_code","mapped","buildIntlAutocompleteAddressMapping","updatedFormData","normalizedFormData","currentVerificationStatus","verifyAfterAutocomplete","prev","handleInputChange","value","normalizeAddressFieldValue","isFieldRequired","isFieldBlank","hasInvalidPostalCodeFormat","postalCodeRegex","test","normalizePostalCodeValue","hasInvalidEmailFormat","isValidEmail","shouldShowFieldError","shouldShowValidation","requiredError","handleFieldBlur","getFieldErrorMessage","fieldRequired","invalidPostalCode","invalidEmail","hasVisibleFieldError","handleEditableFieldChange","normalizedValue","requiredFieldsForVerification","nextVerificationStatus","getManualEditVerificationStatus","withManualAddressVerificationEdit","setTimeout","payload","handleSelect","entries","displayText","handleValidationSelect","_validatedAddress$met","_validatedAddress$met2","config","formattedMapped","nextMapAddressLines","buildIntlConfiguredVerificationMapping","preserveBlankConfiguredMappings","wrapAddress1ToAddress2","address1Field","find","f","maxLength","wrapped","metadata","verification","analysis","handleValidate","getFieldKey","fieldConfig","getSuggestionKey","suggestion","address_text","administrative_area","getValidationSuggestionKey","_suggestion$component","_suggestion$component2","_suggestion$component3","_suggestion$component4","_suggestion$component5","address3","components","thoroughfare","premise","getIntlValidationSummaryTitle","_suggestion$validatio","_suggestion$validatio2","_suggestion$validatio3","_suggestion$validatio4","_suggestion$validatio5","_suggestion$validatio6","_suggestion$validatio7","intlVerifiedTitle","title","intlVerifiedSubBuildingChangedTitle","intlPartialTitle","intlAmbiguousTitle","intlNotVerifiedTitle","getIntlValidationSummaryMessage","_suggestion$validatio8","_suggestion$validatio9","_suggestion$validatio0","_suggestion$validatio1","_suggestion$validatio10","_suggestion$validatio11","_suggestion$validatio12","intlVerifiedMessage","intlVerifiedSubBuildingChangedMessage","intlPartialMessage","intlAmbiguousMessage","intlNotVerifiedMessage","handleOpenMap","renderLookupActions","jsxs","className","children","jsx","onClick","NsButton","disabled","variant","color","size","switchToManualEntry","switchToAutocomplete","renderLookupLists","isLookupField","shouldShowValidationResults","shouldShowNoResults","ref","map","index","intlNoResults","renderField","fieldError","isInvalid","isReadOnly","editable","inputClassName","style","width","label","NsInputField","id","fieldState","helperText","onBlur","onChange","filtered","filterAllowedCharacters","allowedCharacters","InputProps","readOnly","inputProps","renderAddressForm","loadingAddressForm","Fragment","role","addressLocation","stopPropagation","propTypes","PropTypes","string","isRequired","func","addressPropType","bool","number","labelStringsPropType","formDefinitionPropType","_default","exports"],"sources":["../../src/components/SmartyIntlResults.jsx"],"sourcesContent":["import PropTypes from 'prop-types';\nimport { useState, useEffect, useRef } from 'react';\nimport useSmartyInternationalLookup from '../hooks/useSmartyInternationalLookup';\nimport useIntlAddressValidation from '../hooks/useIntlAddressValidation';\nimport useAddressFieldLabels from '../hooks/useAddressFieldLabels';\nimport useAddressForm from '../hooks/useAddressForm';\nimport useInitialAddressVerification from '../hooks/useInitialAddressVerification';\nimport useAddressMapModal from '../hooks/useAddressMapModal';\nimport {\n buildIntlAutocompleteAddressMapping,\n buildIntlConfiguredVerificationMapping,\n preserveBlankConfiguredMappings\n} from '../utils/addressMapping';\nimport { wrapAddress1ToAddress2 } from '../utils/addressWrapper';\nimport { buildAddressStatus, getRequiredFieldsFromAddressForm } from '../utils/addressStatus';\nimport {\n getIncomingVerificationStatus,\n getManualEditVerificationStatus,\n withAddressVerification,\n withManualAddressVerificationEdit\n} from '../utils/addressVerification';\nimport { isValidEmail, normalizeAddressFieldValue, normalizePostalCodeValue, filterAllowedCharacters } from '../utils/validators';\nimport { addressPropType, formDefinitionPropType, labelStringsPropType } from '../utils/componentPropTypes';\nimport LocationPinIcon from './LocationPinIcon';\nimport { NsButton, NsInputField } from '@nuskin/foundation-ui-components';\n\nconst stripGeocode = (address = {}) => {\n const nextAddress = { ...address };\n delete nextAddress.latitude;\n delete nextAddress.longitude;\n return nextAddress;\n};\n\nconst FIELD_TEST_IDS = {\n address1: 'qa-address-1',\n address2: 'qa-address-2',\n district: 'qa-address-district',\n region: 'qa-address-region',\n city: 'qa-address-city',\n postalCode: 'qa-address-postal-code'\n};\n\nconst FIELD_IDS = {\n address1: 'address-line-1',\n address2: 'address-line-2',\n district: 'address-district',\n region: 'address-region',\n city: 'address-city',\n postalCode: 'address-postal-code'\n};\n\nconst getFieldTestId = (field) => FIELD_TEST_IDS[field] || `qa-address-${field}`;\nconst getFieldId = (field) => FIELD_IDS[field] || `address-${field}`;\n\nconst SmartyIntlResults = ({\n countryCode,\n onSelect,\n initialAddress = null,\n requireValidation = true,\n showManualValidateButton = false,\n validationRequestId = 0,\n language = 'en',\n strings = null,\n formDefinition = null,\n deferFormLookup = false\n}) => {\n const [mode, setMode] = useState('autocomplete');\n const [query, setQuery] = useState('');\n const [selectedAddress, setSelectedAddress] = useState(null);\n const [selectedIntlAddressId, setSelectedIntlAddressId] = useState(null);\n const [formData, setFormData] = useState(initialAddress || {});\n const [verificationStatus, setVerificationStatus] = useState(getIncomingVerificationStatus(initialAddress));\n const [customError, setCustomError] = useState(null);\n const [validationTrigger, setValidationTrigger] = useState(0);\n const [validationTriggerSource, setValidationTriggerSource] = useState(null);\n const [showValidationSuggestions, setShowValidationSuggestions] = useState(false);\n const [mapAddressLines, setMapAddressLines] = useState([]);\n const [hasPendingLookupDraft, setHasPendingLookupDraft] = useState(false);\n const [touchedFields, setTouchedFields] = useState({});\n const [showAllRequiredErrors, setShowAllRequiredErrors] = useState(false);\n const [lookupServiceError, setLookupServiceError] = useState(null);\n const [validationServiceError, setValidationServiceError] = useState(null);\n const shouldSearchRef = useRef(true);\n const fieldTimerRef = useRef(null);\n const componentRef = useRef(null);\n const suggestionsListRef = useRef(null);\n const lastCommittedAddressRef = useRef(initialAddress || {});\n const lookupDraftOriginalRef = useRef(initialAddress || {});\n const appliedSelectionKeyRef = useRef(null);\n const mapValidationStartedRef = useRef(false);\n const autoApplyValidationStartedRef = useRef(false);\n\n useEffect(() => {\n if (initialAddress) {\n setFormData(initialAddress);\n setVerificationStatus(getIncomingVerificationStatus(initialAddress));\n shouldSearchRef.current = false;\n lastCommittedAddressRef.current = initialAddress;\n lookupDraftOriginalRef.current = initialAddress;\n setTouchedFields({});\n setShowAllRequiredErrors(false);\n setLookupServiceError(null);\n setValidationServiceError(null);\n setMapAddressLines([]);\n }\n }, [initialAddress]);\n\n useEffect(() => {\n if (!validationRequestId) {\n return;\n }\n\n setShowAllRequiredErrors(true);\n onSelect?.({\n type: 'validation-request',\n address: formData,\n status: buildAddressStatus({\n countryCode,\n addressForm: resolvedAddressForm,\n formData,\n verificationStatus,\n mode,\n requireValidation\n })\n });\n }, [validationRequestId]);\n\n useEffect(() => {\n return () => {\n if (fieldTimerRef.current) {\n clearTimeout(fieldTimerRef.current);\n }\n };\n }, []);\n\n const isAutocompleteMode = mode === 'autocomplete';\n const {\n labels: fieldLabels,\n isLoading: areLabelsLoading\n } = useAddressFieldLabels(countryCode, language, strings);\n const shouldLoadAddressForm = !formDefinition && !deferFormLookup;\n const {\n addressForm: loadedAddressForm,\n isLoading: isFormLoading\n } = useAddressForm(countryCode, shouldLoadAddressForm);\n const providedAddressForm = formDefinition?.addressElements?.length ? formDefinition : null;\n const resolvedAddressForm = providedAddressForm || loadedAddressForm;\n const lookupField = resolvedAddressForm?.lookupField || 'address1';\n const requiredFields = getRequiredFieldsFromAddressForm(resolvedAddressForm);\n const hasEmailField = (resolvedAddressForm?.addressElements || []).some((field) => field.field === 'email');\n const hasMapCoordinates = (\n formData?.latitude !== undefined && formData?.longitude !== undefined\n );\n const canUseGoogleMaps = typeof window !== 'undefined' &&\n Boolean(window.google?.maps?.importLibrary);\n const hasLookupValue = Boolean(String(formData?.[lookupField] || '').trim());\n const canAttemptMap = Boolean(\n (!isAutocompleteMode && hasLookupValue) ||\n (isAutocompleteMode && ['autocomplete', 'verified'].includes(verificationStatus) && hasLookupValue)\n );\n const showMapAction = canUseGoogleMaps && (hasMapCoordinates || canAttemptMap);\n const mapInfoLines = (mapAddressLines.length ? mapAddressLines : [\n formData.address1,\n formData.address2,\n formData.district,\n [formData.postalCode, formData.city].filter(Boolean).join(' '),\n formData.region\n ]).filter(Boolean);\n const {\n mapContainerRef,\n pendingMapOpen,\n setPendingMapOpen,\n setShowMapModal,\n showMapModal\n } = useAddressMapModal({\n formData,\n infoLines: mapInfoLines,\n canUseGoogleMaps,\n hasMapCoordinates,\n openInMapsLabel: fieldLabels?.openInMaps\n });\n\n const { suggestions, loading, error, rateLimited } = useSmartyInternationalLookup(\n shouldSearchRef.current && isAutocompleteMode ? query : '',\n countryCode,\n selectedIntlAddressId,\n 500\n );\n\n const {\n suggestions: validationSuggestions,\n loading: validationLoading,\n error: validationError,\n rateLimited: validationRateLimited\n } = useIntlAddressValidation(\n formData,\n countryCode,\n requireValidation ? validationTrigger : 0,\n lookupField\n );\n const lookupValue = formData[lookupField];\n const lookupErrorMessage = lookupServiceError?.rateLimited ?\n (fieldLabels?.rateLimited || 'Too many requests. Please wait a moment and try again.') :\n (fieldLabels?.lookupError || 'We could not look up that address right now.');\n const validationErrorMessage = validationServiceError?.rateLimited ?\n (fieldLabels?.rateLimited || 'Too many requests. Please wait a moment and try again.') :\n (fieldLabels?.validationError || 'We could not validate that address right now.');\n\n useEffect(() => {\n if (!error) {\n setLookupServiceError(null);\n return;\n }\n\n setLookupServiceError({\n rateLimited,\n rawMessage: error\n });\n }, [error, rateLimited]);\n\n useEffect(() => {\n if (!validationError) {\n setValidationServiceError(null);\n return;\n }\n\n setValidationServiceError({\n rateLimited: validationRateLimited,\n rawMessage: validationError\n });\n setPendingMapOpen(false);\n mapValidationStartedRef.current = false;\n }, [validationError, validationRateLimited]);\n\n useEffect(() => {\n if (!lookupServiceError) {\n return;\n }\n\n onSelect?.({\n type: 'lookup-error',\n address: formData,\n status: buildAddressStatus({\n countryCode,\n addressForm: resolvedAddressForm,\n formData,\n verificationStatus,\n mode,\n requireValidation\n }),\n error: {\n kind: lookupServiceError.rateLimited ? 'rate-limited' : 'api',\n source: 'autocomplete',\n message: lookupErrorMessage\n }\n });\n }, [lookupServiceError]);\n\n useEffect(() => {\n if (!validationServiceError) {\n return;\n }\n\n onSelect?.({\n type: 'validation-error',\n address: formData,\n status: buildAddressStatus({\n countryCode,\n addressForm: resolvedAddressForm,\n formData,\n verificationStatus,\n mode,\n requireValidation\n }),\n error: {\n kind: validationServiceError.rateLimited ? 'rate-limited' : 'api',\n source: 'validation',\n message: validationErrorMessage\n }\n });\n }, [validationServiceError]);\n\n const clearServiceErrors = ({ lookup = true, validation = true, custom = false } = {}) => {\n if (lookup) {\n setLookupServiceError(null);\n }\n if (validation) {\n setValidationServiceError(null);\n }\n if (custom) {\n setCustomError(null);\n }\n };\n\n const stripUnusedEmail = (address = {}) => {\n if (hasEmailField) {\n return address;\n }\n\n const nextAddress = { ...address };\n delete nextAddress.email;\n return nextAddress;\n };\n\n const buildTrackedAddress = (address = {}, status = 'unverified', source = null) => (\n stripUnusedEmail(withAddressVerification(address, status, source))\n );\n\n const isAcceptableInitialValidationResult = (validatedAddress) => (\n ['verified', 'verified-sub-building-changed']\n .includes(validatedAddress?.validationSummary?.code)\n );\n\n useInitialAddressVerification({\n initialAddress,\n countryCode,\n lookupField,\n requireValidation,\n resolvedAddressForm,\n setValidationServiceError,\n setCustomError,\n setShowValidationSuggestions,\n setValidationTriggerSource,\n setValidationTrigger\n });\n\n useEffect(() => {\n if (selectedIntlAddressId) {\n if (suggestions.length === 1 && suggestions[0].isDetailed) {\n setSelectedAddress(suggestions[0]);\n setSelectedIntlAddressId(null);\n setQuery('');\n setCustomError(null);\n } else if (suggestions.length === 0 && !loading) {\n setCustomError('Unable to retrieve address details. Please try another address or enter manually.');\n setSelectedIntlAddressId(null);\n setQuery('');\n }\n } else if (suggestions.length > 0 && !suggestions[0].isDetailed && !selectedAddress) {\n setSelectedAddress(null);\n setCustomError(null);\n }\n }, [suggestions, selectedIntlAddressId, selectedAddress, loading]);\n\n useEffect(() => {\n if (lookupValue !== undefined && shouldSearchRef.current && !selectedAddress) {\n setQuery(lookupValue);\n }\n }, [lookupValue, selectedAddress]);\n\n useEffect(() => {\n if (validationTrigger > 0 && ['autocomplete', 'map', 'initial'].includes(validationTriggerSource)) {\n autoApplyValidationStartedRef.current = false;\n }\n }, [validationTrigger, validationTriggerSource]);\n\n useEffect(() => {\n if (validationTriggerSource === 'map' && validationLoading) {\n mapValidationStartedRef.current = true;\n }\n if (validationLoading && ['autocomplete', 'map', 'initial'].includes(validationTriggerSource)) {\n autoApplyValidationStartedRef.current = true;\n }\n }, [validationLoading, validationTriggerSource]);\n\n useEffect(() => {\n if (\n validationTriggerSource === 'map' &&\n mapValidationStartedRef.current &&\n showValidationSuggestions &&\n !validationLoading &&\n validationSuggestions.length === 0\n ) {\n setPendingMapOpen(false);\n mapValidationStartedRef.current = false;\n }\n }, [validationLoading, validationSuggestions, validationTriggerSource, showValidationSuggestions]);\n\n useEffect(() => {\n if (!hasPendingLookupDraft || suggestions.length === 0) {\n return undefined;\n }\n\n const handleDocumentMouseDown = (event) => {\n const component = componentRef.current;\n if (component?.contains(event.target)) {\n return;\n }\n\n const suggestionsList = suggestionsListRef.current;\n if (suggestionsList?.contains(event.target) === false) {\n shouldSearchRef.current = false;\n setQuery('');\n setSelectedAddress(null);\n setSelectedIntlAddressId(null);\n setShowValidationSuggestions(false);\n clearServiceErrors({ custom: true });\n setFormData(lookupDraftOriginalRef.current);\n setHasPendingLookupDraft(false);\n }\n };\n\n document.addEventListener('pointerdown', handleDocumentMouseDown);\n return () => {\n document.removeEventListener('pointerdown', handleDocumentMouseDown);\n };\n }, [hasPendingLookupDraft, suggestions]);\n\n useEffect(() => {\n if (selectedAddress) {\n const selectionKey = selectedAddress.address_id ||\n `${selectedAddress.street || ''}|${selectedAddress.locality || ''}|${selectedAddress.postal_code || ''}`;\n if (appliedSelectionKeyRef.current === selectionKey) {\n return;\n }\n appliedSelectionKeyRef.current = selectionKey;\n\n const mapped = buildIntlAutocompleteAddressMapping(selectedAddress, resolvedAddressForm);\n const updatedFormData = {\n ...stripGeocode(formData),\n ...mapped,\n email: formData.email\n };\n const normalizedFormData = buildTrackedAddress(updatedFormData, 'autocomplete', 'smarty-intl');\n setFormData(normalizedFormData);\n setMapAddressLines([]);\n lastCommittedAddressRef.current = normalizedFormData;\n lookupDraftOriginalRef.current = normalizedFormData;\n setHasPendingLookupDraft(false);\n clearServiceErrors({ custom: true });\n const currentVerificationStatus = 'autocomplete';\n setVerificationStatus(currentVerificationStatus);\n onSelect?.({\n type: 'autocomplete',\n address: normalizedFormData,\n status: buildAddressStatus({\n countryCode,\n addressForm: resolvedAddressForm,\n formData: normalizedFormData,\n verificationStatus: currentVerificationStatus,\n mode,\n requireValidation\n })\n });\n\n if (requireValidation && resolvedAddressForm.verifyAfterAutocomplete) {\n // Trigger validation instead of directly selecting.\n // Keep suggestions visible in case multiple candidates are returned.\n setShowValidationSuggestions(true);\n setValidationTriggerSource('autocomplete');\n setValidationTrigger(prev => prev + 1);\n }\n }\n }, [selectedAddress]);\n\n const handleInputChange = (e) => {\n const value = normalizeAddressFieldValue(lookupField, e.target.value);\n shouldSearchRef.current = true;\n appliedSelectionKeyRef.current = null;\n setSelectedAddress(null);\n setSelectedIntlAddressId(null);\n setShowValidationSuggestions(false);\n setShowMapModal(false);\n setPendingMapOpen(false);\n mapValidationStartedRef.current = false;\n setMapAddressLines([]);\n setValidationTriggerSource(null);\n clearServiceErrors({ custom: true });\n if (!hasPendingLookupDraft) {\n lookupDraftOriginalRef.current = formData;\n setHasPendingLookupDraft(true);\n }\n const updatedFormData = stripUnusedEmail({\n ...stripGeocode(formData),\n [lookupField]: value\n });\n setFormData(buildTrackedAddress(updatedFormData, 'unverified'));\n setVerificationStatus('unverified');\n };\n\n const isFieldRequired = (field) => requiredFields.includes(field);\n const isFieldBlank = (field) => String(formData[field] || '').trim() === '';\n const hasInvalidPostalCodeFormat = (field) => {\n if (field !== 'postalCode') {\n return false;\n }\n const value = String(formData.postalCode || '').trim();\n if (!value || !resolvedAddressForm.postalCodeRegex) {\n return false;\n }\n return !resolvedAddressForm.postalCodeRegex.test(normalizePostalCodeValue(value));\n };\n const hasInvalidEmailFormat = (field) => {\n if (field !== 'email') {\n return false;\n }\n const value = String(formData.email || '').trim();\n if (!value) {\n return false;\n }\n return !isValidEmail(value);\n };\n const shouldShowFieldError = (field) => {\n const shouldShowValidation = Boolean(showAllRequiredErrors || touchedFields[field]);\n if (!shouldShowValidation) {\n return false;\n }\n const requiredError = isFieldRequired(field) && isFieldBlank(field);\n return requiredError || hasInvalidPostalCodeFormat(field) || hasInvalidEmailFormat(field);\n };\n\n const handleFieldBlur = (field) => {\n if (!isFieldRequired(field) && field !== 'email' && field !== 'postalCode') {\n return;\n }\n setTouchedFields((prev) => ({ ...prev, [field]: true }));\n };\n\n const getFieldErrorMessage = (field) => {\n if (!shouldShowFieldError(field)) {\n return '';\n }\n if (isFieldRequired(field) && isFieldBlank(field)) {\n return areLabelsLoading ? '' : fieldLabels?.fieldRequired;\n }\n if (hasInvalidPostalCodeFormat(field)) {\n return areLabelsLoading ? '' : fieldLabels?.invalidPostalCode;\n }\n if (hasInvalidEmailFormat(field)) {\n return areLabelsLoading ? '' : fieldLabels?.invalidEmail;\n }\n return '';\n };\n\n const hasVisibleFieldError = (field) => shouldShowFieldError(field);\n\n const handleEditableFieldChange = (field, value) => {\n const normalizedValue = normalizeAddressFieldValue(field, value);\n if (field === lookupField) {\n setShowValidationSuggestions(false);\n }\n setShowMapModal(false);\n setPendingMapOpen(false);\n mapValidationStartedRef.current = false;\n setMapAddressLines([]);\n clearServiceErrors({ custom: true });\n\n const requiredFieldsForVerification = resolvedAddressForm?.requiredFields || requiredFields;\n const nextVerificationStatus = getManualEditVerificationStatus(\n verificationStatus,\n field,\n lookupField,\n requiredFieldsForVerification\n );\n const updatedFormData = withManualAddressVerificationEdit(\n stripUnusedEmail({\n ...stripGeocode(formData),\n [field]: normalizedValue\n }),\n field,\n nextVerificationStatus\n );\n setFormData(updatedFormData);\n setVerificationStatus(nextVerificationStatus);\n\n if (fieldTimerRef.current) {\n clearTimeout(fieldTimerRef.current);\n }\n\n fieldTimerRef.current = setTimeout(() => {\n const payload = {\n type: 'field-change',\n field,\n value: normalizedValue,\n address: updatedFormData,\n status: buildAddressStatus({\n countryCode,\n addressForm: resolvedAddressForm,\n formData: updatedFormData,\n verificationStatus: nextVerificationStatus,\n mode,\n requireValidation\n })\n };\n\n if (hasEmailField && field === 'email' && value) {\n payload.isValidEmail = isValidEmail(normalizedValue);\n }\n\n onSelect?.(payload);\n }, 500);\n };\n\n const handleSelect = (address) => {\n clearServiceErrors({ lookup: true, validation: false, custom: true });\n if (address.entries > 1 || (address.entries === 1 && address.isDetailed === false)) {\n shouldSearchRef.current = true;\n appliedSelectionKeyRef.current = null;\n setSelectedIntlAddressId(address.address_id);\n setQuery(address.displayText);\n } else {\n shouldSearchRef.current = false;\n appliedSelectionKeyRef.current = null;\n setSelectedIntlAddressId(null);\n setSelectedAddress(address);\n setQuery('');\n }\n };\n\n const handleValidationSelect = (validatedAddress) => {\n clearServiceErrors({ lookup: false, validation: true, custom: false });\n const config = resolvedAddressForm.addressElements || [];\n const {\n mapped: formattedMapped,\n mapAddressLines: nextMapAddressLines\n } = buildIntlConfiguredVerificationMapping(validatedAddress, resolvedAddressForm);\n\n let mapped = preserveBlankConfiguredMappings(\n formattedMapped,\n formData,\n config,\n 'verification'\n );\n\n // Apply address wrapping if enabled\n if (resolvedAddressForm.wrapAddress1ToAddress2) {\n const address1Field = config.find(f => f.field === 'address1');\n if (address1Field?.maxLength) {\n const wrapped = wrapAddress1ToAddress2(mapped.address1, mapped.address2, address1Field.maxLength);\n mapped.address1 = wrapped.address1;\n mapped.address2 = wrapped.address2;\n }\n }\n\n const updatedFormData = {\n ...stripGeocode(formData),\n ...mapped,\n email: formData.email,\n latitude: validatedAddress.metadata?.latitude,\n longitude: validatedAddress.metadata?.longitude\n };\n const normalizedFormData = buildTrackedAddress(updatedFormData, 'verified', 'smarty-intl');\n setShowValidationSuggestions(false);\n setValidationTriggerSource(null);\n setFormData(normalizedFormData);\n setMapAddressLines(nextMapAddressLines);\n lastCommittedAddressRef.current = normalizedFormData;\n lookupDraftOriginalRef.current = normalizedFormData;\n setHasPendingLookupDraft(false);\n const currentVerificationStatus = 'verified';\n setVerificationStatus(currentVerificationStatus);\n autoApplyValidationStartedRef.current = false;\n if (pendingMapOpen) {\n setPendingMapOpen(false);\n setShowMapModal(true);\n }\n mapValidationStartedRef.current = false;\n onSelect?.({\n type: 'validation',\n address: normalizedFormData,\n verification: validatedAddress.analysis,\n status: buildAddressStatus({\n countryCode,\n addressForm: resolvedAddressForm,\n formData: normalizedFormData,\n verificationStatus: currentVerificationStatus,\n mode,\n requireValidation\n })\n });\n };\n\n const handleValidate = () => {\n if (!requireValidation) {\n return;\n }\n clearServiceErrors({ lookup: false, validation: true, custom: false });\n setShowValidationSuggestions(true);\n setValidationTriggerSource('manual');\n setValidationTrigger(prev => prev + 1);\n };\n\n const getFieldKey = (fieldConfig) => fieldConfig.field;\n\n const getSuggestionKey = (suggestion) => (\n suggestion.address_id ||\n [\n suggestion.displayText,\n suggestion.street,\n suggestion.address_text,\n suggestion.locality,\n suggestion.administrative_area,\n suggestion.postal_code,\n suggestion.entries\n ].filter((value) => value !== undefined && value !== null).join('|')\n );\n\n const getValidationSuggestionKey = (suggestion) => [\n suggestion.displayText,\n suggestion.address1,\n suggestion.address2,\n suggestion.address3,\n suggestion.components?.thoroughfare,\n suggestion.components?.premise,\n suggestion.components?.locality,\n suggestion.components?.administrative_area,\n suggestion.components?.postal_code\n ].filter((value) => value !== undefined && value !== null).join('|');\n\n const getIntlValidationSummaryTitle = (suggestion) => {\n const code = suggestion.validationSummary?.code;\n\n switch (code) {\n case 'verified':\n return fieldLabels?.intlVerifiedTitle || suggestion.validationSummary?.title || 'Verified';\n case 'verified-sub-building-changed':\n return fieldLabels?.intlVerifiedSubBuildingChangedTitle ||\n suggestion.validationSummary?.title ||\n 'Verified with unit changes';\n case 'partial':\n return fieldLabels?.intlPartialTitle || suggestion.validationSummary?.title || 'Partially verified';\n case 'ambiguous':\n return fieldLabels?.intlAmbiguousTitle || suggestion.validationSummary?.title || 'Multiple matches found';\n case 'not-verified':\n return fieldLabels?.intlNotVerifiedTitle || suggestion.validationSummary?.title || 'Not verified';\n default:\n return suggestion.validationSummary?.title || 'Unknown';\n }\n };\n\n const getIntlValidationSummaryMessage = (suggestion) => {\n const code = suggestion.validationSummary?.code;\n\n switch (code) {\n case 'verified':\n return fieldLabels?.intlVerifiedMessage || suggestion.validationSummary?.message || '';\n case 'verified-sub-building-changed':\n return fieldLabels?.intlVerifiedSubBuildingChangedMessage ||\n suggestion.validationSummary?.message ||\n '';\n case 'partial':\n return fieldLabels?.intlPartialMessage || suggestion.validationSummary?.message || '';\n case 'ambiguous':\n return fieldLabels?.intlAmbiguousMessage || suggestion.validationSummary?.message || '';\n case 'not-verified':\n return fieldLabels?.intlNotVerifiedMessage || suggestion.validationSummary?.message || '';\n default:\n return suggestion.validationSummary?.message || '';\n }\n };\n\n const handleOpenMap = () => {\n if (hasMapCoordinates) {\n setShowMapModal(true);\n return;\n }\n\n if (!canAttemptMap || validationLoading) {\n return;\n }\n\n clearServiceErrors({ lookup: false, validation: true, custom: false });\n mapValidationStartedRef.current = false;\n setPendingMapOpen(true);\n setShowValidationSuggestions(true);\n setValidationTriggerSource('map');\n setValidationTrigger((prev) => prev + 1);\n };\n\n const renderLookupActions = () => (\n <div className=\"ns-address-lookup__actions\">\n {showMapAction && (\n <button\n type=\"button\"\n onClick={handleOpenMap}\n className=\"ns-address-lookup__toggle ns-address-lookup__toggle--icon\"\n title={fieldLabels?.openInMaps}\n aria-label={fieldLabels?.openInMaps}\n >\n <LocationPinIcon className=\"ns-address-lookup__icon\" />\n </button>\n )}\n {!isAutocompleteMode && requireValidation && showManualValidateButton && (\n <NsButton\n type=\"button\"\n onClick={handleValidate}\n disabled={validationLoading || !String(formData[lookupField] || '').trim()}\n variant=\"contained\"\n color=\"primary\"\n size=\"small\"\n >\n {validationLoading ? 'Validating...' : 'Validate Address'}\n </NsButton>\n )}\n <button\n type=\"button\"\n onClick={() => {\n setShowValidationSuggestions(false);\n setShowMapModal(false);\n setPendingMapOpen(false);\n setValidationTriggerSource(null);\n clearServiceErrors({ custom: true });\n setMode(mode === 'autocomplete' ? 'manual' : 'autocomplete');\n }}\n className=\"ns-address-lookup__toggle\"\n >\n {mode === 'autocomplete' ?\n fieldLabels?.switchToManualEntry :\n fieldLabels?.switchToAutocomplete}\n </button>\n </div>\n );\n\n const renderLookupLists = (isLookupField) => {\n const shouldShowValidationResults =\n requireValidation &&\n showValidationSuggestions &&\n (!isAutocompleteMode || ['map', 'initial'].includes(validationTriggerSource));\n const shouldShowNoResults =\n shouldShowValidationResults &&\n !validationLoading &&\n validationSuggestions.length === 0 &&\n !validationServiceError &&\n (validationTriggerSource !== 'map' || mapValidationStartedRef.current);\n\n if (!isLookupField) {\n return null;\n }\n\n if (loading && isAutocompleteMode) {\n return <div className=\"ns-address-lookup__spinner\" />;\n }\n\n if (suggestions.length > 0 && !selectedAddress && isAutocompleteMode) {\n return (\n <ul\n ref={suggestionsListRef}\n className=\"ns-address-lookup__list ns-address-lookup__list--suggestions\">\n {suggestions.map((suggestion, index) => (\n <li\n key={getSuggestionKey(suggestion)}\n className={[\n 'ns-address-lookup__list-item',\n index < suggestions.length - 1 ? 'ns-address-lookup__list-item--divided' : ''\n ].filter(Boolean).join(' ')}\n >\n <button\n type=\"button\"\n onClick={() => handleSelect(suggestion)}\n className=\"ns-address-lookup__list-button\"\n >\n {suggestion.displayText}\n </button>\n </li>\n ))}\n </ul>\n );\n }\n\n if (shouldShowValidationResults && validationSuggestions.length > 0) {\n return (\n <ul className=\"ns-address-lookup__list ns-address-lookup__list--validation-inline\">\n {validationSuggestions.map((suggestion, index) => (\n <li\n key={getValidationSuggestionKey(suggestion)}\n className={[\n 'ns-address-lookup__list-item',\n index < validationSuggestions.length - 1 ? 'ns-address-lookup__list-item--divided' : ''\n ].filter(Boolean).join(' ')}\n >\n <button\n type=\"button\"\n onClick={() => handleValidationSelect(suggestion)}\n className=\"ns-address-lookup__list-button\"\n >\n <div className=\"ns-address-lookup__list-title\">\n {getIntlValidationSummaryTitle(suggestion)}\n </div>\n <div className=\"ns-address-lookup__list-subtitle\">\n {suggestion.displayText}\n </div>\n <div className=\"ns-address-lookup__list-subtitle\">\n {getIntlValidationSummaryMessage(suggestion)}\n </div>\n </button>\n </li>\n ))}\n </ul>\n );\n }\n\n if (shouldShowNoResults) {\n return (\n <div className=\"ns-address-lookup__message\">\n {fieldLabels?.intlNoResults}\n </div>\n );\n }\n\n return null;\n };\n\n useEffect(() => {\n if (\n ['autocomplete', 'map'].includes(validationTriggerSource) &&\n validationSuggestions.length === 1 &&\n autoApplyValidationStartedRef.current\n ) {\n handleValidationSelect(validationSuggestions[0]);\n }\n\n if (\n validationTriggerSource === 'initial' &&\n validationSuggestions.length === 1 &&\n autoApplyValidationStartedRef.current &&\n isAcceptableInitialValidationResult(validationSuggestions[0])\n ) {\n handleValidationSelect(validationSuggestions[0]);\n }\n }, [validationSuggestions, validationTriggerSource]);\n\n const renderField = (fieldConfig) => {\n const isLookupField = fieldConfig.field === lookupField;\n const fieldError = getFieldErrorMessage(fieldConfig.field);\n const isInvalid = hasVisibleFieldError(fieldConfig.field);\n const isReadOnly = (!fieldConfig.editable && !isLookupField) && isAutocompleteMode;\n const inputClassName = [\n 'ns-address-lookup__input',\n isReadOnly ? 'ns-address-lookup__input--readonly' : '',\n isLookupField && loading ? 'ns-address-lookup__input--loading' : ''\n ].filter(Boolean).join(' ');\n\n return (\n <div\n key={getFieldKey(fieldConfig)}\n className=\"ns-address-lookup__field\"\n style={{ width: fieldConfig.width === 'full' ? '100%' : '50%' }}\n >\n {isLookupField && (\n <div className=\"ns-address-lookup__label-row\">\n <label className=\"MuiFormLabel-root MuiFormLabel-colorPrimary css-1ef1ceb-MuiFormLabel-root\">\n {areLabelsLoading ? '' : (fieldLabels?.[fieldConfig.field] || fieldConfig.label)}\n </label>\n {renderLookupActions()}\n </div>\n )}\n <NsInputField\n id={getFieldId(fieldConfig.field)}\n type=\"text\"\n label={isLookupField || areLabelsLoading ? '' : (fieldLabels?.[fieldConfig.field] || fieldConfig.label)}\n value={formData[fieldConfig.field] || ''}\n aria-invalid={shouldShowFieldError(fieldConfig.field) ? 'true' : undefined}\n fieldState={isInvalid ? 'error' : undefined}\n helperText={fieldError || undefined}\n onBlur={() => handleFieldBlur(fieldConfig.field)}\n onChange={(e) => {\n const filtered = filterAllowedCharacters(e.target.value, fieldConfig.allowedCharacters);\n if (isLookupField && isAutocompleteMode) {\n handleInputChange({ ...e, target: { ...e.target, value: filtered } });\n } else {\n handleEditableFieldChange(fieldConfig.field, filtered);\n }\n }}\n InputProps={{\n readOnly: isReadOnly\n }}\n inputProps={{\n maxLength: fieldConfig.maxLength,\n 'data-testid': getFieldTestId(fieldConfig.field)\n }}\n className={inputClassName}\n />\n {renderLookupLists(isLookupField)}\n </div>\n );\n };\n\n const renderAddressForm = () => {\n const config = resolvedAddressForm?.addressElements;\n\n if (!config?.length) {\n if (isFormLoading) {\n return <div>{fieldLabels?.loadingAddressForm}</div>;\n }\n\n return <div>No form available for this country: {countryCode}</div>;\n }\n\n return (\n <>\n {config.map(renderField)}\n </>\n );\n };\n\n return (\n <div ref={componentRef} className=\"ns-address-lookup__panel\">\n {lookupServiceError && <div className=\"ns-address-lookup__message\">{lookupErrorMessage}</div>}\n {customError && <div className=\"ns-address-lookup__message\">{customError}</div>}\n {requireValidation && validationServiceError && (\n <div className=\"ns-address-lookup__message\">\n {validationErrorMessage}\n </div>\n )}\n\n <div className=\"ns-address-lookup__form\">\n {renderAddressForm()}\n </div>\n {showMapModal && (\n <div\n className=\"ns-address-lookup__modal-backdrop\"\n onClick={() => setShowMapModal(false)}\n >\n <div\n className=\"ns-address-lookup__modal\"\n role=\"dialog\"\n aria-modal=\"true\"\n aria-label={fieldLabels?.addressLocation}\n onClick={(event) => event.stopPropagation()}\n >\n <div className=\"ns-address-lookup__modal-header\">\n <div className=\"ns-address-lookup__modal-title\">\n {fieldLabels?.addressLocation}\n </div>\n <button\n type=\"button\"\n className=\"ns-address-lookup__toggle\"\n aria-label=\"Close\"\n onClick={() => setShowMapModal(false)}\n >\n X\n </button>\n </div>\n <div ref={mapContainerRef} className=\"ns-address-lookup__map\" />\n </div>\n </div>\n )}\n </div>\n );\n};\n\nSmartyIntlResults.propTypes = {\n countryCode: PropTypes.string.isRequired,\n onSelect: PropTypes.func,\n initialAddress: addressPropType,\n requireValidation: PropTypes.bool,\n showManualValidateButton: PropTypes.bool,\n validationRequestId: PropTypes.number,\n language: PropTypes.string,\n strings: labelStringsPropType,\n formDefinition: formDefinitionPropType,\n deferFormLookup: PropTypes.bool\n};\n\nexport default SmartyIntlResults;\n"],"mappings":"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","ignoreList":[]}
@@ -30,6 +30,24 @@ const stripGeocode = (address = {}) => {
30
30
  delete nextAddress.longitude;
31
31
  return nextAddress;
32
32
  };
33
+ const FIELD_TEST_IDS = {
34
+ address1: 'qa-address-1',
35
+ address2: 'qa-address-2',
36
+ district: 'qa-address-district',
37
+ region: 'qa-address-region',
38
+ city: 'qa-address-city',
39
+ postalCode: 'qa-address-postal-code'
40
+ };
41
+ const FIELD_IDS = {
42
+ address1: 'address-line-1',
43
+ address2: 'address-line-2',
44
+ district: 'address-district',
45
+ region: 'address-region',
46
+ city: 'address-city',
47
+ postalCode: 'address-postal-code'
48
+ };
49
+ const getFieldTestId = field => FIELD_TEST_IDS[field] || `qa-address-${field}`;
50
+ const getFieldId = field => FIELD_IDS[field] || `address-${field}`;
33
51
  const SmartyUSResults = ({
34
52
  onSelect,
35
53
  initialAddress = null,
@@ -38,7 +56,8 @@ const SmartyUSResults = ({
38
56
  validationRequestId = 0,
39
57
  language = 'en',
40
58
  strings = null,
41
- formDefinition = null
59
+ formDefinition = null,
60
+ deferFormLookup = false
42
61
  }) => {
43
62
  var _formDefinition$addre, _window$google;
44
63
  const [mode, setMode] = (0, _react.useState)('autocomplete');
@@ -109,7 +128,7 @@ const SmartyUSResults = ({
109
128
  labels: fieldLabels,
110
129
  isLoading: areLabelsLoading
111
130
  } = (0, _useAddressFieldLabels.default)('US', language, strings);
112
- const shouldLoadAddressForm = !formDefinition;
131
+ const shouldLoadAddressForm = !formDefinition && !deferFormLookup;
113
132
  const {
114
133
  addressForm: loadedAddressForm,
115
134
  isLoading: isFormLoading
@@ -762,6 +781,7 @@ const SmartyUSResults = ({
762
781
  children: areLabelsLoading ? '' : (fieldLabels === null || fieldLabels === void 0 ? void 0 : fieldLabels[fieldConfig.field]) || fieldConfig.label
763
782
  }), isLookupField && renderLookupActions()]
764
783
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_foundationUiComponents.NsInputField, {
784
+ id: getFieldId(fieldConfig.field),
765
785
  type: "text",
766
786
  label: isLookupField || areLabelsLoading ? '' : (fieldLabels === null || fieldLabels === void 0 ? void 0 : fieldLabels[fieldConfig.field]) || fieldConfig.label,
767
787
  value: formData[fieldConfig.field] || '',
@@ -787,7 +807,8 @@ const SmartyUSResults = ({
787
807
  readOnly: isReadOnly
788
808
  },
789
809
  inputProps: {
790
- maxLength: fieldConfig.maxLength
810
+ maxLength: fieldConfig.maxLength,
811
+ 'data-testid': getFieldTestId(fieldConfig.field)
791
812
  },
792
813
  className: inputClassName
793
814
  }), renderLookupLists(isLookupField)]
@@ -858,7 +879,8 @@ SmartyUSResults.propTypes = {
858
879
  validationRequestId: _propTypes.default.number,
859
880
  language: _propTypes.default.string,
860
881
  strings: _componentPropTypes.labelStringsPropType,
861
- formDefinition: _componentPropTypes.formDefinitionPropType
882
+ formDefinition: _componentPropTypes.formDefinitionPropType,
883
+ deferFormLookup: _propTypes.default.bool
862
884
  };
863
885
  var _default = exports.default = SmartyUSResults;
864
886
  //# sourceMappingURL=SmartyUSResults.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SmartyUSResults.js","names":["_propTypes","_interopRequireDefault","require","_react","_useSmartyUSLookup","_useUSAddressValidation","_useAddressFieldLabels","_useAddressForm","_useInitialAddressVerification","_useAddressMapModal","_addressMapping","_addressWrapper","_addressStatus","_addressVerification","_validators","_componentPropTypes","_LocationPinIcon","_foundationUiComponents","_jsxRuntime","e","__esModule","default","stripGeocode","address","nextAddress","latitude","longitude","SmartyUSResults","onSelect","initialAddress","requireValidation","showManualValidateButton","validationRequestId","language","strings","formDefinition","_formDefinition$addre","_window$google","mode","setMode","useState","query","setQuery","selectedAddress","setSelectedAddress","selectedUSAddress","setSelectedUSAddress","formData","setFormData","verificationStatus","setVerificationStatus","getIncomingVerificationStatus","validationTrigger","setValidationTrigger","validationTriggerSource","setValidationTriggerSource","showValidationSuggestions","setShowValidationSuggestions","mapAddressLines","setMapAddressLines","hasPendingLookupDraft","setHasPendingLookupDraft","touchedFields","setTouchedFields","showAllRequiredErrors","setShowAllRequiredErrors","lookupServiceError","setLookupServiceError","validationServiceError","setValidationServiceError","shouldSearchRef","useRef","fieldTimerRef","componentRef","suggestionsListRef","lastCommittedAddressRef","lookupDraftOriginalRef","appliedSelectionKeyRef","mapValidationStartedRef","autoApplyValidationStartedRef","useEffect","current","type","status","buildAddressStatus","countryCode","addressForm","resolvedAddressForm","clearTimeout","isAutocompleteMode","labels","fieldLabels","isLoading","areLabelsLoading","useAddressFieldLabels","shouldLoadAddressForm","loadedAddressForm","isFormLoading","useAddressForm","providedAddressForm","addressElements","length","lookupField","requiredFields","getRequiredFieldsFromAddressForm","hasEmailField","some","field","hasMapCoordinates","undefined","canUseGoogleMaps","window","Boolean","google","maps","importLibrary","hasLookupValue","String","trim","canAttemptMap","includes","showMapAction","mapInfoLines","address1","address2","city","region","postalCode","filter","join","mapContainerRef","pendingMapOpen","setPendingMapOpen","setShowMapModal","showMapModal","useAddressMapModal","infoLines","openInMapsLabel","openInMaps","suggestions","loading","error","rateLimited","useSmartyUSLookup","validationSuggestions","validationLoading","validationError","validationRateLimited","useUSAddressValidation","lookupValue","lookupErrorMessage","lookupError","validationErrorMessage","rawMessage","kind","source","message","clearServiceErrors","lookup","validation","stripUnusedEmail","email","buildTrackedAddress","withAddressVerification","isAcceptableInitialValidationResult","validatedAddress","isDeliverable","getBestInitialValidationResult","find","useInitialAddressVerification","handleDocumentMouseDown","event","component","contains","target","suggestionsList","document","addEventListener","removeEventListener","selectionKey","street_line","secondary","zipcode","JSON","stringify","config","mapped","state","wrapAddress1ToAddress2","address1Field","f","maxLength","wrapped","updatedFormData","normalizedFormData","currentVerificationStatus","handleInputChange","value","normalizeAddressFieldValue","updatedLookupData","isFieldRequired","isFieldBlank","hasInvalidPostalCodeFormat","postalCodeRegex","test","normalizePostalCodeValue","hasInvalidEmailFormat","isValidEmail","shouldShowFieldError","shouldShowValidation","requiredError","handleFieldBlur","prev","getFieldErrorMessage","fieldRequired","invalidPostalCode","invalidEmail","hasVisibleFieldError","handleEditableFieldChange","normalizedValue","requiredFieldsForVerification","nextVerificationStatus","getManualEditVerificationStatus","withManualAddressVerificationEdit","setTimeout","payload","handleSelect","entries","baseAddress","handleValidationSelect","_validatedAddress$met","_validatedAddress$met2","verifiedMapped","nextMapAddressLines","buildUSVerifiedAddressMapping","metadata","verification","analysis","handleValidate","handleOpenMap","getFieldKey","fieldConfig","getSuggestionKey","suggestion","getValidationSuggestionKey","delivery_line_1","delivery_line_2","last_line","dpvMatchCode","getValidationSummaryTitle","_suggestion$validatio","_suggestion$validatio2","_suggestion$validatio3","_suggestion$validatio4","_suggestion$validatio5","_suggestion$validatio6","_suggestion$validatio7","_suggestion$validatio8","_suggestion$validatio9","code","validationSummary","usVerified","title","usMissingSecondaryTitle","usInvalidSecondaryRequiredTitle","usInvalidSecondaryOptionalTitle","usVacantTitle","usNoStatTitle","usNotConfirmedTitle","getValidationSummaryMessage","_suggestion$validatio0","_suggestion$validatio1","_suggestion$validatio10","_suggestion$validatio11","_suggestion$validatio12","_suggestion$validatio13","_suggestion$validatio14","_suggestion$validatio15","_suggestion$validatio16","usMissingSecondaryMessage","usInvalidSecondaryRequiredMessage","usInvalidSecondaryOptionalMessage","usVacantMessage","usNoStatMessage","usNotConfirmedMessage","usVerifiedMessage","renderLookupActions","jsxs","className","children","jsx","onClick","NsButton","disabled","variant","color","size","switchToManualEntry","switchToAutocomplete","renderLookupLists","isLookupField","shouldShowValidationResults","shouldShowNoResults","ref","map","index","displayText","usNoResults","bestSuggestion","renderField","fieldError","isInvalid","isReadOnly","editable","inputClassName","style","width","label","NsInputField","fieldState","helperText","onBlur","onChange","filtered","filterAllowedCharacters","allowedCharacters","InputProps","readOnly","inputProps","renderAddressForm","loadingAddressForm","Fragment","role","addressLocation","stopPropagation","propTypes","PropTypes","func","addressPropType","bool","number","string","labelStringsPropType","formDefinitionPropType","_default","exports"],"sources":["../../src/components/SmartyUSResults.jsx"],"sourcesContent":["import PropTypes from 'prop-types';\nimport { useState, useEffect, useRef } from 'react';\nimport useSmartyUSLookup from '../hooks/useSmartyUSLookup';\nimport useUSAddressValidation from '../hooks/useUSAddressValidation';\nimport useAddressFieldLabels from '../hooks/useAddressFieldLabels';\nimport useAddressForm from '../hooks/useAddressForm';\nimport useInitialAddressVerification from '../hooks/useInitialAddressVerification';\nimport useAddressMapModal from '../hooks/useAddressMapModal';\nimport { buildUSVerifiedAddressMapping } from '../utils/addressMapping';\nimport { wrapAddress1ToAddress2 } from '../utils/addressWrapper';\nimport { buildAddressStatus, getRequiredFieldsFromAddressForm } from '../utils/addressStatus';\nimport {\n getIncomingVerificationStatus,\n getManualEditVerificationStatus,\n withAddressVerification,\n withManualAddressVerificationEdit\n} from '../utils/addressVerification';\nimport { isValidEmail, normalizeAddressFieldValue, normalizePostalCodeValue, filterAllowedCharacters } from '../utils/validators';\nimport { addressPropType, formDefinitionPropType, labelStringsPropType } from '../utils/componentPropTypes';\nimport LocationPinIcon from './LocationPinIcon';\nimport { NsButton, NsInputField } from '@nuskin/foundation-ui-components';\n\nconst stripGeocode = (address = {}) => {\n const nextAddress = { ...address };\n delete nextAddress.latitude;\n delete nextAddress.longitude;\n return nextAddress;\n};\n\nconst SmartyUSResults = ({\n onSelect,\n initialAddress = null,\n requireValidation = true,\n showManualValidateButton = false,\n validationRequestId = 0,\n language = 'en',\n strings = null,\n formDefinition = null\n}) => {\n const [mode, setMode] = useState('autocomplete');\n const [query, setQuery] = useState('');\n const [selectedAddress, setSelectedAddress] = useState(null);\n const [selectedUSAddress, setSelectedUSAddress] = useState(null);\n const [formData, setFormData] = useState(initialAddress || {});\n const [verificationStatus, setVerificationStatus] = useState(getIncomingVerificationStatus(initialAddress));\n const [validationTrigger, setValidationTrigger] = useState(0);\n const [validationTriggerSource, setValidationTriggerSource] = useState(null);\n const [showValidationSuggestions, setShowValidationSuggestions] = useState(false);\n const [mapAddressLines, setMapAddressLines] = useState([]);\n const [hasPendingLookupDraft, setHasPendingLookupDraft] = useState(false);\n const [touchedFields, setTouchedFields] = useState({});\n const [showAllRequiredErrors, setShowAllRequiredErrors] = useState(false);\n const [lookupServiceError, setLookupServiceError] = useState(null);\n const [validationServiceError, setValidationServiceError] = useState(null);\n const shouldSearchRef = useRef(true);\n const fieldTimerRef = useRef(null);\n const componentRef = useRef(null);\n const suggestionsListRef = useRef(null);\n const lastCommittedAddressRef = useRef(initialAddress || {});\n const lookupDraftOriginalRef = useRef(initialAddress || {});\n const appliedSelectionKeyRef = useRef(null);\n const mapValidationStartedRef = useRef(false);\n const autoApplyValidationStartedRef = useRef(false);\n\n useEffect(() => {\n if (initialAddress) {\n setFormData(initialAddress);\n setVerificationStatus(getIncomingVerificationStatus(initialAddress));\n shouldSearchRef.current = false;\n lastCommittedAddressRef.current = initialAddress;\n lookupDraftOriginalRef.current = initialAddress;\n setTouchedFields({});\n setShowAllRequiredErrors(false);\n setLookupServiceError(null);\n setValidationServiceError(null);\n setMapAddressLines([]);\n }\n }, [initialAddress]);\n\n useEffect(() => {\n if (!validationRequestId) {\n return;\n }\n\n setShowAllRequiredErrors(true);\n onSelect?.({\n type: 'validation-request',\n address: formData,\n status: buildAddressStatus({\n countryCode: 'US',\n addressForm: resolvedAddressForm,\n formData,\n verificationStatus,\n mode,\n requireValidation\n })\n });\n }, [validationRequestId]);\n\n useEffect(() => {\n return () => {\n if (fieldTimerRef.current) {\n clearTimeout(fieldTimerRef.current);\n }\n };\n }, []);\n\n const isAutocompleteMode = mode === 'autocomplete';\n const { labels: fieldLabels, isLoading: areLabelsLoading } = useAddressFieldLabels('US', language, strings);\n const shouldLoadAddressForm = !formDefinition;\n const { addressForm: loadedAddressForm, isLoading: isFormLoading } = useAddressForm('US', shouldLoadAddressForm);\n const providedAddressForm = formDefinition?.addressElements?.length ? formDefinition : null;\n const resolvedAddressForm = providedAddressForm || loadedAddressForm;\n const lookupField = resolvedAddressForm?.lookupField || 'address1';\n const requiredFields = getRequiredFieldsFromAddressForm(resolvedAddressForm);\n const hasEmailField = (resolvedAddressForm?.addressElements || []).some((field) => field.field === 'email');\n const hasMapCoordinates = (\n formData?.latitude !== undefined && formData?.longitude !== undefined\n );\n const canUseGoogleMaps = typeof window !== 'undefined' &&\n Boolean(window.google?.maps?.importLibrary);\n const hasLookupValue = Boolean(String(formData?.[lookupField] || '').trim());\n const canAttemptMap = Boolean(\n (!isAutocompleteMode && hasLookupValue) ||\n (isAutocompleteMode && ['autocomplete', 'verified'].includes(verificationStatus) && hasLookupValue)\n );\n const showMapAction = canUseGoogleMaps && (hasMapCoordinates || canAttemptMap);\n const mapInfoLines = (mapAddressLines.length ? mapAddressLines : [\n formData.address1,\n formData.address2,\n [formData.city, formData.region, formData.postalCode].filter(Boolean).join(' ')\n ]).filter(Boolean);\n const {\n mapContainerRef,\n pendingMapOpen,\n setPendingMapOpen,\n setShowMapModal,\n showMapModal\n } = useAddressMapModal({\n formData,\n infoLines: mapInfoLines,\n canUseGoogleMaps,\n hasMapCoordinates,\n openInMapsLabel: fieldLabels?.openInMaps\n });\n\n const { suggestions, loading, error, rateLimited } = useSmartyUSLookup(\n shouldSearchRef.current && isAutocompleteMode ? query : '',\n selectedUSAddress,\n 500\n );\n const {\n suggestions: validationSuggestions,\n loading: validationLoading,\n error: validationError,\n rateLimited: validationRateLimited\n } = useUSAddressValidation(formData, requireValidation ? validationTrigger : 0);\n const lookupValue = formData[lookupField];\n const lookupErrorMessage = lookupServiceError?.rateLimited ?\n (fieldLabels?.rateLimited || 'Too many requests. Please wait a moment and try again.') :\n (fieldLabels?.lookupError || 'We could not look up that address right now.');\n const validationErrorMessage = validationServiceError?.rateLimited ?\n (fieldLabels?.rateLimited || 'Too many requests. Please wait a moment and try again.') :\n (fieldLabels?.validationError || 'We could not validate that address right now.');\n\n useEffect(() => {\n if (!error) {\n setLookupServiceError(null);\n return;\n }\n\n setLookupServiceError({\n rateLimited,\n rawMessage: error\n });\n }, [error, rateLimited]);\n\n useEffect(() => {\n if (!validationError) {\n setValidationServiceError(null);\n return;\n }\n\n setValidationServiceError({\n rateLimited: validationRateLimited,\n rawMessage: validationError\n });\n setPendingMapOpen(false);\n mapValidationStartedRef.current = false;\n }, [validationError, validationRateLimited]);\n\n useEffect(() => {\n if (!lookupServiceError) {\n return;\n }\n\n onSelect?.({\n type: 'lookup-error',\n address: formData,\n status: buildAddressStatus({\n countryCode: 'US',\n addressForm: resolvedAddressForm,\n formData,\n verificationStatus,\n mode,\n requireValidation\n }),\n error: {\n kind: lookupServiceError.rateLimited ? 'rate-limited' : 'api',\n source: 'autocomplete',\n message: lookupErrorMessage\n }\n });\n }, [lookupServiceError]);\n\n useEffect(() => {\n if (!validationServiceError) {\n return;\n }\n\n onSelect?.({\n type: 'validation-error',\n address: formData,\n status: buildAddressStatus({\n countryCode: 'US',\n addressForm: resolvedAddressForm,\n formData,\n verificationStatus,\n mode,\n requireValidation\n }),\n error: {\n kind: validationServiceError.rateLimited ? 'rate-limited' : 'api',\n source: 'validation',\n message: validationErrorMessage\n }\n });\n }, [validationServiceError]);\n\n const clearServiceErrors = ({ lookup = true, validation = true } = {}) => {\n if (lookup) {\n setLookupServiceError(null);\n }\n if (validation) {\n setValidationServiceError(null);\n }\n };\n\n const stripUnusedEmail = (address = {}) => {\n if (hasEmailField) {\n return address;\n }\n\n const nextAddress = { ...address };\n delete nextAddress.email;\n return nextAddress;\n };\n\n const buildTrackedAddress = (address = {}, status = 'unverified', source = null) => (\n stripUnusedEmail(withAddressVerification(address, status, source))\n );\n\n const isAcceptableInitialValidationResult = (validatedAddress) => (\n Boolean(validatedAddress?.isDeliverable)\n );\n\n const getBestInitialValidationResult = (suggestions = []) => (\n suggestions.find(isAcceptableInitialValidationResult) || null\n );\n\n useInitialAddressVerification({\n initialAddress,\n countryCode: 'US',\n lookupField,\n requireValidation,\n resolvedAddressForm,\n setValidationServiceError,\n setShowValidationSuggestions,\n setValidationTriggerSource,\n setValidationTrigger\n });\n\n useEffect(() => {\n if (validationTrigger > 0 && ['autocomplete', 'map', 'initial'].includes(validationTriggerSource)) {\n autoApplyValidationStartedRef.current = false;\n }\n }, [validationTrigger, validationTriggerSource]);\n\n useEffect(() => {\n if (validationLoading && validationTriggerSource === 'map') {\n mapValidationStartedRef.current = true;\n }\n if (validationLoading && ['autocomplete', 'map', 'initial'].includes(validationTriggerSource)) {\n autoApplyValidationStartedRef.current = true;\n }\n }, [validationLoading, validationTriggerSource]);\n\n useEffect(() => {\n if (\n validationTriggerSource === 'map' &&\n showValidationSuggestions &&\n !validationLoading &&\n validationSuggestions.length === 0 &&\n !validationServiceError &&\n mapValidationStartedRef.current\n ) {\n setPendingMapOpen(false);\n mapValidationStartedRef.current = false;\n }\n }, [validationLoading, validationSuggestions, validationTriggerSource, showValidationSuggestions, validationServiceError]);\n\n useEffect(() => {\n if (lookupValue !== undefined && shouldSearchRef.current && !selectedAddress) {\n setQuery(lookupValue);\n }\n }, [lookupValue, selectedAddress]);\n\n useEffect(() => {\n if (!hasPendingLookupDraft || suggestions.length === 0) {\n return undefined;\n }\n\n const handleDocumentMouseDown = (event) => {\n const component = componentRef.current;\n if (component?.contains(event.target)) {\n return;\n }\n\n const suggestionsList = suggestionsListRef.current;\n if (suggestionsList?.contains(event.target) === false) {\n shouldSearchRef.current = false;\n setQuery('');\n setSelectedAddress(null);\n setSelectedUSAddress(null);\n setShowValidationSuggestions(false);\n setShowMapModal(false);\n setPendingMapOpen(false);\n mapValidationStartedRef.current = false;\n clearServiceErrors();\n setFormData(lookupDraftOriginalRef.current);\n setMapAddressLines([]);\n setHasPendingLookupDraft(false);\n }\n };\n\n document.addEventListener('pointerdown', handleDocumentMouseDown);\n return () => {\n document.removeEventListener('pointerdown', handleDocumentMouseDown);\n };\n }, [hasPendingLookupDraft, suggestions]);\n\n useEffect(() => {\n if (selectedAddress) {\n const selectionKey = selectedAddress.street_line ?\n `${selectedAddress.street_line}|${selectedAddress.secondary || ''}|${selectedAddress.zipcode || ''}` :\n JSON.stringify(selectedAddress);\n if (appliedSelectionKeyRef.current === selectionKey) {\n return;\n }\n appliedSelectionKeyRef.current = selectionKey;\n\n const config = resolvedAddressForm.addressElements || [];\n\n let mapped = {\n address1: selectedAddress.street_line,\n address2: selectedAddress.secondary || '',\n city: selectedAddress.city,\n region: selectedAddress.state,\n postalCode: selectedAddress.zipcode\n };\n\n // Apply address wrapping if enabled\n if (resolvedAddressForm.wrapAddress1ToAddress2) {\n const address1Field = config.find(f => f.field === 'address1');\n if (address1Field?.maxLength) {\n const wrapped = wrapAddress1ToAddress2(mapped.address1, mapped.address2, address1Field.maxLength);\n mapped.address1 = wrapped.address1;\n mapped.address2 = wrapped.address2;\n }\n }\n\n const updatedFormData = {\n ...stripGeocode(formData),\n ...mapped,\n email: formData.email\n };\n const normalizedFormData = buildTrackedAddress(updatedFormData, 'autocomplete', 'smarty-us');\n setFormData(normalizedFormData);\n setMapAddressLines([]);\n lastCommittedAddressRef.current = normalizedFormData;\n lookupDraftOriginalRef.current = normalizedFormData;\n setHasPendingLookupDraft(false);\n clearServiceErrors();\n const currentVerificationStatus = 'autocomplete';\n setVerificationStatus(currentVerificationStatus);\n onSelect?.({\n type: 'autocomplete',\n address: normalizedFormData,\n status: buildAddressStatus({\n countryCode: 'US',\n addressForm: resolvedAddressForm,\n formData: normalizedFormData,\n verificationStatus: currentVerificationStatus,\n mode,\n requireValidation\n })\n });\n }\n }, [selectedAddress]);\n\n const handleInputChange = (e) => {\n const value = normalizeAddressFieldValue(lookupField, e.target.value);\n shouldSearchRef.current = true;\n appliedSelectionKeyRef.current = null;\n setSelectedAddress(null);\n setSelectedUSAddress(null);\n setShowValidationSuggestions(false);\n setShowMapModal(false);\n setPendingMapOpen(false);\n mapValidationStartedRef.current = false;\n setMapAddressLines([]);\n setValidationTriggerSource(null);\n clearServiceErrors();\n if (!hasPendingLookupDraft) {\n lookupDraftOriginalRef.current = formData;\n setHasPendingLookupDraft(true);\n }\n const updatedLookupData = stripUnusedEmail({ ...stripGeocode(formData), [lookupField]: value });\n setFormData(buildTrackedAddress(updatedLookupData, 'unverified'));\n setVerificationStatus('unverified');\n };\n\n const isFieldRequired = (field) => requiredFields.includes(field);\n const isFieldBlank = (field) => String(formData[field] || '').trim() === '';\n const hasInvalidPostalCodeFormat = (field) => {\n if (field !== 'postalCode') {\n return false;\n }\n const value = String(formData.postalCode || '').trim();\n if (!value || !resolvedAddressForm.postalCodeRegex) {\n return false;\n }\n return !resolvedAddressForm.postalCodeRegex.test(normalizePostalCodeValue(value));\n };\n const hasInvalidEmailFormat = (field) => {\n if (field !== 'email') {\n return false;\n }\n const value = String(formData.email || '').trim();\n if (!value) {\n return false;\n }\n return !isValidEmail(value);\n };\n const shouldShowFieldError = (field) => {\n const shouldShowValidation = Boolean(showAllRequiredErrors || touchedFields[field]);\n if (!shouldShowValidation) {\n return false;\n }\n const requiredError = isFieldRequired(field) && isFieldBlank(field);\n return requiredError || hasInvalidPostalCodeFormat(field) || hasInvalidEmailFormat(field);\n };\n\n const handleFieldBlur = (field) => {\n if (!isFieldRequired(field) && field !== 'email' && field !== 'postalCode') {\n return;\n }\n setTouchedFields((prev) => ({ ...prev, [field]: true }));\n };\n\n const getFieldErrorMessage = (field) => {\n if (!shouldShowFieldError(field)) {\n return '';\n }\n if (isFieldRequired(field) && isFieldBlank(field)) {\n return areLabelsLoading ? '' : fieldLabels?.fieldRequired;\n }\n if (hasInvalidPostalCodeFormat(field)) {\n return areLabelsLoading ? '' : fieldLabels?.invalidPostalCode;\n }\n if (hasInvalidEmailFormat(field)) {\n return areLabelsLoading ? '' : fieldLabels?.invalidEmail;\n }\n return '';\n };\n\n const hasVisibleFieldError = (field) => shouldShowFieldError(field);\n\n const handleEditableFieldChange = (field, value) => {\n const normalizedValue = normalizeAddressFieldValue(field, value);\n if (field === lookupField) {\n setShowValidationSuggestions(false);\n }\n clearServiceErrors();\n setShowMapModal(false);\n setPendingMapOpen(false);\n mapValidationStartedRef.current = false;\n setMapAddressLines([]);\n\n const requiredFieldsForVerification = resolvedAddressForm?.requiredFields || requiredFields;\n const nextVerificationStatus = getManualEditVerificationStatus(\n verificationStatus,\n field,\n lookupField,\n requiredFieldsForVerification\n );\n const updatedFormData = withManualAddressVerificationEdit(\n stripUnusedEmail({ ...stripGeocode(formData), [field]: normalizedValue }),\n field,\n nextVerificationStatus\n );\n setFormData(updatedFormData);\n setVerificationStatus(nextVerificationStatus);\n\n if (fieldTimerRef.current) {\n clearTimeout(fieldTimerRef.current);\n }\n\n fieldTimerRef.current = setTimeout(() => {\n const payload = {\n type: 'field-change',\n field,\n value: normalizedValue,\n address: updatedFormData,\n status: buildAddressStatus({\n countryCode: 'US',\n addressForm: resolvedAddressForm,\n formData: updatedFormData,\n verificationStatus: nextVerificationStatus,\n mode,\n requireValidation\n })\n };\n\n if (hasEmailField && field === 'email' && value) {\n payload.isValidEmail = isValidEmail(normalizedValue);\n }\n\n onSelect?.(payload);\n }, 500);\n };\n\n const handleSelect = (address) => {\n clearServiceErrors({ lookup: true, validation: false });\n if (address.entries > 1) {\n shouldSearchRef.current = true;\n appliedSelectionKeyRef.current = null;\n setSelectedUSAddress(address);\n const baseAddress = `${address.street_line} ${address.secondary}`.trim();\n setQuery(baseAddress);\n } else {\n shouldSearchRef.current = false;\n appliedSelectionKeyRef.current = null;\n setSelectedUSAddress(null);\n setSelectedAddress(address);\n setQuery('');\n }\n };\n\n const handleValidationSelect = (validatedAddress) => {\n clearServiceErrors({ lookup: false, validation: true });\n const config = resolvedAddressForm.addressElements || [];\n const {\n mapped: verifiedMapped,\n mapAddressLines: nextMapAddressLines\n } = buildUSVerifiedAddressMapping(validatedAddress);\n\n let mapped = { ...verifiedMapped };\n\n if (resolvedAddressForm.wrapAddress1ToAddress2) {\n const address1Field = config.find(f => f.field === 'address1');\n if (address1Field?.maxLength) {\n const wrapped = wrapAddress1ToAddress2(mapped.address1, mapped.address2, address1Field.maxLength);\n mapped.address1 = wrapped.address1;\n mapped.address2 = wrapped.address2;\n }\n }\n\n const updatedFormData = {\n ...stripGeocode(formData),\n ...mapped,\n email: formData.email,\n latitude: validatedAddress.metadata?.latitude,\n longitude: validatedAddress.metadata?.longitude\n };\n const normalizedFormData = buildTrackedAddress(updatedFormData, 'verified', 'smarty-us');\n setShowValidationSuggestions(false);\n setValidationTriggerSource(null);\n setMapAddressLines(nextMapAddressLines);\n setFormData(normalizedFormData);\n lastCommittedAddressRef.current = normalizedFormData;\n lookupDraftOriginalRef.current = normalizedFormData;\n setHasPendingLookupDraft(false);\n const currentVerificationStatus = 'verified';\n setVerificationStatus(currentVerificationStatus);\n autoApplyValidationStartedRef.current = false;\n\n if (pendingMapOpen) {\n setPendingMapOpen(false);\n mapValidationStartedRef.current = false;\n setShowMapModal(true);\n }\n\n onSelect?.({\n type: 'validation',\n address: normalizedFormData,\n verification: validatedAddress.analysis,\n isDeliverable: validatedAddress.isDeliverable,\n status: buildAddressStatus({\n countryCode: 'US',\n addressForm: resolvedAddressForm,\n formData: normalizedFormData,\n verificationStatus: currentVerificationStatus,\n mode,\n requireValidation\n })\n });\n };\n\n const handleValidate = () => {\n if (!requireValidation) {\n return;\n }\n clearServiceErrors({ lookup: false, validation: true });\n setShowValidationSuggestions(true);\n setValidationTriggerSource('manual');\n setValidationTrigger(prev => prev + 1);\n };\n\n const handleOpenMap = () => {\n if (hasMapCoordinates) {\n setShowMapModal(true);\n return;\n }\n\n if (!canAttemptMap || validationLoading) {\n return;\n }\n\n clearServiceErrors({ lookup: false, validation: true });\n mapValidationStartedRef.current = false;\n setPendingMapOpen(true);\n setShowValidationSuggestions(true);\n setValidationTriggerSource('map');\n setValidationTrigger((prev) => prev + 1);\n };\n\n const getFieldKey = (fieldConfig) => fieldConfig.field;\n\n const getSuggestionKey = (suggestion) => [\n suggestion.street_line,\n suggestion.secondary,\n suggestion.city,\n suggestion.state,\n suggestion.zipcode,\n suggestion.entries\n ].filter((value) => value !== undefined && value !== null).join('|');\n\n const getValidationSuggestionKey = (suggestion) => [\n suggestion.delivery_line_1,\n suggestion.delivery_line_2,\n suggestion.last_line,\n suggestion.dpvMatchCode\n ].filter((value) => value !== undefined && value !== null).join('|');\n\n const getValidationSummaryTitle = (suggestion) => {\n const code = suggestion.validationSummary?.code;\n\n switch (code) {\n case 'verified':\n return fieldLabels?.usVerified || suggestion.validationSummary?.title || 'Verified';\n case 'missing-secondary':\n return fieldLabels?.usMissingSecondaryTitle || suggestion.validationSummary?.title || 'Apartment or suite needed';\n case 'invalid-secondary-required':\n return fieldLabels?.usInvalidSecondaryRequiredTitle || suggestion.validationSummary?.title || 'Apartment or suite not recognized';\n case 'invalid-secondary-optional':\n return fieldLabels?.usInvalidSecondaryOptionalTitle || suggestion.validationSummary?.title || 'Unit not recognized';\n case 'vacant':\n return fieldLabels?.usVacantTitle || suggestion.validationSummary?.title || 'Verified, but marked vacant';\n case 'no-stat':\n return fieldLabels?.usNoStatTitle || suggestion.validationSummary?.title || 'Verified with caution';\n case 'not-confirmed':\n return fieldLabels?.usNotConfirmedTitle || suggestion.validationSummary?.title || 'Not verified';\n default:\n return suggestion.validationSummary?.title || 'Candidate';\n }\n };\n\n const getValidationSummaryMessage = (suggestion) => {\n const code = suggestion.validationSummary?.code;\n\n switch (code) {\n case 'missing-secondary':\n return fieldLabels?.usMissingSecondaryMessage || suggestion.validationSummary?.message || '';\n case 'invalid-secondary-required':\n return fieldLabels?.usInvalidSecondaryRequiredMessage || suggestion.validationSummary?.message || '';\n case 'invalid-secondary-optional':\n return fieldLabels?.usInvalidSecondaryOptionalMessage || suggestion.validationSummary?.message || '';\n case 'vacant':\n return fieldLabels?.usVacantMessage || suggestion.validationSummary?.message || '';\n case 'no-stat':\n return fieldLabels?.usNoStatMessage || suggestion.validationSummary?.message || '';\n case 'not-confirmed':\n return fieldLabels?.usNotConfirmedMessage || suggestion.validationSummary?.message || '';\n case 'verified':\n return fieldLabels?.usVerifiedMessage || suggestion.validationSummary?.message || '';\n default:\n return suggestion.validationSummary?.message || '';\n }\n };\n\n const renderLookupActions = () => (\n <div className=\"ns-address-lookup__actions\">\n {showMapAction && (\n <button\n type=\"button\"\n onClick={handleOpenMap}\n className=\"ns-address-lookup__toggle ns-address-lookup__toggle--icon\"\n title={fieldLabels?.openInMaps}\n aria-label={fieldLabels?.openInMaps}\n >\n <LocationPinIcon className=\"ns-address-lookup__icon\" />\n </button>\n )}\n {!isAutocompleteMode && requireValidation && showManualValidateButton && (\n <NsButton\n type=\"button\"\n onClick={handleValidate}\n disabled={validationLoading || !String(formData[lookupField] || '').trim()}\n variant=\"contained\"\n color=\"primary\"\n size=\"small\"\n >\n {validationLoading ? 'Validating...' : 'Validate Address'}\n </NsButton>\n )}\n <button\n type=\"button\"\n onClick={() => {\n setShowValidationSuggestions(false);\n setShowMapModal(false);\n setPendingMapOpen(false);\n mapValidationStartedRef.current = false;\n setValidationTriggerSource(null);\n clearServiceErrors();\n setMode(mode === 'autocomplete' ? 'manual' : 'autocomplete');\n }}\n className=\"ns-address-lookup__toggle\"\n >\n {mode === 'autocomplete' ?\n fieldLabels?.switchToManualEntry :\n fieldLabels?.switchToAutocomplete}\n </button>\n </div>\n );\n\n const renderLookupLists = (isLookupField) => {\n const shouldShowValidationResults =\n requireValidation &&\n showValidationSuggestions &&\n (!isAutocompleteMode || validationTriggerSource === 'map');\n const shouldShowNoResults =\n shouldShowValidationResults &&\n !validationLoading &&\n validationSuggestions.length === 0 &&\n !validationServiceError &&\n (validationTriggerSource !== 'map' || mapValidationStartedRef.current);\n\n if (!isLookupField) {\n return null;\n }\n\n if (loading && isAutocompleteMode) {\n return <div className=\"ns-address-lookup__spinner\" />;\n }\n\n if (suggestions.length > 0 && !selectedAddress && isAutocompleteMode) {\n return (\n <ul\n ref={suggestionsListRef}\n className=\"ns-address-lookup__list ns-address-lookup__list--suggestions\">\n {suggestions.map((suggestion, index) => (\n <li\n key={getSuggestionKey(suggestion)}\n className={[\n 'ns-address-lookup__list-item',\n index < suggestions.length - 1 ? 'ns-address-lookup__list-item--divided' : ''\n ].filter(Boolean).join(' ')}\n >\n <button\n type=\"button\"\n onClick={() => handleSelect(suggestion)}\n className=\"ns-address-lookup__list-button\"\n >\n {suggestion.displayText}\n </button>\n </li>\n ))}\n </ul>\n );\n }\n\n if (shouldShowValidationResults && validationSuggestions.length > 0) {\n return (\n <ul className=\"ns-address-lookup__list ns-address-lookup__list--validation-inline\">\n {validationSuggestions.map((suggestion, index) => (\n <li\n key={getValidationSuggestionKey(suggestion)}\n className={[\n 'ns-address-lookup__list-item',\n index < validationSuggestions.length - 1 ? 'ns-address-lookup__list-item--divided' : ''\n ].filter(Boolean).join(' ')}\n >\n <button\n type=\"button\"\n onClick={() => handleValidationSelect(suggestion)}\n className=\"ns-address-lookup__list-button\"\n >\n <div className=\"ns-address-lookup__list-title\">\n {getValidationSummaryTitle(suggestion)}\n </div>\n <div className=\"ns-address-lookup__list-subtitle\">\n {suggestion.displayText}\n </div>\n <div className=\"ns-address-lookup__list-subtitle\">\n {getValidationSummaryMessage(suggestion)}\n </div>\n </button>\n </li>\n ))}\n </ul>\n );\n }\n\n if (shouldShowNoResults) {\n return (\n <div className=\"ns-address-lookup__message\">\n {fieldLabels?.usNoResults}\n </div>\n );\n }\n\n return null;\n };\n\n useEffect(() => {\n if (\n ['autocomplete', 'map'].includes(validationTriggerSource) &&\n validationSuggestions.length === 1 &&\n autoApplyValidationStartedRef.current\n ) {\n handleValidationSelect(validationSuggestions[0]);\n }\n\n if (\n validationTriggerSource === 'initial' &&\n autoApplyValidationStartedRef.current &&\n !validationLoading\n ) {\n const bestSuggestion = getBestInitialValidationResult(validationSuggestions);\n\n if (bestSuggestion) {\n handleValidationSelect(bestSuggestion);\n return;\n }\n\n autoApplyValidationStartedRef.current = false;\n setShowValidationSuggestions(false);\n setValidationTriggerSource(null);\n }\n }, [validationLoading, validationSuggestions, validationTriggerSource]);\n\n const renderField = (fieldConfig) => {\n const isLookupField = fieldConfig.field === lookupField;\n const fieldError = getFieldErrorMessage(fieldConfig.field);\n const isInvalid = hasVisibleFieldError(fieldConfig.field);\n const isReadOnly = (!fieldConfig.editable && !isLookupField) && isAutocompleteMode;\n const inputClassName = [\n 'ns-address-lookup__input',\n isReadOnly ? 'ns-address-lookup__input--readonly' : '',\n isLookupField && loading ? 'ns-address-lookup__input--loading' : ''\n ].filter(Boolean).join(' ');\n\n return (\n <div\n key={getFieldKey(fieldConfig)}\n className=\"ns-address-lookup__field\"\n style={{ width: fieldConfig.width === 'full' ? '100%' : '50%' }}\n >\n {isLookupField && (\n <div className=\"ns-address-lookup__label-row\">\n <label className=\"MuiFormLabel-root MuiFormLabel-colorPrimary css-1ef1ceb-MuiFormLabel-root\">\n {areLabelsLoading ? '' : (fieldLabels?.[fieldConfig.field] || fieldConfig.label)}\n </label>\n {isLookupField && renderLookupActions()}\n </div>\n )}\n <NsInputField\n type=\"text\"\n label={isLookupField || areLabelsLoading ? '' : (fieldLabels?.[fieldConfig.field] || fieldConfig.label)}\n value={formData[fieldConfig.field] || ''}\n aria-invalid={shouldShowFieldError(fieldConfig.field) ? 'true' : undefined}\n fieldState={isInvalid ? 'error' : undefined}\n helperText={fieldError || undefined}\n onBlur={() => handleFieldBlur(fieldConfig.field)}\n onChange={(e) => {\n const filtered = filterAllowedCharacters(e.target.value, fieldConfig.allowedCharacters);\n if (isLookupField && isAutocompleteMode) {\n handleInputChange({ ...e, target: { ...e.target, value: filtered } });\n } else {\n handleEditableFieldChange(fieldConfig.field, filtered);\n }\n }}\n InputProps={{\n readOnly: isReadOnly\n }}\n inputProps={{\n maxLength: fieldConfig.maxLength\n }}\n className={inputClassName}\n />\n {renderLookupLists(isLookupField)}\n </div>\n );\n };\n\n const renderAddressForm = () => {\n const config = resolvedAddressForm?.addressElements;\n\n if (!config?.length) {\n if (isFormLoading) {\n return <div>{fieldLabels?.loadingAddressForm}</div>;\n }\n\n return <div>No form available for this country: US</div>;\n }\n\n return (\n <>\n {config.map(renderField)}\n </>\n );\n };\n\n return (\n <div ref={componentRef} className=\"ns-address-lookup__panel\">\n {lookupServiceError && (\n <div className=\"ns-address-lookup__message\">{lookupErrorMessage}</div>\n )}\n {requireValidation && validationServiceError && (\n <div className=\"ns-address-lookup__message\">\n {validationErrorMessage}\n </div>\n )}\n <div className=\"ns-address-lookup__form\">\n {renderAddressForm()}\n </div>\n {showMapModal && (\n <div\n className=\"ns-address-lookup__modal-backdrop\"\n onClick={() => setShowMapModal(false)}\n >\n <div\n className=\"ns-address-lookup__modal\"\n role=\"dialog\"\n aria-modal=\"true\"\n aria-label={fieldLabels?.addressLocation}\n onClick={(event) => event.stopPropagation()}\n >\n <div className=\"ns-address-lookup__modal-header\">\n <div className=\"ns-address-lookup__modal-title\">\n {fieldLabels?.addressLocation}\n </div>\n <button\n type=\"button\"\n className=\"ns-address-lookup__toggle\"\n aria-label=\"Close\"\n onClick={() => setShowMapModal(false)}\n >\n X\n </button>\n </div>\n <div ref={mapContainerRef} className=\"ns-address-lookup__map\" />\n </div>\n </div>\n )}\n </div>\n );\n};\n\nSmartyUSResults.propTypes = {\n onSelect: PropTypes.func,\n initialAddress: addressPropType,\n requireValidation: PropTypes.bool,\n showManualValidateButton: PropTypes.bool,\n validationRequestId: PropTypes.number,\n language: PropTypes.string,\n strings: labelStringsPropType,\n formDefinition: formDefinitionPropType\n};\n\nexport default SmartyUSResults;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"SmartyUSResults.js","names":["_propTypes","_interopRequireDefault","require","_react","_useSmartyUSLookup","_useUSAddressValidation","_useAddressFieldLabels","_useAddressForm","_useInitialAddressVerification","_useAddressMapModal","_addressMapping","_addressWrapper","_addressStatus","_addressVerification","_validators","_componentPropTypes","_LocationPinIcon","_foundationUiComponents","_jsxRuntime","e","__esModule","default","stripGeocode","address","nextAddress","latitude","longitude","FIELD_TEST_IDS","address1","address2","district","region","city","postalCode","FIELD_IDS","getFieldTestId","field","getFieldId","SmartyUSResults","onSelect","initialAddress","requireValidation","showManualValidateButton","validationRequestId","language","strings","formDefinition","deferFormLookup","_formDefinition$addre","_window$google","mode","setMode","useState","query","setQuery","selectedAddress","setSelectedAddress","selectedUSAddress","setSelectedUSAddress","formData","setFormData","verificationStatus","setVerificationStatus","getIncomingVerificationStatus","validationTrigger","setValidationTrigger","validationTriggerSource","setValidationTriggerSource","showValidationSuggestions","setShowValidationSuggestions","mapAddressLines","setMapAddressLines","hasPendingLookupDraft","setHasPendingLookupDraft","touchedFields","setTouchedFields","showAllRequiredErrors","setShowAllRequiredErrors","lookupServiceError","setLookupServiceError","validationServiceError","setValidationServiceError","shouldSearchRef","useRef","fieldTimerRef","componentRef","suggestionsListRef","lastCommittedAddressRef","lookupDraftOriginalRef","appliedSelectionKeyRef","mapValidationStartedRef","autoApplyValidationStartedRef","useEffect","current","type","status","buildAddressStatus","countryCode","addressForm","resolvedAddressForm","clearTimeout","isAutocompleteMode","labels","fieldLabels","isLoading","areLabelsLoading","useAddressFieldLabels","shouldLoadAddressForm","loadedAddressForm","isFormLoading","useAddressForm","providedAddressForm","addressElements","length","lookupField","requiredFields","getRequiredFieldsFromAddressForm","hasEmailField","some","hasMapCoordinates","undefined","canUseGoogleMaps","window","Boolean","google","maps","importLibrary","hasLookupValue","String","trim","canAttemptMap","includes","showMapAction","mapInfoLines","filter","join","mapContainerRef","pendingMapOpen","setPendingMapOpen","setShowMapModal","showMapModal","useAddressMapModal","infoLines","openInMapsLabel","openInMaps","suggestions","loading","error","rateLimited","useSmartyUSLookup","validationSuggestions","validationLoading","validationError","validationRateLimited","useUSAddressValidation","lookupValue","lookupErrorMessage","lookupError","validationErrorMessage","rawMessage","kind","source","message","clearServiceErrors","lookup","validation","stripUnusedEmail","email","buildTrackedAddress","withAddressVerification","isAcceptableInitialValidationResult","validatedAddress","isDeliverable","getBestInitialValidationResult","find","useInitialAddressVerification","handleDocumentMouseDown","event","component","contains","target","suggestionsList","document","addEventListener","removeEventListener","selectionKey","street_line","secondary","zipcode","JSON","stringify","config","mapped","state","wrapAddress1ToAddress2","address1Field","f","maxLength","wrapped","updatedFormData","normalizedFormData","currentVerificationStatus","handleInputChange","value","normalizeAddressFieldValue","updatedLookupData","isFieldRequired","isFieldBlank","hasInvalidPostalCodeFormat","postalCodeRegex","test","normalizePostalCodeValue","hasInvalidEmailFormat","isValidEmail","shouldShowFieldError","shouldShowValidation","requiredError","handleFieldBlur","prev","getFieldErrorMessage","fieldRequired","invalidPostalCode","invalidEmail","hasVisibleFieldError","handleEditableFieldChange","normalizedValue","requiredFieldsForVerification","nextVerificationStatus","getManualEditVerificationStatus","withManualAddressVerificationEdit","setTimeout","payload","handleSelect","entries","baseAddress","handleValidationSelect","_validatedAddress$met","_validatedAddress$met2","verifiedMapped","nextMapAddressLines","buildUSVerifiedAddressMapping","metadata","verification","analysis","handleValidate","handleOpenMap","getFieldKey","fieldConfig","getSuggestionKey","suggestion","getValidationSuggestionKey","delivery_line_1","delivery_line_2","last_line","dpvMatchCode","getValidationSummaryTitle","_suggestion$validatio","_suggestion$validatio2","_suggestion$validatio3","_suggestion$validatio4","_suggestion$validatio5","_suggestion$validatio6","_suggestion$validatio7","_suggestion$validatio8","_suggestion$validatio9","code","validationSummary","usVerified","title","usMissingSecondaryTitle","usInvalidSecondaryRequiredTitle","usInvalidSecondaryOptionalTitle","usVacantTitle","usNoStatTitle","usNotConfirmedTitle","getValidationSummaryMessage","_suggestion$validatio0","_suggestion$validatio1","_suggestion$validatio10","_suggestion$validatio11","_suggestion$validatio12","_suggestion$validatio13","_suggestion$validatio14","_suggestion$validatio15","_suggestion$validatio16","usMissingSecondaryMessage","usInvalidSecondaryRequiredMessage","usInvalidSecondaryOptionalMessage","usVacantMessage","usNoStatMessage","usNotConfirmedMessage","usVerifiedMessage","renderLookupActions","jsxs","className","children","jsx","onClick","NsButton","disabled","variant","color","size","switchToManualEntry","switchToAutocomplete","renderLookupLists","isLookupField","shouldShowValidationResults","shouldShowNoResults","ref","map","index","displayText","usNoResults","bestSuggestion","renderField","fieldError","isInvalid","isReadOnly","editable","inputClassName","style","width","label","NsInputField","id","fieldState","helperText","onBlur","onChange","filtered","filterAllowedCharacters","allowedCharacters","InputProps","readOnly","inputProps","renderAddressForm","loadingAddressForm","Fragment","role","addressLocation","stopPropagation","propTypes","PropTypes","func","addressPropType","bool","number","string","labelStringsPropType","formDefinitionPropType","_default","exports"],"sources":["../../src/components/SmartyUSResults.jsx"],"sourcesContent":["import PropTypes from 'prop-types';\nimport { useState, useEffect, useRef } from 'react';\nimport useSmartyUSLookup from '../hooks/useSmartyUSLookup';\nimport useUSAddressValidation from '../hooks/useUSAddressValidation';\nimport useAddressFieldLabels from '../hooks/useAddressFieldLabels';\nimport useAddressForm from '../hooks/useAddressForm';\nimport useInitialAddressVerification from '../hooks/useInitialAddressVerification';\nimport useAddressMapModal from '../hooks/useAddressMapModal';\nimport { buildUSVerifiedAddressMapping } from '../utils/addressMapping';\nimport { wrapAddress1ToAddress2 } from '../utils/addressWrapper';\nimport { buildAddressStatus, getRequiredFieldsFromAddressForm } from '../utils/addressStatus';\nimport {\n getIncomingVerificationStatus,\n getManualEditVerificationStatus,\n withAddressVerification,\n withManualAddressVerificationEdit\n} from '../utils/addressVerification';\nimport { isValidEmail, normalizeAddressFieldValue, normalizePostalCodeValue, filterAllowedCharacters } from '../utils/validators';\nimport { addressPropType, formDefinitionPropType, labelStringsPropType } from '../utils/componentPropTypes';\nimport LocationPinIcon from './LocationPinIcon';\nimport { NsButton, NsInputField } from '@nuskin/foundation-ui-components';\n\nconst stripGeocode = (address = {}) => {\n const nextAddress = { ...address };\n delete nextAddress.latitude;\n delete nextAddress.longitude;\n return nextAddress;\n};\n\nconst FIELD_TEST_IDS = {\n address1: 'qa-address-1',\n address2: 'qa-address-2',\n district: 'qa-address-district',\n region: 'qa-address-region',\n city: 'qa-address-city',\n postalCode: 'qa-address-postal-code'\n};\n\nconst FIELD_IDS = {\n address1: 'address-line-1',\n address2: 'address-line-2',\n district: 'address-district',\n region: 'address-region',\n city: 'address-city',\n postalCode: 'address-postal-code'\n};\n\nconst getFieldTestId = (field) => FIELD_TEST_IDS[field] || `qa-address-${field}`;\nconst getFieldId = (field) => FIELD_IDS[field] || `address-${field}`;\n\nconst SmartyUSResults = ({\n onSelect,\n initialAddress = null,\n requireValidation = true,\n showManualValidateButton = false,\n validationRequestId = 0,\n language = 'en',\n strings = null,\n formDefinition = null,\n deferFormLookup = false\n}) => {\n const [mode, setMode] = useState('autocomplete');\n const [query, setQuery] = useState('');\n const [selectedAddress, setSelectedAddress] = useState(null);\n const [selectedUSAddress, setSelectedUSAddress] = useState(null);\n const [formData, setFormData] = useState(initialAddress || {});\n const [verificationStatus, setVerificationStatus] = useState(getIncomingVerificationStatus(initialAddress));\n const [validationTrigger, setValidationTrigger] = useState(0);\n const [validationTriggerSource, setValidationTriggerSource] = useState(null);\n const [showValidationSuggestions, setShowValidationSuggestions] = useState(false);\n const [mapAddressLines, setMapAddressLines] = useState([]);\n const [hasPendingLookupDraft, setHasPendingLookupDraft] = useState(false);\n const [touchedFields, setTouchedFields] = useState({});\n const [showAllRequiredErrors, setShowAllRequiredErrors] = useState(false);\n const [lookupServiceError, setLookupServiceError] = useState(null);\n const [validationServiceError, setValidationServiceError] = useState(null);\n const shouldSearchRef = useRef(true);\n const fieldTimerRef = useRef(null);\n const componentRef = useRef(null);\n const suggestionsListRef = useRef(null);\n const lastCommittedAddressRef = useRef(initialAddress || {});\n const lookupDraftOriginalRef = useRef(initialAddress || {});\n const appliedSelectionKeyRef = useRef(null);\n const mapValidationStartedRef = useRef(false);\n const autoApplyValidationStartedRef = useRef(false);\n\n useEffect(() => {\n if (initialAddress) {\n setFormData(initialAddress);\n setVerificationStatus(getIncomingVerificationStatus(initialAddress));\n shouldSearchRef.current = false;\n lastCommittedAddressRef.current = initialAddress;\n lookupDraftOriginalRef.current = initialAddress;\n setTouchedFields({});\n setShowAllRequiredErrors(false);\n setLookupServiceError(null);\n setValidationServiceError(null);\n setMapAddressLines([]);\n }\n }, [initialAddress]);\n\n useEffect(() => {\n if (!validationRequestId) {\n return;\n }\n\n setShowAllRequiredErrors(true);\n onSelect?.({\n type: 'validation-request',\n address: formData,\n status: buildAddressStatus({\n countryCode: 'US',\n addressForm: resolvedAddressForm,\n formData,\n verificationStatus,\n mode,\n requireValidation\n })\n });\n }, [validationRequestId]);\n\n useEffect(() => {\n return () => {\n if (fieldTimerRef.current) {\n clearTimeout(fieldTimerRef.current);\n }\n };\n }, []);\n\n const isAutocompleteMode = mode === 'autocomplete';\n const { labels: fieldLabels, isLoading: areLabelsLoading } = useAddressFieldLabels('US', language, strings);\n const shouldLoadAddressForm = !formDefinition && !deferFormLookup;\n const { addressForm: loadedAddressForm, isLoading: isFormLoading } = useAddressForm('US', shouldLoadAddressForm);\n const providedAddressForm = formDefinition?.addressElements?.length ? formDefinition : null;\n const resolvedAddressForm = providedAddressForm || loadedAddressForm;\n const lookupField = resolvedAddressForm?.lookupField || 'address1';\n const requiredFields = getRequiredFieldsFromAddressForm(resolvedAddressForm);\n const hasEmailField = (resolvedAddressForm?.addressElements || []).some((field) => field.field === 'email');\n const hasMapCoordinates = (\n formData?.latitude !== undefined && formData?.longitude !== undefined\n );\n const canUseGoogleMaps = typeof window !== 'undefined' &&\n Boolean(window.google?.maps?.importLibrary);\n const hasLookupValue = Boolean(String(formData?.[lookupField] || '').trim());\n const canAttemptMap = Boolean(\n (!isAutocompleteMode && hasLookupValue) ||\n (isAutocompleteMode && ['autocomplete', 'verified'].includes(verificationStatus) && hasLookupValue)\n );\n const showMapAction = canUseGoogleMaps && (hasMapCoordinates || canAttemptMap);\n const mapInfoLines = (mapAddressLines.length ? mapAddressLines : [\n formData.address1,\n formData.address2,\n [formData.city, formData.region, formData.postalCode].filter(Boolean).join(' ')\n ]).filter(Boolean);\n const {\n mapContainerRef,\n pendingMapOpen,\n setPendingMapOpen,\n setShowMapModal,\n showMapModal\n } = useAddressMapModal({\n formData,\n infoLines: mapInfoLines,\n canUseGoogleMaps,\n hasMapCoordinates,\n openInMapsLabel: fieldLabels?.openInMaps\n });\n\n const { suggestions, loading, error, rateLimited } = useSmartyUSLookup(\n shouldSearchRef.current && isAutocompleteMode ? query : '',\n selectedUSAddress,\n 500\n );\n const {\n suggestions: validationSuggestions,\n loading: validationLoading,\n error: validationError,\n rateLimited: validationRateLimited\n } = useUSAddressValidation(formData, requireValidation ? validationTrigger : 0);\n const lookupValue = formData[lookupField];\n const lookupErrorMessage = lookupServiceError?.rateLimited ?\n (fieldLabels?.rateLimited || 'Too many requests. Please wait a moment and try again.') :\n (fieldLabels?.lookupError || 'We could not look up that address right now.');\n const validationErrorMessage = validationServiceError?.rateLimited ?\n (fieldLabels?.rateLimited || 'Too many requests. Please wait a moment and try again.') :\n (fieldLabels?.validationError || 'We could not validate that address right now.');\n\n useEffect(() => {\n if (!error) {\n setLookupServiceError(null);\n return;\n }\n\n setLookupServiceError({\n rateLimited,\n rawMessage: error\n });\n }, [error, rateLimited]);\n\n useEffect(() => {\n if (!validationError) {\n setValidationServiceError(null);\n return;\n }\n\n setValidationServiceError({\n rateLimited: validationRateLimited,\n rawMessage: validationError\n });\n setPendingMapOpen(false);\n mapValidationStartedRef.current = false;\n }, [validationError, validationRateLimited]);\n\n useEffect(() => {\n if (!lookupServiceError) {\n return;\n }\n\n onSelect?.({\n type: 'lookup-error',\n address: formData,\n status: buildAddressStatus({\n countryCode: 'US',\n addressForm: resolvedAddressForm,\n formData,\n verificationStatus,\n mode,\n requireValidation\n }),\n error: {\n kind: lookupServiceError.rateLimited ? 'rate-limited' : 'api',\n source: 'autocomplete',\n message: lookupErrorMessage\n }\n });\n }, [lookupServiceError]);\n\n useEffect(() => {\n if (!validationServiceError) {\n return;\n }\n\n onSelect?.({\n type: 'validation-error',\n address: formData,\n status: buildAddressStatus({\n countryCode: 'US',\n addressForm: resolvedAddressForm,\n formData,\n verificationStatus,\n mode,\n requireValidation\n }),\n error: {\n kind: validationServiceError.rateLimited ? 'rate-limited' : 'api',\n source: 'validation',\n message: validationErrorMessage\n }\n });\n }, [validationServiceError]);\n\n const clearServiceErrors = ({ lookup = true, validation = true } = {}) => {\n if (lookup) {\n setLookupServiceError(null);\n }\n if (validation) {\n setValidationServiceError(null);\n }\n };\n\n const stripUnusedEmail = (address = {}) => {\n if (hasEmailField) {\n return address;\n }\n\n const nextAddress = { ...address };\n delete nextAddress.email;\n return nextAddress;\n };\n\n const buildTrackedAddress = (address = {}, status = 'unverified', source = null) => (\n stripUnusedEmail(withAddressVerification(address, status, source))\n );\n\n const isAcceptableInitialValidationResult = (validatedAddress) => (\n Boolean(validatedAddress?.isDeliverable)\n );\n\n const getBestInitialValidationResult = (suggestions = []) => (\n suggestions.find(isAcceptableInitialValidationResult) || null\n );\n\n useInitialAddressVerification({\n initialAddress,\n countryCode: 'US',\n lookupField,\n requireValidation,\n resolvedAddressForm,\n setValidationServiceError,\n setShowValidationSuggestions,\n setValidationTriggerSource,\n setValidationTrigger\n });\n\n useEffect(() => {\n if (validationTrigger > 0 && ['autocomplete', 'map', 'initial'].includes(validationTriggerSource)) {\n autoApplyValidationStartedRef.current = false;\n }\n }, [validationTrigger, validationTriggerSource]);\n\n useEffect(() => {\n if (validationLoading && validationTriggerSource === 'map') {\n mapValidationStartedRef.current = true;\n }\n if (validationLoading && ['autocomplete', 'map', 'initial'].includes(validationTriggerSource)) {\n autoApplyValidationStartedRef.current = true;\n }\n }, [validationLoading, validationTriggerSource]);\n\n useEffect(() => {\n if (\n validationTriggerSource === 'map' &&\n showValidationSuggestions &&\n !validationLoading &&\n validationSuggestions.length === 0 &&\n !validationServiceError &&\n mapValidationStartedRef.current\n ) {\n setPendingMapOpen(false);\n mapValidationStartedRef.current = false;\n }\n }, [validationLoading, validationSuggestions, validationTriggerSource, showValidationSuggestions, validationServiceError]);\n\n useEffect(() => {\n if (lookupValue !== undefined && shouldSearchRef.current && !selectedAddress) {\n setQuery(lookupValue);\n }\n }, [lookupValue, selectedAddress]);\n\n useEffect(() => {\n if (!hasPendingLookupDraft || suggestions.length === 0) {\n return undefined;\n }\n\n const handleDocumentMouseDown = (event) => {\n const component = componentRef.current;\n if (component?.contains(event.target)) {\n return;\n }\n\n const suggestionsList = suggestionsListRef.current;\n if (suggestionsList?.contains(event.target) === false) {\n shouldSearchRef.current = false;\n setQuery('');\n setSelectedAddress(null);\n setSelectedUSAddress(null);\n setShowValidationSuggestions(false);\n setShowMapModal(false);\n setPendingMapOpen(false);\n mapValidationStartedRef.current = false;\n clearServiceErrors();\n setFormData(lookupDraftOriginalRef.current);\n setMapAddressLines([]);\n setHasPendingLookupDraft(false);\n }\n };\n\n document.addEventListener('pointerdown', handleDocumentMouseDown);\n return () => {\n document.removeEventListener('pointerdown', handleDocumentMouseDown);\n };\n }, [hasPendingLookupDraft, suggestions]);\n\n useEffect(() => {\n if (selectedAddress) {\n const selectionKey = selectedAddress.street_line ?\n `${selectedAddress.street_line}|${selectedAddress.secondary || ''}|${selectedAddress.zipcode || ''}` :\n JSON.stringify(selectedAddress);\n if (appliedSelectionKeyRef.current === selectionKey) {\n return;\n }\n appliedSelectionKeyRef.current = selectionKey;\n\n const config = resolvedAddressForm.addressElements || [];\n\n let mapped = {\n address1: selectedAddress.street_line,\n address2: selectedAddress.secondary || '',\n city: selectedAddress.city,\n region: selectedAddress.state,\n postalCode: selectedAddress.zipcode\n };\n\n // Apply address wrapping if enabled\n if (resolvedAddressForm.wrapAddress1ToAddress2) {\n const address1Field = config.find(f => f.field === 'address1');\n if (address1Field?.maxLength) {\n const wrapped = wrapAddress1ToAddress2(mapped.address1, mapped.address2, address1Field.maxLength);\n mapped.address1 = wrapped.address1;\n mapped.address2 = wrapped.address2;\n }\n }\n\n const updatedFormData = {\n ...stripGeocode(formData),\n ...mapped,\n email: formData.email\n };\n const normalizedFormData = buildTrackedAddress(updatedFormData, 'autocomplete', 'smarty-us');\n setFormData(normalizedFormData);\n setMapAddressLines([]);\n lastCommittedAddressRef.current = normalizedFormData;\n lookupDraftOriginalRef.current = normalizedFormData;\n setHasPendingLookupDraft(false);\n clearServiceErrors();\n const currentVerificationStatus = 'autocomplete';\n setVerificationStatus(currentVerificationStatus);\n onSelect?.({\n type: 'autocomplete',\n address: normalizedFormData,\n status: buildAddressStatus({\n countryCode: 'US',\n addressForm: resolvedAddressForm,\n formData: normalizedFormData,\n verificationStatus: currentVerificationStatus,\n mode,\n requireValidation\n })\n });\n }\n }, [selectedAddress]);\n\n const handleInputChange = (e) => {\n const value = normalizeAddressFieldValue(lookupField, e.target.value);\n shouldSearchRef.current = true;\n appliedSelectionKeyRef.current = null;\n setSelectedAddress(null);\n setSelectedUSAddress(null);\n setShowValidationSuggestions(false);\n setShowMapModal(false);\n setPendingMapOpen(false);\n mapValidationStartedRef.current = false;\n setMapAddressLines([]);\n setValidationTriggerSource(null);\n clearServiceErrors();\n if (!hasPendingLookupDraft) {\n lookupDraftOriginalRef.current = formData;\n setHasPendingLookupDraft(true);\n }\n const updatedLookupData = stripUnusedEmail({ ...stripGeocode(formData), [lookupField]: value });\n setFormData(buildTrackedAddress(updatedLookupData, 'unverified'));\n setVerificationStatus('unverified');\n };\n\n const isFieldRequired = (field) => requiredFields.includes(field);\n const isFieldBlank = (field) => String(formData[field] || '').trim() === '';\n const hasInvalidPostalCodeFormat = (field) => {\n if (field !== 'postalCode') {\n return false;\n }\n const value = String(formData.postalCode || '').trim();\n if (!value || !resolvedAddressForm.postalCodeRegex) {\n return false;\n }\n return !resolvedAddressForm.postalCodeRegex.test(normalizePostalCodeValue(value));\n };\n const hasInvalidEmailFormat = (field) => {\n if (field !== 'email') {\n return false;\n }\n const value = String(formData.email || '').trim();\n if (!value) {\n return false;\n }\n return !isValidEmail(value);\n };\n const shouldShowFieldError = (field) => {\n const shouldShowValidation = Boolean(showAllRequiredErrors || touchedFields[field]);\n if (!shouldShowValidation) {\n return false;\n }\n const requiredError = isFieldRequired(field) && isFieldBlank(field);\n return requiredError || hasInvalidPostalCodeFormat(field) || hasInvalidEmailFormat(field);\n };\n\n const handleFieldBlur = (field) => {\n if (!isFieldRequired(field) && field !== 'email' && field !== 'postalCode') {\n return;\n }\n setTouchedFields((prev) => ({ ...prev, [field]: true }));\n };\n\n const getFieldErrorMessage = (field) => {\n if (!shouldShowFieldError(field)) {\n return '';\n }\n if (isFieldRequired(field) && isFieldBlank(field)) {\n return areLabelsLoading ? '' : fieldLabels?.fieldRequired;\n }\n if (hasInvalidPostalCodeFormat(field)) {\n return areLabelsLoading ? '' : fieldLabels?.invalidPostalCode;\n }\n if (hasInvalidEmailFormat(field)) {\n return areLabelsLoading ? '' : fieldLabels?.invalidEmail;\n }\n return '';\n };\n\n const hasVisibleFieldError = (field) => shouldShowFieldError(field);\n\n const handleEditableFieldChange = (field, value) => {\n const normalizedValue = normalizeAddressFieldValue(field, value);\n if (field === lookupField) {\n setShowValidationSuggestions(false);\n }\n clearServiceErrors();\n setShowMapModal(false);\n setPendingMapOpen(false);\n mapValidationStartedRef.current = false;\n setMapAddressLines([]);\n\n const requiredFieldsForVerification = resolvedAddressForm?.requiredFields || requiredFields;\n const nextVerificationStatus = getManualEditVerificationStatus(\n verificationStatus,\n field,\n lookupField,\n requiredFieldsForVerification\n );\n const updatedFormData = withManualAddressVerificationEdit(\n stripUnusedEmail({ ...stripGeocode(formData), [field]: normalizedValue }),\n field,\n nextVerificationStatus\n );\n setFormData(updatedFormData);\n setVerificationStatus(nextVerificationStatus);\n\n if (fieldTimerRef.current) {\n clearTimeout(fieldTimerRef.current);\n }\n\n fieldTimerRef.current = setTimeout(() => {\n const payload = {\n type: 'field-change',\n field,\n value: normalizedValue,\n address: updatedFormData,\n status: buildAddressStatus({\n countryCode: 'US',\n addressForm: resolvedAddressForm,\n formData: updatedFormData,\n verificationStatus: nextVerificationStatus,\n mode,\n requireValidation\n })\n };\n\n if (hasEmailField && field === 'email' && value) {\n payload.isValidEmail = isValidEmail(normalizedValue);\n }\n\n onSelect?.(payload);\n }, 500);\n };\n\n const handleSelect = (address) => {\n clearServiceErrors({ lookup: true, validation: false });\n if (address.entries > 1) {\n shouldSearchRef.current = true;\n appliedSelectionKeyRef.current = null;\n setSelectedUSAddress(address);\n const baseAddress = `${address.street_line} ${address.secondary}`.trim();\n setQuery(baseAddress);\n } else {\n shouldSearchRef.current = false;\n appliedSelectionKeyRef.current = null;\n setSelectedUSAddress(null);\n setSelectedAddress(address);\n setQuery('');\n }\n };\n\n const handleValidationSelect = (validatedAddress) => {\n clearServiceErrors({ lookup: false, validation: true });\n const config = resolvedAddressForm.addressElements || [];\n const {\n mapped: verifiedMapped,\n mapAddressLines: nextMapAddressLines\n } = buildUSVerifiedAddressMapping(validatedAddress);\n\n let mapped = { ...verifiedMapped };\n\n if (resolvedAddressForm.wrapAddress1ToAddress2) {\n const address1Field = config.find(f => f.field === 'address1');\n if (address1Field?.maxLength) {\n const wrapped = wrapAddress1ToAddress2(mapped.address1, mapped.address2, address1Field.maxLength);\n mapped.address1 = wrapped.address1;\n mapped.address2 = wrapped.address2;\n }\n }\n\n const updatedFormData = {\n ...stripGeocode(formData),\n ...mapped,\n email: formData.email,\n latitude: validatedAddress.metadata?.latitude,\n longitude: validatedAddress.metadata?.longitude\n };\n const normalizedFormData = buildTrackedAddress(updatedFormData, 'verified', 'smarty-us');\n setShowValidationSuggestions(false);\n setValidationTriggerSource(null);\n setMapAddressLines(nextMapAddressLines);\n setFormData(normalizedFormData);\n lastCommittedAddressRef.current = normalizedFormData;\n lookupDraftOriginalRef.current = normalizedFormData;\n setHasPendingLookupDraft(false);\n const currentVerificationStatus = 'verified';\n setVerificationStatus(currentVerificationStatus);\n autoApplyValidationStartedRef.current = false;\n\n if (pendingMapOpen) {\n setPendingMapOpen(false);\n mapValidationStartedRef.current = false;\n setShowMapModal(true);\n }\n\n onSelect?.({\n type: 'validation',\n address: normalizedFormData,\n verification: validatedAddress.analysis,\n isDeliverable: validatedAddress.isDeliverable,\n status: buildAddressStatus({\n countryCode: 'US',\n addressForm: resolvedAddressForm,\n formData: normalizedFormData,\n verificationStatus: currentVerificationStatus,\n mode,\n requireValidation\n })\n });\n };\n\n const handleValidate = () => {\n if (!requireValidation) {\n return;\n }\n clearServiceErrors({ lookup: false, validation: true });\n setShowValidationSuggestions(true);\n setValidationTriggerSource('manual');\n setValidationTrigger(prev => prev + 1);\n };\n\n const handleOpenMap = () => {\n if (hasMapCoordinates) {\n setShowMapModal(true);\n return;\n }\n\n if (!canAttemptMap || validationLoading) {\n return;\n }\n\n clearServiceErrors({ lookup: false, validation: true });\n mapValidationStartedRef.current = false;\n setPendingMapOpen(true);\n setShowValidationSuggestions(true);\n setValidationTriggerSource('map');\n setValidationTrigger((prev) => prev + 1);\n };\n\n const getFieldKey = (fieldConfig) => fieldConfig.field;\n\n const getSuggestionKey = (suggestion) => [\n suggestion.street_line,\n suggestion.secondary,\n suggestion.city,\n suggestion.state,\n suggestion.zipcode,\n suggestion.entries\n ].filter((value) => value !== undefined && value !== null).join('|');\n\n const getValidationSuggestionKey = (suggestion) => [\n suggestion.delivery_line_1,\n suggestion.delivery_line_2,\n suggestion.last_line,\n suggestion.dpvMatchCode\n ].filter((value) => value !== undefined && value !== null).join('|');\n\n const getValidationSummaryTitle = (suggestion) => {\n const code = suggestion.validationSummary?.code;\n\n switch (code) {\n case 'verified':\n return fieldLabels?.usVerified || suggestion.validationSummary?.title || 'Verified';\n case 'missing-secondary':\n return fieldLabels?.usMissingSecondaryTitle || suggestion.validationSummary?.title || 'Apartment or suite needed';\n case 'invalid-secondary-required':\n return fieldLabels?.usInvalidSecondaryRequiredTitle || suggestion.validationSummary?.title || 'Apartment or suite not recognized';\n case 'invalid-secondary-optional':\n return fieldLabels?.usInvalidSecondaryOptionalTitle || suggestion.validationSummary?.title || 'Unit not recognized';\n case 'vacant':\n return fieldLabels?.usVacantTitle || suggestion.validationSummary?.title || 'Verified, but marked vacant';\n case 'no-stat':\n return fieldLabels?.usNoStatTitle || suggestion.validationSummary?.title || 'Verified with caution';\n case 'not-confirmed':\n return fieldLabels?.usNotConfirmedTitle || suggestion.validationSummary?.title || 'Not verified';\n default:\n return suggestion.validationSummary?.title || 'Candidate';\n }\n };\n\n const getValidationSummaryMessage = (suggestion) => {\n const code = suggestion.validationSummary?.code;\n\n switch (code) {\n case 'missing-secondary':\n return fieldLabels?.usMissingSecondaryMessage || suggestion.validationSummary?.message || '';\n case 'invalid-secondary-required':\n return fieldLabels?.usInvalidSecondaryRequiredMessage || suggestion.validationSummary?.message || '';\n case 'invalid-secondary-optional':\n return fieldLabels?.usInvalidSecondaryOptionalMessage || suggestion.validationSummary?.message || '';\n case 'vacant':\n return fieldLabels?.usVacantMessage || suggestion.validationSummary?.message || '';\n case 'no-stat':\n return fieldLabels?.usNoStatMessage || suggestion.validationSummary?.message || '';\n case 'not-confirmed':\n return fieldLabels?.usNotConfirmedMessage || suggestion.validationSummary?.message || '';\n case 'verified':\n return fieldLabels?.usVerifiedMessage || suggestion.validationSummary?.message || '';\n default:\n return suggestion.validationSummary?.message || '';\n }\n };\n\n const renderLookupActions = () => (\n <div className=\"ns-address-lookup__actions\">\n {showMapAction && (\n <button\n type=\"button\"\n onClick={handleOpenMap}\n className=\"ns-address-lookup__toggle ns-address-lookup__toggle--icon\"\n title={fieldLabels?.openInMaps}\n aria-label={fieldLabels?.openInMaps}\n >\n <LocationPinIcon className=\"ns-address-lookup__icon\" />\n </button>\n )}\n {!isAutocompleteMode && requireValidation && showManualValidateButton && (\n <NsButton\n type=\"button\"\n onClick={handleValidate}\n disabled={validationLoading || !String(formData[lookupField] || '').trim()}\n variant=\"contained\"\n color=\"primary\"\n size=\"small\"\n >\n {validationLoading ? 'Validating...' : 'Validate Address'}\n </NsButton>\n )}\n <button\n type=\"button\"\n onClick={() => {\n setShowValidationSuggestions(false);\n setShowMapModal(false);\n setPendingMapOpen(false);\n mapValidationStartedRef.current = false;\n setValidationTriggerSource(null);\n clearServiceErrors();\n setMode(mode === 'autocomplete' ? 'manual' : 'autocomplete');\n }}\n className=\"ns-address-lookup__toggle\"\n >\n {mode === 'autocomplete' ?\n fieldLabels?.switchToManualEntry :\n fieldLabels?.switchToAutocomplete}\n </button>\n </div>\n );\n\n const renderLookupLists = (isLookupField) => {\n const shouldShowValidationResults =\n requireValidation &&\n showValidationSuggestions &&\n (!isAutocompleteMode || validationTriggerSource === 'map');\n const shouldShowNoResults =\n shouldShowValidationResults &&\n !validationLoading &&\n validationSuggestions.length === 0 &&\n !validationServiceError &&\n (validationTriggerSource !== 'map' || mapValidationStartedRef.current);\n\n if (!isLookupField) {\n return null;\n }\n\n if (loading && isAutocompleteMode) {\n return <div className=\"ns-address-lookup__spinner\" />;\n }\n\n if (suggestions.length > 0 && !selectedAddress && isAutocompleteMode) {\n return (\n <ul\n ref={suggestionsListRef}\n className=\"ns-address-lookup__list ns-address-lookup__list--suggestions\">\n {suggestions.map((suggestion, index) => (\n <li\n key={getSuggestionKey(suggestion)}\n className={[\n 'ns-address-lookup__list-item',\n index < suggestions.length - 1 ? 'ns-address-lookup__list-item--divided' : ''\n ].filter(Boolean).join(' ')}\n >\n <button\n type=\"button\"\n onClick={() => handleSelect(suggestion)}\n className=\"ns-address-lookup__list-button\"\n >\n {suggestion.displayText}\n </button>\n </li>\n ))}\n </ul>\n );\n }\n\n if (shouldShowValidationResults && validationSuggestions.length > 0) {\n return (\n <ul className=\"ns-address-lookup__list ns-address-lookup__list--validation-inline\">\n {validationSuggestions.map((suggestion, index) => (\n <li\n key={getValidationSuggestionKey(suggestion)}\n className={[\n 'ns-address-lookup__list-item',\n index < validationSuggestions.length - 1 ? 'ns-address-lookup__list-item--divided' : ''\n ].filter(Boolean).join(' ')}\n >\n <button\n type=\"button\"\n onClick={() => handleValidationSelect(suggestion)}\n className=\"ns-address-lookup__list-button\"\n >\n <div className=\"ns-address-lookup__list-title\">\n {getValidationSummaryTitle(suggestion)}\n </div>\n <div className=\"ns-address-lookup__list-subtitle\">\n {suggestion.displayText}\n </div>\n <div className=\"ns-address-lookup__list-subtitle\">\n {getValidationSummaryMessage(suggestion)}\n </div>\n </button>\n </li>\n ))}\n </ul>\n );\n }\n\n if (shouldShowNoResults) {\n return (\n <div className=\"ns-address-lookup__message\">\n {fieldLabels?.usNoResults}\n </div>\n );\n }\n\n return null;\n };\n\n useEffect(() => {\n if (\n ['autocomplete', 'map'].includes(validationTriggerSource) &&\n validationSuggestions.length === 1 &&\n autoApplyValidationStartedRef.current\n ) {\n handleValidationSelect(validationSuggestions[0]);\n }\n\n if (\n validationTriggerSource === 'initial' &&\n autoApplyValidationStartedRef.current &&\n !validationLoading\n ) {\n const bestSuggestion = getBestInitialValidationResult(validationSuggestions);\n\n if (bestSuggestion) {\n handleValidationSelect(bestSuggestion);\n return;\n }\n\n autoApplyValidationStartedRef.current = false;\n setShowValidationSuggestions(false);\n setValidationTriggerSource(null);\n }\n }, [validationLoading, validationSuggestions, validationTriggerSource]);\n\n const renderField = (fieldConfig) => {\n const isLookupField = fieldConfig.field === lookupField;\n const fieldError = getFieldErrorMessage(fieldConfig.field);\n const isInvalid = hasVisibleFieldError(fieldConfig.field);\n const isReadOnly = (!fieldConfig.editable && !isLookupField) && isAutocompleteMode;\n const inputClassName = [\n 'ns-address-lookup__input',\n isReadOnly ? 'ns-address-lookup__input--readonly' : '',\n isLookupField && loading ? 'ns-address-lookup__input--loading' : ''\n ].filter(Boolean).join(' ');\n\n return (\n <div\n key={getFieldKey(fieldConfig)}\n className=\"ns-address-lookup__field\"\n style={{ width: fieldConfig.width === 'full' ? '100%' : '50%' }}\n >\n {isLookupField && (\n <div className=\"ns-address-lookup__label-row\">\n <label className=\"MuiFormLabel-root MuiFormLabel-colorPrimary css-1ef1ceb-MuiFormLabel-root\">\n {areLabelsLoading ? '' : (fieldLabels?.[fieldConfig.field] || fieldConfig.label)}\n </label>\n {isLookupField && renderLookupActions()}\n </div>\n )}\n <NsInputField\n id={getFieldId(fieldConfig.field)}\n type=\"text\"\n label={isLookupField || areLabelsLoading ? '' : (fieldLabels?.[fieldConfig.field] || fieldConfig.label)}\n value={formData[fieldConfig.field] || ''}\n aria-invalid={shouldShowFieldError(fieldConfig.field) ? 'true' : undefined}\n fieldState={isInvalid ? 'error' : undefined}\n helperText={fieldError || undefined}\n onBlur={() => handleFieldBlur(fieldConfig.field)}\n onChange={(e) => {\n const filtered = filterAllowedCharacters(e.target.value, fieldConfig.allowedCharacters);\n if (isLookupField && isAutocompleteMode) {\n handleInputChange({ ...e, target: { ...e.target, value: filtered } });\n } else {\n handleEditableFieldChange(fieldConfig.field, filtered);\n }\n }}\n InputProps={{\n readOnly: isReadOnly\n }}\n inputProps={{\n maxLength: fieldConfig.maxLength,\n 'data-testid': getFieldTestId(fieldConfig.field)\n }}\n className={inputClassName}\n />\n {renderLookupLists(isLookupField)}\n </div>\n );\n };\n\n const renderAddressForm = () => {\n const config = resolvedAddressForm?.addressElements;\n\n if (!config?.length) {\n if (isFormLoading) {\n return <div>{fieldLabels?.loadingAddressForm}</div>;\n }\n\n return <div>No form available for this country: US</div>;\n }\n\n return (\n <>\n {config.map(renderField)}\n </>\n );\n };\n\n return (\n <div ref={componentRef} className=\"ns-address-lookup__panel\">\n {lookupServiceError && (\n <div className=\"ns-address-lookup__message\">{lookupErrorMessage}</div>\n )}\n {requireValidation && validationServiceError && (\n <div className=\"ns-address-lookup__message\">\n {validationErrorMessage}\n </div>\n )}\n <div className=\"ns-address-lookup__form\">\n {renderAddressForm()}\n </div>\n {showMapModal && (\n <div\n className=\"ns-address-lookup__modal-backdrop\"\n onClick={() => setShowMapModal(false)}\n >\n <div\n className=\"ns-address-lookup__modal\"\n role=\"dialog\"\n aria-modal=\"true\"\n aria-label={fieldLabels?.addressLocation}\n onClick={(event) => event.stopPropagation()}\n >\n <div className=\"ns-address-lookup__modal-header\">\n <div className=\"ns-address-lookup__modal-title\">\n {fieldLabels?.addressLocation}\n </div>\n <button\n type=\"button\"\n className=\"ns-address-lookup__toggle\"\n aria-label=\"Close\"\n onClick={() => setShowMapModal(false)}\n >\n X\n </button>\n </div>\n <div ref={mapContainerRef} className=\"ns-address-lookup__map\" />\n </div>\n </div>\n )}\n </div>\n );\n};\n\nSmartyUSResults.propTypes = {\n onSelect: PropTypes.func,\n initialAddress: addressPropType,\n requireValidation: PropTypes.bool,\n showManualValidateButton: PropTypes.bool,\n validationRequestId: PropTypes.number,\n language: PropTypes.string,\n strings: labelStringsPropType,\n formDefinition: formDefinitionPropType,\n deferFormLookup: PropTypes.bool\n};\n\nexport default SmartyUSResults;\n"],"mappings":"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","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nuskin/address-lookup",
3
- "version": "1.1.0",
3
+ "version": "1.1.2",
4
4
  "description": "React component for address autocomplete and validation using Smarty services",
5
5
  "main": "dist/index.js",
6
6
  "scripts": {
@@ -30,7 +30,7 @@
30
30
  "license": "MIT",
31
31
  "homepage": "https://code.tls.nuskin.io/nextgen-development/shipping/npm/address-lookup/blob/master/README.md",
32
32
  "dependencies": {
33
- "@nuskin/contentstack-lib": "2.0.1",
33
+ "@nuskin/contentstack-lib": "2.0.2",
34
34
  "@nuskin/foundation-theme": "1.8.0",
35
35
  "@nuskin/foundation-ui-components": "2.2.1",
36
36
  "prop-types": "^15.8.1"