@nuskin/shipping-address-form 1.7.10-6614-dev.2 → 1.7.10-6614-dev.4

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.
@@ -37,7 +37,7 @@ const DEFAULT_ADDRESS_FORM = exports.DEFAULT_ADDRESS_FORM = {
37
37
  urlDomains: {
38
38
  ...DEFAULT_URL_DOMAINS
39
39
  },
40
- smartyLambdaEnabled: true,
40
+ smartyLambdaEnabled: false,
41
41
  skipCache: false,
42
42
  smartyResponse: false,
43
43
  smartyKeys: {
@@ -163,7 +163,7 @@ const normalizeUrlDomains = (result = {}) => ({
163
163
  });
164
164
  const normalizeSmartyLambdaFlag = value => {
165
165
  if (value === undefined || value === null || value === '') {
166
- return true;
166
+ return false;
167
167
  }
168
168
  if (typeof value === 'string') {
169
169
  return value.trim().toLowerCase() !== 'false';
@@ -1 +1 @@
1
- {"version":3,"file":"addressForm.js","names":["_contentstackLib","require","_smartyConfig","cache","DEFAULT_URL_DOMAINS","dev","test","sit","prod","DEFAULT_SMARTY_KEYS","usAutocomplete","DEFAULT_SMARTY_KEY","intlAutocomplete","intlStreet","usStreet","DEFAULT_API_PATHS","validate","DEFAULT_VALIDATE_PATH","autocomplete","DEFAULT_AUTOCOMPLETE_PATH","DEFAULT_ADDRESS_FORM","exports","addressElements","lookupField","requiredFields","postalCodeRegex","verifyAfterAutocomplete","wrapAddress1ToAddress2","entryMode","validationMode","minimumAcceptedLevel","includeOrganizationInAddress1","urlDomains","smartyLambdaEnabled","skipCache","smartyResponse","smartyKeys","apiPaths","coerceAddressElement","element","nextElement","max_length","undefined","Number","extractAddressForm","addressForm","address_elements","Array","isArray","map","normalizeApiMappings","apiMappings","verification","normalizeAllowedCharacters","allowedCharacters","RegExp","err","normalizeMaxLength","maxLength","trim","parsed","isNaN","normalizeWidth","width","normalizeInputType","fieldType","normalizeAddressElement","field","editable","Boolean","required","inputType","field_type","allowMissingAfterVerification","allow_missing_after_verification","trustVerifiedFormat","trust_verified_format","allowed_characters","api_mappings","normalizeRequiredFields","seen","Set","filter","has","add","normalizePostalCodeRegex","normalizeEntryMode","includes","normalizeValidationMode","normalizeMinimumAcceptedLevel","normalizeUrlDomain","value","normalizeUrlDomains","result","dev_url_domain","devUrlDomain","test_url_domain","testUrlDomain","sit_url_domain","sitUrlDomain","prod_url_domain","prodUrlDomain","normalizeSmartyLambdaFlag","toLowerCase","normalizeOptionalFlag","normalizeSmartyKey","normalizeSmartyKeys","smarty_us_autocomplete_key","smartyUsAutocompleteKey","smarty_intl_autocomplete_key","smartyIntlAutocompleteKey","smarty_intl_street_key","smartyIntlStreetKey","smarty_us_street_key","smartyUsStreetKey","normalizeApiPath","fallback","normalizeApiPaths","validate_path","validatePath","autocomplete_path","autocompletePath","normalizeAddressForm","_addressElements$","addressElementsSource","addressEntry","address_entry","postal_code_regex","verify_after_autocomplete","wrap_address1_to_address2","entry_mode","validation_mode","minimum_accepted_level","include_organization_in_address1","enable_smarty_lambda","enableSmartyLambda","skip_cache","smarty_response","applySmartyRuntimeConfig","form","_window$location","hostname","window","location","applyStreetAddressApiDomains","setSmartyLambdaEnabled","setSkipCache","setSmartyResponseEnabled","applySmartyKeys","applySmartyApiPaths","getAddressForm","country","countryCode","cacheKey","stack","getStack","results","getMultiEntries","clearAddressFormCache","Object","keys","forEach"],"sources":["../../../src/addressLookup/utils/addressForm.js"],"sourcesContent":["import { getStack } from '@nuskin/contentstack-lib';\nimport {\n applyStreetAddressApiDomains,\n setSmartyLambdaEnabled,\n applySmartyKeys,\n applySmartyApiPaths,\n setSkipCache,\n setSmartyResponseEnabled,\n DEFAULT_SMARTY_KEY,\n DEFAULT_VALIDATE_PATH,\n DEFAULT_AUTOCOMPLETE_PATH\n} from './smartyConfig';\n\nconst cache = {};\nconst DEFAULT_URL_DOMAINS = {\n dev: '',\n test: '',\n sit: '',\n prod: ''\n};\nconst DEFAULT_SMARTY_KEYS = {\n usAutocomplete: DEFAULT_SMARTY_KEY,\n intlAutocomplete: DEFAULT_SMARTY_KEY,\n intlStreet: DEFAULT_SMARTY_KEY,\n usStreet: DEFAULT_SMARTY_KEY\n};\nconst DEFAULT_API_PATHS = {\n validate: DEFAULT_VALIDATE_PATH,\n autocomplete: DEFAULT_AUTOCOMPLETE_PATH\n};\nconst DEFAULT_ADDRESS_FORM = {\n addressElements: [],\n lookupField: 'address1',\n requiredFields: [],\n postalCodeRegex: null,\n verifyAfterAutocomplete: false,\n wrapAddress1ToAddress2: false,\n entryMode: 'both',\n validationMode: 'required',\n minimumAcceptedLevel: 'verified',\n includeOrganizationInAddress1: false,\n urlDomains: { ...DEFAULT_URL_DOMAINS },\n smartyLambdaEnabled: true,\n skipCache: false,\n smartyResponse: false,\n smartyKeys: { ...DEFAULT_SMARTY_KEYS },\n apiPaths: { ...DEFAULT_API_PATHS }\n};\n\nconst coerceAddressElement = (element = {}) => {\n const nextElement = { ...element };\n\n if (nextElement.max_length !== undefined && nextElement.max_length !== null) {\n nextElement.max_length = Number(nextElement.max_length);\n }\n\n return nextElement;\n};\n\nconst extractAddressForm = (addressForm = null) => {\n if (!addressForm || typeof addressForm !== 'object') {\n return addressForm;\n }\n\n return {\n ...addressForm,\n address_elements: Array.isArray(addressForm.address_elements) ?\n addressForm.address_elements.map(coerceAddressElement) :\n []\n };\n};\n\nconst normalizeApiMappings = (apiMappings = null) => {\n if (!apiMappings || typeof apiMappings !== 'object') {\n return null;\n }\n\n const autocomplete = typeof apiMappings.autocomplete === 'string' ? apiMappings.autocomplete : '';\n const verification = typeof apiMappings.verification === 'string' ? apiMappings.verification : '';\n\n if (!autocomplete && !verification) {\n return null;\n }\n\n return {\n autocomplete: autocomplete || null,\n verification: verification || null\n };\n};\n\nconst normalizeAllowedCharacters = (allowedCharacters) => {\n if (!allowedCharacters || typeof allowedCharacters !== 'string') {\n return null;\n }\n\n try {\n return new RegExp(allowedCharacters);\n } catch (err) {\n return null;\n }\n};\n\nconst normalizeMaxLength = (element = {}) => {\n if (typeof element.maxLength === 'number') {\n return element.maxLength;\n }\n\n if (typeof element.maxLength === 'string' && element.maxLength.trim() !== '') {\n const parsed = Number(element.maxLength);\n return Number.isNaN(parsed) ? null : parsed;\n }\n\n if (typeof element.max_length === 'number') {\n return element.max_length;\n }\n\n if (typeof element.max_length === 'string' && element.max_length.trim() !== '') {\n const parsed = Number(element.max_length);\n return Number.isNaN(parsed) ? null : parsed;\n }\n\n return null;\n};\n\nconst normalizeWidth = (width) => {\n if (width === 'half' || width === 'third') {\n return width;\n }\n\n return 'full';\n};\n\nconst normalizeInputType = (fieldType) => (fieldType === 'select' ? 'select' : 'text');\n\nconst normalizeAddressElement = (element = {}) => ({\n field: element.field || '',\n width: normalizeWidth(element.width),\n editable: Boolean(element.editable),\n maxLength: normalizeMaxLength(element),\n required: Boolean(element.required),\n inputType: normalizeInputType(element.field_type || element.fieldType),\n allowMissingAfterVerification: Boolean(\n element.allow_missing_after_verification || element.allowMissingAfterVerification\n ),\n trustVerifiedFormat: Boolean(element.trust_verified_format || element.trustVerifiedFormat),\n allowedCharacters: normalizeAllowedCharacters(element.allowedCharacters || element.allowed_characters),\n apiMappings: normalizeApiMappings(element.api_mappings || element.apiMappings)\n});\n\nconst normalizeRequiredFields = (addressElements = []) => {\n const seen = new Set();\n\n return addressElements\n .filter((element) => element.required && element.field)\n .map((element) => element.field)\n .filter((field) => {\n if (seen.has(field)) {\n return false;\n }\n seen.add(field);\n return true;\n });\n};\n\nconst normalizePostalCodeRegex = (postalCodeRegex) => {\n if (!postalCodeRegex) {\n return null;\n }\n\n if (postalCodeRegex instanceof RegExp) {\n return postalCodeRegex;\n }\n\n if (typeof postalCodeRegex !== 'string') {\n return null;\n }\n\n try {\n return new RegExp(postalCodeRegex);\n } catch (err) {\n return null;\n }\n};\n\nconst normalizeEntryMode = (entryMode) => (\n ['both', 'autocomplete', 'manual'].includes(entryMode) ? entryMode : DEFAULT_ADDRESS_FORM.entryMode\n);\n\nconst normalizeValidationMode = (validationMode) => (\n ['required', 'optional', 'disabled'].includes(validationMode) ?\n validationMode :\n DEFAULT_ADDRESS_FORM.validationMode\n);\n\nconst normalizeMinimumAcceptedLevel = (minimumAcceptedLevel) => (\n ['verified', 'partial'].includes(minimumAcceptedLevel) ?\n minimumAcceptedLevel :\n DEFAULT_ADDRESS_FORM.minimumAcceptedLevel\n);\n\nconst normalizeUrlDomain = (value) => (\n typeof value === 'string' && value.trim() ? value.trim() : ''\n);\n\nconst normalizeUrlDomains = (result = {}) => ({\n dev: normalizeUrlDomain(result.dev_url_domain || result.devUrlDomain),\n test: normalizeUrlDomain(result.test_url_domain || result.testUrlDomain),\n sit: normalizeUrlDomain(result.sit_url_domain || result.sitUrlDomain),\n prod: normalizeUrlDomain(result.prod_url_domain || result.prodUrlDomain)\n});\n\nconst normalizeSmartyLambdaFlag = (value) => {\n if (value === undefined || value === null || value === '') {\n return true;\n }\n\n if (typeof value === 'string') {\n return value.trim().toLowerCase() !== 'false';\n }\n\n return Boolean(value);\n};\n\nconst normalizeOptionalFlag = (value) => {\n if (value === undefined || value === null || value === '') {\n return false;\n }\n\n if (typeof value === 'string') {\n return value.trim().toLowerCase() === 'true';\n }\n\n return Boolean(value);\n};\n\nconst normalizeSmartyKey = (value) => (\n typeof value === 'string' && value.trim() ? value.trim() : DEFAULT_SMARTY_KEY\n);\n\nconst normalizeSmartyKeys = (result = {}) => ({\n usAutocomplete: normalizeSmartyKey(result.smarty_us_autocomplete_key || result.smartyUsAutocompleteKey),\n intlAutocomplete: normalizeSmartyKey(result.smarty_intl_autocomplete_key || result.smartyIntlAutocompleteKey),\n intlStreet: normalizeSmartyKey(result.smarty_intl_street_key || result.smartyIntlStreetKey),\n usStreet: normalizeSmartyKey(result.smarty_us_street_key || result.smartyUsStreetKey)\n});\n\nconst normalizeApiPath = (value, fallback) => (\n typeof value === 'string' && value.trim() ? value.trim() : fallback\n);\n\nconst normalizeApiPaths = (result = {}) => ({\n validate: normalizeApiPath(result.validate_path || result.validatePath, DEFAULT_VALIDATE_PATH),\n autocomplete: normalizeApiPath(\n result.autocomplete_path || result.autocompletePath,\n DEFAULT_AUTOCOMPLETE_PATH\n )\n});\n\nexport const normalizeAddressForm = (result = {}) => {\n const addressElementsSource = result.address_elements || result.addressElements;\n const addressEntry = result.address_entry || result.addressEntry || result;\n\n const addressElements = Array.isArray(addressElementsSource) ?\n addressElementsSource.map(normalizeAddressElement).filter((element) => element.field) :\n [];\n\n return {\n addressElements,\n lookupField: addressElements[0]?.field || DEFAULT_ADDRESS_FORM.lookupField,\n requiredFields: normalizeRequiredFields(addressElements),\n postalCodeRegex: normalizePostalCodeRegex(result.postal_code_regex || result.postalCodeRegex),\n verifyAfterAutocomplete: Boolean(result.verify_after_autocomplete || result.verifyAfterAutocomplete),\n wrapAddress1ToAddress2: Boolean(result.wrap_address1_to_address2 || result.wrapAddress1ToAddress2),\n entryMode: normalizeEntryMode(addressEntry.entry_mode || addressEntry.entryMode),\n validationMode: normalizeValidationMode(addressEntry.validation_mode || addressEntry.validationMode),\n minimumAcceptedLevel: normalizeMinimumAcceptedLevel(\n addressEntry.minimum_accepted_level || addressEntry.minimumAcceptedLevel\n ),\n includeOrganizationInAddress1: Boolean(\n addressEntry.include_organization_in_address1 || addressEntry.includeOrganizationInAddress1\n ),\n urlDomains: normalizeUrlDomains(result),\n smartyLambdaEnabled: normalizeSmartyLambdaFlag(\n result.enable_smarty_lambda !== undefined ? result.enable_smarty_lambda : result.enableSmartyLambda\n ),\n skipCache: normalizeOptionalFlag(\n result.skip_cache !== undefined ? result.skip_cache : result.skipCache\n ),\n smartyResponse: normalizeOptionalFlag(\n result.smarty_response !== undefined ? result.smarty_response : result.smartyResponse\n ),\n smartyKeys: normalizeSmartyKeys(result),\n apiPaths: normalizeApiPaths(result)\n };\n};\n\nconst applySmartyRuntimeConfig = (form = {}) => {\n const hostname = (typeof window !== 'undefined' && window.location?.hostname) || '';\n applyStreetAddressApiDomains(form.urlDomains, hostname);\n setSmartyLambdaEnabled(form.smartyLambdaEnabled);\n setSkipCache(form.skipCache);\n setSmartyResponseEnabled(form.smartyResponse);\n applySmartyKeys(form.smartyKeys);\n applySmartyApiPaths(form.apiPaths);\n};\n\nexport const getAddressForm = async (country) => {\n const countryCode = country || 'US';\n const cacheKey = `${countryCode}`;\n\n if (cache[cacheKey]) {\n applySmartyRuntimeConfig(cache[cacheKey]);\n return cache[cacheKey];\n }\n\n try {\n const stack = getStack();\n const results = await stack.getMultiEntries('address_form', true, [countryCode]);\n const form = normalizeAddressForm(extractAddressForm(results?.[0]));\n applySmartyRuntimeConfig(form);\n cache[cacheKey] = form;\n return form;\n } catch (err) {\n const fallback = { ...DEFAULT_ADDRESS_FORM };\n cache[cacheKey] = fallback;\n return fallback;\n }\n};\n\nexport const clearAddressFormCache = () => {\n Object.keys(cache).forEach((cacheKey) => {\n delete cache[cacheKey];\n });\n};\n\nexport { DEFAULT_ADDRESS_FORM };\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"addressForm.js","names":["_contentstackLib","require","_smartyConfig","cache","DEFAULT_URL_DOMAINS","dev","test","sit","prod","DEFAULT_SMARTY_KEYS","usAutocomplete","DEFAULT_SMARTY_KEY","intlAutocomplete","intlStreet","usStreet","DEFAULT_API_PATHS","validate","DEFAULT_VALIDATE_PATH","autocomplete","DEFAULT_AUTOCOMPLETE_PATH","DEFAULT_ADDRESS_FORM","exports","addressElements","lookupField","requiredFields","postalCodeRegex","verifyAfterAutocomplete","wrapAddress1ToAddress2","entryMode","validationMode","minimumAcceptedLevel","includeOrganizationInAddress1","urlDomains","smartyLambdaEnabled","skipCache","smartyResponse","smartyKeys","apiPaths","coerceAddressElement","element","nextElement","max_length","undefined","Number","extractAddressForm","addressForm","address_elements","Array","isArray","map","normalizeApiMappings","apiMappings","verification","normalizeAllowedCharacters","allowedCharacters","RegExp","err","normalizeMaxLength","maxLength","trim","parsed","isNaN","normalizeWidth","width","normalizeInputType","fieldType","normalizeAddressElement","field","editable","Boolean","required","inputType","field_type","allowMissingAfterVerification","allow_missing_after_verification","trustVerifiedFormat","trust_verified_format","allowed_characters","api_mappings","normalizeRequiredFields","seen","Set","filter","has","add","normalizePostalCodeRegex","normalizeEntryMode","includes","normalizeValidationMode","normalizeMinimumAcceptedLevel","normalizeUrlDomain","value","normalizeUrlDomains","result","dev_url_domain","devUrlDomain","test_url_domain","testUrlDomain","sit_url_domain","sitUrlDomain","prod_url_domain","prodUrlDomain","normalizeSmartyLambdaFlag","toLowerCase","normalizeOptionalFlag","normalizeSmartyKey","normalizeSmartyKeys","smarty_us_autocomplete_key","smartyUsAutocompleteKey","smarty_intl_autocomplete_key","smartyIntlAutocompleteKey","smarty_intl_street_key","smartyIntlStreetKey","smarty_us_street_key","smartyUsStreetKey","normalizeApiPath","fallback","normalizeApiPaths","validate_path","validatePath","autocomplete_path","autocompletePath","normalizeAddressForm","_addressElements$","addressElementsSource","addressEntry","address_entry","postal_code_regex","verify_after_autocomplete","wrap_address1_to_address2","entry_mode","validation_mode","minimum_accepted_level","include_organization_in_address1","enable_smarty_lambda","enableSmartyLambda","skip_cache","smarty_response","applySmartyRuntimeConfig","form","_window$location","hostname","window","location","applyStreetAddressApiDomains","setSmartyLambdaEnabled","setSkipCache","setSmartyResponseEnabled","applySmartyKeys","applySmartyApiPaths","getAddressForm","country","countryCode","cacheKey","stack","getStack","results","getMultiEntries","clearAddressFormCache","Object","keys","forEach"],"sources":["../../../src/addressLookup/utils/addressForm.js"],"sourcesContent":["import { getStack } from '@nuskin/contentstack-lib';\nimport {\n applyStreetAddressApiDomains,\n setSmartyLambdaEnabled,\n applySmartyKeys,\n applySmartyApiPaths,\n setSkipCache,\n setSmartyResponseEnabled,\n DEFAULT_SMARTY_KEY,\n DEFAULT_VALIDATE_PATH,\n DEFAULT_AUTOCOMPLETE_PATH\n} from './smartyConfig';\n\nconst cache = {};\nconst DEFAULT_URL_DOMAINS = {\n dev: '',\n test: '',\n sit: '',\n prod: ''\n};\nconst DEFAULT_SMARTY_KEYS = {\n usAutocomplete: DEFAULT_SMARTY_KEY,\n intlAutocomplete: DEFAULT_SMARTY_KEY,\n intlStreet: DEFAULT_SMARTY_KEY,\n usStreet: DEFAULT_SMARTY_KEY\n};\nconst DEFAULT_API_PATHS = {\n validate: DEFAULT_VALIDATE_PATH,\n autocomplete: DEFAULT_AUTOCOMPLETE_PATH\n};\nconst DEFAULT_ADDRESS_FORM = {\n addressElements: [],\n lookupField: 'address1',\n requiredFields: [],\n postalCodeRegex: null,\n verifyAfterAutocomplete: false,\n wrapAddress1ToAddress2: false,\n entryMode: 'both',\n validationMode: 'required',\n minimumAcceptedLevel: 'verified',\n includeOrganizationInAddress1: false,\n urlDomains: { ...DEFAULT_URL_DOMAINS },\n smartyLambdaEnabled: false,\n skipCache: false,\n smartyResponse: false,\n smartyKeys: { ...DEFAULT_SMARTY_KEYS },\n apiPaths: { ...DEFAULT_API_PATHS }\n};\n\nconst coerceAddressElement = (element = {}) => {\n const nextElement = { ...element };\n\n if (nextElement.max_length !== undefined && nextElement.max_length !== null) {\n nextElement.max_length = Number(nextElement.max_length);\n }\n\n return nextElement;\n};\n\nconst extractAddressForm = (addressForm = null) => {\n if (!addressForm || typeof addressForm !== 'object') {\n return addressForm;\n }\n\n return {\n ...addressForm,\n address_elements: Array.isArray(addressForm.address_elements) ?\n addressForm.address_elements.map(coerceAddressElement) :\n []\n };\n};\n\nconst normalizeApiMappings = (apiMappings = null) => {\n if (!apiMappings || typeof apiMappings !== 'object') {\n return null;\n }\n\n const autocomplete = typeof apiMappings.autocomplete === 'string' ? apiMappings.autocomplete : '';\n const verification = typeof apiMappings.verification === 'string' ? apiMappings.verification : '';\n\n if (!autocomplete && !verification) {\n return null;\n }\n\n return {\n autocomplete: autocomplete || null,\n verification: verification || null\n };\n};\n\nconst normalizeAllowedCharacters = (allowedCharacters) => {\n if (!allowedCharacters || typeof allowedCharacters !== 'string') {\n return null;\n }\n\n try {\n return new RegExp(allowedCharacters);\n } catch (err) {\n return null;\n }\n};\n\nconst normalizeMaxLength = (element = {}) => {\n if (typeof element.maxLength === 'number') {\n return element.maxLength;\n }\n\n if (typeof element.maxLength === 'string' && element.maxLength.trim() !== '') {\n const parsed = Number(element.maxLength);\n return Number.isNaN(parsed) ? null : parsed;\n }\n\n if (typeof element.max_length === 'number') {\n return element.max_length;\n }\n\n if (typeof element.max_length === 'string' && element.max_length.trim() !== '') {\n const parsed = Number(element.max_length);\n return Number.isNaN(parsed) ? null : parsed;\n }\n\n return null;\n};\n\nconst normalizeWidth = (width) => {\n if (width === 'half' || width === 'third') {\n return width;\n }\n\n return 'full';\n};\n\nconst normalizeInputType = (fieldType) => (fieldType === 'select' ? 'select' : 'text');\n\nconst normalizeAddressElement = (element = {}) => ({\n field: element.field || '',\n width: normalizeWidth(element.width),\n editable: Boolean(element.editable),\n maxLength: normalizeMaxLength(element),\n required: Boolean(element.required),\n inputType: normalizeInputType(element.field_type || element.fieldType),\n allowMissingAfterVerification: Boolean(\n element.allow_missing_after_verification || element.allowMissingAfterVerification\n ),\n trustVerifiedFormat: Boolean(element.trust_verified_format || element.trustVerifiedFormat),\n allowedCharacters: normalizeAllowedCharacters(element.allowedCharacters || element.allowed_characters),\n apiMappings: normalizeApiMappings(element.api_mappings || element.apiMappings)\n});\n\nconst normalizeRequiredFields = (addressElements = []) => {\n const seen = new Set();\n\n return addressElements\n .filter((element) => element.required && element.field)\n .map((element) => element.field)\n .filter((field) => {\n if (seen.has(field)) {\n return false;\n }\n seen.add(field);\n return true;\n });\n};\n\nconst normalizePostalCodeRegex = (postalCodeRegex) => {\n if (!postalCodeRegex) {\n return null;\n }\n\n if (postalCodeRegex instanceof RegExp) {\n return postalCodeRegex;\n }\n\n if (typeof postalCodeRegex !== 'string') {\n return null;\n }\n\n try {\n return new RegExp(postalCodeRegex);\n } catch (err) {\n return null;\n }\n};\n\nconst normalizeEntryMode = (entryMode) => (\n ['both', 'autocomplete', 'manual'].includes(entryMode) ? entryMode : DEFAULT_ADDRESS_FORM.entryMode\n);\n\nconst normalizeValidationMode = (validationMode) => (\n ['required', 'optional', 'disabled'].includes(validationMode) ?\n validationMode :\n DEFAULT_ADDRESS_FORM.validationMode\n);\n\nconst normalizeMinimumAcceptedLevel = (minimumAcceptedLevel) => (\n ['verified', 'partial'].includes(minimumAcceptedLevel) ?\n minimumAcceptedLevel :\n DEFAULT_ADDRESS_FORM.minimumAcceptedLevel\n);\n\nconst normalizeUrlDomain = (value) => (\n typeof value === 'string' && value.trim() ? value.trim() : ''\n);\n\nconst normalizeUrlDomains = (result = {}) => ({\n dev: normalizeUrlDomain(result.dev_url_domain || result.devUrlDomain),\n test: normalizeUrlDomain(result.test_url_domain || result.testUrlDomain),\n sit: normalizeUrlDomain(result.sit_url_domain || result.sitUrlDomain),\n prod: normalizeUrlDomain(result.prod_url_domain || result.prodUrlDomain)\n});\n\nconst normalizeSmartyLambdaFlag = (value) => {\n if (value === undefined || value === null || value === '') {\n return false;\n }\n\n if (typeof value === 'string') {\n return value.trim().toLowerCase() !== 'false';\n }\n\n return Boolean(value);\n};\n\nconst normalizeOptionalFlag = (value) => {\n if (value === undefined || value === null || value === '') {\n return false;\n }\n\n if (typeof value === 'string') {\n return value.trim().toLowerCase() === 'true';\n }\n\n return Boolean(value);\n};\n\nconst normalizeSmartyKey = (value) => (\n typeof value === 'string' && value.trim() ? value.trim() : DEFAULT_SMARTY_KEY\n);\n\nconst normalizeSmartyKeys = (result = {}) => ({\n usAutocomplete: normalizeSmartyKey(result.smarty_us_autocomplete_key || result.smartyUsAutocompleteKey),\n intlAutocomplete: normalizeSmartyKey(result.smarty_intl_autocomplete_key || result.smartyIntlAutocompleteKey),\n intlStreet: normalizeSmartyKey(result.smarty_intl_street_key || result.smartyIntlStreetKey),\n usStreet: normalizeSmartyKey(result.smarty_us_street_key || result.smartyUsStreetKey)\n});\n\nconst normalizeApiPath = (value, fallback) => (\n typeof value === 'string' && value.trim() ? value.trim() : fallback\n);\n\nconst normalizeApiPaths = (result = {}) => ({\n validate: normalizeApiPath(result.validate_path || result.validatePath, DEFAULT_VALIDATE_PATH),\n autocomplete: normalizeApiPath(\n result.autocomplete_path || result.autocompletePath,\n DEFAULT_AUTOCOMPLETE_PATH\n )\n});\n\nexport const normalizeAddressForm = (result = {}) => {\n const addressElementsSource = result.address_elements || result.addressElements;\n const addressEntry = result.address_entry || result.addressEntry || result;\n\n const addressElements = Array.isArray(addressElementsSource) ?\n addressElementsSource.map(normalizeAddressElement).filter((element) => element.field) :\n [];\n\n return {\n addressElements,\n lookupField: addressElements[0]?.field || DEFAULT_ADDRESS_FORM.lookupField,\n requiredFields: normalizeRequiredFields(addressElements),\n postalCodeRegex: normalizePostalCodeRegex(result.postal_code_regex || result.postalCodeRegex),\n verifyAfterAutocomplete: Boolean(result.verify_after_autocomplete || result.verifyAfterAutocomplete),\n wrapAddress1ToAddress2: Boolean(result.wrap_address1_to_address2 || result.wrapAddress1ToAddress2),\n entryMode: normalizeEntryMode(addressEntry.entry_mode || addressEntry.entryMode),\n validationMode: normalizeValidationMode(addressEntry.validation_mode || addressEntry.validationMode),\n minimumAcceptedLevel: normalizeMinimumAcceptedLevel(\n addressEntry.minimum_accepted_level || addressEntry.minimumAcceptedLevel\n ),\n includeOrganizationInAddress1: Boolean(\n addressEntry.include_organization_in_address1 || addressEntry.includeOrganizationInAddress1\n ),\n urlDomains: normalizeUrlDomains(result),\n smartyLambdaEnabled: normalizeSmartyLambdaFlag(\n result.enable_smarty_lambda !== undefined ? result.enable_smarty_lambda : result.enableSmartyLambda\n ),\n skipCache: normalizeOptionalFlag(\n result.skip_cache !== undefined ? result.skip_cache : result.skipCache\n ),\n smartyResponse: normalizeOptionalFlag(\n result.smarty_response !== undefined ? result.smarty_response : result.smartyResponse\n ),\n smartyKeys: normalizeSmartyKeys(result),\n apiPaths: normalizeApiPaths(result)\n };\n};\n\nconst applySmartyRuntimeConfig = (form = {}) => {\n const hostname = (typeof window !== 'undefined' && window.location?.hostname) || '';\n applyStreetAddressApiDomains(form.urlDomains, hostname);\n setSmartyLambdaEnabled(form.smartyLambdaEnabled);\n setSkipCache(form.skipCache);\n setSmartyResponseEnabled(form.smartyResponse);\n applySmartyKeys(form.smartyKeys);\n applySmartyApiPaths(form.apiPaths);\n};\n\nexport const getAddressForm = async (country) => {\n const countryCode = country || 'US';\n const cacheKey = `${countryCode}`;\n\n if (cache[cacheKey]) {\n applySmartyRuntimeConfig(cache[cacheKey]);\n return cache[cacheKey];\n }\n\n try {\n const stack = getStack();\n const results = await stack.getMultiEntries('address_form', true, [countryCode]);\n const form = normalizeAddressForm(extractAddressForm(results?.[0]));\n applySmartyRuntimeConfig(form);\n cache[cacheKey] = form;\n return form;\n } catch (err) {\n const fallback = { ...DEFAULT_ADDRESS_FORM };\n cache[cacheKey] = fallback;\n return fallback;\n }\n};\n\nexport const clearAddressFormCache = () => {\n Object.keys(cache).forEach((cacheKey) => {\n delete cache[cacheKey];\n });\n};\n\nexport { DEFAULT_ADDRESS_FORM };\n"],"mappings":"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","ignoreList":[]}
@@ -71,15 +71,25 @@ exports.getSmartyIntlAutocompleteKey = getSmartyIntlAutocompleteKey;
71
71
  const getSmartyIntlStreetKey = () => _smartyKeys.intlStreet;
72
72
  exports.getSmartyIntlStreetKey = getSmartyIntlStreetKey;
73
73
  const getSmartyUsStreetKey = () => _smartyKeys.usStreet;
74
+
75
+ // An explicitly provided blank key resets to the default rather than keeping the previous value.
74
76
  exports.getSmartyUsStreetKey = getSmartyUsStreetKey;
77
+ const applySmartyKey = (keys, name) => {
78
+ if (!Object.hasOwn(keys, name)) {
79
+ return;
80
+ }
81
+ const value = keys[name];
82
+ const normalized = typeof value === 'string' ? value.trim() : '';
83
+ _smartyKeys[name] = normalized || DEFAULT_SMARTY_KEY;
84
+ };
75
85
  const applySmartyKeys = (keys = {}) => {
76
86
  if (!keys || typeof keys !== 'object') {
77
87
  return;
78
88
  }
79
- if (keys.usAutocomplete) _smartyKeys.usAutocomplete = keys.usAutocomplete;
80
- if (keys.intlAutocomplete) _smartyKeys.intlAutocomplete = keys.intlAutocomplete;
81
- if (keys.intlStreet) _smartyKeys.intlStreet = keys.intlStreet;
82
- if (keys.usStreet) _smartyKeys.usStreet = keys.usStreet;
89
+ applySmartyKey(keys, 'usAutocomplete');
90
+ applySmartyKey(keys, 'intlAutocomplete');
91
+ applySmartyKey(keys, 'intlStreet');
92
+ applySmartyKey(keys, 'usStreet');
83
93
  };
84
94
  exports.applySmartyKeys = applySmartyKeys;
85
95
  const applySmartyApiPaths = (paths = {}) => {
@@ -1 +1 @@
1
- {"version":3,"file":"smartyConfig.js","names":["STREET_ADDRESS_PATH","DEFAULT_STREET_ADDRESS_API_URL","exports","DEFAULT_SMARTY_KEY","DEFAULT_VALIDATE_PATH","DEFAULT_AUTOCOMPLETE_PATH","DEFAULT_API_PATHS","validate","autocomplete","_streetAddressApiUrl","_smartyLambdaEnabled","_skipCache","_smartyResponse","_smartyKeys","usAutocomplete","intlAutocomplete","intlStreet","usStreet","_apiPaths","setStreetAddressApiUrl","url","getStreetAddressApiUrl","setSmartyLambdaEnabled","enabled","isSmartyLambdaEnabled","setSkipCache","Boolean","isSkipCacheEnabled","setSmartyResponseEnabled","isSmartyResponseEnabled","appendLambdaQueryParams","skipCache","smartyResponse","params","push","length","separator","includes","join","getSmartyUsAutocompleteKey","getSmartyIntlAutocompleteKey","getSmartyIntlStreetKey","getSmartyUsStreetKey","applySmartyKeys","keys","applySmartyApiPaths","paths","getSmartyApiPaths","getCurrentHostname","window","location","hostname","ENV_TOKEN_PATTERNS","local","sit","dev","test","resolveEnvironment","resolvedHost","normalized","toLowerCase","SLASH_CHAR_CODE","stripTrailingSlashes","value","endIndex","charCodeAt","slice","normalizeDomain","domain","trim","buildStreetAddressUrl","hasProtocol","startsWith","base","normalizePathSegment","fallback","trimmed","buildSmartyEndpoint","cfg","operation","countryCode","_cfg$apiPaths","path","apiPaths","streetAddressApiUrl","getAppConfigApiDomain","APP_CONFIG","apiDomainName","isLocalHost","host","resolveStreetAddressApiUrl","urlDomains","appConfigDomain","effectiveHostname","environment","lookupOrder","map","key","find","applyStreetAddressApiDomains","resolvedUrl","deriveSmartyConfig","addressForm","_addressForm$smartyKe","_addressForm$smartyKe2","_addressForm$smartyKe3","_addressForm$smartyKe4","_addressForm$apiPaths","_addressForm$apiPaths2","smartyLambdaEnabled","smartyKeys"],"sources":["../../../src/addressLookup/utils/smartyConfig.js"],"sourcesContent":["const STREET_ADDRESS_PATH = '/street-address';\nconst DEFAULT_STREET_ADDRESS_API_URL = `https://apis.nuskin.com${STREET_ADDRESS_PATH}`;\nconst DEFAULT_SMARTY_KEY = '22361352819063501';\nconst DEFAULT_VALIDATE_PATH = '/validate/v1';\nconst DEFAULT_AUTOCOMPLETE_PATH = '/autocomplete/v1';\nconst DEFAULT_API_PATHS = {\n validate: DEFAULT_VALIDATE_PATH,\n autocomplete: DEFAULT_AUTOCOMPLETE_PATH\n};\n\nlet _streetAddressApiUrl = DEFAULT_STREET_ADDRESS_API_URL;\nlet _smartyLambdaEnabled = true;\nlet _skipCache = false;\nlet _smartyResponse = false;\nconst _smartyKeys = {\n usAutocomplete: DEFAULT_SMARTY_KEY,\n intlAutocomplete: DEFAULT_SMARTY_KEY,\n intlStreet: DEFAULT_SMARTY_KEY,\n usStreet: DEFAULT_SMARTY_KEY\n};\nconst _apiPaths = { ...DEFAULT_API_PATHS };\n\nexport const setStreetAddressApiUrl = (url) => {\n _streetAddressApiUrl = url;\n};\n\nexport const getStreetAddressApiUrl = () => _streetAddressApiUrl;\n\nexport const setSmartyLambdaEnabled = (enabled) => {\n _smartyLambdaEnabled = enabled !== false;\n};\n\nexport const isSmartyLambdaEnabled = () => _smartyLambdaEnabled;\n\nexport const setSkipCache = (enabled) => {\n _skipCache = Boolean(enabled);\n};\n\nexport const isSkipCacheEnabled = () => _skipCache;\n\nexport const setSmartyResponseEnabled = (enabled) => {\n _smartyResponse = Boolean(enabled);\n};\n\nexport const isSmartyResponseEnabled = () => _smartyResponse;\n\nexport const appendLambdaQueryParams = (url, { skipCache = false, smartyResponse = false } = {}) => {\n const params = [];\n if (skipCache) params.push('skipCache=true');\n if (smartyResponse) params.push('smartyResponse=true');\n\n if (!params.length) {\n return url;\n }\n\n const separator = url.includes('?') ? '&' : '?';\n return `${url}${separator}${params.join('&')}`;\n};\n\nexport const getSmartyUsAutocompleteKey = () => _smartyKeys.usAutocomplete;\nexport const getSmartyIntlAutocompleteKey = () => _smartyKeys.intlAutocomplete;\nexport const getSmartyIntlStreetKey = () => _smartyKeys.intlStreet;\nexport const getSmartyUsStreetKey = () => _smartyKeys.usStreet;\n\nexport const applySmartyKeys = (keys = {}) => {\n if (!keys || typeof keys !== 'object') {\n return;\n }\n\n if (keys.usAutocomplete) _smartyKeys.usAutocomplete = keys.usAutocomplete;\n if (keys.intlAutocomplete) _smartyKeys.intlAutocomplete = keys.intlAutocomplete;\n if (keys.intlStreet) _smartyKeys.intlStreet = keys.intlStreet;\n if (keys.usStreet) _smartyKeys.usStreet = keys.usStreet;\n};\n\nexport const applySmartyApiPaths = (paths = {}) => {\n if (!paths || typeof paths !== 'object') {\n return;\n }\n\n if (paths.validate) _apiPaths.validate = paths.validate;\n if (paths.autocomplete) _apiPaths.autocomplete = paths.autocomplete;\n};\n\nexport const getSmartyApiPaths = () => ({ ..._apiPaths });\n\nconst getCurrentHostname = () => {\n if (typeof window === 'undefined' || !window.location) {\n return '';\n }\n\n return window.location.hostname || '';\n};\n\nconst ENV_TOKEN_PATTERNS = {\n local: /(^|[.-])local([.-]|$)/,\n sit: /(^|[.-])sit([.-]|$)/,\n dev: /(^|[.-])dev([.-]|$)/,\n test: /(^|[.-])(test|tst)([.-]|$)/\n};\n\nexport const resolveEnvironment = (hostname) => {\n const resolvedHost = typeof hostname === 'string' && hostname ? hostname : getCurrentHostname();\n const normalized = resolvedHost.toLowerCase();\n\n if (!normalized || normalized === 'localhost' || ENV_TOKEN_PATTERNS.local.test(normalized)) {\n return 'dev';\n }\n\n if (ENV_TOKEN_PATTERNS.sit.test(normalized)) {\n return 'sit';\n }\n\n if (ENV_TOKEN_PATTERNS.dev.test(normalized)) {\n return 'dev';\n }\n\n if (ENV_TOKEN_PATTERNS.test.test(normalized)) {\n return 'test';\n }\n\n return 'prod';\n};\n\nconst SLASH_CHAR_CODE = 47;\n\nconst stripTrailingSlashes = (value) => {\n let endIndex = value.length;\n\n while (endIndex > 0 && value.charCodeAt(endIndex - 1) === SLASH_CHAR_CODE) {\n endIndex -= 1;\n }\n\n return value.slice(0, endIndex);\n};\n\nconst normalizeDomain = (domain) => (\n typeof domain === 'string' ? stripTrailingSlashes(domain.trim()) : ''\n);\n\nconst buildStreetAddressUrl = (domain) => {\n const normalized = normalizeDomain(domain);\n\n if (!normalized) {\n return '';\n }\n\n const hasProtocol = normalized.startsWith('http://') || normalized.startsWith('https://');\n const base = hasProtocol ? normalized : `https://${normalized}`;\n\n return `${base}${STREET_ADDRESS_PATH}`;\n};\n\n// Content authors may omit the leading slash or add a trailing one.\nconst normalizePathSegment = (value, fallback) => {\n const trimmed = typeof value === 'string' ? stripTrailingSlashes(value.trim()) : '';\n\n if (!trimmed) {\n return fallback;\n }\n\n return trimmed.startsWith('/') ? trimmed : `/${trimmed}`;\n};\n\nexport const buildSmartyEndpoint = (cfg, operation, countryCode) => {\n const fallback = DEFAULT_API_PATHS[operation] || '';\n const path = normalizePathSegment(cfg?.apiPaths?.[operation], fallback);\n\n return `${cfg?.streetAddressApiUrl || ''}${path}/${countryCode}`;\n};\n\nconst getAppConfigApiDomain = () => {\n if (typeof window === 'undefined' || !window.APP_CONFIG) {\n return '';\n }\n\n const domain = window.APP_CONFIG.apiDomainName;\n\n return typeof domain === 'string' ? domain.trim() : '';\n};\n\nconst isLocalHost = (hostname) => {\n const host = (typeof hostname === 'string' && hostname ? hostname : getCurrentHostname()).toLowerCase();\n\n return !host || host === 'localhost' || host.includes('local.');\n};\n\nexport const resolveStreetAddressApiUrl = (urlDomains, hostname) => {\n const appConfigDomain = getAppConfigApiDomain();\n\n // window.APP_CONFIG.apiDomainName is injected per deployed environment. On local\n // dev it is absent or points at the default host, so skip it there and fall through\n // to the Contentstack domain switch (which maps localhost -> dev).\n if (appConfigDomain && !isLocalHost(hostname)) {\n return buildStreetAddressUrl(appConfigDomain);\n }\n\n if (!urlDomains || typeof urlDomains !== 'object') {\n return '';\n }\n\n // Guard: if hostname cannot be determined (SSR or uninitialized browser), skip\n // environment-based lookup entirely. Without this, an empty hostname maps to 'dev',\n // silently routing production traffic to the dev base URL.\n const effectiveHostname = (typeof hostname === 'string' && hostname) ? hostname : getCurrentHostname();\n if (!effectiveHostname) {\n return '';\n }\n\n const environment = resolveEnvironment(effectiveHostname);\n const lookupOrder = [environment, 'prod', 'sit', 'test', 'dev'];\n\n const domain = lookupOrder\n .map((key) => normalizeDomain(urlDomains[key]))\n .find(Boolean);\n\n return domain ? buildStreetAddressUrl(domain) : '';\n};\n\nexport const applyStreetAddressApiDomains = (urlDomains, hostname) => {\n const resolvedUrl = resolveStreetAddressApiUrl(urlDomains, hostname);\n\n if (resolvedUrl) {\n setStreetAddressApiUrl(resolvedUrl);\n }\n\n return resolvedUrl;\n};\n\n// Returns a per-instance config snapshot derived from an address form object so\n// concurrent form instances do not share module-level mutable state. Falls back\n// to the module globals when `addressForm` is null/loading or has no urlDomains\n// (e.g. a caller-supplied formDefinition without Contentstack config).\nexport const deriveSmartyConfig = (addressForm) => {\n if (!addressForm || !('urlDomains' in addressForm)) {\n return {\n streetAddressApiUrl: getStreetAddressApiUrl(),\n smartyLambdaEnabled: isSmartyLambdaEnabled(),\n skipCache: isSkipCacheEnabled(),\n smartyResponse: isSmartyResponseEnabled(),\n smartyKeys: {\n usAutocomplete: getSmartyUsAutocompleteKey(),\n intlAutocomplete: getSmartyIntlAutocompleteKey(),\n intlStreet: getSmartyIntlStreetKey(),\n usStreet: getSmartyUsStreetKey()\n },\n apiPaths: getSmartyApiPaths()\n };\n }\n\n return {\n streetAddressApiUrl: resolveStreetAddressApiUrl(addressForm.urlDomains) || getStreetAddressApiUrl(),\n smartyLambdaEnabled: addressForm.smartyLambdaEnabled !== false,\n skipCache: Boolean(addressForm.skipCache),\n smartyResponse: Boolean(addressForm.smartyResponse),\n smartyKeys: {\n usAutocomplete: addressForm.smartyKeys?.usAutocomplete || getSmartyUsAutocompleteKey(),\n intlAutocomplete: addressForm.smartyKeys?.intlAutocomplete || getSmartyIntlAutocompleteKey(),\n intlStreet: addressForm.smartyKeys?.intlStreet || getSmartyIntlStreetKey(),\n usStreet: addressForm.smartyKeys?.usStreet || getSmartyUsStreetKey()\n },\n apiPaths: {\n validate: addressForm.apiPaths?.validate || _apiPaths.validate,\n autocomplete: addressForm.apiPaths?.autocomplete || _apiPaths.autocomplete\n }\n };\n};\n\nexport {\n DEFAULT_STREET_ADDRESS_API_URL,\n DEFAULT_SMARTY_KEY,\n DEFAULT_VALIDATE_PATH,\n DEFAULT_AUTOCOMPLETE_PATH\n};\n"],"mappings":";;;;;;AAAA,MAAMA,mBAAmB,GAAG,iBAAiB;AAC7C,MAAMC,8BAA8B,GAAAC,OAAA,CAAAD,8BAAA,GAAG,0BAA0BD,mBAAmB,EAAE;AACtF,MAAMG,kBAAkB,GAAAD,OAAA,CAAAC,kBAAA,GAAG,mBAAmB;AAC9C,MAAMC,qBAAqB,GAAAF,OAAA,CAAAE,qBAAA,GAAG,cAAc;AAC5C,MAAMC,yBAAyB,GAAAH,OAAA,CAAAG,yBAAA,GAAG,kBAAkB;AACpD,MAAMC,iBAAiB,GAAG;EACxBC,QAAQ,EAAEH,qBAAqB;EAC/BI,YAAY,EAAEH;AAChB,CAAC;AAED,IAAII,oBAAoB,GAAGR,8BAA8B;AACzD,IAAIS,oBAAoB,GAAG,IAAI;AAC/B,IAAIC,UAAU,GAAG,KAAK;AACtB,IAAIC,eAAe,GAAG,KAAK;AAC3B,MAAMC,WAAW,GAAG;EAClBC,cAAc,EAAEX,kBAAkB;EAClCY,gBAAgB,EAAEZ,kBAAkB;EACpCa,UAAU,EAAEb,kBAAkB;EAC9Bc,QAAQ,EAAEd;AACZ,CAAC;AACD,MAAMe,SAAS,GAAG;EAAE,GAAGZ;AAAkB,CAAC;AAEnC,MAAMa,sBAAsB,GAAIC,GAAG,IAAK;EAC7CX,oBAAoB,GAAGW,GAAG;AAC5B,CAAC;AAAClB,OAAA,CAAAiB,sBAAA,GAAAA,sBAAA;AAEK,MAAME,sBAAsB,GAAGA,CAAA,KAAMZ,oBAAoB;AAACP,OAAA,CAAAmB,sBAAA,GAAAA,sBAAA;AAE1D,MAAMC,sBAAsB,GAAIC,OAAO,IAAK;EACjDb,oBAAoB,GAAGa,OAAO,KAAK,KAAK;AAC1C,CAAC;AAACrB,OAAA,CAAAoB,sBAAA,GAAAA,sBAAA;AAEK,MAAME,qBAAqB,GAAGA,CAAA,KAAMd,oBAAoB;AAACR,OAAA,CAAAsB,qBAAA,GAAAA,qBAAA;AAEzD,MAAMC,YAAY,GAAIF,OAAO,IAAK;EACvCZ,UAAU,GAAGe,OAAO,CAACH,OAAO,CAAC;AAC/B,CAAC;AAACrB,OAAA,CAAAuB,YAAA,GAAAA,YAAA;AAEK,MAAME,kBAAkB,GAAGA,CAAA,KAAMhB,UAAU;AAACT,OAAA,CAAAyB,kBAAA,GAAAA,kBAAA;AAE5C,MAAMC,wBAAwB,GAAIL,OAAO,IAAK;EACnDX,eAAe,GAAGc,OAAO,CAACH,OAAO,CAAC;AACpC,CAAC;AAACrB,OAAA,CAAA0B,wBAAA,GAAAA,wBAAA;AAEK,MAAMC,uBAAuB,GAAGA,CAAA,KAAMjB,eAAe;AAACV,OAAA,CAAA2B,uBAAA,GAAAA,uBAAA;AAEtD,MAAMC,uBAAuB,GAAGA,CAACV,GAAG,EAAE;EAAEW,SAAS,GAAG,KAAK;EAAEC,cAAc,GAAG;AAAM,CAAC,GAAG,CAAC,CAAC,KAAK;EAClG,MAAMC,MAAM,GAAG,EAAE;EACjB,IAAIF,SAAS,EAAEE,MAAM,CAACC,IAAI,CAAC,gBAAgB,CAAC;EAC5C,IAAIF,cAAc,EAAEC,MAAM,CAACC,IAAI,CAAC,qBAAqB,CAAC;EAEtD,IAAI,CAACD,MAAM,CAACE,MAAM,EAAE;IAClB,OAAOf,GAAG;EACZ;EAEA,MAAMgB,SAAS,GAAGhB,GAAG,CAACiB,QAAQ,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,GAAG;EAC/C,OAAO,GAAGjB,GAAG,GAAGgB,SAAS,GAAGH,MAAM,CAACK,IAAI,CAAC,GAAG,CAAC,EAAE;AAChD,CAAC;AAACpC,OAAA,CAAA4B,uBAAA,GAAAA,uBAAA;AAEK,MAAMS,0BAA0B,GAAGA,CAAA,KAAM1B,WAAW,CAACC,cAAc;AAACZ,OAAA,CAAAqC,0BAAA,GAAAA,0BAAA;AACpE,MAAMC,4BAA4B,GAAGA,CAAA,KAAM3B,WAAW,CAACE,gBAAgB;AAACb,OAAA,CAAAsC,4BAAA,GAAAA,4BAAA;AACxE,MAAMC,sBAAsB,GAAGA,CAAA,KAAM5B,WAAW,CAACG,UAAU;AAACd,OAAA,CAAAuC,sBAAA,GAAAA,sBAAA;AAC5D,MAAMC,oBAAoB,GAAGA,CAAA,KAAM7B,WAAW,CAACI,QAAQ;AAACf,OAAA,CAAAwC,oBAAA,GAAAA,oBAAA;AAExD,MAAMC,eAAe,GAAGA,CAACC,IAAI,GAAG,CAAC,CAAC,KAAK;EAC5C,IAAI,CAACA,IAAI,IAAI,OAAOA,IAAI,KAAK,QAAQ,EAAE;IACrC;EACF;EAEA,IAAIA,IAAI,CAAC9B,cAAc,EAAED,WAAW,CAACC,cAAc,GAAG8B,IAAI,CAAC9B,cAAc;EACzE,IAAI8B,IAAI,CAAC7B,gBAAgB,EAAEF,WAAW,CAACE,gBAAgB,GAAG6B,IAAI,CAAC7B,gBAAgB;EAC/E,IAAI6B,IAAI,CAAC5B,UAAU,EAAEH,WAAW,CAACG,UAAU,GAAG4B,IAAI,CAAC5B,UAAU;EAC7D,IAAI4B,IAAI,CAAC3B,QAAQ,EAAEJ,WAAW,CAACI,QAAQ,GAAG2B,IAAI,CAAC3B,QAAQ;AACzD,CAAC;AAACf,OAAA,CAAAyC,eAAA,GAAAA,eAAA;AAEK,MAAME,mBAAmB,GAAGA,CAACC,KAAK,GAAG,CAAC,CAAC,KAAK;EACjD,IAAI,CAACA,KAAK,IAAI,OAAOA,KAAK,KAAK,QAAQ,EAAE;IACvC;EACF;EAEA,IAAIA,KAAK,CAACvC,QAAQ,EAAEW,SAAS,CAACX,QAAQ,GAAGuC,KAAK,CAACvC,QAAQ;EACvD,IAAIuC,KAAK,CAACtC,YAAY,EAAEU,SAAS,CAACV,YAAY,GAAGsC,KAAK,CAACtC,YAAY;AACrE,CAAC;AAACN,OAAA,CAAA2C,mBAAA,GAAAA,mBAAA;AAEK,MAAME,iBAAiB,GAAGA,CAAA,MAAO;EAAE,GAAG7B;AAAU,CAAC,CAAC;AAAChB,OAAA,CAAA6C,iBAAA,GAAAA,iBAAA;AAE1D,MAAMC,kBAAkB,GAAGA,CAAA,KAAM;EAC/B,IAAI,OAAOC,MAAM,KAAK,WAAW,IAAI,CAACA,MAAM,CAACC,QAAQ,EAAE;IACrD,OAAO,EAAE;EACX;EAEA,OAAOD,MAAM,CAACC,QAAQ,CAACC,QAAQ,IAAI,EAAE;AACvC,CAAC;AAED,MAAMC,kBAAkB,GAAG;EACzBC,KAAK,EAAE,uBAAuB;EAC9BC,GAAG,EAAE,qBAAqB;EAC1BC,GAAG,EAAE,qBAAqB;EAC1BC,IAAI,EAAE;AACR,CAAC;AAEM,MAAMC,kBAAkB,GAAIN,QAAQ,IAAK;EAC9C,MAAMO,YAAY,GAAG,OAAOP,QAAQ,KAAK,QAAQ,IAAIA,QAAQ,GAAGA,QAAQ,GAAGH,kBAAkB,CAAC,CAAC;EAC/F,MAAMW,UAAU,GAAGD,YAAY,CAACE,WAAW,CAAC,CAAC;EAE7C,IAAI,CAACD,UAAU,IAAIA,UAAU,KAAK,WAAW,IAAIP,kBAAkB,CAACC,KAAK,CAACG,IAAI,CAACG,UAAU,CAAC,EAAE;IAC1F,OAAO,KAAK;EACd;EAEA,IAAIP,kBAAkB,CAACE,GAAG,CAACE,IAAI,CAACG,UAAU,CAAC,EAAE;IAC3C,OAAO,KAAK;EACd;EAEA,IAAIP,kBAAkB,CAACG,GAAG,CAACC,IAAI,CAACG,UAAU,CAAC,EAAE;IAC3C,OAAO,KAAK;EACd;EAEA,IAAIP,kBAAkB,CAACI,IAAI,CAACA,IAAI,CAACG,UAAU,CAAC,EAAE;IAC5C,OAAO,MAAM;EACf;EAEA,OAAO,MAAM;AACf,CAAC;AAACzD,OAAA,CAAAuD,kBAAA,GAAAA,kBAAA;AAEF,MAAMI,eAAe,GAAG,EAAE;AAE1B,MAAMC,oBAAoB,GAAIC,KAAK,IAAK;EACtC,IAAIC,QAAQ,GAAGD,KAAK,CAAC5B,MAAM;EAE3B,OAAO6B,QAAQ,GAAG,CAAC,IAAID,KAAK,CAACE,UAAU,CAACD,QAAQ,GAAG,CAAC,CAAC,KAAKH,eAAe,EAAE;IACzEG,QAAQ,IAAI,CAAC;EACf;EAEA,OAAOD,KAAK,CAACG,KAAK,CAAC,CAAC,EAAEF,QAAQ,CAAC;AACjC,CAAC;AAED,MAAMG,eAAe,GAAIC,MAAM,IAC7B,OAAOA,MAAM,KAAK,QAAQ,GAAGN,oBAAoB,CAACM,MAAM,CAACC,IAAI,CAAC,CAAC,CAAC,GAAG,EACpE;AAED,MAAMC,qBAAqB,GAAIF,MAAM,IAAK;EACxC,MAAMT,UAAU,GAAGQ,eAAe,CAACC,MAAM,CAAC;EAE1C,IAAI,CAACT,UAAU,EAAE;IACf,OAAO,EAAE;EACX;EAEA,MAAMY,WAAW,GAAGZ,UAAU,CAACa,UAAU,CAAC,SAAS,CAAC,IAAIb,UAAU,CAACa,UAAU,CAAC,UAAU,CAAC;EACzF,MAAMC,IAAI,GAAGF,WAAW,GAAGZ,UAAU,GAAG,WAAWA,UAAU,EAAE;EAE/D,OAAO,GAAGc,IAAI,GAAGzE,mBAAmB,EAAE;AACxC,CAAC;;AAED;AACA,MAAM0E,oBAAoB,GAAGA,CAACX,KAAK,EAAEY,QAAQ,KAAK;EAChD,MAAMC,OAAO,GAAG,OAAOb,KAAK,KAAK,QAAQ,GAAGD,oBAAoB,CAACC,KAAK,CAACM,IAAI,CAAC,CAAC,CAAC,GAAG,EAAE;EAEnF,IAAI,CAACO,OAAO,EAAE;IACZ,OAAOD,QAAQ;EACjB;EAEA,OAAOC,OAAO,CAACJ,UAAU,CAAC,GAAG,CAAC,GAAGI,OAAO,GAAG,IAAIA,OAAO,EAAE;AAC1D,CAAC;AAEM,MAAMC,mBAAmB,GAAGA,CAACC,GAAG,EAAEC,SAAS,EAAEC,WAAW,KAAK;EAAA,IAAAC,aAAA;EAClE,MAAMN,QAAQ,GAAGrE,iBAAiB,CAACyE,SAAS,CAAC,IAAI,EAAE;EACnD,MAAMG,IAAI,GAAGR,oBAAoB,CAACI,GAAG,aAAHA,GAAG,gBAAAG,aAAA,GAAHH,GAAG,CAAEK,QAAQ,cAAAF,aAAA,uBAAbA,aAAA,CAAgBF,SAAS,CAAC,EAAEJ,QAAQ,CAAC;EAEvE,OAAO,GAAG,CAAAG,GAAG,aAAHA,GAAG,uBAAHA,GAAG,CAAEM,mBAAmB,KAAI,EAAE,GAAGF,IAAI,IAAIF,WAAW,EAAE;AAClE,CAAC;AAAC9E,OAAA,CAAA2E,mBAAA,GAAAA,mBAAA;AAEF,MAAMQ,qBAAqB,GAAGA,CAAA,KAAM;EAClC,IAAI,OAAOpC,MAAM,KAAK,WAAW,IAAI,CAACA,MAAM,CAACqC,UAAU,EAAE;IACvD,OAAO,EAAE;EACX;EAEA,MAAMlB,MAAM,GAAGnB,MAAM,CAACqC,UAAU,CAACC,aAAa;EAE9C,OAAO,OAAOnB,MAAM,KAAK,QAAQ,GAAGA,MAAM,CAACC,IAAI,CAAC,CAAC,GAAG,EAAE;AACxD,CAAC;AAED,MAAMmB,WAAW,GAAIrC,QAAQ,IAAK;EAChC,MAAMsC,IAAI,GAAG,CAAC,OAAOtC,QAAQ,KAAK,QAAQ,IAAIA,QAAQ,GAAGA,QAAQ,GAAGH,kBAAkB,CAAC,CAAC,EAAEY,WAAW,CAAC,CAAC;EAEvG,OAAO,CAAC6B,IAAI,IAAIA,IAAI,KAAK,WAAW,IAAIA,IAAI,CAACpD,QAAQ,CAAC,QAAQ,CAAC;AACjE,CAAC;AAEM,MAAMqD,0BAA0B,GAAGA,CAACC,UAAU,EAAExC,QAAQ,KAAK;EAClE,MAAMyC,eAAe,GAAGP,qBAAqB,CAAC,CAAC;;EAE/C;EACA;EACA;EACA,IAAIO,eAAe,IAAI,CAACJ,WAAW,CAACrC,QAAQ,CAAC,EAAE;IAC7C,OAAOmB,qBAAqB,CAACsB,eAAe,CAAC;EAC/C;EAEA,IAAI,CAACD,UAAU,IAAI,OAAOA,UAAU,KAAK,QAAQ,EAAE;IACjD,OAAO,EAAE;EACX;;EAEA;EACA;EACA;EACA,MAAME,iBAAiB,GAAI,OAAO1C,QAAQ,KAAK,QAAQ,IAAIA,QAAQ,GAAIA,QAAQ,GAAGH,kBAAkB,CAAC,CAAC;EACtG,IAAI,CAAC6C,iBAAiB,EAAE;IACtB,OAAO,EAAE;EACX;EAEA,MAAMC,WAAW,GAAGrC,kBAAkB,CAACoC,iBAAiB,CAAC;EACzD,MAAME,WAAW,GAAG,CAACD,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC;EAE/D,MAAM1B,MAAM,GAAG2B,WAAW,CACvBC,GAAG,CAAEC,GAAG,IAAK9B,eAAe,CAACwB,UAAU,CAACM,GAAG,CAAC,CAAC,CAAC,CAC9CC,IAAI,CAACxE,OAAO,CAAC;EAEhB,OAAO0C,MAAM,GAAGE,qBAAqB,CAACF,MAAM,CAAC,GAAG,EAAE;AACpD,CAAC;AAAClE,OAAA,CAAAwF,0BAAA,GAAAA,0BAAA;AAEK,MAAMS,4BAA4B,GAAGA,CAACR,UAAU,EAAExC,QAAQ,KAAK;EACpE,MAAMiD,WAAW,GAAGV,0BAA0B,CAACC,UAAU,EAAExC,QAAQ,CAAC;EAEpE,IAAIiD,WAAW,EAAE;IACfjF,sBAAsB,CAACiF,WAAW,CAAC;EACrC;EAEA,OAAOA,WAAW;AACpB,CAAC;;AAED;AACA;AACA;AACA;AAAAlG,OAAA,CAAAiG,4BAAA,GAAAA,4BAAA;AACO,MAAME,kBAAkB,GAAIC,WAAW,IAAK;EAAA,IAAAC,qBAAA,EAAAC,sBAAA,EAAAC,sBAAA,EAAAC,sBAAA,EAAAC,qBAAA,EAAAC,sBAAA;EACjD,IAAI,CAACN,WAAW,IAAI,EAAE,YAAY,IAAIA,WAAW,CAAC,EAAE;IAClD,OAAO;MACLlB,mBAAmB,EAAE/D,sBAAsB,CAAC,CAAC;MAC7CwF,mBAAmB,EAAErF,qBAAqB,CAAC,CAAC;MAC5CO,SAAS,EAAEJ,kBAAkB,CAAC,CAAC;MAC/BK,cAAc,EAAEH,uBAAuB,CAAC,CAAC;MACzCiF,UAAU,EAAE;QACVhG,cAAc,EAAEyB,0BAA0B,CAAC,CAAC;QAC5CxB,gBAAgB,EAAEyB,4BAA4B,CAAC,CAAC;QAChDxB,UAAU,EAAEyB,sBAAsB,CAAC,CAAC;QACpCxB,QAAQ,EAAEyB,oBAAoB,CAAC;MACjC,CAAC;MACDyC,QAAQ,EAAEpC,iBAAiB,CAAC;IAC9B,CAAC;EACH;EAEA,OAAO;IACLqC,mBAAmB,EAAEM,0BAA0B,CAACY,WAAW,CAACX,UAAU,CAAC,IAAItE,sBAAsB,CAAC,CAAC;IACnGwF,mBAAmB,EAAEP,WAAW,CAACO,mBAAmB,KAAK,KAAK;IAC9D9E,SAAS,EAAEL,OAAO,CAAC4E,WAAW,CAACvE,SAAS,CAAC;IACzCC,cAAc,EAAEN,OAAO,CAAC4E,WAAW,CAACtE,cAAc,CAAC;IACnD8E,UAAU,EAAE;MACVhG,cAAc,EAAE,EAAAyF,qBAAA,GAAAD,WAAW,CAACQ,UAAU,cAAAP,qBAAA,uBAAtBA,qBAAA,CAAwBzF,cAAc,KAAIyB,0BAA0B,CAAC,CAAC;MACtFxB,gBAAgB,EAAE,EAAAyF,sBAAA,GAAAF,WAAW,CAACQ,UAAU,cAAAN,sBAAA,uBAAtBA,sBAAA,CAAwBzF,gBAAgB,KAAIyB,4BAA4B,CAAC,CAAC;MAC5FxB,UAAU,EAAE,EAAAyF,sBAAA,GAAAH,WAAW,CAACQ,UAAU,cAAAL,sBAAA,uBAAtBA,sBAAA,CAAwBzF,UAAU,KAAIyB,sBAAsB,CAAC,CAAC;MAC1ExB,QAAQ,EAAE,EAAAyF,sBAAA,GAAAJ,WAAW,CAACQ,UAAU,cAAAJ,sBAAA,uBAAtBA,sBAAA,CAAwBzF,QAAQ,KAAIyB,oBAAoB,CAAC;IACrE,CAAC;IACDyC,QAAQ,EAAE;MACR5E,QAAQ,EAAE,EAAAoG,qBAAA,GAAAL,WAAW,CAACnB,QAAQ,cAAAwB,qBAAA,uBAApBA,qBAAA,CAAsBpG,QAAQ,KAAIW,SAAS,CAACX,QAAQ;MAC9DC,YAAY,EAAE,EAAAoG,sBAAA,GAAAN,WAAW,CAACnB,QAAQ,cAAAyB,sBAAA,uBAApBA,sBAAA,CAAsBpG,YAAY,KAAIU,SAAS,CAACV;IAChE;EACF,CAAC;AACH,CAAC;AAACN,OAAA,CAAAmG,kBAAA,GAAAA,kBAAA","ignoreList":[]}
1
+ {"version":3,"file":"smartyConfig.js","names":["STREET_ADDRESS_PATH","DEFAULT_STREET_ADDRESS_API_URL","exports","DEFAULT_SMARTY_KEY","DEFAULT_VALIDATE_PATH","DEFAULT_AUTOCOMPLETE_PATH","DEFAULT_API_PATHS","validate","autocomplete","_streetAddressApiUrl","_smartyLambdaEnabled","_skipCache","_smartyResponse","_smartyKeys","usAutocomplete","intlAutocomplete","intlStreet","usStreet","_apiPaths","setStreetAddressApiUrl","url","getStreetAddressApiUrl","setSmartyLambdaEnabled","enabled","isSmartyLambdaEnabled","setSkipCache","Boolean","isSkipCacheEnabled","setSmartyResponseEnabled","isSmartyResponseEnabled","appendLambdaQueryParams","skipCache","smartyResponse","params","push","length","separator","includes","join","getSmartyUsAutocompleteKey","getSmartyIntlAutocompleteKey","getSmartyIntlStreetKey","getSmartyUsStreetKey","applySmartyKey","keys","name","Object","hasOwn","value","normalized","trim","applySmartyKeys","applySmartyApiPaths","paths","getSmartyApiPaths","getCurrentHostname","window","location","hostname","ENV_TOKEN_PATTERNS","local","sit","dev","test","resolveEnvironment","resolvedHost","toLowerCase","SLASH_CHAR_CODE","stripTrailingSlashes","endIndex","charCodeAt","slice","normalizeDomain","domain","buildStreetAddressUrl","hasProtocol","startsWith","base","normalizePathSegment","fallback","trimmed","buildSmartyEndpoint","cfg","operation","countryCode","_cfg$apiPaths","path","apiPaths","streetAddressApiUrl","getAppConfigApiDomain","APP_CONFIG","apiDomainName","isLocalHost","host","resolveStreetAddressApiUrl","urlDomains","appConfigDomain","effectiveHostname","environment","lookupOrder","map","key","find","applyStreetAddressApiDomains","resolvedUrl","deriveSmartyConfig","addressForm","_addressForm$smartyKe","_addressForm$smartyKe2","_addressForm$smartyKe3","_addressForm$smartyKe4","_addressForm$apiPaths","_addressForm$apiPaths2","smartyLambdaEnabled","smartyKeys"],"sources":["../../../src/addressLookup/utils/smartyConfig.js"],"sourcesContent":["const STREET_ADDRESS_PATH = '/street-address';\nconst DEFAULT_STREET_ADDRESS_API_URL = `https://apis.nuskin.com${STREET_ADDRESS_PATH}`;\nconst DEFAULT_SMARTY_KEY = '22361352819063501';\nconst DEFAULT_VALIDATE_PATH = '/validate/v1';\nconst DEFAULT_AUTOCOMPLETE_PATH = '/autocomplete/v1';\nconst DEFAULT_API_PATHS = {\n validate: DEFAULT_VALIDATE_PATH,\n autocomplete: DEFAULT_AUTOCOMPLETE_PATH\n};\n\nlet _streetAddressApiUrl = DEFAULT_STREET_ADDRESS_API_URL;\nlet _smartyLambdaEnabled = true;\nlet _skipCache = false;\nlet _smartyResponse = false;\nconst _smartyKeys = {\n usAutocomplete: DEFAULT_SMARTY_KEY,\n intlAutocomplete: DEFAULT_SMARTY_KEY,\n intlStreet: DEFAULT_SMARTY_KEY,\n usStreet: DEFAULT_SMARTY_KEY\n};\nconst _apiPaths = { ...DEFAULT_API_PATHS };\n\nexport const setStreetAddressApiUrl = (url) => {\n _streetAddressApiUrl = url;\n};\n\nexport const getStreetAddressApiUrl = () => _streetAddressApiUrl;\n\nexport const setSmartyLambdaEnabled = (enabled) => {\n _smartyLambdaEnabled = enabled !== false;\n};\n\nexport const isSmartyLambdaEnabled = () => _smartyLambdaEnabled;\n\nexport const setSkipCache = (enabled) => {\n _skipCache = Boolean(enabled);\n};\n\nexport const isSkipCacheEnabled = () => _skipCache;\n\nexport const setSmartyResponseEnabled = (enabled) => {\n _smartyResponse = Boolean(enabled);\n};\n\nexport const isSmartyResponseEnabled = () => _smartyResponse;\n\nexport const appendLambdaQueryParams = (url, { skipCache = false, smartyResponse = false } = {}) => {\n const params = [];\n if (skipCache) params.push('skipCache=true');\n if (smartyResponse) params.push('smartyResponse=true');\n\n if (!params.length) {\n return url;\n }\n\n const separator = url.includes('?') ? '&' : '?';\n return `${url}${separator}${params.join('&')}`;\n};\n\nexport const getSmartyUsAutocompleteKey = () => _smartyKeys.usAutocomplete;\nexport const getSmartyIntlAutocompleteKey = () => _smartyKeys.intlAutocomplete;\nexport const getSmartyIntlStreetKey = () => _smartyKeys.intlStreet;\nexport const getSmartyUsStreetKey = () => _smartyKeys.usStreet;\n\n// An explicitly provided blank key resets to the default rather than keeping the previous value.\nconst applySmartyKey = (keys, name) => {\n if (!Object.hasOwn(keys, name)) {\n return;\n }\n\n const value = keys[name];\n const normalized = typeof value === 'string' ? value.trim() : '';\n\n _smartyKeys[name] = normalized || DEFAULT_SMARTY_KEY;\n};\n\nexport const applySmartyKeys = (keys = {}) => {\n if (!keys || typeof keys !== 'object') {\n return;\n }\n\n applySmartyKey(keys, 'usAutocomplete');\n applySmartyKey(keys, 'intlAutocomplete');\n applySmartyKey(keys, 'intlStreet');\n applySmartyKey(keys, 'usStreet');\n};\n\nexport const applySmartyApiPaths = (paths = {}) => {\n if (!paths || typeof paths !== 'object') {\n return;\n }\n\n if (paths.validate) _apiPaths.validate = paths.validate;\n if (paths.autocomplete) _apiPaths.autocomplete = paths.autocomplete;\n};\n\nexport const getSmartyApiPaths = () => ({ ..._apiPaths });\n\nconst getCurrentHostname = () => {\n if (typeof window === 'undefined' || !window.location) {\n return '';\n }\n\n return window.location.hostname || '';\n};\n\nconst ENV_TOKEN_PATTERNS = {\n local: /(^|[.-])local([.-]|$)/,\n sit: /(^|[.-])sit([.-]|$)/,\n dev: /(^|[.-])dev([.-]|$)/,\n test: /(^|[.-])(test|tst)([.-]|$)/\n};\n\nexport const resolveEnvironment = (hostname) => {\n const resolvedHost = typeof hostname === 'string' && hostname ? hostname : getCurrentHostname();\n const normalized = resolvedHost.toLowerCase();\n\n if (!normalized || normalized === 'localhost' || ENV_TOKEN_PATTERNS.local.test(normalized)) {\n return 'dev';\n }\n\n if (ENV_TOKEN_PATTERNS.sit.test(normalized)) {\n return 'sit';\n }\n\n if (ENV_TOKEN_PATTERNS.dev.test(normalized)) {\n return 'dev';\n }\n\n if (ENV_TOKEN_PATTERNS.test.test(normalized)) {\n return 'test';\n }\n\n return 'prod';\n};\n\nconst SLASH_CHAR_CODE = 47;\n\nconst stripTrailingSlashes = (value) => {\n let endIndex = value.length;\n\n while (endIndex > 0 && value.charCodeAt(endIndex - 1) === SLASH_CHAR_CODE) {\n endIndex -= 1;\n }\n\n return value.slice(0, endIndex);\n};\n\nconst normalizeDomain = (domain) => (\n typeof domain === 'string' ? stripTrailingSlashes(domain.trim()) : ''\n);\n\nconst buildStreetAddressUrl = (domain) => {\n const normalized = normalizeDomain(domain);\n\n if (!normalized) {\n return '';\n }\n\n const hasProtocol = normalized.startsWith('http://') || normalized.startsWith('https://');\n const base = hasProtocol ? normalized : `https://${normalized}`;\n\n return `${base}${STREET_ADDRESS_PATH}`;\n};\n\n// Content authors may omit the leading slash or add a trailing one.\nconst normalizePathSegment = (value, fallback) => {\n const trimmed = typeof value === 'string' ? stripTrailingSlashes(value.trim()) : '';\n\n if (!trimmed) {\n return fallback;\n }\n\n return trimmed.startsWith('/') ? trimmed : `/${trimmed}`;\n};\n\nexport const buildSmartyEndpoint = (cfg, operation, countryCode) => {\n const fallback = DEFAULT_API_PATHS[operation] || '';\n const path = normalizePathSegment(cfg?.apiPaths?.[operation], fallback);\n\n return `${cfg?.streetAddressApiUrl || ''}${path}/${countryCode}`;\n};\n\nconst getAppConfigApiDomain = () => {\n if (typeof window === 'undefined' || !window.APP_CONFIG) {\n return '';\n }\n\n const domain = window.APP_CONFIG.apiDomainName;\n\n return typeof domain === 'string' ? domain.trim() : '';\n};\n\nconst isLocalHost = (hostname) => {\n const host = (typeof hostname === 'string' && hostname ? hostname : getCurrentHostname()).toLowerCase();\n\n return !host || host === 'localhost' || host.includes('local.');\n};\n\nexport const resolveStreetAddressApiUrl = (urlDomains, hostname) => {\n const appConfigDomain = getAppConfigApiDomain();\n\n // window.APP_CONFIG.apiDomainName is injected per deployed environment. On local\n // dev it is absent or points at the default host, so skip it there and fall through\n // to the Contentstack domain switch (which maps localhost -> dev).\n if (appConfigDomain && !isLocalHost(hostname)) {\n return buildStreetAddressUrl(appConfigDomain);\n }\n\n if (!urlDomains || typeof urlDomains !== 'object') {\n return '';\n }\n\n // Guard: if hostname cannot be determined (SSR or uninitialized browser), skip\n // environment-based lookup entirely. Without this, an empty hostname maps to 'dev',\n // silently routing production traffic to the dev base URL.\n const effectiveHostname = (typeof hostname === 'string' && hostname) ? hostname : getCurrentHostname();\n if (!effectiveHostname) {\n return '';\n }\n\n const environment = resolveEnvironment(effectiveHostname);\n const lookupOrder = [environment, 'prod', 'sit', 'test', 'dev'];\n\n const domain = lookupOrder\n .map((key) => normalizeDomain(urlDomains[key]))\n .find(Boolean);\n\n return domain ? buildStreetAddressUrl(domain) : '';\n};\n\nexport const applyStreetAddressApiDomains = (urlDomains, hostname) => {\n const resolvedUrl = resolveStreetAddressApiUrl(urlDomains, hostname);\n\n if (resolvedUrl) {\n setStreetAddressApiUrl(resolvedUrl);\n }\n\n return resolvedUrl;\n};\n\n// Returns a per-instance config snapshot derived from an address form object so\n// concurrent form instances do not share module-level mutable state. Falls back\n// to the module globals when `addressForm` is null/loading or has no urlDomains\n// (e.g. a caller-supplied formDefinition without Contentstack config).\nexport const deriveSmartyConfig = (addressForm) => {\n if (!addressForm || !('urlDomains' in addressForm)) {\n return {\n streetAddressApiUrl: getStreetAddressApiUrl(),\n smartyLambdaEnabled: isSmartyLambdaEnabled(),\n skipCache: isSkipCacheEnabled(),\n smartyResponse: isSmartyResponseEnabled(),\n smartyKeys: {\n usAutocomplete: getSmartyUsAutocompleteKey(),\n intlAutocomplete: getSmartyIntlAutocompleteKey(),\n intlStreet: getSmartyIntlStreetKey(),\n usStreet: getSmartyUsStreetKey()\n },\n apiPaths: getSmartyApiPaths()\n };\n }\n\n return {\n streetAddressApiUrl: resolveStreetAddressApiUrl(addressForm.urlDomains) || getStreetAddressApiUrl(),\n smartyLambdaEnabled: addressForm.smartyLambdaEnabled !== false,\n skipCache: Boolean(addressForm.skipCache),\n smartyResponse: Boolean(addressForm.smartyResponse),\n smartyKeys: {\n usAutocomplete: addressForm.smartyKeys?.usAutocomplete || getSmartyUsAutocompleteKey(),\n intlAutocomplete: addressForm.smartyKeys?.intlAutocomplete || getSmartyIntlAutocompleteKey(),\n intlStreet: addressForm.smartyKeys?.intlStreet || getSmartyIntlStreetKey(),\n usStreet: addressForm.smartyKeys?.usStreet || getSmartyUsStreetKey()\n },\n apiPaths: {\n validate: addressForm.apiPaths?.validate || _apiPaths.validate,\n autocomplete: addressForm.apiPaths?.autocomplete || _apiPaths.autocomplete\n }\n };\n};\n\nexport {\n DEFAULT_STREET_ADDRESS_API_URL,\n DEFAULT_SMARTY_KEY,\n DEFAULT_VALIDATE_PATH,\n DEFAULT_AUTOCOMPLETE_PATH\n};\n"],"mappings":"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","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nuskin/shipping-address-form",
3
- "version": "1.7.10-6614-dev.2",
3
+ "version": "1.7.10-6614-dev.4",
4
4
  "description": "React components for standalone address lookup and shipping address forms",
5
5
  "main": "dist/index.js",
6
6
  "scripts": {