@roomstay/frontend 1.5.6 → 1.5.7
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/103.bundle.js +1 -0
- package/dist/main.bundle.js +1 -1
- package/dist/src/components/steps/confirmation/RoomContactDetails.js +2 -1
- package/dist/src/components/steps/confirmation/RoomContactDetails.js.map +1 -1
- package/dist/src/util/Validation.d.ts +1 -0
- package/dist/src/util/Validation.js +5 -0
- package/dist/src/util/Validation.js.map +1 -0
- package/dist/test.bundle.js +1 -1
- package/dist/vendors.bundle.js +1 -1
- package/package.json +1 -1
- package/dist/876.bundle.js +0 -1
|
@@ -31,6 +31,7 @@ const AutoAutoHeight_1 = require("../../../animations/AutoAutoHeight");
|
|
|
31
31
|
const DataLayer_1 = require("../../../util/DataLayer");
|
|
32
32
|
const EnhancedPhoneNumberField_1 = require("../../generic/custom/EnhancedPhoneNumberField/EnhancedPhoneNumberField");
|
|
33
33
|
const E164PhoneNumberFieldFeature_1 = require("../../../providers/feature/E164PhoneNumberFieldFeature");
|
|
34
|
+
const Validation_1 = require("../../../util/Validation");
|
|
34
35
|
function RoomContactDetails(props) {
|
|
35
36
|
const { register, formState, getValues, control } = react_hook_form_1.useFormContext();
|
|
36
37
|
const errors = formState.errors;
|
|
@@ -149,7 +150,7 @@ function RoomContactDetails(props) {
|
|
|
149
150
|
message: t(Translation_1.Translation.Step.Confirmation.Inputs.Required, { field: t(Translation_1.Translation.Step.Confirmation.Inputs.Email) }),
|
|
150
151
|
},
|
|
151
152
|
pattern: {
|
|
152
|
-
value:
|
|
153
|
+
value: Validation_1.EMAIL_REGEX,
|
|
153
154
|
message: t(Translation_1.Translation.Step.Confirmation.Inputs.InvalidEmail),
|
|
154
155
|
},
|
|
155
156
|
}))),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RoomContactDetails.js","sourceRoot":"/","sources":["src/components/steps/confirmation/RoomContactDetails.tsx"],"names":[],"mappings":"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","sourcesContent":["import * as React from 'react';\nimport Text from '../../generic/Text';\nimport InputGroup from '../../generic/InputGroup/InputGroup';\nimport TextBox from '../../generic/TextBox';\nimport { TextType } from '../../generic/Text';\nimport { Translation } from '../../../translations/Translation';\nimport { useTranslation } from 'react-i18next';\nimport { useState } from 'react';\nimport Headline from '../../generic/Headline';\nimport Icon, { IconType } from '../../generic/Icon';\nimport { Color } from '../../../util/Color';\nimport StepConfirmationCountrySelector from './StepConfirmationCountrySelector';\nimport BasketRow from '../../../models/BasketRow';\nimport StringHelper from '../../../util/StringHelper';\nimport LineBreak from '../../generic/LineBreak';\n\nimport { useFormContext, Controller } from 'react-hook-form';\nimport Alert, { AlertType } from '../../generic/Alert';\nimport AutoAutoHeight from '../../../animations/AutoAutoHeight';\nimport DataLayer, { InteractionStep, InteractionType } from '../../../util/DataLayer';\nimport { EnhancedPhoneNumberField } from '../../generic/custom/EnhancedPhoneNumberField/EnhancedPhoneNumberField';\nimport E164PhoneNumberFieldFeature from '../../../providers/feature/E164PhoneNumberFieldFeature';\n\nexport interface RoomContactDetailsProps {\n roomNumber: number;\n basketRow: BasketRow;\n\n showErrors?: boolean;\n expandable?: boolean;\n}\n\nexport default function RoomContactDetails(props: RoomContactDetailsProps) {\n const { register, formState, getValues, control } = useFormContext();\n const errors = formState.errors;\n\n const { t } = useTranslation();\n\n const [isOpen, setIsOpen] = useState(props.roomNumber === 1);\n const row = props.basketRow;\n\n const hasErrors =\n Object.keys(errors)\n .join('')\n .indexOf('' + props.roomNumber) !== -1;\n\n const getValidationClass = (name: string) => {\n const paddedName = padInputName(name);\n\n if (errors && (formState.touchedFields[paddedName] || props.showErrors)) {\n if (errors[paddedName]) {\n return 'error';\n } else {\n return 'success';\n }\n } else {\n return null;\n }\n };\n\n if (hasErrors && !isOpen) {\n setIsOpen(true);\n }\n\n const padInputName = (name: string) => {\n return `${name}${props.roomNumber}`;\n };\n\n const inputValues = Object.keys(getValues());\n const openExpandable = () => {\n if (props.expandable) setIsOpen(!isOpen);\n };\n const setForename = () => {\n DataLayer.instance.sendInteraction('Forename - Contact Info', InteractionType.FORM_FIELD, InteractionStep.GUEST_DETAILS);\n };\n const setSurname = () => {\n DataLayer.instance.sendInteraction('Surname - Contact Info', InteractionType.FORM_FIELD, InteractionStep.GUEST_DETAILS);\n };\n const setEmail = () => {\n DataLayer.instance.sendInteraction('Email - Contact Info', InteractionType.FORM_FIELD, InteractionStep.GUEST_DETAILS);\n };\n const setPhone = () => {\n DataLayer.instance.sendInteraction('Phone - Contact Info', InteractionType.FORM_FIELD, InteractionStep.GUEST_DETAILS);\n };\n const setAddress = () => {\n DataLayer.instance.sendInteraction('Address - Address', InteractionType.FORM_FIELD, InteractionStep.GUEST_DETAILS);\n };\n const setCity = () => {\n DataLayer.instance.sendInteraction('City - Address', InteractionType.FORM_FIELD, InteractionStep.GUEST_DETAILS);\n };\n const setPostCode = () => {\n DataLayer.instance.sendInteraction('PostCode - Address', InteractionType.FORM_FIELD, InteractionStep.GUEST_DETAILS);\n };\n const setCountry = (event: any) => {\n DataLayer.instance.sendInteraction('Country - Address', InteractionType.FORM_FIELD, InteractionStep.GUEST_DETAILS);\n };\n\n return (\n <>\n <div className=\"u-marg-bottom\" onClick={openExpandable}>\n <div className=\"u-flex u-marg-bottom align-items-center\">\n <Headline bold={true}>\n {t(Translation.Misc.Room)} {props.roomNumber}\n </Headline>\n {props.expandable && <Icon icon={isOpen ? IconType.ArrowDown2 : IconType.ArrowUp2} color={Color.Grey} />}\n </div>\n <div className=\"u-marg-bottom\">\n <Text>\n <strong className=\"u-block@l-\">{row.getRoom().name}</strong> for {StringHelper.pluralWithDictAndCount(row.getAdults(), Translation.Step.Date.Adult, t)}\n , \n {StringHelper.pluralWithDictAndCount(row.getChildren(), Translation.Step.Date.Child, t)}\n </Text>\n <div className=\"step-one-status--dates u-flex justify-content-start\">\n <Text type={TextType.Small} color={Color.Accent}>\n <strong>{row.getStartDate().format('ddd, MMM D')}</strong>\n </Text>\n <Icon icon={IconType.ArrowRight2} size={'18px'} />\n <Text type={TextType.Small} color={Color.Accent}>\n <strong>{row.getEndDate().format('ddd, MMM D')}</strong>\n </Text>\n </div>\n </div>\n {inputValues.map((error, index: number) => {\n if (error.endsWith(`${props.roomNumber}`)) {\n let errorMessage = errors[error]?.message ?? '';\n errorMessage = errorMessage ? errorMessage : error.replace(`${props.roomNumber}`, '') + ' is required';\n\n return (\n <AutoAutoHeight key={error} open={props.showErrors && hasErrors && !!errors[error]}>\n <div className=\"u-flex\">\n <Alert icon={IconType.Error} type={AlertType.Danger} noMargin={index === inputValues.length - 1}>\n <Text type={TextType.Small}>{errorMessage}</Text>\n </Alert>\n </div>\n </AutoAutoHeight>\n );\n }\n })}\n </div>\n <div className=\"room-contact-details--row\" style={{ maxHeight: isOpen ? '' : 0 }}>\n <div className=\"u-marg-bottom--heavy\">\n <div className=\"u-marg-bottom--light\">\n <Text type={TextType.Small}>\n <strong>{t(Translation.Step.Confirmation.ContactInfo)}</strong>\n </Text>\n </div>\n <InputGroup dimensions=\"2/2\">\n <TextBox\n placeholder={t(Translation.Step.Confirmation.Inputs.Forename) + ' *'}\n wide={true}\n required={true}\n validationStatus={getValidationClass('Forename')}\n {...register(padInputName('Forename'), {\n onChange: setForename,\n required: {\n value: true,\n message: t(Translation.Step.Confirmation.Inputs.Required, { field: t(Translation.Step.Confirmation.Inputs.Forename) }),\n },\n })}\n />\n <TextBox\n placeholder={t(Translation.Step.Confirmation.Inputs.Surname) + ' *'}\n wide={true}\n required={true}\n validationStatus={getValidationClass('Surname')}\n {...register(padInputName('Surname'), {\n onChange: setSurname,\n required: {\n value: true,\n message: t(Translation.Step.Confirmation.Inputs.Required, { field: t(Translation.Step.Confirmation.Inputs.Surname) }),\n },\n })}\n />\n </InputGroup>\n\n <InputGroup dimensions={'2/2'}>\n <TextBox\n placeholder={t(Translation.Step.Confirmation.Inputs.Email) + ' *'}\n wide={true}\n validationStatus={getValidationClass('Email')}\n required={true}\n {...register(padInputName('Email'), {\n onChange: setEmail,\n required: {\n value: true,\n message: t(Translation.Step.Confirmation.Inputs.Required, { field: t(Translation.Step.Confirmation.Inputs.Email) }),\n },\n pattern: {\n value: /^[A-Z0-9._%+-]+@[A-Z0-9.-]+\\.[A-Z]{2,4}$/i,\n message: t(Translation.Step.Confirmation.Inputs.InvalidEmail),\n },\n })}\n />\n {E164PhoneNumberFieldFeature.isActive() ? (\n <Controller\n control={control}\n name={padInputName('Phone')}\n rules={{\n required: {\n value: true,\n message: t(Translation.Step.Confirmation.Inputs.Required, { field: t(Translation.Step.Confirmation.Inputs.Phone) }),\n },\n minLength: {\n value: 5,\n message: 'Phone number is required',\n },\n maxLength: {\n value: 17,\n message: 'Phone number is too long',\n },\n pattern: {\n value: /^[1-9](\\ |\\d){1,15}$/g,\n message: 'Incorrect phone number entered',\n },\n }}\n render={({ field, fieldState }) => {\n return (\n <EnhancedPhoneNumberField\n validationStatus={getValidationClass('Phone')}\n {...field}\n onChange={(e) => {\n field.onChange(e);\n setPhone();\n }}\n />\n );\n }}\n />\n ) : (\n <TextBox\n placeholder={t(Translation.Step.Confirmation.Inputs.Phone) + ' *'}\n wide={true}\n required={true}\n validationStatus={getValidationClass('Phone')}\n {...register(padInputName('Phone'), {\n onChange: setPhone,\n required: {\n value: true,\n message: t(Translation.Step.Confirmation.Inputs.Required, { field: t(Translation.Step.Confirmation.Inputs.Phone) }),\n },\n })}\n />\n )}\n </InputGroup>\n </div>\n <div className=\"\">\n <div className=\"u-marg-bottom--light\">\n <Text type={TextType.Small}>\n <strong>{t(Translation.Step.Confirmation.Address)}</strong>\n </Text>\n </div>\n\n <InputGroup dimensions={'3/1'}>\n <TextBox\n placeholder={t(Translation.Step.Confirmation.Inputs.Address) + ' *'}\n wide={true}\n required={true}\n validationStatus={getValidationClass('Address')}\n {...register(padInputName('Address'), {\n onChange: setAddress,\n required: {\n value: true,\n message: t(Translation.Step.Confirmation.Inputs.Required, { field: t(Translation.Step.Confirmation.Inputs.Address) }),\n },\n })}\n />\n <TextBox\n placeholder={t(Translation.Step.Confirmation.Inputs.City) + ' *'}\n wide={true}\n required={true}\n validationStatus={getValidationClass('City')}\n {...register(padInputName('City'), {\n onChange: setCity,\n required: {\n value: true,\n message: t(Translation.Step.Confirmation.Inputs.Required, { field: t(Translation.Step.Confirmation.Inputs.City) }),\n },\n })}\n />\n </InputGroup>\n <InputGroup dimensions={'2/2'}>\n <TextBox\n placeholder={t(Translation.Step.Confirmation.Inputs.PostCode) + ' *'}\n wide={true}\n required={true}\n validationStatus={getValidationClass('PostCode')}\n {...register(padInputName('PostCode'), {\n onChange: setPostCode,\n required: {\n value: true,\n message: t(Translation.Step.Confirmation.Inputs.Required, { field: t(Translation.Step.Confirmation.Inputs.PostCode) }),\n },\n })}\n />\n <Controller\n control={control}\n name={padInputName('Country')}\n rules={{\n required: {\n value: true,\n message: t(Translation.Step.Confirmation.Inputs.Required, { field: t(Translation.Step.Confirmation.Inputs.Country) }),\n },\n }}\n render={({ field }) => {\n const { ref, ...rest } = field;\n return <StepConfirmationCountrySelector validationStatus={getValidationClass('Country')} {...rest} defaultValue={null} />;\n }}\n />\n </InputGroup>\n </div>\n </div>\n <LineBreak />\n </>\n );\n}\n"]}
|
|
1
|
+
{"version":3,"file":"RoomContactDetails.js","sourceRoot":"/","sources":["src/components/steps/confirmation/RoomContactDetails.tsx"],"names":[],"mappings":"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","sourcesContent":["import * as React from 'react';\nimport Text from '../../generic/Text';\nimport InputGroup from '../../generic/InputGroup/InputGroup';\nimport TextBox from '../../generic/TextBox';\nimport { TextType } from '../../generic/Text';\nimport { Translation } from '../../../translations/Translation';\nimport { useTranslation } from 'react-i18next';\nimport { useState } from 'react';\nimport Headline from '../../generic/Headline';\nimport Icon, { IconType } from '../../generic/Icon';\nimport { Color } from '../../../util/Color';\nimport StepConfirmationCountrySelector from './StepConfirmationCountrySelector';\nimport BasketRow from '../../../models/BasketRow';\nimport StringHelper from '../../../util/StringHelper';\nimport LineBreak from '../../generic/LineBreak';\n\nimport { useFormContext, Controller } from 'react-hook-form';\nimport Alert, { AlertType } from '../../generic/Alert';\nimport AutoAutoHeight from '../../../animations/AutoAutoHeight';\nimport DataLayer, { InteractionStep, InteractionType } from '../../../util/DataLayer';\nimport { EnhancedPhoneNumberField } from '../../generic/custom/EnhancedPhoneNumberField/EnhancedPhoneNumberField';\nimport E164PhoneNumberFieldFeature from '../../../providers/feature/E164PhoneNumberFieldFeature';\nimport { EMAIL_REGEX } from '../../../util/Validation';\n\nexport interface RoomContactDetailsProps {\n roomNumber: number;\n basketRow: BasketRow;\n\n showErrors?: boolean;\n expandable?: boolean;\n}\n\nexport default function RoomContactDetails(props: RoomContactDetailsProps) {\n const { register, formState, getValues, control } = useFormContext();\n const errors = formState.errors;\n\n const { t } = useTranslation();\n\n const [isOpen, setIsOpen] = useState(props.roomNumber === 1);\n const row = props.basketRow;\n\n const hasErrors =\n Object.keys(errors)\n .join('')\n .indexOf('' + props.roomNumber) !== -1;\n\n const getValidationClass = (name: string) => {\n const paddedName = padInputName(name);\n\n if (errors && (formState.touchedFields[paddedName] || props.showErrors)) {\n if (errors[paddedName]) {\n return 'error';\n } else {\n return 'success';\n }\n } else {\n return null;\n }\n };\n\n if (hasErrors && !isOpen) {\n setIsOpen(true);\n }\n\n const padInputName = (name: string) => {\n return `${name}${props.roomNumber}`;\n };\n\n const inputValues = Object.keys(getValues());\n const openExpandable = () => {\n if (props.expandable) setIsOpen(!isOpen);\n };\n const setForename = () => {\n DataLayer.instance.sendInteraction('Forename - Contact Info', InteractionType.FORM_FIELD, InteractionStep.GUEST_DETAILS);\n };\n const setSurname = () => {\n DataLayer.instance.sendInteraction('Surname - Contact Info', InteractionType.FORM_FIELD, InteractionStep.GUEST_DETAILS);\n };\n const setEmail = () => {\n DataLayer.instance.sendInteraction('Email - Contact Info', InteractionType.FORM_FIELD, InteractionStep.GUEST_DETAILS);\n };\n const setPhone = () => {\n DataLayer.instance.sendInteraction('Phone - Contact Info', InteractionType.FORM_FIELD, InteractionStep.GUEST_DETAILS);\n };\n const setAddress = () => {\n DataLayer.instance.sendInteraction('Address - Address', InteractionType.FORM_FIELD, InteractionStep.GUEST_DETAILS);\n };\n const setCity = () => {\n DataLayer.instance.sendInteraction('City - Address', InteractionType.FORM_FIELD, InteractionStep.GUEST_DETAILS);\n };\n const setPostCode = () => {\n DataLayer.instance.sendInteraction('PostCode - Address', InteractionType.FORM_FIELD, InteractionStep.GUEST_DETAILS);\n };\n const setCountry = (event: any) => {\n DataLayer.instance.sendInteraction('Country - Address', InteractionType.FORM_FIELD, InteractionStep.GUEST_DETAILS);\n };\n\n return (\n <>\n <div className=\"u-marg-bottom\" onClick={openExpandable}>\n <div className=\"u-flex u-marg-bottom align-items-center\">\n <Headline bold={true}>\n {t(Translation.Misc.Room)} {props.roomNumber}\n </Headline>\n {props.expandable && <Icon icon={isOpen ? IconType.ArrowDown2 : IconType.ArrowUp2} color={Color.Grey} />}\n </div>\n <div className=\"u-marg-bottom\">\n <Text>\n <strong className=\"u-block@l-\">{row.getRoom().name}</strong> for {StringHelper.pluralWithDictAndCount(row.getAdults(), Translation.Step.Date.Adult, t)}\n , \n {StringHelper.pluralWithDictAndCount(row.getChildren(), Translation.Step.Date.Child, t)}\n </Text>\n <div className=\"step-one-status--dates u-flex justify-content-start\">\n <Text type={TextType.Small} color={Color.Accent}>\n <strong>{row.getStartDate().format('ddd, MMM D')}</strong>\n </Text>\n <Icon icon={IconType.ArrowRight2} size={'18px'} />\n <Text type={TextType.Small} color={Color.Accent}>\n <strong>{row.getEndDate().format('ddd, MMM D')}</strong>\n </Text>\n </div>\n </div>\n {inputValues.map((error, index: number) => {\n if (error.endsWith(`${props.roomNumber}`)) {\n let errorMessage = errors[error]?.message ?? '';\n errorMessage = errorMessage ? errorMessage : error.replace(`${props.roomNumber}`, '') + ' is required';\n\n return (\n <AutoAutoHeight key={error} open={props.showErrors && hasErrors && !!errors[error]}>\n <div className=\"u-flex\">\n <Alert icon={IconType.Error} type={AlertType.Danger} noMargin={index === inputValues.length - 1}>\n <Text type={TextType.Small}>{errorMessage}</Text>\n </Alert>\n </div>\n </AutoAutoHeight>\n );\n }\n })}\n </div>\n <div className=\"room-contact-details--row\" style={{ maxHeight: isOpen ? '' : 0 }}>\n <div className=\"u-marg-bottom--heavy\">\n <div className=\"u-marg-bottom--light\">\n <Text type={TextType.Small}>\n <strong>{t(Translation.Step.Confirmation.ContactInfo)}</strong>\n </Text>\n </div>\n <InputGroup dimensions=\"2/2\">\n <TextBox\n placeholder={t(Translation.Step.Confirmation.Inputs.Forename) + ' *'}\n wide={true}\n required={true}\n validationStatus={getValidationClass('Forename')}\n {...register(padInputName('Forename'), {\n onChange: setForename,\n required: {\n value: true,\n message: t(Translation.Step.Confirmation.Inputs.Required, { field: t(Translation.Step.Confirmation.Inputs.Forename) }),\n },\n })}\n />\n <TextBox\n placeholder={t(Translation.Step.Confirmation.Inputs.Surname) + ' *'}\n wide={true}\n required={true}\n validationStatus={getValidationClass('Surname')}\n {...register(padInputName('Surname'), {\n onChange: setSurname,\n required: {\n value: true,\n message: t(Translation.Step.Confirmation.Inputs.Required, { field: t(Translation.Step.Confirmation.Inputs.Surname) }),\n },\n })}\n />\n </InputGroup>\n\n <InputGroup dimensions={'2/2'}>\n <TextBox\n placeholder={t(Translation.Step.Confirmation.Inputs.Email) + ' *'}\n wide={true}\n validationStatus={getValidationClass('Email')}\n required={true}\n {...register(padInputName('Email'), {\n onChange: setEmail,\n required: {\n value: true,\n message: t(Translation.Step.Confirmation.Inputs.Required, { field: t(Translation.Step.Confirmation.Inputs.Email) }),\n },\n pattern: {\n value: EMAIL_REGEX,\n message: t(Translation.Step.Confirmation.Inputs.InvalidEmail),\n },\n })}\n />\n {E164PhoneNumberFieldFeature.isActive() ? (\n <Controller\n control={control}\n name={padInputName('Phone')}\n rules={{\n required: {\n value: true,\n message: t(Translation.Step.Confirmation.Inputs.Required, { field: t(Translation.Step.Confirmation.Inputs.Phone) }),\n },\n minLength: {\n value: 5,\n message: 'Phone number is required',\n },\n maxLength: {\n value: 17,\n message: 'Phone number is too long',\n },\n pattern: {\n value: /^[1-9](\\ |\\d){1,15}$/g,\n message: 'Incorrect phone number entered',\n },\n }}\n render={({ field, fieldState }) => {\n return (\n <EnhancedPhoneNumberField\n validationStatus={getValidationClass('Phone')}\n {...field}\n onChange={(e) => {\n field.onChange(e);\n setPhone();\n }}\n />\n );\n }}\n />\n ) : (\n <TextBox\n placeholder={t(Translation.Step.Confirmation.Inputs.Phone) + ' *'}\n wide={true}\n required={true}\n validationStatus={getValidationClass('Phone')}\n {...register(padInputName('Phone'), {\n onChange: setPhone,\n required: {\n value: true,\n message: t(Translation.Step.Confirmation.Inputs.Required, { field: t(Translation.Step.Confirmation.Inputs.Phone) }),\n },\n })}\n />\n )}\n </InputGroup>\n </div>\n <div className=\"\">\n <div className=\"u-marg-bottom--light\">\n <Text type={TextType.Small}>\n <strong>{t(Translation.Step.Confirmation.Address)}</strong>\n </Text>\n </div>\n\n <InputGroup dimensions={'3/1'}>\n <TextBox\n placeholder={t(Translation.Step.Confirmation.Inputs.Address) + ' *'}\n wide={true}\n required={true}\n validationStatus={getValidationClass('Address')}\n {...register(padInputName('Address'), {\n onChange: setAddress,\n required: {\n value: true,\n message: t(Translation.Step.Confirmation.Inputs.Required, { field: t(Translation.Step.Confirmation.Inputs.Address) }),\n },\n })}\n />\n <TextBox\n placeholder={t(Translation.Step.Confirmation.Inputs.City) + ' *'}\n wide={true}\n required={true}\n validationStatus={getValidationClass('City')}\n {...register(padInputName('City'), {\n onChange: setCity,\n required: {\n value: true,\n message: t(Translation.Step.Confirmation.Inputs.Required, { field: t(Translation.Step.Confirmation.Inputs.City) }),\n },\n })}\n />\n </InputGroup>\n <InputGroup dimensions={'2/2'}>\n <TextBox\n placeholder={t(Translation.Step.Confirmation.Inputs.PostCode) + ' *'}\n wide={true}\n required={true}\n validationStatus={getValidationClass('PostCode')}\n {...register(padInputName('PostCode'), {\n onChange: setPostCode,\n required: {\n value: true,\n message: t(Translation.Step.Confirmation.Inputs.Required, { field: t(Translation.Step.Confirmation.Inputs.PostCode) }),\n },\n })}\n />\n <Controller\n control={control}\n name={padInputName('Country')}\n rules={{\n required: {\n value: true,\n message: t(Translation.Step.Confirmation.Inputs.Required, { field: t(Translation.Step.Confirmation.Inputs.Country) }),\n },\n }}\n render={({ field }) => {\n const { ref, ...rest } = field;\n return <StepConfirmationCountrySelector validationStatus={getValidationClass('Country')} {...rest} defaultValue={null} />;\n }}\n />\n </InputGroup>\n </div>\n </div>\n <LineBreak />\n </>\n );\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const EMAIL_REGEX: RegExp;
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.EMAIL_REGEX = void 0;
|
|
4
|
+
exports.EMAIL_REGEX = /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
|
|
5
|
+
//# sourceMappingURL=Validation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Validation.js","sourceRoot":"/","sources":["src/util/Validation.ts"],"names":[],"mappings":";;;AAAa,QAAA,WAAW,GAAG,wJAAwJ,CAAC","sourcesContent":["export const EMAIL_REGEX = /^(([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/;\n"]}
|