@nuskin/address-lookup 1.1.2 → 1.2.0
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.
|
@@ -387,7 +387,11 @@ const SmartyIntlResults = ({
|
|
|
387
387
|
requireValidation
|
|
388
388
|
})
|
|
389
389
|
});
|
|
390
|
-
if (
|
|
390
|
+
if ((0, _addressStatus.shouldVerifyAutocompleteSelection)({
|
|
391
|
+
addressForm: resolvedAddressForm,
|
|
392
|
+
formData: normalizedFormData,
|
|
393
|
+
requireValidation
|
|
394
|
+
})) {
|
|
391
395
|
// Trigger validation instead of directly selecting.
|
|
392
396
|
// Keep suggestions visible in case multiple candidates are returned.
|
|
393
397
|
setShowValidationSuggestions(true);
|
|
@@ -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","FIELD_TEST_IDS","address1","address2","district","region","city","postalCode","FIELD_IDS","getFieldTestId","field","getFieldId","SmartyIntlResults","countryCode","onSelect","initialAddress","requireValidation","showManualValidateButton","validationRequestId","language","strings","formDefinition","deferFormLookup","_formDefinition$addre","_window$google","mode","setMode","useState","query","setQuery","selectedAddress","setSelectedAddress","selectedIntlAddressId","setSelectedIntlAddressId","formData","setFormData","verificationStatus","setVerificationStatus","getIncomingVerificationStatus","customError","setCustomError","validationTrigger","setValidationTrigger","validationTriggerSource","setValidationTriggerSource","showValidationSuggestions","setShowValidationSuggestions","mapAddressLines","setMapAddressLines","hasPendingLookupDraft","setHasPendingLookupDraft","touchedFields","setTouchedFields","showAllRequiredErrors","setShowAllRequiredErrors","lookupServiceError","setLookupServiceError","validationServiceError","setValidationServiceError","shouldSearchRef","useRef","fieldTimerRef","componentRef","suggestionsListRef","lastCommittedAddressRef","lookupDraftOriginalRef","appliedSelectionKeyRef","mapValidationStartedRef","autoApplyValidationStartedRef","useEffect","current","type","status","buildAddressStatus","addressForm","resolvedAddressForm","clearTimeout","isAutocompleteMode","labels","fieldLabels","isLoading","areLabelsLoading","useAddressFieldLabels","shouldLoadAddressForm","loadedAddressForm","isFormLoading","useAddressForm","providedAddressForm","addressElements","length","lookupField","requiredFields","getRequiredFieldsFromAddressForm","hasEmailField","some","hasMapCoordinates","undefined","canUseGoogleMaps","window","Boolean","google","maps","importLibrary","hasLookupValue","String","trim","canAttemptMap","includes","showMapAction","mapInfoLines","filter","join","mapContainerRef","pendingMapOpen","setPendingMapOpen","setShowMapModal","showMapModal","useAddressMapModal","infoLines","openInMapsLabel","openInMaps","suggestions","loading","error","rateLimited","useSmartyInternationalLookup","validationSuggestions","validationLoading","validationError","validationRateLimited","useIntlAddressValidation","lookupValue","lookupErrorMessage","lookupError","validationErrorMessage","rawMessage","kind","source","message","clearServiceErrors","lookup","validation","custom","stripUnusedEmail","email","buildTrackedAddress","withAddressVerification","isAcceptableInitialValidationResult","validatedAddress","_validatedAddress$val","validationSummary","code","useInitialAddressVerification","isDetailed","handleDocumentMouseDown","event","component","contains","target","suggestionsList","document","addEventListener","removeEventListener","selectionKey","address_id","street","locality","postal_code","mapped","buildIntlAutocompleteAddressMapping","updatedFormData","normalizedFormData","currentVerificationStatus","verifyAfterAutocomplete","prev","handleInputChange","value","normalizeAddressFieldValue","isFieldRequired","isFieldBlank","hasInvalidPostalCodeFormat","postalCodeRegex","test","normalizePostalCodeValue","hasInvalidEmailFormat","isValidEmail","shouldShowFieldError","shouldShowValidation","requiredError","handleFieldBlur","getFieldErrorMessage","fieldRequired","invalidPostalCode","invalidEmail","hasVisibleFieldError","handleEditableFieldChange","normalizedValue","requiredFieldsForVerification","nextVerificationStatus","getManualEditVerificationStatus","withManualAddressVerificationEdit","setTimeout","payload","handleSelect","entries","displayText","handleValidationSelect","_validatedAddress$met","_validatedAddress$met2","config","formattedMapped","nextMapAddressLines","buildIntlConfiguredVerificationMapping","preserveBlankConfiguredMappings","wrapAddress1ToAddress2","address1Field","find","f","maxLength","wrapped","metadata","verification","analysis","handleValidate","getFieldKey","fieldConfig","getSuggestionKey","suggestion","address_text","administrative_area","getValidationSuggestionKey","_suggestion$component","_suggestion$component2","_suggestion$component3","_suggestion$component4","_suggestion$component5","address3","components","thoroughfare","premise","getIntlValidationSummaryTitle","_suggestion$validatio","_suggestion$validatio2","_suggestion$validatio3","_suggestion$validatio4","_suggestion$validatio5","_suggestion$validatio6","_suggestion$validatio7","intlVerifiedTitle","title","intlVerifiedSubBuildingChangedTitle","intlPartialTitle","intlAmbiguousTitle","intlNotVerifiedTitle","getIntlValidationSummaryMessage","_suggestion$validatio8","_suggestion$validatio9","_suggestion$validatio0","_suggestion$validatio1","_suggestion$validatio10","_suggestion$validatio11","_suggestion$validatio12","intlVerifiedMessage","intlVerifiedSubBuildingChangedMessage","intlPartialMessage","intlAmbiguousMessage","intlNotVerifiedMessage","handleOpenMap","renderLookupActions","jsxs","className","children","jsx","onClick","NsButton","disabled","variant","color","size","switchToManualEntry","switchToAutocomplete","renderLookupLists","isLookupField","shouldShowValidationResults","shouldShowNoResults","ref","map","index","intlNoResults","renderField","fieldError","isInvalid","isReadOnly","editable","inputClassName","style","width","label","NsInputField","id","fieldState","helperText","onBlur","onChange","filtered","filterAllowedCharacters","allowedCharacters","InputProps","readOnly","inputProps","renderAddressForm","loadingAddressForm","Fragment","role","addressLocation","stopPropagation","propTypes","PropTypes","string","isRequired","func","addressPropType","bool","number","labelStringsPropType","formDefinitionPropType","_default","exports"],"sources":["../../src/components/SmartyIntlResults.jsx"],"sourcesContent":["import PropTypes from 'prop-types';\nimport { useState, useEffect, useRef } from 'react';\nimport useSmartyInternationalLookup from '../hooks/useSmartyInternationalLookup';\nimport useIntlAddressValidation from '../hooks/useIntlAddressValidation';\nimport useAddressFieldLabels from '../hooks/useAddressFieldLabels';\nimport useAddressForm from '../hooks/useAddressForm';\nimport useInitialAddressVerification from '../hooks/useInitialAddressVerification';\nimport useAddressMapModal from '../hooks/useAddressMapModal';\nimport {\n buildIntlAutocompleteAddressMapping,\n buildIntlConfiguredVerificationMapping,\n preserveBlankConfiguredMappings\n} from '../utils/addressMapping';\nimport { wrapAddress1ToAddress2 } from '../utils/addressWrapper';\nimport { buildAddressStatus, getRequiredFieldsFromAddressForm } from '../utils/addressStatus';\nimport {\n getIncomingVerificationStatus,\n getManualEditVerificationStatus,\n withAddressVerification,\n withManualAddressVerificationEdit\n} from '../utils/addressVerification';\nimport { isValidEmail, normalizeAddressFieldValue, normalizePostalCodeValue, filterAllowedCharacters } from '../utils/validators';\nimport { addressPropType, formDefinitionPropType, labelStringsPropType } from '../utils/componentPropTypes';\nimport LocationPinIcon from './LocationPinIcon';\nimport { NsButton, NsInputField } from '@nuskin/foundation-ui-components';\n\nconst stripGeocode = (address = {}) => {\n const nextAddress = { ...address };\n delete nextAddress.latitude;\n delete nextAddress.longitude;\n return nextAddress;\n};\n\nconst FIELD_TEST_IDS = {\n address1: 'qa-address-1',\n address2: 'qa-address-2',\n district: 'qa-address-district',\n region: 'qa-address-region',\n city: 'qa-address-city',\n postalCode: 'qa-address-postal-code'\n};\n\nconst FIELD_IDS = {\n address1: 'address-line-1',\n address2: 'address-line-2',\n district: 'address-district',\n region: 'address-region',\n city: 'address-city',\n postalCode: 'address-postal-code'\n};\n\nconst getFieldTestId = (field) => FIELD_TEST_IDS[field] || `qa-address-${field}`;\nconst getFieldId = (field) => FIELD_IDS[field] || `address-${field}`;\n\nconst SmartyIntlResults = ({\n countryCode,\n onSelect,\n initialAddress = null,\n requireValidation = true,\n showManualValidateButton = false,\n validationRequestId = 0,\n language = 'en',\n strings = null,\n formDefinition = null,\n deferFormLookup = false\n}) => {\n const [mode, setMode] = useState('autocomplete');\n const [query, setQuery] = useState('');\n const [selectedAddress, setSelectedAddress] = useState(null);\n const [selectedIntlAddressId, setSelectedIntlAddressId] = useState(null);\n const [formData, setFormData] = useState(initialAddress || {});\n const [verificationStatus, setVerificationStatus] = useState(getIncomingVerificationStatus(initialAddress));\n const [customError, setCustomError] = useState(null);\n const [validationTrigger, setValidationTrigger] = useState(0);\n const [validationTriggerSource, setValidationTriggerSource] = useState(null);\n const [showValidationSuggestions, setShowValidationSuggestions] = useState(false);\n const [mapAddressLines, setMapAddressLines] = useState([]);\n const [hasPendingLookupDraft, setHasPendingLookupDraft] = useState(false);\n const [touchedFields, setTouchedFields] = useState({});\n const [showAllRequiredErrors, setShowAllRequiredErrors] = useState(false);\n const [lookupServiceError, setLookupServiceError] = useState(null);\n const [validationServiceError, setValidationServiceError] = useState(null);\n const shouldSearchRef = useRef(true);\n const fieldTimerRef = useRef(null);\n const componentRef = useRef(null);\n const suggestionsListRef = useRef(null);\n const lastCommittedAddressRef = useRef(initialAddress || {});\n const lookupDraftOriginalRef = useRef(initialAddress || {});\n const appliedSelectionKeyRef = useRef(null);\n const mapValidationStartedRef = useRef(false);\n const autoApplyValidationStartedRef = useRef(false);\n\n useEffect(() => {\n if (initialAddress) {\n setFormData(initialAddress);\n setVerificationStatus(getIncomingVerificationStatus(initialAddress));\n shouldSearchRef.current = false;\n lastCommittedAddressRef.current = initialAddress;\n lookupDraftOriginalRef.current = initialAddress;\n setTouchedFields({});\n setShowAllRequiredErrors(false);\n setLookupServiceError(null);\n setValidationServiceError(null);\n setMapAddressLines([]);\n }\n }, [initialAddress]);\n\n useEffect(() => {\n if (!validationRequestId) {\n return;\n }\n\n setShowAllRequiredErrors(true);\n onSelect?.({\n type: 'validation-request',\n address: formData,\n status: buildAddressStatus({\n countryCode,\n addressForm: resolvedAddressForm,\n formData,\n verificationStatus,\n mode,\n requireValidation\n })\n });\n }, [validationRequestId]);\n\n useEffect(() => {\n return () => {\n if (fieldTimerRef.current) {\n clearTimeout(fieldTimerRef.current);\n }\n };\n }, []);\n\n const isAutocompleteMode = mode === 'autocomplete';\n const {\n labels: fieldLabels,\n isLoading: areLabelsLoading\n } = useAddressFieldLabels(countryCode, language, strings);\n const shouldLoadAddressForm = !formDefinition && !deferFormLookup;\n const {\n addressForm: loadedAddressForm,\n isLoading: isFormLoading\n } = useAddressForm(countryCode, shouldLoadAddressForm);\n const providedAddressForm = formDefinition?.addressElements?.length ? formDefinition : null;\n const resolvedAddressForm = providedAddressForm || loadedAddressForm;\n const lookupField = resolvedAddressForm?.lookupField || 'address1';\n const requiredFields = getRequiredFieldsFromAddressForm(resolvedAddressForm);\n const hasEmailField = (resolvedAddressForm?.addressElements || []).some((field) => field.field === 'email');\n const hasMapCoordinates = (\n formData?.latitude !== undefined && formData?.longitude !== undefined\n );\n const canUseGoogleMaps = typeof window !== 'undefined' &&\n Boolean(window.google?.maps?.importLibrary);\n const hasLookupValue = Boolean(String(formData?.[lookupField] || '').trim());\n const canAttemptMap = Boolean(\n (!isAutocompleteMode && hasLookupValue) ||\n (isAutocompleteMode && ['autocomplete', 'verified'].includes(verificationStatus) && hasLookupValue)\n );\n const showMapAction = canUseGoogleMaps && (hasMapCoordinates || canAttemptMap);\n const mapInfoLines = (mapAddressLines.length ? mapAddressLines : [\n formData.address1,\n formData.address2,\n formData.district,\n [formData.postalCode, formData.city].filter(Boolean).join(' '),\n formData.region\n ]).filter(Boolean);\n const {\n mapContainerRef,\n pendingMapOpen,\n setPendingMapOpen,\n setShowMapModal,\n showMapModal\n } = useAddressMapModal({\n formData,\n infoLines: mapInfoLines,\n canUseGoogleMaps,\n hasMapCoordinates,\n openInMapsLabel: fieldLabels?.openInMaps\n });\n\n const { suggestions, loading, error, rateLimited } = useSmartyInternationalLookup(\n shouldSearchRef.current && isAutocompleteMode ? query : '',\n countryCode,\n selectedIntlAddressId,\n 500\n );\n\n const {\n suggestions: validationSuggestions,\n loading: validationLoading,\n error: validationError,\n rateLimited: validationRateLimited\n } = useIntlAddressValidation(\n formData,\n countryCode,\n requireValidation ? validationTrigger : 0,\n lookupField\n );\n const lookupValue = formData[lookupField];\n const lookupErrorMessage = lookupServiceError?.rateLimited ?\n (fieldLabels?.rateLimited || 'Too many requests. Please wait a moment and try again.') :\n (fieldLabels?.lookupError || 'We could not look up that address right now.');\n const validationErrorMessage = validationServiceError?.rateLimited ?\n (fieldLabels?.rateLimited || 'Too many requests. Please wait a moment and try again.') :\n (fieldLabels?.validationError || 'We could not validate that address right now.');\n\n useEffect(() => {\n if (!error) {\n setLookupServiceError(null);\n return;\n }\n\n setLookupServiceError({\n rateLimited,\n rawMessage: error\n });\n }, [error, rateLimited]);\n\n useEffect(() => {\n if (!validationError) {\n setValidationServiceError(null);\n return;\n }\n\n setValidationServiceError({\n rateLimited: validationRateLimited,\n rawMessage: validationError\n });\n setPendingMapOpen(false);\n mapValidationStartedRef.current = false;\n }, [validationError, validationRateLimited]);\n\n useEffect(() => {\n if (!lookupServiceError) {\n return;\n }\n\n onSelect?.({\n type: 'lookup-error',\n address: formData,\n status: buildAddressStatus({\n countryCode,\n addressForm: resolvedAddressForm,\n formData,\n verificationStatus,\n mode,\n requireValidation\n }),\n error: {\n kind: lookupServiceError.rateLimited ? 'rate-limited' : 'api',\n source: 'autocomplete',\n message: lookupErrorMessage\n }\n });\n }, [lookupServiceError]);\n\n useEffect(() => {\n if (!validationServiceError) {\n return;\n }\n\n onSelect?.({\n type: 'validation-error',\n address: formData,\n status: buildAddressStatus({\n countryCode,\n addressForm: resolvedAddressForm,\n formData,\n verificationStatus,\n mode,\n requireValidation\n }),\n error: {\n kind: validationServiceError.rateLimited ? 'rate-limited' : 'api',\n source: 'validation',\n message: validationErrorMessage\n }\n });\n }, [validationServiceError]);\n\n const clearServiceErrors = ({ lookup = true, validation = true, custom = false } = {}) => {\n if (lookup) {\n setLookupServiceError(null);\n }\n if (validation) {\n setValidationServiceError(null);\n }\n if (custom) {\n setCustomError(null);\n }\n };\n\n const stripUnusedEmail = (address = {}) => {\n if (hasEmailField) {\n return address;\n }\n\n const nextAddress = { ...address };\n delete nextAddress.email;\n return nextAddress;\n };\n\n const buildTrackedAddress = (address = {}, status = 'unverified', source = null) => (\n stripUnusedEmail(withAddressVerification(address, status, source))\n );\n\n const isAcceptableInitialValidationResult = (validatedAddress) => (\n ['verified', 'verified-sub-building-changed']\n .includes(validatedAddress?.validationSummary?.code)\n );\n\n useInitialAddressVerification({\n initialAddress,\n countryCode,\n lookupField,\n requireValidation,\n resolvedAddressForm,\n setValidationServiceError,\n setCustomError,\n setShowValidationSuggestions,\n setValidationTriggerSource,\n setValidationTrigger\n });\n\n useEffect(() => {\n if (selectedIntlAddressId) {\n if (suggestions.length === 1 && suggestions[0].isDetailed) {\n setSelectedAddress(suggestions[0]);\n setSelectedIntlAddressId(null);\n setQuery('');\n setCustomError(null);\n } else if (suggestions.length === 0 && !loading) {\n setCustomError('Unable to retrieve address details. Please try another address or enter manually.');\n setSelectedIntlAddressId(null);\n setQuery('');\n }\n } else if (suggestions.length > 0 && !suggestions[0].isDetailed && !selectedAddress) {\n setSelectedAddress(null);\n setCustomError(null);\n }\n }, [suggestions, selectedIntlAddressId, selectedAddress, loading]);\n\n useEffect(() => {\n if (lookupValue !== undefined && shouldSearchRef.current && !selectedAddress) {\n setQuery(lookupValue);\n }\n }, [lookupValue, selectedAddress]);\n\n useEffect(() => {\n if (validationTrigger > 0 && ['autocomplete', 'map', 'initial'].includes(validationTriggerSource)) {\n autoApplyValidationStartedRef.current = false;\n }\n }, [validationTrigger, validationTriggerSource]);\n\n useEffect(() => {\n if (validationTriggerSource === 'map' && validationLoading) {\n mapValidationStartedRef.current = true;\n }\n if (validationLoading && ['autocomplete', 'map', 'initial'].includes(validationTriggerSource)) {\n autoApplyValidationStartedRef.current = true;\n }\n }, [validationLoading, validationTriggerSource]);\n\n useEffect(() => {\n if (\n validationTriggerSource === 'map' &&\n mapValidationStartedRef.current &&\n showValidationSuggestions &&\n !validationLoading &&\n validationSuggestions.length === 0\n ) {\n setPendingMapOpen(false);\n mapValidationStartedRef.current = false;\n }\n }, [validationLoading, validationSuggestions, validationTriggerSource, showValidationSuggestions]);\n\n useEffect(() => {\n if (!hasPendingLookupDraft || suggestions.length === 0) {\n return undefined;\n }\n\n const handleDocumentMouseDown = (event) => {\n const component = componentRef.current;\n if (component?.contains(event.target)) {\n return;\n }\n\n const suggestionsList = suggestionsListRef.current;\n if (suggestionsList?.contains(event.target) === false) {\n shouldSearchRef.current = false;\n setQuery('');\n setSelectedAddress(null);\n setSelectedIntlAddressId(null);\n setShowValidationSuggestions(false);\n clearServiceErrors({ custom: true });\n setFormData(lookupDraftOriginalRef.current);\n setHasPendingLookupDraft(false);\n }\n };\n\n document.addEventListener('pointerdown', handleDocumentMouseDown);\n return () => {\n document.removeEventListener('pointerdown', handleDocumentMouseDown);\n };\n }, [hasPendingLookupDraft, suggestions]);\n\n useEffect(() => {\n if (selectedAddress) {\n const selectionKey = selectedAddress.address_id ||\n `${selectedAddress.street || ''}|${selectedAddress.locality || ''}|${selectedAddress.postal_code || ''}`;\n if (appliedSelectionKeyRef.current === selectionKey) {\n return;\n }\n appliedSelectionKeyRef.current = selectionKey;\n\n const mapped = buildIntlAutocompleteAddressMapping(selectedAddress, resolvedAddressForm);\n const updatedFormData = {\n ...stripGeocode(formData),\n ...mapped,\n email: formData.email\n };\n const normalizedFormData = buildTrackedAddress(updatedFormData, 'autocomplete', 'smarty-intl');\n setFormData(normalizedFormData);\n setMapAddressLines([]);\n lastCommittedAddressRef.current = normalizedFormData;\n lookupDraftOriginalRef.current = normalizedFormData;\n setHasPendingLookupDraft(false);\n clearServiceErrors({ custom: true });\n const currentVerificationStatus = 'autocomplete';\n setVerificationStatus(currentVerificationStatus);\n onSelect?.({\n type: 'autocomplete',\n address: normalizedFormData,\n status: buildAddressStatus({\n countryCode,\n addressForm: resolvedAddressForm,\n formData: normalizedFormData,\n verificationStatus: currentVerificationStatus,\n mode,\n requireValidation\n })\n });\n\n if (requireValidation && resolvedAddressForm.verifyAfterAutocomplete) {\n // Trigger validation instead of directly selecting.\n // Keep suggestions visible in case multiple candidates are returned.\n setShowValidationSuggestions(true);\n setValidationTriggerSource('autocomplete');\n setValidationTrigger(prev => prev + 1);\n }\n }\n }, [selectedAddress]);\n\n const handleInputChange = (e) => {\n const value = normalizeAddressFieldValue(lookupField, e.target.value);\n shouldSearchRef.current = true;\n appliedSelectionKeyRef.current = null;\n setSelectedAddress(null);\n setSelectedIntlAddressId(null);\n setShowValidationSuggestions(false);\n setShowMapModal(false);\n setPendingMapOpen(false);\n mapValidationStartedRef.current = false;\n setMapAddressLines([]);\n setValidationTriggerSource(null);\n clearServiceErrors({ custom: true });\n if (!hasPendingLookupDraft) {\n lookupDraftOriginalRef.current = formData;\n setHasPendingLookupDraft(true);\n }\n const updatedFormData = stripUnusedEmail({\n ...stripGeocode(formData),\n [lookupField]: value\n });\n setFormData(buildTrackedAddress(updatedFormData, 'unverified'));\n setVerificationStatus('unverified');\n };\n\n const isFieldRequired = (field) => requiredFields.includes(field);\n const isFieldBlank = (field) => String(formData[field] || '').trim() === '';\n const hasInvalidPostalCodeFormat = (field) => {\n if (field !== 'postalCode') {\n return false;\n }\n const value = String(formData.postalCode || '').trim();\n if (!value || !resolvedAddressForm.postalCodeRegex) {\n return false;\n }\n return !resolvedAddressForm.postalCodeRegex.test(normalizePostalCodeValue(value));\n };\n const hasInvalidEmailFormat = (field) => {\n if (field !== 'email') {\n return false;\n }\n const value = String(formData.email || '').trim();\n if (!value) {\n return false;\n }\n return !isValidEmail(value);\n };\n const shouldShowFieldError = (field) => {\n const shouldShowValidation = Boolean(showAllRequiredErrors || touchedFields[field]);\n if (!shouldShowValidation) {\n return false;\n }\n const requiredError = isFieldRequired(field) && isFieldBlank(field);\n return requiredError || hasInvalidPostalCodeFormat(field) || hasInvalidEmailFormat(field);\n };\n\n const handleFieldBlur = (field) => {\n if (!isFieldRequired(field) && field !== 'email' && field !== 'postalCode') {\n return;\n }\n setTouchedFields((prev) => ({ ...prev, [field]: true }));\n };\n\n const getFieldErrorMessage = (field) => {\n if (!shouldShowFieldError(field)) {\n return '';\n }\n if (isFieldRequired(field) && isFieldBlank(field)) {\n return areLabelsLoading ? '' : fieldLabels?.fieldRequired;\n }\n if (hasInvalidPostalCodeFormat(field)) {\n return areLabelsLoading ? '' : fieldLabels?.invalidPostalCode;\n }\n if (hasInvalidEmailFormat(field)) {\n return areLabelsLoading ? '' : fieldLabels?.invalidEmail;\n }\n return '';\n };\n\n const hasVisibleFieldError = (field) => shouldShowFieldError(field);\n\n const handleEditableFieldChange = (field, value) => {\n const normalizedValue = normalizeAddressFieldValue(field, value);\n if (field === lookupField) {\n setShowValidationSuggestions(false);\n }\n setShowMapModal(false);\n setPendingMapOpen(false);\n mapValidationStartedRef.current = false;\n setMapAddressLines([]);\n clearServiceErrors({ custom: true });\n\n const requiredFieldsForVerification = resolvedAddressForm?.requiredFields || requiredFields;\n const nextVerificationStatus = getManualEditVerificationStatus(\n verificationStatus,\n field,\n lookupField,\n requiredFieldsForVerification\n );\n const updatedFormData = withManualAddressVerificationEdit(\n stripUnusedEmail({\n ...stripGeocode(formData),\n [field]: normalizedValue\n }),\n field,\n nextVerificationStatus\n );\n setFormData(updatedFormData);\n setVerificationStatus(nextVerificationStatus);\n\n if (fieldTimerRef.current) {\n clearTimeout(fieldTimerRef.current);\n }\n\n fieldTimerRef.current = setTimeout(() => {\n const payload = {\n type: 'field-change',\n field,\n value: normalizedValue,\n address: updatedFormData,\n status: buildAddressStatus({\n countryCode,\n addressForm: resolvedAddressForm,\n formData: updatedFormData,\n verificationStatus: nextVerificationStatus,\n mode,\n requireValidation\n })\n };\n\n if (hasEmailField && field === 'email' && value) {\n payload.isValidEmail = isValidEmail(normalizedValue);\n }\n\n onSelect?.(payload);\n }, 500);\n };\n\n const handleSelect = (address) => {\n clearServiceErrors({ lookup: true, validation: false, custom: true });\n if (address.entries > 1 || (address.entries === 1 && address.isDetailed === false)) {\n shouldSearchRef.current = true;\n appliedSelectionKeyRef.current = null;\n setSelectedIntlAddressId(address.address_id);\n setQuery(address.displayText);\n } else {\n shouldSearchRef.current = false;\n appliedSelectionKeyRef.current = null;\n setSelectedIntlAddressId(null);\n setSelectedAddress(address);\n setQuery('');\n }\n };\n\n const handleValidationSelect = (validatedAddress) => {\n clearServiceErrors({ lookup: false, validation: true, custom: false });\n const config = resolvedAddressForm.addressElements || [];\n const {\n mapped: formattedMapped,\n mapAddressLines: nextMapAddressLines\n } = buildIntlConfiguredVerificationMapping(validatedAddress, resolvedAddressForm);\n\n let mapped = preserveBlankConfiguredMappings(\n formattedMapped,\n formData,\n config,\n 'verification'\n );\n\n // Apply address wrapping if enabled\n if (resolvedAddressForm.wrapAddress1ToAddress2) {\n const address1Field = config.find(f => f.field === 'address1');\n if (address1Field?.maxLength) {\n const wrapped = wrapAddress1ToAddress2(mapped.address1, mapped.address2, address1Field.maxLength);\n mapped.address1 = wrapped.address1;\n mapped.address2 = wrapped.address2;\n }\n }\n\n const updatedFormData = {\n ...stripGeocode(formData),\n ...mapped,\n email: formData.email,\n latitude: validatedAddress.metadata?.latitude,\n longitude: validatedAddress.metadata?.longitude\n };\n const normalizedFormData = buildTrackedAddress(updatedFormData, 'verified', 'smarty-intl');\n setShowValidationSuggestions(false);\n setValidationTriggerSource(null);\n setFormData(normalizedFormData);\n setMapAddressLines(nextMapAddressLines);\n lastCommittedAddressRef.current = normalizedFormData;\n lookupDraftOriginalRef.current = normalizedFormData;\n setHasPendingLookupDraft(false);\n const currentVerificationStatus = 'verified';\n setVerificationStatus(currentVerificationStatus);\n autoApplyValidationStartedRef.current = false;\n if (pendingMapOpen) {\n setPendingMapOpen(false);\n setShowMapModal(true);\n }\n mapValidationStartedRef.current = false;\n onSelect?.({\n type: 'validation',\n address: normalizedFormData,\n verification: validatedAddress.analysis,\n status: buildAddressStatus({\n countryCode,\n addressForm: resolvedAddressForm,\n formData: normalizedFormData,\n verificationStatus: currentVerificationStatus,\n mode,\n requireValidation\n })\n });\n };\n\n const handleValidate = () => {\n if (!requireValidation) {\n return;\n }\n clearServiceErrors({ lookup: false, validation: true, custom: false });\n setShowValidationSuggestions(true);\n setValidationTriggerSource('manual');\n setValidationTrigger(prev => prev + 1);\n };\n\n const getFieldKey = (fieldConfig) => fieldConfig.field;\n\n const getSuggestionKey = (suggestion) => (\n suggestion.address_id ||\n [\n suggestion.displayText,\n suggestion.street,\n suggestion.address_text,\n suggestion.locality,\n suggestion.administrative_area,\n suggestion.postal_code,\n suggestion.entries\n ].filter((value) => value !== undefined && value !== null).join('|')\n );\n\n const getValidationSuggestionKey = (suggestion) => [\n suggestion.displayText,\n suggestion.address1,\n suggestion.address2,\n suggestion.address3,\n suggestion.components?.thoroughfare,\n suggestion.components?.premise,\n suggestion.components?.locality,\n suggestion.components?.administrative_area,\n suggestion.components?.postal_code\n ].filter((value) => value !== undefined && value !== null).join('|');\n\n const getIntlValidationSummaryTitle = (suggestion) => {\n const code = suggestion.validationSummary?.code;\n\n switch (code) {\n case 'verified':\n return fieldLabels?.intlVerifiedTitle || suggestion.validationSummary?.title || 'Verified';\n case 'verified-sub-building-changed':\n return fieldLabels?.intlVerifiedSubBuildingChangedTitle ||\n suggestion.validationSummary?.title ||\n 'Verified with unit changes';\n case 'partial':\n return fieldLabels?.intlPartialTitle || suggestion.validationSummary?.title || 'Partially verified';\n case 'ambiguous':\n return fieldLabels?.intlAmbiguousTitle || suggestion.validationSummary?.title || 'Multiple matches found';\n case 'not-verified':\n return fieldLabels?.intlNotVerifiedTitle || suggestion.validationSummary?.title || 'Not verified';\n default:\n return suggestion.validationSummary?.title || 'Unknown';\n }\n };\n\n const getIntlValidationSummaryMessage = (suggestion) => {\n const code = suggestion.validationSummary?.code;\n\n switch (code) {\n case 'verified':\n return fieldLabels?.intlVerifiedMessage || suggestion.validationSummary?.message || '';\n case 'verified-sub-building-changed':\n return fieldLabels?.intlVerifiedSubBuildingChangedMessage ||\n suggestion.validationSummary?.message ||\n '';\n case 'partial':\n return fieldLabels?.intlPartialMessage || suggestion.validationSummary?.message || '';\n case 'ambiguous':\n return fieldLabels?.intlAmbiguousMessage || suggestion.validationSummary?.message || '';\n case 'not-verified':\n return fieldLabels?.intlNotVerifiedMessage || suggestion.validationSummary?.message || '';\n default:\n return suggestion.validationSummary?.message || '';\n }\n };\n\n const handleOpenMap = () => {\n if (hasMapCoordinates) {\n setShowMapModal(true);\n return;\n }\n\n if (!canAttemptMap || validationLoading) {\n return;\n }\n\n clearServiceErrors({ lookup: false, validation: true, custom: false });\n mapValidationStartedRef.current = false;\n setPendingMapOpen(true);\n setShowValidationSuggestions(true);\n setValidationTriggerSource('map');\n setValidationTrigger((prev) => prev + 1);\n };\n\n const renderLookupActions = () => (\n <div className=\"ns-address-lookup__actions\">\n {showMapAction && (\n <button\n type=\"button\"\n onClick={handleOpenMap}\n className=\"ns-address-lookup__toggle ns-address-lookup__toggle--icon\"\n title={fieldLabels?.openInMaps}\n aria-label={fieldLabels?.openInMaps}\n >\n <LocationPinIcon className=\"ns-address-lookup__icon\" />\n </button>\n )}\n {!isAutocompleteMode && requireValidation && showManualValidateButton && (\n <NsButton\n type=\"button\"\n onClick={handleValidate}\n disabled={validationLoading || !String(formData[lookupField] || '').trim()}\n variant=\"contained\"\n color=\"primary\"\n size=\"small\"\n >\n {validationLoading ? 'Validating...' : 'Validate Address'}\n </NsButton>\n )}\n <button\n type=\"button\"\n onClick={() => {\n setShowValidationSuggestions(false);\n setShowMapModal(false);\n setPendingMapOpen(false);\n setValidationTriggerSource(null);\n clearServiceErrors({ custom: true });\n setMode(mode === 'autocomplete' ? 'manual' : 'autocomplete');\n }}\n className=\"ns-address-lookup__toggle\"\n >\n {mode === 'autocomplete' ?\n fieldLabels?.switchToManualEntry :\n fieldLabels?.switchToAutocomplete}\n </button>\n </div>\n );\n\n const renderLookupLists = (isLookupField) => {\n const shouldShowValidationResults =\n requireValidation &&\n showValidationSuggestions &&\n (!isAutocompleteMode || ['map', 'initial'].includes(validationTriggerSource));\n const shouldShowNoResults =\n shouldShowValidationResults &&\n !validationLoading &&\n validationSuggestions.length === 0 &&\n !validationServiceError &&\n (validationTriggerSource !== 'map' || mapValidationStartedRef.current);\n\n if (!isLookupField) {\n return null;\n }\n\n if (loading && isAutocompleteMode) {\n return <div className=\"ns-address-lookup__spinner\" />;\n }\n\n if (suggestions.length > 0 && !selectedAddress && isAutocompleteMode) {\n return (\n <ul\n ref={suggestionsListRef}\n className=\"ns-address-lookup__list ns-address-lookup__list--suggestions\">\n {suggestions.map((suggestion, index) => (\n <li\n key={getSuggestionKey(suggestion)}\n className={[\n 'ns-address-lookup__list-item',\n index < suggestions.length - 1 ? 'ns-address-lookup__list-item--divided' : ''\n ].filter(Boolean).join(' ')}\n >\n <button\n type=\"button\"\n onClick={() => handleSelect(suggestion)}\n className=\"ns-address-lookup__list-button\"\n >\n {suggestion.displayText}\n </button>\n </li>\n ))}\n </ul>\n );\n }\n\n if (shouldShowValidationResults && validationSuggestions.length > 0) {\n return (\n <ul className=\"ns-address-lookup__list ns-address-lookup__list--validation-inline\">\n {validationSuggestions.map((suggestion, index) => (\n <li\n key={getValidationSuggestionKey(suggestion)}\n className={[\n 'ns-address-lookup__list-item',\n index < validationSuggestions.length - 1 ? 'ns-address-lookup__list-item--divided' : ''\n ].filter(Boolean).join(' ')}\n >\n <button\n type=\"button\"\n onClick={() => handleValidationSelect(suggestion)}\n className=\"ns-address-lookup__list-button\"\n >\n <div className=\"ns-address-lookup__list-title\">\n {getIntlValidationSummaryTitle(suggestion)}\n </div>\n <div className=\"ns-address-lookup__list-subtitle\">\n {suggestion.displayText}\n </div>\n <div className=\"ns-address-lookup__list-subtitle\">\n {getIntlValidationSummaryMessage(suggestion)}\n </div>\n </button>\n </li>\n ))}\n </ul>\n );\n }\n\n if (shouldShowNoResults) {\n return (\n <div className=\"ns-address-lookup__message\">\n {fieldLabels?.intlNoResults}\n </div>\n );\n }\n\n return null;\n };\n\n useEffect(() => {\n if (\n ['autocomplete', 'map'].includes(validationTriggerSource) &&\n validationSuggestions.length === 1 &&\n autoApplyValidationStartedRef.current\n ) {\n handleValidationSelect(validationSuggestions[0]);\n }\n\n if (\n validationTriggerSource === 'initial' &&\n validationSuggestions.length === 1 &&\n autoApplyValidationStartedRef.current &&\n isAcceptableInitialValidationResult(validationSuggestions[0])\n ) {\n handleValidationSelect(validationSuggestions[0]);\n }\n }, [validationSuggestions, validationTriggerSource]);\n\n const renderField = (fieldConfig) => {\n const isLookupField = fieldConfig.field === lookupField;\n const fieldError = getFieldErrorMessage(fieldConfig.field);\n const isInvalid = hasVisibleFieldError(fieldConfig.field);\n const isReadOnly = (!fieldConfig.editable && !isLookupField) && isAutocompleteMode;\n const inputClassName = [\n 'ns-address-lookup__input',\n isReadOnly ? 'ns-address-lookup__input--readonly' : '',\n isLookupField && loading ? 'ns-address-lookup__input--loading' : ''\n ].filter(Boolean).join(' ');\n\n return (\n <div\n key={getFieldKey(fieldConfig)}\n className=\"ns-address-lookup__field\"\n style={{ width: fieldConfig.width === 'full' ? '100%' : '50%' }}\n >\n {isLookupField && (\n <div className=\"ns-address-lookup__label-row\">\n <label className=\"MuiFormLabel-root MuiFormLabel-colorPrimary css-1ef1ceb-MuiFormLabel-root\">\n {areLabelsLoading ? '' : (fieldLabels?.[fieldConfig.field] || fieldConfig.label)}\n </label>\n {renderLookupActions()}\n </div>\n )}\n <NsInputField\n id={getFieldId(fieldConfig.field)}\n type=\"text\"\n label={isLookupField || areLabelsLoading ? '' : (fieldLabels?.[fieldConfig.field] || fieldConfig.label)}\n value={formData[fieldConfig.field] || ''}\n aria-invalid={shouldShowFieldError(fieldConfig.field) ? 'true' : undefined}\n fieldState={isInvalid ? 'error' : undefined}\n helperText={fieldError || undefined}\n onBlur={() => handleFieldBlur(fieldConfig.field)}\n onChange={(e) => {\n const filtered = filterAllowedCharacters(e.target.value, fieldConfig.allowedCharacters);\n if (isLookupField && isAutocompleteMode) {\n handleInputChange({ ...e, target: { ...e.target, value: filtered } });\n } else {\n handleEditableFieldChange(fieldConfig.field, filtered);\n }\n }}\n InputProps={{\n readOnly: isReadOnly\n }}\n inputProps={{\n maxLength: fieldConfig.maxLength,\n 'data-testid': getFieldTestId(fieldConfig.field)\n }}\n className={inputClassName}\n />\n {renderLookupLists(isLookupField)}\n </div>\n );\n };\n\n const renderAddressForm = () => {\n const config = resolvedAddressForm?.addressElements;\n\n if (!config?.length) {\n if (isFormLoading) {\n return <div>{fieldLabels?.loadingAddressForm}</div>;\n }\n\n return <div>No form available for this country: {countryCode}</div>;\n }\n\n return (\n <>\n {config.map(renderField)}\n </>\n );\n };\n\n return (\n <div ref={componentRef} className=\"ns-address-lookup__panel\">\n {lookupServiceError && <div className=\"ns-address-lookup__message\">{lookupErrorMessage}</div>}\n {customError && <div className=\"ns-address-lookup__message\">{customError}</div>}\n {requireValidation && validationServiceError && (\n <div className=\"ns-address-lookup__message\">\n {validationErrorMessage}\n </div>\n )}\n\n <div className=\"ns-address-lookup__form\">\n {renderAddressForm()}\n </div>\n {showMapModal && (\n <div\n className=\"ns-address-lookup__modal-backdrop\"\n onClick={() => setShowMapModal(false)}\n >\n <div\n className=\"ns-address-lookup__modal\"\n role=\"dialog\"\n aria-modal=\"true\"\n aria-label={fieldLabels?.addressLocation}\n onClick={(event) => event.stopPropagation()}\n >\n <div className=\"ns-address-lookup__modal-header\">\n <div className=\"ns-address-lookup__modal-title\">\n {fieldLabels?.addressLocation}\n </div>\n <button\n type=\"button\"\n className=\"ns-address-lookup__toggle\"\n aria-label=\"Close\"\n onClick={() => setShowMapModal(false)}\n >\n X\n </button>\n </div>\n <div ref={mapContainerRef} className=\"ns-address-lookup__map\" />\n </div>\n </div>\n )}\n </div>\n );\n};\n\nSmartyIntlResults.propTypes = {\n countryCode: PropTypes.string.isRequired,\n onSelect: PropTypes.func,\n initialAddress: addressPropType,\n requireValidation: PropTypes.bool,\n showManualValidateButton: PropTypes.bool,\n validationRequestId: PropTypes.number,\n language: PropTypes.string,\n strings: labelStringsPropType,\n formDefinition: formDefinitionPropType,\n deferFormLookup: PropTypes.bool\n};\n\nexport default SmartyIntlResults;\n"],"mappings":";;;;;;AAAA,IAAAA,UAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AACA,IAAAE,6BAAA,GAAAH,sBAAA,CAAAC,OAAA;AACA,IAAAG,yBAAA,GAAAJ,sBAAA,CAAAC,OAAA;AACA,IAAAI,sBAAA,GAAAL,sBAAA,CAAAC,OAAA;AACA,IAAAK,eAAA,GAAAN,sBAAA,CAAAC,OAAA;AACA,IAAAM,8BAAA,GAAAP,sBAAA,CAAAC,OAAA;AACA,IAAAO,mBAAA,GAAAR,sBAAA,CAAAC,OAAA;AACA,IAAAQ,eAAA,GAAAR,OAAA;AAKA,IAAAS,eAAA,GAAAT,OAAA;AACA,IAAAU,cAAA,GAAAV,OAAA;AACA,IAAAW,oBAAA,GAAAX,OAAA;AAMA,IAAAY,WAAA,GAAAZ,OAAA;AACA,IAAAa,mBAAA,GAAAb,OAAA;AACA,IAAAc,gBAAA,GAAAf,sBAAA,CAAAC,OAAA;AACA,IAAAe,uBAAA,GAAAf,OAAA;AAA0E,IAAAgB,WAAA,GAAAhB,OAAA;AAAA,SAAAD,uBAAAkB,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAE1E,MAAMG,YAAY,GAAGA,CAACC,OAAO,GAAG,CAAC,CAAC,KAAK;EACrC,MAAMC,WAAW,GAAG;IAAE,GAAGD;EAAQ,CAAC;EAClC,OAAOC,WAAW,CAACC,QAAQ;EAC3B,OAAOD,WAAW,CAACE,SAAS;EAC5B,OAAOF,WAAW;AACpB,CAAC;AAED,MAAMG,cAAc,GAAG;EACrBC,QAAQ,EAAE,cAAc;EACxBC,QAAQ,EAAE,cAAc;EACxBC,QAAQ,EAAE,qBAAqB;EAC/BC,MAAM,EAAE,mBAAmB;EAC3BC,IAAI,EAAE,iBAAiB;EACvBC,UAAU,EAAE;AACd,CAAC;AAED,MAAMC,SAAS,GAAG;EAChBN,QAAQ,EAAE,gBAAgB;EAC1BC,QAAQ,EAAE,gBAAgB;EAC1BC,QAAQ,EAAE,kBAAkB;EAC5BC,MAAM,EAAE,gBAAgB;EACxBC,IAAI,EAAE,cAAc;EACpBC,UAAU,EAAE;AACd,CAAC;AAED,MAAME,cAAc,GAAIC,KAAK,IAAKT,cAAc,CAACS,KAAK,CAAC,IAAI,cAAcA,KAAK,EAAE;AAChF,MAAMC,UAAU,GAAID,KAAK,IAAKF,SAAS,CAACE,KAAK,CAAC,IAAI,WAAWA,KAAK,EAAE;AAEpE,MAAME,iBAAiB,GAAGA,CAAC;EACzBC,WAAW;EACXC,QAAQ;EACRC,cAAc,GAAG,IAAI;EACrBC,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;EAAA,IAAAC,qBAAA,EAAAC,cAAA;EACJ,MAAM,CAACC,IAAI,EAAEC,OAAO,CAAC,GAAG,IAAAC,eAAQ,EAAC,cAAc,CAAC;EAChD,MAAM,CAACC,KAAK,EAAEC,QAAQ,CAAC,GAAG,IAAAF,eAAQ,EAAC,EAAE,CAAC;EACtC,MAAM,CAACG,eAAe,EAAEC,kBAAkB,CAAC,GAAG,IAAAJ,eAAQ,EAAC,IAAI,CAAC;EAC5D,MAAM,CAACK,qBAAqB,EAAEC,wBAAwB,CAAC,GAAG,IAAAN,eAAQ,EAAC,IAAI,CAAC;EACxE,MAAM,CAACO,QAAQ,EAAEC,WAAW,CAAC,GAAG,IAAAR,eAAQ,EAACZ,cAAc,IAAI,CAAC,CAAC,CAAC;EAC9D,MAAM,CAACqB,kBAAkB,EAAEC,qBAAqB,CAAC,GAAG,IAAAV,eAAQ,EAAC,IAAAW,kDAA6B,EAACvB,cAAc,CAAC,CAAC;EAC3G,MAAM,CAACwB,WAAW,EAAEC,cAAc,CAAC,GAAG,IAAAb,eAAQ,EAAC,IAAI,CAAC;EACpD,MAAM,CAACc,iBAAiB,EAAEC,oBAAoB,CAAC,GAAG,IAAAf,eAAQ,EAAC,CAAC,CAAC;EAC7D,MAAM,CAACgB,uBAAuB,EAAEC,0BAA0B,CAAC,GAAG,IAAAjB,eAAQ,EAAC,IAAI,CAAC;EAC5E,MAAM,CAACkB,yBAAyB,EAAEC,4BAA4B,CAAC,GAAG,IAAAnB,eAAQ,EAAC,KAAK,CAAC;EACjF,MAAM,CAACoB,eAAe,EAAEC,kBAAkB,CAAC,GAAG,IAAArB,eAAQ,EAAC,EAAE,CAAC;EAC1D,MAAM,CAACsB,qBAAqB,EAAEC,wBAAwB,CAAC,GAAG,IAAAvB,eAAQ,EAAC,KAAK,CAAC;EACzE,MAAM,CAACwB,aAAa,EAAEC,gBAAgB,CAAC,GAAG,IAAAzB,eAAQ,EAAC,CAAC,CAAC,CAAC;EACtD,MAAM,CAAC0B,qBAAqB,EAAEC,wBAAwB,CAAC,GAAG,IAAA3B,eAAQ,EAAC,KAAK,CAAC;EACzE,MAAM,CAAC4B,kBAAkB,EAAEC,qBAAqB,CAAC,GAAG,IAAA7B,eAAQ,EAAC,IAAI,CAAC;EAClE,MAAM,CAAC8B,sBAAsB,EAAEC,yBAAyB,CAAC,GAAG,IAAA/B,eAAQ,EAAC,IAAI,CAAC;EAC1E,MAAMgC,eAAe,GAAG,IAAAC,aAAM,EAAC,IAAI,CAAC;EACpC,MAAMC,aAAa,GAAG,IAAAD,aAAM,EAAC,IAAI,CAAC;EAClC,MAAME,YAAY,GAAG,IAAAF,aAAM,EAAC,IAAI,CAAC;EACjC,MAAMG,kBAAkB,GAAG,IAAAH,aAAM,EAAC,IAAI,CAAC;EACvC,MAAMI,uBAAuB,GAAG,IAAAJ,aAAM,EAAC7C,cAAc,IAAI,CAAC,CAAC,CAAC;EAC5D,MAAMkD,sBAAsB,GAAG,IAAAL,aAAM,EAAC7C,cAAc,IAAI,CAAC,CAAC,CAAC;EAC3D,MAAMmD,sBAAsB,GAAG,IAAAN,aAAM,EAAC,IAAI,CAAC;EAC3C,MAAMO,uBAAuB,GAAG,IAAAP,aAAM,EAAC,KAAK,CAAC;EAC7C,MAAMQ,6BAA6B,GAAG,IAAAR,aAAM,EAAC,KAAK,CAAC;EAEnD,IAAAS,gBAAS,EAAC,MAAM;IACd,IAAItD,cAAc,EAAE;MAClBoB,WAAW,CAACpB,cAAc,CAAC;MAC3BsB,qBAAqB,CAAC,IAAAC,kDAA6B,EAACvB,cAAc,CAAC,CAAC;MACpE4C,eAAe,CAACW,OAAO,GAAG,KAAK;MAC/BN,uBAAuB,CAACM,OAAO,GAAGvD,cAAc;MAChDkD,sBAAsB,CAACK,OAAO,GAAGvD,cAAc;MAC/CqC,gBAAgB,CAAC,CAAC,CAAC,CAAC;MACpBE,wBAAwB,CAAC,KAAK,CAAC;MAC/BE,qBAAqB,CAAC,IAAI,CAAC;MAC3BE,yBAAyB,CAAC,IAAI,CAAC;MAC/BV,kBAAkB,CAAC,EAAE,CAAC;IACxB;EACF,CAAC,EAAE,CAACjC,cAAc,CAAC,CAAC;EAEpB,IAAAsD,gBAAS,EAAC,MAAM;IACd,IAAI,CAACnD,mBAAmB,EAAE;MACxB;IACF;IAEAoC,wBAAwB,CAAC,IAAI,CAAC;IAC9BxC,QAAQ,aAARA,QAAQ,eAARA,QAAQ,CAAG;MACTyD,IAAI,EAAE,oBAAoB;MAC1B1E,OAAO,EAAEqC,QAAQ;MACjBsC,MAAM,EAAE,IAAAC,iCAAkB,EAAC;QACzB5D,WAAW;QACX6D,WAAW,EAAEC,mBAAmB;QAChCzC,QAAQ;QACRE,kBAAkB;QAClBX,IAAI;QACJT;MACF,CAAC;IACH,CAAC,CAAC;EACJ,CAAC,EAAE,CAACE,mBAAmB,CAAC,CAAC;EAEzB,IAAAmD,gBAAS,EAAC,MAAM;IACd,OAAO,MAAM;MACX,IAAIR,aAAa,CAACS,OAAO,EAAE;QACzBM,YAAY,CAACf,aAAa,CAACS,OAAO,CAAC;MACrC;IACF,CAAC;EACH,CAAC,EAAE,EAAE,CAAC;EAEN,MAAMO,kBAAkB,GAAGpD,IAAI,KAAK,cAAc;EAClD,MAAM;IACJqD,MAAM,EAAEC,WAAW;IACnBC,SAAS,EAAEC;EACb,CAAC,GAAG,IAAAC,8BAAqB,EAACrE,WAAW,EAAEM,QAAQ,EAAEC,OAAO,CAAC;EACzD,MAAM+D,qBAAqB,GAAG,CAAC9D,cAAc,IAAI,CAACC,eAAe;EACjE,MAAM;IACJoD,WAAW,EAAEU,iBAAiB;IAC9BJ,SAAS,EAAEK;EACb,CAAC,GAAG,IAAAC,uBAAc,EAACzE,WAAW,EAAEsE,qBAAqB,CAAC;EACtD,MAAMI,mBAAmB,GAAGlE,cAAc,aAAdA,cAAc,gBAAAE,qBAAA,GAAdF,cAAc,CAAEmE,eAAe,cAAAjE,qBAAA,eAA/BA,qBAAA,CAAiCkE,MAAM,GAAGpE,cAAc,GAAG,IAAI;EAC3F,MAAMsD,mBAAmB,GAAGY,mBAAmB,IAAIH,iBAAiB;EACpE,MAAMM,WAAW,GAAG,CAAAf,mBAAmB,aAAnBA,mBAAmB,uBAAnBA,mBAAmB,CAAEe,WAAW,KAAI,UAAU;EAClE,MAAMC,cAAc,GAAG,IAAAC,+CAAgC,EAACjB,mBAAmB,CAAC;EAC5E,MAAMkB,aAAa,GAAG,CAAC,CAAAlB,mBAAmB,aAAnBA,mBAAmB,uBAAnBA,mBAAmB,CAAEa,eAAe,KAAI,EAAE,EAAEM,IAAI,CAAEpF,KAAK,IAAKA,KAAK,CAACA,KAAK,KAAK,OAAO,CAAC;EAC3G,MAAMqF,iBAAiB,GACrB,CAAA7D,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAEnC,QAAQ,MAAKiG,SAAS,IAAI,CAAA9D,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAElC,SAAS,MAAKgG,SAC7D;EACD,MAAMC,gBAAgB,GAAG,OAAOC,MAAM,KAAK,WAAW,IACpDC,OAAO,EAAA3E,cAAA,GAAC0E,MAAM,CAACE,MAAM,cAAA5E,cAAA,gBAAAA,cAAA,GAAbA,cAAA,CAAe6E,IAAI,cAAA7E,cAAA,uBAAnBA,cAAA,CAAqB8E,aAAa,CAAC;EAC7C,MAAMC,cAAc,GAAGJ,OAAO,CAACK,MAAM,CAAC,CAAAtE,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAGwD,WAAW,CAAC,KAAI,EAAE,CAAC,CAACe,IAAI,CAAC,CAAC,CAAC;EAC5E,MAAMC,aAAa,GAAGP,OAAO,CAC1B,CAACtB,kBAAkB,IAAI0B,cAAc,IACrC1B,kBAAkB,IAAI,CAAC,cAAc,EAAE,UAAU,CAAC,CAAC8B,QAAQ,CAACvE,kBAAkB,CAAC,IAAImE,cACtF,CAAC;EACD,MAAMK,aAAa,GAAGX,gBAAgB,KAAKF,iBAAiB,IAAIW,aAAa,CAAC;EAC9E,MAAMG,YAAY,GAAG,CAAC9D,eAAe,CAAC0C,MAAM,GAAG1C,eAAe,GAAG,CAC/Db,QAAQ,CAAChC,QAAQ,EACjBgC,QAAQ,CAAC/B,QAAQ,EACjB+B,QAAQ,CAAC9B,QAAQ,EACjB,CAAC8B,QAAQ,CAAC3B,UAAU,EAAE2B,QAAQ,CAAC5B,IAAI,CAAC,CAACwG,MAAM,CAACX,OAAO,CAAC,CAACY,IAAI,CAAC,GAAG,CAAC,EAC9D7E,QAAQ,CAAC7B,MAAM,CAChB,EAAEyG,MAAM,CAACX,OAAO,CAAC;EAClB,MAAM;IACJa,eAAe;IACfC,cAAc;IACdC,iBAAiB;IACjBC,eAAe;IACfC;EACF,CAAC,GAAG,IAAAC,2BAAkB,EAAC;IACrBnF,QAAQ;IACRoF,SAAS,EAAET,YAAY;IACvBZ,gBAAgB;IAChBF,iBAAiB;IACjBwB,eAAe,EAAExC,WAAW,aAAXA,WAAW,uBAAXA,WAAW,CAAEyC;EAChC,CAAC,CAAC;EAEF,MAAM;IAAEC,WAAW;IAAEC,OAAO;IAAEC,KAAK;IAAEC;EAAY,CAAC,GAAG,IAAAC,qCAA4B,EAC/ElE,eAAe,CAACW,OAAO,IAAIO,kBAAkB,GAAGjD,KAAK,GAAG,EAAE,EAC1Df,WAAW,EACXmB,qBAAqB,EACrB,GACF,CAAC;EAED,MAAM;IACJyF,WAAW,EAAEK,qBAAqB;IAClCJ,OAAO,EAAEK,iBAAiB;IAC1BJ,KAAK,EAAEK,eAAe;IACtBJ,WAAW,EAAEK;EACf,CAAC,GAAG,IAAAC,iCAAwB,EAC1BhG,QAAQ,EACRrB,WAAW,EACXG,iBAAiB,GAAGyB,iBAAiB,GAAG,CAAC,EACzCiD,WACF,CAAC;EACD,MAAMyC,WAAW,GAAGjG,QAAQ,CAACwD,WAAW,CAAC;EACzC,MAAM0C,kBAAkB,GAAG7E,kBAAkB,aAAlBA,kBAAkB,eAAlBA,kBAAkB,CAAEqE,WAAW,GACvD,CAAA7C,WAAW,aAAXA,WAAW,uBAAXA,WAAW,CAAE6C,WAAW,KAAI,wDAAwD,GACpF,CAAA7C,WAAW,aAAXA,WAAW,uBAAXA,WAAW,CAAEsD,WAAW,KAAI,8CAA+C;EAC9E,MAAMC,sBAAsB,GAAG7E,sBAAsB,aAAtBA,sBAAsB,eAAtBA,sBAAsB,CAAEmE,WAAW,GAC/D,CAAA7C,WAAW,aAAXA,WAAW,uBAAXA,WAAW,CAAE6C,WAAW,KAAI,wDAAwD,GACpF,CAAA7C,WAAW,aAAXA,WAAW,uBAAXA,WAAW,CAAEiD,eAAe,KAAI,+CAAgD;EAEnF,IAAA3D,gBAAS,EAAC,MAAM;IACd,IAAI,CAACsD,KAAK,EAAE;MACVnE,qBAAqB,CAAC,IAAI,CAAC;MAC3B;IACF;IAEAA,qBAAqB,CAAC;MACpBoE,WAAW;MACXW,UAAU,EAAEZ;IACd,CAAC,CAAC;EACJ,CAAC,EAAE,CAACA,KAAK,EAAEC,WAAW,CAAC,CAAC;EAExB,IAAAvD,gBAAS,EAAC,MAAM;IACd,IAAI,CAAC2D,eAAe,EAAE;MACpBtE,yBAAyB,CAAC,IAAI,CAAC;MAC/B;IACF;IAEAA,yBAAyB,CAAC;MACxBkE,WAAW,EAAEK,qBAAqB;MAClCM,UAAU,EAAEP;IACd,CAAC,CAAC;IACFd,iBAAiB,CAAC,KAAK,CAAC;IACxB/C,uBAAuB,CAACG,OAAO,GAAG,KAAK;EACzC,CAAC,EAAE,CAAC0D,eAAe,EAAEC,qBAAqB,CAAC,CAAC;EAE5C,IAAA5D,gBAAS,EAAC,MAAM;IACd,IAAI,CAACd,kBAAkB,EAAE;MACvB;IACF;IAEAzC,QAAQ,aAARA,QAAQ,eAARA,QAAQ,CAAG;MACTyD,IAAI,EAAE,cAAc;MACpB1E,OAAO,EAAEqC,QAAQ;MACjBsC,MAAM,EAAE,IAAAC,iCAAkB,EAAC;QACzB5D,WAAW;QACX6D,WAAW,EAAEC,mBAAmB;QAChCzC,QAAQ;QACRE,kBAAkB;QAClBX,IAAI;QACJT;MACF,CAAC,CAAC;MACF2G,KAAK,EAAE;QACLa,IAAI,EAAEjF,kBAAkB,CAACqE,WAAW,GAAG,cAAc,GAAG,KAAK;QAC7Da,MAAM,EAAE,cAAc;QACtBC,OAAO,EAAEN;MACX;IACF,CAAC,CAAC;EACJ,CAAC,EAAE,CAAC7E,kBAAkB,CAAC,CAAC;EAExB,IAAAc,gBAAS,EAAC,MAAM;IACd,IAAI,CAACZ,sBAAsB,EAAE;MAC3B;IACF;IAEA3C,QAAQ,aAARA,QAAQ,eAARA,QAAQ,CAAG;MACTyD,IAAI,EAAE,kBAAkB;MACxB1E,OAAO,EAAEqC,QAAQ;MACjBsC,MAAM,EAAE,IAAAC,iCAAkB,EAAC;QACzB5D,WAAW;QACX6D,WAAW,EAAEC,mBAAmB;QAChCzC,QAAQ;QACRE,kBAAkB;QAClBX,IAAI;QACJT;MACF,CAAC,CAAC;MACF2G,KAAK,EAAE;QACLa,IAAI,EAAE/E,sBAAsB,CAACmE,WAAW,GAAG,cAAc,GAAG,KAAK;QACjEa,MAAM,EAAE,YAAY;QACpBC,OAAO,EAAEJ;MACX;IACF,CAAC,CAAC;EACJ,CAAC,EAAE,CAAC7E,sBAAsB,CAAC,CAAC;EAE5B,MAAMkF,kBAAkB,GAAGA,CAAC;IAAEC,MAAM,GAAG,IAAI;IAAEC,UAAU,GAAG,IAAI;IAAEC,MAAM,GAAG;EAAM,CAAC,GAAG,CAAC,CAAC,KAAK;IACxF,IAAIF,MAAM,EAAE;MACVpF,qBAAqB,CAAC,IAAI,CAAC;IAC7B;IACA,IAAIqF,UAAU,EAAE;MACdnF,yBAAyB,CAAC,IAAI,CAAC;IACjC;IACA,IAAIoF,MAAM,EAAE;MACVtG,cAAc,CAAC,IAAI,CAAC;IACtB;EACF,CAAC;EAED,MAAMuG,gBAAgB,GAAGA,CAAClJ,OAAO,GAAG,CAAC,CAAC,KAAK;IACzC,IAAIgG,aAAa,EAAE;MACjB,OAAOhG,OAAO;IAChB;IAEA,MAAMC,WAAW,GAAG;MAAE,GAAGD;IAAQ,CAAC;IAClC,OAAOC,WAAW,CAACkJ,KAAK;IACxB,OAAOlJ,WAAW;EACpB,CAAC;EAED,MAAMmJ,mBAAmB,GAAGA,CAACpJ,OAAO,GAAG,CAAC,CAAC,EAAE2E,MAAM,GAAG,YAAY,EAAEiE,MAAM,GAAG,IAAI,KAC7EM,gBAAgB,CAAC,IAAAG,4CAAuB,EAACrJ,OAAO,EAAE2E,MAAM,EAAEiE,MAAM,CAAC,CAClE;EAED,MAAMU,mCAAmC,GAAIC,gBAAgB;IAAA,IAAAC,qBAAA;IAAA,OAC3D,CAAC,UAAU,EAAE,+BAA+B,CAAC,CAC1C1C,QAAQ,CAACyC,gBAAgB,aAAhBA,gBAAgB,gBAAAC,qBAAA,GAAhBD,gBAAgB,CAAEE,iBAAiB,cAAAD,qBAAA,uBAAnCA,qBAAA,CAAqCE,IAAI,CAAC;EAAA,CACvD;EAED,IAAAC,sCAA6B,EAAC;IAC5BzI,cAAc;IACdF,WAAW;IACX6E,WAAW;IACX1E,iBAAiB;IACjB2D,mBAAmB;IACnBjB,yBAAyB;IACzBlB,cAAc;IACdM,4BAA4B;IAC5BF,0BAA0B;IAC1BF;EACF,CAAC,CAAC;EAEF,IAAA2B,gBAAS,EAAC,MAAM;IACd,IAAIrC,qBAAqB,EAAE;MACzB,IAAIyF,WAAW,CAAChC,MAAM,KAAK,CAAC,IAAIgC,WAAW,CAAC,CAAC,CAAC,CAACgC,UAAU,EAAE;QACzD1H,kBAAkB,CAAC0F,WAAW,CAAC,CAAC,CAAC,CAAC;QAClCxF,wBAAwB,CAAC,IAAI,CAAC;QAC9BJ,QAAQ,CAAC,EAAE,CAAC;QACZW,cAAc,CAAC,IAAI,CAAC;MACtB,CAAC,MAAM,IAAIiF,WAAW,CAAChC,MAAM,KAAK,CAAC,IAAI,CAACiC,OAAO,EAAE;QAC/ClF,cAAc,CAAC,mFAAmF,CAAC;QACnGP,wBAAwB,CAAC,IAAI,CAAC;QAC9BJ,QAAQ,CAAC,EAAE,CAAC;MACd;IACF,CAAC,MAAM,IAAI4F,WAAW,CAAChC,MAAM,GAAG,CAAC,IAAI,CAACgC,WAAW,CAAC,CAAC,CAAC,CAACgC,UAAU,IAAI,CAAC3H,eAAe,EAAE;MACnFC,kBAAkB,CAAC,IAAI,CAAC;MACxBS,cAAc,CAAC,IAAI,CAAC;IACtB;EACF,CAAC,EAAE,CAACiF,WAAW,EAAEzF,qBAAqB,EAAEF,eAAe,EAAE4F,OAAO,CAAC,CAAC;EAElE,IAAArD,gBAAS,EAAC,MAAM;IACd,IAAI8D,WAAW,KAAKnC,SAAS,IAAIrC,eAAe,CAACW,OAAO,IAAI,CAACxC,eAAe,EAAE;MAC5ED,QAAQ,CAACsG,WAAW,CAAC;IACvB;EACF,CAAC,EAAE,CAACA,WAAW,EAAErG,eAAe,CAAC,CAAC;EAElC,IAAAuC,gBAAS,EAAC,MAAM;IACd,IAAI5B,iBAAiB,GAAG,CAAC,IAAI,CAAC,cAAc,EAAE,KAAK,EAAE,SAAS,CAAC,CAACkE,QAAQ,CAAChE,uBAAuB,CAAC,EAAE;MACjGyB,6BAA6B,CAACE,OAAO,GAAG,KAAK;IAC/C;EACF,CAAC,EAAE,CAAC7B,iBAAiB,EAAEE,uBAAuB,CAAC,CAAC;EAEhD,IAAA0B,gBAAS,EAAC,MAAM;IACd,IAAI1B,uBAAuB,KAAK,KAAK,IAAIoF,iBAAiB,EAAE;MAC1D5D,uBAAuB,CAACG,OAAO,GAAG,IAAI;IACxC;IACA,IAAIyD,iBAAiB,IAAI,CAAC,cAAc,EAAE,KAAK,EAAE,SAAS,CAAC,CAACpB,QAAQ,CAAChE,uBAAuB,CAAC,EAAE;MAC7FyB,6BAA6B,CAACE,OAAO,GAAG,IAAI;IAC9C;EACF,CAAC,EAAE,CAACyD,iBAAiB,EAAEpF,uBAAuB,CAAC,CAAC;EAEhD,IAAA0B,gBAAS,EAAC,MAAM;IACd,IACE1B,uBAAuB,KAAK,KAAK,IACjCwB,uBAAuB,CAACG,OAAO,IAC/BzB,yBAAyB,IACzB,CAACkF,iBAAiB,IAClBD,qBAAqB,CAACrC,MAAM,KAAK,CAAC,EAClC;MACAyB,iBAAiB,CAAC,KAAK,CAAC;MACxB/C,uBAAuB,CAACG,OAAO,GAAG,KAAK;IACzC;EACF,CAAC,EAAE,CAACyD,iBAAiB,EAAED,qBAAqB,EAAEnF,uBAAuB,EAAEE,yBAAyB,CAAC,CAAC;EAElG,IAAAwB,gBAAS,EAAC,MAAM;IACd,IAAI,CAACpB,qBAAqB,IAAIwE,WAAW,CAAChC,MAAM,KAAK,CAAC,EAAE;MACtD,OAAOO,SAAS;IAClB;IAEA,MAAM0D,uBAAuB,GAAIC,KAAK,IAAK;MACzC,MAAMC,SAAS,GAAG9F,YAAY,CAACQ,OAAO;MACtC,IAAIsF,SAAS,aAATA,SAAS,eAATA,SAAS,CAAEC,QAAQ,CAACF,KAAK,CAACG,MAAM,CAAC,EAAE;QACrC;MACF;MAEA,MAAMC,eAAe,GAAGhG,kBAAkB,CAACO,OAAO;MAClD,IAAI,CAAAyF,eAAe,aAAfA,eAAe,uBAAfA,eAAe,CAAEF,QAAQ,CAACF,KAAK,CAACG,MAAM,CAAC,MAAK,KAAK,EAAE;QACrDnG,eAAe,CAACW,OAAO,GAAG,KAAK;QAC/BzC,QAAQ,CAAC,EAAE,CAAC;QACZE,kBAAkB,CAAC,IAAI,CAAC;QACxBE,wBAAwB,CAAC,IAAI,CAAC;QAC9Ba,4BAA4B,CAAC,KAAK,CAAC;QACnC6F,kBAAkB,CAAC;UAAEG,MAAM,EAAE;QAAK,CAAC,CAAC;QACpC3G,WAAW,CAAC8B,sBAAsB,CAACK,OAAO,CAAC;QAC3CpB,wBAAwB,CAAC,KAAK,CAAC;MACjC;IACF,CAAC;IAED8G,QAAQ,CAACC,gBAAgB,CAAC,aAAa,EAAEP,uBAAuB,CAAC;IACjE,OAAO,MAAM;MACXM,QAAQ,CAACE,mBAAmB,CAAC,aAAa,EAAER,uBAAuB,CAAC;IACtE,CAAC;EACH,CAAC,EAAE,CAACzG,qBAAqB,EAAEwE,WAAW,CAAC,CAAC;EAExC,IAAApD,gBAAS,EAAC,MAAM;IACd,IAAIvC,eAAe,EAAE;MACnB,MAAMqI,YAAY,GAAGrI,eAAe,CAACsI,UAAU,IAC7C,GAAGtI,eAAe,CAACuI,MAAM,IAAI,EAAE,IAAIvI,eAAe,CAACwI,QAAQ,IAAI,EAAE,IAAIxI,eAAe,CAACyI,WAAW,IAAI,EAAE,EAAE;MAC1G,IAAIrG,sBAAsB,CAACI,OAAO,KAAK6F,YAAY,EAAE;QACnD;MACF;MACAjG,sBAAsB,CAACI,OAAO,GAAG6F,YAAY;MAE7C,MAAMK,MAAM,GAAG,IAAAC,mDAAmC,EAAC3I,eAAe,EAAE6C,mBAAmB,CAAC;MACxF,MAAM+F,eAAe,GAAG;QACtB,GAAG9K,YAAY,CAACsC,QAAQ,CAAC;QACzB,GAAGsI,MAAM;QACTxB,KAAK,EAAE9G,QAAQ,CAAC8G;MAClB,CAAC;MACD,MAAM2B,kBAAkB,GAAG1B,mBAAmB,CAACyB,eAAe,EAAE,cAAc,EAAE,aAAa,CAAC;MAC9FvI,WAAW,CAACwI,kBAAkB,CAAC;MAC/B3H,kBAAkB,CAAC,EAAE,CAAC;MACtBgB,uBAAuB,CAACM,OAAO,GAAGqG,kBAAkB;MACpD1G,sBAAsB,CAACK,OAAO,GAAGqG,kBAAkB;MACnDzH,wBAAwB,CAAC,KAAK,CAAC;MAC/ByF,kBAAkB,CAAC;QAAEG,MAAM,EAAE;MAAK,CAAC,CAAC;MACpC,MAAM8B,yBAAyB,GAAG,cAAc;MAChDvI,qBAAqB,CAACuI,yBAAyB,CAAC;MAChD9J,QAAQ,aAARA,QAAQ,eAARA,QAAQ,CAAG;QACTyD,IAAI,EAAE,cAAc;QACpB1E,OAAO,EAAE8K,kBAAkB;QAC3BnG,MAAM,EAAE,IAAAC,iCAAkB,EAAC;UACzB5D,WAAW;UACX6D,WAAW,EAAEC,mBAAmB;UAChCzC,QAAQ,EAAEyI,kBAAkB;UAC5BvI,kBAAkB,EAAEwI,yBAAyB;UAC7CnJ,IAAI;UACJT;QACF,CAAC;MACH,CAAC,CAAC;MAEF,IAAIA,iBAAiB,IAAI2D,mBAAmB,CAACkG,uBAAuB,EAAE;QACpE;QACA;QACA/H,4BAA4B,CAAC,IAAI,CAAC;QAClCF,0BAA0B,CAAC,cAAc,CAAC;QAC1CF,oBAAoB,CAACoI,IAAI,IAAIA,IAAI,GAAG,CAAC,CAAC;MACxC;IACF;EACF,CAAC,EAAE,CAAChJ,eAAe,CAAC,CAAC;EAErB,MAAMiJ,iBAAiB,GAAItL,CAAC,IAAK;IAC/B,MAAMuL,KAAK,GAAG,IAAAC,sCAA0B,EAACvF,WAAW,EAAEjG,CAAC,CAACqK,MAAM,CAACkB,KAAK,CAAC;IACrErH,eAAe,CAACW,OAAO,GAAG,IAAI;IAC9BJ,sBAAsB,CAACI,OAAO,GAAG,IAAI;IACrCvC,kBAAkB,CAAC,IAAI,CAAC;IACxBE,wBAAwB,CAAC,IAAI,CAAC;IAC9Ba,4BAA4B,CAAC,KAAK,CAAC;IACnCqE,eAAe,CAAC,KAAK,CAAC;IACtBD,iBAAiB,CAAC,KAAK,CAAC;IACxB/C,uBAAuB,CAACG,OAAO,GAAG,KAAK;IACvCtB,kBAAkB,CAAC,EAAE,CAAC;IACtBJ,0BAA0B,CAAC,IAAI,CAAC;IAChC+F,kBAAkB,CAAC;MAAEG,MAAM,EAAE;IAAK,CAAC,CAAC;IACpC,IAAI,CAAC7F,qBAAqB,EAAE;MAC1BgB,sBAAsB,CAACK,OAAO,GAAGpC,QAAQ;MACzCgB,wBAAwB,CAAC,IAAI,CAAC;IAChC;IACA,MAAMwH,eAAe,GAAG3B,gBAAgB,CAAC;MACvC,GAAGnJ,YAAY,CAACsC,QAAQ,CAAC;MACzB,CAACwD,WAAW,GAAGsF;IACjB,CAAC,CAAC;IACF7I,WAAW,CAAC8G,mBAAmB,CAACyB,eAAe,EAAE,YAAY,CAAC,CAAC;IAC/DrI,qBAAqB,CAAC,YAAY,CAAC;EACrC,CAAC;EAED,MAAM6I,eAAe,GAAIxK,KAAK,IAAKiF,cAAc,CAACgB,QAAQ,CAACjG,KAAK,CAAC;EACjE,MAAMyK,YAAY,GAAIzK,KAAK,IAAK8F,MAAM,CAACtE,QAAQ,CAACxB,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC+F,IAAI,CAAC,CAAC,KAAK,EAAE;EAC3E,MAAM2E,0BAA0B,GAAI1K,KAAK,IAAK;IAC5C,IAAIA,KAAK,KAAK,YAAY,EAAE;MAC1B,OAAO,KAAK;IACd;IACA,MAAMsK,KAAK,GAAGxE,MAAM,CAACtE,QAAQ,CAAC3B,UAAU,IAAI,EAAE,CAAC,CAACkG,IAAI,CAAC,CAAC;IACtD,IAAI,CAACuE,KAAK,IAAI,CAACrG,mBAAmB,CAAC0G,eAAe,EAAE;MAClD,OAAO,KAAK;IACd;IACA,OAAO,CAAC1G,mBAAmB,CAAC0G,eAAe,CAACC,IAAI,CAAC,IAAAC,oCAAwB,EAACP,KAAK,CAAC,CAAC;EACnF,CAAC;EACD,MAAMQ,qBAAqB,GAAI9K,KAAK,IAAK;IACvC,IAAIA,KAAK,KAAK,OAAO,EAAE;MACrB,OAAO,KAAK;IACd;IACA,MAAMsK,KAAK,GAAGxE,MAAM,CAACtE,QAAQ,CAAC8G,KAAK,IAAI,EAAE,CAAC,CAACvC,IAAI,CAAC,CAAC;IACjD,IAAI,CAACuE,KAAK,EAAE;MACV,OAAO,KAAK;IACd;IACA,OAAO,CAAC,IAAAS,wBAAY,EAACT,KAAK,CAAC;EAC7B,CAAC;EACD,MAAMU,oBAAoB,GAAIhL,KAAK,IAAK;IACtC,MAAMiL,oBAAoB,GAAGxF,OAAO,CAAC9C,qBAAqB,IAAIF,aAAa,CAACzC,KAAK,CAAC,CAAC;IACnF,IAAI,CAACiL,oBAAoB,EAAE;MACzB,OAAO,KAAK;IACd;IACA,MAAMC,aAAa,GAAGV,eAAe,CAACxK,KAAK,CAAC,IAAIyK,YAAY,CAACzK,KAAK,CAAC;IACnE,OAAOkL,aAAa,IAAIR,0BAA0B,CAAC1K,KAAK,CAAC,IAAI8K,qBAAqB,CAAC9K,KAAK,CAAC;EAC3F,CAAC;EAED,MAAMmL,eAAe,GAAInL,KAAK,IAAK;IACjC,IAAI,CAACwK,eAAe,CAACxK,KAAK,CAAC,IAAIA,KAAK,KAAK,OAAO,IAAIA,KAAK,KAAK,YAAY,EAAE;MAC1E;IACF;IACA0C,gBAAgB,CAAE0H,IAAI,KAAM;MAAE,GAAGA,IAAI;MAAE,CAACpK,KAAK,GAAG;IAAK,CAAC,CAAC,CAAC;EAC1D,CAAC;EAED,MAAMoL,oBAAoB,GAAIpL,KAAK,IAAK;IACtC,IAAI,CAACgL,oBAAoB,CAAChL,KAAK,CAAC,EAAE;MAChC,OAAO,EAAE;IACX;IACA,IAAIwK,eAAe,CAACxK,KAAK,CAAC,IAAIyK,YAAY,CAACzK,KAAK,CAAC,EAAE;MACjD,OAAOuE,gBAAgB,GAAG,EAAE,GAAGF,WAAW,aAAXA,WAAW,uBAAXA,WAAW,CAAEgH,aAAa;IAC3D;IACA,IAAIX,0BAA0B,CAAC1K,KAAK,CAAC,EAAE;MACrC,OAAOuE,gBAAgB,GAAG,EAAE,GAAGF,WAAW,aAAXA,WAAW,uBAAXA,WAAW,CAAEiH,iBAAiB;IAC/D;IACA,IAAIR,qBAAqB,CAAC9K,KAAK,CAAC,EAAE;MAChC,OAAOuE,gBAAgB,GAAG,EAAE,GAAGF,WAAW,aAAXA,WAAW,uBAAXA,WAAW,CAAEkH,YAAY;IAC1D;IACA,OAAO,EAAE;EACX,CAAC;EAED,MAAMC,oBAAoB,GAAIxL,KAAK,IAAKgL,oBAAoB,CAAChL,KAAK,CAAC;EAEnE,MAAMyL,yBAAyB,GAAGA,CAACzL,KAAK,EAAEsK,KAAK,KAAK;IAClD,MAAMoB,eAAe,GAAG,IAAAnB,sCAA0B,EAACvK,KAAK,EAAEsK,KAAK,CAAC;IAChE,IAAItK,KAAK,KAAKgF,WAAW,EAAE;MACzB5C,4BAA4B,CAAC,KAAK,CAAC;IACrC;IACAqE,eAAe,CAAC,KAAK,CAAC;IACtBD,iBAAiB,CAAC,KAAK,CAAC;IACxB/C,uBAAuB,CAACG,OAAO,GAAG,KAAK;IACvCtB,kBAAkB,CAAC,EAAE,CAAC;IACtB2F,kBAAkB,CAAC;MAAEG,MAAM,EAAE;IAAK,CAAC,CAAC;IAEpC,MAAMuD,6BAA6B,GAAG,CAAA1H,mBAAmB,aAAnBA,mBAAmB,uBAAnBA,mBAAmB,CAAEgB,cAAc,KAAIA,cAAc;IAC3F,MAAM2G,sBAAsB,GAAG,IAAAC,oDAA+B,EAC5DnK,kBAAkB,EAClB1B,KAAK,EACLgF,WAAW,EACX2G,6BACF,CAAC;IACD,MAAM3B,eAAe,GAAG,IAAA8B,sDAAiC,EACvDzD,gBAAgB,CAAC;MACf,GAAGnJ,YAAY,CAACsC,QAAQ,CAAC;MACzB,CAACxB,KAAK,GAAG0L;IACX,CAAC,CAAC,EACF1L,KAAK,EACL4L,sBACF,CAAC;IACDnK,WAAW,CAACuI,eAAe,CAAC;IAC5BrI,qBAAqB,CAACiK,sBAAsB,CAAC;IAE7C,IAAIzI,aAAa,CAACS,OAAO,EAAE;MACzBM,YAAY,CAACf,aAAa,CAACS,OAAO,CAAC;IACrC;IAEAT,aAAa,CAACS,OAAO,GAAGmI,UAAU,CAAC,MAAM;MACvC,MAAMC,OAAO,GAAG;QACdnI,IAAI,EAAE,cAAc;QACpB7D,KAAK;QACLsK,KAAK,EAAEoB,eAAe;QACtBvM,OAAO,EAAE6K,eAAe;QACxBlG,MAAM,EAAE,IAAAC,iCAAkB,EAAC;UACzB5D,WAAW;UACX6D,WAAW,EAAEC,mBAAmB;UAChCzC,QAAQ,EAAEwI,eAAe;UACzBtI,kBAAkB,EAAEkK,sBAAsB;UAC1C7K,IAAI;UACJT;QACF,CAAC;MACH,CAAC;MAED,IAAI6E,aAAa,IAAInF,KAAK,KAAK,OAAO,IAAIsK,KAAK,EAAE;QAC/C0B,OAAO,CAACjB,YAAY,GAAG,IAAAA,wBAAY,EAACW,eAAe,CAAC;MACtD;MAEAtL,QAAQ,aAARA,QAAQ,eAARA,QAAQ,CAAG4L,OAAO,CAAC;IACrB,CAAC,EAAE,GAAG,CAAC;EACT,CAAC;EAED,MAAMC,YAAY,GAAI9M,OAAO,IAAK;IAChC8I,kBAAkB,CAAC;MAAEC,MAAM,EAAE,IAAI;MAAEC,UAAU,EAAE,KAAK;MAAEC,MAAM,EAAE;IAAK,CAAC,CAAC;IACrE,IAAIjJ,OAAO,CAAC+M,OAAO,GAAG,CAAC,IAAK/M,OAAO,CAAC+M,OAAO,KAAK,CAAC,IAAI/M,OAAO,CAAC4J,UAAU,KAAK,KAAM,EAAE;MAClF9F,eAAe,CAACW,OAAO,GAAG,IAAI;MAC9BJ,sBAAsB,CAACI,OAAO,GAAG,IAAI;MACrCrC,wBAAwB,CAACpC,OAAO,CAACuK,UAAU,CAAC;MAC5CvI,QAAQ,CAAChC,OAAO,CAACgN,WAAW,CAAC;IAC/B,CAAC,MAAM;MACLlJ,eAAe,CAACW,OAAO,GAAG,KAAK;MAC/BJ,sBAAsB,CAACI,OAAO,GAAG,IAAI;MACrCrC,wBAAwB,CAAC,IAAI,CAAC;MAC9BF,kBAAkB,CAAClC,OAAO,CAAC;MAC3BgC,QAAQ,CAAC,EAAE,CAAC;IACd;EACF,CAAC;EAED,MAAMiL,sBAAsB,GAAI1D,gBAAgB,IAAK;IAAA,IAAA2D,qBAAA,EAAAC,sBAAA;IACnDrE,kBAAkB,CAAC;MAAEC,MAAM,EAAE,KAAK;MAAEC,UAAU,EAAE,IAAI;MAAEC,MAAM,EAAE;IAAM,CAAC,CAAC;IACtE,MAAMmE,MAAM,GAAGtI,mBAAmB,CAACa,eAAe,IAAI,EAAE;IACxD,MAAM;MACJgF,MAAM,EAAE0C,eAAe;MACvBnK,eAAe,EAAEoK;IACnB,CAAC,GAAG,IAAAC,sDAAsC,EAAChE,gBAAgB,EAAEzE,mBAAmB,CAAC;IAEjF,IAAI6F,MAAM,GAAG,IAAA6C,+CAA+B,EAC1CH,eAAe,EACfhL,QAAQ,EACR+K,MAAM,EACN,cACF,CAAC;;IAED;IACA,IAAItI,mBAAmB,CAAC2I,sBAAsB,EAAE;MAC9C,MAAMC,aAAa,GAAGN,MAAM,CAACO,IAAI,CAACC,CAAC,IAAIA,CAAC,CAAC/M,KAAK,KAAK,UAAU,CAAC;MAC9D,IAAI6M,aAAa,aAAbA,aAAa,eAAbA,aAAa,CAAEG,SAAS,EAAE;QAC5B,MAAMC,OAAO,GAAG,IAAAL,sCAAsB,EAAC9C,MAAM,CAACtK,QAAQ,EAAEsK,MAAM,CAACrK,QAAQ,EAAEoN,aAAa,CAACG,SAAS,CAAC;QACjGlD,MAAM,CAACtK,QAAQ,GAAGyN,OAAO,CAACzN,QAAQ;QAClCsK,MAAM,CAACrK,QAAQ,GAAGwN,OAAO,CAACxN,QAAQ;MACpC;IACF;IAEA,MAAMuK,eAAe,GAAG;MACtB,GAAG9K,YAAY,CAACsC,QAAQ,CAAC;MACzB,GAAGsI,MAAM;MACTxB,KAAK,EAAE9G,QAAQ,CAAC8G,KAAK;MACrBjJ,QAAQ,GAAAgN,qBAAA,GAAE3D,gBAAgB,CAACwE,QAAQ,cAAAb,qBAAA,uBAAzBA,qBAAA,CAA2BhN,QAAQ;MAC7CC,SAAS,GAAAgN,sBAAA,GAAE5D,gBAAgB,CAACwE,QAAQ,cAAAZ,sBAAA,uBAAzBA,sBAAA,CAA2BhN;IACxC,CAAC;IACD,MAAM2K,kBAAkB,GAAG1B,mBAAmB,CAACyB,eAAe,EAAE,UAAU,EAAE,aAAa,CAAC;IAC1F5H,4BAA4B,CAAC,KAAK,CAAC;IACnCF,0BAA0B,CAAC,IAAI,CAAC;IAChCT,WAAW,CAACwI,kBAAkB,CAAC;IAC/B3H,kBAAkB,CAACmK,mBAAmB,CAAC;IACvCnJ,uBAAuB,CAACM,OAAO,GAAGqG,kBAAkB;IACpD1G,sBAAsB,CAACK,OAAO,GAAGqG,kBAAkB;IACnDzH,wBAAwB,CAAC,KAAK,CAAC;IAC/B,MAAM0H,yBAAyB,GAAG,UAAU;IAC5CvI,qBAAqB,CAACuI,yBAAyB,CAAC;IAChDxG,6BAA6B,CAACE,OAAO,GAAG,KAAK;IAC7C,IAAI2C,cAAc,EAAE;MAClBC,iBAAiB,CAAC,KAAK,CAAC;MACxBC,eAAe,CAAC,IAAI,CAAC;IACvB;IACAhD,uBAAuB,CAACG,OAAO,GAAG,KAAK;IACvCxD,QAAQ,aAARA,QAAQ,eAARA,QAAQ,CAAG;MACTyD,IAAI,EAAE,YAAY;MAClB1E,OAAO,EAAE8K,kBAAkB;MAC3BkD,YAAY,EAAEzE,gBAAgB,CAAC0E,QAAQ;MACvCtJ,MAAM,EAAE,IAAAC,iCAAkB,EAAC;QACzB5D,WAAW;QACX6D,WAAW,EAAEC,mBAAmB;QAChCzC,QAAQ,EAAEyI,kBAAkB;QAC5BvI,kBAAkB,EAAEwI,yBAAyB;QAC7CnJ,IAAI;QACJT;MACF,CAAC;IACH,CAAC,CAAC;EACJ,CAAC;EAED,MAAM+M,cAAc,GAAGA,CAAA,KAAM;IAC3B,IAAI,CAAC/M,iBAAiB,EAAE;MACtB;IACF;IACA2H,kBAAkB,CAAC;MAAEC,MAAM,EAAE,KAAK;MAAEC,UAAU,EAAE,IAAI;MAAEC,MAAM,EAAE;IAAM,CAAC,CAAC;IACtEhG,4BAA4B,CAAC,IAAI,CAAC;IAClCF,0BAA0B,CAAC,QAAQ,CAAC;IACpCF,oBAAoB,CAACoI,IAAI,IAAIA,IAAI,GAAG,CAAC,CAAC;EACxC,CAAC;EAED,MAAMkD,WAAW,GAAIC,WAAW,IAAKA,WAAW,CAACvN,KAAK;EAEtD,MAAMwN,gBAAgB,GAAIC,UAAU,IAClCA,UAAU,CAAC/D,UAAU,IACrB,CACE+D,UAAU,CAACtB,WAAW,EACtBsB,UAAU,CAAC9D,MAAM,EACjB8D,UAAU,CAACC,YAAY,EACvBD,UAAU,CAAC7D,QAAQ,EACnB6D,UAAU,CAACE,mBAAmB,EAC9BF,UAAU,CAAC5D,WAAW,EACtB4D,UAAU,CAACvB,OAAO,CACnB,CAAC9F,MAAM,CAAEkE,KAAK,IAAKA,KAAK,KAAKhF,SAAS,IAAIgF,KAAK,KAAK,IAAI,CAAC,CAACjE,IAAI,CAAC,GAAG,CACpE;EAED,MAAMuH,0BAA0B,GAAIH,UAAU;IAAA,IAAAI,qBAAA,EAAAC,sBAAA,EAAAC,sBAAA,EAAAC,sBAAA,EAAAC,sBAAA;IAAA,OAAK,CACjDR,UAAU,CAACtB,WAAW,EACtBsB,UAAU,CAACjO,QAAQ,EACnBiO,UAAU,CAAChO,QAAQ,EACnBgO,UAAU,CAACS,QAAQ,GAAAL,qBAAA,GACnBJ,UAAU,CAACU,UAAU,cAAAN,qBAAA,uBAArBA,qBAAA,CAAuBO,YAAY,GAAAN,sBAAA,GACnCL,UAAU,CAACU,UAAU,cAAAL,sBAAA,uBAArBA,sBAAA,CAAuBO,OAAO,GAAAN,sBAAA,GAC9BN,UAAU,CAACU,UAAU,cAAAJ,sBAAA,uBAArBA,sBAAA,CAAuBnE,QAAQ,GAAAoE,sBAAA,GAC/BP,UAAU,CAACU,UAAU,cAAAH,sBAAA,uBAArBA,sBAAA,CAAuBL,mBAAmB,GAAAM,sBAAA,GAC1CR,UAAU,CAACU,UAAU,cAAAF,sBAAA,uBAArBA,sBAAA,CAAuBpE,WAAW,CACnC,CAACzD,MAAM,CAAEkE,KAAK,IAAKA,KAAK,KAAKhF,SAAS,IAAIgF,KAAK,KAAK,IAAI,CAAC,CAACjE,IAAI,CAAC,GAAG,CAAC;EAAA;EAEpE,MAAMiI,6BAA6B,GAAIb,UAAU,IAAK;IAAA,IAAAc,qBAAA,EAAAC,sBAAA,EAAAC,sBAAA,EAAAC,sBAAA,EAAAC,sBAAA,EAAAC,sBAAA,EAAAC,sBAAA;IACpD,MAAMhG,IAAI,IAAA0F,qBAAA,GAAGd,UAAU,CAAC7E,iBAAiB,cAAA2F,qBAAA,uBAA5BA,qBAAA,CAA8B1F,IAAI;IAE/C,QAAQA,IAAI;MACV,KAAK,UAAU;QACb,OAAO,CAAAxE,WAAW,aAAXA,WAAW,uBAAXA,WAAW,CAAEyK,iBAAiB,OAAAN,sBAAA,GAAIf,UAAU,CAAC7E,iBAAiB,cAAA4F,sBAAA,uBAA5BA,sBAAA,CAA8BO,KAAK,KAAI,UAAU;MAC5F,KAAK,+BAA+B;QAClC,OAAO,CAAA1K,WAAW,aAAXA,WAAW,uBAAXA,WAAW,CAAE2K,mCAAmC,OAAAP,sBAAA,GACvDhB,UAAU,CAAC7E,iBAAiB,cAAA6F,sBAAA,uBAA5BA,sBAAA,CAA8BM,KAAK,KACnC,4BAA4B;MAC9B,KAAK,SAAS;QACZ,OAAO,CAAA1K,WAAW,aAAXA,WAAW,uBAAXA,WAAW,CAAE4K,gBAAgB,OAAAP,sBAAA,GAAIjB,UAAU,CAAC7E,iBAAiB,cAAA8F,sBAAA,uBAA5BA,sBAAA,CAA8BK,KAAK,KAAI,oBAAoB;MACrG,KAAK,WAAW;QACd,OAAO,CAAA1K,WAAW,aAAXA,WAAW,uBAAXA,WAAW,CAAE6K,kBAAkB,OAAAP,sBAAA,GAAIlB,UAAU,CAAC7E,iBAAiB,cAAA+F,sBAAA,uBAA5BA,sBAAA,CAA8BI,KAAK,KAAI,wBAAwB;MAC3G,KAAK,cAAc;QACjB,OAAO,CAAA1K,WAAW,aAAXA,WAAW,uBAAXA,WAAW,CAAE8K,oBAAoB,OAAAP,sBAAA,GAAInB,UAAU,CAAC7E,iBAAiB,cAAAgG,sBAAA,uBAA5BA,sBAAA,CAA8BG,KAAK,KAAI,cAAc;MACnG;QACE,OAAO,EAAAF,sBAAA,GAAApB,UAAU,CAAC7E,iBAAiB,cAAAiG,sBAAA,uBAA5BA,sBAAA,CAA8BE,KAAK,KAAI,SAAS;IAC3D;EACF,CAAC;EAED,MAAMK,+BAA+B,GAAI3B,UAAU,IAAK;IAAA,IAAA4B,sBAAA,EAAAC,sBAAA,EAAAC,sBAAA,EAAAC,sBAAA,EAAAC,uBAAA,EAAAC,uBAAA,EAAAC,uBAAA;IACtD,MAAM9G,IAAI,IAAAwG,sBAAA,GAAG5B,UAAU,CAAC7E,iBAAiB,cAAAyG,sBAAA,uBAA5BA,sBAAA,CAA8BxG,IAAI;IAE/C,QAAQA,IAAI;MACV,KAAK,UAAU;QACb,OAAO,CAAAxE,WAAW,aAAXA,WAAW,uBAAXA,WAAW,CAAEuL,mBAAmB,OAAAN,sBAAA,GAAI7B,UAAU,CAAC7E,iBAAiB,cAAA0G,sBAAA,uBAA5BA,sBAAA,CAA8BtH,OAAO,KAAI,EAAE;MACxF,KAAK,+BAA+B;QAClC,OAAO,CAAA3D,WAAW,aAAXA,WAAW,uBAAXA,WAAW,CAAEwL,qCAAqC,OAAAN,sBAAA,GACzD9B,UAAU,CAAC7E,iBAAiB,cAAA2G,sBAAA,uBAA5BA,sBAAA,CAA8BvH,OAAO,KACrC,EAAE;MACJ,KAAK,SAAS;QACZ,OAAO,CAAA3D,WAAW,aAAXA,WAAW,uBAAXA,WAAW,CAAEyL,kBAAkB,OAAAN,sBAAA,GAAI/B,UAAU,CAAC7E,iBAAiB,cAAA4G,sBAAA,uBAA5BA,sBAAA,CAA8BxH,OAAO,KAAI,EAAE;MACvF,KAAK,WAAW;QACd,OAAO,CAAA3D,WAAW,aAAXA,WAAW,uBAAXA,WAAW,CAAE0L,oBAAoB,OAAAN,uBAAA,GAAIhC,UAAU,CAAC7E,iBAAiB,cAAA6G,uBAAA,uBAA5BA,uBAAA,CAA8BzH,OAAO,KAAI,EAAE;MACzF,KAAK,cAAc;QACjB,OAAO,CAAA3D,WAAW,aAAXA,WAAW,uBAAXA,WAAW,CAAE2L,sBAAsB,OAAAN,uBAAA,GAAIjC,UAAU,CAAC7E,iBAAiB,cAAA8G,uBAAA,uBAA5BA,uBAAA,CAA8B1H,OAAO,KAAI,EAAE;MAC3F;QACE,OAAO,EAAA2H,uBAAA,GAAAlC,UAAU,CAAC7E,iBAAiB,cAAA+G,uBAAA,uBAA5BA,uBAAA,CAA8B3H,OAAO,KAAI,EAAE;IACtD;EACF,CAAC;EAED,MAAMiI,aAAa,GAAGA,CAAA,KAAM;IAC1B,IAAI5K,iBAAiB,EAAE;MACrBoB,eAAe,CAAC,IAAI,CAAC;MACrB;IACF;IAEA,IAAI,CAACT,aAAa,IAAIqB,iBAAiB,EAAE;MACvC;IACF;IAEAY,kBAAkB,CAAC;MAAEC,MAAM,EAAE,KAAK;MAAEC,UAAU,EAAE,IAAI;MAAEC,MAAM,EAAE;IAAM,CAAC,CAAC;IACtE3E,uBAAuB,CAACG,OAAO,GAAG,KAAK;IACvC4C,iBAAiB,CAAC,IAAI,CAAC;IACvBpE,4BAA4B,CAAC,IAAI,CAAC;IAClCF,0BAA0B,CAAC,KAAK,CAAC;IACjCF,oBAAoB,CAAEoI,IAAI,IAAKA,IAAI,GAAG,CAAC,CAAC;EAC1C,CAAC;EAED,MAAM8F,mBAAmB,GAAGA,CAAA,kBAC1B,IAAApR,WAAA,CAAAqR,IAAA;IAAKC,SAAS,EAAC,4BAA4B;IAAAC,QAAA,GACxCnK,aAAa,iBACZ,IAAApH,WAAA,CAAAwR,GAAA;MACEzM,IAAI,EAAC,QAAQ;MACb0M,OAAO,EAAEN,aAAc;MACvBG,SAAS,EAAC,2DAA2D;MACrErB,KAAK,EAAE1K,WAAW,aAAXA,WAAW,uBAAXA,WAAW,CAAEyC,UAAW;MAC/B,cAAYzC,WAAW,aAAXA,WAAW,uBAAXA,WAAW,CAAEyC,UAAW;MAAAuJ,QAAA,eAEpC,IAAAvR,WAAA,CAAAwR,GAAA,EAAC1R,gBAAA,CAAAK,OAAe;QAACmR,SAAS,EAAC;MAAyB,CAAE;IAAC,CACjD,CACT,EACA,CAACjM,kBAAkB,IAAI7D,iBAAiB,IAAIC,wBAAwB,iBACnE,IAAAzB,WAAA,CAAAwR,GAAA,EAACzR,uBAAA,CAAA2R,QAAQ;MACP3M,IAAI,EAAC,QAAQ;MACb0M,OAAO,EAAElD,cAAe;MACxBoD,QAAQ,EAAEpJ,iBAAiB,IAAI,CAACvB,MAAM,CAACtE,QAAQ,CAACwD,WAAW,CAAC,IAAI,EAAE,CAAC,CAACe,IAAI,CAAC,CAAE;MAC3E2K,OAAO,EAAC,WAAW;MACnBC,KAAK,EAAC,SAAS;MACfC,IAAI,EAAC,OAAO;MAAAP,QAAA,EAEXhJ,iBAAiB,GAAG,eAAe,GAAG;IAAkB,CACjD,CACX,eACD,IAAAvI,WAAA,CAAAwR,GAAA;MACEzM,IAAI,EAAC,QAAQ;MACb0M,OAAO,EAAEA,CAAA,KAAM;QACbnO,4BAA4B,CAAC,KAAK,CAAC;QACnCqE,eAAe,CAAC,KAAK,CAAC;QACtBD,iBAAiB,CAAC,KAAK,CAAC;QACxBtE,0BAA0B,CAAC,IAAI,CAAC;QAChC+F,kBAAkB,CAAC;UAAEG,MAAM,EAAE;QAAK,CAAC,CAAC;QACpCpH,OAAO,CAACD,IAAI,KAAK,cAAc,GAAG,QAAQ,GAAG,cAAc,CAAC;MAC9D,CAAE;MACFqP,SAAS,EAAC,2BAA2B;MAAAC,QAAA,EAEpCtP,IAAI,KAAK,cAAc,GACtBsD,WAAW,aAAXA,WAAW,uBAAXA,WAAW,CAAEwM,mBAAmB,GAChCxM,WAAW,aAAXA,WAAW,uBAAXA,WAAW,CAAEyM;IAAoB,CAC7B,CAAC;EAAA,CACN,CACN;EAED,MAAMC,iBAAiB,GAAIC,aAAa,IAAK;IAC3C,MAAMC,2BAA2B,GAC/B3Q,iBAAiB,IACjB6B,yBAAyB,KACxB,CAACgC,kBAAkB,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC8B,QAAQ,CAAChE,uBAAuB,CAAC,CAAC;IAC/E,MAAMiP,mBAAmB,GACvBD,2BAA2B,IAC3B,CAAC5J,iBAAiB,IAClBD,qBAAqB,CAACrC,MAAM,KAAK,CAAC,IAClC,CAAChC,sBAAsB,KACtBd,uBAAuB,KAAK,KAAK,IAAIwB,uBAAuB,CAACG,OAAO,CAAC;IAExE,IAAI,CAACoN,aAAa,EAAE;MAClB,OAAO,IAAI;IACb;IAEA,IAAIhK,OAAO,IAAI7C,kBAAkB,EAAE;MACjC,oBAAO,IAAArF,WAAA,CAAAwR,GAAA;QAAKF,SAAS,EAAC;MAA4B,CAAE,CAAC;IACvD;IAEA,IAAIrJ,WAAW,CAAChC,MAAM,GAAG,CAAC,IAAI,CAAC3D,eAAe,IAAI+C,kBAAkB,EAAE;MACpE,oBACE,IAAArF,WAAA,CAAAwR,GAAA;QACEa,GAAG,EAAE9N,kBAAmB;QACxB+M,SAAS,EAAC,8DAA8D;QAAAC,QAAA,EACvEtJ,WAAW,CAACqK,GAAG,CAAC,CAAC3D,UAAU,EAAE4D,KAAK,kBACjC,IAAAvS,WAAA,CAAAwR,GAAA;UAEEF,SAAS,EAAE,CACT,8BAA8B,EAC9BiB,KAAK,GAAGtK,WAAW,CAAChC,MAAM,GAAG,CAAC,GAAG,uCAAuC,GAAG,EAAE,CAC9E,CAACqB,MAAM,CAACX,OAAO,CAAC,CAACY,IAAI,CAAC,GAAG,CAAE;UAAAgK,QAAA,eAE5B,IAAAvR,WAAA,CAAAwR,GAAA;YACEzM,IAAI,EAAC,QAAQ;YACb0M,OAAO,EAAEA,CAAA,KAAMtE,YAAY,CAACwB,UAAU,CAAE;YACxC2C,SAAS,EAAC,gCAAgC;YAAAC,QAAA,EAEzC5C,UAAU,CAACtB;UAAW,CACjB;QAAC,GAZJqB,gBAAgB,CAACC,UAAU,CAa9B,CACL;MAAC,CACA,CAAC;IAET;IAEA,IAAIwD,2BAA2B,IAAI7J,qBAAqB,CAACrC,MAAM,GAAG,CAAC,EAAE;MACnE,oBACE,IAAAjG,WAAA,CAAAwR,GAAA;QAAIF,SAAS,EAAC,oEAAoE;QAAAC,QAAA,EAC/EjJ,qBAAqB,CAACgK,GAAG,CAAC,CAAC3D,UAAU,EAAE4D,KAAK,kBAC3C,IAAAvS,WAAA,CAAAwR,GAAA;UAEEF,SAAS,EAAE,CACT,8BAA8B,EAC9BiB,KAAK,GAAGjK,qBAAqB,CAACrC,MAAM,GAAG,CAAC,GAAG,uCAAuC,GAAG,EAAE,CACxF,CAACqB,MAAM,CAACX,OAAO,CAAC,CAACY,IAAI,CAAC,GAAG,CAAE;UAAAgK,QAAA,eAE5B,IAAAvR,WAAA,CAAAqR,IAAA;YACEtM,IAAI,EAAC,QAAQ;YACb0M,OAAO,EAAEA,CAAA,KAAMnE,sBAAsB,CAACqB,UAAU,CAAE;YAClD2C,SAAS,EAAC,gCAAgC;YAAAC,QAAA,gBAE1C,IAAAvR,WAAA,CAAAwR,GAAA;cAAKF,SAAS,EAAC,+BAA+B;cAAAC,QAAA,EAC3C/B,6BAA6B,CAACb,UAAU;YAAC,CACvC,CAAC,eACN,IAAA3O,WAAA,CAAAwR,GAAA;cAAKF,SAAS,EAAC,kCAAkC;cAAAC,QAAA,EAC9C5C,UAAU,CAACtB;YAAW,CACpB,CAAC,eACN,IAAArN,WAAA,CAAAwR,GAAA;cAAKF,SAAS,EAAC,kCAAkC;cAAAC,QAAA,EAC9CjB,+BAA+B,CAAC3B,UAAU;YAAC,CACzC,CAAC;UAAA,CACA;QAAC,GApBJG,0BAA0B,CAACH,UAAU,CAqBxC,CACL;MAAC,CACA,CAAC;IAET;IAEA,IAAIyD,mBAAmB,EAAE;MACvB,oBACE,IAAApS,WAAA,CAAAwR,GAAA;QAAKF,SAAS,EAAC,4BAA4B;QAAAC,QAAA,EACxChM,WAAW,aAAXA,WAAW,uBAAXA,WAAW,CAAEiN;MAAa,CACxB,CAAC;IAEV;IAEA,OAAO,IAAI;EACb,CAAC;EAED,IAAA3N,gBAAS,EAAC,MAAM;IACd,IACE,CAAC,cAAc,EAAE,KAAK,CAAC,CAACsC,QAAQ,CAAChE,uBAAuB,CAAC,IACzDmF,qBAAqB,CAACrC,MAAM,KAAK,CAAC,IAClCrB,6BAA6B,CAACE,OAAO,EACrC;MACAwI,sBAAsB,CAAChF,qBAAqB,CAAC,CAAC,CAAC,CAAC;IAClD;IAEA,IACEnF,uBAAuB,KAAK,SAAS,IACrCmF,qBAAqB,CAACrC,MAAM,KAAK,CAAC,IAClCrB,6BAA6B,CAACE,OAAO,IACrC6E,mCAAmC,CAACrB,qBAAqB,CAAC,CAAC,CAAC,CAAC,EAC7D;MACAgF,sBAAsB,CAAChF,qBAAqB,CAAC,CAAC,CAAC,CAAC;IAClD;EACF,CAAC,EAAE,CAACA,qBAAqB,EAAEnF,uBAAuB,CAAC,CAAC;EAEpD,MAAMsP,WAAW,GAAIhE,WAAW,IAAK;IACnC,MAAMyD,aAAa,GAAGzD,WAAW,CAACvN,KAAK,KAAKgF,WAAW;IACvD,MAAMwM,UAAU,GAAGpG,oBAAoB,CAACmC,WAAW,CAACvN,KAAK,CAAC;IAC1D,MAAMyR,SAAS,GAAGjG,oBAAoB,CAAC+B,WAAW,CAACvN,KAAK,CAAC;IACzD,MAAM0R,UAAU,GAAI,CAACnE,WAAW,CAACoE,QAAQ,IAAI,CAACX,aAAa,IAAK7M,kBAAkB;IAClF,MAAMyN,cAAc,GAAG,CACrB,0BAA0B,EAC1BF,UAAU,GAAG,oCAAoC,GAAG,EAAE,EACtDV,aAAa,IAAIhK,OAAO,GAAG,mCAAmC,GAAG,EAAE,CACpE,CAACZ,MAAM,CAACX,OAAO,CAAC,CAACY,IAAI,CAAC,GAAG,CAAC;IAE3B,oBACE,IAAAvH,WAAA,CAAAqR,IAAA;MAEEC,SAAS,EAAC,0BAA0B;MACpCyB,KAAK,EAAE;QAAEC,KAAK,EAAEvE,WAAW,CAACuE,KAAK,KAAK,MAAM,GAAG,MAAM,GAAG;MAAM,CAAE;MAAAzB,QAAA,GAE/DW,aAAa,iBACZ,IAAAlS,WAAA,CAAAqR,IAAA;QAAKC,SAAS,EAAC,8BAA8B;QAAAC,QAAA,gBAC3C,IAAAvR,WAAA,CAAAwR,GAAA;UAAOF,SAAS,EAAC,2EAA2E;UAAAC,QAAA,EACzF9L,gBAAgB,GAAG,EAAE,GAAI,CAAAF,WAAW,aAAXA,WAAW,uBAAXA,WAAW,CAAGkJ,WAAW,CAACvN,KAAK,CAAC,KAAIuN,WAAW,CAACwE;QAAM,CAC3E,CAAC,EACP7B,mBAAmB,CAAC,CAAC;MAAA,CACnB,CACN,eACD,IAAApR,WAAA,CAAAwR,GAAA,EAACzR,uBAAA,CAAAmT,YAAY;QACXC,EAAE,EAAEhS,UAAU,CAACsN,WAAW,CAACvN,KAAK,CAAE;QAClC6D,IAAI,EAAC,MAAM;QACXkO,KAAK,EAAEf,aAAa,IAAIzM,gBAAgB,GAAG,EAAE,GAAI,CAAAF,WAAW,aAAXA,WAAW,uBAAXA,WAAW,CAAGkJ,WAAW,CAACvN,KAAK,CAAC,KAAIuN,WAAW,CAACwE,KAAO;QACxGzH,KAAK,EAAE9I,QAAQ,CAAC+L,WAAW,CAACvN,KAAK,CAAC,IAAI,EAAG;QACzC,gBAAcgL,oBAAoB,CAACuC,WAAW,CAACvN,KAAK,CAAC,GAAG,MAAM,GAAGsF,SAAU;QAC3E4M,UAAU,EAAET,SAAS,GAAG,OAAO,GAAGnM,SAAU;QAC5C6M,UAAU,EAAEX,UAAU,IAAIlM,SAAU;QACpC8M,MAAM,EAAEA,CAAA,KAAMjH,eAAe,CAACoC,WAAW,CAACvN,KAAK,CAAE;QACjDqS,QAAQ,EAAGtT,CAAC,IAAK;UACf,MAAMuT,QAAQ,GAAG,IAAAC,mCAAuB,EAACxT,CAAC,CAACqK,MAAM,CAACkB,KAAK,EAAEiD,WAAW,CAACiF,iBAAiB,CAAC;UACvF,IAAIxB,aAAa,IAAI7M,kBAAkB,EAAE;YACvCkG,iBAAiB,CAAC;cAAE,GAAGtL,CAAC;cAAEqK,MAAM,EAAE;gBAAE,GAAGrK,CAAC,CAACqK,MAAM;gBAAEkB,KAAK,EAAEgI;cAAS;YAAE,CAAC,CAAC;UACvE,CAAC,MAAM;YACL7G,yBAAyB,CAAC8B,WAAW,CAACvN,KAAK,EAAEsS,QAAQ,CAAC;UACxD;QACF,CAAE;QACFG,UAAU,EAAE;UACVC,QAAQ,EAAEhB;QACZ,CAAE;QACFiB,UAAU,EAAE;UACV3F,SAAS,EAAEO,WAAW,CAACP,SAAS;UAChC,aAAa,EAAEjN,cAAc,CAACwN,WAAW,CAACvN,KAAK;QACjD,CAAE;QACFoQ,SAAS,EAAEwB;MAAe,CAC3B,CAAC,EACDb,iBAAiB,CAACC,aAAa,CAAC;IAAA,GAtC5B1D,WAAW,CAACC,WAAW,CAuCzB,CAAC;EAEV,CAAC;EAED,MAAMqF,iBAAiB,GAAGA,CAAA,KAAM;IAC9B,MAAMrG,MAAM,GAAGtI,mBAAmB,aAAnBA,mBAAmB,uBAAnBA,mBAAmB,CAAEa,eAAe;IAEnD,IAAI,EAACyH,MAAM,aAANA,MAAM,eAANA,MAAM,CAAExH,MAAM,GAAE;MACnB,IAAIJ,aAAa,EAAE;QACjB,oBAAO,IAAA7F,WAAA,CAAAwR,GAAA;UAAAD,QAAA,EAAMhM,WAAW,aAAXA,WAAW,uBAAXA,WAAW,CAAEwO;QAAkB,CAAM,CAAC;MACrD;MAEA,oBAAO,IAAA/T,WAAA,CAAAqR,IAAA;QAAAE,QAAA,GAAK,sCAAoC,EAAClQ,WAAW;MAAA,CAAM,CAAC;IACrE;IAEA,oBACE,IAAArB,WAAA,CAAAwR,GAAA,EAAAxR,WAAA,CAAAgU,QAAA;MAAAzC,QAAA,EACG9D,MAAM,CAAC6E,GAAG,CAACG,WAAW;IAAC,CACxB,CAAC;EAEP,CAAC;EAED,oBACE,IAAAzS,WAAA,CAAAqR,IAAA;IAAKgB,GAAG,EAAE/N,YAAa;IAACgN,SAAS,EAAC,0BAA0B;IAAAC,QAAA,GACzDxN,kBAAkB,iBAAI,IAAA/D,WAAA,CAAAwR,GAAA;MAAKF,SAAS,EAAC,4BAA4B;MAAAC,QAAA,EAAE3I;IAAkB,CAAM,CAAC,EAC5F7F,WAAW,iBAAI,IAAA/C,WAAA,CAAAwR,GAAA;MAAKF,SAAS,EAAC,4BAA4B;MAAAC,QAAA,EAAExO;IAAW,CAAM,CAAC,EAC9EvB,iBAAiB,IAAIyC,sBAAsB,iBAC1C,IAAAjE,WAAA,CAAAwR,GAAA;MAAKF,SAAS,EAAC,4BAA4B;MAAAC,QAAA,EACxCzI;IAAsB,CACpB,CACN,eAED,IAAA9I,WAAA,CAAAwR,GAAA;MAAKF,SAAS,EAAC,yBAAyB;MAAAC,QAAA,EACrCuC,iBAAiB,CAAC;IAAC,CACjB,CAAC,EACLlM,YAAY,iBACX,IAAA5H,WAAA,CAAAwR,GAAA;MACEF,SAAS,EAAC,mCAAmC;MAC7CG,OAAO,EAAEA,CAAA,KAAM9J,eAAe,CAAC,KAAK,CAAE;MAAA4J,QAAA,eAEtC,IAAAvR,WAAA,CAAAqR,IAAA;QACEC,SAAS,EAAC,0BAA0B;QACpC2C,IAAI,EAAC,QAAQ;QACb,cAAW,MAAM;QACjB,cAAY1O,WAAW,aAAXA,WAAW,uBAAXA,WAAW,CAAE2O,eAAgB;QACzCzC,OAAO,EAAGtH,KAAK,IAAKA,KAAK,CAACgK,eAAe,CAAC,CAAE;QAAA5C,QAAA,gBAE5C,IAAAvR,WAAA,CAAAqR,IAAA;UAAKC,SAAS,EAAC,iCAAiC;UAAAC,QAAA,gBAC9C,IAAAvR,WAAA,CAAAwR,GAAA;YAAKF,SAAS,EAAC,gCAAgC;YAAAC,QAAA,EAC5ChM,WAAW,aAAXA,WAAW,uBAAXA,WAAW,CAAE2O;UAAe,CAC1B,CAAC,eACN,IAAAlU,WAAA,CAAAwR,GAAA;YACEzM,IAAI,EAAC,QAAQ;YACbuM,SAAS,EAAC,2BAA2B;YACrC,cAAW,OAAO;YAClBG,OAAO,EAAEA,CAAA,KAAM9J,eAAe,CAAC,KAAK,CAAE;YAAA4J,QAAA,EACvC;UAED,CAAQ,CAAC;QAAA,CACN,CAAC,eACN,IAAAvR,WAAA,CAAAwR,GAAA;UAAKa,GAAG,EAAE7K,eAAgB;UAAC8J,SAAS,EAAC;QAAwB,CAAE,CAAC;MAAA,CAC7D;IAAC,CACH,CACN;EAAA,CACE,CAAC;AAEV,CAAC;AAEDlQ,iBAAiB,CAACgT,SAAS,GAAG;EAC5B/S,WAAW,EAAEgT,kBAAS,CAACC,MAAM,CAACC,UAAU;EACxCjT,QAAQ,EAAE+S,kBAAS,CAACG,IAAI;EACxBjT,cAAc,EAAEkT,mCAAe;EAC/BjT,iBAAiB,EAAE6S,kBAAS,CAACK,IAAI;EACjCjT,wBAAwB,EAAE4S,kBAAS,CAACK,IAAI;EACxChT,mBAAmB,EAAE2S,kBAAS,CAACM,MAAM;EACrChT,QAAQ,EAAE0S,kBAAS,CAACC,MAAM;EAC1B1S,OAAO,EAAEgT,wCAAoB;EAC7B/S,cAAc,EAAEgT,0CAAsB;EACtC/S,eAAe,EAAEuS,kBAAS,CAACK;AAC7B,CAAC;AAAC,IAAAI,QAAA,GAAAC,OAAA,CAAA5U,OAAA,GAEaiB,iBAAiB","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"SmartyIntlResults.js","names":["_propTypes","_interopRequireDefault","require","_react","_useSmartyInternationalLookup","_useIntlAddressValidation","_useAddressFieldLabels","_useAddressForm","_useInitialAddressVerification","_useAddressMapModal","_addressMapping","_addressWrapper","_addressStatus","_addressVerification","_validators","_componentPropTypes","_LocationPinIcon","_foundationUiComponents","_jsxRuntime","e","__esModule","default","stripGeocode","address","nextAddress","latitude","longitude","FIELD_TEST_IDS","address1","address2","district","region","city","postalCode","FIELD_IDS","getFieldTestId","field","getFieldId","SmartyIntlResults","countryCode","onSelect","initialAddress","requireValidation","showManualValidateButton","validationRequestId","language","strings","formDefinition","deferFormLookup","_formDefinition$addre","_window$google","mode","setMode","useState","query","setQuery","selectedAddress","setSelectedAddress","selectedIntlAddressId","setSelectedIntlAddressId","formData","setFormData","verificationStatus","setVerificationStatus","getIncomingVerificationStatus","customError","setCustomError","validationTrigger","setValidationTrigger","validationTriggerSource","setValidationTriggerSource","showValidationSuggestions","setShowValidationSuggestions","mapAddressLines","setMapAddressLines","hasPendingLookupDraft","setHasPendingLookupDraft","touchedFields","setTouchedFields","showAllRequiredErrors","setShowAllRequiredErrors","lookupServiceError","setLookupServiceError","validationServiceError","setValidationServiceError","shouldSearchRef","useRef","fieldTimerRef","componentRef","suggestionsListRef","lastCommittedAddressRef","lookupDraftOriginalRef","appliedSelectionKeyRef","mapValidationStartedRef","autoApplyValidationStartedRef","useEffect","current","type","status","buildAddressStatus","addressForm","resolvedAddressForm","clearTimeout","isAutocompleteMode","labels","fieldLabels","isLoading","areLabelsLoading","useAddressFieldLabels","shouldLoadAddressForm","loadedAddressForm","isFormLoading","useAddressForm","providedAddressForm","addressElements","length","lookupField","requiredFields","getRequiredFieldsFromAddressForm","hasEmailField","some","hasMapCoordinates","undefined","canUseGoogleMaps","window","Boolean","google","maps","importLibrary","hasLookupValue","String","trim","canAttemptMap","includes","showMapAction","mapInfoLines","filter","join","mapContainerRef","pendingMapOpen","setPendingMapOpen","setShowMapModal","showMapModal","useAddressMapModal","infoLines","openInMapsLabel","openInMaps","suggestions","loading","error","rateLimited","useSmartyInternationalLookup","validationSuggestions","validationLoading","validationError","validationRateLimited","useIntlAddressValidation","lookupValue","lookupErrorMessage","lookupError","validationErrorMessage","rawMessage","kind","source","message","clearServiceErrors","lookup","validation","custom","stripUnusedEmail","email","buildTrackedAddress","withAddressVerification","isAcceptableInitialValidationResult","validatedAddress","_validatedAddress$val","validationSummary","code","useInitialAddressVerification","isDetailed","handleDocumentMouseDown","event","component","contains","target","suggestionsList","document","addEventListener","removeEventListener","selectionKey","address_id","street","locality","postal_code","mapped","buildIntlAutocompleteAddressMapping","updatedFormData","normalizedFormData","currentVerificationStatus","shouldVerifyAutocompleteSelection","prev","handleInputChange","value","normalizeAddressFieldValue","isFieldRequired","isFieldBlank","hasInvalidPostalCodeFormat","postalCodeRegex","test","normalizePostalCodeValue","hasInvalidEmailFormat","isValidEmail","shouldShowFieldError","shouldShowValidation","requiredError","handleFieldBlur","getFieldErrorMessage","fieldRequired","invalidPostalCode","invalidEmail","hasVisibleFieldError","handleEditableFieldChange","normalizedValue","requiredFieldsForVerification","nextVerificationStatus","getManualEditVerificationStatus","withManualAddressVerificationEdit","setTimeout","payload","handleSelect","entries","displayText","handleValidationSelect","_validatedAddress$met","_validatedAddress$met2","config","formattedMapped","nextMapAddressLines","buildIntlConfiguredVerificationMapping","preserveBlankConfiguredMappings","wrapAddress1ToAddress2","address1Field","find","f","maxLength","wrapped","metadata","verification","analysis","handleValidate","getFieldKey","fieldConfig","getSuggestionKey","suggestion","address_text","administrative_area","getValidationSuggestionKey","_suggestion$component","_suggestion$component2","_suggestion$component3","_suggestion$component4","_suggestion$component5","address3","components","thoroughfare","premise","getIntlValidationSummaryTitle","_suggestion$validatio","_suggestion$validatio2","_suggestion$validatio3","_suggestion$validatio4","_suggestion$validatio5","_suggestion$validatio6","_suggestion$validatio7","intlVerifiedTitle","title","intlVerifiedSubBuildingChangedTitle","intlPartialTitle","intlAmbiguousTitle","intlNotVerifiedTitle","getIntlValidationSummaryMessage","_suggestion$validatio8","_suggestion$validatio9","_suggestion$validatio0","_suggestion$validatio1","_suggestion$validatio10","_suggestion$validatio11","_suggestion$validatio12","intlVerifiedMessage","intlVerifiedSubBuildingChangedMessage","intlPartialMessage","intlAmbiguousMessage","intlNotVerifiedMessage","handleOpenMap","renderLookupActions","jsxs","className","children","jsx","onClick","NsButton","disabled","variant","color","size","switchToManualEntry","switchToAutocomplete","renderLookupLists","isLookupField","shouldShowValidationResults","shouldShowNoResults","ref","map","index","intlNoResults","renderField","fieldError","isInvalid","isReadOnly","editable","inputClassName","style","width","label","NsInputField","id","fieldState","helperText","onBlur","onChange","filtered","filterAllowedCharacters","allowedCharacters","InputProps","readOnly","inputProps","renderAddressForm","loadingAddressForm","Fragment","role","addressLocation","stopPropagation","propTypes","PropTypes","string","isRequired","func","addressPropType","bool","number","labelStringsPropType","formDefinitionPropType","_default","exports"],"sources":["../../src/components/SmartyIntlResults.jsx"],"sourcesContent":["import PropTypes from 'prop-types';\nimport { useState, useEffect, useRef } from 'react';\nimport useSmartyInternationalLookup from '../hooks/useSmartyInternationalLookup';\nimport useIntlAddressValidation from '../hooks/useIntlAddressValidation';\nimport useAddressFieldLabels from '../hooks/useAddressFieldLabels';\nimport useAddressForm from '../hooks/useAddressForm';\nimport useInitialAddressVerification from '../hooks/useInitialAddressVerification';\nimport useAddressMapModal from '../hooks/useAddressMapModal';\nimport {\n buildIntlAutocompleteAddressMapping,\n buildIntlConfiguredVerificationMapping,\n preserveBlankConfiguredMappings\n} from '../utils/addressMapping';\nimport { wrapAddress1ToAddress2 } from '../utils/addressWrapper';\nimport {\n buildAddressStatus,\n getRequiredFieldsFromAddressForm,\n shouldVerifyAutocompleteSelection\n} from '../utils/addressStatus';\nimport {\n getIncomingVerificationStatus,\n getManualEditVerificationStatus,\n withAddressVerification,\n withManualAddressVerificationEdit\n} from '../utils/addressVerification';\nimport { isValidEmail, normalizeAddressFieldValue, normalizePostalCodeValue, filterAllowedCharacters } from '../utils/validators';\nimport { addressPropType, formDefinitionPropType, labelStringsPropType } from '../utils/componentPropTypes';\nimport LocationPinIcon from './LocationPinIcon';\nimport { NsButton, NsInputField } from '@nuskin/foundation-ui-components';\n\nconst stripGeocode = (address = {}) => {\n const nextAddress = { ...address };\n delete nextAddress.latitude;\n delete nextAddress.longitude;\n return nextAddress;\n};\n\nconst FIELD_TEST_IDS = {\n address1: 'qa-address-1',\n address2: 'qa-address-2',\n district: 'qa-address-district',\n region: 'qa-address-region',\n city: 'qa-address-city',\n postalCode: 'qa-address-postal-code'\n};\n\nconst FIELD_IDS = {\n address1: 'address-line-1',\n address2: 'address-line-2',\n district: 'address-district',\n region: 'address-region',\n city: 'address-city',\n postalCode: 'address-postal-code'\n};\n\nconst getFieldTestId = (field) => FIELD_TEST_IDS[field] || `qa-address-${field}`;\nconst getFieldId = (field) => FIELD_IDS[field] || `address-${field}`;\n\nconst SmartyIntlResults = ({\n countryCode,\n onSelect,\n initialAddress = null,\n requireValidation = true,\n showManualValidateButton = false,\n validationRequestId = 0,\n language = 'en',\n strings = null,\n formDefinition = null,\n deferFormLookup = false\n}) => {\n const [mode, setMode] = useState('autocomplete');\n const [query, setQuery] = useState('');\n const [selectedAddress, setSelectedAddress] = useState(null);\n const [selectedIntlAddressId, setSelectedIntlAddressId] = useState(null);\n const [formData, setFormData] = useState(initialAddress || {});\n const [verificationStatus, setVerificationStatus] = useState(getIncomingVerificationStatus(initialAddress));\n const [customError, setCustomError] = useState(null);\n const [validationTrigger, setValidationTrigger] = useState(0);\n const [validationTriggerSource, setValidationTriggerSource] = useState(null);\n const [showValidationSuggestions, setShowValidationSuggestions] = useState(false);\n const [mapAddressLines, setMapAddressLines] = useState([]);\n const [hasPendingLookupDraft, setHasPendingLookupDraft] = useState(false);\n const [touchedFields, setTouchedFields] = useState({});\n const [showAllRequiredErrors, setShowAllRequiredErrors] = useState(false);\n const [lookupServiceError, setLookupServiceError] = useState(null);\n const [validationServiceError, setValidationServiceError] = useState(null);\n const shouldSearchRef = useRef(true);\n const fieldTimerRef = useRef(null);\n const componentRef = useRef(null);\n const suggestionsListRef = useRef(null);\n const lastCommittedAddressRef = useRef(initialAddress || {});\n const lookupDraftOriginalRef = useRef(initialAddress || {});\n const appliedSelectionKeyRef = useRef(null);\n const mapValidationStartedRef = useRef(false);\n const autoApplyValidationStartedRef = useRef(false);\n\n useEffect(() => {\n if (initialAddress) {\n setFormData(initialAddress);\n setVerificationStatus(getIncomingVerificationStatus(initialAddress));\n shouldSearchRef.current = false;\n lastCommittedAddressRef.current = initialAddress;\n lookupDraftOriginalRef.current = initialAddress;\n setTouchedFields({});\n setShowAllRequiredErrors(false);\n setLookupServiceError(null);\n setValidationServiceError(null);\n setMapAddressLines([]);\n }\n }, [initialAddress]);\n\n useEffect(() => {\n if (!validationRequestId) {\n return;\n }\n\n setShowAllRequiredErrors(true);\n onSelect?.({\n type: 'validation-request',\n address: formData,\n status: buildAddressStatus({\n countryCode,\n addressForm: resolvedAddressForm,\n formData,\n verificationStatus,\n mode,\n requireValidation\n })\n });\n }, [validationRequestId]);\n\n useEffect(() => {\n return () => {\n if (fieldTimerRef.current) {\n clearTimeout(fieldTimerRef.current);\n }\n };\n }, []);\n\n const isAutocompleteMode = mode === 'autocomplete';\n const {\n labels: fieldLabels,\n isLoading: areLabelsLoading\n } = useAddressFieldLabels(countryCode, language, strings);\n const shouldLoadAddressForm = !formDefinition && !deferFormLookup;\n const {\n addressForm: loadedAddressForm,\n isLoading: isFormLoading\n } = useAddressForm(countryCode, shouldLoadAddressForm);\n const providedAddressForm = formDefinition?.addressElements?.length ? formDefinition : null;\n const resolvedAddressForm = providedAddressForm || loadedAddressForm;\n const lookupField = resolvedAddressForm?.lookupField || 'address1';\n const requiredFields = getRequiredFieldsFromAddressForm(resolvedAddressForm);\n const hasEmailField = (resolvedAddressForm?.addressElements || []).some((field) => field.field === 'email');\n const hasMapCoordinates = (\n formData?.latitude !== undefined && formData?.longitude !== undefined\n );\n const canUseGoogleMaps = typeof window !== 'undefined' &&\n Boolean(window.google?.maps?.importLibrary);\n const hasLookupValue = Boolean(String(formData?.[lookupField] || '').trim());\n const canAttemptMap = Boolean(\n (!isAutocompleteMode && hasLookupValue) ||\n (isAutocompleteMode && ['autocomplete', 'verified'].includes(verificationStatus) && hasLookupValue)\n );\n const showMapAction = canUseGoogleMaps && (hasMapCoordinates || canAttemptMap);\n const mapInfoLines = (mapAddressLines.length ? mapAddressLines : [\n formData.address1,\n formData.address2,\n formData.district,\n [formData.postalCode, formData.city].filter(Boolean).join(' '),\n formData.region\n ]).filter(Boolean);\n const {\n mapContainerRef,\n pendingMapOpen,\n setPendingMapOpen,\n setShowMapModal,\n showMapModal\n } = useAddressMapModal({\n formData,\n infoLines: mapInfoLines,\n canUseGoogleMaps,\n hasMapCoordinates,\n openInMapsLabel: fieldLabels?.openInMaps\n });\n\n const { suggestions, loading, error, rateLimited } = useSmartyInternationalLookup(\n shouldSearchRef.current && isAutocompleteMode ? query : '',\n countryCode,\n selectedIntlAddressId,\n 500\n );\n\n const {\n suggestions: validationSuggestions,\n loading: validationLoading,\n error: validationError,\n rateLimited: validationRateLimited\n } = useIntlAddressValidation(\n formData,\n countryCode,\n requireValidation ? validationTrigger : 0,\n lookupField\n );\n const lookupValue = formData[lookupField];\n const lookupErrorMessage = lookupServiceError?.rateLimited ?\n (fieldLabels?.rateLimited || 'Too many requests. Please wait a moment and try again.') :\n (fieldLabels?.lookupError || 'We could not look up that address right now.');\n const validationErrorMessage = validationServiceError?.rateLimited ?\n (fieldLabels?.rateLimited || 'Too many requests. Please wait a moment and try again.') :\n (fieldLabels?.validationError || 'We could not validate that address right now.');\n\n useEffect(() => {\n if (!error) {\n setLookupServiceError(null);\n return;\n }\n\n setLookupServiceError({\n rateLimited,\n rawMessage: error\n });\n }, [error, rateLimited]);\n\n useEffect(() => {\n if (!validationError) {\n setValidationServiceError(null);\n return;\n }\n\n setValidationServiceError({\n rateLimited: validationRateLimited,\n rawMessage: validationError\n });\n setPendingMapOpen(false);\n mapValidationStartedRef.current = false;\n }, [validationError, validationRateLimited]);\n\n useEffect(() => {\n if (!lookupServiceError) {\n return;\n }\n\n onSelect?.({\n type: 'lookup-error',\n address: formData,\n status: buildAddressStatus({\n countryCode,\n addressForm: resolvedAddressForm,\n formData,\n verificationStatus,\n mode,\n requireValidation\n }),\n error: {\n kind: lookupServiceError.rateLimited ? 'rate-limited' : 'api',\n source: 'autocomplete',\n message: lookupErrorMessage\n }\n });\n }, [lookupServiceError]);\n\n useEffect(() => {\n if (!validationServiceError) {\n return;\n }\n\n onSelect?.({\n type: 'validation-error',\n address: formData,\n status: buildAddressStatus({\n countryCode,\n addressForm: resolvedAddressForm,\n formData,\n verificationStatus,\n mode,\n requireValidation\n }),\n error: {\n kind: validationServiceError.rateLimited ? 'rate-limited' : 'api',\n source: 'validation',\n message: validationErrorMessage\n }\n });\n }, [validationServiceError]);\n\n const clearServiceErrors = ({ lookup = true, validation = true, custom = false } = {}) => {\n if (lookup) {\n setLookupServiceError(null);\n }\n if (validation) {\n setValidationServiceError(null);\n }\n if (custom) {\n setCustomError(null);\n }\n };\n\n const stripUnusedEmail = (address = {}) => {\n if (hasEmailField) {\n return address;\n }\n\n const nextAddress = { ...address };\n delete nextAddress.email;\n return nextAddress;\n };\n\n const buildTrackedAddress = (address = {}, status = 'unverified', source = null) => (\n stripUnusedEmail(withAddressVerification(address, status, source))\n );\n\n const isAcceptableInitialValidationResult = (validatedAddress) => (\n ['verified', 'verified-sub-building-changed']\n .includes(validatedAddress?.validationSummary?.code)\n );\n\n useInitialAddressVerification({\n initialAddress,\n countryCode,\n lookupField,\n requireValidation,\n resolvedAddressForm,\n setValidationServiceError,\n setCustomError,\n setShowValidationSuggestions,\n setValidationTriggerSource,\n setValidationTrigger\n });\n\n useEffect(() => {\n if (selectedIntlAddressId) {\n if (suggestions.length === 1 && suggestions[0].isDetailed) {\n setSelectedAddress(suggestions[0]);\n setSelectedIntlAddressId(null);\n setQuery('');\n setCustomError(null);\n } else if (suggestions.length === 0 && !loading) {\n setCustomError('Unable to retrieve address details. Please try another address or enter manually.');\n setSelectedIntlAddressId(null);\n setQuery('');\n }\n } else if (suggestions.length > 0 && !suggestions[0].isDetailed && !selectedAddress) {\n setSelectedAddress(null);\n setCustomError(null);\n }\n }, [suggestions, selectedIntlAddressId, selectedAddress, loading]);\n\n useEffect(() => {\n if (lookupValue !== undefined && shouldSearchRef.current && !selectedAddress) {\n setQuery(lookupValue);\n }\n }, [lookupValue, selectedAddress]);\n\n useEffect(() => {\n if (validationTrigger > 0 && ['autocomplete', 'map', 'initial'].includes(validationTriggerSource)) {\n autoApplyValidationStartedRef.current = false;\n }\n }, [validationTrigger, validationTriggerSource]);\n\n useEffect(() => {\n if (validationTriggerSource === 'map' && validationLoading) {\n mapValidationStartedRef.current = true;\n }\n if (validationLoading && ['autocomplete', 'map', 'initial'].includes(validationTriggerSource)) {\n autoApplyValidationStartedRef.current = true;\n }\n }, [validationLoading, validationTriggerSource]);\n\n useEffect(() => {\n if (\n validationTriggerSource === 'map' &&\n mapValidationStartedRef.current &&\n showValidationSuggestions &&\n !validationLoading &&\n validationSuggestions.length === 0\n ) {\n setPendingMapOpen(false);\n mapValidationStartedRef.current = false;\n }\n }, [validationLoading, validationSuggestions, validationTriggerSource, showValidationSuggestions]);\n\n useEffect(() => {\n if (!hasPendingLookupDraft || suggestions.length === 0) {\n return undefined;\n }\n\n const handleDocumentMouseDown = (event) => {\n const component = componentRef.current;\n if (component?.contains(event.target)) {\n return;\n }\n\n const suggestionsList = suggestionsListRef.current;\n if (suggestionsList?.contains(event.target) === false) {\n shouldSearchRef.current = false;\n setQuery('');\n setSelectedAddress(null);\n setSelectedIntlAddressId(null);\n setShowValidationSuggestions(false);\n clearServiceErrors({ custom: true });\n setFormData(lookupDraftOriginalRef.current);\n setHasPendingLookupDraft(false);\n }\n };\n\n document.addEventListener('pointerdown', handleDocumentMouseDown);\n return () => {\n document.removeEventListener('pointerdown', handleDocumentMouseDown);\n };\n }, [hasPendingLookupDraft, suggestions]);\n\n useEffect(() => {\n if (selectedAddress) {\n const selectionKey = selectedAddress.address_id ||\n `${selectedAddress.street || ''}|${selectedAddress.locality || ''}|${selectedAddress.postal_code || ''}`;\n if (appliedSelectionKeyRef.current === selectionKey) {\n return;\n }\n appliedSelectionKeyRef.current = selectionKey;\n\n const mapped = buildIntlAutocompleteAddressMapping(selectedAddress, resolvedAddressForm);\n const updatedFormData = {\n ...stripGeocode(formData),\n ...mapped,\n email: formData.email\n };\n const normalizedFormData = buildTrackedAddress(updatedFormData, 'autocomplete', 'smarty-intl');\n setFormData(normalizedFormData);\n setMapAddressLines([]);\n lastCommittedAddressRef.current = normalizedFormData;\n lookupDraftOriginalRef.current = normalizedFormData;\n setHasPendingLookupDraft(false);\n clearServiceErrors({ custom: true });\n const currentVerificationStatus = 'autocomplete';\n setVerificationStatus(currentVerificationStatus);\n onSelect?.({\n type: 'autocomplete',\n address: normalizedFormData,\n status: buildAddressStatus({\n countryCode,\n addressForm: resolvedAddressForm,\n formData: normalizedFormData,\n verificationStatus: currentVerificationStatus,\n mode,\n requireValidation\n })\n });\n\n if (shouldVerifyAutocompleteSelection({\n addressForm: resolvedAddressForm,\n formData: normalizedFormData,\n requireValidation\n })) {\n // Trigger validation instead of directly selecting.\n // Keep suggestions visible in case multiple candidates are returned.\n setShowValidationSuggestions(true);\n setValidationTriggerSource('autocomplete');\n setValidationTrigger(prev => prev + 1);\n }\n }\n }, [selectedAddress]);\n\n const handleInputChange = (e) => {\n const value = normalizeAddressFieldValue(lookupField, e.target.value);\n shouldSearchRef.current = true;\n appliedSelectionKeyRef.current = null;\n setSelectedAddress(null);\n setSelectedIntlAddressId(null);\n setShowValidationSuggestions(false);\n setShowMapModal(false);\n setPendingMapOpen(false);\n mapValidationStartedRef.current = false;\n setMapAddressLines([]);\n setValidationTriggerSource(null);\n clearServiceErrors({ custom: true });\n if (!hasPendingLookupDraft) {\n lookupDraftOriginalRef.current = formData;\n setHasPendingLookupDraft(true);\n }\n const updatedFormData = stripUnusedEmail({\n ...stripGeocode(formData),\n [lookupField]: value\n });\n setFormData(buildTrackedAddress(updatedFormData, 'unverified'));\n setVerificationStatus('unverified');\n };\n\n const isFieldRequired = (field) => requiredFields.includes(field);\n const isFieldBlank = (field) => String(formData[field] || '').trim() === '';\n const hasInvalidPostalCodeFormat = (field) => {\n if (field !== 'postalCode') {\n return false;\n }\n const value = String(formData.postalCode || '').trim();\n if (!value || !resolvedAddressForm.postalCodeRegex) {\n return false;\n }\n return !resolvedAddressForm.postalCodeRegex.test(normalizePostalCodeValue(value));\n };\n const hasInvalidEmailFormat = (field) => {\n if (field !== 'email') {\n return false;\n }\n const value = String(formData.email || '').trim();\n if (!value) {\n return false;\n }\n return !isValidEmail(value);\n };\n const shouldShowFieldError = (field) => {\n const shouldShowValidation = Boolean(showAllRequiredErrors || touchedFields[field]);\n if (!shouldShowValidation) {\n return false;\n }\n const requiredError = isFieldRequired(field) && isFieldBlank(field);\n return requiredError || hasInvalidPostalCodeFormat(field) || hasInvalidEmailFormat(field);\n };\n\n const handleFieldBlur = (field) => {\n if (!isFieldRequired(field) && field !== 'email' && field !== 'postalCode') {\n return;\n }\n setTouchedFields((prev) => ({ ...prev, [field]: true }));\n };\n\n const getFieldErrorMessage = (field) => {\n if (!shouldShowFieldError(field)) {\n return '';\n }\n if (isFieldRequired(field) && isFieldBlank(field)) {\n return areLabelsLoading ? '' : fieldLabels?.fieldRequired;\n }\n if (hasInvalidPostalCodeFormat(field)) {\n return areLabelsLoading ? '' : fieldLabels?.invalidPostalCode;\n }\n if (hasInvalidEmailFormat(field)) {\n return areLabelsLoading ? '' : fieldLabels?.invalidEmail;\n }\n return '';\n };\n\n const hasVisibleFieldError = (field) => shouldShowFieldError(field);\n\n const handleEditableFieldChange = (field, value) => {\n const normalizedValue = normalizeAddressFieldValue(field, value);\n if (field === lookupField) {\n setShowValidationSuggestions(false);\n }\n setShowMapModal(false);\n setPendingMapOpen(false);\n mapValidationStartedRef.current = false;\n setMapAddressLines([]);\n clearServiceErrors({ custom: true });\n\n const requiredFieldsForVerification = resolvedAddressForm?.requiredFields || requiredFields;\n const nextVerificationStatus = getManualEditVerificationStatus(\n verificationStatus,\n field,\n lookupField,\n requiredFieldsForVerification\n );\n const updatedFormData = withManualAddressVerificationEdit(\n stripUnusedEmail({\n ...stripGeocode(formData),\n [field]: normalizedValue\n }),\n field,\n nextVerificationStatus\n );\n setFormData(updatedFormData);\n setVerificationStatus(nextVerificationStatus);\n\n if (fieldTimerRef.current) {\n clearTimeout(fieldTimerRef.current);\n }\n\n fieldTimerRef.current = setTimeout(() => {\n const payload = {\n type: 'field-change',\n field,\n value: normalizedValue,\n address: updatedFormData,\n status: buildAddressStatus({\n countryCode,\n addressForm: resolvedAddressForm,\n formData: updatedFormData,\n verificationStatus: nextVerificationStatus,\n mode,\n requireValidation\n })\n };\n\n if (hasEmailField && field === 'email' && value) {\n payload.isValidEmail = isValidEmail(normalizedValue);\n }\n\n onSelect?.(payload);\n }, 500);\n };\n\n const handleSelect = (address) => {\n clearServiceErrors({ lookup: true, validation: false, custom: true });\n if (address.entries > 1 || (address.entries === 1 && address.isDetailed === false)) {\n shouldSearchRef.current = true;\n appliedSelectionKeyRef.current = null;\n setSelectedIntlAddressId(address.address_id);\n setQuery(address.displayText);\n } else {\n shouldSearchRef.current = false;\n appliedSelectionKeyRef.current = null;\n setSelectedIntlAddressId(null);\n setSelectedAddress(address);\n setQuery('');\n }\n };\n\n const handleValidationSelect = (validatedAddress) => {\n clearServiceErrors({ lookup: false, validation: true, custom: false });\n const config = resolvedAddressForm.addressElements || [];\n const {\n mapped: formattedMapped,\n mapAddressLines: nextMapAddressLines\n } = buildIntlConfiguredVerificationMapping(validatedAddress, resolvedAddressForm);\n\n let mapped = preserveBlankConfiguredMappings(\n formattedMapped,\n formData,\n config,\n 'verification'\n );\n\n // Apply address wrapping if enabled\n if (resolvedAddressForm.wrapAddress1ToAddress2) {\n const address1Field = config.find(f => f.field === 'address1');\n if (address1Field?.maxLength) {\n const wrapped = wrapAddress1ToAddress2(mapped.address1, mapped.address2, address1Field.maxLength);\n mapped.address1 = wrapped.address1;\n mapped.address2 = wrapped.address2;\n }\n }\n\n const updatedFormData = {\n ...stripGeocode(formData),\n ...mapped,\n email: formData.email,\n latitude: validatedAddress.metadata?.latitude,\n longitude: validatedAddress.metadata?.longitude\n };\n const normalizedFormData = buildTrackedAddress(updatedFormData, 'verified', 'smarty-intl');\n setShowValidationSuggestions(false);\n setValidationTriggerSource(null);\n setFormData(normalizedFormData);\n setMapAddressLines(nextMapAddressLines);\n lastCommittedAddressRef.current = normalizedFormData;\n lookupDraftOriginalRef.current = normalizedFormData;\n setHasPendingLookupDraft(false);\n const currentVerificationStatus = 'verified';\n setVerificationStatus(currentVerificationStatus);\n autoApplyValidationStartedRef.current = false;\n if (pendingMapOpen) {\n setPendingMapOpen(false);\n setShowMapModal(true);\n }\n mapValidationStartedRef.current = false;\n onSelect?.({\n type: 'validation',\n address: normalizedFormData,\n verification: validatedAddress.analysis,\n status: buildAddressStatus({\n countryCode,\n addressForm: resolvedAddressForm,\n formData: normalizedFormData,\n verificationStatus: currentVerificationStatus,\n mode,\n requireValidation\n })\n });\n };\n\n const handleValidate = () => {\n if (!requireValidation) {\n return;\n }\n clearServiceErrors({ lookup: false, validation: true, custom: false });\n setShowValidationSuggestions(true);\n setValidationTriggerSource('manual');\n setValidationTrigger(prev => prev + 1);\n };\n\n const getFieldKey = (fieldConfig) => fieldConfig.field;\n\n const getSuggestionKey = (suggestion) => (\n suggestion.address_id ||\n [\n suggestion.displayText,\n suggestion.street,\n suggestion.address_text,\n suggestion.locality,\n suggestion.administrative_area,\n suggestion.postal_code,\n suggestion.entries\n ].filter((value) => value !== undefined && value !== null).join('|')\n );\n\n const getValidationSuggestionKey = (suggestion) => [\n suggestion.displayText,\n suggestion.address1,\n suggestion.address2,\n suggestion.address3,\n suggestion.components?.thoroughfare,\n suggestion.components?.premise,\n suggestion.components?.locality,\n suggestion.components?.administrative_area,\n suggestion.components?.postal_code\n ].filter((value) => value !== undefined && value !== null).join('|');\n\n const getIntlValidationSummaryTitle = (suggestion) => {\n const code = suggestion.validationSummary?.code;\n\n switch (code) {\n case 'verified':\n return fieldLabels?.intlVerifiedTitle || suggestion.validationSummary?.title || 'Verified';\n case 'verified-sub-building-changed':\n return fieldLabels?.intlVerifiedSubBuildingChangedTitle ||\n suggestion.validationSummary?.title ||\n 'Verified with unit changes';\n case 'partial':\n return fieldLabels?.intlPartialTitle || suggestion.validationSummary?.title || 'Partially verified';\n case 'ambiguous':\n return fieldLabels?.intlAmbiguousTitle || suggestion.validationSummary?.title || 'Multiple matches found';\n case 'not-verified':\n return fieldLabels?.intlNotVerifiedTitle || suggestion.validationSummary?.title || 'Not verified';\n default:\n return suggestion.validationSummary?.title || 'Unknown';\n }\n };\n\n const getIntlValidationSummaryMessage = (suggestion) => {\n const code = suggestion.validationSummary?.code;\n\n switch (code) {\n case 'verified':\n return fieldLabels?.intlVerifiedMessage || suggestion.validationSummary?.message || '';\n case 'verified-sub-building-changed':\n return fieldLabels?.intlVerifiedSubBuildingChangedMessage ||\n suggestion.validationSummary?.message ||\n '';\n case 'partial':\n return fieldLabels?.intlPartialMessage || suggestion.validationSummary?.message || '';\n case 'ambiguous':\n return fieldLabels?.intlAmbiguousMessage || suggestion.validationSummary?.message || '';\n case 'not-verified':\n return fieldLabels?.intlNotVerifiedMessage || suggestion.validationSummary?.message || '';\n default:\n return suggestion.validationSummary?.message || '';\n }\n };\n\n const handleOpenMap = () => {\n if (hasMapCoordinates) {\n setShowMapModal(true);\n return;\n }\n\n if (!canAttemptMap || validationLoading) {\n return;\n }\n\n clearServiceErrors({ lookup: false, validation: true, custom: false });\n mapValidationStartedRef.current = false;\n setPendingMapOpen(true);\n setShowValidationSuggestions(true);\n setValidationTriggerSource('map');\n setValidationTrigger((prev) => prev + 1);\n };\n\n const renderLookupActions = () => (\n <div className=\"ns-address-lookup__actions\">\n {showMapAction && (\n <button\n type=\"button\"\n onClick={handleOpenMap}\n className=\"ns-address-lookup__toggle ns-address-lookup__toggle--icon\"\n title={fieldLabels?.openInMaps}\n aria-label={fieldLabels?.openInMaps}\n >\n <LocationPinIcon className=\"ns-address-lookup__icon\" />\n </button>\n )}\n {!isAutocompleteMode && requireValidation && showManualValidateButton && (\n <NsButton\n type=\"button\"\n onClick={handleValidate}\n disabled={validationLoading || !String(formData[lookupField] || '').trim()}\n variant=\"contained\"\n color=\"primary\"\n size=\"small\"\n >\n {validationLoading ? 'Validating...' : 'Validate Address'}\n </NsButton>\n )}\n <button\n type=\"button\"\n onClick={() => {\n setShowValidationSuggestions(false);\n setShowMapModal(false);\n setPendingMapOpen(false);\n setValidationTriggerSource(null);\n clearServiceErrors({ custom: true });\n setMode(mode === 'autocomplete' ? 'manual' : 'autocomplete');\n }}\n className=\"ns-address-lookup__toggle\"\n >\n {mode === 'autocomplete' ?\n fieldLabels?.switchToManualEntry :\n fieldLabels?.switchToAutocomplete}\n </button>\n </div>\n );\n\n const renderLookupLists = (isLookupField) => {\n const shouldShowValidationResults =\n requireValidation &&\n showValidationSuggestions &&\n (!isAutocompleteMode || ['map', 'initial'].includes(validationTriggerSource));\n const shouldShowNoResults =\n shouldShowValidationResults &&\n !validationLoading &&\n validationSuggestions.length === 0 &&\n !validationServiceError &&\n (validationTriggerSource !== 'map' || mapValidationStartedRef.current);\n\n if (!isLookupField) {\n return null;\n }\n\n if (loading && isAutocompleteMode) {\n return <div className=\"ns-address-lookup__spinner\" />;\n }\n\n if (suggestions.length > 0 && !selectedAddress && isAutocompleteMode) {\n return (\n <ul\n ref={suggestionsListRef}\n className=\"ns-address-lookup__list ns-address-lookup__list--suggestions\">\n {suggestions.map((suggestion, index) => (\n <li\n key={getSuggestionKey(suggestion)}\n className={[\n 'ns-address-lookup__list-item',\n index < suggestions.length - 1 ? 'ns-address-lookup__list-item--divided' : ''\n ].filter(Boolean).join(' ')}\n >\n <button\n type=\"button\"\n onClick={() => handleSelect(suggestion)}\n className=\"ns-address-lookup__list-button\"\n >\n {suggestion.displayText}\n </button>\n </li>\n ))}\n </ul>\n );\n }\n\n if (shouldShowValidationResults && validationSuggestions.length > 0) {\n return (\n <ul className=\"ns-address-lookup__list ns-address-lookup__list--validation-inline\">\n {validationSuggestions.map((suggestion, index) => (\n <li\n key={getValidationSuggestionKey(suggestion)}\n className={[\n 'ns-address-lookup__list-item',\n index < validationSuggestions.length - 1 ? 'ns-address-lookup__list-item--divided' : ''\n ].filter(Boolean).join(' ')}\n >\n <button\n type=\"button\"\n onClick={() => handleValidationSelect(suggestion)}\n className=\"ns-address-lookup__list-button\"\n >\n <div className=\"ns-address-lookup__list-title\">\n {getIntlValidationSummaryTitle(suggestion)}\n </div>\n <div className=\"ns-address-lookup__list-subtitle\">\n {suggestion.displayText}\n </div>\n <div className=\"ns-address-lookup__list-subtitle\">\n {getIntlValidationSummaryMessage(suggestion)}\n </div>\n </button>\n </li>\n ))}\n </ul>\n );\n }\n\n if (shouldShowNoResults) {\n return (\n <div className=\"ns-address-lookup__message\">\n {fieldLabels?.intlNoResults}\n </div>\n );\n }\n\n return null;\n };\n\n useEffect(() => {\n if (\n ['autocomplete', 'map'].includes(validationTriggerSource) &&\n validationSuggestions.length === 1 &&\n autoApplyValidationStartedRef.current\n ) {\n handleValidationSelect(validationSuggestions[0]);\n }\n\n if (\n validationTriggerSource === 'initial' &&\n validationSuggestions.length === 1 &&\n autoApplyValidationStartedRef.current &&\n isAcceptableInitialValidationResult(validationSuggestions[0])\n ) {\n handleValidationSelect(validationSuggestions[0]);\n }\n }, [validationSuggestions, validationTriggerSource]);\n\n const renderField = (fieldConfig) => {\n const isLookupField = fieldConfig.field === lookupField;\n const fieldError = getFieldErrorMessage(fieldConfig.field);\n const isInvalid = hasVisibleFieldError(fieldConfig.field);\n const isReadOnly = (!fieldConfig.editable && !isLookupField) && isAutocompleteMode;\n const inputClassName = [\n 'ns-address-lookup__input',\n isReadOnly ? 'ns-address-lookup__input--readonly' : '',\n isLookupField && loading ? 'ns-address-lookup__input--loading' : ''\n ].filter(Boolean).join(' ');\n\n return (\n <div\n key={getFieldKey(fieldConfig)}\n className=\"ns-address-lookup__field\"\n style={{ width: fieldConfig.width === 'full' ? '100%' : '50%' }}\n >\n {isLookupField && (\n <div className=\"ns-address-lookup__label-row\">\n <label className=\"MuiFormLabel-root MuiFormLabel-colorPrimary css-1ef1ceb-MuiFormLabel-root\">\n {areLabelsLoading ? '' : (fieldLabels?.[fieldConfig.field] || fieldConfig.label)}\n </label>\n {renderLookupActions()}\n </div>\n )}\n <NsInputField\n id={getFieldId(fieldConfig.field)}\n type=\"text\"\n label={isLookupField || areLabelsLoading ? '' : (fieldLabels?.[fieldConfig.field] || fieldConfig.label)}\n value={formData[fieldConfig.field] || ''}\n aria-invalid={shouldShowFieldError(fieldConfig.field) ? 'true' : undefined}\n fieldState={isInvalid ? 'error' : undefined}\n helperText={fieldError || undefined}\n onBlur={() => handleFieldBlur(fieldConfig.field)}\n onChange={(e) => {\n const filtered = filterAllowedCharacters(e.target.value, fieldConfig.allowedCharacters);\n if (isLookupField && isAutocompleteMode) {\n handleInputChange({ ...e, target: { ...e.target, value: filtered } });\n } else {\n handleEditableFieldChange(fieldConfig.field, filtered);\n }\n }}\n InputProps={{\n readOnly: isReadOnly\n }}\n inputProps={{\n maxLength: fieldConfig.maxLength,\n 'data-testid': getFieldTestId(fieldConfig.field)\n }}\n className={inputClassName}\n />\n {renderLookupLists(isLookupField)}\n </div>\n );\n };\n\n const renderAddressForm = () => {\n const config = resolvedAddressForm?.addressElements;\n\n if (!config?.length) {\n if (isFormLoading) {\n return <div>{fieldLabels?.loadingAddressForm}</div>;\n }\n\n return <div>No form available for this country: {countryCode}</div>;\n }\n\n return (\n <>\n {config.map(renderField)}\n </>\n );\n };\n\n return (\n <div ref={componentRef} className=\"ns-address-lookup__panel\">\n {lookupServiceError && <div className=\"ns-address-lookup__message\">{lookupErrorMessage}</div>}\n {customError && <div className=\"ns-address-lookup__message\">{customError}</div>}\n {requireValidation && validationServiceError && (\n <div className=\"ns-address-lookup__message\">\n {validationErrorMessage}\n </div>\n )}\n\n <div className=\"ns-address-lookup__form\">\n {renderAddressForm()}\n </div>\n {showMapModal && (\n <div\n className=\"ns-address-lookup__modal-backdrop\"\n onClick={() => setShowMapModal(false)}\n >\n <div\n className=\"ns-address-lookup__modal\"\n role=\"dialog\"\n aria-modal=\"true\"\n aria-label={fieldLabels?.addressLocation}\n onClick={(event) => event.stopPropagation()}\n >\n <div className=\"ns-address-lookup__modal-header\">\n <div className=\"ns-address-lookup__modal-title\">\n {fieldLabels?.addressLocation}\n </div>\n <button\n type=\"button\"\n className=\"ns-address-lookup__toggle\"\n aria-label=\"Close\"\n onClick={() => setShowMapModal(false)}\n >\n X\n </button>\n </div>\n <div ref={mapContainerRef} className=\"ns-address-lookup__map\" />\n </div>\n </div>\n )}\n </div>\n );\n};\n\nSmartyIntlResults.propTypes = {\n countryCode: PropTypes.string.isRequired,\n onSelect: PropTypes.func,\n initialAddress: addressPropType,\n requireValidation: PropTypes.bool,\n showManualValidateButton: PropTypes.bool,\n validationRequestId: PropTypes.number,\n language: PropTypes.string,\n strings: labelStringsPropType,\n formDefinition: formDefinitionPropType,\n deferFormLookup: PropTypes.bool\n};\n\nexport default SmartyIntlResults;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.getRequiredFieldsFromAddressForm = exports.buildAddressStatus = void 0;
|
|
6
|
+
exports.shouldVerifyAutocompleteSelection = exports.getRequiredFieldsFromAddressForm = exports.getMissingRequiredFields = exports.buildAddressStatus = void 0;
|
|
7
7
|
var _validators = require("./validators");
|
|
8
8
|
const DEFAULT_RESOLVED_ADDRESS_FORM = {
|
|
9
9
|
addressElements: [],
|
|
@@ -51,6 +51,26 @@ const getRequiredFieldsFromAddressForm = (addressForm = null) => {
|
|
|
51
51
|
return normalizeRequired(formFields.filter(field => !OPTIONAL_FIELDS.has(field)));
|
|
52
52
|
};
|
|
53
53
|
exports.getRequiredFieldsFromAddressForm = getRequiredFieldsFromAddressForm;
|
|
54
|
+
const getMissingRequiredFields = (addressForm = null, formData = {}) => {
|
|
55
|
+
const requiredFields = getRequiredFieldsFromAddressForm(addressForm);
|
|
56
|
+
return requiredFields.filter(field => isBlank(formData === null || formData === void 0 ? void 0 : formData[field]));
|
|
57
|
+
};
|
|
58
|
+
exports.getMissingRequiredFields = getMissingRequiredFields;
|
|
59
|
+
const shouldVerifyAutocompleteSelection = ({
|
|
60
|
+
addressForm = null,
|
|
61
|
+
formData = {},
|
|
62
|
+
requireValidation = true
|
|
63
|
+
}) => {
|
|
64
|
+
if (!requireValidation) {
|
|
65
|
+
return false;
|
|
66
|
+
}
|
|
67
|
+
const resolvedAddressForm = resolveAddressForm(addressForm);
|
|
68
|
+
if (resolvedAddressForm.verifyAfterAutocomplete) {
|
|
69
|
+
return true;
|
|
70
|
+
}
|
|
71
|
+
return getMissingRequiredFields(resolvedAddressForm, formData).length > 0;
|
|
72
|
+
};
|
|
73
|
+
exports.shouldVerifyAutocompleteSelection = shouldVerifyAutocompleteSelection;
|
|
54
74
|
const getPostalCodeStatus = (formData, requiredFields, addressForm = null) => {
|
|
55
75
|
const resolvedAddressForm = resolveAddressForm(addressForm);
|
|
56
76
|
const hasPostalField = ((resolvedAddressForm === null || resolvedAddressForm === void 0 ? void 0 : resolvedAddressForm.addressElements) || []).some(field => field.field === 'postalCode');
|
|
@@ -123,7 +143,7 @@ const buildAddressStatus = ({
|
|
|
123
143
|
const resolvedAddressForm = resolveAddressForm(addressForm);
|
|
124
144
|
const formAvailable = resolvedAddressForm.addressElements.length > 0;
|
|
125
145
|
const requiredFields = getRequiredFieldsFromAddressForm(resolvedAddressForm);
|
|
126
|
-
const missingFields =
|
|
146
|
+
const missingFields = getMissingRequiredFields(resolvedAddressForm, formData);
|
|
127
147
|
const postalCode = getPostalCodeStatus(formData, requiredFields, resolvedAddressForm);
|
|
128
148
|
const email = getEmailStatus(formData, requiredFields, resolvedAddressForm);
|
|
129
149
|
const hasInvalidPostalCode = postalCode.applicable && postalCode.value !== '' && postalCode.isValid === false;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"addressStatus.js","names":["_validators","require","DEFAULT_RESOLVED_ADDRESS_FORM","addressElements","lookupField","requiredFields","postalCodeRegex","verifyAfterAutocomplete","wrapAddress1ToAddress2","OPTIONAL_FIELDS","Set","isBlank","value","undefined","String","trim","resolveAddressForm","addressForm","Array","isArray","getRequiredFieldsFromAddressForm","_resolvedAddressForm$","resolvedAddressForm","configRequired","formFields","map","field","formFieldSet","normalizeRequired","fields","seen","filter","has","add","length","exports","getPostalCodeStatus","formData","hasPostalField","some","applicable","required","isValid","postalCode","normalizePostalCodeValue","includes","regex","test","getEmailStatus","hasEmailField","email","isValidEmail","buildAddressStatus","verificationStatus","mode","requireValidation","_formData$verificatio","formAvailable","missingFields","hasInvalidPostalCode","hasInvalidEmail","isComplete","completeness","verification","manuallyEdited","manualChanges","editedFields","needsValidation","Boolean"],"sources":["../../src/utils/addressStatus.js"],"sourcesContent":["import { isValidEmail, normalizePostalCodeValue } from './validators';\n\nconst DEFAULT_RESOLVED_ADDRESS_FORM = {\n addressElements: [],\n lookupField: 'address1',\n requiredFields: [],\n postalCodeRegex: null,\n verifyAfterAutocomplete: false,\n wrapAddress1ToAddress2: false\n};\n\nconst OPTIONAL_FIELDS = new Set(['address2', 'email']);\n\nconst isBlank = (value) => {\n if (value === null || value === undefined) {\n return true;\n }\n\n return String(value).trim() === '';\n};\n\nconst resolveAddressForm = (addressForm = null) => {\n if (addressForm && Array.isArray(addressForm.addressElements)) {\n return {\n ...DEFAULT_RESOLVED_ADDRESS_FORM,\n ...addressForm\n };\n }\n\n return DEFAULT_RESOLVED_ADDRESS_FORM;\n};\n\nexport const getRequiredFieldsFromAddressForm = (addressForm = null) => {\n const resolvedAddressForm = resolveAddressForm(addressForm);\n const configRequired = resolvedAddressForm?.requiredFields;\n const formFields = resolvedAddressForm?.addressElements?.map((field) => field.field) || [];\n const formFieldSet = new Set(formFields);\n const normalizeRequired = (fields) => {\n const seen = new Set();\n return fields.filter((field) => {\n if (!formFieldSet.has(field) || seen.has(field)) {\n return false;\n }\n seen.add(field);\n return true;\n });\n };\n\n if (Array.isArray(configRequired) && configRequired.length > 0) {\n return normalizeRequired(configRequired);\n }\n\n return normalizeRequired(formFields.filter((field) => !OPTIONAL_FIELDS.has(field)));\n};\n\nconst getPostalCodeStatus = (formData, requiredFields, addressForm = null) => {\n const resolvedAddressForm = resolveAddressForm(addressForm);\n const hasPostalField = (resolvedAddressForm?.addressElements || []).some((field) => field.field === 'postalCode');\n\n if (!hasPostalField) {\n return {\n applicable: false,\n required: false,\n value: '',\n isValid: null\n };\n }\n\n const postalCode = formData?.postalCode || '';\n const value = normalizePostalCodeValue(postalCode);\n const required = requiredFields.includes('postalCode');\n const regex = resolvedAddressForm?.postalCodeRegex;\n\n if (value === '') {\n return {\n applicable: true,\n required,\n value,\n isValid: required ? false : null\n };\n }\n\n if (!regex) {\n return {\n applicable: true,\n required,\n value,\n isValid: null\n };\n }\n\n return {\n applicable: true,\n required,\n value,\n isValid: regex.test(value)\n };\n};\n\nconst getEmailStatus = (formData, requiredFields, addressForm = null) => {\n const resolvedAddressForm = resolveAddressForm(addressForm);\n const hasEmailField = (resolvedAddressForm?.addressElements || []).some((field) => field.field === 'email');\n\n if (!hasEmailField) {\n return null;\n }\n\n const value = String(formData?.email || '').trim();\n const required = requiredFields.includes('email');\n\n if (value === '') {\n return {\n applicable: true,\n required,\n value,\n isValid: required ? false : null\n };\n }\n\n return {\n applicable: true,\n required,\n value,\n isValid: isValidEmail(value)\n };\n};\n\nexport const buildAddressStatus = ({\n addressForm = null,\n formData,\n verificationStatus,\n mode,\n requireValidation = true\n}) => {\n const resolvedAddressForm = resolveAddressForm(addressForm);\n const formAvailable = resolvedAddressForm.addressElements.length > 0;\n const requiredFields = getRequiredFieldsFromAddressForm(resolvedAddressForm);\n const missingFields = requiredFields.filter((field) => isBlank(formData?.[field]));\n const postalCode = getPostalCodeStatus(formData, requiredFields, resolvedAddressForm);\n const email = getEmailStatus(formData, requiredFields, resolvedAddressForm);\n\n const hasInvalidPostalCode = postalCode.applicable && postalCode.value !== '' && postalCode.isValid === false;\n const hasInvalidEmail = email?.applicable && email.value !== '' && email.isValid === false;\n const isComplete = formAvailable &&\n missingFields.length === 0 &&\n !hasInvalidPostalCode &&\n !hasInvalidEmail;\n const completeness = isComplete ? 'complete' : 'incomplete';\n\n return {\n formAvailable,\n verification: verificationStatus,\n ...(formData?.verification?.manuallyEdited ? {\n manualChanges: {\n manuallyEdited: true,\n editedFields: formData.verification.editedFields || []\n }\n } : {}),\n needsValidation: Boolean(requireValidation && mode === 'manual' && verificationStatus !== 'verified'),\n completeness,\n missingFields,\n mode,\n postalCode,\n ...(email ? { email } : {})\n };\n};\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"addressStatus.js","names":["_validators","require","DEFAULT_RESOLVED_ADDRESS_FORM","addressElements","lookupField","requiredFields","postalCodeRegex","verifyAfterAutocomplete","wrapAddress1ToAddress2","OPTIONAL_FIELDS","Set","isBlank","value","undefined","String","trim","resolveAddressForm","addressForm","Array","isArray","getRequiredFieldsFromAddressForm","_resolvedAddressForm$","resolvedAddressForm","configRequired","formFields","map","field","formFieldSet","normalizeRequired","fields","seen","filter","has","add","length","exports","getMissingRequiredFields","formData","shouldVerifyAutocompleteSelection","requireValidation","getPostalCodeStatus","hasPostalField","some","applicable","required","isValid","postalCode","normalizePostalCodeValue","includes","regex","test","getEmailStatus","hasEmailField","email","isValidEmail","buildAddressStatus","verificationStatus","mode","_formData$verificatio","formAvailable","missingFields","hasInvalidPostalCode","hasInvalidEmail","isComplete","completeness","verification","manuallyEdited","manualChanges","editedFields","needsValidation","Boolean"],"sources":["../../src/utils/addressStatus.js"],"sourcesContent":["import { isValidEmail, normalizePostalCodeValue } from './validators';\n\nconst DEFAULT_RESOLVED_ADDRESS_FORM = {\n addressElements: [],\n lookupField: 'address1',\n requiredFields: [],\n postalCodeRegex: null,\n verifyAfterAutocomplete: false,\n wrapAddress1ToAddress2: false\n};\n\nconst OPTIONAL_FIELDS = new Set(['address2', 'email']);\n\nconst isBlank = (value) => {\n if (value === null || value === undefined) {\n return true;\n }\n\n return String(value).trim() === '';\n};\n\nconst resolveAddressForm = (addressForm = null) => {\n if (addressForm && Array.isArray(addressForm.addressElements)) {\n return {\n ...DEFAULT_RESOLVED_ADDRESS_FORM,\n ...addressForm\n };\n }\n\n return DEFAULT_RESOLVED_ADDRESS_FORM;\n};\n\nexport const getRequiredFieldsFromAddressForm = (addressForm = null) => {\n const resolvedAddressForm = resolveAddressForm(addressForm);\n const configRequired = resolvedAddressForm?.requiredFields;\n const formFields = resolvedAddressForm?.addressElements?.map((field) => field.field) || [];\n const formFieldSet = new Set(formFields);\n const normalizeRequired = (fields) => {\n const seen = new Set();\n return fields.filter((field) => {\n if (!formFieldSet.has(field) || seen.has(field)) {\n return false;\n }\n seen.add(field);\n return true;\n });\n };\n\n if (Array.isArray(configRequired) && configRequired.length > 0) {\n return normalizeRequired(configRequired);\n }\n\n return normalizeRequired(formFields.filter((field) => !OPTIONAL_FIELDS.has(field)));\n};\n\nexport const getMissingRequiredFields = (addressForm = null, formData = {}) => {\n const requiredFields = getRequiredFieldsFromAddressForm(addressForm);\n return requiredFields.filter((field) => isBlank(formData?.[field]));\n};\n\nexport const shouldVerifyAutocompleteSelection = ({\n addressForm = null,\n formData = {},\n requireValidation = true\n}) => {\n if (!requireValidation) {\n return false;\n }\n\n const resolvedAddressForm = resolveAddressForm(addressForm);\n\n if (resolvedAddressForm.verifyAfterAutocomplete) {\n return true;\n }\n\n return getMissingRequiredFields(resolvedAddressForm, formData).length > 0;\n};\n\nconst getPostalCodeStatus = (formData, requiredFields, addressForm = null) => {\n const resolvedAddressForm = resolveAddressForm(addressForm);\n const hasPostalField = (resolvedAddressForm?.addressElements || []).some((field) => field.field === 'postalCode');\n\n if (!hasPostalField) {\n return {\n applicable: false,\n required: false,\n value: '',\n isValid: null\n };\n }\n\n const postalCode = formData?.postalCode || '';\n const value = normalizePostalCodeValue(postalCode);\n const required = requiredFields.includes('postalCode');\n const regex = resolvedAddressForm?.postalCodeRegex;\n\n if (value === '') {\n return {\n applicable: true,\n required,\n value,\n isValid: required ? false : null\n };\n }\n\n if (!regex) {\n return {\n applicable: true,\n required,\n value,\n isValid: null\n };\n }\n\n return {\n applicable: true,\n required,\n value,\n isValid: regex.test(value)\n };\n};\n\nconst getEmailStatus = (formData, requiredFields, addressForm = null) => {\n const resolvedAddressForm = resolveAddressForm(addressForm);\n const hasEmailField = (resolvedAddressForm?.addressElements || []).some((field) => field.field === 'email');\n\n if (!hasEmailField) {\n return null;\n }\n\n const value = String(formData?.email || '').trim();\n const required = requiredFields.includes('email');\n\n if (value === '') {\n return {\n applicable: true,\n required,\n value,\n isValid: required ? false : null\n };\n }\n\n return {\n applicable: true,\n required,\n value,\n isValid: isValidEmail(value)\n };\n};\n\nexport const buildAddressStatus = ({\n addressForm = null,\n formData,\n verificationStatus,\n mode,\n requireValidation = true\n}) => {\n const resolvedAddressForm = resolveAddressForm(addressForm);\n const formAvailable = resolvedAddressForm.addressElements.length > 0;\n const requiredFields = getRequiredFieldsFromAddressForm(resolvedAddressForm);\n const missingFields = getMissingRequiredFields(resolvedAddressForm, formData);\n const postalCode = getPostalCodeStatus(formData, requiredFields, resolvedAddressForm);\n const email = getEmailStatus(formData, requiredFields, resolvedAddressForm);\n\n const hasInvalidPostalCode = postalCode.applicable && postalCode.value !== '' && postalCode.isValid === false;\n const hasInvalidEmail = email?.applicable && email.value !== '' && email.isValid === false;\n const isComplete = formAvailable &&\n missingFields.length === 0 &&\n !hasInvalidPostalCode &&\n !hasInvalidEmail;\n const completeness = isComplete ? 'complete' : 'incomplete';\n\n return {\n formAvailable,\n verification: verificationStatus,\n ...(formData?.verification?.manuallyEdited ? {\n manualChanges: {\n manuallyEdited: true,\n editedFields: formData.verification.editedFields || []\n }\n } : {}),\n needsValidation: Boolean(requireValidation && mode === 'manual' && verificationStatus !== 'verified'),\n completeness,\n missingFields,\n mode,\n postalCode,\n ...(email ? { email } : {})\n };\n};\n"],"mappings":"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","ignoreList":[]}
|