@nuskin/address-lookup 1.1.0 → 1.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -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":[]}
@@ -39,7 +39,8 @@ const SmartyIntlResults = ({
39
39
  validationRequestId = 0,
40
40
  language = 'en',
41
41
  strings = null,
42
- formDefinition = null
42
+ formDefinition = null,
43
+ deferFormLookup = false
43
44
  }) => {
44
45
  var _formDefinition$addre, _window$google;
45
46
  const [mode, setMode] = (0, _react.useState)('autocomplete');
@@ -111,7 +112,7 @@ const SmartyIntlResults = ({
111
112
  labels: fieldLabels,
112
113
  isLoading: areLabelsLoading
113
114
  } = (0, _useAddressFieldLabels.default)(countryCode, language, strings);
114
- const shouldLoadAddressForm = !formDefinition;
115
+ const shouldLoadAddressForm = !formDefinition && !deferFormLookup;
115
116
  const {
116
117
  addressForm: loadedAddressForm,
117
118
  isLoading: isFormLoading
@@ -873,7 +874,8 @@ SmartyIntlResults.propTypes = {
873
874
  validationRequestId: _propTypes.default.number,
874
875
  language: _propTypes.default.string,
875
876
  strings: _componentPropTypes.labelStringsPropType,
876
- formDefinition: _componentPropTypes.formDefinitionPropType
877
+ formDefinition: _componentPropTypes.formDefinitionPropType,
878
+ deferFormLookup: _propTypes.default.bool
877
879
  };
878
880
  var _default = exports.default = SmartyIntlResults;
879
881
  //# 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","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","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 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 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 deferFormLookup: PropTypes.bool\n};\n\nexport default SmartyIntlResults;\n"],"mappings":"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","ignoreList":[]}
@@ -38,7 +38,8 @@ const SmartyUSResults = ({
38
38
  validationRequestId = 0,
39
39
  language = 'en',
40
40
  strings = null,
41
- formDefinition = null
41
+ formDefinition = null,
42
+ deferFormLookup = false
42
43
  }) => {
43
44
  var _formDefinition$addre, _window$google;
44
45
  const [mode, setMode] = (0, _react.useState)('autocomplete');
@@ -109,7 +110,7 @@ const SmartyUSResults = ({
109
110
  labels: fieldLabels,
110
111
  isLoading: areLabelsLoading
111
112
  } = (0, _useAddressFieldLabels.default)('US', language, strings);
112
- const shouldLoadAddressForm = !formDefinition;
113
+ const shouldLoadAddressForm = !formDefinition && !deferFormLookup;
113
114
  const {
114
115
  addressForm: loadedAddressForm,
115
116
  isLoading: isFormLoading
@@ -858,7 +859,8 @@ SmartyUSResults.propTypes = {
858
859
  validationRequestId: _propTypes.default.number,
859
860
  language: _propTypes.default.string,
860
861
  strings: _componentPropTypes.labelStringsPropType,
861
- formDefinition: _componentPropTypes.formDefinitionPropType
862
+ formDefinition: _componentPropTypes.formDefinitionPropType,
863
+ deferFormLookup: _propTypes.default.bool
862
864
  };
863
865
  var _default = exports.default = SmartyUSResults;
864
866
  //# 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","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","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 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 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 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.1",
4
4
  "description": "React component for address autocomplete and validation using Smarty services",
5
5
  "main": "dist/index.js",
6
6
  "scripts": {