<div class="registration-container" data-modal-title='Test Are you sure you want quit' data-modal-subtitle='Subtitle for cross icon' data-modal-primary='Quit' data-modal-secondary='Cancel'>
<div id="camera_host"></div>
<div class="registration-container__header">
<button class="back-icon-container registration_hide" aria-label="back registration journey">
<i class="back-icon"></i> <span class="back-text">Back</span>
</button>
<button class="close-icon-container" aria-label="close registration journey">
<i class="close-icon"></i>
</button>
</div>
<div class="registration-container__body">
<div class="registration-loader registration_hide" role="alert" aria-label="loading, Please do not refresh the page. ">
<img id="registration-loader-logo" class="registration-loader-estc" src="/assets/example-content/loading_with_logo.gif" loading="lazy" alt="loading" />
<div class="registration-loader__travelclubs">
<div class="registration-loader__spinner">
<div class="registration-loader__ring"></div>
</div>
</div>
</div>
<div class="form-container">
Registration container
</div>
</div>
<div class="registration-container__footer">
<img src="./../../../assets/example-content/threelions-logo.svg" class="footer-logo" alt="england football logo" />
<dialog class="registration-confirm-modal">
<!-- Modal content -->
<div class="registration-confirm-modal__content">
<div class="registration-confirm-modal__header">
<h1 class="registration-form-title">
Are you sure?
</h1>
</div>
<div class="registration-confirm-modal__body">
<h2 class="registration-form-sub-title">
If you don’t want to register now you can come back at any time.
</h2>
</div>
<div class="registration-confirm-modal__footer">
<a role="button" href="/" class="cta cta--r-primary ">
<p>
Leave</p>
</a>
<a role="button" href="/" class="cta cta--r-secondary ">
<p>
Cancel</p>
</a>
</div>
</div>
</dialog>
</div>
No notes defined.
{
"popup-title": {
"copy": "Are you sure you want to remove junior?"
},
"popup-para": {
"copy": "Lorem ipsum dolor sit amet consectetur adipisicing elit. Voluptatum iste optio fugit totam mollitia? Quisquam impedit, provident ipsa fuga vel aspernatur ipsam unde labore quasi doloremque ea harum, amet possimus?"
},
"quit-button": {
"copy": "QUIT"
},
"cancel-button": {
"copy": "CANCEL"
}
}
import { hideClass } from '../../modules/registration/registration-error/registration-error';
import {
BACKCLICKED,
backBtnElement,
currentPage,
nevigateToPrevious,
} from '../../modules/registration/registrationUtility';
import {
setDialogTitle,
setDialogSubTitle,
setConfirmDialogPrimaryCtaText,
setConfirmDialogSecondaryCtaText,
} from '../../modules/registration/registration-confirm-modal/registration-confirm-modal';
export default parentElement => {
const backBtn = backBtnElement;
const closeBtn = parentElement.querySelector('.close-icon-container');
const model = parentElement.querySelector('.registration-confirm-modal');
closeBtn.addEventListener('click', () => {
setDialogTitle(parentElement.getAttribute('data-modal-title'));
setDialogSubTitle(parentElement.getAttribute('data-modal-subtitle'));
setConfirmDialogPrimaryCtaText(
parentElement.getAttribute('data-modal-primary')
);
setConfirmDialogSecondaryCtaText(
parentElement.getAttribute('data-modal-secondary')
);
model.showModal();
});
backBtn.addEventListener('click', event => {
event.preventDefault();
if (!currentPage.isLoading) {
let currentElement = currentPage.page;
if (
currentElement.classList.contains('registration-passport-details') ||
currentElement.classList.contains(
'registration-passport-details-cloned'
)
) {
currentElement.classList.add(hideClass);
currentElement = currentElement.previousElementSibling;
}
if (currentElement.classList.contains('registration-select-junior')) {
currentElement = currentElement.parentElement;
currentElement.classList.add('registration_skip');
if (currentPage.isAdultRegistered === 'true') {
currentElement = document.querySelector(
'.registration-privacy-policy'
);
currentPage.page.parentElement.classList.add(hideClass);
}
}
nevigateToPrevious(currentElement);
sessionStorage.setItem(BACKCLICKED, true);
}
});
};
/* stylelint-disable no-descending-specificity */
$border-radius: 16px;
$width: 1000px;
$height: 800px;
$containe-height: 593px;
$margin-y: 112px;
$margin-mobile-y: 40px;
$margin-mobile-x: 20px;
// close icon
$close-icon-y: 22px;
$close-icon-right: 22px;
$close-icon-height: 16px;
$close-icon-width: 16px;
// footer image
$footer-image-width: 155px;
$footer-image-height: 64.58px;
$footer-bottom: 50px;
.theme-three-lions .registration-container,
.theme-lionesses .registration-container {
background-color: transparent;
&__header {
.back-icon-container {
.back-text {
color: white;
font-family: $registration-font-subtitle;
}
.back-icon {
background-image: url('./assets/example-content/arrow_back_hover.svg');
}
}
}
.cta--r-primary,
.cta--r-secondary {
min-height: 48px !important;
border-radius: 12px;
font-family: $registration-font-subtitle;
// font-weight: 500;
&:hover {
background-color: #d6d9e1;
color: #0d0d0d;
}
&:focus-visible {
color: #1b1c1e;
border: 2px solid #1b1c1e;
background-color: #fd0;
text-decoration: underline;
}
}
.cta--r-disabled {
min-height: 48px !important;
border-radius: 12px;
font-family: $registration-font-subtitle;
background-color: #e4e7ec;
border: 1px solid #8e98ae;
color: #bbc1ce;
}
.cta--r-primary {
background-color: #f0f1f4;
color: #0d0d0d;
}
.cta--r-secondary {
border: 1px solid #caced9;
background-color: transparent;
color: #fff;
}
.checkbox {
.checkmark-container {
height: 18px;
width: 18px;
border-width: 2px;
box-sizing: content-box;
background-color: transparent;
.checkmark {
border-radius: 2px;
height: 100%;
width: 100%;
display: flex;
align-items: center;
justify-content: center;
&::after {
left: unset;
top: 0;
border: solid #0d0d0d;
border-width: 0 2.5px 2.5px 0;
width: 6px;
height: 12px;
}
}
}
}
.checkbox--secondary:hover input ~ .checkmark-container,
.checkbox--with-dob:hover input ~ .checkmark-container,
.checkbox--primary:hover input ~ .checkmark-container {
background-color: rgba(255, 255, 255, 0.1);
}
.checkbox--secondary input:checked ~ .checkmark-container,
.checkbox--with-dob input:checked ~ .checkmark-container,
.checkbox--primary input:checked ~ .checkmark-container {
background-color: #fff;
}
.checkbox--secondary:hover input:checked ~ .checkmark-container,
.checkbox--with-dob:hover input:checked ~ .checkmark-container,
.checkbox--primary:hover input:checked ~ .checkmark-container {
background-color: rgba(255, 255, 255, 0.9);
}
.checkbox--secondary:hover input:checked ~ .checkmark-container .checkmark,
.checkbox--with-dob:hover input:checked ~ .checkmark-container .checkmark,
.checkbox--primary:hover input:checked ~ .checkmark-container .checkmark {
background-color: transparent;
}
.checkbox--with-dob:has(input:checked) .checkmark-container,
.checkbox--primary:has(input:checked) .checkmark-container {
border-color: #fff;
}
.checkbox--with-dob input:checked ~ .checkmark-container .checkmark,
.checkbox--primary input:checked ~ .checkmark-container .checkmark {
background-color: #fff;
}
.checkbox input:focus-visible ~ .checkmark-container {
outline: 2px solid #fd0;
outline-offset: 2px;
background-color: transparent;
border: 2px solid #fff;
}
.checkbox input:checked:focus-visible ~ .checkmark-container {
outline: 2px solid #fd0;
outline-offset: 2px;
background-color: #fff;
border: 2px solid #fff;
}
.checkbox input:checked:focus-visible ~ .checkmark-container .checkmark {
background-color: #fff;
}
.checkbox--with-dob:has(input:checked),
.checkbox--primary:has(input:checked) {
background-color: transparent;
}
.checkbox--with-dob:has(input:checked) .dob-label,
.checkbox--with-dob:has(input:checked) .label,
.checkbox--primary:has(input:checked) .dob-label,
.checkbox--primary:has(input:checked) .label {
color: #fff;
}
.checkbox--with-dob:hover,
.checkbox--with-dob:has(input:checked):hover,
.checkbox--primary:hover,
.checkbox--primary:has(input:checked):hover {
background-color: rgba(255, 255, 255, 0.1);
}
.registration-text-input-container__label {
color: #fff;
}
.registration-text-input-container__text-input {
background-color: transparent;
&:hover {
background-color: rgba(255, 255, 255, 0.1);
}
&:focus {
outline: none;
background-color: transparent;
color: #fff;
}
&:focus-visible {
outline: 2px solid #fd0;
outline-offset: 2px;
background-color: #f0f0f0;
color: #1b1c1e;
}
&:focus-visible::placeholder {
color: #1b1c1e;
}
&:disabled {
background-color: #f0f0f0;
color: #1b1c1e;
}
&:disabled::placeholder {
color: #1b1c1e;
}
}
.registration-text-input-container__text-input::placeholder {
color: #fff;
}
.registration-text-input-container__text-input[type='date']:focus-visible {
background-color: transparent;
color: #fff;
}
.registration-custom-select select {
background-color: transparent;
&:hover {
background-color: rgba(255, 255, 255, 0.1);
}
&:focus-visible {
outline: 2px solid #fd0;
outline-offset: 2px;
}
}
.registration-passport-details-cloned
.passport-expiry.untouched-element
input,
.registration-passport-details-cloned
.passport-expiry.untouched-element
select,
.registration-passport-details-cloned .nationality.untouched-element input,
.registration-passport-details-cloned .nationality.untouched-element select,
.registration-passport-details .passport-expiry.untouched-element input,
.registration-passport-details .passport-expiry.untouched-element select,
.registration-passport-details .nationality.untouched-element input,
.registration-passport-details .nationality.untouched-element select {
color: #fff;
}
.registration-junior-details .DateOfBirth.untouched-element input,
.registration-junior-details .DateOfBirth.untouched-element select,
.registration-junior-details .gender.untouched-element input,
.registration-junior-details .gender.untouched-element select {
color: #fff;
}
.registration-membership-summary .registration-membership-sub-title,
.registration-membership-summary .link-button {
color: #fff;
}
.registration-membership-summary .separator {
background-color: #fff;
}
.registration-member .info-header,
.registration-member .info {
border-color: #fff;
}
.registration-member .info:not(:first-child) {
border-top: 1px solid #fff;
}
.registration-member--secondary-with-header .bar,
.registration-member--secondary .bar {
background-color: #fff;
}
.registration-container__header .close-icon-container:focus-visible {
background-color: transparent;
color: #fff;
border: 2px solid #1b1c1e;
outline: 4px solid #fd0;
}
.registration-container__header
.close-icon-container:focus-visible
.close-icon {
background-image: url('./assets/example-content/close.svg');
}
.registration-container__header .back-icon-container:hover .back-text {
color: white;
font-weight: normal;
text-decoration: underline;
}
.registration-container__header .back-icon-container:focus-visible {
outline: none;
background-color: #fd0;
border-bottom: 2px solid #1b1c1e;
color: #1b1c1e;
}
.registration-confirm-modal__footer .cta--r-primary {
border: 1px solid #1b1c1e;
}
.registration-confirm-modal__footer .cta--r-secondary {
color: #0d0d0d;
border: 1px solid #1b1c1e;
}
img.footer-logo {
width: auto;
height: auto;
}
}
.registration-container {
background-color: $crest-blue;
border-radius: $border-radius;
width: $width;
min-height: $height;
margin: $margin-y auto;
display: flex;
flex-direction: column;
position: relative;
&__header {
width: 100%;
display: flex;
justify-content: space-between;
.close-icon-container {
margin-left: auto;
height: 44px;
width: 44px;
margin-top: 12px;
margin-right: 12px;
border-radius: 2px;
background-color: transparent;
border: 0;
.close-icon {
background-size: contain;
background-image: url('./assets/example-content/close.svg');
transition: all 0.2s ease-in-out;
height: $close-icon-height;
width: $close-icon-width;
display: block;
margin: auto;
&:hover {
transform: scale(1.25);
}
}
&:focus-visible {
outline: none;
background-color: $yellow1;
border: 1px solid $black1;
color: $black1;
.close-icon {
background-image: url('./assets/example-content/close-icon-black.svg');
}
}
}
.back-icon-container {
display: flex;
align-items: center;
height: 44px;
margin: 12px;
border-radius: 2px;
background-color: transparent;
border: 0;
.back-icon,
.back-text {
margin: 16px 0;
}
.back-text {
color: $light-blue;
font-family: $registration-font;
font-size: 16px;
font-weight: 400;
margin-right: 16px;
cursor: pointer;
}
.back-icon {
margin-right: 8px;
display: block;
margin-left: 16px;
height: 11px;
width: 11px;
background-image: url('./assets/example-content/arrow_back.svg');
}
&:hover {
.back-icon {
background-image: url('./assets/example-content/arrow_back_hover.svg');
}
.back-text {
color: white;
font-weight: 700;
}
}
&:focus-visible {
outline: none;
background-color: $yellow1;
border: 1px solid $black1;
color: $black1;
.back-text {
color: $black1;
}
.back-icon {
background-image: url('./assets/example-content/arrow_black_back.svg');
}
}
}
}
&__body {
flex: 1;
width: 100%;
// margin-top: 15px;
display: flex;
overflow-y: auto;
position: relative;
}
&__footer {
width: 100%;
.footer-logo {
width: $footer-image-width;
height: $footer-image-height;
margin: 40px auto;
// converting the icon to image tag
// background-image: url('./assets/example-content/logo-name.png');
// background-size: contain;
// background-repeat: no-repeat;
@media screen and (max-width: $mq-medium) {
width: 130px;
height: 54px;
}
}
.travelclub-footer-logo {
margin: 40px auto;
}
}
@media screen and (max-width: $mq-medium) {
margin: $margin-mobile-y auto;
width: calc(100% - 40px);
}
#camera_host {
background-color: $crest-blue;
position: absolute;
z-index: 2;
border-radius: 16px;
.registration__camera {
.video_container {
position: relative;
#video {
width: 1000px;
}
#camera_close_btn {
position: absolute;
top: 16px;
right: 16px;
background-image: url('./assets/example-content/camera_close.svg');
height: 44px;
width: 44px;
background-size: inherit;
background-repeat: no-repeat;
background-position: center;
border-radius: 2px;
padding: 0;
z-index: 1;
border: none;
&:hover {
transform: scale(1.1);
}
}
}
#capturebtn {
width: 375px;
margin: auto;
margin-top: 3px;
}
}
}
.registration-modal {
display: none;
position: fixed;
z-index: 1;
left: 0;
top: 0;
width: 100%;
height: 100%;
background-color: $light-black;
justify-content: center;
align-items: center;
overflow: hidden;
}
.registration-modal-content-details {
background-color: $white;
padding: 24px;
border: 1px solid $light-red1;
width: 90%;
max-height: 80vh;
max-width: 600px;
text-align: left;
top: 288px;
left: 416px;
overflow-y: auto;
border-radius: 8px 8px 8px 8px;
box-sizing: border-box;
}
.registration-modal-content-details h2 {
margin-bottom: 24px;
color: $dark-black;
font-family: $registration-font;
font-size: 26px;
font-weight: 400;
line-height: 28px;
letter-spacing: -0.01em;
text-align: left;
}
.registration-modal-content-details p {
color: $dark-black;
margin-bottom: 40px;
font-family: $registration-font;
font-size: 16px;
font-weight: 400;
line-height: 24px;
text-align: left;
}
.registration-modal-content-details .btn-container {
display: flex;
justify-content: space-between;
flex-direction: column;
gap: 20px;
border-radius: 2px;
border: 1px;
}
.registration-modal-content-details .btn-container button {
width: 100%;
padding: 10px;
border: none;
cursor: pointer;
border-radius: 4px;
font-size: 16px;
color: $white;
transition: background-color 0.3s, color 0.3s, border 0.3s;
}
.registration-modal-content-details .btn-container a {
width: 100%;
padding: 10px;
border: none;
cursor: pointer;
border-radius: 4px;
font-size: 16px;
color: $white;
transition: background-color 0.3s, color 0.3s, border 0.3s;
}
.registration-modal-content-details .btn-quit {
background-color: $red-rj;
font-family: $registration-font;
font-size: 16px;
font-weight: 700;
line-height: 26px;
letter-spacing: -0.01em;
text-align: center;
}
.registration-modal-content-details .btn-cancel {
background-color: $blue-accent6;
font-family: $registration-font;
font-size: 16px;
font-weight: 700;
line-height: 26px;
letter-spacing: -0.01em;
text-align: center;
}
.registration-modal-content-details .btn-quit:hover {
background-color: $white;
color: $blue;
border: 1px solid $blue;
}
.registration-modal-content-details .btn-cancel:hover {
background-color: $white;
color: $blue;
border: 1px solid $blue;
}
}
@media screen and (min-width: $mq-medium) {
.registration-container {
.registration-modal {
.registration-modal-content-details {
.btn-container {
flex-direction: row;
}
}
}
}
}
@media screen and (min-width: $mq-medium) {
.registration-container {
.registration-self-steps-container {
max-height: $containe-height;
}
}
}
<div class="registration-container" data-modal-title='Test Are you sure you want quit'
data-modal-subtitle='Subtitle for cross icon' data-modal-primary='Quit' data-modal-secondary='Cancel'>
<div id="camera_host"></div>
<div class="registration-container__header">
<button class="back-icon-container registration_hide" aria-label="back registration journey">
<i class="back-icon"></i> <span class="back-text">Back</span>
</button>
<button class="close-icon-container" aria-label="close registration journey">
<i class="close-icon"></i>
</button>
</div>
<div class="registration-container__body">
{{render '@registration-loader'}}
<div class="form-container">
{{#> @partial-block}}
Registration container
{{/ @partial-block}}
</div>
</div>
<div class="registration-container__footer">
<img src="./../../../assets/example-content/threelions-logo.svg" class="footer-logo" alt="england football logo" />
{{render '@registration-confirm-modal'}}
</div>