@nuskin/shipping-address-form 1.7.9 → 1.7.10-6614-dev.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/addressLookup/components/SmartyIntlResults.js +6 -4
- package/dist/addressLookup/components/SmartyIntlResults.js.map +1 -1
- package/dist/addressLookup/components/SmartyUSResults.js +6 -4
- package/dist/addressLookup/components/SmartyUSResults.js.map +1 -1
- package/dist/addressLookup/components/smartyResults/useSmartyAddressController.js +6 -2
- package/dist/addressLookup/components/smartyResults/useSmartyAddressController.js.map +1 -1
- package/dist/addressLookup/components/smartyResults/useSmartyServiceErrors.js.map +1 -1
- package/dist/addressLookup/hooks/useAddressValidationBase.js +4 -1
- package/dist/addressLookup/hooks/useAddressValidationBase.js.map +1 -1
- package/dist/addressLookup/hooks/useIntlAddressValidation.js +24 -6
- package/dist/addressLookup/hooks/useIntlAddressValidation.js.map +1 -1
- package/dist/addressLookup/hooks/useSmartyInternationalLookup.js +47 -7
- package/dist/addressLookup/hooks/useSmartyInternationalLookup.js.map +1 -1
- package/dist/addressLookup/hooks/useSmartyLookupBase.js +6 -1
- package/dist/addressLookup/hooks/useSmartyLookupBase.js.map +1 -1
- package/dist/addressLookup/hooks/useSmartyUSLookup.js +30 -8
- package/dist/addressLookup/hooks/useSmartyUSLookup.js.map +1 -1
- package/dist/addressLookup/hooks/useUSAddressValidation.js +25 -6
- package/dist/addressLookup/hooks/useUSAddressValidation.js.map +1 -1
- package/dist/addressLookup/utils/addressForm.js +86 -2
- package/dist/addressLookup/utils/addressForm.js.map +1 -1
- package/dist/addressLookup/utils/smartyConfig.js +240 -5
- package/dist/addressLookup/utils/smartyConfig.js.map +1 -1
- package/dist/index.js +7 -0
- package/dist/index.js.map +1 -1
- package/dist/shippingAddressForm/utils/shippingAddressForm.js +13 -0
- package/dist/shippingAddressForm/utils/shippingAddressForm.js.map +1 -1
- package/package.json +1 -1
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["_ShippingAddressForm","_interopRequireDefault","require","_addressLookup","_addressForm","_countries","e","__esModule","default"],"sources":["../src/index.js"],"sourcesContent":["export { default as ShippingAddressForm } from './shippingAddressForm/ShippingAddressForm';\nexport { default } from './shippingAddressForm/ShippingAddressForm';\nexport { default as AddressLookup } from './addressLookup';\nexport { normalizeAddressForm, DEFAULT_ADDRESS_FORM } from './addressLookup/utils/addressForm';\nexport { SUPPORTED_COUNTRIES } from './addressLookup/countries';\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","names":["_ShippingAddressForm","_interopRequireDefault","require","_addressLookup","_addressForm","_countries","_smartyConfig","e","__esModule","default"],"sources":["../src/index.js"],"sourcesContent":["export { default as ShippingAddressForm } from './shippingAddressForm/ShippingAddressForm';\nexport { default } from './shippingAddressForm/ShippingAddressForm';\nexport { default as AddressLookup } from './addressLookup';\nexport { normalizeAddressForm, DEFAULT_ADDRESS_FORM } from './addressLookup/utils/addressForm';\nexport { SUPPORTED_COUNTRIES } from './addressLookup/countries';\nexport { setStreetAddressApiUrl } from './addressLookup/utils/smartyConfig';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,oBAAA,GAAAC,sBAAA,CAAAC,OAAA;AAEA,IAAAC,cAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,YAAA,GAAAF,OAAA;AACA,IAAAG,UAAA,GAAAH,OAAA;AACA,IAAAI,aAAA,GAAAJ,OAAA;AAA4E,SAAAD,uBAAAM,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA","ignoreList":[]}
|
|
@@ -6,6 +6,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
exports.normalizeShippingAddressForm = exports.getShippingAddressForm = exports.clearShippingAddressFormCache = exports.DEFAULT_SHIPPING_ADDRESS_FORM = void 0;
|
|
7
7
|
var _contentstackLib = require("@nuskin/contentstack-lib");
|
|
8
8
|
var _addressForm = require("../../addressLookup/utils/addressForm");
|
|
9
|
+
var _smartyConfig = require("../../addressLookup/utils/smartyConfig");
|
|
9
10
|
const cache = {};
|
|
10
11
|
const DEFAULT_SHIPPING_ADDRESS_FORM = exports.DEFAULT_SHIPPING_ADDRESS_FORM = {
|
|
11
12
|
countries: [],
|
|
@@ -131,11 +132,22 @@ const normalizeShippingAddressForm = (result = {}) => {
|
|
|
131
132
|
};
|
|
132
133
|
};
|
|
133
134
|
exports.normalizeShippingAddressForm = normalizeShippingAddressForm;
|
|
135
|
+
const applySmartyRuntimeConfig = (normalizedForm = {}) => {
|
|
136
|
+
var _window$location;
|
|
137
|
+
const addressForm = normalizedForm.addressForm || {};
|
|
138
|
+
const hostname = typeof window !== 'undefined' && ((_window$location = window.location) === null || _window$location === void 0 ? void 0 : _window$location.hostname) || '';
|
|
139
|
+
(0, _smartyConfig.applyStreetAddressApiDomains)(addressForm.urlDomains, hostname);
|
|
140
|
+
(0, _smartyConfig.setSmartyLambdaEnabled)(addressForm.smartyLambdaEnabled);
|
|
141
|
+
(0, _smartyConfig.setSkipCache)(addressForm.skipCache);
|
|
142
|
+
(0, _smartyConfig.setSmartyResponseEnabled)(addressForm.smartyResponse);
|
|
143
|
+
(0, _smartyConfig.applySmartyKeys)(addressForm.smartyKeys);
|
|
144
|
+
};
|
|
134
145
|
const getShippingAddressForm = async (country, type = 'shipping') => {
|
|
135
146
|
const countryCode = country || 'US';
|
|
136
147
|
const formType = type || 'shipping';
|
|
137
148
|
const cacheKey = `${countryCode}_${formType}`;
|
|
138
149
|
if (cache[cacheKey]) {
|
|
150
|
+
applySmartyRuntimeConfig(cache[cacheKey]);
|
|
139
151
|
return cache[cacheKey];
|
|
140
152
|
}
|
|
141
153
|
try {
|
|
@@ -145,6 +157,7 @@ const getShippingAddressForm = async (country, type = 'shipping') => {
|
|
|
145
157
|
type: formType
|
|
146
158
|
}, true);
|
|
147
159
|
const normalizedForm = normalizeShippingAddressForm(result || {});
|
|
160
|
+
applySmartyRuntimeConfig(normalizedForm);
|
|
148
161
|
cache[cacheKey] = normalizedForm;
|
|
149
162
|
return normalizedForm;
|
|
150
163
|
} catch (err) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shippingAddressForm.js","names":["_contentstackLib","require","_addressForm","cache","DEFAULT_SHIPPING_ADDRESS_FORM","exports","countries","preAddressFields","addressForm","DEFAULT_ADDRESS_FORM","postAddressFields","layout","type","component","normalizeRegex","value","RegExp","err","normalizeMaxLength","field","max_length","trim","parsedMaxLength","Number","isNaN","maxLength","normalizeField","width","editable","required","Boolean","allowedCharacters","allowed_characters","inputType","normalizeFields","fields","Array","isArray","map","filter","normalizeCountries","country","code","country_code","name","country_name","buildLayout","length","push","forEach","extractCountries","result","_result$countries$","extractAddressForm","address_form","adaptShippingAddressFormEntry","normalizeShippingAddressForm","adaptedResult","pre_address_fields","post_address_fields","normalizeAddressForm","getShippingAddressForm","countryCode","formType","cacheKey","stack","getStack","getMultiEntryByFields","normalizedForm","fallback","clearShippingAddressFormCache","Object","keys"],"sources":["../../../src/shippingAddressForm/utils/shippingAddressForm.js"],"sourcesContent":["import { getStack } from '@nuskin/contentstack-lib';\nimport { normalizeAddressForm, DEFAULT_ADDRESS_FORM } from '../../addressLookup/utils/addressForm';\n\nconst cache = {};\n\nconst DEFAULT_SHIPPING_ADDRESS_FORM = {\n countries: [],\n preAddressFields: [],\n addressForm: DEFAULT_ADDRESS_FORM,\n postAddressFields: [],\n layout: [\n { type: 'component', component: 'addressLookup' }\n ]\n};\n\nconst normalizeRegex = (value) => {\n if (!value) {\n return null;\n }\n\n if (value instanceof RegExp) {\n return value;\n }\n\n if (typeof value !== 'string') {\n return null;\n }\n\n try {\n return new RegExp(value);\n } catch (err) {\n return null;\n }\n};\n\nconst normalizeMaxLength = (field = {}) => {\n if (typeof field.max_length === 'number') {\n return field.max_length;\n }\n\n if (typeof field.max_length === 'string' && field.max_length.trim() !== '') {\n const parsedMaxLength = Number(field.max_length);\n return Number.isNaN(parsedMaxLength) ? null : parsedMaxLength;\n }\n\n if (typeof field.maxLength === 'number') {\n return field.maxLength;\n }\n\n if (typeof field.maxLength === 'string' && field.maxLength.trim() !== '') {\n const parsedMaxLength = Number(field.maxLength);\n return Number.isNaN(parsedMaxLength) ? null : parsedMaxLength;\n }\n\n return null;\n};\n\nconst normalizeField = (field = {}) => ({\n field: field.field || '',\n width: field.width === 'half' ? 'half' : 'full',\n editable: field.editable !== false,\n maxLength: normalizeMaxLength(field),\n required: Boolean(field.required),\n allowedCharacters: normalizeRegex(field.allowed_characters || field.allowedCharacters),\n inputType: field.field === 'mobilePhone' ? 'phone' : 'text'\n});\n\nconst normalizeFields = (fields = []) =>\n (Array.isArray(fields) ? fields : [])\n .map(normalizeField)\n .filter((field) => field.field);\n\nconst normalizeCountries = (countries = []) =>\n (Array.isArray(countries) ? countries : [])\n .map((country) => ({\n code: country?.code || country?.country_code || '',\n name: country?.name || country?.country_name || country?.code || country?.country_code || ''\n }))\n .filter((country) => country.code);\n\nconst buildLayout = ({ countries, preAddressFields, postAddressFields }) => {\n const layout = [];\n\n if (countries.length > 0) {\n layout.push({ type: 'component', component: 'countrySelector' });\n }\n\n preAddressFields.forEach((field) => {\n layout.push({ type: 'field', field: field.field });\n });\n\n layout.push({ type: 'component', component: 'addressLookup' });\n\n postAddressFields.forEach((field) => {\n layout.push({ type: 'field', field: field.field });\n });\n\n return layout;\n};\n\nconst extractCountries = (result = {}) => {\n if (Array.isArray(result.countries) && Array.isArray(result.countries[0]?.countries)) {\n return result.countries[0].countries;\n }\n\n return result.countries;\n};\n\nconst extractAddressForm = (result = {}) => {\n if (Array.isArray(result.address_form)) {\n return result.address_form[0] || {};\n }\n\n return result.address_form || result.addressForm || {};\n};\n\nconst adaptShippingAddressFormEntry = (result = {}) => ({\n ...result,\n countries: extractCountries(result),\n address_form: extractAddressForm(result)\n});\n\nexport const normalizeShippingAddressForm = (result = {}) => {\n const adaptedResult = adaptShippingAddressFormEntry(result);\n const countries = normalizeCountries(adaptedResult.countries);\n const preAddressFields = normalizeFields(adaptedResult.pre_address_fields || adaptedResult.preAddressFields);\n const postAddressFields = normalizeFields(adaptedResult.post_address_fields || adaptedResult.postAddressFields);\n const addressForm = normalizeAddressForm(adaptedResult.address_form || adaptedResult.addressForm || {});\n\n return {\n countries,\n preAddressFields,\n addressForm,\n postAddressFields,\n layout: buildLayout({ countries, preAddressFields, postAddressFields })\n };\n};\n\nexport const getShippingAddressForm = async (country, type = 'shipping') => {\n const countryCode = country || 'US';\n const formType = type || 'shipping';\n const cacheKey = `${countryCode}_${formType}`;\n\n if (cache[cacheKey]) {\n return cache[cacheKey];\n }\n\n try {\n const stack = getStack();\n const result = await stack.getMultiEntryByFields(\n 'shipping_address_form',\n {\n country: countryCode,\n type: formType\n },\n true\n );\n const normalizedForm = normalizeShippingAddressForm(result || {});\n\n cache[cacheKey] = normalizedForm;\n return normalizedForm;\n } catch (err) {\n const fallback = { ...DEFAULT_SHIPPING_ADDRESS_FORM };\n cache[cacheKey] = fallback;\n return fallback;\n }\n};\n\nexport const clearShippingAddressFormCache = () => {\n Object.keys(cache).forEach((cacheKey) => {\n delete cache[cacheKey];\n });\n};\n\nexport { DEFAULT_SHIPPING_ADDRESS_FORM };\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"shippingAddressForm.js","names":["_contentstackLib","require","_addressForm","_smartyConfig","cache","DEFAULT_SHIPPING_ADDRESS_FORM","exports","countries","preAddressFields","addressForm","DEFAULT_ADDRESS_FORM","postAddressFields","layout","type","component","normalizeRegex","value","RegExp","err","normalizeMaxLength","field","max_length","trim","parsedMaxLength","Number","isNaN","maxLength","normalizeField","width","editable","required","Boolean","allowedCharacters","allowed_characters","inputType","normalizeFields","fields","Array","isArray","map","filter","normalizeCountries","country","code","country_code","name","country_name","buildLayout","length","push","forEach","extractCountries","result","_result$countries$","extractAddressForm","address_form","adaptShippingAddressFormEntry","normalizeShippingAddressForm","adaptedResult","pre_address_fields","post_address_fields","normalizeAddressForm","applySmartyRuntimeConfig","normalizedForm","_window$location","hostname","window","location","applyStreetAddressApiDomains","urlDomains","setSmartyLambdaEnabled","smartyLambdaEnabled","setSkipCache","skipCache","setSmartyResponseEnabled","smartyResponse","applySmartyKeys","smartyKeys","getShippingAddressForm","countryCode","formType","cacheKey","stack","getStack","getMultiEntryByFields","fallback","clearShippingAddressFormCache","Object","keys"],"sources":["../../../src/shippingAddressForm/utils/shippingAddressForm.js"],"sourcesContent":["import { getStack } from '@nuskin/contentstack-lib';\nimport { normalizeAddressForm, DEFAULT_ADDRESS_FORM } from '../../addressLookup/utils/addressForm';\nimport {\n applyStreetAddressApiDomains,\n setSmartyLambdaEnabled,\n applySmartyKeys,\n setSkipCache,\n setSmartyResponseEnabled\n} from '../../addressLookup/utils/smartyConfig';\n\nconst cache = {};\n\nconst DEFAULT_SHIPPING_ADDRESS_FORM = {\n countries: [],\n preAddressFields: [],\n addressForm: DEFAULT_ADDRESS_FORM,\n postAddressFields: [],\n layout: [\n { type: 'component', component: 'addressLookup' }\n ]\n};\n\nconst normalizeRegex = (value) => {\n if (!value) {\n return null;\n }\n\n if (value instanceof RegExp) {\n return value;\n }\n\n if (typeof value !== 'string') {\n return null;\n }\n\n try {\n return new RegExp(value);\n } catch (err) {\n return null;\n }\n};\n\nconst normalizeMaxLength = (field = {}) => {\n if (typeof field.max_length === 'number') {\n return field.max_length;\n }\n\n if (typeof field.max_length === 'string' && field.max_length.trim() !== '') {\n const parsedMaxLength = Number(field.max_length);\n return Number.isNaN(parsedMaxLength) ? null : parsedMaxLength;\n }\n\n if (typeof field.maxLength === 'number') {\n return field.maxLength;\n }\n\n if (typeof field.maxLength === 'string' && field.maxLength.trim() !== '') {\n const parsedMaxLength = Number(field.maxLength);\n return Number.isNaN(parsedMaxLength) ? null : parsedMaxLength;\n }\n\n return null;\n};\n\nconst normalizeField = (field = {}) => ({\n field: field.field || '',\n width: field.width === 'half' ? 'half' : 'full',\n editable: field.editable !== false,\n maxLength: normalizeMaxLength(field),\n required: Boolean(field.required),\n allowedCharacters: normalizeRegex(field.allowed_characters || field.allowedCharacters),\n inputType: field.field === 'mobilePhone' ? 'phone' : 'text'\n});\n\nconst normalizeFields = (fields = []) =>\n (Array.isArray(fields) ? fields : [])\n .map(normalizeField)\n .filter((field) => field.field);\n\nconst normalizeCountries = (countries = []) =>\n (Array.isArray(countries) ? countries : [])\n .map((country) => ({\n code: country?.code || country?.country_code || '',\n name: country?.name || country?.country_name || country?.code || country?.country_code || ''\n }))\n .filter((country) => country.code);\n\nconst buildLayout = ({ countries, preAddressFields, postAddressFields }) => {\n const layout = [];\n\n if (countries.length > 0) {\n layout.push({ type: 'component', component: 'countrySelector' });\n }\n\n preAddressFields.forEach((field) => {\n layout.push({ type: 'field', field: field.field });\n });\n\n layout.push({ type: 'component', component: 'addressLookup' });\n\n postAddressFields.forEach((field) => {\n layout.push({ type: 'field', field: field.field });\n });\n\n return layout;\n};\n\nconst extractCountries = (result = {}) => {\n if (Array.isArray(result.countries) && Array.isArray(result.countries[0]?.countries)) {\n return result.countries[0].countries;\n }\n\n return result.countries;\n};\n\nconst extractAddressForm = (result = {}) => {\n if (Array.isArray(result.address_form)) {\n return result.address_form[0] || {};\n }\n\n return result.address_form || result.addressForm || {};\n};\n\nconst adaptShippingAddressFormEntry = (result = {}) => ({\n ...result,\n countries: extractCountries(result),\n address_form: extractAddressForm(result)\n});\n\nexport const normalizeShippingAddressForm = (result = {}) => {\n const adaptedResult = adaptShippingAddressFormEntry(result);\n const countries = normalizeCountries(adaptedResult.countries);\n const preAddressFields = normalizeFields(adaptedResult.pre_address_fields || adaptedResult.preAddressFields);\n const postAddressFields = normalizeFields(adaptedResult.post_address_fields || adaptedResult.postAddressFields);\n const addressForm = normalizeAddressForm(adaptedResult.address_form || adaptedResult.addressForm || {});\n\n return {\n countries,\n preAddressFields,\n addressForm,\n postAddressFields,\n layout: buildLayout({ countries, preAddressFields, postAddressFields })\n };\n};\n\nconst applySmartyRuntimeConfig = (normalizedForm = {}) => {\n const addressForm = normalizedForm.addressForm || {};\n const hostname = (typeof window !== 'undefined' && window.location?.hostname) || '';\n applyStreetAddressApiDomains(addressForm.urlDomains, hostname);\n setSmartyLambdaEnabled(addressForm.smartyLambdaEnabled);\n setSkipCache(addressForm.skipCache);\n setSmartyResponseEnabled(addressForm.smartyResponse);\n applySmartyKeys(addressForm.smartyKeys);\n};\n\nexport const getShippingAddressForm = async (country, type = 'shipping') => {\n const countryCode = country || 'US';\n const formType = type || 'shipping';\n const cacheKey = `${countryCode}_${formType}`;\n\n if (cache[cacheKey]) {\n applySmartyRuntimeConfig(cache[cacheKey]);\n return cache[cacheKey];\n }\n\n try {\n const stack = getStack();\n const result = await stack.getMultiEntryByFields(\n 'shipping_address_form',\n {\n country: countryCode,\n type: formType\n },\n true\n );\n const normalizedForm = normalizeShippingAddressForm(result || {});\n\n applySmartyRuntimeConfig(normalizedForm);\n cache[cacheKey] = normalizedForm;\n return normalizedForm;\n } catch (err) {\n const fallback = { ...DEFAULT_SHIPPING_ADDRESS_FORM };\n cache[cacheKey] = fallback;\n return fallback;\n }\n};\n\nexport const clearShippingAddressFormCache = () => {\n Object.keys(cache).forEach((cacheKey) => {\n delete cache[cacheKey];\n });\n};\n\nexport { DEFAULT_SHIPPING_ADDRESS_FORM };\n"],"mappings":"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","ignoreList":[]}
|