UNPKG

@financial-times/n-conversion-forms

Version:

Containing jsx components and styles for forms included on Accounts and Acqusition apps (next-signup, next-profile, next-retention, etc).

205 lines (199 loc) 5.8 kB
const React = require('react'); import { addressLine2AutoComplete, addressLine3AutoComplete, } from '../helpers/constants'; const addressTemplateGenerator = (addressLine1, addressLine2, addressLine3) => ( <> {addressLine1} {addressLine2} {addressLine3} </> ); const deliveryAddressMap = { home: { addressLine1Placeholder: { GBR: 'e.g. 10 Elm Street', USA: 'e.g. 10 Elm St.', CAN: 'e.g. 36 Poirier Blvd.', CEMEA_V1: 'Street and House Number', CEMEA_V2: 'House Number and Street', APAC: 'Street name', ARE: 'PO Box 12345', }, addressLine2Placeholder: { CEMEA_V1: 'Apt No./Floor/Building', CEMEA_V2: 'Apt No./Floor/Building', APAC: 'House/Apartment/Building name', }, addressLine3Placeholder: { USA: 'e.g Apt 2C / FL 10 / STE 50', CAN: 'e.g Apt 2C / FL 10 / STE 50', CEMEA_V1: ' ', CEMEA_V2: ' ', APAC: 'District/County/Province/Ward', }, addressLine1Title: { ARE: 'PO Box', }, // Overrides auto-complete addressLine2AutoComplete: { USA: addressLine3AutoComplete, CAN: addressLine3AutoComplete, }, // Overrides auto-complete addressLine3AutoComplete: { USA: addressLine2AutoComplete, CAN: addressLine2AutoComplete, }, addressLine3Title: { GBR: 'Address line 3', USA: 'APT/FL/STE', CAN: 'APT/FL/STE', CEMEA_V1: 'Address line 3', CEMEA_V2: 'Address line 3', APAC: 'Address line 3', }, addressLine3Prompt: { USA: 'Max. 6 characters. Please enter “Apartment 2C” as “Apt 2C”, “Floor 10 as FL 10”', CAN: 'Max. 6 characters. Please enter “Apartment 2C” as “Apt 2C”, “Floor 10 as FL 10”', }, template: (addressLine1, addressLine2, addressLine3, region) => { const addressLines = { GBR: addressTemplateGenerator(addressLine1, addressLine2, addressLine3), USA: addressTemplateGenerator(addressLine1, addressLine3, addressLine2), CAN: addressTemplateGenerator(addressLine1, addressLine3, addressLine2), CEMEA_V1: addressTemplateGenerator( addressLine1, addressLine2, addressLine3 ), CEMEA_V2: addressTemplateGenerator( addressLine1, addressLine2, addressLine3 ), APAC: addressTemplateGenerator( addressLine1, addressLine2, addressLine3 ), ARE: <> {addressLine1} </>, }; return addressLines[region]; }, }, company: { addressLine1Placeholder: { GBR: 'e.g. 10 Elm Street', USA: 'e.g. 10 Elm St.', CAN: 'e.g. 36 Poirier Blvd.', CEMEA_V1: 'Street and House Number', CEMEA_V2: 'House Number and Street', APAC: 'Street name', ARE: 'PO Box 12345', }, addressLine2Placeholder: { CEMEA_V1: 'Apt No./Floor/Building/Department', CEMEA_V2: 'Apt No./Floor/Building/Department', APAC: 'House/Apartment/Building name', }, addressLine3Placeholder: { USA: 'e.g Apt 2C / FL 10 / STE 50', CAN: 'e.g Apt 2C / FL 10 / STE 50', CEMEA_V1: 'Department name/job title', CEMEA_V2: 'Department name/job title', APAC: 'District/County/Province/Ward', }, addressLine3Title: { GBR: 'Address line 3', USA: 'APT/FL/STE', CAN: 'APT/FL/STE', CEMEA_V1: 'Address line 3', CEMEA_V2: 'Address line 3', }, addressLine3Prompt: { USA: 'Max. 6 characters. Please enter “Apartment 2C” as “Apt 2C”, “Floor 10 as FL 10”', CAN: 'Max. 6 characters. Please enter “Apartment 2C” as “Apt 2C”, “Floor 10 as FL 10”', }, addressLine1Title: { ARE: 'PO Box', }, // Overrides auto-complete addressLine2AutoComplete: { USA: addressLine3AutoComplete, CAN: addressLine3AutoComplete, }, // Overrides auto-complete addressLine3AutoComplete: { USA: addressLine2AutoComplete, CAN: addressLine2AutoComplete, }, template: (addressLine1, addressLine2, addressLine3, region) => { const addressLines = { GBR: addressTemplateGenerator(addressLine1, addressLine2, addressLine3), USA: addressTemplateGenerator(addressLine1, addressLine3, addressLine2), CAN: addressTemplateGenerator(addressLine1, addressLine3, addressLine2), CEMEA_V1: addressTemplateGenerator( addressLine1, addressLine2, addressLine3 ), CEMEA_V2: addressTemplateGenerator( addressLine1, addressLine2, addressLine3 ), APAC: addressTemplateGenerator( addressLine1, addressLine2, addressLine3 ), ARE: <> {addressLine1} </>, }; return addressLines[region]; }, }, pobox: { addressLine1Placeholder: { GBR: 'e.g. 10 Elm Street', USA: 'e.g. 10 Elm St.', CAN: 'e.g. 36 Poirier Blvd.', CEMEA_V1: 'P.O. Box', CEMEA_V2: 'P.O. Box', }, addressLine2Placeholder: {}, addressLine3Placeholder: {}, addressLine1Title: {}, addressLine3Title: { GBR: 'Address line 3', USA: 'APT/FL/STE', CAN: 'APT/FL/STE', }, // Overrides auto-complete addressLine2AutoComplete: { USA: addressLine3AutoComplete, CAN: addressLine3AutoComplete, }, // Overrides auto-complete addressLine3AutoComplete: { USA: addressLine2AutoComplete, CAN: addressLine2AutoComplete, }, addressLine3Prompt: { USA: 'Max. 6 characters. Please enter “Apartment 2C” as “Apt 2C”, “Floor 10 as FL 10”', CAN: 'Max. 6 characters. Please enter “Apartment 2C” as “Apt 2C”, “Floor 10 as FL 10”', }, template: (addressLine1, addressLine2, addressLine3, region) => { const addressLines = { GBR: addressTemplateGenerator(addressLine1, addressLine2, addressLine3), USA: addressTemplateGenerator(addressLine1, addressLine3, addressLine2), CAN: addressTemplateGenerator(addressLine1, addressLine3, addressLine2), CEMEA_V1: <> {addressLine1} </>, CEMEA_V2: <> {addressLine1} </>, }; return addressLines[region]; }, }, }; module.exports = deliveryAddressMap;