diff --git a/public/css/README.md b/public/css/README.md index 74cd82e39..0b09019ec 100644 --- a/public/css/README.md +++ b/public/css/README.md @@ -6,8 +6,14 @@ This public/css folder uses a standalone .scss > .css setup. From a Terminal window, run the Sass Watch command from the public folder only: ```bash -sass --no-source-map --watch scss:css +sass --watch scss:css ``` This will compile and output .css files (into the public/css folder) that can be consumed by the Payment page. # Do not use the .css files on their own. You must use the .scss files and have Sass compile them to .css files. + +From a windows machine, I ran an install for sass even though it is listed in node_modules. It would not run unless I did an install: +npm install -g sass +sass --no-source-map --watch scss:css + +Then committed the css files and reverted the package.json file so I didn't commit an upgraded version of sass \ No newline at end of file diff --git a/public/css/hop-styling.css b/public/css/hop-styling.css index 8a9e68081..22b1b842c 100644 --- a/public/css/hop-styling.css +++ b/public/css/hop-styling.css @@ -203,3 +203,111 @@ body .cc-error-container #alert-message { background-color: #fcbfbb; border: 1px solid #d4281c; } + +#fmg-checkout-shared .form-group .list-group.radio .list-group-item { + border-radius: 5px; +} +#fmg-checkout-shared .form-group .list-group.radio .list-group-item label { + padding: 12px 20px; +} +#fmg-checkout-shared #afterpayParentDiv { + display: none; +} +#fmg-checkout-shared #applepay-and-paypal-container { + display: inline-flex; + width: 100%; + justify-content: space-between; +} +#fmg-checkout-shared #applepay-and-paypal-container #paypalParentDiv { + padding-left: 10px; +} +#fmg-checkout-shared #applepay-and-paypal-container .form-group { + margin: 0; + width: 100%; +} +#fmg-checkout-shared #applepay-and-paypal-container .form-group .list-group.paymentSelection #applepayParentLink { + margin: 0; + padding: 10px 0; + background-color: #000000; +} +#fmg-checkout-shared #applepay-and-paypal-container .form-group .list-group.paymentSelection #applepayParentLink label { + padding: 0; +} +#fmg-checkout-shared #applepay-and-paypal-container .form-group .list-group.paymentSelection #applepayParentLink label apple-pay-button { + vertical-align: middle; +} +#fmg-checkout-shared #applepay-and-paypal-container .form-group .list-group.paymentSelection #applepayParentLink.list-group-item { + border-radius: 100px; +} +#fmg-checkout-shared #applepay-and-paypal-container .form-group .list-group #paypalParentLink { + margin: 0; + padding: 2px 0; +} +#fmg-checkout-shared #applepay-and-paypal-container .form-group .list-group #paypalParentLink #paypalImage { + max-width: 40%; +} +#fmg-checkout-shared #applepay-and-paypal-container .form-group .list-group #paypalParentLink.list-group-item { + border-radius: 100px; +} +#fmg-checkout-shared #applepay-and-paypal-container.no-applepay .form-group { + width: 100%; +} +#fmg-checkout-shared #applepay-and-paypal-container.no-applepay .form-group#applepayParentDiv { + display: none; +} +#fmg-checkout-shared #applepay-and-paypal-container.no-applepay .form-group .list-group.paymentSelection { + width: 100%; +} +#fmg-checkout-shared #applepay-and-paypal-container.no-applepay .form-group .list-group #paypalParentLink #paypalImage { + max-width: 20%; +} +#fmg-checkout-shared #other-payments-container label { + display: inline-flex; + text-align: left; + align-items: flex-start; + justify-content: space-between; +} +#fmg-checkout-shared #other-payments-container label span.paymentOptionText { + margin: auto 0; + padding-left: 0; +} +#fmg-checkout-shared #other-payments-container #afterpayParentLink label > span:first-of-type { + width: 100%; +} +#fmg-checkout-shared #other-payments-container #afterpayParentLink label > span:last-of-type { + width: 0; +} +#fmg-checkout-shared #other-payments-container #creditCardParentDiv.active { + padding-bottom: 10px; + border: 1px solid #0070D1; + border-radius: 5px; +} +#fmg-checkout-shared #other-payments-container #creditCardParentDiv.active > .paymentSelection #creditCardParentLink { + border-bottom-color: #0070D1; + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; +} +#fmg-checkout-shared #other-payments-container #creditCardParentDiv .paymentSelection #creditCardImages { + width: 50%; + text-align: right; +} +#fmg-checkout-shared #other-payments-container #creditCardParentDiv .paymentSelection #creditCardImages > img { + width: 20%; +} +#fmg-checkout-shared #other-payments-container #creditCardParentDiv .creditCardSpecific { + padding: 0 2%; +} +#fmg-checkout-shared #other-payments-container #creditCardParentDiv .creditCardSpecific > .form-group { + width: 100%; +} +#fmg-checkout-shared #other-payments-container .italicSmall { + margin-top: 10px; +} +@media only screen and (max-device-width: 767px) { + #fmg-checkout-shared #applepay-and-paypal-container { + width: 100%; + } + #fmg-checkout-shared #other-payments-container > .form-group { + width: 100%; + } +} diff --git a/public/css/site-2020Styling.css b/public/css/site-2020Styling.css index 07d331589..a605df285 100644 --- a/public/css/site-2020Styling.css +++ b/public/css/site-2020Styling.css @@ -112,3 +112,400 @@ .creditCardSpecific { display: none; } + +* { + box-sizing: border-box; +} + +*:before, +*:after { + box-sizing: border-box; +} + +.form-group.radio .list-group .list-group-item { + border-radius: 22px; + text-align: center; + box-shadow: 0 1px 5px 0 rgba(0, 0, 0, 0.2); +} + +.form-group.radio .list-group .list-group-item .radio .list-group, +.form-group.radio .list-group .list-group-item .radio.list-group { + margin: 0 0 22px 0; +} + +.form-group.radio .list-group .list-group-item > label { + padding: 10px 32px 10px 32px; +} + +.form-group.radio .list-group .list-group-item .checkbox .list-group .list-group-item label, +.form-group.radio .list-group .list-group-item .radio .list-group .list-group-item label, +.form-group.radio .list-group .list-group-item .checkbox.list-group .list-group-item label, +.form-group.radio .list-group .list-group-item .radio.list-group .list-group-item label { + padding-left: 55px; +} + +.list-group.radio .list-group-item { + border-radius: 22px; + text-align: center; + box-shadow: 0 1px 5px 0 rgba(0, 0, 0, 0.2); +} + +.list-group.radio .list-group-item .radio .list-group, +.list-group.radio .list-group-item .radio.list-group { + margin: 0 0 22px 0; +} + +.list-group.radio .list-group-item > label { + padding: 10px 32px 10px 32px; +} + +@media (max-width: 992px) { + .list-group.radio .list-group-item > label { + padding: 12px 20px 12px 20px; + } +} +html .list-group .list-group-item .list-group.radio .list-group-item { + text-align: left; + border-radius: 0; +} + +html .list-group .list-group-item .list-group.radio .list-group-item input[type=radio] { + visibility: visible; +} + +html .in-shop.vspacing .list-group.radio.vspacing .list-group-item { + border-radius: 48px; +} + +.row > .form-group > .glyphicon { + right: 15px; +} + +.form-group { + margin-bottom: 10px; +} + +.form-group .control-label { + display: block; + margin-bottom: 2px; +} + +.form-group .form-control { + margin-bottom: 2px; +} + +@media (min-width: 500px) { + .form-group { + width: 80%; + } +} +@media (min-width: 800px) { + .form-group { + width: 60%; + } +} +.list-group { + margin-bottom: 20px; + padding-left: 0; +} + +.list-group-item { + position: relative; + display: block; + padding: 10px 15px; + margin-bottom: -1px; + background-color: #ffffff; + border: 1px solid #dddddd; +} + +.list-group-item:first-child { + border-top-right-radius: 5px; + border-top-left-radius: 5px; +} + +.list-group-item:last-child { + margin-bottom: 0; + border-bottom-right-radius: 5px; + border-bottom-left-radius: 5px; +} + +a.list-group-item { + color: #555555; +} + +a.list-group-item .list-group-item-heading { + color: #333333; +} + +a.list-group-item:hover, +a.list-group-item:focus { + text-decoration: none; + color: #555555; + background-color: #f5f5f5; +} + +.list-group-item.disabled, +.list-group-item.disabled:hover, +.list-group-item.disabled:focus { + background-color: #f0f1f2; + color: #9aa1a3; + cursor: not-allowed; +} + +.list-group-item.disabled .list-group-item-heading, +.list-group-item.disabled:hover .list-group-item-heading, +.list-group-item.disabled:focus .list-group-item-heading { + color: inherit; +} + +.list-group-item.disabled .list-group-item-text, +.list-group-item.disabled:hover .list-group-item-text, +.list-group-item.disabled:focus .list-group-item-text { + color: #9aa1a3; +} + +.list-group-item.active, +.list-group-item.active:hover, +.list-group-item.active:focus { + z-index: 2; + color: #ffffff; + background-color: #167cac; + border-color: #167cac; +} + +.list-group-item.active .list-group-item-heading, +.list-group-item.active:hover .list-group-item-heading, +.list-group-item.active:focus .list-group-item-heading, +.list-group-item.active .list-group-item-heading > small, +.list-group-item.active:hover .list-group-item-heading > small, +.list-group-item.active:focus .list-group-item-heading > small, +.list-group-item.active .list-group-item-heading > .small, +.list-group-item.active:hover .list-group-item-heading > .small, +.list-group-item.active:focus .list-group-item-heading > .small { + color: inherit; +} + +.list-group-item.active .list-group-item-text, +.list-group-item.active:hover .list-group-item-text, +.list-group-item.active:focus .list-group-item-text { + color: #9cd7f2; +} + +.list-group-item-success { + color: #cacbcc; + background-color: #e6f2ec; +} + +a.list-group-item-success { + color: #cacbcc; +} + +a.list-group-item-success .list-group-item-heading { + color: inherit; +} + +a.list-group-item-success:hover, +a.list-group-item-success:focus { + color: #cacbcc; + background-color: #d5e9df; +} + +a.list-group-item-success.active, +a.list-group-item-success.active:hover, +a.list-group-item-success.active:focus { + color: #fff; + background-color: #cacbcc; + border-color: #cacbcc; +} + +.list-group-item-info { + color: #125b7e; + background-color: #e7f1f6; +} + +a.list-group-item-info { + color: #125b7e; +} + +a.list-group-item-info .list-group-item-heading { + color: inherit; +} + +a.list-group-item-info:hover, +a.list-group-item-info:focus { + color: #125b7e; + background-color: #d4e6ef; +} + +a.list-group-item-info.active, +a.list-group-item-info.active:hover, +a.list-group-item-info.active:focus { + color: #fff; + background-color: #125b7e; + border-color: #125b7e; +} + +.list-group-item-warning { + color: #f8af1c; + background-color: #fef6e8; +} + +a.list-group-item-warning { + color: #f8af1c; +} + +a.list-group-item-warning .list-group-item-heading { + color: inherit; +} + +a.list-group-item-warning:hover, +a.list-group-item-warning:focus { + color: #f8af1c; + background-color: #fdecd0; +} + +a.list-group-item-warning.active, +a.list-group-item-warning.active:hover, +a.list-group-item-warning.active:focus { + color: #fff; + background-color: #f8af1c; + border-color: #f8af1c; +} + +.list-group-item-danger { + color: #da291c; + background-color: #fbe9e8; +} + +a.list-group-item-danger { + color: #da291c; +} + +a.list-group-item-danger .list-group-item-heading { + color: inherit; +} + +a.list-group-item-danger:hover, +a.list-group-item-danger:focus { + color: #da291c; + background-color: #f7d4d2; +} + +a.list-group-item-danger.active, +a.list-group-item-danger.active:hover, +a.list-group-item-danger.active:focus { + color: #fff; + background-color: #da291c; + border-color: #da291c; +} + +.list-group-item-heading { + margin-top: 0; + margin-bottom: 5px; +} + +.list-group-item-text { + margin-bottom: 0; + line-height: 1.3; +} + +.radio .list-group.paymentSelection, .radio.list-group.paymentSelection { + margin-top: 0; + margin-bottom: 0; +} +@media (max-width: 33.9em) { + .radio .list-group.paymentSelection label, .radio .list-group.paymentSelection a, .radio.list-group.paymentSelection label, .radio.list-group.paymentSelection a { + max-height: 52px; + } +} + +.radio, +.checkbox, +.form-group.checkbox .list-group, +.form-group.checkbox .list-group, +.form-group.radio .list-group, +.form-group.radio .list-group, +.checkbox.list-group, +.checkbox.list-group, +.radio.list-group, +.radio.list-group { + position: relative; + display: block; + margin-top: 10px; + margin-bottom: 10px; +} + +.form-group.checkbox .list-group .list-group-item > label, +.form-group.radio .list-group .list-group-item > label, +.checkbox.list-group .list-group-item > label, +.radio.list-group .list-group-item > label { + margin-bottom: initial; + width: 100%; + font-weight: normal; + padding: 12px 27px 12px 33px; + color: #525656; +} + +.form-group.checkbox .list-group .list-group-item, +.form-group.radio .list-group .list-group-item, +.checkbox.list-group .list-group-item, +.radio.list-group .list-group-item { + margin-bottom: 12px; + border-width: 1px; + /* border-color: #cacbcc; */ + border-radius: 5px; + padding: 0; +} + +.form-group.checkbox .list-group .list-group-item.active, +.form-group.radio .list-group .list-group-item.active, +.checkbox.list-group .list-group-item.active, +.radio.list-group .list-group-item.active { + background-color: #e7f1f6; + color: #000000; +} + +.radio label, +.checkbox label { + min-height: 23px; + padding-left: 20px; + margin-bottom: 0; + font-weight: normal; + cursor: pointer; + color: #525656; +} + +img { + vertical-align: middle; +} + +#paypalParentLink label, +#afterpayParentLink label, +#creditCardParentLink label { + padding-top: 9px; + padding-bottom: 9px; +} + +#paypalParentLink label .paymentOptionText, +#creditCardParentLink label .paymentOptionText { + padding-left: 20px; + text-align: left; +} + +html #creditCardParentLink.list-group-item { + border-radius: 48px; + text-align: center; +} + +@media (max-width: 992px) { + .list-group.radio .list-group-item > label { + padding: 12px 20px 12px 20px; + } +} +label { + display: inline-block; + max-width: 100%; + margin-bottom: 5px; + font-weight: 500; + color: #000000; +} diff --git a/public/index.html b/public/index.html index edf50a0f4..e88f8ca8f 100644 --- a/public/index.html +++ b/public/index.html @@ -5,6 +5,7 @@ window.dataLayer = [{}]; + diff --git a/public/scss/hop-styling.scss b/public/scss/hop-styling.scss index ec4a7f203..bf61cecf7 100644 --- a/public/scss/hop-styling.scss +++ b/public/scss/hop-styling.scss @@ -220,5 +220,181 @@ body { border: 1px solid #d4281c; } } - } + +#fmg-checkout-shared { + .form-group { + .list-group { + &.radio { + .list-group-item { + border-radius: 5px; + + label { + padding: 12px 20px; + } + } + } + } + } + + #afterpayParentDiv { + display: none; + } + + #applepay-and-paypal-container { + display: inline-flex; + width: 100%; + + justify-content: space-between; + + #paypalParentDiv { + padding-left: 10px; + } + + .form-group { + margin: 0; + width: 100%; + + .list-group { + &.paymentSelection { + + #applepayParentLink { + margin: 0; + padding: 10px 0; + background-color: #000000; + + label { + padding: 0; + + apple-pay-button { + vertical-align: middle; + } + } + + &.list-group-item { + border-radius: 100px; + } + } + } + + #paypalParentLink { + margin: 0; + padding: 2px 0; + + #paypalImage { + max-width: 40%; + } + + &.list-group-item { + border-radius: 100px; + } + } + } + } + + &.no-applepay { + .form-group { + width: 100%; + + applepayParentDiv { + display: none; + } + + .list-group { + &.paymentSelection { + width: 100%; + } + + #paypalParentLink { + + #paypalImage { + max-width: 20%; + } + } + } + } + } + } + + #other-payments-container { + label { + display: inline-flex; + text-align: left; + + align-items: flex-start; + justify-content: space-between; + + span { + &.paymentOptionText { + margin: auto 0; + padding-left: 0; + } + } + } + + #afterpayParentLink { + label { + > span { + &:first-of-type { + width: 100%; + } + + &:last-of-type { + width: 0; + } + } + } + } + + #creditCardParentDiv { + &.active { + padding-bottom: 10px; + border: 1px solid #0070D1; + border-radius: 5px; + + > .paymentSelection { + #creditCardParentLink { + border-bottom-color: #0070D1; + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; + } + } + } + + .paymentSelection { + #creditCardImages { + width: 50%; + text-align: right; + + > img { + width: 20%; + } + } + } + + .creditCardSpecific { + padding: 0 2%; + + > .form-group { + width: 100%; + } + } + } + + .italicSmall { + margin-top: 10px; + } + } + + @media only screen and (max-device-width: 767px) { + #applepay-and-paypal-container { + width: 100%; + } + + #other-payments-container { + > .form-group { + width: 100%; + } + } + } +} \ No newline at end of file diff --git a/public/scss/site-2020Styling.scss b/public/scss/site-2020Styling.scss index 3cd0839bc..ec72ae1b9 100644 --- a/public/scss/site-2020Styling.scss +++ b/public/scss/site-2020Styling.scss @@ -116,3 +116,360 @@ .creditCardSpecific { display: none; } + +* { + box-sizing: border-box; +} + +*:before, +*:after { + box-sizing: border-box; +} + +.form-group.radio .list-group .list-group-item { + border-radius: 22px; + text-align: center; + box-shadow: 0 1px 5px 0 rgba(0, 0, 0, 0.2); + } + .form-group.radio .list-group .list-group-item .radio .list-group, + .form-group.radio .list-group .list-group-item .radio.list-group { + margin: 0 0 22px 0; + } + .form-group.radio .list-group .list-group-item > label { + padding: 10px 32px 10px 32px; + } + .form-group.radio .list-group .list-group-item .checkbox .list-group .list-group-item label, + .form-group.radio .list-group .list-group-item .radio .list-group .list-group-item label, + .form-group.radio .list-group .list-group-item .checkbox.list-group .list-group-item label, + .form-group.radio .list-group .list-group-item .radio.list-group .list-group-item label { + padding-left: 55px; + } + .list-group.radio .list-group-item { + border-radius: 22px; + text-align: center; + box-shadow: 0 1px 5px 0 rgba(0, 0, 0, 0.2); + } + .list-group.radio .list-group-item .radio .list-group, + .list-group.radio .list-group-item .radio.list-group { + margin: 0 0 22px 0; + } + .list-group.radio .list-group-item > label { + padding: 10px 32px 10px 32px; + } + @media (max-width: 992px) { + .list-group.radio .list-group-item > label { + padding: 12px 20px 12px 20px; + } + } + html .list-group .list-group-item .list-group.radio .list-group-item { + text-align: left; + border-radius: 0; + } + html .list-group .list-group-item .list-group.radio .list-group-item input[type="radio"] { + visibility: visible; + } + html .in-shop.vspacing .list-group.radio.vspacing .list-group-item { + border-radius: 48px; + } + .row > .form-group > .glyphicon { + right: 15px; + } + + .form-group { + margin-bottom: 10px; + } + + .form-group .control-label { + display: block; + margin-bottom: 2px; + } + + .form-group .form-control { + margin-bottom: 2px; + } + + @media (min-width: 500px) { + .form-group { + width: 80%; + } + } + @media (min-width: 800px) { + .form-group { + width: 60%; + } + } + + .list-group { + margin-bottom: 20px; + padding-left: 0; + } + .list-group-item { + position: relative; + display: block; + padding: 10px 15px; + margin-bottom: -1px; + background-color: #ffffff; + border: 1px solid #dddddd; + } + .list-group-item:first-child { + border-top-right-radius: 5px; + border-top-left-radius: 5px; + } + .list-group-item:last-child { + margin-bottom: 0; + border-bottom-right-radius: 5px; + border-bottom-left-radius: 5px; + } + a.list-group-item { + color: #555555; + } + a.list-group-item .list-group-item-heading { + color: #333333; + } + a.list-group-item:hover, + a.list-group-item:focus { + text-decoration: none; + color: #555555; + background-color: #f5f5f5; + } + .list-group-item.disabled, + .list-group-item.disabled:hover, + .list-group-item.disabled:focus { + background-color: #f0f1f2; + color: #9aa1a3; + cursor: not-allowed; + } + .list-group-item.disabled .list-group-item-heading, + .list-group-item.disabled:hover .list-group-item-heading, + .list-group-item.disabled:focus .list-group-item-heading { + color: inherit; + } + .list-group-item.disabled .list-group-item-text, + .list-group-item.disabled:hover .list-group-item-text, + .list-group-item.disabled:focus .list-group-item-text { + color: #9aa1a3; + } + .list-group-item.active, + .list-group-item.active:hover, + .list-group-item.active:focus { + z-index: 2; + color: #ffffff; + background-color: #167cac; + border-color: #167cac; + } + .list-group-item.active .list-group-item-heading, + .list-group-item.active:hover .list-group-item-heading, + .list-group-item.active:focus .list-group-item-heading, + .list-group-item.active .list-group-item-heading > small, + .list-group-item.active:hover .list-group-item-heading > small, + .list-group-item.active:focus .list-group-item-heading > small, + .list-group-item.active .list-group-item-heading > .small, + .list-group-item.active:hover .list-group-item-heading > .small, + .list-group-item.active:focus .list-group-item-heading > .small { + color: inherit; + } + .list-group-item.active .list-group-item-text, + .list-group-item.active:hover .list-group-item-text, + .list-group-item.active:focus .list-group-item-text { + color: #9cd7f2; + } + .list-group-item-success { + color: #cacbcc; + background-color: #e6f2ec; + } + a.list-group-item-success { + color: #cacbcc; + } + a.list-group-item-success .list-group-item-heading { + color: inherit; + } + a.list-group-item-success:hover, + a.list-group-item-success:focus { + color: #cacbcc; + background-color: #d5e9df; + } + a.list-group-item-success.active, + a.list-group-item-success.active:hover, + a.list-group-item-success.active:focus { + color: #fff; + background-color: #cacbcc; + border-color: #cacbcc; + } + .list-group-item-info { + color: #125b7e; + background-color: #e7f1f6; + } + a.list-group-item-info { + color: #125b7e; + } + a.list-group-item-info .list-group-item-heading { + color: inherit; + } + a.list-group-item-info:hover, + a.list-group-item-info:focus { + color: #125b7e; + background-color: #d4e6ef; + } + a.list-group-item-info.active, + a.list-group-item-info.active:hover, + a.list-group-item-info.active:focus { + color: #fff; + background-color: #125b7e; + border-color: #125b7e; + } + .list-group-item-warning { + color: #f8af1c; + background-color: #fef6e8; + } + a.list-group-item-warning { + color: #f8af1c; + } + a.list-group-item-warning .list-group-item-heading { + color: inherit; + } + a.list-group-item-warning:hover, + a.list-group-item-warning:focus { + color: #f8af1c; + background-color: #fdecd0; + } + a.list-group-item-warning.active, + a.list-group-item-warning.active:hover, + a.list-group-item-warning.active:focus { + color: #fff; + background-color: #f8af1c; + border-color: #f8af1c; + } + .list-group-item-danger { + color: #da291c; + background-color: #fbe9e8; + } + a.list-group-item-danger { + color: #da291c; + } + a.list-group-item-danger .list-group-item-heading { + color: inherit; + } + a.list-group-item-danger:hover, + a.list-group-item-danger:focus { + color: #da291c; + background-color: #f7d4d2; + } + a.list-group-item-danger.active, + a.list-group-item-danger.active:hover, + a.list-group-item-danger.active:focus { + color: #fff; + background-color: #da291c; + border-color: #da291c; + } + .list-group-item-heading { + margin-top: 0; + margin-bottom: 5px; + } + .list-group-item-text { + margin-bottom: 0; + line-height: 1.3; + } + + +.radio .list-group.paymentSelection, .radio.list-group.paymentSelection { + margin-top: 0; + margin-bottom: 0; + + @media (max-width: 33.9em) { + label, a { + max-height: 52px; + } + } +} + +.radio, +.checkbox, +.form-group.checkbox .list-group, +.form-group.checkbox .list-group, +.form-group.radio .list-group, +.form-group.radio .list-group, +.checkbox.list-group, +.checkbox.list-group, +.radio.list-group, +.radio.list-group { + position: relative; + display: block; + margin-top: 10px; + margin-bottom: 10px; +} + +.form-group.checkbox .list-group .list-group-item > label, +.form-group.radio .list-group .list-group-item > label, +.checkbox.list-group .list-group-item > label, +.radio.list-group .list-group-item > label { + margin-bottom: initial; + width: 100%; + font-weight: normal; + padding: 12px 27px 12px 33px; + color: #525656; +} + +.form-group.checkbox .list-group .list-group-item, +.form-group.radio .list-group .list-group-item, +.checkbox.list-group .list-group-item, +.radio.list-group .list-group-item { + margin-bottom: 12px; + border-width: 1px; + /* border-color: #cacbcc; */ + border-radius: 5px; + padding: 0; +} + +.form-group.checkbox .list-group .list-group-item.active, +.form-group.radio .list-group .list-group-item.active, +.checkbox.list-group .list-group-item.active, +.radio.list-group .list-group-item.active { + background-color: #e7f1f6; + color: #000000; +} + +.radio label, +.checkbox label { + min-height: 23px; + padding-left: 20px; + margin-bottom: 0; + font-weight: normal; + cursor: pointer; + color: #525656; +} + +img { + vertical-align: middle; +} + +#paypalParentLink label, +#afterpayParentLink label, +#creditCardParentLink label { + padding-top: 9px; + padding-bottom: 9px; +} + +#paypalParentLink label .paymentOptionText, +#creditCardParentLink label .paymentOptionText { + padding-left: 20px; + text-align: left; +} + +html #creditCardParentLink.list-group-item { + border-radius: 48px; + text-align: center; +} + +@media (max-width: 992px) { + .list-group.radio .list-group-item > label { + padding: 12px 20px 12px 20px; + } +} + +label { + display: inline-block; + max-width: 100%; + margin-bottom: 5px; + font-weight: 500; + color: #000000; +} \ No newline at end of file diff --git a/src/constants/application-config.js b/src/constants/application-config.js index 25d24d5c8..d4a0ceb8c 100644 --- a/src/constants/application-config.js +++ b/src/constants/application-config.js @@ -5,6 +5,7 @@ const applicationConfig = { SAVED_SESSION_TIMEOUT_DAYS: 45, COOKIE_PATH: "/", CURRENT_ENVIRONMENT: process.env.VUE_APP_CURRENT_ENVIRONMENT, // "Localhost", "Dev", "QA", and "Prod" + HERITAGE_FUNNEL: process.env.VUE_APP_HERITAGE_FUNNEL, APPLICATION_NAME: "FixMyGlass", ANALYTICS_APPLICATION_NAME: "FixMyGlassNextGen", APPLICATION_ABBREVIATION: "fmg", diff --git a/src/constants/endpoints.js b/src/constants/endpoints.js index f738e707c..2d4a823c2 100644 --- a/src/constants/endpoints.js +++ b/src/constants/endpoints.js @@ -33,15 +33,15 @@ const endpoints = { method: "GET", }, LookupVehicleByVin: { - url: "/vehicle/api/v1/vehicle/Lookup", + url: "/vehicle/api/v1/vehicle/lookup", method: "POST", }, LookupVinByPlate: { - url: "/vehicle/api/v1/vehicle/lookup-vin-by-plate", + url: "/vehicle/api/v1/vehicle/lookup-by-plate", method: "POST", }, LookupVinByAddress: { - url: "/vehicle/api/v1/vehicle/lookup-vin-by-address", + url: "/vehicle/api/v1/vehicle/lookup-by-address", method: "POST", }, LookupVinByImage: { diff --git a/src/constants/error-messages.js b/src/constants/error-messages.js index 71c782856..4326a5412 100644 --- a/src/constants/error-messages.js +++ b/src/constants/error-messages.js @@ -24,6 +24,7 @@ const errorMessages = { VIN_FORMAT: "Invalid VIN. Please make sure that you entered the correct 17-digit, alpha-numeric number. VINs do not contain the letters I, O, or Q", OPTION_REQUIRED: "Please select an option", + RECAL_ACK_REQUIRED: "Please acknowledge recalibration alert", VEHICLE_REQUIRED: "Please select a vehicle", MOBILE_LOCATION_REQUIRED: "Please enter your service address", DATE_REQUIRED: "Please select a date", diff --git a/src/constants/experiments.js b/src/constants/experiments.js index ee83ec447..eb7fed508 100644 --- a/src/constants/experiments.js +++ b/src/constants/experiments.js @@ -4,6 +4,7 @@ const experimentUniverses = { const experimentSettings = { GOOGLE_CUSTOM_DIMENSION_INDEX: "Google Custom Dimension Index", + SUPPRESS_VIN_CAPTURE: "SuppressVinCapture", DISPLAY_AVAILABILITY_INDICATORS: "DisplayAvailabilityIndicators", PIA_EXPERIENCE: "PIA Experience", PIA_INSURANCE: "DisplayPIAInsurance", diff --git a/src/constants/payment-method-constants.js b/src/constants/payment-method-constants.js index 0799f2b2a..4f4c83e1a 100644 --- a/src/constants/payment-method-constants.js +++ b/src/constants/payment-method-constants.js @@ -4,4 +4,7 @@ export const paymentMethods = { CREDIT_CARD: "CreditCard", PAYPAL: "Paypal", AFTERPAY: "Afterpay", + PAY_NOW: "PayNow", + INSURANCE: "Insurance", + APPLE_PAY: "ApplePay", }; diff --git a/src/digital-components/button-question/button-question.vue b/src/digital-components/button-question/button-question.vue index 24a8b8f41..e1df5cba1 100644 --- a/src/digital-components/button-question/button-question.vue +++ b/src/digital-components/button-question/button-question.vue @@ -213,7 +213,7 @@ export default { classes = "ui-checkbox d-flex"; break; case "servicePackageRadio": - classes = "package-main"; + classes = "package-main d-md-flex justify-content-md-center"; break; } return classes; @@ -226,7 +226,7 @@ export default { if (this.buttonTypeString == "radio") { classes += " radio-button-container"; } else if (this.buttonTypeString == "servicePackageRadio") { - classes = "package-wrapper"; + classes = "package-wrapper col-md-4"; } if (this.buttonTypeString == "listCard" && this.buttonsInfo.length > 2) { @@ -255,7 +255,7 @@ export default { buttonFooterCopy: answer.buttonFooterCopy ?? answer.buttonFooterCopy, buttonImage: answer.buttonImage ?? answer.AnswerImageUrl, buttonImageId: answer.buttonImageId ?? answer.ImageId, - additionalButtonData: answer.additionalButtonData, + additionalButtonData: answer.additionalButtonData ?? answer.additionalButtonData, groupName: this.formatString(this.groupName), value: answer.value ?? diff --git a/src/digital-components/checkbox-question/checkbox-question.spec.js b/src/digital-components/checkbox-question/checkbox-question.spec.js index 3c5d75bf9..fa9fc5294 100644 --- a/src/digital-components/checkbox-question/checkbox-question.spec.js +++ b/src/digital-components/checkbox-question/checkbox-question.spec.js @@ -29,11 +29,25 @@ describe("checkbox-question.vue", () => { expect(input.attributes().name).toEqual("Checkbox"); }); - it("Should return checkbox id", async () => { + it("Should return default id when no custom id is specified", async () => { + // Act + const wrapper = shallowMount(checkboxQuestion, { + propsData: {}, + mixins: [mockMixin], + }); + + // Assert + const input = wrapper.find("input"); + + // Expect + expect(input.attributes().id).not.toBeFalsy(); + }); + + it("Should return custom id when specified", async () => { // Act const wrapper = shallowMount(checkboxQuestion, { propsData: { - buttonID: "Checkbox ID", + customInputId: "Checkbox ID", }, mixins: [mockMixin], }); diff --git a/src/digital-components/checkbox-question/checkbox-question.vue b/src/digital-components/checkbox-question/checkbox-question.vue index 6d3777210..d16c27df3 100644 --- a/src/digital-components/checkbox-question/checkbox-question.vue +++ b/src/digital-components/checkbox-question/checkbox-question.vue @@ -10,32 +10,67 @@ type="checkbox" aria-checked="false" :name="checkboxName" - :id="buttonID" + :validationRules="validationRules" + :id="inputId" :tabindex="tabIndex" :aria-required="isRequired" /> -
+