@nuskin/shipping-address-form 1.7.8-fixes-3.1 → 1.7.8-fixes-3.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -58,7 +58,7 @@ const ShippingAddressForm = ({
58
58
  }) => {
59
59
  var _getPhoneValidationSt;
60
60
  const [selectedCountry, setSelectedCountry] = (0, _react.useState)(country);
61
- const labels = (0, _useAddressFieldLabels.default)(selectedCountry, language);
61
+ const labels = (0, _useAddressFieldLabels.default)(country, language);
62
62
  const {
63
63
  shippingAddressForm
64
64
  } = (0, _useShippingAddressForm.default)(country, true, type);
@@ -116,7 +116,7 @@ const ShippingAddressForm = ({
116
116
  (0, _react.useEffect)(() => {
117
117
  let isMounted = true;
118
118
  (0, _shippingStrings.getShippingLabels)({
119
- country: phoneCountry || country,
119
+ country,
120
120
  language
121
121
  }).then(resolvedLabels => {
122
122
  if (isMounted) {
@@ -126,7 +126,7 @@ const ShippingAddressForm = ({
126
126
  return () => {
127
127
  isMounted = false;
128
128
  };
129
- }, [country, language, phoneCountry]);
129
+ }, [country, language]);
130
130
  (0, _react.useEffect)(() => {
131
131
  if (!readOnlyView && !values.saveToAccount && values.saveAsDefault) {
132
132
  setFieldValue('saveAsDefault', false);
@@ -240,7 +240,7 @@ const ShippingAddressForm = ({
240
240
  setHasUserSelectedPhoneCountry(true);
241
241
  setPhoneCountry(resolvedCountry);
242
242
  const resolvedLabels = await (0, _shippingStrings.getShippingLabels)({
243
- country: resolvedCountry,
243
+ country,
244
244
  language
245
245
  });
246
246
  setMobilePhoneLabel(resolvedLabels.mobilePhoneLabel);
@@ -1 +1 @@
1
- {"version":3,"file":"ShippingAddressForm.js","names":["_propTypes","_interopRequireDefault","require","_react","_max","_addressLookup","_interopRequireWildcard","_foundationUiComponents","_useAddressFieldLabels","_useShippingAddressForm","_useShippingFormState","_ShippingField","_shippingStrings","_emailVerify","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","getDefaultFieldLabel","fieldName","replace","character","toUpperCase","trim","getFieldLabel","labels","phoneLabelOverride","_labels$formStrings","mobilePhoneLabel","formStrings","CONTROL_TEST_IDS","country","saveToAccount","saveAsDefault","submit","cancel","CONTROL_IDS","ShippingAddressForm","language","onAction","address","showSaveCheckbox","showDefaultCheckbox","showCancelButton","showContinueButton","readOnlyView","showValidFields","gateSubmitUntilComplete","type","_getPhoneValidationSt","selectedCountry","setSelectedCountry","useState","useAddressFieldLabels","shippingAddressForm","useShippingAddressForm","shippingFields","useMemo","preAddressFields","postAddressFields","addressFormDefinition","addressForm","isSavePending","setIsSavePending","validationRequestId","setValidationRequestId","phoneCountry","setPhoneCountry","mobilePhoneCountry","hasUserSelectedPhoneCountry","setHasUserSelectedPhoneCountry","pendingPhoneCountryChangeRef","useRef","setMobilePhoneLabel","emailValidationError","setEmailValidationError","addressStatus","setAddressStatus","values","setFieldValue","touchField","markAllTouched","resetValidationState","getFieldError","getValidationErrors","getPhoneValidationStatus","useShippingFormState","defaultPhoneCountry","showCheckboxSection","showActions","useEffect","availableCountries","countries","length","hasLoggedInCountry","some","countryOption","code","nextSelectedCountry","currentValue","isMounted","getShippingLabels","then","resolvedLabels","validateEmailValue","email","trimmedEmail","isEmailSyntaxValid","_labels$formStrings2","invalidEmail","emailInfo","getEmailInfo","hasInvalidEmail","isFormatValid","isDomainValid","_labels$formStrings3","handleIncompleteAddress","data","_data$status","_data$status2","validationAttempted","status","needsValidation","handleAddressSelect","_data$status3","includes","shippingValidationErrors","canProceedWithAddress","canProceed","isShippingComplete","emailValue","isEmailValid","phoneValidationStatus","reduce","acc","fieldConfig","field","validationStatus","phone","handlePhoneCountryChange","nextCountry","resolvedCountry","currentPhone","mobilePhone","parsed","parsePhoneNumberFromString","current","nationalNumber","handleSaveAddress","handleCancel","handleFieldBlur","renderLayoutItem","layoutItem","index","component","jsx","className","children","strings","formDefinition","deferFormLookup","Boolean","onAddressSelect","suppressRequiredFieldsHint","jsxs","htmlFor","countryLabel","id","value","onChange","event","target","disabled","map","name","find","fieldLabel","label","error","SUPPORTED_COUNTRIES","nextValue","newCountry","getCountryCallingCode","onBlur","onPhoneCountryChange","showValidField","hasRequiredFields","required","isAddressComplete","completeness","isFormComplete","valid","isSubmitDisabled","requiredFieldsHintLabel","layout","filter","checked","agreeToSaveAddressLabel","setDefaultLabel","NsButton","variant","color","onClick","continueLabel","saveAddressButtonLabel","cancelLabel","propTypes","PropTypes","string","func","bool","shape","_default","exports"],"sources":["../../src/shippingAddressForm/ShippingAddressForm.js"],"sourcesContent":["import PropTypes from 'prop-types';\nimport { useEffect, useMemo, useRef, useState } from 'react';\nimport { parsePhoneNumberFromString, getCountryCallingCode } from 'libphonenumber-js/max';\nimport AddressLookup, { SUPPORTED_COUNTRIES } from '../addressLookup'\nimport { NsButton } from '@nuskin/foundation-ui-components';\nimport 'react-phone-number-input/style.css'\nimport './styles/shippingAddressForm.css'\nimport useAddressFieldLabels from './hooks/useAddressFieldLabels';\nimport useShippingAddressForm from './hooks/useShippingAddressForm';\nimport useShippingFormState from './hooks/useShippingFormState';\nimport ShippingField from './components/ShippingField';\nimport { getShippingLabels } from './utils/shippingStrings.js';\nimport { getEmailInfo, isEmailSyntaxValid } from './utils/emailVerify';\n\nconst getDefaultFieldLabel = (fieldName = '') =>\n fieldName\n .replace(/([A-Z])/g, ' $1')\n .replace(/^./, (character) => character.toUpperCase())\n .trim();\n\nconst getFieldLabel = (fieldName, labels, phoneLabelOverride) => {\n if (fieldName === 'mobilePhone') {\n return phoneLabelOverride || labels.mobilePhoneLabel;\n }\n\n return labels[`${fieldName}Label`] || labels.formStrings?.[fieldName] || getDefaultFieldLabel(fieldName);\n};\n\nconst CONTROL_TEST_IDS = {\n country: 'qa-address-country',\n saveToAccount: 'qa-address-save-to-account',\n saveAsDefault: 'qa-address-save-as-default',\n submit: 'qa-address-submit',\n cancel: 'qa-address-cancel'\n};\n\nconst CONTROL_IDS = {\n country: 'address-country',\n saveToAccount: 'address-save-to-account',\n saveAsDefault: 'address-save-as-default',\n submit: 'address-submit',\n cancel: 'address-cancel'\n};\n\nconst ShippingAddressForm = ({\n country = 'US',\n language,\n onAction,\n address = null,\n showSaveCheckbox = true,\n showDefaultCheckbox = true,\n showCancelButton = true,\n showContinueButton = false,\n readOnlyView = false,\n showValidFields = false,\n gateSubmitUntilComplete = false,\n type = 'shipping'\n}) => {\n const [selectedCountry, setSelectedCountry] = useState(country)\n const labels = useAddressFieldLabels(selectedCountry, language)\n const { shippingAddressForm } = useShippingAddressForm(country, true, type)\n const shippingFields = useMemo(\n () => [\n ...(shippingAddressForm.preAddressFields || []),\n ...(shippingAddressForm.postAddressFields || [])\n ],\n [shippingAddressForm.postAddressFields, shippingAddressForm.preAddressFields]\n )\n const addressFormDefinition = selectedCountry === country ? shippingAddressForm.addressForm : null\n const [isSavePending, setIsSavePending] = useState(false)\n const [validationRequestId, setValidationRequestId] = useState(0)\n const [phoneCountry, setPhoneCountry] = useState(address?.mobilePhoneCountry || country)\n const [hasUserSelectedPhoneCountry, setHasUserSelectedPhoneCountry] = useState(false)\n const pendingPhoneCountryChangeRef = useRef(null)\n const [mobilePhoneLabel, setMobilePhoneLabel] = useState('')\n const [emailValidationError, setEmailValidationError] = useState('')\n const [addressStatus, setAddressStatus] = useState(null)\n const {\n values,\n setFieldValue,\n touchField,\n markAllTouched,\n resetValidationState,\n getFieldError,\n getValidationErrors,\n getPhoneValidationStatus\n } = useShippingFormState({\n address,\n shippingFields,\n labels,\n defaultPhoneCountry: address?.mobilePhoneCountry || selectedCountry || country,\n phoneCountry\n });\n const showCheckboxSection = showSaveCheckbox || showDefaultCheckbox;\n const showActions = !readOnlyView;\n\n useEffect(() => {\n setSelectedCountry(country)\n setHasUserSelectedPhoneCountry(false)\n }, [country])\n\n useEffect(() => {\n const availableCountries = shippingAddressForm.countries || [];\n\n if (availableCountries.length === 0) {\n setSelectedCountry(country);\n return;\n }\n\n const hasLoggedInCountry = availableCountries.some((countryOption) => countryOption.code === country);\n const nextSelectedCountry = hasLoggedInCountry ? country : availableCountries[0].code;\n\n setSelectedCountry((currentValue) => (\n availableCountries.some(\n (countryOption) => countryOption.code === currentValue\n ) ? currentValue : nextSelectedCountry\n ));\n }, [country, shippingAddressForm.countries])\n\n useEffect(() => {\n if (address?.mobilePhoneCountry) {\n setPhoneCountry(address.mobilePhoneCountry);\n return;\n }\n\n if (!hasUserSelectedPhoneCountry) {\n setPhoneCountry(selectedCountry || country);\n }\n }, [address?.mobilePhoneCountry, country, hasUserSelectedPhoneCountry, selectedCountry])\n\n useEffect(() => {\n let isMounted = true;\n\n getShippingLabels({ country: phoneCountry || country, language }).then((resolvedLabels) => {\n if (isMounted) {\n setMobilePhoneLabel(resolvedLabels.mobilePhoneLabel);\n }\n });\n\n return () => {\n isMounted = false;\n };\n }, [country, language, phoneCountry])\n\n useEffect(() => {\n if (!readOnlyView && !values.saveToAccount && values.saveAsDefault) {\n setFieldValue('saveAsDefault', false);\n }\n }, [readOnlyView, setFieldValue, values.saveAsDefault, values.saveToAccount])\n\n // A status from a previous country describes a different set of address fields\n useEffect(() => {\n setAddressStatus(null);\n }, [address, selectedCountry])\n\n const validateEmailValue = async (email) => {\n const trimmedEmail = typeof email === 'string' ? email.trim() : '';\n\n if (!trimmedEmail) {\n setEmailValidationError('');\n return true;\n }\n\n if (!isEmailSyntaxValid(trimmedEmail)) {\n setEmailValidationError(labels.formStrings?.invalidEmail || 'Invalid email address.');\n return false;\n }\n\n const emailInfo = await getEmailInfo(trimmedEmail);\n const hasInvalidEmail =\n emailInfo &&\n (!emailInfo.isFormatValid || !emailInfo.isDomainValid);\n\n if (hasInvalidEmail) {\n setEmailValidationError(labels.formStrings?.invalidEmail || 'Invalid email address.');\n return false;\n }\n\n setEmailValidationError('');\n return true;\n };\n\n const handleIncompleteAddress = (data) => {\n const validationAttempted = data?.status?.validationAttempted === true;\n\n // Keep save pending while auto-validation is in progress\n if (!data?.status?.needsValidation || validationAttempted) {\n setIsSavePending(false);\n }\n\n if (validationAttempted) {\n onAction?.({\n type: 'validation-failed',\n address: data.address,\n status: data.status\n });\n }\n };\n\n const handleAddressSelect = async (data) => {\n if (readOnlyView) {\n return;\n }\n\n if (data?.status) {\n setAddressStatus(data.status);\n }\n\n if (['lookup-error', 'validation-error'].includes(data?.type)) {\n onAction?.(data);\n return;\n }\n\n if (!isSavePending || data?.type !== 'validation-request') {\n return;\n }\n\n const shippingValidationErrors = getValidationErrors();\n const canProceedWithAddress = data?.status?.canProceed === true;\n const isShippingComplete = shippingValidationErrors.length === 0;\n\n if (!canProceedWithAddress || !isShippingComplete) {\n handleIncompleteAddress(data);\n return;\n }\n\n setIsSavePending(false);\n\n const emailValue = typeof values.email === 'string' ? values.email.trim() : '';\n\n if (emailValue) {\n const isEmailValid = await validateEmailValue(emailValue);\n\n if (!isEmailValid) {\n return;\n }\n }\n\n const phoneValidationStatus = getPhoneValidationStatus();\n\n onAction?.({\n type: 'save',\n data: {\n ...data.address,\n ...shippingFields.reduce((acc, fieldConfig) => {\n acc[fieldConfig.field] = values[fieldConfig.field];\n return acc;\n }, {}),\n mobilePhoneCountry: phoneCountry,\n country: selectedCountry,\n saveToAccount: values.saveToAccount,\n saveAsDefault: values.saveAsDefault\n },\n validationStatus: {\n ...data.status,\n ...(phoneValidationStatus ? { phone: phoneValidationStatus } : {})\n }\n });\n }\n\n const handlePhoneCountryChange = async (nextCountry) => {\n if (readOnlyView) {\n return;\n }\n\n const resolvedCountry = nextCountry || selectedCountry || country;\n\n const currentPhone = values.mobilePhone || '';\n const parsed = currentPhone ? parsePhoneNumberFromString(currentPhone) : null;\n pendingPhoneCountryChangeRef.current = {\n country: resolvedCountry,\n nationalNumber: parsed?.nationalNumber || ''\n };\n\n setHasUserSelectedPhoneCountry(true);\n setPhoneCountry(resolvedCountry);\n\n const resolvedLabels = await getShippingLabels({\n country: resolvedCountry,\n language\n });\n\n setMobilePhoneLabel(resolvedLabels.mobilePhoneLabel);\n };\n\n const handleSaveAddress = () => {\n if (readOnlyView || isSavePending) {\n return;\n }\n\n setEmailValidationError('');\n markAllTouched();\n setIsSavePending(true);\n setValidationRequestId((currentValue) => currentValue + 1);\n };\n\n const handleCancel = () => {\n if (readOnlyView) {\n return;\n }\n\n setIsSavePending(false);\n setEmailValidationError('');\n resetValidationState();\n onAction?.({ type: 'cancel' });\n };\n\n const handleFieldBlur = async (fieldName) => {\n if (readOnlyView) {\n return;\n }\n\n touchField(fieldName);\n\n if (fieldName === 'email') {\n await validateEmailValue(values.email);\n }\n };\n\n const renderLayoutItem = (layoutItem, index) => {\n if (layoutItem.type === 'component' && layoutItem.component === 'addressLookup') {\n return (\n <div\n className='ns-shipping-address-form__component ns-shipping-address-form__component--full'\n key={`addressLookup-${index}`}\n >\n <AddressLookup\n country={selectedCountry}\n language={language}\n strings={labels.formStrings}\n formDefinition={addressFormDefinition}\n deferFormLookup={Boolean(addressFormDefinition)}\n validationRequestId={validationRequestId}\n onAddressSelect={handleAddressSelect}\n address={address}\n readOnlyView={readOnlyView}\n showValidFields={showValidFields}\n suppressRequiredFieldsHint\n />\n </div>\n );\n }\n\n if (layoutItem.type === 'component' && layoutItem.component === 'countrySelector') {\n return (\n <div\n className='ns-shipping-address-form__field ns-shipping-address-form__field--country-selector'\n key='country-selector'\n >\n <label\n htmlFor={CONTROL_IDS.country}\n className='ns-shipping-address-form__label'\n >\n {labels.countryLabel}\n </label>\n <select\n id={CONTROL_IDS.country}\n data-testid={CONTROL_TEST_IDS.country}\n value={selectedCountry}\n onChange={(event) => {\n if (!readOnlyView) {\n setSelectedCountry(event.target.value);\n }\n }}\n className='ns-shipping-address-form__input'\n disabled={readOnlyView}\n >\n {shippingAddressForm.countries.map((countryOption) => (\n <option key={countryOption.code} value={countryOption.code}>\n {countryOption.name}\n </option>\n ))}\n </select>\n </div>\n );\n }\n\n if (layoutItem.type === 'field') {\n const fieldConfig = shippingFields.find((field) => field.field === layoutItem.field);\n\n if (!fieldConfig) {\n return null;\n }\n\n const fieldLabel = getFieldLabel(fieldConfig.field, labels, mobilePhoneLabel);\n\n return (\n <ShippingField\n key={fieldConfig.field}\n fieldConfig={fieldConfig}\n label={fieldLabel}\n value={values[fieldConfig.field]}\n error={\n fieldConfig.field === 'email'\n ? emailValidationError || getFieldError(fieldConfig, fieldLabel)\n : getFieldError(fieldConfig, fieldLabel)\n }\n country={phoneCountry}\n countries={SUPPORTED_COUNTRIES}\n onChange={(nextValue) => {\n if (readOnlyView) {\n return;\n }\n\n if (fieldConfig.field === 'email' && emailValidationError) {\n setEmailValidationError('');\n }\n\n if (fieldConfig.field === 'mobilePhone' && !nextValue && pendingPhoneCountryChangeRef.current) {\n const { country: newCountry, nationalNumber } = pendingPhoneCountryChangeRef.current;\n pendingPhoneCountryChangeRef.current = null;\n if (nationalNumber) {\n try {\n setFieldValue('mobilePhone', `+${getCountryCallingCode(newCountry)}${nationalNumber}`);\n } catch (e) {\n setFieldValue('mobilePhone', '');\n }\n }\n return;\n }\n\n pendingPhoneCountryChangeRef.current = null;\n setFieldValue(fieldConfig.field, nextValue);\n }}\n onBlur={() => handleFieldBlur(fieldConfig.field)}\n onPhoneCountryChange={handlePhoneCountryChange}\n language={language}\n readOnlyView={readOnlyView}\n showValidField={showValidFields}\n />\n );\n }\n\n return null;\n };\n\n const hasRequiredFields = shippingFields.some((fieldConfig) => fieldConfig.required);\n // Without a status yet, a prefilled address is assumed complete so editing an existing address is not blocked\n const isAddressComplete = addressStatus ? addressStatus.completeness === 'complete' : Boolean(address);\n const isFormComplete = isAddressComplete &&\n getValidationErrors().length === 0 &&\n !emailValidationError &&\n getPhoneValidationStatus()?.valid !== false;\n const isSubmitDisabled = isSavePending || (gateSubmitUntilComplete && !isFormComplete);\n\n return (\n <div className='ns-shipping-address-form'>\n {hasRequiredFields && !readOnlyView && (\n <div className='ns-shipping-address-form__required-hint'>\n {labels.requiredFieldsHintLabel}\n </div>\n )}\n {shippingAddressForm.layout.some(\n (layoutItem) => layoutItem.type === 'component' && layoutItem.component === 'countrySelector'\n ) && renderLayoutItem({ type: 'component', component: 'countrySelector' }, 'country-selector')}\n <div className='ns-shipping-address-form__layout'>\n {shippingAddressForm.layout\n .filter((layoutItem) => !(layoutItem.type === 'component' && layoutItem.component === 'countrySelector'))\n .map(renderLayoutItem)}\n </div>\n {showCheckboxSection && (\n <div className='ns-shipping-address-form__checkbox-section'>\n {showSaveCheckbox && (\n <div>\n <label\n className='ns-shipping-address-form__checkbox-label ns-shipping-address-form__checkbox-label--spaced'\n >\n <input\n id={CONTROL_IDS.saveToAccount}\n data-testid={CONTROL_TEST_IDS.saveToAccount}\n type=\"checkbox\"\n checked={values.saveToAccount}\n onChange={(e) => {\n if (!readOnlyView) {\n setFieldValue('saveToAccount', e.target.checked);\n }\n }}\n className='ns-shipping-address-form__checkbox'\n disabled={readOnlyView}\n />\n {labels.agreeToSaveAddressLabel}\n </label>\n </div>\n )}\n {showDefaultCheckbox && (\n <div>\n <label className='ns-shipping-address-form__checkbox-label'>\n <input\n id={CONTROL_IDS.saveAsDefault}\n data-testid={CONTROL_TEST_IDS.saveAsDefault}\n type=\"checkbox\"\n checked={values.saveAsDefault}\n onChange={(e) => {\n if (!readOnlyView) {\n setFieldValue('saveAsDefault', e.target.checked);\n }\n }}\n className='ns-shipping-address-form__checkbox'\n disabled={readOnlyView || !values.saveToAccount}\n />\n {labels.setDefaultLabel}\n </label>\n </div>\n )}\n </div>\n )}\n {showActions && (\n <div className='ns-shipping-address-form__actions'>\n <NsButton\n id={CONTROL_IDS.submit}\n data-testid={CONTROL_TEST_IDS.submit}\n variant=\"contained\"\n color=\"primary\"\n className=\"ns-shipping-address-form__submit-button\"\n onClick={handleSaveAddress}\n disabled={isSubmitDisabled}\n >\n {showContinueButton ? labels.continueLabel : labels.saveAddressButtonLabel}\n </NsButton>\n {showCancelButton && (\n <NsButton\n id={CONTROL_IDS.cancel}\n data-testid={CONTROL_TEST_IDS.cancel}\n variant=\"outlined\"\n color=\"primary\"\n className=\"ns-shipping-address-form__cancel-button\"\n onClick={handleCancel}\n >\n {labels.cancelLabel}\n </NsButton>\n )}\n </div>\n )}\n </div>\n );\n};\n\nShippingAddressForm.propTypes = {\n country: PropTypes.string,\n language: PropTypes.string,\n type: PropTypes.string,\n onAction: PropTypes.func,\n showSaveCheckbox: PropTypes.bool,\n showDefaultCheckbox: PropTypes.bool,\n showCancelButton: PropTypes.bool,\n showContinueButton: PropTypes.bool,\n showValidFields: PropTypes.bool,\n gateSubmitUntilComplete: PropTypes.bool,\n readOnlyView: PropTypes.bool,\n address: PropTypes.shape({\n mobilePhoneCountry: PropTypes.string,\n saveToAccount: PropTypes.bool,\n saveAsDefault: PropTypes.bool\n })\n};\n\nexport default ShippingAddressForm;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"ShippingAddressForm.js","names":["_propTypes","_interopRequireDefault","require","_react","_max","_addressLookup","_interopRequireWildcard","_foundationUiComponents","_useAddressFieldLabels","_useShippingAddressForm","_useShippingFormState","_ShippingField","_shippingStrings","_emailVerify","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","getDefaultFieldLabel","fieldName","replace","character","toUpperCase","trim","getFieldLabel","labels","phoneLabelOverride","_labels$formStrings","mobilePhoneLabel","formStrings","CONTROL_TEST_IDS","country","saveToAccount","saveAsDefault","submit","cancel","CONTROL_IDS","ShippingAddressForm","language","onAction","address","showSaveCheckbox","showDefaultCheckbox","showCancelButton","showContinueButton","readOnlyView","showValidFields","gateSubmitUntilComplete","type","_getPhoneValidationSt","selectedCountry","setSelectedCountry","useState","useAddressFieldLabels","shippingAddressForm","useShippingAddressForm","shippingFields","useMemo","preAddressFields","postAddressFields","addressFormDefinition","addressForm","isSavePending","setIsSavePending","validationRequestId","setValidationRequestId","phoneCountry","setPhoneCountry","mobilePhoneCountry","hasUserSelectedPhoneCountry","setHasUserSelectedPhoneCountry","pendingPhoneCountryChangeRef","useRef","setMobilePhoneLabel","emailValidationError","setEmailValidationError","addressStatus","setAddressStatus","values","setFieldValue","touchField","markAllTouched","resetValidationState","getFieldError","getValidationErrors","getPhoneValidationStatus","useShippingFormState","defaultPhoneCountry","showCheckboxSection","showActions","useEffect","availableCountries","countries","length","hasLoggedInCountry","some","countryOption","code","nextSelectedCountry","currentValue","isMounted","getShippingLabels","then","resolvedLabels","validateEmailValue","email","trimmedEmail","isEmailSyntaxValid","_labels$formStrings2","invalidEmail","emailInfo","getEmailInfo","hasInvalidEmail","isFormatValid","isDomainValid","_labels$formStrings3","handleIncompleteAddress","data","_data$status","_data$status2","validationAttempted","status","needsValidation","handleAddressSelect","_data$status3","includes","shippingValidationErrors","canProceedWithAddress","canProceed","isShippingComplete","emailValue","isEmailValid","phoneValidationStatus","reduce","acc","fieldConfig","field","validationStatus","phone","handlePhoneCountryChange","nextCountry","resolvedCountry","currentPhone","mobilePhone","parsed","parsePhoneNumberFromString","current","nationalNumber","handleSaveAddress","handleCancel","handleFieldBlur","renderLayoutItem","layoutItem","index","component","jsx","className","children","strings","formDefinition","deferFormLookup","Boolean","onAddressSelect","suppressRequiredFieldsHint","jsxs","htmlFor","countryLabel","id","value","onChange","event","target","disabled","map","name","find","fieldLabel","label","error","SUPPORTED_COUNTRIES","nextValue","newCountry","getCountryCallingCode","onBlur","onPhoneCountryChange","showValidField","hasRequiredFields","required","isAddressComplete","completeness","isFormComplete","valid","isSubmitDisabled","requiredFieldsHintLabel","layout","filter","checked","agreeToSaveAddressLabel","setDefaultLabel","NsButton","variant","color","onClick","continueLabel","saveAddressButtonLabel","cancelLabel","propTypes","PropTypes","string","func","bool","shape","_default","exports"],"sources":["../../src/shippingAddressForm/ShippingAddressForm.js"],"sourcesContent":["import PropTypes from 'prop-types';\nimport { useEffect, useMemo, useRef, useState } from 'react';\nimport { parsePhoneNumberFromString, getCountryCallingCode } from 'libphonenumber-js/max';\nimport AddressLookup, { SUPPORTED_COUNTRIES } from '../addressLookup'\nimport { NsButton } from '@nuskin/foundation-ui-components';\nimport 'react-phone-number-input/style.css'\nimport './styles/shippingAddressForm.css'\nimport useAddressFieldLabels from './hooks/useAddressFieldLabels';\nimport useShippingAddressForm from './hooks/useShippingAddressForm';\nimport useShippingFormState from './hooks/useShippingFormState';\nimport ShippingField from './components/ShippingField';\nimport { getShippingLabels } from './utils/shippingStrings.js';\nimport { getEmailInfo, isEmailSyntaxValid } from './utils/emailVerify';\n\nconst getDefaultFieldLabel = (fieldName = '') =>\n fieldName\n .replace(/([A-Z])/g, ' $1')\n .replace(/^./, (character) => character.toUpperCase())\n .trim();\n\nconst getFieldLabel = (fieldName, labels, phoneLabelOverride) => {\n if (fieldName === 'mobilePhone') {\n return phoneLabelOverride || labels.mobilePhoneLabel;\n }\n\n return labels[`${fieldName}Label`] || labels.formStrings?.[fieldName] || getDefaultFieldLabel(fieldName);\n};\n\nconst CONTROL_TEST_IDS = {\n country: 'qa-address-country',\n saveToAccount: 'qa-address-save-to-account',\n saveAsDefault: 'qa-address-save-as-default',\n submit: 'qa-address-submit',\n cancel: 'qa-address-cancel'\n};\n\nconst CONTROL_IDS = {\n country: 'address-country',\n saveToAccount: 'address-save-to-account',\n saveAsDefault: 'address-save-as-default',\n submit: 'address-submit',\n cancel: 'address-cancel'\n};\n\nconst ShippingAddressForm = ({\n country = 'US',\n language,\n onAction,\n address = null,\n showSaveCheckbox = true,\n showDefaultCheckbox = true,\n showCancelButton = true,\n showContinueButton = false,\n readOnlyView = false,\n showValidFields = false,\n gateSubmitUntilComplete = false,\n type = 'shipping'\n}) => {\n const [selectedCountry, setSelectedCountry] = useState(country)\n const labels = useAddressFieldLabels(country, language)\n const { shippingAddressForm } = useShippingAddressForm(country, true, type)\n const shippingFields = useMemo(\n () => [\n ...(shippingAddressForm.preAddressFields || []),\n ...(shippingAddressForm.postAddressFields || [])\n ],\n [shippingAddressForm.postAddressFields, shippingAddressForm.preAddressFields]\n )\n const addressFormDefinition = selectedCountry === country ? shippingAddressForm.addressForm : null\n const [isSavePending, setIsSavePending] = useState(false)\n const [validationRequestId, setValidationRequestId] = useState(0)\n const [phoneCountry, setPhoneCountry] = useState(address?.mobilePhoneCountry || country)\n const [hasUserSelectedPhoneCountry, setHasUserSelectedPhoneCountry] = useState(false)\n const pendingPhoneCountryChangeRef = useRef(null)\n const [mobilePhoneLabel, setMobilePhoneLabel] = useState('')\n const [emailValidationError, setEmailValidationError] = useState('')\n const [addressStatus, setAddressStatus] = useState(null)\n const {\n values,\n setFieldValue,\n touchField,\n markAllTouched,\n resetValidationState,\n getFieldError,\n getValidationErrors,\n getPhoneValidationStatus\n } = useShippingFormState({\n address,\n shippingFields,\n labels,\n defaultPhoneCountry: address?.mobilePhoneCountry || selectedCountry || country,\n phoneCountry\n });\n const showCheckboxSection = showSaveCheckbox || showDefaultCheckbox;\n const showActions = !readOnlyView;\n\n useEffect(() => {\n setSelectedCountry(country)\n setHasUserSelectedPhoneCountry(false)\n }, [country])\n\n useEffect(() => {\n const availableCountries = shippingAddressForm.countries || [];\n\n if (availableCountries.length === 0) {\n setSelectedCountry(country);\n return;\n }\n\n const hasLoggedInCountry = availableCountries.some((countryOption) => countryOption.code === country);\n const nextSelectedCountry = hasLoggedInCountry ? country : availableCountries[0].code;\n\n setSelectedCountry((currentValue) => (\n availableCountries.some(\n (countryOption) => countryOption.code === currentValue\n ) ? currentValue : nextSelectedCountry\n ));\n }, [country, shippingAddressForm.countries])\n\n useEffect(() => {\n if (address?.mobilePhoneCountry) {\n setPhoneCountry(address.mobilePhoneCountry);\n return;\n }\n\n if (!hasUserSelectedPhoneCountry) {\n setPhoneCountry(selectedCountry || country);\n }\n }, [address?.mobilePhoneCountry, country, hasUserSelectedPhoneCountry, selectedCountry])\n\n useEffect(() => {\n let isMounted = true;\n\n getShippingLabels({ country, language }).then((resolvedLabels) => {\n if (isMounted) {\n setMobilePhoneLabel(resolvedLabels.mobilePhoneLabel);\n }\n });\n\n return () => {\n isMounted = false;\n };\n }, [country, language])\n\n useEffect(() => {\n if (!readOnlyView && !values.saveToAccount && values.saveAsDefault) {\n setFieldValue('saveAsDefault', false);\n }\n }, [readOnlyView, setFieldValue, values.saveAsDefault, values.saveToAccount])\n\n // A status from a previous country describes a different set of address fields\n useEffect(() => {\n setAddressStatus(null);\n }, [address, selectedCountry])\n\n const validateEmailValue = async (email) => {\n const trimmedEmail = typeof email === 'string' ? email.trim() : '';\n\n if (!trimmedEmail) {\n setEmailValidationError('');\n return true;\n }\n\n if (!isEmailSyntaxValid(trimmedEmail)) {\n setEmailValidationError(labels.formStrings?.invalidEmail || 'Invalid email address.');\n return false;\n }\n\n const emailInfo = await getEmailInfo(trimmedEmail);\n const hasInvalidEmail =\n emailInfo &&\n (!emailInfo.isFormatValid || !emailInfo.isDomainValid);\n\n if (hasInvalidEmail) {\n setEmailValidationError(labels.formStrings?.invalidEmail || 'Invalid email address.');\n return false;\n }\n\n setEmailValidationError('');\n return true;\n };\n\n const handleIncompleteAddress = (data) => {\n const validationAttempted = data?.status?.validationAttempted === true;\n\n // Keep save pending while auto-validation is in progress\n if (!data?.status?.needsValidation || validationAttempted) {\n setIsSavePending(false);\n }\n\n if (validationAttempted) {\n onAction?.({\n type: 'validation-failed',\n address: data.address,\n status: data.status\n });\n }\n };\n\n const handleAddressSelect = async (data) => {\n if (readOnlyView) {\n return;\n }\n\n if (data?.status) {\n setAddressStatus(data.status);\n }\n\n if (['lookup-error', 'validation-error'].includes(data?.type)) {\n onAction?.(data);\n return;\n }\n\n if (!isSavePending || data?.type !== 'validation-request') {\n return;\n }\n\n const shippingValidationErrors = getValidationErrors();\n const canProceedWithAddress = data?.status?.canProceed === true;\n const isShippingComplete = shippingValidationErrors.length === 0;\n\n if (!canProceedWithAddress || !isShippingComplete) {\n handleIncompleteAddress(data);\n return;\n }\n\n setIsSavePending(false);\n\n const emailValue = typeof values.email === 'string' ? values.email.trim() : '';\n\n if (emailValue) {\n const isEmailValid = await validateEmailValue(emailValue);\n\n if (!isEmailValid) {\n return;\n }\n }\n\n const phoneValidationStatus = getPhoneValidationStatus();\n\n onAction?.({\n type: 'save',\n data: {\n ...data.address,\n ...shippingFields.reduce((acc, fieldConfig) => {\n acc[fieldConfig.field] = values[fieldConfig.field];\n return acc;\n }, {}),\n mobilePhoneCountry: phoneCountry,\n country: selectedCountry,\n saveToAccount: values.saveToAccount,\n saveAsDefault: values.saveAsDefault\n },\n validationStatus: {\n ...data.status,\n ...(phoneValidationStatus ? { phone: phoneValidationStatus } : {})\n }\n });\n }\n\n const handlePhoneCountryChange = async (nextCountry) => {\n if (readOnlyView) {\n return;\n }\n\n const resolvedCountry = nextCountry || selectedCountry || country;\n\n const currentPhone = values.mobilePhone || '';\n const parsed = currentPhone ? parsePhoneNumberFromString(currentPhone) : null;\n pendingPhoneCountryChangeRef.current = {\n country: resolvedCountry,\n nationalNumber: parsed?.nationalNumber || ''\n };\n\n setHasUserSelectedPhoneCountry(true);\n setPhoneCountry(resolvedCountry);\n\n const resolvedLabels = await getShippingLabels({ country, language });\n\n setMobilePhoneLabel(resolvedLabels.mobilePhoneLabel);\n };\n\n const handleSaveAddress = () => {\n if (readOnlyView || isSavePending) {\n return;\n }\n\n setEmailValidationError('');\n markAllTouched();\n setIsSavePending(true);\n setValidationRequestId((currentValue) => currentValue + 1);\n };\n\n const handleCancel = () => {\n if (readOnlyView) {\n return;\n }\n\n setIsSavePending(false);\n setEmailValidationError('');\n resetValidationState();\n onAction?.({ type: 'cancel' });\n };\n\n const handleFieldBlur = async (fieldName) => {\n if (readOnlyView) {\n return;\n }\n\n touchField(fieldName);\n\n if (fieldName === 'email') {\n await validateEmailValue(values.email);\n }\n };\n\n const renderLayoutItem = (layoutItem, index) => {\n if (layoutItem.type === 'component' && layoutItem.component === 'addressLookup') {\n return (\n <div\n className='ns-shipping-address-form__component ns-shipping-address-form__component--full'\n key={`addressLookup-${index}`}\n >\n <AddressLookup\n country={selectedCountry}\n language={language}\n strings={labels.formStrings}\n formDefinition={addressFormDefinition}\n deferFormLookup={Boolean(addressFormDefinition)}\n validationRequestId={validationRequestId}\n onAddressSelect={handleAddressSelect}\n address={address}\n readOnlyView={readOnlyView}\n showValidFields={showValidFields}\n suppressRequiredFieldsHint\n />\n </div>\n );\n }\n\n if (layoutItem.type === 'component' && layoutItem.component === 'countrySelector') {\n return (\n <div\n className='ns-shipping-address-form__field ns-shipping-address-form__field--country-selector'\n key='country-selector'\n >\n <label\n htmlFor={CONTROL_IDS.country}\n className='ns-shipping-address-form__label'\n >\n {labels.countryLabel}\n </label>\n <select\n id={CONTROL_IDS.country}\n data-testid={CONTROL_TEST_IDS.country}\n value={selectedCountry}\n onChange={(event) => {\n if (!readOnlyView) {\n setSelectedCountry(event.target.value);\n }\n }}\n className='ns-shipping-address-form__input'\n disabled={readOnlyView}\n >\n {shippingAddressForm.countries.map((countryOption) => (\n <option key={countryOption.code} value={countryOption.code}>\n {countryOption.name}\n </option>\n ))}\n </select>\n </div>\n );\n }\n\n if (layoutItem.type === 'field') {\n const fieldConfig = shippingFields.find((field) => field.field === layoutItem.field);\n\n if (!fieldConfig) {\n return null;\n }\n\n const fieldLabel = getFieldLabel(fieldConfig.field, labels, mobilePhoneLabel);\n\n return (\n <ShippingField\n key={fieldConfig.field}\n fieldConfig={fieldConfig}\n label={fieldLabel}\n value={values[fieldConfig.field]}\n error={\n fieldConfig.field === 'email'\n ? emailValidationError || getFieldError(fieldConfig, fieldLabel)\n : getFieldError(fieldConfig, fieldLabel)\n }\n country={phoneCountry}\n countries={SUPPORTED_COUNTRIES}\n onChange={(nextValue) => {\n if (readOnlyView) {\n return;\n }\n\n if (fieldConfig.field === 'email' && emailValidationError) {\n setEmailValidationError('');\n }\n\n if (fieldConfig.field === 'mobilePhone' && !nextValue && pendingPhoneCountryChangeRef.current) {\n const { country: newCountry, nationalNumber } = pendingPhoneCountryChangeRef.current;\n pendingPhoneCountryChangeRef.current = null;\n if (nationalNumber) {\n try {\n setFieldValue('mobilePhone', `+${getCountryCallingCode(newCountry)}${nationalNumber}`);\n } catch (e) {\n setFieldValue('mobilePhone', '');\n }\n }\n return;\n }\n\n pendingPhoneCountryChangeRef.current = null;\n setFieldValue(fieldConfig.field, nextValue);\n }}\n onBlur={() => handleFieldBlur(fieldConfig.field)}\n onPhoneCountryChange={handlePhoneCountryChange}\n language={language}\n readOnlyView={readOnlyView}\n showValidField={showValidFields}\n />\n );\n }\n\n return null;\n };\n\n const hasRequiredFields = shippingFields.some((fieldConfig) => fieldConfig.required);\n // Without a status yet, a prefilled address is assumed complete so editing an existing address is not blocked\n const isAddressComplete = addressStatus ? addressStatus.completeness === 'complete' : Boolean(address);\n const isFormComplete = isAddressComplete &&\n getValidationErrors().length === 0 &&\n !emailValidationError &&\n getPhoneValidationStatus()?.valid !== false;\n const isSubmitDisabled = isSavePending || (gateSubmitUntilComplete && !isFormComplete);\n\n return (\n <div className='ns-shipping-address-form'>\n {hasRequiredFields && !readOnlyView && (\n <div className='ns-shipping-address-form__required-hint'>\n {labels.requiredFieldsHintLabel}\n </div>\n )}\n {shippingAddressForm.layout.some(\n (layoutItem) => layoutItem.type === 'component' && layoutItem.component === 'countrySelector'\n ) && renderLayoutItem({ type: 'component', component: 'countrySelector' }, 'country-selector')}\n <div className='ns-shipping-address-form__layout'>\n {shippingAddressForm.layout\n .filter((layoutItem) => !(layoutItem.type === 'component' && layoutItem.component === 'countrySelector'))\n .map(renderLayoutItem)}\n </div>\n {showCheckboxSection && (\n <div className='ns-shipping-address-form__checkbox-section'>\n {showSaveCheckbox && (\n <div>\n <label\n className='ns-shipping-address-form__checkbox-label ns-shipping-address-form__checkbox-label--spaced'\n >\n <input\n id={CONTROL_IDS.saveToAccount}\n data-testid={CONTROL_TEST_IDS.saveToAccount}\n type=\"checkbox\"\n checked={values.saveToAccount}\n onChange={(e) => {\n if (!readOnlyView) {\n setFieldValue('saveToAccount', e.target.checked);\n }\n }}\n className='ns-shipping-address-form__checkbox'\n disabled={readOnlyView}\n />\n {labels.agreeToSaveAddressLabel}\n </label>\n </div>\n )}\n {showDefaultCheckbox && (\n <div>\n <label className='ns-shipping-address-form__checkbox-label'>\n <input\n id={CONTROL_IDS.saveAsDefault}\n data-testid={CONTROL_TEST_IDS.saveAsDefault}\n type=\"checkbox\"\n checked={values.saveAsDefault}\n onChange={(e) => {\n if (!readOnlyView) {\n setFieldValue('saveAsDefault', e.target.checked);\n }\n }}\n className='ns-shipping-address-form__checkbox'\n disabled={readOnlyView || !values.saveToAccount}\n />\n {labels.setDefaultLabel}\n </label>\n </div>\n )}\n </div>\n )}\n {showActions && (\n <div className='ns-shipping-address-form__actions'>\n <NsButton\n id={CONTROL_IDS.submit}\n data-testid={CONTROL_TEST_IDS.submit}\n variant=\"contained\"\n color=\"primary\"\n className=\"ns-shipping-address-form__submit-button\"\n onClick={handleSaveAddress}\n disabled={isSubmitDisabled}\n >\n {showContinueButton ? labels.continueLabel : labels.saveAddressButtonLabel}\n </NsButton>\n {showCancelButton && (\n <NsButton\n id={CONTROL_IDS.cancel}\n data-testid={CONTROL_TEST_IDS.cancel}\n variant=\"outlined\"\n color=\"primary\"\n className=\"ns-shipping-address-form__cancel-button\"\n onClick={handleCancel}\n >\n {labels.cancelLabel}\n </NsButton>\n )}\n </div>\n )}\n </div>\n );\n};\n\nShippingAddressForm.propTypes = {\n country: PropTypes.string,\n language: PropTypes.string,\n type: PropTypes.string,\n onAction: PropTypes.func,\n showSaveCheckbox: PropTypes.bool,\n showDefaultCheckbox: PropTypes.bool,\n showCancelButton: PropTypes.bool,\n showContinueButton: PropTypes.bool,\n showValidFields: PropTypes.bool,\n gateSubmitUntilComplete: PropTypes.bool,\n readOnlyView: PropTypes.bool,\n address: PropTypes.shape({\n mobilePhoneCountry: PropTypes.string,\n saveToAccount: PropTypes.bool,\n saveAsDefault: PropTypes.bool\n })\n};\n\nexport default ShippingAddressForm;\n"],"mappings":"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","ignoreList":[]}
@@ -22,6 +22,8 @@ const DEFAULT_FORM_STRINGS = exports.DEFAULT_FORM_STRINGS = {
22
22
  rateLimited: 'Too many requests. Please wait a moment and try again.',
23
23
  lookupError: 'We could not look up that address right now.',
24
24
  validationError: 'We could not validate that address right now.',
25
+ validateAddress: 'Validate Address',
26
+ validatingAddress: 'Validating...',
25
27
  requiredFieldsHint: 'Fields marked with * are required.',
26
28
  loadingAddressForm: 'Loading address form...',
27
29
  switchToAutocomplete: 'Switch to Autocomplete',
@@ -102,6 +104,8 @@ const mapFormStrings = (entry = {}) => ({
102
104
  rateLimited: entry.rateLimited || DEFAULT_FORM_STRINGS.rateLimited,
103
105
  lookupError: entry.lookupError || DEFAULT_FORM_STRINGS.lookupError,
104
106
  validationError: entry.validationError || DEFAULT_FORM_STRINGS.validationError,
107
+ validateAddress: entry.validateAddress || DEFAULT_FORM_STRINGS.validateAddress,
108
+ validatingAddress: entry.validatingAddress || DEFAULT_FORM_STRINGS.validatingAddress,
105
109
  requiredFieldsHint: entry.requiredFieldsHint || DEFAULT_FORM_STRINGS.requiredFieldsHint,
106
110
  loadingAddressForm: entry.loadingAddressForm || DEFAULT_FORM_STRINGS.loadingAddressForm,
107
111
  switchToAutocomplete: entry.switchToAutocomplete || DEFAULT_FORM_STRINGS.switchToAutocomplete,
@@ -1 +1 @@
1
- {"version":3,"file":"shippingStrings.js","names":["_contentstackLib","require","CONTENT_TYPE_UIDS","DEFAULT_FORM_STRINGS","exports","address1Label","address2Label","cityLabel","districtLabel","regionLabel","postalCodeLabel","invalidEmail","fieldRequired","illegalCharacters","invalidPostalCode","rateLimited","lookupError","validationError","requiredFieldsHint","loadingAddressForm","switchToAutocomplete","switchToManualEntry","addressLocation","openInMaps","usVerified","usVerifiedMessage","usMissingSecondaryTitle","usMissingSecondaryMessage","usInvalidSecondaryRequiredTitle","usInvalidSecondaryRequiredMessage","usInvalidSecondaryOptionalTitle","usInvalidSecondaryOptionalMessage","usVacantTitle","usVacantMessage","usNoStatTitle","usNoStatMessage","usNotConfirmedTitle","usNotConfirmedMessage","usNoResults","intlVerifiedTitle","intlVerifiedMessage","intlVerifiedSubBuildingChangedTitle","intlVerifiedSubBuildingChangedMessage","intlPartialTitle","intlPartialMessage","intlAmbiguousTitle","intlAmbiguousMessage","intlNotVerifiedTitle","intlNotVerifiedMessage","intlNoResults","DEFAULT_LABELS","countryLabel","givenNameLabel","surnameLabel","emailLabel","addressNameLabel","mobilePhoneLabel","instructionsLabel","agreeToSaveAddressLabel","setDefaultLabel","continueLabel","cancelLabel","saveAddressButtonLabel","invalidPhoneLabel","fieldRequiredLabel","fieldRequiredSuffixLabel","requiredFieldsHintLabel","formStrings","cache","mergeResultEntries","results","entries","Array","isArray","reduce","acc","entry","getUsValidationStrings","smartyUsValidationStrings","getIntlValidationStrings","smartyIntlValidationStrings","mapFormStrings","usValidationStrings","intlValidationStrings","switchToManuelEntry","resolveContinueLabel","continueText","continue_text","mapEntryToFieldLabels","addressName","agreeToSaveAddress","setDefault","cancel","saveAddress","invalidPhone","fieldRequiredSuffix","getShippingLabels","country","language","countryCode","locale","cacheKey","stack","getStack","getSingletonEntries","contentTypeUIDs","camelcase","mergeWithFallback","merged","labels","err","clearShippingLabelCache","Object","keys","forEach"],"sources":["../../../src/shippingAddressForm/utils/shippingStrings.js"],"sourcesContent":["/* eslint-disable max-len */\nimport { getStack } from '@nuskin/contentstack-lib';\n\nconst CONTENT_TYPE_UIDS = ['shipping_component']\n\nconst DEFAULT_FORM_STRINGS = {\n address1Label: 'Street Address',\n address2Label: 'Apartment, suite, etc.',\n cityLabel: 'City',\n districtLabel: 'District',\n regionLabel: 'Region',\n postalCodeLabel: 'Postal Code',\n invalidEmail: 'Invalid email address.',\n fieldRequired: 'This field is required.',\n illegalCharacters: 'Contains invalid characters.',\n invalidPostalCode: 'Invalid postal code.',\n rateLimited: 'Too many requests. Please wait a moment and try again.',\n lookupError: 'We could not look up that address right now.',\n validationError: 'We could not validate that address right now.',\n requiredFieldsHint: 'Fields marked with * are required.',\n loadingAddressForm: 'Loading address form...',\n switchToAutocomplete: 'Switch to Autocomplete',\n switchToManualEntry: 'Switch to Manual Entry',\n addressLocation: 'Address location',\n openInMaps: 'Open in Google Maps',\n usVerified: 'Verified',\n usVerifiedMessage: 'This address is fully verified.',\n usMissingSecondaryTitle: 'Apartment or suite needed',\n usMissingSecondaryMessage: 'The main address is valid, but a unit number is required.',\n usInvalidSecondaryRequiredTitle: 'Apartment or suite not recognized',\n usInvalidSecondaryRequiredMessage: 'The street address is valid, but the unit number was not recognized and is required.',\n usInvalidSecondaryOptionalTitle: 'Unit not recognized',\n usInvalidSecondaryOptionalMessage: 'The main address is valid, but the unit number was not recognized.',\n usVacantTitle: 'Verified, but marked vacant',\n usVacantMessage: 'This address is valid but marked as vacant.',\n usNoStatTitle: 'Verified with caution',\n usNoStatMessage: 'This address is valid, but USPS indicates limited delivery status.',\n usNotConfirmedTitle: 'Not verified',\n usNotConfirmedMessage: 'This address could not be confirmed.',\n usNoResults: 'We couldn’t verify this address. Check the address and try again.',\n intlVerifiedTitle: 'Verified',\n intlVerifiedMessage: 'This address is verified.',\n intlVerifiedSubBuildingChangedTitle: 'Verified with unit changes',\n intlVerifiedSubBuildingChangedMessage: 'This address is verified, but the apartment or suite information was changed.',\n intlPartialTitle: 'Partially verified',\n intlPartialMessage: 'This address could only be partially verified.',\n intlAmbiguousTitle: 'Multiple matches found',\n intlAmbiguousMessage: 'Multiple possible matches were found for this address.',\n intlNotVerifiedTitle: 'Not verified',\n intlNotVerifiedMessage: 'This address could not be verified.',\n intlNoResults: 'We couldn’t verify this address. Check the address and try again.'\n};\n\nconst DEFAULT_LABELS = {\n countryLabel: 'Country',\n givenNameLabel: 'Given Name',\n surnameLabel: 'Surname',\n emailLabel: 'Email',\n addressNameLabel: 'Address Name',\n mobilePhoneLabel: 'Mobile Phone',\n instructionsLabel: 'Instructions',\n agreeToSaveAddressLabel: 'Agree to save address',\n setDefaultLabel: 'Set as default',\n continueLabel: 'Continue',\n cancelLabel: 'Cancel',\n saveAddressButtonLabel: 'Save Address',\n invalidPhoneLabel: 'Invalid phone number',\n fieldRequiredLabel: 'This field is required',\n fieldRequiredSuffixLabel: 'is required',\n requiredFieldsHintLabel: 'Fields marked with * are required.',\n formStrings: DEFAULT_FORM_STRINGS\n};\n\nconst cache = {};\n\nconst mergeResultEntries = (results = []) => {\n const entries = Array.isArray(results) ? results : [results];\n return entries.reduce((acc, entry) => ({ ...acc, ...(entry || {}) }), {});\n};\n\nconst getUsValidationStrings = (entry = {}) => entry.smartyUsValidationStrings || {};\n\nconst getIntlValidationStrings = (entry = {}) => entry.smartyIntlValidationStrings || {};\n\nconst mapFormStrings = (entry = {}) => ({\n ...(() => {\n const usValidationStrings = getUsValidationStrings(entry);\n const intlValidationStrings = getIntlValidationStrings(entry);\n\n return {\n address1Label: entry.address1Label || DEFAULT_FORM_STRINGS.address1Label,\n address2Label: entry.address2Label || DEFAULT_FORM_STRINGS.address2Label,\n cityLabel: entry.cityLabel || DEFAULT_FORM_STRINGS.cityLabel,\n districtLabel: entry.districtLabel || DEFAULT_FORM_STRINGS.districtLabel,\n regionLabel: entry.regionLabel || DEFAULT_FORM_STRINGS.regionLabel,\n postalCodeLabel: entry.postalCodeLabel || DEFAULT_FORM_STRINGS.postalCodeLabel,\n invalidEmail: entry.invalidEmail || DEFAULT_FORM_STRINGS.invalidEmail,\n fieldRequired: entry.fieldRequired || DEFAULT_FORM_STRINGS.fieldRequired,\n illegalCharacters: entry.illegalCharacters || DEFAULT_FORM_STRINGS.illegalCharacters,\n invalidPostalCode: entry.invalidPostalCode || DEFAULT_FORM_STRINGS.invalidPostalCode,\n rateLimited: entry.rateLimited || DEFAULT_FORM_STRINGS.rateLimited,\n lookupError: entry.lookupError || DEFAULT_FORM_STRINGS.lookupError,\n validationError: entry.validationError || DEFAULT_FORM_STRINGS.validationError,\n requiredFieldsHint: entry.requiredFieldsHint || DEFAULT_FORM_STRINGS.requiredFieldsHint,\n loadingAddressForm: entry.loadingAddressForm || DEFAULT_FORM_STRINGS.loadingAddressForm,\n switchToAutocomplete: entry.switchToAutocomplete || DEFAULT_FORM_STRINGS.switchToAutocomplete,\n switchToManualEntry: entry.switchToManualEntry ||\n entry.switchToManuelEntry ||\n DEFAULT_FORM_STRINGS.switchToManualEntry,\n addressLocation: entry.addressLocation || DEFAULT_FORM_STRINGS.addressLocation,\n openInMaps: entry.openInMaps || DEFAULT_FORM_STRINGS.openInMaps,\n usVerified: usValidationStrings.usVerified || entry.usVerified || DEFAULT_FORM_STRINGS.usVerified,\n usVerifiedMessage: usValidationStrings.usVerifiedMessage || entry.usVerifiedMessage || DEFAULT_FORM_STRINGS.usVerifiedMessage,\n usMissingSecondaryTitle: usValidationStrings.usMissingSecondaryTitle || entry.usMissingSecondaryTitle || DEFAULT_FORM_STRINGS.usMissingSecondaryTitle,\n usMissingSecondaryMessage: usValidationStrings.usMissingSecondaryMessage || entry.usMissingSecondaryMessage || DEFAULT_FORM_STRINGS.usMissingSecondaryMessage,\n usInvalidSecondaryRequiredTitle: usValidationStrings.usInvalidSecondaryRequiredTitle ||\n entry.usInvalidSecondaryRequiredTitle ||\n DEFAULT_FORM_STRINGS.usInvalidSecondaryRequiredTitle,\n usInvalidSecondaryRequiredMessage: usValidationStrings.usInvalidSecondaryRequiredMessage ||\n entry.usInvalidSecondaryRequiredMessage ||\n DEFAULT_FORM_STRINGS.usInvalidSecondaryRequiredMessage,\n usInvalidSecondaryOptionalTitle: usValidationStrings.usInvalidSecondaryOptionalTitle ||\n entry.usInvalidSecondaryOptionalTitle ||\n DEFAULT_FORM_STRINGS.usInvalidSecondaryOptionalTitle,\n usInvalidSecondaryOptionalMessage: usValidationStrings.usInvalidSecondaryOptionalMessage ||\n entry.usInvalidSecondaryOptionalMessage ||\n DEFAULT_FORM_STRINGS.usInvalidSecondaryOptionalMessage,\n usVacantTitle: usValidationStrings.usVacantTitle || entry.usVacantTitle || DEFAULT_FORM_STRINGS.usVacantTitle,\n usVacantMessage: usValidationStrings.usVacantMessage || entry.usVacantMessage || DEFAULT_FORM_STRINGS.usVacantMessage,\n usNoStatTitle: usValidationStrings.usNoStatTitle || entry.usNoStatTitle || DEFAULT_FORM_STRINGS.usNoStatTitle,\n usNoStatMessage: usValidationStrings.usNoStatMessage || entry.usNoStatMessage || DEFAULT_FORM_STRINGS.usNoStatMessage,\n usNotConfirmedTitle: usValidationStrings.usNotConfirmedTitle ||\n entry.usNotConfirmedTitle ||\n DEFAULT_FORM_STRINGS.usNotConfirmedTitle,\n usNotConfirmedMessage: usValidationStrings.usNotConfirmedMessage ||\n entry.usNotConfirmedMessage ||\n DEFAULT_FORM_STRINGS.usNotConfirmedMessage,\n usNoResults: usValidationStrings.usNoResults || entry.usNoResults || DEFAULT_FORM_STRINGS.usNoResults,\n intlVerifiedTitle: intlValidationStrings.intlVerifiedTitle ||\n entry.intlVerifiedTitle ||\n DEFAULT_FORM_STRINGS.intlVerifiedTitle,\n intlVerifiedMessage: intlValidationStrings.intlVerifiedMessage ||\n entry.intlVerifiedMessage ||\n DEFAULT_FORM_STRINGS.intlVerifiedMessage,\n intlVerifiedSubBuildingChangedTitle: intlValidationStrings.intlVerifiedSubBuildingChangedTitle ||\n entry.intlVerifiedSubBuildingChangedTitle ||\n DEFAULT_FORM_STRINGS.intlVerifiedSubBuildingChangedTitle,\n intlVerifiedSubBuildingChangedMessage: intlValidationStrings.intlVerifiedSubBuildingChangedMessage ||\n entry.intlVerifiedSubBuildingChangedMessage ||\n DEFAULT_FORM_STRINGS.intlVerifiedSubBuildingChangedMessage,\n intlPartialTitle: intlValidationStrings.intlPartialTitle || entry.intlPartialTitle || DEFAULT_FORM_STRINGS.intlPartialTitle,\n intlPartialMessage: intlValidationStrings.intlPartialMessage ||\n entry.intlPartialMessage ||\n DEFAULT_FORM_STRINGS.intlPartialMessage,\n intlAmbiguousTitle: intlValidationStrings.intlAmbiguousTitle ||\n entry.intlAmbiguousTitle ||\n DEFAULT_FORM_STRINGS.intlAmbiguousTitle,\n intlAmbiguousMessage: intlValidationStrings.intlAmbiguousMessage ||\n entry.intlAmbiguousMessage ||\n DEFAULT_FORM_STRINGS.intlAmbiguousMessage,\n intlNotVerifiedTitle: intlValidationStrings.intlNotVerifiedTitle ||\n entry.intlNotVerifiedTitle ||\n DEFAULT_FORM_STRINGS.intlNotVerifiedTitle,\n intlNotVerifiedMessage: intlValidationStrings.intlNotVerifiedMessage ||\n entry.intlNotVerifiedMessage ||\n DEFAULT_FORM_STRINGS.intlNotVerifiedMessage,\n intlNoResults: intlValidationStrings.intlNoResults || entry.intlNoResults || DEFAULT_FORM_STRINGS.intlNoResults\n };\n })()\n});\n\nconst resolveContinueLabel = (entry) =>\n entry.continueText || entry.continue_text || DEFAULT_LABELS.continueLabel;\n\nconst mapEntryToFieldLabels = (entry = {}) => ({\n countryLabel: entry.countryLabel || DEFAULT_LABELS.countryLabel,\n givenNameLabel: entry.givenNameLabel || DEFAULT_LABELS.givenNameLabel,\n surnameLabel: entry.surnameLabel || DEFAULT_LABELS.surnameLabel,\n emailLabel: entry.emailLabel || DEFAULT_LABELS.emailLabel,\n addressNameLabel: entry.addressName || DEFAULT_LABELS.addressNameLabel,\n mobilePhoneLabel: entry.mobilePhoneLabel || DEFAULT_LABELS.mobilePhoneLabel,\n instructionsLabel: entry.instructionsLabel || DEFAULT_LABELS.instructionsLabel,\n agreeToSaveAddressLabel: entry.agreeToSaveAddress || DEFAULT_LABELS.agreeToSaveAddressLabel,\n setDefaultLabel: entry.setDefault || DEFAULT_LABELS.setDefaultLabel,\n continueLabel: resolveContinueLabel(entry),\n cancelLabel: entry.cancel || DEFAULT_LABELS.cancelLabel,\n saveAddressButtonLabel: entry.saveAddress || DEFAULT_LABELS.saveAddressButtonLabel,\n invalidPhoneLabel: entry.invalidPhone || DEFAULT_LABELS.invalidPhoneLabel,\n fieldRequiredLabel: entry.fieldRequired || DEFAULT_LABELS.fieldRequiredLabel,\n fieldRequiredSuffixLabel: entry.fieldRequiredSuffix || DEFAULT_LABELS.fieldRequiredSuffixLabel,\n requiredFieldsHintLabel: entry.requiredFieldsHint || DEFAULT_LABELS.requiredFieldsHintLabel,\n formStrings: mapFormStrings(entry)\n});\n\nexport const getShippingLabels = async ({ country, language }) => {\n const countryCode = country || 'US';\n const locale = language || 'en';\n const cacheKey = `${locale}_${countryCode}`;\n\n if (cache[cacheKey]) {\n return cache[cacheKey];\n }\n\n try {\n const stack = getStack();\n const results = await stack.getSingletonEntries({\n contentTypeUIDs: CONTENT_TYPE_UIDS,\n country: countryCode,\n language: locale,\n camelcase: true,\n mergeWithFallback: true\n });\n\n const merged = mergeResultEntries(results);\n const labels = mapEntryToFieldLabels(merged);\n cache[cacheKey] = labels;\n return labels;\n } catch (err) {\n cache[cacheKey] = DEFAULT_LABELS;\n return DEFAULT_LABELS;\n }\n};\n\nexport const clearShippingLabelCache = () => {\n Object.keys(cache).forEach((cacheKey) => {\n delete cache[cacheKey];\n });\n};\n\nexport { DEFAULT_FORM_STRINGS, DEFAULT_LABELS };\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"shippingStrings.js","names":["_contentstackLib","require","CONTENT_TYPE_UIDS","DEFAULT_FORM_STRINGS","exports","address1Label","address2Label","cityLabel","districtLabel","regionLabel","postalCodeLabel","invalidEmail","fieldRequired","illegalCharacters","invalidPostalCode","rateLimited","lookupError","validationError","validateAddress","validatingAddress","requiredFieldsHint","loadingAddressForm","switchToAutocomplete","switchToManualEntry","addressLocation","openInMaps","usVerified","usVerifiedMessage","usMissingSecondaryTitle","usMissingSecondaryMessage","usInvalidSecondaryRequiredTitle","usInvalidSecondaryRequiredMessage","usInvalidSecondaryOptionalTitle","usInvalidSecondaryOptionalMessage","usVacantTitle","usVacantMessage","usNoStatTitle","usNoStatMessage","usNotConfirmedTitle","usNotConfirmedMessage","usNoResults","intlVerifiedTitle","intlVerifiedMessage","intlVerifiedSubBuildingChangedTitle","intlVerifiedSubBuildingChangedMessage","intlPartialTitle","intlPartialMessage","intlAmbiguousTitle","intlAmbiguousMessage","intlNotVerifiedTitle","intlNotVerifiedMessage","intlNoResults","DEFAULT_LABELS","countryLabel","givenNameLabel","surnameLabel","emailLabel","addressNameLabel","mobilePhoneLabel","instructionsLabel","agreeToSaveAddressLabel","setDefaultLabel","continueLabel","cancelLabel","saveAddressButtonLabel","invalidPhoneLabel","fieldRequiredLabel","fieldRequiredSuffixLabel","requiredFieldsHintLabel","formStrings","cache","mergeResultEntries","results","entries","Array","isArray","reduce","acc","entry","getUsValidationStrings","smartyUsValidationStrings","getIntlValidationStrings","smartyIntlValidationStrings","mapFormStrings","usValidationStrings","intlValidationStrings","switchToManuelEntry","resolveContinueLabel","continueText","continue_text","mapEntryToFieldLabels","addressName","agreeToSaveAddress","setDefault","cancel","saveAddress","invalidPhone","fieldRequiredSuffix","getShippingLabels","country","language","countryCode","locale","cacheKey","stack","getStack","getSingletonEntries","contentTypeUIDs","camelcase","mergeWithFallback","merged","labels","err","clearShippingLabelCache","Object","keys","forEach"],"sources":["../../../src/shippingAddressForm/utils/shippingStrings.js"],"sourcesContent":["/* eslint-disable max-len */\nimport { getStack } from '@nuskin/contentstack-lib';\n\nconst CONTENT_TYPE_UIDS = ['shipping_component']\n\nconst DEFAULT_FORM_STRINGS = {\n address1Label: 'Street Address',\n address2Label: 'Apartment, suite, etc.',\n cityLabel: 'City',\n districtLabel: 'District',\n regionLabel: 'Region',\n postalCodeLabel: 'Postal Code',\n invalidEmail: 'Invalid email address.',\n fieldRequired: 'This field is required.',\n illegalCharacters: 'Contains invalid characters.',\n invalidPostalCode: 'Invalid postal code.',\n rateLimited: 'Too many requests. Please wait a moment and try again.',\n lookupError: 'We could not look up that address right now.',\n validationError: 'We could not validate that address right now.',\n validateAddress: 'Validate Address',\n validatingAddress: 'Validating...',\n requiredFieldsHint: 'Fields marked with * are required.',\n loadingAddressForm: 'Loading address form...',\n switchToAutocomplete: 'Switch to Autocomplete',\n switchToManualEntry: 'Switch to Manual Entry',\n addressLocation: 'Address location',\n openInMaps: 'Open in Google Maps',\n usVerified: 'Verified',\n usVerifiedMessage: 'This address is fully verified.',\n usMissingSecondaryTitle: 'Apartment or suite needed',\n usMissingSecondaryMessage: 'The main address is valid, but a unit number is required.',\n usInvalidSecondaryRequiredTitle: 'Apartment or suite not recognized',\n usInvalidSecondaryRequiredMessage: 'The street address is valid, but the unit number was not recognized and is required.',\n usInvalidSecondaryOptionalTitle: 'Unit not recognized',\n usInvalidSecondaryOptionalMessage: 'The main address is valid, but the unit number was not recognized.',\n usVacantTitle: 'Verified, but marked vacant',\n usVacantMessage: 'This address is valid but marked as vacant.',\n usNoStatTitle: 'Verified with caution',\n usNoStatMessage: 'This address is valid, but USPS indicates limited delivery status.',\n usNotConfirmedTitle: 'Not verified',\n usNotConfirmedMessage: 'This address could not be confirmed.',\n usNoResults: 'We couldn’t verify this address. Check the address and try again.',\n intlVerifiedTitle: 'Verified',\n intlVerifiedMessage: 'This address is verified.',\n intlVerifiedSubBuildingChangedTitle: 'Verified with unit changes',\n intlVerifiedSubBuildingChangedMessage: 'This address is verified, but the apartment or suite information was changed.',\n intlPartialTitle: 'Partially verified',\n intlPartialMessage: 'This address could only be partially verified.',\n intlAmbiguousTitle: 'Multiple matches found',\n intlAmbiguousMessage: 'Multiple possible matches were found for this address.',\n intlNotVerifiedTitle: 'Not verified',\n intlNotVerifiedMessage: 'This address could not be verified.',\n intlNoResults: 'We couldn’t verify this address. Check the address and try again.'\n};\n\nconst DEFAULT_LABELS = {\n countryLabel: 'Country',\n givenNameLabel: 'Given Name',\n surnameLabel: 'Surname',\n emailLabel: 'Email',\n addressNameLabel: 'Address Name',\n mobilePhoneLabel: 'Mobile Phone',\n instructionsLabel: 'Instructions',\n agreeToSaveAddressLabel: 'Agree to save address',\n setDefaultLabel: 'Set as default',\n continueLabel: 'Continue',\n cancelLabel: 'Cancel',\n saveAddressButtonLabel: 'Save Address',\n invalidPhoneLabel: 'Invalid phone number',\n fieldRequiredLabel: 'This field is required',\n fieldRequiredSuffixLabel: 'is required',\n requiredFieldsHintLabel: 'Fields marked with * are required.',\n formStrings: DEFAULT_FORM_STRINGS\n};\n\nconst cache = {};\n\nconst mergeResultEntries = (results = []) => {\n const entries = Array.isArray(results) ? results : [results];\n return entries.reduce((acc, entry) => ({ ...acc, ...(entry || {}) }), {});\n};\n\nconst getUsValidationStrings = (entry = {}) => entry.smartyUsValidationStrings || {};\n\nconst getIntlValidationStrings = (entry = {}) => entry.smartyIntlValidationStrings || {};\n\nconst mapFormStrings = (entry = {}) => ({\n ...(() => {\n const usValidationStrings = getUsValidationStrings(entry);\n const intlValidationStrings = getIntlValidationStrings(entry);\n\n return {\n address1Label: entry.address1Label || DEFAULT_FORM_STRINGS.address1Label,\n address2Label: entry.address2Label || DEFAULT_FORM_STRINGS.address2Label,\n cityLabel: entry.cityLabel || DEFAULT_FORM_STRINGS.cityLabel,\n districtLabel: entry.districtLabel || DEFAULT_FORM_STRINGS.districtLabel,\n regionLabel: entry.regionLabel || DEFAULT_FORM_STRINGS.regionLabel,\n postalCodeLabel: entry.postalCodeLabel || DEFAULT_FORM_STRINGS.postalCodeLabel,\n invalidEmail: entry.invalidEmail || DEFAULT_FORM_STRINGS.invalidEmail,\n fieldRequired: entry.fieldRequired || DEFAULT_FORM_STRINGS.fieldRequired,\n illegalCharacters: entry.illegalCharacters || DEFAULT_FORM_STRINGS.illegalCharacters,\n invalidPostalCode: entry.invalidPostalCode || DEFAULT_FORM_STRINGS.invalidPostalCode,\n rateLimited: entry.rateLimited || DEFAULT_FORM_STRINGS.rateLimited,\n lookupError: entry.lookupError || DEFAULT_FORM_STRINGS.lookupError,\n validationError: entry.validationError || DEFAULT_FORM_STRINGS.validationError,\n validateAddress: entry.validateAddress || DEFAULT_FORM_STRINGS.validateAddress,\n validatingAddress: entry.validatingAddress || DEFAULT_FORM_STRINGS.validatingAddress,\n requiredFieldsHint: entry.requiredFieldsHint || DEFAULT_FORM_STRINGS.requiredFieldsHint,\n loadingAddressForm: entry.loadingAddressForm || DEFAULT_FORM_STRINGS.loadingAddressForm,\n switchToAutocomplete: entry.switchToAutocomplete || DEFAULT_FORM_STRINGS.switchToAutocomplete,\n switchToManualEntry: entry.switchToManualEntry ||\n entry.switchToManuelEntry ||\n DEFAULT_FORM_STRINGS.switchToManualEntry,\n addressLocation: entry.addressLocation || DEFAULT_FORM_STRINGS.addressLocation,\n openInMaps: entry.openInMaps || DEFAULT_FORM_STRINGS.openInMaps,\n usVerified: usValidationStrings.usVerified || entry.usVerified || DEFAULT_FORM_STRINGS.usVerified,\n usVerifiedMessage: usValidationStrings.usVerifiedMessage || entry.usVerifiedMessage || DEFAULT_FORM_STRINGS.usVerifiedMessage,\n usMissingSecondaryTitle: usValidationStrings.usMissingSecondaryTitle || entry.usMissingSecondaryTitle || DEFAULT_FORM_STRINGS.usMissingSecondaryTitle,\n usMissingSecondaryMessage: usValidationStrings.usMissingSecondaryMessage || entry.usMissingSecondaryMessage || DEFAULT_FORM_STRINGS.usMissingSecondaryMessage,\n usInvalidSecondaryRequiredTitle: usValidationStrings.usInvalidSecondaryRequiredTitle ||\n entry.usInvalidSecondaryRequiredTitle ||\n DEFAULT_FORM_STRINGS.usInvalidSecondaryRequiredTitle,\n usInvalidSecondaryRequiredMessage: usValidationStrings.usInvalidSecondaryRequiredMessage ||\n entry.usInvalidSecondaryRequiredMessage ||\n DEFAULT_FORM_STRINGS.usInvalidSecondaryRequiredMessage,\n usInvalidSecondaryOptionalTitle: usValidationStrings.usInvalidSecondaryOptionalTitle ||\n entry.usInvalidSecondaryOptionalTitle ||\n DEFAULT_FORM_STRINGS.usInvalidSecondaryOptionalTitle,\n usInvalidSecondaryOptionalMessage: usValidationStrings.usInvalidSecondaryOptionalMessage ||\n entry.usInvalidSecondaryOptionalMessage ||\n DEFAULT_FORM_STRINGS.usInvalidSecondaryOptionalMessage,\n usVacantTitle: usValidationStrings.usVacantTitle || entry.usVacantTitle || DEFAULT_FORM_STRINGS.usVacantTitle,\n usVacantMessage: usValidationStrings.usVacantMessage || entry.usVacantMessage || DEFAULT_FORM_STRINGS.usVacantMessage,\n usNoStatTitle: usValidationStrings.usNoStatTitle || entry.usNoStatTitle || DEFAULT_FORM_STRINGS.usNoStatTitle,\n usNoStatMessage: usValidationStrings.usNoStatMessage || entry.usNoStatMessage || DEFAULT_FORM_STRINGS.usNoStatMessage,\n usNotConfirmedTitle: usValidationStrings.usNotConfirmedTitle ||\n entry.usNotConfirmedTitle ||\n DEFAULT_FORM_STRINGS.usNotConfirmedTitle,\n usNotConfirmedMessage: usValidationStrings.usNotConfirmedMessage ||\n entry.usNotConfirmedMessage ||\n DEFAULT_FORM_STRINGS.usNotConfirmedMessage,\n usNoResults: usValidationStrings.usNoResults || entry.usNoResults || DEFAULT_FORM_STRINGS.usNoResults,\n intlVerifiedTitle: intlValidationStrings.intlVerifiedTitle ||\n entry.intlVerifiedTitle ||\n DEFAULT_FORM_STRINGS.intlVerifiedTitle,\n intlVerifiedMessage: intlValidationStrings.intlVerifiedMessage ||\n entry.intlVerifiedMessage ||\n DEFAULT_FORM_STRINGS.intlVerifiedMessage,\n intlVerifiedSubBuildingChangedTitle: intlValidationStrings.intlVerifiedSubBuildingChangedTitle ||\n entry.intlVerifiedSubBuildingChangedTitle ||\n DEFAULT_FORM_STRINGS.intlVerifiedSubBuildingChangedTitle,\n intlVerifiedSubBuildingChangedMessage: intlValidationStrings.intlVerifiedSubBuildingChangedMessage ||\n entry.intlVerifiedSubBuildingChangedMessage ||\n DEFAULT_FORM_STRINGS.intlVerifiedSubBuildingChangedMessage,\n intlPartialTitle: intlValidationStrings.intlPartialTitle || entry.intlPartialTitle || DEFAULT_FORM_STRINGS.intlPartialTitle,\n intlPartialMessage: intlValidationStrings.intlPartialMessage ||\n entry.intlPartialMessage ||\n DEFAULT_FORM_STRINGS.intlPartialMessage,\n intlAmbiguousTitle: intlValidationStrings.intlAmbiguousTitle ||\n entry.intlAmbiguousTitle ||\n DEFAULT_FORM_STRINGS.intlAmbiguousTitle,\n intlAmbiguousMessage: intlValidationStrings.intlAmbiguousMessage ||\n entry.intlAmbiguousMessage ||\n DEFAULT_FORM_STRINGS.intlAmbiguousMessage,\n intlNotVerifiedTitle: intlValidationStrings.intlNotVerifiedTitle ||\n entry.intlNotVerifiedTitle ||\n DEFAULT_FORM_STRINGS.intlNotVerifiedTitle,\n intlNotVerifiedMessage: intlValidationStrings.intlNotVerifiedMessage ||\n entry.intlNotVerifiedMessage ||\n DEFAULT_FORM_STRINGS.intlNotVerifiedMessage,\n intlNoResults: intlValidationStrings.intlNoResults || entry.intlNoResults || DEFAULT_FORM_STRINGS.intlNoResults\n };\n })()\n});\n\nconst resolveContinueLabel = (entry) =>\n entry.continueText || entry.continue_text || DEFAULT_LABELS.continueLabel;\n\nconst mapEntryToFieldLabels = (entry = {}) => ({\n countryLabel: entry.countryLabel || DEFAULT_LABELS.countryLabel,\n givenNameLabel: entry.givenNameLabel || DEFAULT_LABELS.givenNameLabel,\n surnameLabel: entry.surnameLabel || DEFAULT_LABELS.surnameLabel,\n emailLabel: entry.emailLabel || DEFAULT_LABELS.emailLabel,\n addressNameLabel: entry.addressName || DEFAULT_LABELS.addressNameLabel,\n mobilePhoneLabel: entry.mobilePhoneLabel || DEFAULT_LABELS.mobilePhoneLabel,\n instructionsLabel: entry.instructionsLabel || DEFAULT_LABELS.instructionsLabel,\n agreeToSaveAddressLabel: entry.agreeToSaveAddress || DEFAULT_LABELS.agreeToSaveAddressLabel,\n setDefaultLabel: entry.setDefault || DEFAULT_LABELS.setDefaultLabel,\n continueLabel: resolveContinueLabel(entry),\n cancelLabel: entry.cancel || DEFAULT_LABELS.cancelLabel,\n saveAddressButtonLabel: entry.saveAddress || DEFAULT_LABELS.saveAddressButtonLabel,\n invalidPhoneLabel: entry.invalidPhone || DEFAULT_LABELS.invalidPhoneLabel,\n fieldRequiredLabel: entry.fieldRequired || DEFAULT_LABELS.fieldRequiredLabel,\n fieldRequiredSuffixLabel: entry.fieldRequiredSuffix || DEFAULT_LABELS.fieldRequiredSuffixLabel,\n requiredFieldsHintLabel: entry.requiredFieldsHint || DEFAULT_LABELS.requiredFieldsHintLabel,\n formStrings: mapFormStrings(entry)\n});\n\nexport const getShippingLabels = async ({ country, language }) => {\n const countryCode = country || 'US';\n const locale = language || 'en';\n const cacheKey = `${locale}_${countryCode}`;\n\n if (cache[cacheKey]) {\n return cache[cacheKey];\n }\n\n try {\n const stack = getStack();\n const results = await stack.getSingletonEntries({\n contentTypeUIDs: CONTENT_TYPE_UIDS,\n country: countryCode,\n language: locale,\n camelcase: true,\n mergeWithFallback: true\n });\n\n const merged = mergeResultEntries(results);\n const labels = mapEntryToFieldLabels(merged);\n cache[cacheKey] = labels;\n return labels;\n } catch (err) {\n cache[cacheKey] = DEFAULT_LABELS;\n return DEFAULT_LABELS;\n }\n};\n\nexport const clearShippingLabelCache = () => {\n Object.keys(cache).forEach((cacheKey) => {\n delete cache[cacheKey];\n });\n};\n\nexport { DEFAULT_FORM_STRINGS, DEFAULT_LABELS };\n"],"mappings":";;;;;;AACA,IAAAA,gBAAA,GAAAC,OAAA;AADA;;AAGA,MAAMC,iBAAiB,GAAG,CAAC,oBAAoB,CAAC;AAEhD,MAAMC,oBAAoB,GAAAC,OAAA,CAAAD,oBAAA,GAAG;EAC3BE,aAAa,EAAE,gBAAgB;EAC/BC,aAAa,EAAE,wBAAwB;EACvCC,SAAS,EAAE,MAAM;EACjBC,aAAa,EAAE,UAAU;EACzBC,WAAW,EAAE,QAAQ;EACrBC,eAAe,EAAE,aAAa;EAC9BC,YAAY,EAAE,wBAAwB;EACtCC,aAAa,EAAE,yBAAyB;EACxCC,iBAAiB,EAAE,8BAA8B;EACjDC,iBAAiB,EAAE,sBAAsB;EACzCC,WAAW,EAAE,wDAAwD;EACrEC,WAAW,EAAE,8CAA8C;EAC3DC,eAAe,EAAE,+CAA+C;EAChEC,eAAe,EAAE,kBAAkB;EACnCC,iBAAiB,EAAE,eAAe;EAClCC,kBAAkB,EAAE,oCAAoC;EACxDC,kBAAkB,EAAE,yBAAyB;EAC7CC,oBAAoB,EAAE,wBAAwB;EAC9CC,mBAAmB,EAAE,wBAAwB;EAC7CC,eAAe,EAAE,kBAAkB;EACnCC,UAAU,EAAE,qBAAqB;EACjCC,UAAU,EAAE,UAAU;EACtBC,iBAAiB,EAAE,iCAAiC;EACpDC,uBAAuB,EAAE,2BAA2B;EACpDC,yBAAyB,EAAE,2DAA2D;EACtFC,+BAA+B,EAAE,mCAAmC;EACpEC,iCAAiC,EAAE,sFAAsF;EACzHC,+BAA+B,EAAE,qBAAqB;EACtDC,iCAAiC,EAAE,oEAAoE;EACvGC,aAAa,EAAE,6BAA6B;EAC5CC,eAAe,EAAE,6CAA6C;EAC9DC,aAAa,EAAE,uBAAuB;EACtCC,eAAe,EAAE,oEAAoE;EACrFC,mBAAmB,EAAE,cAAc;EACnCC,qBAAqB,EAAE,sCAAsC;EAC7DC,WAAW,EAAE,mEAAmE;EAChFC,iBAAiB,EAAE,UAAU;EAC7BC,mBAAmB,EAAE,2BAA2B;EAChDC,mCAAmC,EAAE,4BAA4B;EACjEC,qCAAqC,EAAE,+EAA+E;EACtHC,gBAAgB,EAAE,oBAAoB;EACtCC,kBAAkB,EAAE,gDAAgD;EACpEC,kBAAkB,EAAE,wBAAwB;EAC5CC,oBAAoB,EAAE,wDAAwD;EAC9EC,oBAAoB,EAAE,cAAc;EACpCC,sBAAsB,EAAE,qCAAqC;EAC7DC,aAAa,EAAE;AACjB,CAAC;AAED,MAAMC,cAAc,GAAAhD,OAAA,CAAAgD,cAAA,GAAG;EACrBC,YAAY,EAAE,SAAS;EACvBC,cAAc,EAAE,YAAY;EAC5BC,YAAY,EAAE,SAAS;EACvBC,UAAU,EAAE,OAAO;EACnBC,gBAAgB,EAAE,cAAc;EAChCC,gBAAgB,EAAE,cAAc;EAChCC,iBAAiB,EAAE,cAAc;EACjCC,uBAAuB,EAAE,uBAAuB;EAChDC,eAAe,EAAE,gBAAgB;EACjCC,aAAa,EAAE,UAAU;EACzBC,WAAW,EAAE,QAAQ;EACrBC,sBAAsB,EAAE,cAAc;EACtCC,iBAAiB,EAAE,sBAAsB;EACzCC,kBAAkB,EAAE,wBAAwB;EAC5CC,wBAAwB,EAAE,aAAa;EACvCC,uBAAuB,EAAE,oCAAoC;EAC7DC,WAAW,EAAElE;AACf,CAAC;AAED,MAAMmE,KAAK,GAAG,CAAC,CAAC;AAEhB,MAAMC,kBAAkB,GAAGA,CAACC,OAAO,GAAG,EAAE,KAAK;EAC3C,MAAMC,OAAO,GAAGC,KAAK,CAACC,OAAO,CAACH,OAAO,CAAC,GAAGA,OAAO,GAAG,CAACA,OAAO,CAAC;EAC5D,OAAOC,OAAO,CAACG,MAAM,CAAC,CAACC,GAAG,EAAEC,KAAK,MAAM;IAAE,GAAGD,GAAG;IAAE,IAAIC,KAAK,IAAI,CAAC,CAAC;EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAC3E,CAAC;AAED,MAAMC,sBAAsB,GAAGA,CAACD,KAAK,GAAG,CAAC,CAAC,KAAKA,KAAK,CAACE,yBAAyB,IAAI,CAAC,CAAC;AAEpF,MAAMC,wBAAwB,GAAGA,CAACH,KAAK,GAAG,CAAC,CAAC,KAAKA,KAAK,CAACI,2BAA2B,IAAI,CAAC,CAAC;AAExF,MAAMC,cAAc,GAAGA,CAACL,KAAK,GAAG,CAAC,CAAC,MAAM;EACtC,GAAG,CAAC,MAAM;IACR,MAAMM,mBAAmB,GAAGL,sBAAsB,CAACD,KAAK,CAAC;IACzD,MAAMO,qBAAqB,GAAGJ,wBAAwB,CAACH,KAAK,CAAC;IAE7D,OAAO;MACLzE,aAAa,EAAEyE,KAAK,CAACzE,aAAa,IAAIF,oBAAoB,CAACE,aAAa;MACxEC,aAAa,EAAEwE,KAAK,CAACxE,aAAa,IAAIH,oBAAoB,CAACG,aAAa;MACxEC,SAAS,EAAEuE,KAAK,CAACvE,SAAS,IAAIJ,oBAAoB,CAACI,SAAS;MAC5DC,aAAa,EAAEsE,KAAK,CAACtE,aAAa,IAAIL,oBAAoB,CAACK,aAAa;MACxEC,WAAW,EAAEqE,KAAK,CAACrE,WAAW,IAAIN,oBAAoB,CAACM,WAAW;MAClEC,eAAe,EAAEoE,KAAK,CAACpE,eAAe,IAAIP,oBAAoB,CAACO,eAAe;MAC9EC,YAAY,EAAEmE,KAAK,CAACnE,YAAY,IAAIR,oBAAoB,CAACQ,YAAY;MACrEC,aAAa,EAAEkE,KAAK,CAAClE,aAAa,IAAIT,oBAAoB,CAACS,aAAa;MACxEC,iBAAiB,EAAEiE,KAAK,CAACjE,iBAAiB,IAAIV,oBAAoB,CAACU,iBAAiB;MACpFC,iBAAiB,EAAEgE,KAAK,CAAChE,iBAAiB,IAAIX,oBAAoB,CAACW,iBAAiB;MACpFC,WAAW,EAAE+D,KAAK,CAAC/D,WAAW,IAAIZ,oBAAoB,CAACY,WAAW;MAClEC,WAAW,EAAE8D,KAAK,CAAC9D,WAAW,IAAIb,oBAAoB,CAACa,WAAW;MAClEC,eAAe,EAAE6D,KAAK,CAAC7D,eAAe,IAAId,oBAAoB,CAACc,eAAe;MAC9EC,eAAe,EAAE4D,KAAK,CAAC5D,eAAe,IAAIf,oBAAoB,CAACe,eAAe;MAC9EC,iBAAiB,EAAE2D,KAAK,CAAC3D,iBAAiB,IAAIhB,oBAAoB,CAACgB,iBAAiB;MACpFC,kBAAkB,EAAE0D,KAAK,CAAC1D,kBAAkB,IAAIjB,oBAAoB,CAACiB,kBAAkB;MACvFC,kBAAkB,EAAEyD,KAAK,CAACzD,kBAAkB,IAAIlB,oBAAoB,CAACkB,kBAAkB;MACvFC,oBAAoB,EAAEwD,KAAK,CAACxD,oBAAoB,IAAInB,oBAAoB,CAACmB,oBAAoB;MAC7FC,mBAAmB,EAAEuD,KAAK,CAACvD,mBAAmB,IAC5CuD,KAAK,CAACQ,mBAAmB,IACzBnF,oBAAoB,CAACoB,mBAAmB;MAC1CC,eAAe,EAAEsD,KAAK,CAACtD,eAAe,IAAIrB,oBAAoB,CAACqB,eAAe;MAC9EC,UAAU,EAAEqD,KAAK,CAACrD,UAAU,IAAItB,oBAAoB,CAACsB,UAAU;MAC/DC,UAAU,EAAE0D,mBAAmB,CAAC1D,UAAU,IAAIoD,KAAK,CAACpD,UAAU,IAAIvB,oBAAoB,CAACuB,UAAU;MACjGC,iBAAiB,EAAEyD,mBAAmB,CAACzD,iBAAiB,IAAImD,KAAK,CAACnD,iBAAiB,IAAIxB,oBAAoB,CAACwB,iBAAiB;MAC7HC,uBAAuB,EAAEwD,mBAAmB,CAACxD,uBAAuB,IAAIkD,KAAK,CAAClD,uBAAuB,IAAIzB,oBAAoB,CAACyB,uBAAuB;MACrJC,yBAAyB,EAAEuD,mBAAmB,CAACvD,yBAAyB,IAAIiD,KAAK,CAACjD,yBAAyB,IAAI1B,oBAAoB,CAAC0B,yBAAyB;MAC7JC,+BAA+B,EAAEsD,mBAAmB,CAACtD,+BAA+B,IAClFgD,KAAK,CAAChD,+BAA+B,IACrC3B,oBAAoB,CAAC2B,+BAA+B;MACtDC,iCAAiC,EAAEqD,mBAAmB,CAACrD,iCAAiC,IACtF+C,KAAK,CAAC/C,iCAAiC,IACvC5B,oBAAoB,CAAC4B,iCAAiC;MACxDC,+BAA+B,EAAEoD,mBAAmB,CAACpD,+BAA+B,IAClF8C,KAAK,CAAC9C,+BAA+B,IACrC7B,oBAAoB,CAAC6B,+BAA+B;MACtDC,iCAAiC,EAAEmD,mBAAmB,CAACnD,iCAAiC,IACtF6C,KAAK,CAAC7C,iCAAiC,IACvC9B,oBAAoB,CAAC8B,iCAAiC;MACxDC,aAAa,EAAEkD,mBAAmB,CAAClD,aAAa,IAAI4C,KAAK,CAAC5C,aAAa,IAAI/B,oBAAoB,CAAC+B,aAAa;MAC7GC,eAAe,EAAEiD,mBAAmB,CAACjD,eAAe,IAAI2C,KAAK,CAAC3C,eAAe,IAAIhC,oBAAoB,CAACgC,eAAe;MACrHC,aAAa,EAAEgD,mBAAmB,CAAChD,aAAa,IAAI0C,KAAK,CAAC1C,aAAa,IAAIjC,oBAAoB,CAACiC,aAAa;MAC7GC,eAAe,EAAE+C,mBAAmB,CAAC/C,eAAe,IAAIyC,KAAK,CAACzC,eAAe,IAAIlC,oBAAoB,CAACkC,eAAe;MACrHC,mBAAmB,EAAE8C,mBAAmB,CAAC9C,mBAAmB,IAC1DwC,KAAK,CAACxC,mBAAmB,IACzBnC,oBAAoB,CAACmC,mBAAmB;MAC1CC,qBAAqB,EAAE6C,mBAAmB,CAAC7C,qBAAqB,IAC9DuC,KAAK,CAACvC,qBAAqB,IAC3BpC,oBAAoB,CAACoC,qBAAqB;MAC5CC,WAAW,EAAE4C,mBAAmB,CAAC5C,WAAW,IAAIsC,KAAK,CAACtC,WAAW,IAAIrC,oBAAoB,CAACqC,WAAW;MACrGC,iBAAiB,EAAE4C,qBAAqB,CAAC5C,iBAAiB,IACxDqC,KAAK,CAACrC,iBAAiB,IACvBtC,oBAAoB,CAACsC,iBAAiB;MACxCC,mBAAmB,EAAE2C,qBAAqB,CAAC3C,mBAAmB,IAC5DoC,KAAK,CAACpC,mBAAmB,IACzBvC,oBAAoB,CAACuC,mBAAmB;MAC1CC,mCAAmC,EAAE0C,qBAAqB,CAAC1C,mCAAmC,IAC5FmC,KAAK,CAACnC,mCAAmC,IACzCxC,oBAAoB,CAACwC,mCAAmC;MAC1DC,qCAAqC,EAAEyC,qBAAqB,CAACzC,qCAAqC,IAChGkC,KAAK,CAAClC,qCAAqC,IAC3CzC,oBAAoB,CAACyC,qCAAqC;MAC5DC,gBAAgB,EAAEwC,qBAAqB,CAACxC,gBAAgB,IAAIiC,KAAK,CAACjC,gBAAgB,IAAI1C,oBAAoB,CAAC0C,gBAAgB;MAC3HC,kBAAkB,EAAEuC,qBAAqB,CAACvC,kBAAkB,IAC1DgC,KAAK,CAAChC,kBAAkB,IACxB3C,oBAAoB,CAAC2C,kBAAkB;MACzCC,kBAAkB,EAAEsC,qBAAqB,CAACtC,kBAAkB,IAC1D+B,KAAK,CAAC/B,kBAAkB,IACxB5C,oBAAoB,CAAC4C,kBAAkB;MACzCC,oBAAoB,EAAEqC,qBAAqB,CAACrC,oBAAoB,IAC9D8B,KAAK,CAAC9B,oBAAoB,IAC1B7C,oBAAoB,CAAC6C,oBAAoB;MAC3CC,oBAAoB,EAAEoC,qBAAqB,CAACpC,oBAAoB,IAC9D6B,KAAK,CAAC7B,oBAAoB,IAC1B9C,oBAAoB,CAAC8C,oBAAoB;MAC3CC,sBAAsB,EAAEmC,qBAAqB,CAACnC,sBAAsB,IAClE4B,KAAK,CAAC5B,sBAAsB,IAC5B/C,oBAAoB,CAAC+C,sBAAsB;MAC7CC,aAAa,EAAEkC,qBAAqB,CAAClC,aAAa,IAAI2B,KAAK,CAAC3B,aAAa,IAAIhD,oBAAoB,CAACgD;IACpG,CAAC;EACH,CAAC,EAAE;AACL,CAAC,CAAC;AAEF,MAAMoC,oBAAoB,GAAIT,KAAK,IACjCA,KAAK,CAACU,YAAY,IAAIV,KAAK,CAACW,aAAa,IAAIrC,cAAc,CAACU,aAAa;AAE3E,MAAM4B,qBAAqB,GAAGA,CAACZ,KAAK,GAAG,CAAC,CAAC,MAAM;EAC7CzB,YAAY,EAAEyB,KAAK,CAACzB,YAAY,IAAID,cAAc,CAACC,YAAY;EAC/DC,cAAc,EAAEwB,KAAK,CAACxB,cAAc,IAAIF,cAAc,CAACE,cAAc;EACrEC,YAAY,EAAEuB,KAAK,CAACvB,YAAY,IAAIH,cAAc,CAACG,YAAY;EAC/DC,UAAU,EAAEsB,KAAK,CAACtB,UAAU,IAAIJ,cAAc,CAACI,UAAU;EACzDC,gBAAgB,EAAEqB,KAAK,CAACa,WAAW,IAAIvC,cAAc,CAACK,gBAAgB;EACtEC,gBAAgB,EAAEoB,KAAK,CAACpB,gBAAgB,IAAIN,cAAc,CAACM,gBAAgB;EAC3EC,iBAAiB,EAAEmB,KAAK,CAACnB,iBAAiB,IAAIP,cAAc,CAACO,iBAAiB;EAC9EC,uBAAuB,EAAEkB,KAAK,CAACc,kBAAkB,IAAIxC,cAAc,CAACQ,uBAAuB;EAC3FC,eAAe,EAAEiB,KAAK,CAACe,UAAU,IAAIzC,cAAc,CAACS,eAAe;EACnEC,aAAa,EAAEyB,oBAAoB,CAACT,KAAK,CAAC;EAC1Cf,WAAW,EAAEe,KAAK,CAACgB,MAAM,IAAI1C,cAAc,CAACW,WAAW;EACvDC,sBAAsB,EAAEc,KAAK,CAACiB,WAAW,IAAI3C,cAAc,CAACY,sBAAsB;EAClFC,iBAAiB,EAAEa,KAAK,CAACkB,YAAY,IAAI5C,cAAc,CAACa,iBAAiB;EACzEC,kBAAkB,EAAEY,KAAK,CAAClE,aAAa,IAAIwC,cAAc,CAACc,kBAAkB;EAC5EC,wBAAwB,EAAEW,KAAK,CAACmB,mBAAmB,IAAI7C,cAAc,CAACe,wBAAwB;EAC9FC,uBAAuB,EAAEU,KAAK,CAAC1D,kBAAkB,IAAIgC,cAAc,CAACgB,uBAAuB;EAC3FC,WAAW,EAAEc,cAAc,CAACL,KAAK;AACnC,CAAC,CAAC;AAEK,MAAMoB,iBAAiB,GAAG,MAAAA,CAAO;EAAEC,OAAO;EAAEC;AAAS,CAAC,KAAK;EAChE,MAAMC,WAAW,GAAGF,OAAO,IAAI,IAAI;EACnC,MAAMG,MAAM,GAAGF,QAAQ,IAAI,IAAI;EAC/B,MAAMG,QAAQ,GAAG,GAAGD,MAAM,IAAID,WAAW,EAAE;EAE3C,IAAI/B,KAAK,CAACiC,QAAQ,CAAC,EAAE;IACnB,OAAOjC,KAAK,CAACiC,QAAQ,CAAC;EACxB;EAEA,IAAI;IACF,MAAMC,KAAK,GAAG,IAAAC,yBAAQ,EAAC,CAAC;IACxB,MAAMjC,OAAO,GAAG,MAAMgC,KAAK,CAACE,mBAAmB,CAAC;MAC9CC,eAAe,EAAEzG,iBAAiB;MAClCiG,OAAO,EAAEE,WAAW;MACpBD,QAAQ,EAAEE,MAAM;MAChBM,SAAS,EAAE,IAAI;MACfC,iBAAiB,EAAE;IACrB,CAAC,CAAC;IAEF,MAAMC,MAAM,GAAGvC,kBAAkB,CAACC,OAAO,CAAC;IAC1C,MAAMuC,MAAM,GAAGrB,qBAAqB,CAACoB,MAAM,CAAC;IAC5CxC,KAAK,CAACiC,QAAQ,CAAC,GAAGQ,MAAM;IACxB,OAAOA,MAAM;EACf,CAAC,CAAC,OAAOC,GAAG,EAAE;IACZ1C,KAAK,CAACiC,QAAQ,CAAC,GAAGnD,cAAc;IAChC,OAAOA,cAAc;EACvB;AACF,CAAC;AAAChD,OAAA,CAAA8F,iBAAA,GAAAA,iBAAA;AAEK,MAAMe,uBAAuB,GAAGA,CAAA,KAAM;EAC3CC,MAAM,CAACC,IAAI,CAAC7C,KAAK,CAAC,CAAC8C,OAAO,CAAEb,QAAQ,IAAK;IACvC,OAAOjC,KAAK,CAACiC,QAAQ,CAAC;EACxB,CAAC,CAAC;AACJ,CAAC;AAACnG,OAAA,CAAA6G,uBAAA,GAAAA,uBAAA","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nuskin/shipping-address-form",
3
- "version": "1.7.8-fixes-3.1",
3
+ "version": "1.7.8-fixes-3.2",
4
4
  "description": "React components for standalone address lookup and shipping address forms",
5
5
  "main": "dist/index.js",
6
6
  "scripts": {
@@ -31,7 +31,7 @@
31
31
  "license": "MIT",
32
32
  "homepage": "https://code.tls.nuskin.io/nextgen-development/shipping/npm/shipping-address-form/blob/master/README.md",
33
33
  "dependencies": {
34
- "@nuskin/contentstack-lib": "2.1.0",
34
+ "@nuskin/contentstack-lib": "2.1.1",
35
35
  "@nuskin/foundation-theme": "1.8.0",
36
36
  "@nuskin/foundation-ui-components": "2.2.1",
37
37
  "libphonenumber-js": "^1.10.14",