tf-checkout-react 1.2.0 → 1.2.3

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.
@@ -1 +1 @@
1
- .button-container{display:flex;justify-content:center;padding:20px}.billing-info-container{margin:0 auto;max-width:800px}.billing-info-container .is-half{width:49%}.billing-info-container p{color:#000}.billing-info-container .main-header{font-size:2rem;font-weight:600}.billing-info-container__twoFields{display:flex;justify-content:space-between;margin-top:15px}.billing-info-container__singleField{margin-top:15px}button{margin-top:10px}.account-actions-block{color:#182026;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,Icons16,sans-serif;margin-top:10px}.login-register-button,.MuiButtonBase-root.MuiButton-root,.MuiButtonBase-root.MuiButton-root:hover{background-color:#212529;border:#f28051;border-radius:5px;color:#fff;cursor:pointer;display:block;font-family:Inter-Bold;font-size:26px;font-weight:700;line-height:1.15;margin-top:10px;min-height:46px;outline:none;overflow:hidden;padding:14px 12px 12px;position:relative;text-align:center;text-overflow:ellipsis;text-transform:uppercase;width:49%}.logo-image-container{margin-top:5px;text-align:center;width:49%}.logo-image-container img{height:30px}.login-block{align-items:center;display:flex;flex-direction:column}.login-register-button:hover{background-color:#505050!important;border-color:#505050!important}.login-register-block{display:flex;justify-content:space-between}@media only screen and (max-width:820px){.billing-info-container{width:90%}.billing-info-container .main-header{font-size:1.5rem}}.email-checking{margin-bottom:15px}.modal-title{align-items:center;background-color:#fff;display:flex;font-family:Inter;font-size:18px;font-weight:700;height:49px;line-height:22px;padding-left:25px;position:relative}.login-modal-body{padding:15px 25px}.login-modal-body input{background:#fff!important}.login-modal-body__email,.login-modal-body__password{margin-bottom:20px}.login-action-button button{background-color:#212529;border:none;border-radius:0;color:#fff;cursor:pointer;font-size:26px;font-weight:600;height:45px;line-height:18px;margin:10px 0;outline:none;padding:10px;width:100%}.login-action-button button:hover{background-color:#505050;border-color:#505050}.server_auth__error{color:red;font-family:Inter;font-size:12px;font-style:normal;padding-left:25px;padding-top:15px}.info-text-for-login{font-size:14px;margin-bottom:4px;padding-left:10px}.forgot-password{text-align:center}.forgot-password span{cursor:pointer}.forgot-password span:hover{text-decoration:underline}.signup-modal .signup-container{margin:0 auto;max-width:800px}.signup-modal .title{background-color:#fff;font-family:Inter;font-size:18px;font-weight:700}.signup-modal .signup-container .is-half{width:49%}.signup-modal .signup-container__twoFields{display:flex;justify-content:space-between;margin-top:15px}.signup-modal .signup-container__singleField{margin-top:15px}.signup-modal button{margin-top:10px}.signup-modal .signup-action-button button{background-color:#212529;border:none;border-radius:0;color:#fff;cursor:pointer;font-size:26px;font-weight:600;height:45px;line-height:18px;margin-top:10px;outline:none;padding:10px;text-transform:uppercase;width:100%}.signup-modal .signup-action-button button:hover:enabled{background-color:#505050;border-color:#505050}.signup-modal .login{margin-top:10px;text-align:center}.signup-modal .login span{cursor:pointer}.signup-modal .login span:hover{text-decoration:underline}.signup-modal button[disabled]{cursor:unset;opacity:.7}.forgot-password-modal .forgot-password-container{margin:0 auto;max-width:800px}.forgot-password-modal .title{background-color:#fff;font-family:Inter;font-size:18px;font-weight:700}.forgot-password-modal .forgot-password-container__singleField{margin-top:15px}.forgot-password-modal .forgot-password-action-button button{background-color:#212529;border:none;border-radius:0;color:#fff;cursor:pointer;font-size:26px;font-weight:600;height:45px;line-height:18px;margin-top:10px;outline:none;padding:10px;text-transform:uppercase;width:100%}.forgot-password-modal .forgot-password-action-button button:hover:enabled{background-color:#505050;border-color:#505050}.forgot-password-modal .login{margin-top:10px;text-align:center}.forgot-password-modal .login span{cursor:pointer}.forgot-password-modal .login span:hover{text-decoration:underline}.forgot-password-modal button[disabled]{cursor:unset;opacity:.7}.timer{background-color:#000;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAGwSURBVEhLtZa9SgNBEMc9sUxxRcoUKSzSWIhXpFMhhYWFhaBg4yPYiWCXZxBLERsLRS3EQkEfwCKdjWJAwSKCgoKCcudv4O5YLrt7EzgXhiU3/4+b2ckmwVjJSpKkQ6wAi4gwhT+z3wRBcEz0yjSseUTrcRyfsHsXmD0AmbHOC9Ii8VImnuXBPglHpQ5wwSVM7sNnTG7Za4JwDdCjxyAiH3nyA2mtaTJufiDZ5dCaqlItILh1NHatfN5skvjx9Z38m69CgzuXmZgVrPIGE763Jx9qKsRozWYw6xOHdER+nn2KkO+Bb+UV5CBN6WC6QtBgbRVozrahAbmm6HtUsgtPC19tFdxXZYBOfkbmFJ1VaHA1VAHjd0pp70oTZzvR+EVrx2Ygfdsq6eu55BHYR8hlcki+n+kERUFG8BrA0BwjeAv2M8WLQBtcy+SD6fNsmnB3AlBLrgTtVW1c2QN4bVWLATaIS60J2Du5y1TiJgjSBvFVZgTmwCU+dAZFoPxGEEs8nyHC9Bwe2GvEJv2WXZb0vjdyFT4Cxk3e/kIqlOGoVLwwPevpYHT+00T+hWwXDf4AJAOUqWcDhbwAAAAASUVORK5CYII=);background-position:15px;background-repeat:no-repeat;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;-moz-box-shadow:0 0 12px #999;-webkit-box-shadow:0 0 12px #999;box-shadow:0 0 12px #999;color:#fff;margin:0 0 6px;max-width:300px;overflow:hidden;padding:15px 15px 15px 50px;pointer-events:auto;position:absolute;right:15px;width:300px}.timer .close-icon{cursor:pointer;display:flex;position:absolute;right:10px;top:10px}.timer .countdown{font-weight:700;margin-top:10px}.payment_page{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,Icons16,sans-serif}.payment_page .order_info_section{padding:15px 0}.payment_page .order_info_section .order_info_block{padding-bottom:15px;padding-top:15px}.payment_page .order_info_section .order_info_block .field-underline{border-bottom:1px solid #000;padding-bottom:15px}.payment_page .order_info_section .order_info_block .order_info_title{font-size:14px;font-weight:700;padding-bottom:3px}.payment_page .order_info_section .order_info_block .order_info_text{font-size:16px;line-height:1.15;outline:none}.payment_page .MuiBox-root{margin-left:auto;margin-right:auto;padding:20px;text-align:center}.payment_page .payment_info_label{padding:20px 0;text-align:center}.payment_page .payment_form{color:#fff;padding:20px}.payment_page .payment_form input,.payment_page .payment_form label{color:#fff}.payment_page .payment_button{padding-top:20px;text-align:center}.card_form_inner{background:#232323;border-radius:8px;margin:0 auto 20px;min-width:325px;padding:15px;width:50%}.card_form_inner .card_label_text{color:#fff}.card_form_inner .StripeElement{margin:5px 0 10px}.card_label_text{color:#fff}.payment_button{padding-top:15px;text-align:center}.payment_button button{background-color:#212529;border-radius:8px;color:#fff;cursor:pointer;font-size:26px;padding:15px 30px;transition:opacity .5s;width:200px}.payment_button button:hover{opacity:.7}.disabled-payment-button button{opacity:.3;pointer-events:none;user-select:none}.checkout_error_block{color:#e53935;font-weight:600;padding:15px 0}.zip_element p{margin-bottom:0}.zip_element input{background-color:#000;border:none;color:#fff;font-size:18px;margin-top:5px;outline:none;width:100%}.confirmation-page{margin:0 auto;max-width:1024px}.confirmation-page button{margin-top:inherit}.confirmation-page .strong-text{font-weight:700}.confirmation-page .title{color:#333;font-size:24px;font-weight:600}.confirmation-page .share-message-section{background:#dff0d8;border:1px solid #d6e9c6;border-radius:5px;color:#2c7221;display:flex;flex-direction:column;margin:20px 0;padding:15px}.confirmation-page .main{font-size:15px;font-weight:700}.confirmation-page .helper,.confirmation-page .main{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,Icons16,sans-serif}.confirmation-page .helper{font-size:14px;margin-top:5px}.confirmation-page .referral_text_image_section{align-items:center;display:flex;flex-wrap:wrap;justify-content:space-between;margin:20px 0}.confirmation-page .referral_text_section{margin:10px}.confirmation-page .referral_title_text{color:#f08057;font-size:28px;padding-bottom:10px}.confirmation-page .referral_text{font-size:18px}.confirmation-page .referral_text_image_section img{margin:10px;max-width:200px}.confirmation-page .share_wrapper{column-gap:5rem;display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));margin:10px}.confirmation-page .invitation_title{font-size:22px;padding-bottom:12px;padding-top:12px}.confirmation-page .share_section{display:flex;flex-wrap:wrap;justify-content:space-between;margin:0 -10px}.confirmation-page .invitation_section{flex:1 1;padding:0 5px}.confirmation-page .share_buttons{display:grid;flex-wrap:wrap;margin:0 -7px}.confirmation-page .convenient_buttons{margin-top:10px}.confirmation-page .social-media-btns{grid-gap:5px;display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.confirmation-page .sharing-btn{background-color:#000;flex:1 1;min-width:130px}.confirmation-page .sharing-btn a{text-decoration:none}.confirmation-page .share-by-link{background:#000;color:#fff;padding:10px}.confirmation-page .share-by-link.label{margin:0;padding:0;text-align:left}.confirmation-page .share-btn-inner{align-items:center;background-color:#000;box-sizing:border-box;color:#fff;cursor:pointer;display:inline-flex;padding:0;text-align:left;width:100%}.confirmation-page .share-input{background-color:#fff;border:none;outline:none;padding:5px;text-align:left;width:300px}.confirmation-page .share-text{display:block;font-size:13px;font-weight:600;padding-top:8px;width:100%}.confirmation-page .pricing-section_wrapper{background:#e3e3e3;border:1px solid #dcdcdc;display:grid;grid-template-columns:1fr 1fr;margin:10px 0;padding:15px}.confirmation-page .pricing-section_label{font-weight:600}.confirmation-page .pricing-section_sublabel{font-size:14px;font-weight:100}.confirmation-page .pricing-section_price{font-weight:600;text-align:right}.confirmation-page .share-by-link-copy-icon{align-items:center;background-color:#32325d;border-radius:4px;color:#fff;cursor:pointer;display:flex;justify-content:center;margin-left:8px;padding:10px;transition:all .15s ease}.confirmation-page .share-by-link-copy-icon:hover{background-color:#505050}.confirmation-page .share-by-link-copy-icon img{width:14px}.confirmation-page .social-media-sharing{background-color:#000;color:#fff;cursor:pointer;padding:10px;text-align:center}.confirmation-page .share-icon{border-radius:4px;display:inline-flex}@media only screen and (max-width:1050px){.confirmation-page .share_wrapper{column-gap:0;display:grid;grid-template-columns:unset;margin:15px}}@media only screen and (max-width:480px){.confirmation-page .social-media-btns{grid-template-columns:unset}.confirmation-page .share-input{width:250px}}body{margin:0;padding:0}.get-tickets-page{width:100%}.event-detail__tier{background-color:#fff;padding:17px 35px 20px}.event-detail__tier-name{color:#000;font-family:Inter-Bold;font-family:Bebas Neue;font-size:.85rem;font-weight:700;letter-spacing:.2em;line-height:1.3;margin-bottom:8px;margin-top:16px;padding-right:20%;text-transform:uppercase}.event-detail__tier-status{align-items:center;display:flex;flex-direction:row;flex-wrap:wrap;justify-content:space-between;margin-top:8px;width:100%}.event-detail__tier-status.ticket-button{background-color:#212529;border:3px solid #000;border-radius:0;color:#fff;cursor:pointer;font-weight:700;letter-spacing:.2em;line-height:1.5;margin-bottom:10px;width:200px}.event-tickets-container{align-items:center;display:flex;justify-content:space-between}.event-detail__tier-status.ticket-button.true{background-color:#c1c3c6;border-color:#afb0b1}.event-detail__tier-price{color:#000;font-family:Inter-Bold;font-size:1.5rem;line-height:1;text-align:center}.event-detail__tier-price p{margin:0}.event-detail__tier-price .fees{font-size:14px;margin-top:4px;text-align:left}.event-detail__tier-price .old-price{color:red;font-size:1.3rem;margin-bottom:5px;text-decoration:line-through}.alert-info{align-items:center;background-color:#d9edf7;border:1px solid #bce8f1;border-radius:4px;color:#3a87ad;display:flex;font-size:1em;justify-content:center;margin:0 35px;padding:8px 15px;text-shadow:0 1px 0 hsla(0,0%,100%,.5)}.alert-info svg{margin-right:4px}.event-detail__tier-state{color:#30bc9d;font-family:Inter-Bold;font-size:.75rem;font-weight:300;line-height:1;text-align:right;text-transform:uppercase}.event-detail__tier-state .ticket-not-started-message{color:#000;text-align:left;text-transform:none;width:50px}.promo-code-block input{font-size:14px;padding:1px 8px}.book-button{background-color:#212529;border:3px solid #000;border-radius:0;color:#fff;cursor:pointer;display:block;font-size:26px;font-weight:700;height:50px;letter-spacing:.2em;line-height:1.5;margin:25px auto 10px;text-align:center;width:100%}.book-button:hover{background-color:#505050;border-color:#505050}.loader-container{align-items:center;display:flex;height:100%;justify-content:center;width:100%}.get-tickets-paper::-webkit-scrollbar{width:5px}.get-tickets-paper::-webkit-scrollbar-track{background:#f1f1f1}.get-tickets-paper::-webkit-scrollbar-thumb{background:#888}.get-tickets-paper::-webkit-scrollbar-thumb:hover{background:#555}.get-tickets .get-tickets__selectbox{width:100%}.disabled{pointer-events:none;user-select:none}.hidden{display:none}.event-closed-message{font-family:Bebas Neue;letter-spacing:.5px}.waiting-list{padding:17px 35px 20px}.waiting-list .field-item{margin-bottom:30px}.waiting-list .waiting-list-button{width:100%!important}.waiting-list .waiting-list-button:hover{background-color:#505050}.waiting-list .success-message{margin-bottom:15px;text-align:center}.waiting-list .success-message p{margin:0}.waiting-list .no-tickets-text{font-weight:700;text-align:center}.waiting-list .added-success-message{font-size:22px;margin-bottom:10px}.countdown p{margin:0}.countdown .title{font-weight:700}.countdown .message{font-weight:700;margin-top:20px}.my-ticket{padding:30px}.my-ticket-table{margin-top:30px}.my-ticket .loading{background-color:rgba(0,0,0,.4);height:100vh;justify-content:center;left:0;position:fixed;top:0;width:100%}.my-ticket .event-info,.my-ticket .loading{align-items:center;display:flex}.my-ticket thead th{font-weight:700}.my-ticket .event-info img{margin-right:10px;width:50px}.my-ticket .order-details-button{background-color:#32325d;border:none;border-radius:4px;color:#fff;cursor:pointer;padding:10px 14px;transition:all .15s ease}.my-ticket .order-details-button:hover{background-color:#505050}.order-details{margin:0 auto;max-width:940px}.order-details .loading{align-items:center;background-color:rgba(0,0,0,.4);display:flex;height:100vh;justify-content:center;left:0;position:fixed;top:0;width:100%;z-index:1400}.order-details .layout-title{font-size:24px;font-weight:400}.order-details .sub-title{font-size:18px;font-weight:400;margin:10px 0}.order-details .order-summary-box{margin-top:30px}.order-details .total-row td,.order-details th{color:#fff;font-weight:700}.order-details .tickets-box{margin-top:30px}.order-details .ticket-add-on-table{background-color:#fcf8e3}.order-details .action-button{background-color:#212529;border:1px solid #fff;border-radius:0;color:#fff;cursor:pointer;display:block;font-family:Bebas Neue;font-size:14px;font-weight:400;line-height:normal;margin-bottom:20px;margin-top:20px;min-height:auto;outline:none;overflow:hidden;padding:12px;position:relative;text-align:center;text-decoration:none;text-overflow:ellipsis;text-transform:uppercase;width:max-content}.order-details .download-button:hover{background-color:#505050}.order-details .personal-link{padding:20px 0}.resale-modal .field-box{display:flex;margin-bottom:10px}.resale-modal .field-box .icon{align-items:center;display:flex;height:56px;justify-content:center;min-width:44px}.resale-modal .field-box .empty-box{min-width:44px}.resale-modal .resale-action-button button{background-color:#212529;color:#fff;cursor:pointer;width:100%}.resale-modal .resale-action-button button[disabled]{opacity:.7}.resale-modal .resale-action-button button:hover{background-color:#505050;border-color:#505050;width:100%}.confirm-modal .footer{border-top:1px solid #c0bfbf;display:flex;gap:10px;justify-content:flex-end}.confirm-modal .footer button,.confirm-modal .footer button:hover{font-size:12px;min-height:unset;padding:12px 8px;text-transform:unset;width:max-content}.confirm-modal .footer button:hover{background:#505050}.reset-password{margin:0 auto;max-width:300px;padding:14px}.reset-password .title{font-size:20px;font-weight:700}.reset-password .field-item{margin-top:14px}.reset-password .action-button button{background-color:#212529;border:none;border-radius:0;color:#fff;cursor:pointer;font-size:26px;font-weight:600;height:45px;line-height:18px;margin-top:14px;outline:none;padding:10px;text-transform:uppercase;width:100%}.reset-password .action-button button:hover:enabled{background-color:#505050;border-color:#505050}.reset-password .action-button button[disabled]{cursor:unset;opacity:.7}
1
+ .button-container{display:flex;justify-content:center;padding:20px}.billing-info-container{margin:0 auto;max-width:800px}.billing-info-container .is-half{width:49%}.billing-info-container p{color:#000}.billing-info-container .main-header{font-size:2rem;font-weight:600}.billing-info-container__twoFields{display:flex;justify-content:space-between;margin-top:15px}.billing-info-container__singleField{margin-top:15px}button{margin-top:10px}.account-actions-block{color:#182026;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,Icons16,sans-serif;margin-top:10px}.login-register-button,.MuiButtonBase-root.MuiButton-root,.MuiButtonBase-root.MuiButton-root:hover{background-color:#212529;border:#f28051;border-radius:5px;color:#fff;cursor:pointer;display:block;font-family:Inter-Bold;font-size:26px;font-weight:700;line-height:1.15;margin-top:10px;min-height:46px;outline:none;overflow:hidden;padding:14px 12px 12px;position:relative;text-align:center;text-overflow:ellipsis;text-transform:uppercase;width:49%}.logo-image-container{margin-top:5px;text-align:center;width:49%}.logo-image-container img{height:30px}.login-block{align-items:center;display:flex;flex-direction:column}.login-register-button:hover{background-color:#505050!important;border-color:#505050!important}.login-register-block{display:flex;justify-content:space-between}@media only screen and (max-width:820px){.billing-info-container{width:90%}.billing-info-container .main-header{font-size:1.5rem}}.email-checking{margin-bottom:15px}.forgot-password-modal .forgot-password-container{margin:0 auto;max-width:800px}.forgot-password-modal .title{background-color:#fff;font-family:Inter;font-size:18px;font-weight:700}.forgot-password-modal .forgot-password-container__singleField{margin-top:15px}.forgot-password-modal .forgot-password-action-button button{background-color:#212529;border:none;border-radius:0;color:#fff;cursor:pointer;font-size:26px;font-weight:600;height:45px;line-height:18px;margin-top:10px;outline:none;padding:10px;text-transform:uppercase;width:100%}.forgot-password-modal .forgot-password-action-button button:hover:enabled{background-color:#505050;border-color:#505050}.forgot-password-modal .login{margin-top:10px;text-align:center}.forgot-password-modal .login span{cursor:pointer}.forgot-password-modal .login span:hover{text-decoration:underline}.forgot-password-modal button[disabled]{cursor:unset;opacity:.7}.modal-title{align-items:center;background-color:#fff;display:flex;font-family:Inter;font-size:18px;font-weight:700;height:49px;line-height:22px;padding-left:25px;position:relative}.login-modal-body{padding:15px 25px}.login-modal-body input{background:#fff!important}.login-modal-body__email,.login-modal-body__password{margin-bottom:20px}.login-action-button button{background-color:#212529;border:none;border-radius:0;color:#fff;cursor:pointer;font-size:26px;font-weight:600;height:45px;line-height:18px;margin:10px 0;outline:none;padding:10px;width:100%}.login-action-button button:hover{background-color:#505050;border-color:#505050}.server_auth__error{color:red;font-family:Inter;font-size:12px;font-style:normal;padding-left:25px;padding-top:15px}.info-text-for-login{font-size:14px;margin-bottom:4px;padding-left:10px}.forgot-password{text-align:center}.forgot-password span{cursor:pointer}.forgot-password span:hover{text-decoration:underline}.signup-modal .signup-container{margin:0 auto;max-width:800px}.signup-modal .title{background-color:#fff;font-family:Inter;font-size:18px;font-weight:700}.signup-modal .signup-container .is-half{width:49%}.signup-modal .signup-container__twoFields{display:flex;justify-content:space-between;margin-top:15px}.signup-modal .signup-container__singleField{margin-top:15px}.signup-modal button{margin-top:10px}.signup-modal .signup-action-button button{background-color:#212529;border:none;border-radius:0;color:#fff;cursor:pointer;font-size:26px;font-weight:600;height:45px;line-height:18px;margin-top:10px;outline:none;padding:10px;text-transform:uppercase;width:100%}.signup-modal .signup-action-button button:hover:enabled{background-color:#505050;border-color:#505050}.signup-modal .login{margin-top:10px;text-align:center}.signup-modal .login span{cursor:pointer}.signup-modal .login span:hover{text-decoration:underline}.signup-modal button[disabled]{cursor:unset;opacity:.7}.timer{background-color:#000;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAGwSURBVEhLtZa9SgNBEMc9sUxxRcoUKSzSWIhXpFMhhYWFhaBg4yPYiWCXZxBLERsLRS3EQkEfwCKdjWJAwSKCgoKCcudv4O5YLrt7EzgXhiU3/4+b2ckmwVjJSpKkQ6wAi4gwhT+z3wRBcEz0yjSseUTrcRyfsHsXmD0AmbHOC9Ii8VImnuXBPglHpQ5wwSVM7sNnTG7Za4JwDdCjxyAiH3nyA2mtaTJufiDZ5dCaqlItILh1NHatfN5skvjx9Z38m69CgzuXmZgVrPIGE763Jx9qKsRozWYw6xOHdER+nn2KkO+Bb+UV5CBN6WC6QtBgbRVozrahAbmm6HtUsgtPC19tFdxXZYBOfkbmFJ1VaHA1VAHjd0pp70oTZzvR+EVrx2Ygfdsq6eu55BHYR8hlcki+n+kERUFG8BrA0BwjeAv2M8WLQBtcy+SD6fNsmnB3AlBLrgTtVW1c2QN4bVWLATaIS60J2Du5y1TiJgjSBvFVZgTmwCU+dAZFoPxGEEs8nyHC9Bwe2GvEJv2WXZb0vjdyFT4Cxk3e/kIqlOGoVLwwPevpYHT+00T+hWwXDf4AJAOUqWcDhbwAAAAASUVORK5CYII=);background-position:15px;background-repeat:no-repeat;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;-moz-box-shadow:0 0 12px #999;-webkit-box-shadow:0 0 12px #999;box-shadow:0 0 12px #999;color:#fff;margin:0 0 6px;max-width:300px;overflow:hidden;padding:15px 15px 15px 50px;pointer-events:auto;position:absolute;right:15px;width:300px}.timer .close-icon{cursor:pointer;display:flex;position:absolute;right:10px;top:10px}.timer .countdown{font-weight:700;margin-top:10px}.payment_page{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,Icons16,sans-serif}.payment_page .order_info_section{padding:15px 0}.payment_page .order_info_section .order_info_block{padding-bottom:15px;padding-top:15px}.payment_page .order_info_section .order_info_block .field-underline{border-bottom:1px solid #000;padding-bottom:15px}.payment_page .order_info_section .order_info_block .order_info_title{font-size:14px;font-weight:700;padding-bottom:3px}.payment_page .order_info_section .order_info_block .order_info_text{font-size:16px;line-height:1.15;outline:none}.payment_page .MuiBox-root{margin-left:auto;margin-right:auto;padding:20px;text-align:center}.payment_page .payment_info_label{padding:20px 0;text-align:center}.payment_page .payment_form{color:#fff;padding:20px}.payment_page .payment_form input,.payment_page .payment_form label{color:#fff}.payment_page .payment_button{padding-top:20px;text-align:center}.card_form_inner{background:#232323;border-radius:8px;margin:0 auto 20px;min-width:325px;padding:15px;width:50%}.card_form_inner .card_label_text{color:#fff}.card_form_inner .StripeElement{margin:5px 0 10px}.card_label_text{color:#fff}.payment_button{padding-top:15px;text-align:center}.payment_button button{background-color:#212529;border-radius:8px;color:#fff;cursor:pointer;font-size:26px;padding:15px 30px;transition:opacity .5s;width:200px}.payment_button button:hover{opacity:.7}.disabled-payment-button button{opacity:.3;pointer-events:none;user-select:none}.checkout_error_block{color:#e53935;font-weight:600;padding:15px 0}.zip_element p{margin-bottom:0}.zip_element input{background-color:#000;border:none;color:#fff;font-size:18px;margin-top:5px;outline:none;width:100%}.confirmation-page{margin:0 auto;max-width:1024px}.confirmation-page button{margin-top:inherit}.confirmation-page .strong-text{font-weight:700}.confirmation-page .title{color:#333;font-size:24px;font-weight:600}.confirmation-page .share-message-section{background:#dff0d8;border:1px solid #d6e9c6;border-radius:5px;color:#2c7221;display:flex;flex-direction:column;margin:20px 0;padding:15px}.confirmation-page .main{font-size:15px;font-weight:700}.confirmation-page .helper,.confirmation-page .main{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,Icons16,sans-serif}.confirmation-page .helper{font-size:14px;margin-top:5px}.confirmation-page .referral_text_image_section{align-items:center;display:flex;flex-wrap:wrap;justify-content:space-between;margin:20px 0}.confirmation-page .referral_text_section{margin:10px}.confirmation-page .referral_title_text{color:#f08057;font-size:28px;padding-bottom:10px}.confirmation-page .referral_text{font-size:18px}.confirmation-page .referral_text_image_section img{margin:10px;max-width:200px}.confirmation-page .share_wrapper{column-gap:5rem;display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));margin:10px}.confirmation-page .invitation_title{font-size:22px;padding-bottom:12px;padding-top:12px}.confirmation-page .share_section{display:flex;flex-wrap:wrap;justify-content:space-between;margin:0 -10px}.confirmation-page .invitation_section{flex:1 1;padding:0 5px}.confirmation-page .share_buttons{display:grid;flex-wrap:wrap;margin:0 -7px}.confirmation-page .convenient_buttons{margin-top:10px}.confirmation-page .social-media-btns{grid-gap:5px;display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.confirmation-page .sharing-btn{background-color:#000;flex:1 1;min-width:130px}.confirmation-page .sharing-btn a{text-decoration:none}.confirmation-page .share-by-link{background:#000;color:#fff;padding:10px}.confirmation-page .share-by-link.label{margin:0;padding:0;text-align:left}.confirmation-page .share-btn-inner{align-items:center;background-color:#000;box-sizing:border-box;color:#fff;cursor:pointer;display:inline-flex;padding:0;text-align:left;width:100%}.confirmation-page .share-input{background-color:#fff;border:none;outline:none;padding:5px;text-align:left;width:300px}.confirmation-page .share-text{display:block;font-size:13px;font-weight:600;padding-top:8px;width:100%}.confirmation-page .pricing-section_wrapper{background:#e3e3e3;border:1px solid #dcdcdc;display:grid;grid-template-columns:1fr 1fr;margin:10px 0;padding:15px}.confirmation-page .pricing-section_label{font-weight:600}.confirmation-page .pricing-section_sublabel{font-size:14px;font-weight:100}.confirmation-page .pricing-section_price{font-weight:600;text-align:right}.confirmation-page .share-by-link-copy-icon{align-items:center;background-color:#32325d;border-radius:4px;color:#fff;cursor:pointer;display:flex;justify-content:center;margin-left:8px;padding:10px;transition:all .15s ease}.confirmation-page .share-by-link-copy-icon:hover{background-color:#505050}.confirmation-page .share-by-link-copy-icon img{width:14px}.confirmation-page .social-media-sharing{background-color:#000;color:#fff;cursor:pointer;padding:10px;text-align:center}.confirmation-page .share-icon{border-radius:4px;display:inline-flex}@media only screen and (max-width:1050px){.confirmation-page .share_wrapper{column-gap:0;display:grid;grid-template-columns:unset;margin:15px}}@media only screen and (max-width:480px){.confirmation-page .social-media-btns{grid-template-columns:unset}.confirmation-page .share-input{width:250px}}body{margin:0;padding:0}.get-tickets-page{width:100%}.event-detail__tier{background-color:#fff;padding:17px 35px 20px}.event-detail__tier-name{color:#000;font-family:Inter-Bold;font-family:Bebas Neue;font-size:.85rem;font-weight:700;letter-spacing:.2em;line-height:1.3;margin-bottom:8px;margin-top:16px;padding-right:20%;text-transform:uppercase}.event-detail__tier-status{align-items:center;display:flex;flex-direction:row;flex-wrap:wrap;justify-content:space-between;margin-top:8px;width:100%}.event-detail__tier-status.ticket-button{background-color:#212529;border:3px solid #000;border-radius:0;color:#fff;cursor:pointer;font-weight:700;letter-spacing:.2em;line-height:1.5;margin-bottom:10px;width:200px}.event-tickets-container{align-items:center;display:flex;justify-content:space-between}.event-detail__tier-status.ticket-button.true{background-color:#c1c3c6;border-color:#afb0b1}.event-detail__tier-price{color:#000;font-family:Inter-Bold;font-size:1.5rem;line-height:1;text-align:center}.event-detail__tier-price p{margin:0}.event-detail__tier-price .fees{font-size:14px;margin-top:4px;text-align:left}.event-detail__tier-price .old-price{color:red;font-size:1.3rem;margin-bottom:5px;text-decoration:line-through}.alert-info{align-items:center;background-color:#d9edf7;border:1px solid #bce8f1;border-radius:4px;color:#3a87ad;display:flex;font-size:1em;justify-content:center;margin:0 35px;padding:8px 15px;text-shadow:0 1px 0 hsla(0,0%,100%,.5)}.alert-info svg{margin-right:4px}.event-detail__tier-state{color:#30bc9d;font-family:Inter-Bold;font-size:.75rem;font-weight:300;line-height:1;text-align:right;text-transform:uppercase}.event-detail__tier-state .ticket-not-started-message{color:#000;text-align:left;text-transform:none;width:50px}.promo-code-block input{font-size:14px;padding:1px 8px}.book-button{background-color:#212529;border:3px solid #000;border-radius:0;color:#fff;cursor:pointer;display:block;font-size:26px;font-weight:700;height:50px;letter-spacing:.2em;line-height:1.5;margin:25px auto 10px;text-align:center;width:100%}.book-button:hover{background-color:#505050;border-color:#505050}.loader-container{align-items:center;display:flex;height:100%;justify-content:center;width:100%}.get-tickets-paper::-webkit-scrollbar{width:5px}.get-tickets-paper::-webkit-scrollbar-track{background:#f1f1f1}.get-tickets-paper::-webkit-scrollbar-thumb{background:#888}.get-tickets-paper::-webkit-scrollbar-thumb:hover{background:#555}.get-tickets .get-tickets__selectbox{width:100%}.disabled{pointer-events:none;user-select:none}.hidden{display:none}.event-closed-message{font-family:Bebas Neue;letter-spacing:.5px}.countdown p{margin:0}.countdown .title{font-weight:700}.countdown .message{font-weight:700;margin-top:20px}.waiting-list{padding:17px 35px 20px}.waiting-list .field-item{margin-bottom:30px}.waiting-list .waiting-list-button{width:100%!important}.waiting-list .waiting-list-button:hover{background-color:#505050}.waiting-list .success-message{margin-bottom:15px;text-align:center}.waiting-list .success-message p{margin:0}.waiting-list .no-tickets-text{font-weight:700;text-align:center}.waiting-list .added-success-message{font-size:22px;margin-bottom:10px}.my-ticket{padding:30px}.my-ticket-table{margin-top:30px}.my-ticket .loading{background-color:rgba(0,0,0,.4);height:100vh;justify-content:center;left:0;position:fixed;top:0;width:100%}.my-ticket .event-info,.my-ticket .loading{align-items:center;display:flex}.my-ticket thead th{font-weight:700}.my-ticket .event-info img{margin-right:10px;width:50px}.my-ticket .order-details-button{background-color:#32325d;border:none;border-radius:4px;color:#fff;cursor:pointer;padding:10px 14px;transition:all .15s ease}.my-ticket .order-details-button:hover{background-color:#505050}.order-details{margin:0 auto;max-width:940px}.order-details .loading{align-items:center;background-color:rgba(0,0,0,.4);display:flex;height:100vh;justify-content:center;left:0;position:fixed;top:0;width:100%;z-index:1400}.order-details .layout-title{font-size:24px;font-weight:400}.order-details .sub-title{font-size:18px;font-weight:400;margin:10px 0}.order-details .order-summary-box{margin-top:30px}.order-details .total-row td,.order-details th{color:#fff;font-weight:700}.order-details .tickets-box{margin-top:30px}.order-details .ticket-add-on-table{background-color:#fcf8e3}.order-details .action-button{background-color:#212529;border:1px solid #fff;border-radius:0;color:#fff;cursor:pointer;display:block;font-family:Bebas Neue;font-size:14px;font-weight:400;line-height:normal;margin-bottom:20px;margin-top:20px;min-height:auto;outline:none;overflow:hidden;padding:12px;position:relative;text-align:center;text-decoration:none;text-overflow:ellipsis;text-transform:uppercase;width:max-content}.order-details .download-button:hover{background-color:#505050}.order-details .personal-link{padding:20px 0}.order-details .total-referrer{padding:0 0 20px}.resale-modal .field-box{display:flex;margin-bottom:10px}.resale-modal .field-box .icon{align-items:center;display:flex;height:56px;justify-content:center;min-width:44px}.resale-modal .field-box .empty-box{min-width:44px}.resale-modal .resale-action-button button{background-color:#212529;color:#fff;cursor:pointer;width:100%}.resale-modal .resale-action-button button[disabled]{opacity:.7}.resale-modal .resale-action-button button:hover{background-color:#505050;border-color:#505050;width:100%}.confirm-modal .footer{border-top:1px solid #c0bfbf;display:flex;gap:10px;justify-content:flex-end}.confirm-modal .footer button,.confirm-modal .footer button:hover{font-size:12px;min-height:unset;padding:12px 8px;text-transform:unset;width:max-content}.confirm-modal .footer button:hover{background:#505050}.reset-password{margin:0 auto;max-width:300px;padding:14px}.reset-password .title{font-size:20px;font-weight:700}.reset-password .field-item{margin-top:14px}.reset-password .action-button button{background-color:#212529;border:none;border-radius:0;color:#fff;cursor:pointer;font-size:26px;font-weight:600;height:45px;line-height:18px;margin-top:14px;outline:none;padding:10px;text-transform:uppercase;width:100%}.reset-password .action-button button:hover:enabled{background-color:#505050;border-color:#505050}.reset-password .action-button button[disabled]{cursor:unset;opacity:.7}
package/package.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "1.2.0",
2
+ "version": "1.2.3",
3
3
  "license": "MIT",
4
4
  "main": "dist/index.js",
5
5
  "typings": "dist/index.d.ts",
package/src/api/index.ts CHANGED
@@ -161,13 +161,14 @@ export const handleSetAccessToken = (token: string) => {
161
161
  }
162
162
 
163
163
  export function getEvent(id: string | number) {
164
- let referralValue = ""
164
+ let referralValue = ''
165
165
  if (isWindowDefined) {
166
166
  const params = new URL(`${window.location}`)
167
167
  const referralId = params.searchParams.get('ttf_r') || ''
168
168
  const referral_key = window.localStorage.getItem('referral_key')
169
- let referralIdlocal = ""
169
+ let referralIdlocal = ''
170
170
  if (referral_key) {
171
+ // eslint-disable-next-line prefer-destructuring
171
172
  referralIdlocal = referral_key.split('.')[1]
172
173
  }
173
174
  referralValue = referralId || referralIdlocal
@@ -175,10 +176,12 @@ export function getEvent(id: string | number) {
175
176
 
176
177
  const response = publicRequest
177
178
  .get(`v1/event/${id}`, {
178
- headers: { ...ttfHeaders,
179
- "Referer-Url": isDocumentDefined ? document.referrer : '',
180
- "Referrer-Id": isWindowDefined ? referralValue : ''
181
- } })
179
+ headers: {
180
+ ...ttfHeaders,
181
+ 'Referer-Url': isDocumentDefined ? document.referrer : '',
182
+ 'Referrer-Id': isWindowDefined ? referralValue : '',
183
+ },
184
+ })
182
185
  .catch(error => {
183
186
  throw error
184
187
  })
@@ -203,12 +206,15 @@ export function getTickets(id: string | number, promoCode: string) {
203
206
  }
204
207
 
205
208
  export const addToCart = (id: string | number, data: any) => {
206
- const res = publicRequest.post(`v1/event/${id}/add-to-cart/`, {
207
- data,
208
- headers: {
209
- "Referer-Url": isDocumentDefined ? document.referrer : '',
209
+ const res = publicRequest.post(
210
+ `v1/event/${id}/add-to-cart/`,
211
+ { data },
212
+ {
213
+ headers: {
214
+ 'Referer-Url': isDocumentDefined ? document.referrer : '',
215
+ },
210
216
  }
211
- })
217
+ )
212
218
  return res
213
219
  }
214
220
 
@@ -247,8 +253,8 @@ export const getPaymentData = (hash: string) => {
247
253
  const response = publicRequest
248
254
  .get(`v1/order/${hash}/review/`, {
249
255
  headers: {
250
- "Referer-Url": isDocumentDefined ? document.referrer : '' ,
251
- }
256
+ 'Referer-Url': isDocumentDefined ? document.referrer : '',
257
+ },
252
258
  })
253
259
  .catch(error => {
254
260
  throw error
@@ -269,10 +275,10 @@ export const handlePaymentData = (orderHash: string, data: any) => {
269
275
 
270
276
  export const handlePaymentSuccess = (orderHash: string) => {
271
277
  const res = publicRequest
272
- .post(`v1/order/${orderHash}/success`, {
278
+ .post(`v1/order/${orderHash}/success`, undefined, {
273
279
  headers: {
274
- "Referer-Url": isDocumentDefined ? document.referrer : ''
275
- }
280
+ 'Referer-Url': isDocumentDefined ? document.referrer : '',
281
+ },
276
282
  })
277
283
  .catch(error => {
278
284
  throw error
@@ -282,10 +288,10 @@ export const handlePaymentSuccess = (orderHash: string) => {
282
288
 
283
289
  export const handleFreeSuccess = (orderHash: string) => {
284
290
  const res = publicRequest
285
- .post(`v1/order/${orderHash}/complete_free_registration`, {
291
+ .post(`v1/order/${orderHash}/complete_free_registration`, undefined, {
286
292
  headers: {
287
- "Referer-Url": isDocumentDefined ? document.referrer : ''
288
- }
293
+ 'Referer-Url': isDocumentDefined ? document.referrer : '',
294
+ },
289
295
  })
290
296
  .catch(error => {
291
297
  throw error
@@ -1,5 +1,11 @@
1
- import React, { FC, useEffect, useState, useRef } from 'react'
2
- import { AxiosError } from 'axios'
1
+ import './style.css'
2
+
3
+ import { CircularProgress, ThemeOptions } from '@mui/material'
4
+ import Backdrop from '@mui/material/Backdrop'
5
+ import Button from '@mui/material/Button'
6
+ import { createTheme, ThemeProvider } from '@mui/material/styles'
7
+ import { CSSProperties } from '@mui/styles'
8
+ import axios, { AxiosError } from 'axios'
3
9
  import {
4
10
  Field,
5
11
  Form,
@@ -8,29 +14,44 @@ import {
8
14
  FormikProps,
9
15
  FormikValues,
10
16
  } from 'formik'
11
- import Button from '@mui/material/Button'
12
- import _identity from 'lodash/identity'
13
- import _map from 'lodash/map'
14
17
  import _get from 'lodash/get'
18
+ import _identity from 'lodash/identity'
15
19
  import _includes from 'lodash/includes'
16
- import _isEqual from 'lodash/isEqual'
17
20
  import _isEmpty from 'lodash/isEmpty'
21
+ import _isEqual from 'lodash/isEqual'
22
+ import _map from 'lodash/map'
23
+ import { nanoid } from 'nanoid'
24
+ import React, { FC, useEffect, useRef, useState } from 'react'
18
25
 
19
- import './style.css'
20
- import { combineValidators, requiredValidator } from '../../validators'
21
- import { IBillingInfoData } from '../../types'
22
26
  import {
23
27
  getCart,
24
28
  getCountries,
25
29
  getProfileData,
30
+ getStates,
26
31
  postOnCheckout,
27
32
  register,
28
33
  setCustomHeader,
29
- getStates,
30
34
  } from '../../api'
35
+ import { IBillingInfoData } from '../../types'
36
+ import {
37
+ createCheckoutDataBodyWithDefaultHolder,
38
+ getCookieByName,
39
+ } from '../../utils'
40
+ import { ErrorFocus } from '../../utils/formikErrorFocus'
41
+ import { getQueryVariable } from '../../utils/getQueryVariable'
42
+ import { combineValidators, requiredValidator } from '../../validators'
43
+ import { DatePickerField } from '../common/DatePickerField'
44
+ import {
45
+ CheckboxField,
46
+ CustomField,
47
+ PhoneNumberField,
48
+ SelectField,
49
+ } from '../common/index'
50
+ import SnackbarAlert from '../common/SnackbarAlert'
51
+ import { ForgotPasswordModal } from '../forgotPasswordModal'
31
52
  import { LoginModal } from '../loginModal'
32
53
  import { SignupModal } from '../signupModal'
33
- import { ForgotPasswordModal } from '../forgotPasswordModal'
54
+ import TimerWidget from '../timerWidget'
34
55
  import {
35
56
  assingUniqueIds,
36
57
  createCheckoutDataBody,
@@ -39,19 +60,6 @@ import {
39
60
  getValidateFunctions,
40
61
  setLoggedUserData,
41
62
  } from './utils'
42
- import { createCheckoutDataBodyWithDefaultHolder, getCookieByName } from '../../utils'
43
- import axios from 'axios'
44
- import { CustomField, CheckboxField, SelectField, PhoneNumberField } from '../common/index'
45
- import { CircularProgress, ThemeOptions } from '@mui/material'
46
- import { nanoid } from 'nanoid'
47
- import { getQueryVariable } from '../../utils/getQueryVariable'
48
- import { ErrorFocus } from '../../utils/formikErrorFocus'
49
- import { ThemeProvider, createTheme } from '@mui/material/styles'
50
- import { CSSProperties } from '@mui/styles'
51
- import Backdrop from '@mui/material/Backdrop'
52
- import TimerWidget from '../timerWidget'
53
- import SnackbarAlert from '../common/SnackbarAlert'
54
- import { DatePickerField } from '../common/DatePickerField'
55
63
 
56
64
  export interface IBillingInfoPage {
57
65
  data?: IBillingInfoData[];
@@ -169,8 +177,10 @@ const LogicRunner: FC<{
169
177
  city: parsedData?.city || '',
170
178
  confirmPassword: '',
171
179
  password: '',
172
- 'holderFirstName-0': parsedData?.first_name || parsedData?.firstName || '',
173
- 'holderLastName-0': parsedData?.last_name || parsedData?.lastName || '',
180
+ 'holderFirstName-0':
181
+ parsedData?.first_name || parsedData?.firstName || '',
182
+ 'holderLastName-0':
183
+ parsedData?.last_name || parsedData?.lastName || '',
174
184
  'holderEmail-0': parsedData?.email || '',
175
185
  }
176
186
  setValues({ ...values, ...mappedValues })
@@ -225,7 +235,7 @@ export const BillingInfoContainer = ({
225
235
  enableTimer = false,
226
236
  logo,
227
237
  showForgotPasswordButton = false,
228
- showSignUpButton = false
238
+ showSignUpButton = false,
229
239
  }: IBillingInfoPage) => {
230
240
  const themeMui = createTheme(themeOptions)
231
241
  const isWindowDefined = typeof window !== 'undefined'
@@ -278,7 +288,7 @@ export const BillingInfoContainer = ({
278
288
  const showTicketHolders = getQueryVariable('names_required') === 'true'
279
289
  const eventId = getQueryVariable('event_id')
280
290
  const optedInFieldValue: boolean = _get(cartInfoData, 'optedIn', false)
281
- const ttfOptIn: boolean = Boolean(_get(cartInfoData, 'ttfOptIn', false))
291
+ const ttfOptIn = Boolean(_get(cartInfoData, 'ttfOptIn', false))
282
292
  const hideTtfOptIn: boolean = _get(cartInfoData, 'hide_ttf_opt_in', true)
283
293
  const expirationTime = _get(cartInfoData, 'expiresAt')
284
294
  const flagRequirePhone = getQueryVariable('phone_required') === 'true'
@@ -306,7 +316,7 @@ export const BillingInfoContainer = ({
306
316
  }
307
317
 
308
318
  useEffect(() => {
309
- if ((pIsLoggedIn !== isLoggedIn) || xtfCookie) {
319
+ if (pIsLoggedIn !== isLoggedIn || xtfCookie) {
310
320
  setIsLoggedIn(!!(pIsLoggedIn || xtfCookie))
311
321
  }
312
322
  }, [pIsLoggedIn, isLoggedIn, xtfCookie])
@@ -363,10 +373,7 @@ export const BillingInfoContainer = ({
363
373
  firstName: profileDataObj.first_name,
364
374
  lastName: profileDataObj.last_name,
365
375
  })
366
- window.localStorage.setItem(
367
- 'user_data',
368
- JSON.stringify(profileDataObj)
369
- )
376
+ window.localStorage.setItem('user_data', JSON.stringify(profileDataObj))
370
377
  onGetProfileDataSuccess(userDataResponse.data)
371
378
  }
372
379
  } catch (e) {
@@ -403,8 +410,10 @@ export const BillingInfoContainer = ({
403
410
  collectPaymentData()
404
411
  }, [skipPage, ticketsQuantity])
405
412
 
406
-
407
- const collectCheckoutBody = (values: object, profileData?: any): object => {
413
+ const collectCheckoutBody = (
414
+ values: Record<string, unknown>,
415
+ profileData?: any
416
+ ): Record<string, unknown> => {
408
417
  let checkoutBody = {}
409
418
 
410
419
  // Auto collect ticket holders name when it was skipped optionally
@@ -413,7 +422,7 @@ export const BillingInfoContainer = ({
413
422
  ticketsQuantity.length,
414
423
  values,
415
424
  true,
416
- { emailLogged, firstNameLogged, lastNameLogged },
425
+ { emailLogged, firstNameLogged, lastNameLogged }
417
426
  )
418
427
  } else {
419
428
  checkoutBody = createCheckoutDataBody(
@@ -421,8 +430,10 @@ export const BillingInfoContainer = ({
421
430
  values,
422
431
  {
423
432
  emailLogged: emailLogged || profileData.email,
424
- firstNameLogged: firstNameLogged || profileData.first_name || profileData.firstName,
425
- lastNameLogged: lastNameLogged || profileData.last_name || profileData.lastName,
433
+ firstNameLogged:
434
+ firstNameLogged || profileData.first_name || profileData.firstName,
435
+ lastNameLogged:
436
+ lastNameLogged || profileData.last_name || profileData.lastName,
426
437
  },
427
438
  showDOB
428
439
  )
@@ -435,7 +446,10 @@ export const BillingInfoContainer = ({
435
446
  localStorage.removeItem('referral_key')
436
447
  }
437
448
 
438
- if (loading || (enableTimer && !expirationTime && typeof window !== 'undefined')) {
449
+ if (
450
+ loading ||
451
+ (enableTimer && !expirationTime && typeof window !== 'undefined')
452
+ ) {
439
453
  if (expirationTime === 0) {
440
454
  // Redirect to homepage (countdown finished and browser reloaded case)
441
455
  window.location.href = '/'
@@ -511,15 +525,24 @@ export const BillingInfoContainer = ({
511
525
  setLoading(true)
512
526
  const resRegister = await register(bodyFormData)
513
527
  const xtfCookie = _get(resRegister, 'headers.x-tf-ecommerce')
514
- const accessToken = _get(resRegister, 'data.data.attributes.access_token')
515
- const refreshToken = _get(resRegister, 'data.data.attributes.refresh_token')
516
- const userProfile = _get(resRegister, 'data.data.attributes.user_profile')
528
+ const accessToken = _get(
529
+ resRegister,
530
+ 'data.data.attributes.access_token'
531
+ )
532
+ const refreshToken = _get(
533
+ resRegister,
534
+ 'data.data.attributes.refresh_token'
535
+ )
536
+ const userProfile = _get(
537
+ resRegister,
538
+ 'data.data.attributes.user_profile'
539
+ )
517
540
 
518
541
  onRegisterSuccess({
519
542
  xtfCookie,
520
543
  accessToken,
521
544
  refreshToken,
522
- userProfile
545
+ userProfile,
523
546
  })
524
547
  } catch (e) {
525
548
  setLoading(false)
@@ -530,10 +553,7 @@ export const BillingInfoContainer = ({
530
553
  }
531
554
  if (error?.password) {
532
555
  formikHelpers.setFieldError('password', error.password)
533
- formikHelpers.setFieldError(
534
- 'confirmPassword',
535
- error.password
536
- )
556
+ formikHelpers.setFieldError('confirmPassword', error.password)
537
557
  }
538
558
  if (error?.email && !onLogin) {
539
559
  // False will stand for outside controll
@@ -541,7 +561,10 @@ export const BillingInfoContainer = ({
541
561
  setShowModalLogin(true)
542
562
  }
543
563
 
544
- if (_includes(error, 'The cart is expired') && !hideErrorsAlertSection) {
564
+ if (
565
+ _includes(error, 'The cart is expired') &&
566
+ !hideErrorsAlertSection
567
+ ) {
545
568
  setError(error)
546
569
  }
547
570
 
@@ -657,7 +680,6 @@ export const BillingInfoContainer = ({
657
680
  const { groupClassname, groupItems } = group
658
681
  return (
659
682
  <React.Fragment key={group.uniqueId}>
660
-
661
683
  <div className={groupClassname}>
662
684
  {_map(
663
685
  groupItems.filter(el => {
@@ -678,7 +700,7 @@ export const BillingInfoContainer = ({
678
700
  'confirmPassword',
679
701
  'password-info',
680
702
  ].includes(element.name) &&
681
- isLoggedIn ? null : (
703
+ isLoggedIn ? null : (
682
704
  <React.Fragment key={element.uniqueId}>
683
705
  <div className={element.className}>
684
706
  {element.component ? (
@@ -686,9 +708,15 @@ export const BillingInfoContainer = ({
686
708
  ) : (
687
709
  <Field
688
710
  name={element.name}
689
- label={element.name === 'phone'
690
- ? `${element.label}${flagRequirePhone ? '' : ' (optional)'} `
691
- : element.label}
711
+ label={
712
+ element.name === 'phone'
713
+ ? `${element.label}${
714
+ flagRequirePhone
715
+ ? ''
716
+ : ' (optional)'
717
+ } `
718
+ : element.label
719
+ }
692
720
  type={element.type}
693
721
  validate={getValidateFunctions(
694
722
  element,
@@ -712,10 +740,13 @@ export const BillingInfoContainer = ({
712
740
  element.name === 'country'
713
741
  ? countries
714
742
  : element.name === 'state'
715
- ? states
716
- : []
743
+ ? states
744
+ : []
717
745
  }
718
746
  theme={theme}
747
+ disableDropdown={
748
+ element.disableDropdown
749
+ }
719
750
  />
720
751
  )}
721
752
  </div>
@@ -753,16 +784,25 @@ export const BillingInfoContainer = ({
753
784
  component={
754
785
  element.type === 'checkbox'
755
786
  ? CheckboxField
787
+ : element.type === 'phone'
788
+ ? PhoneNumberField
756
789
  : CustomField
757
790
  }
758
791
  validate={combineValidators(
759
792
  element.required
760
793
  ? requiredValidator
761
- : () => {},
794
+ : () =>
795
+ props.errors[
796
+ `${element.name}-${index}`
797
+ ],
762
798
  element.onValidate
763
799
  ? element.onValidate
764
- : () => {}
800
+ : () =>
801
+ props.errors[
802
+ `${element.name}-${index}`
803
+ ]
765
804
  )}
805
+ disableDropdown={element.disableDropdown}
766
806
  />
767
807
  </div>
768
808
  ))}
@@ -21,6 +21,7 @@ export const CheckboxField = ({
21
21
  selectOptions,
22
22
  theme,
23
23
  setFieldValue,
24
+ disableDropdown,
24
25
  ...rest
25
26
  }: ICheckboxField & IOtherProps) => {
26
27
  const customTheme: any = useTheme()
@@ -1,10 +1,11 @@
1
- import TextField from '@mui/material/TextField'
2
1
  import { FieldInputProps, FormikProps } from 'formik'
3
2
  import _debounce from 'lodash/debounce'
4
3
  import _get from 'lodash/get'
4
+ import MuiPhoneNumber from 'material-ui-phone-number'
5
5
  import React, { useCallback, useEffect } from 'react'
6
6
 
7
7
  import { validatePhoneNumber } from '../../api'
8
+ import { removePlusSign } from '../../normalizers'
8
9
 
9
10
  export interface IPhoneNumberField {
10
11
  label: string;
@@ -13,15 +14,17 @@ export interface IPhoneNumberField {
13
14
 
14
15
  // optional
15
16
  type: string;
17
+ disableDropdown: boolean;
16
18
  }
17
19
 
18
20
  export const PhoneNumberField = ({
19
21
  label,
20
- type = 'text',
21
22
  field,
22
- form: { errors, setFieldError, setStatus },
23
+ form: { errors,touched, setFieldError, setStatus, initialValues, setFieldValue },
24
+ disableDropdown = true
23
25
  }: IPhoneNumberField) => {
24
26
  const error = _get(errors, field.name)
27
+ const isTouched = Boolean(_get(touched, field.name))
25
28
 
26
29
  // eslint-disable-next-line react-hooks/exhaustive-deps
27
30
  const debounceCb = useCallback(
@@ -54,15 +57,18 @@ export const PhoneNumberField = ({
54
57
  }, [field.value])
55
58
 
56
59
  return (
57
- <TextField
58
- {...field}
59
- id={field.name}
60
+ <MuiPhoneNumber
61
+ name={field.name}
62
+ value={initialValues.phone}
63
+ onChange={(e: any) => setFieldValue(field.name, removePlusSign(e))}
64
+ variant="outlined"
65
+ defaultCountry='us'
66
+ disableDropdown={disableDropdown}
60
67
  label={label}
61
- type={type}
62
- fullWidth={true}
63
- error={!!error}
64
- helperText={error}
65
- value={field.value || ''}
68
+ error={!!error && isTouched}
69
+ helperText={isTouched && error}
70
+ fullWidth
71
+ autoFormat={false}
66
72
  />
67
73
  )
68
74
  }
@@ -18,6 +18,7 @@ export const RadioField = ({
18
18
  label,
19
19
  field,
20
20
  theme,
21
+ disableDropdown,
21
22
  ...rest
22
23
  }: IRadioField & IOtherProps) => {
23
24
  const customTheme: any = useTheme()
@@ -219,6 +219,11 @@ export const OrderDetailsContainer = ({
219
219
  <p>{`So far, you’ve referred ${data.sales_referred} tickets`}</p>
220
220
  </div>
221
221
  </div>
222
+ {data?.sales_referred ? (
223
+ <div className="total-referrer">
224
+ <b>So far, you've referred {data.sales_referred} tickets.</b>
225
+ </div>
226
+ ) : null}
222
227
  <TableContainer component={Paper}>
223
228
  <Table className="tt-type" aria-label="collapsible table">
224
229
  <TableHead>
@@ -71,3 +71,7 @@
71
71
  .order-details .personal-link {
72
72
  padding: 20px 0;
73
73
  }
74
+
75
+ .order-details .total-referrer {
76
+ padding: 0px 0px 20px 0px;
77
+ }
@@ -71,6 +71,7 @@ export interface IPaymentPage {
71
71
  onCountdownFinish?: () => void;
72
72
  enableTimer?: boolean;
73
73
  enablePaymentPlan?: boolean;
74
+ paymentButtonText?: string;
74
75
  }
75
76
 
76
77
  const initialOrderValues: IOrderData = {
@@ -98,16 +99,17 @@ export const PaymentContainer = ({
98
99
  errorText,
99
100
  checkoutData,
100
101
  onErrorClose = _identity,
101
- onGetPaymentDataSuccess = () => {},
102
- onGetPaymentDataError = () => {},
103
- onPaymentError = () => {},
102
+ onGetPaymentDataSuccess = () => { },
103
+ onGetPaymentDataError = () => { },
104
+ onPaymentError = () => { },
104
105
  stripeCardOptions = {},
105
106
  disableZipSection = false,
106
107
  themeOptions,
107
108
  elementsOptions,
108
- onCountdownFinish = () => {},
109
+ onCountdownFinish = () => { },
109
110
  enableTimer = false,
110
111
  enablePaymentPlan = false,
112
+ paymentButtonText
111
113
  }: IPaymentPage) => {
112
114
  const [reviewData, setReviewData] = useState(initialReviewValues)
113
115
  const [orderData, setOrderData] = useState(initialOrderValues)
@@ -166,10 +168,10 @@ export const PaymentContainer = ({
166
168
  setConditions(
167
169
  conditionsInfo
168
170
  ? conditionsInfo.map((item: string) => ({
169
- id: nanoid(),
170
- text: item,
171
- checked: false,
172
- }))
171
+ id: nanoid(),
172
+ text: item,
173
+ checked: false,
174
+ }))
173
175
  : []
174
176
  )
175
177
  }
@@ -316,15 +318,15 @@ export const PaymentContainer = ({
316
318
  conditions={conditions}
317
319
  stripeCardOptions={stripeCardOptions}
318
320
  disableZipSection={disableZipSection}
321
+ paymentButtonText={paymentButtonText}
319
322
  />
320
323
  </Elements>
321
324
  </div>
322
325
  </div>
323
326
  ) : (
324
327
  <div
325
- className={`payment_button ${
326
- paymentIsLoading ? 'disabled-payment-button' : ''
327
- }`}
328
+ className={`payment_button ${paymentIsLoading ? 'disabled-payment-button' : ''
329
+ }`}
328
330
  >
329
331
  <button
330
332
  disabled={paymentIsLoading}