{"version":3,"file":"static/chunks/243-2a160da0363a596c.js","mappings":"qIAA+HA,EAAEC,E,2DAAE,EAAE,YAASA,IAAIA,GAAE,QAAE,CAAC,8EAA8E,gBAAgB,4DAA4D,gBAAgB,qCAAqC,oJAAoJ,eAAe,sCAAsC,oBAAoB,iBAAiB,kGAAkG,iBAAiB,eAAe,OAAO,CAAC,8EAA8E,gBAAgB,4DAA4D,gBAAgB,qCAAqC,oJAAoJ,eAAe,sCAAsC,oBAAoB,iBAAiB,kGAAkG,iBAAiB,eAAe,UAAS,SAAUC,GAAG,OAAOA,EAAEC,MAAMC,OAAOC,mBAAkB,SAAUH,GAAG,OAAOA,EAAEC,MAAMC,OAAOE,oBAAmB,SAAUJ,GAAG,OAAOA,EAAEC,MAAMC,OAAOE,oBAAmB,SAAUJ,GAAG,OAAOA,EAAEC,MAAMC,OAAOC,mBAAkB,SAAUH,GAAG,OAAOA,EAAEC,MAAMC,OAAOC,mBAAkB,SAAUH,GAAG,IAAIK,EAAEL,EAAEC,MAAMK,EAAEN,EAAEO,SAAST,EAAEE,EAAEQ,aAAa,MAAM,SAASC,OAAOJ,EAAEK,UAAUC,iBAAiB,KAAKF,OAAOH,GAAGR,EAAEO,EAAEH,OAAOU,UAAUP,EAAEH,OAAOW,oBAAmB,SAAUb,GAAG,OAAOA,EAAEC,MAAMC,OAAOY,YAAW,SAAUd,GAAG,OAAOA,EAAEC,MAAMc,UAAUC,IAAI,QAAO,SAAUhB,GAAG,IAAIK,EAAEL,EAAEC,MAAM,MAAM,UAAUQ,OAAO,OAAO,SAASA,OAAOJ,EAAEK,UAAUC,iBAAiB,YAAYF,OAAOJ,EAAEY,WAAWC,WAAW,YAAYT,OAAOJ,EAAEc,QAAQH,EAAE,YAAYP,OAAO,OAAO,SAASA,OAAOJ,EAAEK,UAAUC,iBAAiB,YAAYF,OAAOJ,EAAEY,WAAWC,WAAW,YAAYT,OAAOJ,EAAEc,QAAQC,OAAM,SAAUpB,GAAG,OAAOA,EAAEC,MAAMC,OAAOmB,YAAW,SAAUrB,GAAG,OAAOA,EAAEC,MAAMC,OAAOmB,YAAW,SAAUhB,GAAG,IAAIN,EAAEM,EAAEJ,MAAM,OAAOF,EAAEW,UAAUY,oBAAoB,MAAK,QAAExB,IAAIA,GAAE,QAAE,CAAC,6EAA6E,4BAA4B,CAAC,6EAA6E,8BAA8BC,EAAEG,OAAOqB,aCA1sEvB,GAAE,iBAAE,SAAUD,EAAEC,GAAG,IAAIwB,EAAEzB,EAAES,aAAaiB,EAAE1B,EAAEQ,SAASmB,EAAE3B,EAAE4B,SAASC,EAAE7B,EAAE8B,MAAMC,EAAE/B,EAAEgC,SAASC,EAAEjC,EAAEkC,oBAAoBC,GAAE,QAAEnC,EAAE,CAAC,eAAe,WAAW,WAAW,QAAQ,WAAW,wBAAwBoC,GAAE,UAAIC,GAAE,SAAE,QAAE,GAAG,MAAGD,GAAG,OAAO,gBAAgB,IAAE,CAACN,MAAMD,EAAEG,SAASD,EAAEH,UAAUK,GAAGN,IAAG,GAAI,gBAAgB,GAAE,QAAE,GAAGQ,EAAE,CAACG,IAAIrC,EAAEC,MAAMmC,EAAET,SAASD,EAAE,eAAeD,KAAKD,IAAG,EAAG,mBAAmBU,EAAEI,IAAId,EAAE,GAAGf,OAAOyB,EAAEI,GAAG,eAAU,EAAO/B,SAASkB,KAAKD,IAAG,OAAQA,GAAG,gBAAgB,IAAE,CAACe,UAAU,MAAMD,GAAGJ,EAAEI,GAAG,GAAG7B,OAAOyB,EAAEI,GAAG,eAAU,GAAQd,Q,8HC4Pj1B,EA5PkB,CAChB,cACA,gBACA,UACA,UACA,iBACA,UACA,SACA,WACA,aACA,sBACA,YACA,UACA,QACA,YACA,UACA,aACA,UACA,UACA,aACA,WACA,UACA,UACA,SACA,QACA,UACA,SACA,UACA,gCACA,yBACA,WACA,gBACA,SACA,iCACA,yBACA,oBACA,WACA,eACA,UACA,WACA,WACA,SACA,aACA,iBACA,2BACA,OACA,QACA,QACA,mBACA,gBACA,WACA,UACA,QACA,eACA,aACA,gBACA,UACA,OACA,UACA,SACA,iBACA,+BACA,UACA,WACA,WACA,qBACA,UACA,QACA,cACA,oBACA,UACA,UACA,WACA,mBACA,gBACA,iCACA,OACA,UACA,SACA,gBACA,mBACA,8BACA,QACA,SACA,UACA,UACA,QACA,YACA,SACA,YACA,UACA,aACA,OACA,YACA,WACA,SACA,gBACA,SACA,QACA,gCACA,WACA,WACA,YACA,UACA,UACA,QACA,YACA,OACA,OACA,UACA,cACA,SACA,QACA,UACA,QACA,SACA,SACA,aACA,QACA,WACA,YACA,oBACA,SACA,aACA,UACA,SACA,UACA,UACA,UACA,QACA,gBACA,YACA,aACA,QACA,YACA,aACA,SACA,WACA,WACA,OACA,QACA,mBACA,aACA,aACA,YACA,UACA,SACA,UACA,SACA,WACA,aACA,aACA,UACA,aACA,UACA,UACA,QACA,QACA,cACA,gBACA,cACA,YACA,QACA,UACA,OACA,iBACA,2BACA,SACA,OACA,WACA,QACA,iCACA,SACA,mBACA,WACA,OACA,cACA,WACA,SACA,WACA,cACA,QACA,UACA,UACA,qBACA,SACA,mBACA,iCACA,wBACA,cACA,eACA,4BACA,gCACA,QACA,aACA,wBACA,eACA,UACA,SACA,aACA,eACA,YACA,eACA,WACA,WACA,kBACA,UACA,eACA,+BACA,cACA,QACA,YACA,QACA,WACA,yBACA,YACA,SACA,cACA,uBACA,SACA,aACA,WACA,WACA,cACA,OACA,UACA,QACA,sBACA,UACA,SACA,eACA,2BACA,SACA,SACA,UACA,uBACA,iBACA,gBACA,4BACA,UACA,oBACA,aACA,UACA,YACA,UACA,oBACA,iBACA,QACA,SACA,Y,6BC7OIgB,EAAkBC,EAAAA,GAAAA,IAAAA,WAAH,wEAAGA,CAAH,iFAGT,qBAAGxC,MAAkBkB,QAAQC,MA8DzC,EA/CqB,SAAC,GAMgB,IALpCsB,EAKoC,EALpCA,SACAC,EAIoC,EAJpCA,aACAC,EAGoC,EAHpCA,KACAC,EAEoC,EAFpCA,OACAC,EACoC,EADpCA,SAEA,GAA0CC,EAAAA,EAAAA,UAASF,EAAOD,IAAnDI,EAAP,KAAsBC,EAAtB,KAMA,OAJAC,EAAAA,EAAAA,YAAU,WACRD,EAAiBJ,EAAOD,MACvB,CAACA,EAAMC,KAGR,SAACL,EAAD,WACE,SAAC,KAAD,CAAOI,KAAMA,EAAb,SACG,gBAAGO,EAAH,EAAGA,MAAH,OACC,SAACC,EAAA,EAAD,CACEd,GAAIa,EAAMP,KACVA,KAAMO,EAAMP,KACZf,MAAM,UACNwB,MAAOL,EACP3B,WAAYyB,EACZJ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","sources":["webpack://_N_E/./node_modules/@cruk/cruk-react-components/lib/es/src/components/Select/styles.js","webpack://_N_E/./node_modules/@cruk/cruk-react-components/lib/es/src/components/Select/index.js","webpack://_N_E/./data/countries.ts","webpack://_N_E/./components/CountryField.tsx","webpack://_N_E/./components/AddressLookup.tsx","webpack://_N_E/./components/FieldErrorMessage.tsx","webpack://_N_E/./components/FocusError.tsx","webpack://_N_E/./components/FormFields.tsx","webpack://_N_E/./components/FormGroup.tsx"],"sourcesContent":["import{__makeTemplateObject as n}from\"../../../node_modules/tslib/tslib.es6.js\";import o,{css as r}from\"styled-components\";var e,t,c=o.select(t||(t=n([\"\\n appearance: none;\\n background: linear-gradient(\\n 45deg,\\n \",\" 50%,\\n \",\" 50%\\n ),\\n linear-gradient(\\n 135deg,\\n \",\" 50%,\\n \",\" 50%\\n );\\n background-color: \",\";\\n background-position: calc(100% - 16px) 50%, calc(100% - 10px) 50%;\\n background-size: 6px 6px;\\n background-repeat: no-repeat;\\n border: \",\";\\n color: \",\";\\n display: block;\\n font-size: \",\";\\n min-height: \",\";\\n padding: \",\";\\n width: 100%;\\n transition: border-color 150ms linear;\\n &:disabled {\\n border-color: \",\";\\n color: \",\";\\n }\\n\\n \",\";\\n\"],[\"\\n appearance: none;\\n background: linear-gradient(\\n 45deg,\\n \",\" 50%,\\n \",\" 50%\\n ),\\n linear-gradient(\\n 135deg,\\n \",\" 50%,\\n \",\" 50%\\n );\\n background-color: \",\";\\n background-position: calc(100% - 16px) 50%, calc(100% - 10px) 50%;\\n background-size: 6px 6px;\\n background-repeat: no-repeat;\\n border: \",\";\\n color: \",\";\\n display: block;\\n font-size: \",\";\\n min-height: \",\";\\n padding: \",\";\\n width: 100%;\\n transition: border-color 150ms linear;\\n &:disabled {\\n border-color: \",\";\\n color: \",\";\\n }\\n\\n \",\";\\n\"])),(function(n){return n.theme.colors.backgroundLight}),(function(n){return n.theme.colors.selectBackground}),(function(n){return n.theme.colors.selectBackground}),(function(n){return n.theme.colors.backgroundLight}),(function(n){return n.theme.colors.backgroundLight}),(function(n){var o=n.theme,r=n.hasError,e=n.errorMessage;return\"solid \".concat(o.utilities.inputBorderWidth,\" \").concat(r||e?o.colors.textError:o.colors.textInputBorder)}),(function(n){return n.theme.colors.textDark}),(function(n){return n.theme.fontSizes.m}),\"3rem\",(function(n){var o=n.theme;return\"calc( (\".concat(\"3rem\",\" - ( \").concat(o.utilities.inputBorderWidth,\" * 2) - \").concat(o.typography.lineHeight,\" ) / 2) \").concat(o.spacing.m,\" calc( (\").concat(\"3rem\",\" - ( \").concat(o.utilities.inputBorderWidth,\" * 2) - \").concat(o.typography.lineHeight,\" ) / 2) \").concat(o.spacing.xs)}),(function(n){return n.theme.colors.disabled}),(function(n){return n.theme.colors.disabled}),(function(o){var t=o.theme;return t.utilities.useDefaultFocusRect?null:r(e||(e=n([\"\\n &:focus {\\n outline: 0;\\n border-color: \",\";\\n }\\n \"],[\"\\n &:focus {\\n outline: 0;\\n border-color: \",\";\\n }\\n \"])),t.colors.tertiary)}));export{c as StyledSelect,c as default};\n//# sourceMappingURL=styles.js.map\n","import{__rest as r,__assign as e}from\"../../../node_modules/tslib/tslib.es6.js\";import i,{forwardRef as t}from\"react\";import{useTheme as o}from\"styled-components\";import a from\"../../themes/cruk.js\";import{LabelWrapper as d}from\"../LabelWrapper/index.js\";import s from\"../ErrorText/index.js\";import m from\"./styles.js\";var n=t((function(t,n){var l=t.errorMessage,c=t.hasError,p=t.required,u=t.label,b=t.hintText,f=t.hideRequiredInLabel,h=r(t,[\"errorMessage\",\"hasError\",\"required\",\"label\",\"hintText\",\"hideRequiredInLabel\"]),x=o(),E=e(e({},a),x);return i.createElement(d,{label:u,hintText:b,required:!f&&p||!1},i.createElement(m,e({},h,{ref:n,theme:E,required:p,\"aria-invalid\":c||!!l||!1,\"aria-describedby\":h.id&&l?\"\".concat(h.id,\"-error\"):void 0,hasError:c||!!l||!1})),!!l&&i.createElement(s,{marginTop:\"xxs\",id:h.id?\"\".concat(h.id,\"-error\"):void 0},l))}));export{n as default};\n//# sourceMappingURL=index.js.map\n","const countries = [\n \"Afghanistan\",\n \"Aland Islands\",\n \"Albania\",\n \"Algeria\",\n \"American Samoa\",\n \"Andorra\",\n \"Angola\",\n \"Anguilla\",\n \"Antarctica\",\n \"Antigua and Barbuda\",\n \"Argentina\",\n \"Armenia\",\n \"Aruba\",\n \"Australia\",\n \"Austria\",\n \"Azerbaijan\",\n \"Bahamas\",\n \"Bahrain\",\n \"Bangladesh\",\n \"Barbados\",\n \"Belarus\",\n \"Belgium\",\n \"Belize\",\n \"Benin\",\n \"Bermuda\",\n \"Bhutan\",\n \"Bolivia\",\n \"Bonaire St Eustatius and Saba\",\n \"Bosnia and Herzegovina\",\n \"Botswana\",\n \"Bouvet Island\",\n \"Brazil\",\n \"British Indian Ocean Territory\",\n \"British Virgin Islands\",\n \"Brunei Darussalam\",\n \"Bulgaria\",\n \"Burkina Faso\",\n \"Burundi\",\n \"Cambodia\",\n \"Cameroon\",\n \"Canada\",\n \"Cape Verde\",\n \"Cayman Islands\",\n \"Central African Republic\",\n \"Chad\",\n \"Chile\",\n \"China\",\n \"Christmas Island\",\n \"Cocos Islands\",\n \"Colombia\",\n \"Comoros\",\n \"Congo\",\n \"Cook Islands\",\n \"Costa Rica\",\n \"Cote D Ivoire\",\n \"Croatia\",\n \"Cuba\",\n \"Curacao\",\n \"Cyprus\",\n \"Czech Republic\",\n \"Democratic Republic of Congo\",\n \"Denmark\",\n \"Djibouti\",\n \"Dominica\",\n \"Dominican Republic\",\n \"Ecuador\",\n \"Egypt\",\n \"El Salvador\",\n \"Equatorial Guinea\",\n \"Eritrea\",\n \"Estonia\",\n \"Ethiopia\",\n \"Falkland Islands\",\n \"Faroe Islands\",\n \"Federated States of Micronesia\",\n \"Fiji\",\n \"Finland\",\n \"France\",\n \"French Guiana\",\n \"French Polynesia\",\n \"French Southern Territories\",\n \"Gabon\",\n \"Gambia\",\n \"Georgia\",\n \"Germany\",\n \"Ghana\",\n \"Gibraltar\",\n \"Greece\",\n \"Greenland\",\n \"Grenada\",\n \"Guadeloupe\",\n \"Guam\",\n \"Guatemala\",\n \"Guernsey\",\n \"Guinea\",\n \"Guinea-Bissau\",\n \"Guyana\",\n \"Haiti\",\n \"Heard Island McDonald islands\",\n \"Holy See\",\n \"Honduras\",\n \"Hong Kong\",\n \"Hungary\",\n \"Iceland\",\n \"India\",\n \"Indonesia\",\n \"Iran\",\n \"Iraq\",\n \"Ireland\",\n \"Isle of Man\",\n \"Israel\",\n \"Italy\",\n \"Jamaica\",\n \"Japan\",\n \"Jersey\",\n \"Jordan\",\n \"Kazakhstan\",\n \"Kenya\",\n \"Kiribati\",\n \"Korea DPR\",\n \"Korea Republic of\",\n \"Kuwait\",\n \"Kyrgyzstan\",\n \"Lao PDR\",\n \"Latvia\",\n \"Lebanon\",\n \"Lesotho\",\n \"Liberia\",\n \"Libya\",\n \"Liechtenstein\",\n \"Lithuania\",\n \"Luxembourg\",\n \"Macao\",\n \"Macedonia\",\n \"Madagascar\",\n \"Malawi\",\n \"Malaysia\",\n \"Maldives\",\n \"Mali\",\n \"Malta\",\n \"Marshall Islands\",\n \"Martinique\",\n \"Mauritania\",\n \"Mauritius\",\n \"Mayotte\",\n \"Mexico\",\n \"Moldova\",\n \"Monaco\",\n \"Mongolia\",\n \"Montenegro\",\n \"Montserrat\",\n \"Morocco\",\n \"Mozambique\",\n \"Myanmar\",\n \"Namibia\",\n \"Nauru\",\n \"Nepal\",\n \"Netherlands\",\n \"New Caledonia\",\n \"New Zealand\",\n \"Nicaragua\",\n \"Niger\",\n \"Nigeria\",\n \"Niue\",\n \"Norfolk Island\",\n \"Northern Mariana Islands\",\n \"Norway\",\n \"Oman\",\n \"Pakistan\",\n \"Palau\",\n \"Palestinian Territory Occupied\",\n \"Panama\",\n \"Papua New Guinea\",\n \"Paraguay\",\n \"Peru\",\n \"Philippines\",\n \"Pitcairn\",\n \"Poland\",\n \"Portugal\",\n \"Puerto Rico\",\n \"Qatar\",\n \"Reunion\",\n \"Romania\",\n \"Russian Federation\",\n \"Rwanda\",\n \"Saint Barthelemy\",\n \"St Helena Ascension Tristan DC\",\n \"Saint Kitts and Nevis\",\n \"Saint Lucia\",\n \"Saint Martin\",\n \"Saint Pierre and Miquelon\",\n \"St Vincent and the Grenadines\",\n \"Samoa\",\n \"San Marino\",\n \"Sao Tome and Principe\",\n \"Saudi Arabia\",\n \"Senegal\",\n \"Serbia\",\n \"Seychelles\",\n \"Sierra Leone\",\n \"Singapore\",\n \"Sint Maarten\",\n \"Slovakia\",\n \"Slovenia\",\n \"Solomon Islands\",\n \"Somalia\",\n \"South Africa\",\n \"S Georgia S Sandwich Islands\",\n \"South Sudan\",\n \"Spain\",\n \"Sri Lanka\",\n \"Sudan\",\n \"Suriname\",\n \"Svalbard and Jan Mayen\",\n \"Swaziland\",\n \"Sweden\",\n \"Switzerland\",\n \"Syrian Arab Republic\",\n \"Taiwan\",\n \"Tajikistan\",\n \"Tanzania\",\n \"Thailand\",\n \"Timor-Leste\",\n \"Togo\",\n \"Tokelau\",\n \"Tonga\",\n \"Trinidad and Tobago\",\n \"Tunisia\",\n \"Turkey\",\n \"Turkmenistan\",\n \"Turks and Caicos Islands\",\n \"Tuvalu\",\n \"Uganda\",\n \"Ukraine\",\n \"United Arab Emirates\",\n \"United Kingdom\",\n \"United States\",\n \"US Minor Outlying Islands\",\n \"Uruguay\",\n \"US Virgin Islands\",\n \"Uzbekistan\",\n \"Vanuatu\",\n \"Venezuela\",\n \"Vietnam\",\n \"Wallis and Futuna\",\n \"Western Sahara\",\n \"Yemen\",\n \"Zambia\",\n \"Zimbabwe\",\n];\n\nexport default countries;\n","import React, {\n useState,\n useEffect,\n ChangeEvent,\n ChangeEventHandler,\n ReactElement,\n} from \"react\";\nimport { Select } from \"@cruk/cruk-react-components\";\nimport { Field, FieldProps } from \"formik\";\nimport styled from \"styled-components\";\nimport countries from \"../data/countries\";\n\nconst SelectContainer = styled.div`\n width: 100%;\n display: inline-block;\n margin: ${({ theme }) => theme.spacing.xs} 0;\n\n &:last-child {\n margin-bottom: 0;\n }\n`;\n\ninterface CountryFieldType {\n name: string;\n values: any;\n onChange?: ChangeEventHandler;\n handleChange: ChangeEventHandler;\n isUKOnly: boolean;\n}\n\nconst CountryField = ({\n onChange,\n handleChange,\n name,\n values,\n isUKOnly,\n}: CountryFieldType): ReactElement => {\n const [selectedValue, setSelectedValue] = useState(values[name]);\n\n useEffect(() => {\n setSelectedValue(values[name]);\n }, [name, values]);\n\n return (\n \n \n {({ field }: FieldProps): ReactElement => (\n ): void => {\n if (onChange) onChange(e);\n handleChange(e);\n setSelectedValue(e.target.value);\n }}\n >\n {isUKOnly ? (\n \n ) : (\n countries.map((country: string) => (\n \n ))\n )}\n \n )}\n \n \n );\n};\n\nexport default CountryField;\n","// DEPENDENCIES\nimport React, {\n ChangeEvent,\n ReactElement,\n useContext,\n useEffect,\n useRef,\n useState,\n} from \"react\";\nimport { Field, FieldProps } from \"formik\";\nimport styled from \"styled-components\";\nimport { Button, TextField, Select, Box } from \"@cruk/cruk-react-components\";\n\n// DATA\nimport countries from \"../data/countries\";\n\n// HELPERS\nimport { FormPropsType, SelectOptionsType } from \"../helpers/types/shared\";\nimport useDataLayer from \"../helpers/useDataLayer\";\nimport { isNonMainlandPostcode } from \"../helpers/functions/shared\";\n\n// COMPONENTS\nimport CountryField from \"./CountryField\";\nimport FieldErrorMessage from \"./FieldErrorMessage\";\n\n// CONTEXTS\nimport FormNameContext from \"../contexts/FormNameContext\";\n\n// STYLES\nimport { InputsLayoutWrapper, ButtonLink } from \"./styles\";\n\ninterface AddressLookupType extends FormPropsType {\n label: string;\n inputSet: string;\n value: string;\n values: any;\n hintText?: string;\n addressLookupErrorText?: string;\n updateAddressLookupErrorText?: (text: string) => void;\n isUKOnly?: boolean;\n}\n// TODO: use shared type from PWS-2287\ntype OptionsType = {\n value: string;\n label: string;\n};\n\ntype AddressItemType = {\n Description: string;\n Highlight: string;\n Type: string;\n Id: string;\n Text: string;\n};\n\n// TODO: use shared handler from PWS-2287\nconst getOptions = (\n options: Array,\n defaultSelectOption?: string\n) => (\n <>\n \n {options.map((option: SelectOptionsType) => (\n \n {option.label}\n \n ))}\n \n);\n\nconst ScreenReaderOnly = styled.div`\n border: 0px;\n clip: rect(0px, 0px, 0px, 0px);\n height: 1px;\n margin-bottom: -1px;\n margin-right: -1px;\n overflow: hidden;\n padding: 0px;\n position: absolute;\n white-space: nowrap;\n width: 1px;\n`;\n\nconst inputs = [\n {\n value: \"addressLine1\",\n label: \"Address line 1\",\n required: true,\n },\n {\n value: \"addressLine2\",\n label: \"Address line 2\",\n },\n {\n value: \"addressLine3\",\n label: \"Address line 3\",\n },\n {\n value: \"city\",\n label: \"Town/City\",\n required: true,\n },\n];\n\nconst billingInputs = [\n {\n value: \"billingAddressLine1\",\n label: \"Address line 1\",\n required: true,\n },\n {\n value: \"billingAddressLine2\",\n label: \"Address line 2\",\n },\n {\n value: \"billingAddressLine3\",\n label: \"Address line 3\",\n },\n {\n value: \"billingCity\",\n label: \"Town/City\",\n required: true,\n },\n];\n\nconst postcodeInput = [\n {\n value: \"postalCode\",\n label: \"Postcode\",\n required: true,\n },\n];\n\nconst billingPostcodeInput = [\n {\n value: \"billingPostalCode\",\n label: \"Postcode\",\n required: true,\n },\n];\n\nconst AddressLookup = ({\n errors,\n handleBlur,\n handleChange,\n touched,\n setFieldValue,\n setFieldTouched,\n value,\n label,\n inputSet,\n values,\n hintText,\n addressLookupErrorText,\n updateAddressLookupErrorText,\n isUKOnly,\n}: AddressLookupType): ReactElement => {\n const FIND_URL =\n \"https://api.addressy.com/Capture/Interactive/Find/v1.1/json3.ws\";\n const RETRIEVE_URL =\n \"https://api.addressy.com/Capture/Interactive/Retrieve/v1/json3.ws\";\n const apiKey = process.env.LOQATE_KEY || \"MG17-ZD93-FF33-KF13\";\n const [addressOptions, setAddressOptions] = useState([]);\n const [activeOption, setActiveOption] = useState(\"\");\n const [addressFieldsVisible, setAddressFieldsVisible] = useState(false);\n const [manualFieldsVisible, setManualFieldsVisible] = useState(false);\n const [addressSearchStatus, setAddressSearchStatus] = useState(\"\"); // \"\" | \"manual\" | \"retrieve\" | \"search\"\n const { pushInteraction, pushError } = useDataLayer();\n const loqateCountries = [\n {\n name: \"United Kingdom\",\n code: \"GBR\",\n },\n {\n name: \"Jersey\",\n code: \"JEY\",\n },\n {\n name: \"Guernsey\",\n code: \"GGY\",\n },\n {\n name: \"Isle of Man\",\n code: \"IMN\",\n },\n ];\n const countriesList = isUKOnly\n ? \"GBR\"\n : Object.keys(loqateCountries)\n .map(\n (i) =>\n // @ts-expect-error\n loqateCountries[i].code\n )\n .join(\",\");\n const fieldSet = manualFieldsVisible\n ? inputSet === \"home\"\n ? [...inputs, ...postcodeInput]\n : [...billingInputs, ...billingPostcodeInput]\n : inputSet === \"home\"\n ? inputs\n : billingInputs;\n const buttonRef = useRef(null);\n const formName = useContext(FormNameContext);\n\n useEffect(() => {\n if (sessionStorage.getItem(`formData-${formName}`) !== null) {\n const formDataFromStorage = JSON.parse(\n sessionStorage.getItem(`formData-${formName}`)\n );\n\n if (inputSet === \"home\") {\n const addressSearchStatusFromStorage =\n formDataFromStorage.addressSearchStatus;\n if (addressSearchStatus !== addressSearchStatusFromStorage) {\n setAddressSearchStatus(addressSearchStatusFromStorage);\n }\n } else {\n const billingAddressSearchStatusFromStorage =\n formDataFromStorage.billingAddressSearchStatus;\n if (addressSearchStatus !== billingAddressSearchStatusFromStorage) {\n setAddressSearchStatus(billingAddressSearchStatusFromStorage);\n }\n }\n }\n }, []);\n\n useEffect(() => {\n if (inputSet === \"home\") {\n setFieldValue(\"addressSearchStatus\", addressSearchStatus);\n } else {\n setFieldValue(\"billingAddressSearchStatus\", addressSearchStatus);\n }\n\n addressSearchStatus === \"retrieve\"\n ? setAddressFieldsVisible(true)\n : setAddressFieldsVisible(false);\n addressSearchStatus === \"manual\"\n ? setManualFieldsVisible(true)\n : setManualFieldsVisible(false);\n }, [addressSearchStatus]);\n\n useEffect(() => {\n if (!activeOption) return;\n retrieve(activeOption);\n }, [activeOption]);\n\n const clearOptions = () => {\n setActiveOption(\"\");\n setAddressOptions([]);\n };\n\n // write a helper function to check if first two characters of a string parameter is 'IM', 'JE' or 'GG'\n const isChannelIslands = (address: string) => isNonMainlandPostcode(address);\n\n const search = (query: string, countryCode: string, id = \"\") => {\n if (query?.length === 0) return setAddressOptions([]);\n fetch(\n `${FIND_URL}?Key=${apiKey}&Text=${query}&Container=${id}&Countries=${countryCode}`\n )\n .then((res: Response) => {\n if (!res.ok) {\n console.error(\"Error\", \"Something went wrong please try again\");\n }\n return res.json();\n })\n .then((data) => {\n if (isUKOnly) {\n // isUKOnly is used for Gift Aid forms - allow lookup for mainland only\n if (data.Items[0].Type === \"Postcode\") {\n const addressesArray = data.Items.map(\n (item: AddressItemType) => item.Text\n );\n if (isChannelIslands(addressesArray[0])) {\n updateAddressLookupErrorText(\n \"Please provide a UK mainland address\"\n );\n return clearOptions();\n }\n } else {\n const addressArray = data.Items[0].Description.split(\",\");\n const postcodeString = addressArray[addressArray.length - 1].trim();\n if (!isChannelIslands(postcodeString)) {\n updateAddressLookupErrorText(\"\");\n } else {\n updateAddressLookupErrorText(\n \"Please provide a UK mainland address\"\n );\n return clearOptions();\n }\n }\n }\n\n setAddressSearchStatus(\"search\");\n // Occasionally get the error \"The query didn't respond fast enough, it may be too complex.\"\n // returned with a 200 response. Example query \"n17 6t\"\n if (data.Items[0] && data.Items[0].Error) {\n return console.error(data.Items[0]);\n }\n\n if (data.Items[0].Type === \"Postcode\") {\n search(\n inputSet === \"home\" ? values.postalCode : values.billingPostalCode,\n countriesList,\n data.Items[0].Id\n );\n } else {\n const addressesArray = [];\n for (let i = 0; i < data.Items.length; i += 1) {\n const keyValueObject = {\n value: \"\",\n label: \"\",\n data: \"\",\n };\n keyValueObject.value = data.Items[i].Id;\n keyValueObject.data = data.Items[i].Type;\n const itemText = data.Items[i].Text as string;\n const itemDesc = data.Items[i].Description as string;\n if ((itemText + itemDesc).length < 90) {\n keyValueObject.label = `${data.Items[i].Text}, ${data.Items[i].Description}`; // eslint-disable-line @typescript-eslint/restrict-template-expressions\n } else {\n keyValueObject.label = data.Items[i].Text;\n }\n addressesArray.push(keyValueObject);\n }\n\n setAddressOptions(addressesArray);\n setActiveOption(\"\");\n }\n })\n .catch((err) => console.error(err));\n };\n\n const retrieve = (id: string) => {\n fetch(`${RETRIEVE_URL}?Key=${apiKey}&Id=${id}`)\n .then((res: Response) => {\n if (!res.ok) {\n console.error(\"Error\", \"Something went wrong please try again\");\n }\n return res.json();\n })\n .then((data) => {\n setAddressSearchStatus(\"retrieve\");\n let field3 = data.Items[0].Line3;\n if (data.Items[0].Line4) field3 += `, ${data.Items[0].Line4}`; // eslint-disable-line @typescript-eslint/restrict-template-expressions\n if (data.Items[0].Line5) field3 += `, ${data.Items[0].Line5}`; // eslint-disable-line @typescript-eslint/restrict-template-expressions\n clearOptions();\n if (inputSet === \"home\") {\n data.Items[0].Company\n ? setFieldValue(\n \"addressLine1\",\n `${data.Items[0].Company}, ${data.Items[0].Line1}` // eslint-disable-line @typescript-eslint/restrict-template-expressions\n )\n : setFieldValue(\"addressLine1\", data.Items[0].Line1);\n setFieldValue(\"addressLine2\", data.Items[0].Line2);\n setFieldValue(\"addressLine3\", field3);\n setFieldValue(\"city\", data.Items[0].City);\n setFieldValue(\"postalCode\", data.Items[0].PostalCode);\n if (countries.includes(data.Items[0].CountryName))\n setFieldValue(\"country\", data.Items[0].CountryName);\n setFieldValue(\"validationStatus\", \"VB\");\n } else {\n data.Items[0].Company\n ? setFieldValue(\n \"billingAddressLine1\",\n `${data.Items[0].Company}, ${data.Items[0].Line1}` // eslint-disable-line @typescript-eslint/restrict-template-expressions\n )\n : setFieldValue(\"billingAddressLine1\", data.Items[0].Line1);\n setFieldValue(\"billingAddressLine2\", data.Items[0].Line2);\n setFieldValue(\"billingAddressLine3\", field3);\n setFieldValue(\"billingCity\", data.Items[0].City);\n setFieldValue(\"billingPostalCode\", data.Items[0].PostalCode);\n if (countries.includes(data.Items[0].CountryName))\n setFieldValue(\"billingCountry\", data.Items[0].CountryName);\n }\n })\n .catch((err) => console.error(err));\n };\n\n return (\n <>\n {!manualFieldsVisible ? (\n <>\n \n {({ field }: FieldProps): ReactElement => {\n const id = field.name;\n const fieldTouched = touched[id];\n const fieldError = errors[id];\n return (\n \n {\n handleBlur(e);\n }}\n onChange={(e: ChangeEvent) => {\n if (\n addressSearchStatus === \"retrieve\" ||\n addressSearchStatus === \"search\"\n ) {\n setAddressSearchStatus(\"\");\n setAddressOptions([]);\n fieldSet.forEach((fieldName) =>\n setFieldValue(fieldName.value, \"\")\n );\n inputSet === \"home\"\n ? setFieldValue(\"addressSelection\", \"\")\n : setFieldValue(\"billingAddressSelection\", \"\");\n }\n if (inputSet === \"home\")\n setFieldValue(\"validationStatus\", \"NV\");\n handleChange(e);\n }}\n onKeyDown={(e: React.KeyboardEvent) => {\n if (e.code === \"Enter\") {\n e.preventDefault();\n buttonRef.current.click();\n }\n return true;\n }}\n hintText={hintText || \"\"}\n />\n \n );\n }}\n \n \n {!!addressOptions.length &&\n `We have found ${addressOptions.length} result${\n addressOptions.length !== 1 && \"s\"\n } matching your search. Use the select dropdown to choose your address.`}\n {addressSearchStatus === \"retrieve\" &&\n `Your address selection has been applied.`}\n \n \n {\n if (updateAddressLookupErrorText)\n updateAddressLookupErrorText(\"\");\n inputSet === \"home\"\n ? setFieldValue(\"addressSelection\", \"\")\n : setFieldValue(\"billingAddressSelection\", \"\");\n if (!errors[value]) {\n search(values[value], countriesList, \"\");\n fieldSet.forEach((field) => setFieldValue(field.value, \"\"));\n }\n const setPostcodeTouched =\n inputSet === \"home\"\n ? setFieldTouched(\"postalCode\")\n : setFieldTouched(\"billingPostalCode\");\n setPostcodeTouched.catch((error: any) => console.error(error));\n pushInteraction(\n `Find ${\n inputSet === \"home\" ? \"address\" : \"billing address\"\n } button`,\n \"clicked\"\n );\n }}\n >\n Find address\n \n \n
\n {addressLookupErrorText}\n
\n {addressOptions.length > 0 ||\n values[\n inputSet === \"home\"\n ? \"addressSearchStatus\"\n : \"billingAddressSearchStatus\"\n ] === \"search\" ? (\n \n {({ field }: FieldProps): ReactElement => {\n const fieldError = errors[field.name] as string;\n const hasError = fieldError !== undefined;\n const fieldTouched = touched[field.name];\n const fieldName = field.name;\n return (\n \n \n {\n handleBlur(e);\n if (fieldError)\n pushError(\n \"\",\n \"validation\",\n `${fieldName}: ${fieldError}`\n );\n }}\n onChange={(e): void => {\n pushInteraction(\n `${\n inputSet === \"home\"\n ? \"Address\"\n : \"Billing address\"\n } selection`,\n \"selected\"\n );\n handleChange(e);\n if (\n e.target.options[\n e.target.selectedIndex\n ].dataset.option.toLowerCase() !== \"address\"\n ) {\n search(\n values.postalCode,\n countriesList,\n e.target.value\n );\n setFieldValue(field.name, \"\");\n } else {\n setActiveOption(e.target.value);\n }\n }}\n >\n {getOptions(addressOptions, \"Select address\")}\n \n \n \n );\n }}\n \n ) : (\n \"\"\n )}\n \n ) : (\n \"\"\n )}\n\n {!addressFieldsVisible && !manualFieldsVisible ? (\n <>\n

\n To enter address manually{\" \"}\n {!isUKOnly ? \"or to enter an address outside the UK, \" : \"\"}use the\n link below\n

\n {\n if (updateAddressLookupErrorText)\n updateAddressLookupErrorText(\"\");\n setAddressFieldsVisible(true);\n setManualFieldsVisible(true);\n setAddressSearchStatus(\"manual\");\n pushInteraction(\n `Enter ${\n inputSet === \"home\" ? \"address\" : \"billing address\"\n } manually`,\n \"clicked\"\n );\n }}\n >\n Enter address manually\n \n \n ) : (\n \"\"\n )}\n\n {addressFieldsVisible || manualFieldsVisible ? (\n <>\n {fieldSet.map((input, index) => (\n \n {({ field }: FieldProps): React.ReactElement => {\n const id = `${field.name}`;\n const fieldTouched = touched[id];\n const fieldError = errors[id] as string;\n\n return (\n \n \n {\n handleBlur(e);\n if (fieldError)\n pushError(\n \"\",\n \"validation\",\n `${field.name}: ${fieldError}`\n );\n }}\n onChange={(e) => {\n if (inputSet === \"home\") {\n setFieldValue(\"validationStatus\", \"NV\");\n }\n handleChange(e);\n }}\n />\n \n \n );\n }}\n \n ))}\n \n {\n if (inputSet === \"home\")\n setFieldValue(\"validationStatus\", \"NV\");\n handleChange(e);\n }}\n isUKOnly={isUKOnly}\n />\n \n \n ) : (\n \"\"\n )}\n \n );\n};\n\nexport default AddressLookup;\n","import React, { PropsWithChildren, ReactElement, ReactNode } from \"react\";\nimport styled from \"styled-components\";\n\nconst Error = styled.p`\n display: block;\n width: 100%;\n color: ${({ theme }) => theme.colors.textError};\n margin: ${({ theme }) => theme.spacing.xxs} 0 0;\n font-weight: bold;\n\n &:empty {\n margin: 0;\n }\n`;\n\nconst FieldErrorMessage = ({\n children,\n}: PropsWithChildren<{ children?: ReactNode }>): ReactElement => (\n {children}\n);\n\nexport default FieldErrorMessage;\n","import { useEffect, ReactElement } from \"react\";\nimport { datadogRum } from \"@datadog/browser-rum\";\nimport useDataLayer from \"../helpers/useDataLayer\";\nimport { FormPropsType } from \"../helpers/types/shared\";\n\nconst FocusError = ({\n errors,\n touched,\n isSubmitting,\n isValidating,\n}: FormPropsType): ReactElement | null => {\n const { pushError } = useDataLayer();\n\n useEffect(() => {\n const sendError = (fieldName: string, fieldError: string) => {\n pushError(\"\", \"validation\", `${fieldName}: ${fieldError}`);\n };\n\n const errorFields = Object.keys(errors);\n errorFields.forEach((field) => {\n if (typeof errors[field] !== \"object\" && touched[field]) {\n sendError(field, errors[field]);\n }\n });\n }, [errors, touched]);\n\n useEffect(() => {\n if (isSubmitting && !isValidating) {\n const keys = Object.keys(errors);\n if (keys.length > 0 && isSubmitting && !isValidating) {\n pushError(\"\", \"navigation\", JSON.stringify(errors));\n datadogRum.addError(\"Navigation error\", { errors });\n\n const focusElements = keys\n .map((key) => ({\n fieldset: document.querySelector(\n `fieldset[aria-describedby=\"${key}-error\"]`\n ),\n key,\n }))\n .map(({ fieldset, key }) =>\n fieldset !== null\n ? fieldset\n : document.querySelector(`[name=\"${key}\"]`)\n )\n .filter(\n (element) =>\n element !== null &&\n element.offsetWidth > 0 &&\n element.offsetHeight > 0\n )\n .map((element) => ({\n errorElement: element,\n labelElement: document.querySelector(\n `label[for=\"${element.id}\"]`\n ),\n }))\n .map(({ errorElement, labelElement }) =>\n labelElement !== null &&\n labelElement.offsetWidth > 0 &&\n labelElement.offsetHeight > 0\n ? { element: labelElement, isField: false }\n : { element: errorElement, isField: true }\n );\n\n if (focusElements.length > 0) {\n const firstError = focusElements[0];\n if (firstError.isField) {\n firstError.element.focus({ preventScroll: true });\n }\n firstError.element.scrollIntoView({\n behavior: \"smooth\",\n block: \"center\",\n });\n }\n }\n }\n }, [errors, isSubmitting, isValidating]);\n\n return null;\n};\n\nexport default FocusError;\n","import React, { PropsWithChildren, ReactNode, ReactElement } from \"react\";\nimport styled from \"styled-components\";\n\nconst FormFieldsStyled = styled.div`\n margin: 0 auto;\n\n @media (min-width: ${({ theme }) => theme.breakpoint.tablet}) {\n width: 70%;\n }\n`;\n\nconst FormFields = ({\n children,\n}: PropsWithChildren<{ children?: ReactNode }>): ReactElement => (\n {children}\n);\n\nexport default FormFields;\n","import React, { FormHTMLAttributes, ReactElement } from \"react\";\nimport styled from \"styled-components\";\nimport { ThemeType } from \"@cruk/cruk-react-components\";\n\ntype FormGroupTypes = FormHTMLAttributes> & {\n topborder?: boolean;\n noborder?: boolean;\n children: ReactElement;\n};\n\ntype FormGroupBorderTypes = FormGroupTypes & {\n theme: ThemeType;\n};\n\nconst FormGroupStyled = styled.div`\n max-width: ${({ theme }) => theme.utilities.contentMaxWidth};\n margin: 0 auto;\n padding: ${({ theme }) => theme.spacing.m} 0;\n border-bottom: 0;\n border-bottom: ${({ noborder, theme }: FormGroupBorderTypes) =>\n `${noborder ? \"0\" : \"1px\"} solid ${theme.tokenColors.grey_900} `};\n border-top: ${({ topborder, theme }: FormGroupBorderTypes) =>\n `${topborder ? \"1px\" : \"0\"} solid ${theme.tokenColors.grey_900} `};\n`;\n\nconst FormGroup = ({\n noborder,\n topborder,\n children,\n}: FormGroupTypes): ReactElement => (\n \n {children}\n \n);\n\nexport default FormGroup;\n"],"names":["e","t","n","theme","colors","backgroundLight","selectBackground","o","r","hasError","errorMessage","concat","utilities","inputBorderWidth","textError","textInputBorder","textDark","fontSizes","m","typography","lineHeight","spacing","xs","disabled","useDefaultFocusRect","tertiary","l","c","p","required","u","label","b","hintText","f","hideRequiredInLabel","h","x","E","ref","id","marginTop","SelectContainer","styled","onChange","handleChange","name","values","isUKOnly","useState","selectedValue","setSelectedValue","useEffect","field","Select","value","target","countries","country","ScreenReaderOnly","inputs","billingInputs","postcodeInput","billingPostcodeInput","errors","handleBlur","touched","setFieldValue","setFieldTouched","inputSet","addressLookupErrorText","updateAddressLookupErrorText","FIND_URL","apiKey","process","addressOptions","setAddressOptions","activeOption","setActiveOption","addressFieldsVisible","setAddressFieldsVisible","manualFieldsVisible","setManualFieldsVisible","addressSearchStatus","setAddressSearchStatus","useDataLayer","pushInteraction","pushError","loqateCountries","code","countriesList","Object","keys","map","i","join","fieldSet","buttonRef","useRef","formName","useContext","FormNameContext","sessionStorage","getItem","formDataFromStorage","JSON","parse","addressSearchStatusFromStorage","billingAddressSearchStatusFromStorage","billingAddressSearchStatus","retrieve","clearOptions","isChannelIslands","address","isNonMainlandPostcode","search","query","countryCode","length","fetch","then","res","ok","console","error","json","data","Items","Type","addressesArray","item","Text","addressArray","Description","split","postcodeString","trim","Error","postalCode","billingPostalCode","Id","keyValueObject","itemText","itemDesc","push","err","field3","Line3","Line4","Line5","Company","Line1","Line2","City","PostalCode","CountryName","fieldTouched","fieldError","TextField","undefined","isValidVisible","isValid","onBlur","forEach","fieldName","onKeyDown","preventDefault","current","click","role","Box","marginBottom","Button","type","appearance","onClick","FieldErrorMessage","options","defaultSelectOption","selectedIndex","dataset","option","toLowerCase","input","index","paddingBottom","xxs","children","isSubmitting","isValidating","stringify","datadogRum","focusElements","key","fieldset","document","querySelector","filter","element","offsetWidth","offsetHeight","errorElement","labelElement","isField","firstError","focus","preventScroll","scrollIntoView","behavior","block","FormFieldsStyled","breakpoint","tablet","FormGroupStyled","contentMaxWidth","noborder","tokenColors","grey_900","topborder"],"sourceRoot":""}