@nuskin/shipping-address-form 1.7.2 → 1.7.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.
- package/dist/addressLookup/components/SmartyIntlResults.js +5 -3
- package/dist/addressLookup/components/SmartyIntlResults.js.map +1 -1
- package/dist/addressLookup/components/SmartyUSResults.js +5 -3
- package/dist/addressLookup/components/SmartyUSResults.js.map +1 -1
- package/dist/addressLookup/styles/addressLookup.css +5 -1
- package/dist/addressLookup/utils/addressStrings.js +4 -0
- package/dist/addressLookup/utils/addressStrings.js.map +1 -1
- package/dist/shippingAddressForm/ShippingAddressForm.js +2 -0
- package/dist/shippingAddressForm/ShippingAddressForm.js.map +1 -1
- package/dist/shippingAddressForm/components/ShippingField.js +9 -3
- package/dist/shippingAddressForm/components/ShippingField.js.map +1 -1
- package/dist/shippingAddressForm/styles/shippingAddressForm.css +15 -1
- package/dist/shippingAddressForm/utils/shippingStrings.js +2 -0
- package/dist/shippingAddressForm/utils/shippingStrings.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ShippingAddressForm.js","names":["_propTypes","_interopRequireDefault","require","_react","_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","type","selectedCountry","setSelectedCountry","useState","useAddressFieldLabels","shippingAddressForm","useShippingAddressForm","shippingFields","useMemo","preAddressFields","postAddressFields","addressFormDefinition","addressForm","isSavePending","setIsSavePending","validationRequestId","setValidationRequestId","phoneCountry","setPhoneCountry","mobilePhoneCountry","hasUserSelectedPhoneCountry","setHasUserSelectedPhoneCountry","setMobilePhoneLabel","emailValidationError","setEmailValidationError","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","handleAddressSelect","data","_data$status","includes","shippingValidationErrors","canProceedWithAddress","status","canProceed","isShippingComplete","emailValue","isEmailValid","phoneValidationStatus","reduce","acc","fieldConfig","field","validationStatus","phone","handlePhoneCountryChange","nextCountry","resolvedCountry","handleSaveAddress","handleCancel","handleFieldBlur","renderLayoutItem","layoutItem","index","component","jsx","className","children","strings","formDefinition","deferFormLookup","Boolean","onAddressSelect","jsxs","htmlFor","countryLabel","id","value","onChange","event","target","disabled","map","name","find","label","error","SUPPORTED_COUNTRIES","nextValue","onBlur","onPhoneCountryChange","layout","filter","Fragment","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, useState } from 'react';\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 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 [mobilePhoneLabel, setMobilePhoneLabel] = useState('')\n const [emailValidationError, setEmailValidationError] = useState('')\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 });\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 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 handleAddressSelect = async (data) => {\n if (readOnlyView) {\n return;\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 setIsSavePending(false);\n\n const shippingValidationErrors = getValidationErrors();\n const canProceedWithAddress = data?.status?.canProceed === true;\n const isShippingComplete = shippingValidationErrors.length === 0;\n\n if (!canProceedWithAddress || !isShippingComplete) {\n return;\n }\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 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) {\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 />\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 return (\n <ShippingField\n key={fieldConfig.field}\n fieldConfig={fieldConfig}\n label={getFieldLabel(fieldConfig.field, labels, mobilePhoneLabel)}\n value={values[fieldConfig.field]}\n error={fieldConfig.field === 'email' ? (emailValidationError || getFieldError(fieldConfig)) : getFieldError(fieldConfig)}\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 setFieldValue(fieldConfig.field, nextValue);\n }}\n onBlur={() => handleFieldBlur(fieldConfig.field)}\n onPhoneCountryChange={handlePhoneCountryChange}\n readOnlyView={readOnlyView}\n />\n );\n }\n\n return null;\n };\n\n return (\n <div className='ns-shipping-address-form'>\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 <>\n <hr className='ns-shipping-address-form__separator' />\n {showSaveCheckbox && (\n <div>\n <label className='ns-shipping-address-form__checkbox-label ns-shipping-address-form__checkbox-label--spaced'>\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 <hr className='ns-shipping-address-form__separator' />\n </>\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 onClick={handleSaveAddress}\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 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 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","_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","type","selectedCountry","setSelectedCountry","useState","useAddressFieldLabels","shippingAddressForm","useShippingAddressForm","shippingFields","useMemo","preAddressFields","postAddressFields","addressFormDefinition","addressForm","isSavePending","setIsSavePending","validationRequestId","setValidationRequestId","phoneCountry","setPhoneCountry","mobilePhoneCountry","hasUserSelectedPhoneCountry","setHasUserSelectedPhoneCountry","setMobilePhoneLabel","emailValidationError","setEmailValidationError","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","handleAddressSelect","data","_data$status","includes","shippingValidationErrors","canProceedWithAddress","status","canProceed","isShippingComplete","emailValue","isEmailValid","phoneValidationStatus","reduce","acc","fieldConfig","field","validationStatus","phone","handlePhoneCountryChange","nextCountry","resolvedCountry","handleSaveAddress","handleCancel","handleFieldBlur","renderLayoutItem","layoutItem","index","component","jsx","className","children","strings","formDefinition","deferFormLookup","Boolean","onAddressSelect","jsxs","htmlFor","countryLabel","id","value","onChange","event","target","disabled","map","name","find","label","error","SUPPORTED_COUNTRIES","nextValue","onBlur","onPhoneCountryChange","layout","filter","Fragment","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, useState } from 'react';\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 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 [mobilePhoneLabel, setMobilePhoneLabel] = useState('')\n const [emailValidationError, setEmailValidationError] = useState('')\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 });\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 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 handleAddressSelect = async (data) => {\n if (readOnlyView) {\n return;\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 setIsSavePending(false);\n\n const shippingValidationErrors = getValidationErrors();\n const canProceedWithAddress = data?.status?.canProceed === true;\n const isShippingComplete = shippingValidationErrors.length === 0;\n\n if (!canProceedWithAddress || !isShippingComplete) {\n return;\n }\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 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) {\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 />\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 return (\n <ShippingField\n key={fieldConfig.field}\n fieldConfig={fieldConfig}\n label={getFieldLabel(fieldConfig.field, labels, mobilePhoneLabel)}\n value={values[fieldConfig.field]}\n error={fieldConfig.field === 'email' ? (emailValidationError || getFieldError(fieldConfig)) : getFieldError(fieldConfig)}\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 setFieldValue(fieldConfig.field, nextValue);\n }}\n onBlur={() => handleFieldBlur(fieldConfig.field)}\n onPhoneCountryChange={handlePhoneCountryChange}\n readOnlyView={readOnlyView}\n />\n );\n }\n\n return null;\n };\n\n return (\n <div className='ns-shipping-address-form'>\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 <>\n <hr className='ns-shipping-address-form__separator' />\n {showSaveCheckbox && (\n <div>\n <label className='ns-shipping-address-form__checkbox-label ns-shipping-address-form__checkbox-label--spaced'>\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 <hr className='ns-shipping-address-form__separator' />\n </>\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 >\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 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":[]}
|
|
@@ -58,10 +58,14 @@ const ShippingField = ({
|
|
|
58
58
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
|
|
59
59
|
className: fieldClassName,
|
|
60
60
|
children: fieldConfig.inputType === 'phone' ? /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
|
|
61
|
-
children: [/*#__PURE__*/(0, _jsxRuntime.
|
|
61
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)("label", {
|
|
62
62
|
htmlFor: fieldId,
|
|
63
63
|
className: "ns-shipping-address-form__label",
|
|
64
|
-
children: label
|
|
64
|
+
children: [label, fieldConfig.required && /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
|
|
65
|
+
"aria-hidden": "true",
|
|
66
|
+
className: "MuiFormLabel-asterisk",
|
|
67
|
+
children: ' *'
|
|
68
|
+
})]
|
|
65
69
|
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactPhoneNumberInput.default, {
|
|
66
70
|
id: fieldId,
|
|
67
71
|
international: true,
|
|
@@ -111,7 +115,6 @@ const ShippingField = ({
|
|
|
111
115
|
required: fieldConfig.required,
|
|
112
116
|
"aria-invalid": hasError ? 'true' : undefined,
|
|
113
117
|
fieldState: hasError ? 'error' : undefined,
|
|
114
|
-
helperText: error || undefined,
|
|
115
118
|
onChange: e => onChange(e.target.value),
|
|
116
119
|
onBlur: onBlur,
|
|
117
120
|
InputProps: {
|
|
@@ -122,6 +125,9 @@ const ShippingField = ({
|
|
|
122
125
|
'data-testid': fieldTestId
|
|
123
126
|
},
|
|
124
127
|
className: inputClassName
|
|
128
|
+
}), error && /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
|
|
129
|
+
className: "ns-shipping-address-form__error-text",
|
|
130
|
+
children: error
|
|
125
131
|
})]
|
|
126
132
|
})
|
|
127
133
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ShippingField.js","names":["_propTypes","_interopRequireDefault","require","_foundationUiComponents","_reactPhoneNumberInput","_jsxRuntime","e","__esModule","default","FIELD_TEST_IDS","givenName","surname","email","mobilePhone","instructions","FIELD_NAMES","FIELD_IDS","toKebabCase","value","replace","toLowerCase","getFieldTestId","fieldName","getFieldId","getFieldName","ShippingField","fieldConfig","label","error","country","countries","onChange","onBlur","onPhoneCountryChange","readOnlyView","hasError","Boolean","isReadOnly","editable","widthClassName","width","fieldClassName","join","inputClassName","filter","phoneClassName","labelClassName","fieldId","field","fieldTestId","jsx","className","children","inputType","jsxs","Fragment","htmlFor","id","international","defaultCountry","disabled","nextValue","onCountryChange","countryCallingCodeEditable","countrySelectProps","numberInputProps","name","readOnly","required","maxLength","NsInputField","type","undefined","fieldState","helperText","target","InputProps","inputProps","propTypes","PropTypes","shape","string","isRequired","oneOf","bool","number","allowedCharacters","instanceOf","RegExp","oneOfType","arrayOf","func","_default","exports"],"sources":["../../../src/shippingAddressForm/components/ShippingField.js"],"sourcesContent":["import PropTypes from 'prop-types';\nimport { NsInputField } from '@nuskin/foundation-ui-components';\nimport PhoneInput from 'react-phone-number-input';\n\nconst FIELD_TEST_IDS = {\n givenName: 'qa-first-name',\n surname: 'qa-last-name',\n email: 'qa-email',\n mobilePhone: 'qa-mobile-phone',\n instructions: 'qa-address-instructions'\n};\n\nconst FIELD_NAMES = {\n givenName: 'firstName',\n surname: 'lastName',\n email: 'email',\n mobilePhone: 'mobilePhoneNumber'\n};\n\nconst FIELD_IDS = {\n givenName: 'firstName',\n surname: 'lastName',\n email: 'email',\n mobilePhone: 'mobilePhoneNumber',\n instructions: 'address-instructions'\n};\n\nconst toKebabCase = (value = '') =>\n value\n .replace(/([a-z0-9])([A-Z])/g, '$1-$2')\n .replace(/[\\s_]+/g, '-')\n .toLowerCase();\n\nconst getFieldTestId = (fieldName = '') => FIELD_TEST_IDS[fieldName] || `qa-address-${toKebabCase(fieldName)}`;\nconst getFieldId = (fieldName = '') => FIELD_IDS[fieldName] || `address-${toKebabCase(fieldName)}`;\nconst getFieldName = (fieldName = '') => FIELD_NAMES[fieldName] || fieldName;\n\nconst ShippingField = ({\n fieldConfig,\n label,\n value,\n error,\n country,\n countries,\n onChange,\n onBlur,\n onPhoneCountryChange,\n readOnlyView = false\n}) => {\n const hasError = Boolean(error);\n const isReadOnly = readOnlyView || fieldConfig.editable === false;\n const widthClassName = fieldConfig.width === 'half' ?\n 'ns-shipping-address-form__field--half' :\n 'ns-shipping-address-form__field--full';\n const fieldClassName = [\n 'ns-shipping-address-form__field',\n widthClassName\n ].join(' ');\n const inputClassName = [\n 'ns-shipping-address-form__input',\n isReadOnly ? 'ns-shipping-address-form__input--readonly' : '',\n hasError ? 'ns-shipping-address-form__input--invalid' : ''\n ].filter(Boolean).join(' ');\n const phoneClassName = [\n 'ns-shipping-address-form__phone',\n isReadOnly ? 'ns-shipping-address-form__phone--readonly' : '',\n hasError ? 'ns-shipping-address-form__phone--invalid' : ''\n ].filter(Boolean).join(' ');\n const labelClassName = [\n 'ns-shipping-address-form__label',\n 'MuiFormLabel-root',\n 'MuiFormLabel-colorPrimary',\n 'css-1ef1ceb-MuiFormLabel-root'\n ].join(' ');\n const fieldId = getFieldId(fieldConfig.field);\n const fieldTestId = getFieldTestId(fieldConfig.field);\n const fieldName = getFieldName(fieldConfig.field);\n\n return (\n <div className={fieldClassName}>\n {fieldConfig.inputType === 'phone' ? (\n <>\n <label\n htmlFor={fieldId}\n className='ns-shipping-address-form__label'\n >\n {label}\n </label>\n <PhoneInput\n id={fieldId}\n international\n countries={countries}\n defaultCountry={country}\n value={value ?? ''}\n disabled={readOnlyView}\n onChange={(nextValue) => onChange(nextValue || '')}\n onCountryChange={onPhoneCountryChange}\n onBlur={onBlur}\n countryCallingCodeEditable={false}\n className={phoneClassName}\n countrySelectProps={{\n onBlur,\n disabled: readOnlyView,\n id: `${fieldId}-country`,\n 'data-testid': `${fieldTestId}-country`\n }}\n numberInputProps={{\n id: fieldId,\n name: fieldName,\n readOnly: isReadOnly,\n required: fieldConfig.required,\n maxLength: fieldConfig.maxLength,\n className: 'ns-shipping-address-form__phone-input',\n 'aria-invalid': hasError,\n 'data-testid': fieldTestId\n }}\n />\n {error && (\n <div className='ns-shipping-address-form__error-text'>\n {error}\n </div>\n )}\n </>\n ) : (\n <>\n <label\n htmlFor={fieldId}\n className={labelClassName}\n >\n {label}\n {fieldConfig.required && (\n <span\n aria-hidden='true'\n className='MuiFormLabel-asterisk'\n >\n {' *'}\n </span>\n )}\n </label>\n <NsInputField\n id={fieldId}\n type={fieldConfig.inputType}\n value={value ?? ''}\n maxLength={fieldConfig.maxLength}\n required={fieldConfig.required}\n aria-invalid={hasError ? 'true' : undefined}\n fieldState={hasError ? 'error' : undefined}\n helperText={error || undefined}\n onChange={(e) => onChange(e.target.value)}\n onBlur={onBlur}\n InputProps={{\n readOnly: isReadOnly\n }}\n inputProps={{\n name: fieldName,\n 'data-testid': fieldTestId\n }}\n className={inputClassName}\n />\n </>\n )}\n </div>\n );\n};\n\nShippingField.propTypes = {\n fieldConfig: PropTypes.shape({\n field: PropTypes.string.isRequired,\n width: PropTypes.oneOf(['half', 'full']),\n inputType: PropTypes.string,\n required: PropTypes.bool,\n maxLength: PropTypes.number,\n editable: PropTypes.bool,\n allowedCharacters: PropTypes.instanceOf(RegExp)\n }).isRequired,\n label: PropTypes.string.isRequired,\n value: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number\n ]),\n error: PropTypes.string,\n country: PropTypes.string,\n countries: PropTypes.arrayOf(PropTypes.string),\n onChange: PropTypes.func.isRequired,\n onBlur: PropTypes.func.isRequired,\n onPhoneCountryChange: PropTypes.func,\n readOnlyView: PropTypes.bool\n};\n\nexport default ShippingField;\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"ShippingField.js","names":["_propTypes","_interopRequireDefault","require","_foundationUiComponents","_reactPhoneNumberInput","_jsxRuntime","e","__esModule","default","FIELD_TEST_IDS","givenName","surname","email","mobilePhone","instructions","FIELD_NAMES","FIELD_IDS","toKebabCase","value","replace","toLowerCase","getFieldTestId","fieldName","getFieldId","getFieldName","ShippingField","fieldConfig","label","error","country","countries","onChange","onBlur","onPhoneCountryChange","readOnlyView","hasError","Boolean","isReadOnly","editable","widthClassName","width","fieldClassName","join","inputClassName","filter","phoneClassName","labelClassName","fieldId","field","fieldTestId","jsx","className","children","inputType","jsxs","Fragment","htmlFor","required","id","international","defaultCountry","disabled","nextValue","onCountryChange","countryCallingCodeEditable","countrySelectProps","numberInputProps","name","readOnly","maxLength","NsInputField","type","undefined","fieldState","target","InputProps","inputProps","propTypes","PropTypes","shape","string","isRequired","oneOf","bool","number","allowedCharacters","instanceOf","RegExp","oneOfType","arrayOf","func","_default","exports"],"sources":["../../../src/shippingAddressForm/components/ShippingField.js"],"sourcesContent":["import PropTypes from 'prop-types';\nimport { NsInputField } from '@nuskin/foundation-ui-components';\nimport PhoneInput from 'react-phone-number-input';\n\nconst FIELD_TEST_IDS = {\n givenName: 'qa-first-name',\n surname: 'qa-last-name',\n email: 'qa-email',\n mobilePhone: 'qa-mobile-phone',\n instructions: 'qa-address-instructions'\n};\n\nconst FIELD_NAMES = {\n givenName: 'firstName',\n surname: 'lastName',\n email: 'email',\n mobilePhone: 'mobilePhoneNumber'\n};\n\nconst FIELD_IDS = {\n givenName: 'firstName',\n surname: 'lastName',\n email: 'email',\n mobilePhone: 'mobilePhoneNumber',\n instructions: 'address-instructions'\n};\n\nconst toKebabCase = (value = '') =>\n value\n .replace(/([a-z0-9])([A-Z])/g, '$1-$2')\n .replace(/[\\s_]+/g, '-')\n .toLowerCase();\n\nconst getFieldTestId = (fieldName = '') => FIELD_TEST_IDS[fieldName] || `qa-address-${toKebabCase(fieldName)}`;\nconst getFieldId = (fieldName = '') => FIELD_IDS[fieldName] || `address-${toKebabCase(fieldName)}`;\nconst getFieldName = (fieldName = '') => FIELD_NAMES[fieldName] || fieldName;\n\nconst ShippingField = ({\n fieldConfig,\n label,\n value,\n error,\n country,\n countries,\n onChange,\n onBlur,\n onPhoneCountryChange,\n readOnlyView = false\n}) => {\n const hasError = Boolean(error);\n const isReadOnly = readOnlyView || fieldConfig.editable === false;\n const widthClassName = fieldConfig.width === 'half' ?\n 'ns-shipping-address-form__field--half' :\n 'ns-shipping-address-form__field--full';\n const fieldClassName = [\n 'ns-shipping-address-form__field',\n widthClassName\n ].join(' ');\n const inputClassName = [\n 'ns-shipping-address-form__input',\n isReadOnly ? 'ns-shipping-address-form__input--readonly' : '',\n hasError ? 'ns-shipping-address-form__input--invalid' : ''\n ].filter(Boolean).join(' ');\n const phoneClassName = [\n 'ns-shipping-address-form__phone',\n isReadOnly ? 'ns-shipping-address-form__phone--readonly' : '',\n hasError ? 'ns-shipping-address-form__phone--invalid' : ''\n ].filter(Boolean).join(' ');\n const labelClassName = [\n 'ns-shipping-address-form__label',\n 'MuiFormLabel-root',\n 'MuiFormLabel-colorPrimary',\n 'css-1ef1ceb-MuiFormLabel-root'\n ].join(' ');\n const fieldId = getFieldId(fieldConfig.field);\n const fieldTestId = getFieldTestId(fieldConfig.field);\n const fieldName = getFieldName(fieldConfig.field);\n\n return (\n <div className={fieldClassName}>\n {fieldConfig.inputType === 'phone' ? (\n <>\n <label\n htmlFor={fieldId}\n className='ns-shipping-address-form__label'\n >\n {label}\n {fieldConfig.required && (\n <span\n aria-hidden='true'\n className='MuiFormLabel-asterisk'\n >\n {' *'}\n </span>\n )}\n </label>\n <PhoneInput\n id={fieldId}\n international\n countries={countries}\n defaultCountry={country}\n value={value ?? ''}\n disabled={readOnlyView}\n onChange={(nextValue) => onChange(nextValue || '')}\n onCountryChange={onPhoneCountryChange}\n onBlur={onBlur}\n countryCallingCodeEditable={false}\n className={phoneClassName}\n countrySelectProps={{\n onBlur,\n disabled: readOnlyView,\n id: `${fieldId}-country`,\n 'data-testid': `${fieldTestId}-country`\n }}\n numberInputProps={{\n id: fieldId,\n name: fieldName,\n readOnly: isReadOnly,\n required: fieldConfig.required,\n maxLength: fieldConfig.maxLength,\n className: 'ns-shipping-address-form__phone-input',\n 'aria-invalid': hasError,\n 'data-testid': fieldTestId\n }}\n />\n {error && (\n <div className='ns-shipping-address-form__error-text'>\n {error}\n </div>\n )}\n </>\n ) : (\n <>\n <label\n htmlFor={fieldId}\n className={labelClassName}\n >\n {label}\n {fieldConfig.required && (\n <span\n aria-hidden='true'\n className='MuiFormLabel-asterisk'\n >\n {' *'}\n </span>\n )}\n </label>\n <NsInputField\n id={fieldId}\n type={fieldConfig.inputType}\n value={value ?? ''}\n maxLength={fieldConfig.maxLength}\n required={fieldConfig.required}\n aria-invalid={hasError ? 'true' : undefined}\n fieldState={hasError ? 'error' : undefined}\n onChange={(e) => onChange(e.target.value)}\n onBlur={onBlur}\n InputProps={{\n readOnly: isReadOnly\n }}\n inputProps={{\n name: fieldName,\n 'data-testid': fieldTestId\n }}\n className={inputClassName}\n />\n {error && (\n <div className='ns-shipping-address-form__error-text'>\n {error}\n </div>\n )}\n </>\n )}\n </div>\n );\n};\n\nShippingField.propTypes = {\n fieldConfig: PropTypes.shape({\n field: PropTypes.string.isRequired,\n width: PropTypes.oneOf(['half', 'full']),\n inputType: PropTypes.string,\n required: PropTypes.bool,\n maxLength: PropTypes.number,\n editable: PropTypes.bool,\n allowedCharacters: PropTypes.instanceOf(RegExp)\n }).isRequired,\n label: PropTypes.string.isRequired,\n value: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number\n ]),\n error: PropTypes.string,\n country: PropTypes.string,\n countries: PropTypes.arrayOf(PropTypes.string),\n onChange: PropTypes.func.isRequired,\n onBlur: PropTypes.func.isRequired,\n onPhoneCountryChange: PropTypes.func,\n readOnlyView: PropTypes.bool\n};\n\nexport default ShippingField;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
.ns-shipping-address-form {
|
|
2
2
|
--nssf-text-color: #1f2937;
|
|
3
3
|
--nssf-border-color: #B2B2B2;
|
|
4
|
-
--nssf-error-color: #
|
|
4
|
+
--nssf-error-color: #c81d1d;
|
|
5
5
|
--nssf-surface-color: #fff;
|
|
6
6
|
--nssf-disabled-surface-color: #f5f5f5;
|
|
7
7
|
--nssf-primary-color: #007bff;
|
|
@@ -77,6 +77,10 @@ select.ns-shipping-address-form__input {
|
|
|
77
77
|
border-color: var(--nssf-error-color);
|
|
78
78
|
}
|
|
79
79
|
|
|
80
|
+
.ns-shipping-address-form__input--invalid .MuiOutlinedInput-notchedOutline {
|
|
81
|
+
border-color: var(--nssf-error-color) !important;
|
|
82
|
+
}
|
|
83
|
+
|
|
80
84
|
.ns-shipping-address-form__input--readonly,
|
|
81
85
|
.ns-shipping-address-form__input:disabled {
|
|
82
86
|
background-color: transparent;
|
|
@@ -164,6 +168,16 @@ select.ns-shipping-address-form__input:disabled {
|
|
|
164
168
|
gap: var(--nssf-button-gap);
|
|
165
169
|
}
|
|
166
170
|
|
|
171
|
+
.ns-shipping-address-form__submit-button {
|
|
172
|
+
background-color: #000 !important;
|
|
173
|
+
color: #fff !important;
|
|
174
|
+
}
|
|
175
|
+
|
|
176
|
+
.ns-shipping-address-form__cancel-button {
|
|
177
|
+
border-color: #000 !important;
|
|
178
|
+
color: #000 !important;
|
|
179
|
+
}
|
|
180
|
+
|
|
167
181
|
@media (max-width: 640px) {
|
|
168
182
|
.ns-shipping-address-form__field--country-selector,
|
|
169
183
|
.ns-shipping-address-form__field--half {
|
|
@@ -58,6 +58,7 @@ const DEFAULT_LABELS = exports.DEFAULT_LABELS = {
|
|
|
58
58
|
countryLabel: 'Country',
|
|
59
59
|
givenNameLabel: 'Given Name',
|
|
60
60
|
surnameLabel: 'Surname',
|
|
61
|
+
emailLabel: 'Email',
|
|
61
62
|
addressNameLabel: 'Address Name',
|
|
62
63
|
mobilePhoneLabel: 'Mobile Phone',
|
|
63
64
|
instructionsLabel: 'Instructions',
|
|
@@ -136,6 +137,7 @@ const mapEntryToFieldLabels = (entry = {}) => ({
|
|
|
136
137
|
countryLabel: entry.countryLabel || DEFAULT_LABELS.countryLabel,
|
|
137
138
|
givenNameLabel: entry.givenNameLabel || DEFAULT_LABELS.givenNameLabel,
|
|
138
139
|
surnameLabel: entry.surnameLabel || DEFAULT_LABELS.surnameLabel,
|
|
140
|
+
emailLabel: entry.emailLabel || DEFAULT_LABELS.emailLabel,
|
|
139
141
|
addressNameLabel: entry.addressName || DEFAULT_LABELS.addressNameLabel,
|
|
140
142
|
mobilePhoneLabel: entry.mobilePhoneLabel || DEFAULT_LABELS.mobilePhoneLabel,
|
|
141
143
|
instructionsLabel: entry.instructionsLabel || DEFAULT_LABELS.instructionsLabel,
|
|
@@ -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","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","addressNameLabel","mobilePhoneLabel","instructionsLabel","agreeToSaveAddressLabel","setDefaultLabel","continueLabel","cancelLabel","saveAddressButtonLabel","invalidPhoneLabel","fieldRequiredLabel","formStrings","cache","mergeResultEntries","results","entries","Array","isArray","reduce","acc","entry","getUsValidationStrings","smartyUsValidationStrings","getIntlValidationStrings","smartyIntlValidationStrings","mapFormStrings","usValidationStrings","intlValidationStrings","switchToManuelEntry","mapEntryToFieldLabels","addressName","agreeToSaveAddress","setDefault","continueText","continue_text","cancel","saveAddress","invalidPhone","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 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 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 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 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 mapEntryToFieldLabels = (entry = {}) => ({\n countryLabel: entry.countryLabel || DEFAULT_LABELS.countryLabel,\n givenNameLabel: entry.givenNameLabel || DEFAULT_LABELS.givenNameLabel,\n surnameLabel: entry.surnameLabel || DEFAULT_LABELS.surnameLabel,\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: entry.continueText || entry.continue_text || DEFAULT_LABELS.continueLabel,\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 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","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","formStrings","cache","mergeResultEntries","results","entries","Array","isArray","reduce","acc","entry","getUsValidationStrings","smartyUsValidationStrings","getIntlValidationStrings","smartyIntlValidationStrings","mapFormStrings","usValidationStrings","intlValidationStrings","switchToManuelEntry","mapEntryToFieldLabels","addressName","agreeToSaveAddress","setDefault","continueText","continue_text","cancel","saveAddress","invalidPhone","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 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 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 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 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: entry.continueText || entry.continue_text || DEFAULT_LABELS.continueLabel,\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 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":[]}
|