@nuskin/shipping-address-form 1.1.0 → 1.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -52,6 +52,8 @@ export default function Example() {
52
52
  language='en'
53
53
  showSaveCheckbox={true}
54
54
  showDefaultCheckbox={true}
55
+ showCancelButton={true}
56
+ showContinueButton={false}
55
57
  address={{
56
58
  givenName: 'Jane',
57
59
  surname: 'Doe',
@@ -147,6 +149,20 @@ Controls whether the "save to account" checkbox is rendered.
147
149
 
148
150
  Controls whether the "set as default" checkbox is rendered.
149
151
 
152
+ ### `showCancelButton`
153
+
154
+ - Type: `boolean`
155
+ - Default: `true`
156
+
157
+ Controls whether the Cancel button is rendered.
158
+
159
+ ### `showContinueButton`
160
+
161
+ - Type: `boolean`
162
+ - Default: `false`
163
+
164
+ When `true`, the primary action keeps the same save behavior but uses the localized Continue label instead of the Save label.
165
+
150
166
  ### `onAction`
151
167
 
152
168
  - Type: `(payload) => void`
@@ -189,7 +205,10 @@ Only emitted after:
189
205
  verification: 'verified',
190
206
  completeness: 'complete',
191
207
  missingFields: [],
192
- mode: 'manual'
208
+ mode: 'manual',
209
+ phone: {
210
+ valid: true
211
+ }
193
212
  }
194
213
  }
195
214
  ```
@@ -257,6 +276,8 @@ Shipping field validation is handled locally.
257
276
  - Phone validation uses `isPossiblePhoneNumber()` from `react-phone-number-input`.
258
277
  - Invalid phone numbers show an error message and red field styling.
259
278
  - Invalid phone format is currently non-blocking for save.
279
+ - When a non-empty phone value is present, `validationStatus.phone` is included in the save callback.
280
+ - If the phone format is invalid, the save callback includes `validationStatus.phone = { valid: false, reason: 'invalid_format' }`.
260
281
  - Missing required shipping fields block save.
261
282
  - If a field definition includes `allowedCharacters`, that regex is used for validation.
262
283
 
@@ -275,6 +296,7 @@ This component uses shipping-level labels such as:
275
296
  - `instructionsLabel`
276
297
  - `agreeToSaveAddress`
277
298
  - `setDefault`
299
+ - `continueText`
278
300
  - `saveAddress`
279
301
  - `cancel`
280
302
  - `invalidPhone`
@@ -33,7 +33,9 @@ const ShippingAddressForm = ({
33
33
  onAction,
34
34
  address = null,
35
35
  showSaveCheckbox = true,
36
- showDefaultCheckbox = true
36
+ showDefaultCheckbox = true,
37
+ showCancelButton = true,
38
+ showContinueButton = false
37
39
  }) => {
38
40
  const [selectedCountry, setSelectedCountry] = (0, _react.useState)(country);
39
41
  const labels = (0, _useAddressFieldLabels.default)(selectedCountry, language);
@@ -54,7 +56,8 @@ const ShippingAddressForm = ({
54
56
  markAllTouched,
55
57
  resetValidationState,
56
58
  getFieldError,
57
- getValidationErrors
59
+ getValidationErrors,
60
+ getPhoneValidationStatus
58
61
  } = (0, _useShippingFormState.default)({
59
62
  address,
60
63
  shippingFields,
@@ -144,6 +147,7 @@ const ShippingAddressForm = ({
144
147
  return;
145
148
  }
146
149
  }
150
+ const phoneValidationStatus = getPhoneValidationStatus();
147
151
  onAction === null || onAction === void 0 || onAction({
148
152
  type: 'save',
149
153
  data: {
@@ -157,7 +161,12 @@ const ShippingAddressForm = ({
157
161
  saveToAccount: values.saveToAccount,
158
162
  saveAsDefault: values.saveAsDefault
159
163
  },
160
- validationStatus: data.status
164
+ validationStatus: {
165
+ ...data.status,
166
+ ...(phoneValidationStatus ? {
167
+ phone: phoneValidationStatus
168
+ } : {})
169
+ }
161
170
  });
162
171
  };
163
172
  const handlePhoneCountryChange = async nextCountry => {
@@ -198,7 +207,8 @@ const ShippingAddressForm = ({
198
207
  country: selectedCountry,
199
208
  language: language,
200
209
  strings: labels.formStrings,
201
- addressForm: shippingAddressForm.addressForm,
210
+ formDefinition: shippingAddressForm.addressForm,
211
+ deferFormLookup: true,
202
212
  validationRequestId: validationRequestId,
203
213
  onAddressSelect: handleAddressSelect,
204
214
  address: address,
@@ -290,8 +300,8 @@ const ShippingAddressForm = ({
290
300
  variant: "contained",
291
301
  color: "primary",
292
302
  onClick: handleSaveAddress,
293
- children: labels.saveAddressButtonLabel
294
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_foundationUiComponents.NsButton, {
303
+ children: showContinueButton ? labels.continueLabel : labels.saveAddressButtonLabel
304
+ }), showCancelButton && /*#__PURE__*/(0, _jsxRuntime.jsx)(_foundationUiComponents.NsButton, {
295
305
  variant: "outlined",
296
306
  color: "primary",
297
307
  onClick: handleCancel,
@@ -306,6 +316,8 @@ ShippingAddressForm.propTypes = {
306
316
  onAction: _propTypes.default.func,
307
317
  showSaveCheckbox: _propTypes.default.bool,
308
318
  showDefaultCheckbox: _propTypes.default.bool,
319
+ showCancelButton: _propTypes.default.bool,
320
+ showContinueButton: _propTypes.default.bool,
309
321
  address: _propTypes.default.shape({
310
322
  mobilePhoneCountry: _propTypes.default.string,
311
323
  saveToAccount: _propTypes.default.bool,
@@ -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","ShippingAddressForm","country","language","onAction","address","showSaveCheckbox","showDefaultCheckbox","selectedCountry","setSelectedCountry","useState","useAddressFieldLabels","shippingAddressForm","useShippingAddressForm","shippingFields","useMemo","preAddressFields","postAddressFields","isSavePending","setIsSavePending","validationRequestId","setValidationRequestId","phoneCountry","setPhoneCountry","mobilePhoneCountry","hasUserSelectedPhoneCountry","setHasUserSelectedPhoneCountry","setMobilePhoneLabel","emailValidationError","setEmailValidationError","values","setFieldValue","touchField","markAllTouched","resetValidationState","getFieldError","getValidationErrors","useShippingFormState","defaultPhoneCountry","showCheckboxSection","useEffect","availableCountries","countries","length","hasLoggedInCountry","some","countryOption","code","nextSelectedCountry","currentValue","isMounted","getShippingLabels","then","resolvedLabels","saveToAccount","saveAsDefault","validateEmailValue","email","trimmedEmail","isEmailSyntaxValid","_labels$formStrings2","invalidEmail","emailInfo","getEmailInfo","hasInvalidEmail","isFormatValid","isDomainValid","_labels$formStrings3","handleAddressSelect","data","_data$status","type","shippingValidationErrors","isAddressLookupComplete","status","completeness","isShippingComplete","emailValue","isEmailValid","reduce","acc","fieldConfig","field","validationStatus","handlePhoneCountryChange","nextCountry","resolvedCountry","handleSaveAddress","handleCancel","handleFieldBlur","renderLayoutItem","layoutItem","index","component","jsx","className","children","strings","addressForm","onAddressSelect","showManualValidateButton","jsxs","htmlFor","countryLabel","id","value","onChange","event","target","map","name","find","label","error","SUPPORTED_COUNTRIES","nextValue","onBlur","onPhoneCountryChange","layout","filter","Fragment","checked","agreeToSaveAddressLabel","disabled","setDefaultLabel","NsButton","variant","color","onClick","saveAddressButtonLabel","cancelLabel","propTypes","PropTypes","string","func","bool","shape","_default","exports"],"sources":["../src/ShippingAddressForm.js"],"sourcesContent":["import PropTypes from 'prop-types';\nimport { useEffect, useMemo, useState } from 'react';\nimport AddressLookup, { SUPPORTED_COUNTRIES } from '@nuskin/address-lookup'\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 ShippingAddressForm = ({\n country = 'US',\n language,\n onAction,\n address = null,\n showSaveCheckbox = true,\n showDefaultCheckbox = true\n}) => {\n const [selectedCountry, setSelectedCountry] = useState(country)\n const labels = useAddressFieldLabels(selectedCountry, language)\n const { shippingAddressForm } = useShippingAddressForm(country)\n const shippingFields = useMemo(\n () => [\n ...(shippingAddressForm.preAddressFields || []),\n ...(shippingAddressForm.postAddressFields || [])\n ],\n [shippingAddressForm.postAddressFields, shippingAddressForm.preAddressFields]\n )\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 } = useShippingFormState({\n address,\n shippingFields,\n labels,\n defaultPhoneCountry: address?.mobilePhoneCountry || selectedCountry || country\n });\n const showCheckboxSection = showSaveCheckbox || showDefaultCheckbox;\n\n useEffect(() => {\n setSelectedCountry(country)\n setHasUserSelectedPhoneCountry(false)\n }, [address, 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((countryOption) => countryOption.code === currentValue) ? 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 (!values.saveToAccount && values.saveAsDefault) {\n setFieldValue('saveAsDefault', false);\n }\n }, [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 (!isSavePending || data?.type !== 'validation-request') {\n return;\n }\n\n setIsSavePending(false);\n\n const shippingValidationErrors = getValidationErrors();\n const isAddressLookupComplete = data?.status?.completeness === 'complete';\n const isShippingComplete = shippingValidationErrors.length === 0;\n\n if (!isAddressLookupComplete || !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 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: data.status\n });\n }\n\n const handlePhoneCountryChange = async (nextCountry) => {\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 setEmailValidationError('');\n markAllTouched();\n setIsSavePending(true);\n setValidationRequestId((currentValue) => currentValue + 1);\n };\n\n const handleCancel = () => {\n setIsSavePending(false);\n setEmailValidationError('');\n resetValidationState();\n onAction?.({ type: 'cancel' });\n };\n\n const handleFieldBlur = async (fieldName) => {\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 addressForm={shippingAddressForm.addressForm}\n validationRequestId={validationRequestId}\n onAddressSelect={handleAddressSelect}\n address={address}\n showManualValidateButton={true}\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='shippingAddressCountry'\n className='ns-shipping-address-form__label'\n >\n {labels.countryLabel}\n </label>\n <select\n id='shippingAddressCountry'\n value={selectedCountry}\n onChange={(event) => setSelectedCountry(event.target.value)}\n className='ns-shipping-address-form__input'\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 (fieldConfig.field === 'email' && emailValidationError) {\n setEmailValidationError('');\n }\n\n setFieldValue(fieldConfig.field, nextValue);\n }}\n onBlur={() => handleFieldBlur(fieldConfig.field)}\n onPhoneCountryChange={handlePhoneCountryChange}\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 type=\"checkbox\"\n checked={values.saveToAccount}\n onChange={(e) => setFieldValue('saveToAccount', e.target.checked)}\n className='ns-shipping-address-form__checkbox'\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 type=\"checkbox\"\n checked={values.saveAsDefault}\n onChange={(e) => setFieldValue('saveAsDefault', e.target.checked)}\n className='ns-shipping-address-form__checkbox'\n disabled={!values.saveToAccount}\n />\n {labels.setDefaultLabel}\n </label>\n </div>\n )}\n <hr className='ns-shipping-address-form__separator' />\n </>\n )}\n <div className='ns-shipping-address-form__actions'>\n <NsButton\n variant=\"contained\"\n color=\"primary\"\n onClick={handleSaveAddress}\n >\n {labels.saveAddressButtonLabel}\n </NsButton>\n <NsButton\n variant=\"outlined\"\n color=\"primary\"\n onClick={handleCancel}\n >\n {labels.cancelLabel}\n </NsButton>\n </div>\n </div>\n );\n};\n\nShippingAddressForm.propTypes = {\n country: PropTypes.string,\n language: PropTypes.string,\n onAction: PropTypes.func,\n showSaveCheckbox: PropTypes.bool,\n showDefaultCheckbox: 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","ShippingAddressForm","country","language","onAction","address","showSaveCheckbox","showDefaultCheckbox","showCancelButton","showContinueButton","selectedCountry","setSelectedCountry","useState","useAddressFieldLabels","shippingAddressForm","useShippingAddressForm","shippingFields","useMemo","preAddressFields","postAddressFields","isSavePending","setIsSavePending","validationRequestId","setValidationRequestId","phoneCountry","setPhoneCountry","mobilePhoneCountry","hasUserSelectedPhoneCountry","setHasUserSelectedPhoneCountry","setMobilePhoneLabel","emailValidationError","setEmailValidationError","values","setFieldValue","touchField","markAllTouched","resetValidationState","getFieldError","getValidationErrors","getPhoneValidationStatus","useShippingFormState","defaultPhoneCountry","showCheckboxSection","useEffect","availableCountries","countries","length","hasLoggedInCountry","some","countryOption","code","nextSelectedCountry","currentValue","isMounted","getShippingLabels","then","resolvedLabels","saveToAccount","saveAsDefault","validateEmailValue","email","trimmedEmail","isEmailSyntaxValid","_labels$formStrings2","invalidEmail","emailInfo","getEmailInfo","hasInvalidEmail","isFormatValid","isDomainValid","_labels$formStrings3","handleAddressSelect","data","_data$status","type","shippingValidationErrors","isAddressLookupComplete","status","completeness","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","addressForm","deferFormLookup","onAddressSelect","showManualValidateButton","jsxs","htmlFor","countryLabel","id","value","onChange","event","target","map","name","find","label","error","SUPPORTED_COUNTRIES","nextValue","onBlur","onPhoneCountryChange","layout","filter","Fragment","checked","agreeToSaveAddressLabel","disabled","setDefaultLabel","NsButton","variant","color","onClick","continueLabel","saveAddressButtonLabel","cancelLabel","propTypes","PropTypes","string","func","bool","shape","_default","exports"],"sources":["../src/ShippingAddressForm.js"],"sourcesContent":["import PropTypes from 'prop-types';\nimport { useEffect, useMemo, useState } from 'react';\nimport AddressLookup, { SUPPORTED_COUNTRIES } from '@nuskin/address-lookup'\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 ShippingAddressForm = ({\n country = 'US',\n language,\n onAction,\n address = null,\n showSaveCheckbox = true,\n showDefaultCheckbox = true,\n showCancelButton = true,\n showContinueButton = false\n}) => {\n const [selectedCountry, setSelectedCountry] = useState(country)\n const labels = useAddressFieldLabels(selectedCountry, language)\n const { shippingAddressForm } = useShippingAddressForm(country)\n const shippingFields = useMemo(\n () => [\n ...(shippingAddressForm.preAddressFields || []),\n ...(shippingAddressForm.postAddressFields || [])\n ],\n [shippingAddressForm.postAddressFields, shippingAddressForm.preAddressFields]\n )\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\n useEffect(() => {\n setSelectedCountry(country)\n setHasUserSelectedPhoneCountry(false)\n }, [address, 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((countryOption) => countryOption.code === currentValue) ? 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 (!values.saveToAccount && values.saveAsDefault) {\n setFieldValue('saveAsDefault', false);\n }\n }, [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 (!isSavePending || data?.type !== 'validation-request') {\n return;\n }\n\n setIsSavePending(false);\n\n const shippingValidationErrors = getValidationErrors();\n const isAddressLookupComplete = data?.status?.completeness === 'complete';\n const isShippingComplete = shippingValidationErrors.length === 0;\n\n if (!isAddressLookupComplete || !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 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 setEmailValidationError('');\n markAllTouched();\n setIsSavePending(true);\n setValidationRequestId((currentValue) => currentValue + 1);\n };\n\n const handleCancel = () => {\n setIsSavePending(false);\n setEmailValidationError('');\n resetValidationState();\n onAction?.({ type: 'cancel' });\n };\n\n const handleFieldBlur = async (fieldName) => {\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={shippingAddressForm.addressForm}\n deferFormLookup={true}\n validationRequestId={validationRequestId}\n onAddressSelect={handleAddressSelect}\n address={address}\n showManualValidateButton={true}\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='shippingAddressCountry'\n className='ns-shipping-address-form__label'\n >\n {labels.countryLabel}\n </label>\n <select\n id='shippingAddressCountry'\n value={selectedCountry}\n onChange={(event) => setSelectedCountry(event.target.value)}\n className='ns-shipping-address-form__input'\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 (fieldConfig.field === 'email' && emailValidationError) {\n setEmailValidationError('');\n }\n\n setFieldValue(fieldConfig.field, nextValue);\n }}\n onBlur={() => handleFieldBlur(fieldConfig.field)}\n onPhoneCountryChange={handlePhoneCountryChange}\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 type=\"checkbox\"\n checked={values.saveToAccount}\n onChange={(e) => setFieldValue('saveToAccount', e.target.checked)}\n className='ns-shipping-address-form__checkbox'\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 type=\"checkbox\"\n checked={values.saveAsDefault}\n onChange={(e) => setFieldValue('saveAsDefault', e.target.checked)}\n className='ns-shipping-address-form__checkbox'\n disabled={!values.saveToAccount}\n />\n {labels.setDefaultLabel}\n </label>\n </div>\n )}\n <hr className='ns-shipping-address-form__separator' />\n </>\n )}\n <div className='ns-shipping-address-form__actions'>\n <NsButton\n variant=\"contained\"\n color=\"primary\"\n onClick={handleSaveAddress}\n >\n {showContinueButton ? labels.continueLabel : labels.saveAddressButtonLabel}\n </NsButton>\n {showCancelButton && (\n <NsButton\n variant=\"outlined\"\n color=\"primary\"\n onClick={handleCancel}\n >\n {labels.cancelLabel}\n </NsButton>\n )}\n </div>\n </div>\n );\n};\n\nShippingAddressForm.propTypes = {\n country: PropTypes.string,\n language: PropTypes.string,\n onAction: PropTypes.func,\n showSaveCheckbox: PropTypes.bool,\n showDefaultCheckbox: PropTypes.bool,\n showCancelButton: PropTypes.bool,\n showContinueButton: 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":[]}
@@ -102,6 +102,25 @@ const useShippingFormState = ({
102
102
  }
103
103
  return errors;
104
104
  }, []);
105
+ const getPhoneValidationStatus = () => {
106
+ const hasMobilePhoneField = shippingFields.some(fieldConfig => fieldConfig.field === 'mobilePhone');
107
+ if (!hasMobilePhoneField) {
108
+ return null;
109
+ }
110
+ const trimmedValue = getTrimmedValue(values.mobilePhone || '');
111
+ if (!trimmedValue) {
112
+ return null;
113
+ }
114
+ if (!(0, _reactPhoneNumberInput.isPossiblePhoneNumber)(trimmedValue)) {
115
+ return {
116
+ valid: false,
117
+ reason: 'invalid_format'
118
+ };
119
+ }
120
+ return {
121
+ valid: true
122
+ };
123
+ };
105
124
  return {
106
125
  values,
107
126
  hasAttemptedSave,
@@ -110,7 +129,8 @@ const useShippingFormState = ({
110
129
  markAllTouched,
111
130
  resetValidationState,
112
131
  getFieldError,
113
- getValidationErrors
132
+ getValidationErrors,
133
+ getPhoneValidationStatus
114
134
  };
115
135
  };
116
136
  var _default = exports.default = useShippingFormState;
@@ -1 +1 @@
1
- {"version":3,"file":"useShippingFormState.js","names":["_react","require","_reactPhoneNumberInput","getTrimmedValue","value","trim","normalizeIncomingPhoneNumber","country","trimmedValue","parsedPhoneNumber","parsePhoneNumber","number","error","buildInitialValues","shippingFields","address","defaultPhoneCountry","fieldValues","reduce","acc","fieldConfig","field","mobilePhone","mobilePhoneCountry","saveToAccount","saveAsDefault","useShippingFormState","labels","hasAttemptedSave","setHasAttemptedSave","useState","touchedFields","setTouchedFields","values","setValues","fieldSignature","useMemo","map","join","useEffect","setFieldValue","fieldName","currentValue","touchField","markAllTouched","resetValidationState","getFieldError","shouldShowError","required","fieldRequiredLabel","isPossiblePhoneNumber","invalidPhoneLabel","allowedCharacters","test","getValidationErrors","errors","push","_default","exports","default"],"sources":["../../src/hooks/useShippingFormState.js"],"sourcesContent":["import { useEffect, useMemo, useState } from 'react';\nimport { isPossiblePhoneNumber, parsePhoneNumber } from 'react-phone-number-input';\n\nconst getTrimmedValue = (value) => (typeof value === 'string' ? value.trim() : value);\n\nconst normalizeIncomingPhoneNumber = (value, country) => {\n const trimmedValue = getTrimmedValue(value);\n\n if (!trimmedValue) {\n return '';\n }\n\n try {\n const parsedPhoneNumber = country ?\n parsePhoneNumber(trimmedValue, country) :\n parsePhoneNumber(trimmedValue);\n\n return parsedPhoneNumber?.number || trimmedValue;\n } catch (error) {\n return trimmedValue;\n }\n};\n\nconst buildInitialValues = (shippingFields = [], address = null, defaultPhoneCountry = '') => {\n const fieldValues = shippingFields.reduce((acc, fieldConfig) => {\n if (fieldConfig.field === 'mobilePhone') {\n acc[fieldConfig.field] = normalizeIncomingPhoneNumber(\n address?.mobilePhone,\n address?.mobilePhoneCountry || defaultPhoneCountry\n );\n return acc;\n }\n\n acc[fieldConfig.field] = address?.[fieldConfig.field] || '';\n return acc;\n }, {});\n\n return {\n ...fieldValues,\n saveToAccount: address?.saveToAccount || false,\n saveAsDefault: address?.saveAsDefault || false\n };\n};\n\nconst useShippingFormState = ({ address, shippingFields = [], labels, defaultPhoneCountry = '' }) => {\n const [hasAttemptedSave, setHasAttemptedSave] = useState(false);\n const [touchedFields, setTouchedFields] = useState({});\n const [values, setValues] = useState(buildInitialValues(shippingFields, address, defaultPhoneCountry));\n const fieldSignature = useMemo(\n () => shippingFields.map((fieldConfig) => fieldConfig.field).join('|'),\n [shippingFields]\n );\n\n useEffect(() => {\n setHasAttemptedSave(false);\n setTouchedFields({});\n setValues(buildInitialValues(shippingFields, address, defaultPhoneCountry));\n }, [address, defaultPhoneCountry, fieldSignature, shippingFields]);\n\n const setFieldValue = (fieldName, value) => {\n setValues((currentValue) => ({\n ...currentValue,\n [fieldName]: value\n }));\n };\n\n const touchField = (fieldName) => {\n setTouchedFields((currentValue) => ({\n ...currentValue,\n [fieldName]: true\n }));\n };\n\n const markAllTouched = () => {\n setHasAttemptedSave(true);\n setTouchedFields(\n shippingFields.reduce((acc, fieldConfig) => {\n acc[fieldConfig.field] = true;\n return acc;\n }, {})\n );\n };\n\n const resetValidationState = () => {\n setHasAttemptedSave(false);\n setTouchedFields({});\n };\n\n const getFieldError = (fieldConfig) => {\n const value = values[fieldConfig.field] || '';\n const trimmedValue = getTrimmedValue(value);\n const shouldShowError = hasAttemptedSave || touchedFields[fieldConfig.field];\n\n if (!shouldShowError) {\n return '';\n }\n\n if (fieldConfig.required && !trimmedValue) {\n return labels.fieldRequiredLabel;\n }\n\n if (\n fieldConfig.field === 'mobilePhone' &&\n trimmedValue &&\n !isPossiblePhoneNumber(trimmedValue)\n ) {\n return labels.invalidPhoneLabel;\n }\n\n if (trimmedValue && fieldConfig.allowedCharacters && !fieldConfig.allowedCharacters.test(trimmedValue)) {\n return labels.fieldRequiredLabel;\n }\n\n return '';\n };\n\n const getValidationErrors = () =>\n shippingFields.reduce((errors, fieldConfig) => {\n const value = values[fieldConfig.field] || '';\n const trimmedValue = getTrimmedValue(value);\n\n if (fieldConfig.required && !trimmedValue) {\n errors.push(fieldConfig.field);\n return errors;\n }\n\n if (trimmedValue && fieldConfig.allowedCharacters && !fieldConfig.allowedCharacters.test(trimmedValue)) {\n errors.push(fieldConfig.field);\n }\n\n return errors;\n }, []);\n\n return {\n values,\n hasAttemptedSave,\n setFieldValue,\n touchField,\n markAllTouched,\n resetValidationState,\n getFieldError,\n getValidationErrors\n };\n};\n\nexport default useShippingFormState;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"useShippingFormState.js","names":["_react","require","_reactPhoneNumberInput","getTrimmedValue","value","trim","normalizeIncomingPhoneNumber","country","trimmedValue","parsedPhoneNumber","parsePhoneNumber","number","error","buildInitialValues","shippingFields","address","defaultPhoneCountry","fieldValues","reduce","acc","fieldConfig","field","mobilePhone","mobilePhoneCountry","saveToAccount","saveAsDefault","useShippingFormState","labels","hasAttemptedSave","setHasAttemptedSave","useState","touchedFields","setTouchedFields","values","setValues","fieldSignature","useMemo","map","join","useEffect","setFieldValue","fieldName","currentValue","touchField","markAllTouched","resetValidationState","getFieldError","shouldShowError","required","fieldRequiredLabel","isPossiblePhoneNumber","invalidPhoneLabel","allowedCharacters","test","getValidationErrors","errors","push","getPhoneValidationStatus","hasMobilePhoneField","some","valid","reason","_default","exports","default"],"sources":["../../src/hooks/useShippingFormState.js"],"sourcesContent":["import { useEffect, useMemo, useState } from 'react';\nimport { isPossiblePhoneNumber, parsePhoneNumber } from 'react-phone-number-input';\n\nconst getTrimmedValue = (value) => (typeof value === 'string' ? value.trim() : value);\n\nconst normalizeIncomingPhoneNumber = (value, country) => {\n const trimmedValue = getTrimmedValue(value);\n\n if (!trimmedValue) {\n return '';\n }\n\n try {\n const parsedPhoneNumber = country ?\n parsePhoneNumber(trimmedValue, country) :\n parsePhoneNumber(trimmedValue);\n\n return parsedPhoneNumber?.number || trimmedValue;\n } catch (error) {\n return trimmedValue;\n }\n};\n\nconst buildInitialValues = (shippingFields = [], address = null, defaultPhoneCountry = '') => {\n const fieldValues = shippingFields.reduce((acc, fieldConfig) => {\n if (fieldConfig.field === 'mobilePhone') {\n acc[fieldConfig.field] = normalizeIncomingPhoneNumber(\n address?.mobilePhone,\n address?.mobilePhoneCountry || defaultPhoneCountry\n );\n return acc;\n }\n\n acc[fieldConfig.field] = address?.[fieldConfig.field] || '';\n return acc;\n }, {});\n\n return {\n ...fieldValues,\n saveToAccount: address?.saveToAccount || false,\n saveAsDefault: address?.saveAsDefault || false\n };\n};\n\nconst useShippingFormState = ({ address, shippingFields = [], labels, defaultPhoneCountry = '' }) => {\n const [hasAttemptedSave, setHasAttemptedSave] = useState(false);\n const [touchedFields, setTouchedFields] = useState({});\n const [values, setValues] = useState(buildInitialValues(shippingFields, address, defaultPhoneCountry));\n const fieldSignature = useMemo(\n () => shippingFields.map((fieldConfig) => fieldConfig.field).join('|'),\n [shippingFields]\n );\n\n useEffect(() => {\n setHasAttemptedSave(false);\n setTouchedFields({});\n setValues(buildInitialValues(shippingFields, address, defaultPhoneCountry));\n }, [address, defaultPhoneCountry, fieldSignature, shippingFields]);\n\n const setFieldValue = (fieldName, value) => {\n setValues((currentValue) => ({\n ...currentValue,\n [fieldName]: value\n }));\n };\n\n const touchField = (fieldName) => {\n setTouchedFields((currentValue) => ({\n ...currentValue,\n [fieldName]: true\n }));\n };\n\n const markAllTouched = () => {\n setHasAttemptedSave(true);\n setTouchedFields(\n shippingFields.reduce((acc, fieldConfig) => {\n acc[fieldConfig.field] = true;\n return acc;\n }, {})\n );\n };\n\n const resetValidationState = () => {\n setHasAttemptedSave(false);\n setTouchedFields({});\n };\n\n const getFieldError = (fieldConfig) => {\n const value = values[fieldConfig.field] || '';\n const trimmedValue = getTrimmedValue(value);\n const shouldShowError = hasAttemptedSave || touchedFields[fieldConfig.field];\n\n if (!shouldShowError) {\n return '';\n }\n\n if (fieldConfig.required && !trimmedValue) {\n return labels.fieldRequiredLabel;\n }\n\n if (\n fieldConfig.field === 'mobilePhone' &&\n trimmedValue &&\n !isPossiblePhoneNumber(trimmedValue)\n ) {\n return labels.invalidPhoneLabel;\n }\n\n if (trimmedValue && fieldConfig.allowedCharacters && !fieldConfig.allowedCharacters.test(trimmedValue)) {\n return labels.fieldRequiredLabel;\n }\n\n return '';\n };\n\n const getValidationErrors = () =>\n shippingFields.reduce((errors, fieldConfig) => {\n const value = values[fieldConfig.field] || '';\n const trimmedValue = getTrimmedValue(value);\n\n if (fieldConfig.required && !trimmedValue) {\n errors.push(fieldConfig.field);\n return errors;\n }\n\n if (trimmedValue && fieldConfig.allowedCharacters && !fieldConfig.allowedCharacters.test(trimmedValue)) {\n errors.push(fieldConfig.field);\n }\n\n return errors;\n }, []);\n\n const getPhoneValidationStatus = () => {\n const hasMobilePhoneField = shippingFields.some((fieldConfig) => fieldConfig.field === 'mobilePhone');\n\n if (!hasMobilePhoneField) {\n return null;\n }\n\n const trimmedValue = getTrimmedValue(values.mobilePhone || '');\n\n if (!trimmedValue) {\n return null;\n }\n\n if (!isPossiblePhoneNumber(trimmedValue)) {\n return {\n valid: false,\n reason: 'invalid_format'\n };\n }\n\n return {\n valid: true\n };\n };\n\n return {\n values,\n hasAttemptedSave,\n setFieldValue,\n touchField,\n markAllTouched,\n resetValidationState,\n getFieldError,\n getValidationErrors,\n getPhoneValidationStatus\n };\n};\n\nexport default useShippingFormState;\n"],"mappings":"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","ignoreList":[]}
@@ -63,6 +63,7 @@ const DEFAULT_LABELS = exports.DEFAULT_LABELS = {
63
63
  instructionsLabel: 'Instructions',
64
64
  agreeToSaveAddressLabel: 'Agree to save address',
65
65
  setDefaultLabel: 'Set as default',
66
+ continueLabel: 'Continue',
66
67
  cancelLabel: 'Cancel',
67
68
  saveAddressButtonLabel: 'Save Address',
68
69
  invalidPhoneLabel: 'Invalid phone number',
@@ -140,6 +141,7 @@ const mapEntryToFieldLabels = (entry = {}) => ({
140
141
  instructionsLabel: entry.instructionsLabel || DEFAULT_LABELS.instructionsLabel,
141
142
  agreeToSaveAddressLabel: entry.agreeToSaveAddress || DEFAULT_LABELS.agreeToSaveAddressLabel,
142
143
  setDefaultLabel: entry.setDefault || DEFAULT_LABELS.setDefaultLabel,
144
+ continueLabel: entry.continueText || entry.continue_text || DEFAULT_LABELS.continueLabel,
143
145
  cancelLabel: entry.cancel || DEFAULT_LABELS.cancelLabel,
144
146
  saveAddressButtonLabel: entry.saveAddress || DEFAULT_LABELS.saveAddressButtonLabel,
145
147
  invalidPhoneLabel: entry.invalidPhone || DEFAULT_LABELS.invalidPhoneLabel,
@@ -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","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","cancel","saveAddress","invalidPhone","getShippingLabels","country","language","countryCode","locale","cacheKey","stack","getStack","getSingletonEntries","contentTypeUIDs","camelcase","mergeWithFallback","merged","labels","err","clearShippingLabelCache","Object","keys","forEach"],"sources":["../../src/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 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 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","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/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":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nuskin/shipping-address-form",
3
- "version": "1.1.0",
3
+ "version": "1.2.0",
4
4
  "description": "React wrapper around address lookup with shipping-specific fields and actions",
5
5
  "main": "dist/index.js",
6
6
  "scripts": {
@@ -31,8 +31,8 @@
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/address-lookup": "1.1.0",
35
- "@nuskin/contentstack-lib": "2.0.1",
34
+ "@nuskin/address-lookup": "1.1.1",
35
+ "@nuskin/contentstack-lib": "2.0.2",
36
36
  "@nuskin/foundation-theme": "1.8.0",
37
37
  "@nuskin/foundation-ui-components": "2.2.1",
38
38
  "prop-types": "^15.8.1",