@spot-flow/checkout-inline-js 0.0.7 → 0.1.16

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.
@@ -0,0 +1 @@
1
+ export declare function Property(): (target: any, key: string) => void;
package/dist/index.css CHANGED
@@ -1 +1 @@
1
- *:where(#checkout-modal,#checkout-modal *),:before:where(#checkout-modal,#checkout-modal *),:after:where(#checkout-modal,#checkout-modal *){box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before:where(#checkout-modal,#checkout-modal *),:after:where(#checkout-modal,#checkout-modal *){--tw-content: ""}#checkout-modal{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}#checkout-modal{margin:0;line-height:inherit}hr:where(#checkout-modal,#checkout-modal *){height:0;color:inherit;border-top-width:1px}abbr:where([title]):where(#checkout-modal,#checkout-modal *){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1:where(#checkout-modal,#checkout-modal *),h2:where(#checkout-modal,#checkout-modal *),h3:where(#checkout-modal,#checkout-modal *),h4:where(#checkout-modal,#checkout-modal *),h5:where(#checkout-modal,#checkout-modal *),h6:where(#checkout-modal,#checkout-modal *){font-size:inherit;font-weight:inherit}a:where(#checkout-modal,#checkout-modal *){color:inherit;text-decoration:inherit}b:where(#checkout-modal,#checkout-modal *),strong:where(#checkout-modal,#checkout-modal *){font-weight:bolder}code:where(#checkout-modal,#checkout-modal *),kbd:where(#checkout-modal,#checkout-modal *),samp:where(#checkout-modal,#checkout-modal *),pre:where(#checkout-modal,#checkout-modal *){font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small:where(#checkout-modal,#checkout-modal *){font-size:80%}sub:where(#checkout-modal,#checkout-modal *),sup:where(#checkout-modal,#checkout-modal *){font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub:where(#checkout-modal,#checkout-modal *){bottom:-.25em}sup:where(#checkout-modal,#checkout-modal *){top:-.5em}table:where(#checkout-modal,#checkout-modal *){text-indent:0;border-color:inherit;border-collapse:collapse}button:where(#checkout-modal,#checkout-modal *),input:where(#checkout-modal,#checkout-modal *),optgroup:where(#checkout-modal,#checkout-modal *),select:where(#checkout-modal,#checkout-modal *),textarea:where(#checkout-modal,#checkout-modal *){font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button:where(#checkout-modal,#checkout-modal *),select:where(#checkout-modal,#checkout-modal *){text-transform:none}button:where(#checkout-modal,#checkout-modal *),input:where([type=button]):where(#checkout-modal,#checkout-modal *),input:where([type=reset]):where(#checkout-modal,#checkout-modal *),input:where([type=submit]):where(#checkout-modal,#checkout-modal *){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring:where(#checkout-modal,#checkout-modal *){outline:auto}:-moz-ui-invalid:where(#checkout-modal,#checkout-modal *){box-shadow:none}progress:where(#checkout-modal,#checkout-modal *){vertical-align:baseline}::-webkit-inner-spin-button:where(#checkout-modal,#checkout-modal *),::-webkit-outer-spin-button:where(#checkout-modal,#checkout-modal *){height:auto}[type=search]:where(#checkout-modal,#checkout-modal *){-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration:where(#checkout-modal,#checkout-modal *){-webkit-appearance:none}::-webkit-file-upload-button:where(#checkout-modal,#checkout-modal *){-webkit-appearance:button;font:inherit}summary:where(#checkout-modal,#checkout-modal *){display:list-item}blockquote:where(#checkout-modal,#checkout-modal *),dl:where(#checkout-modal,#checkout-modal *),dd:where(#checkout-modal,#checkout-modal *),h1:where(#checkout-modal,#checkout-modal *),h2:where(#checkout-modal,#checkout-modal *),h3:where(#checkout-modal,#checkout-modal *),h4:where(#checkout-modal,#checkout-modal *),h5:where(#checkout-modal,#checkout-modal *),h6:where(#checkout-modal,#checkout-modal *),hr:where(#checkout-modal,#checkout-modal *),figure:where(#checkout-modal,#checkout-modal *),p:where(#checkout-modal,#checkout-modal *),pre:where(#checkout-modal,#checkout-modal *){margin:0}fieldset:where(#checkout-modal,#checkout-modal *){margin:0;padding:0}legend:where(#checkout-modal,#checkout-modal *){padding:0}ol:where(#checkout-modal,#checkout-modal *),ul:where(#checkout-modal,#checkout-modal *),menu:where(#checkout-modal,#checkout-modal *){list-style:none;margin:0;padding:0}dialog:where(#checkout-modal,#checkout-modal *){padding:0}textarea:where(#checkout-modal,#checkout-modal *){resize:vertical}input::-moz-placeholder:where(#checkout-modal,#checkout-modal *),textarea::-moz-placeholder:where(#checkout-modal,#checkout-modal *){opacity:1;color:#9ca3af}input::placeholder:where(#checkout-modal,#checkout-modal *),textarea::placeholder:where(#checkout-modal,#checkout-modal *){opacity:1;color:#9ca3af}button:where(#checkout-modal,#checkout-modal *),[role=button]:where(#checkout-modal,#checkout-modal *){cursor:pointer}:disabled:where(#checkout-modal,#checkout-modal *){cursor:default}img:where(#checkout-modal,#checkout-modal *),svg:where(#checkout-modal,#checkout-modal *),video:where(#checkout-modal,#checkout-modal *),canvas:where(#checkout-modal,#checkout-modal *),audio:where(#checkout-modal,#checkout-modal *),iframe:where(#checkout-modal,#checkout-modal *),embed:where(#checkout-modal,#checkout-modal *),object:where(#checkout-modal,#checkout-modal *){display:block;vertical-align:middle}img:where(#checkout-modal,#checkout-modal *),video:where(#checkout-modal,#checkout-modal *){max-width:100%;height:auto}[hidden]:where(#checkout-modal,#checkout-modal *){display:none}:root{--primary: 240, 100%, 28%;--primary-light: 266, 21%, 76%;--primary-lighter: 240, 100%, 98%;--primary-dark: 240, 39%, 52%;--primary-darker: 240, 100%, 28%;--success: 151, 58%, 46%;--error: 0, 74%, 48%;--common: 60, 4%, 43%;--grey: 218, 15%, 65%;--grey-100: 270, 3%, 62%;--grey-200: 264, 3%, 72%;--grey-300: 260, 3%, 81%;--grey-400: 264, 6%, 34%;--grey-500: 217, 24%, 27%;--grey-600: 265, 10%, 24%;--grey-700: 260, 4%, 43%;--grey-800: 265, 21%, 76%;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}input:focus,button:focus{outline:none}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }.container{width:100%}@media (min-width: 640px){.container{max-width:640px}}@media (min-width: 768px){.container{max-width:768px}}@media (min-width: 1024px){.container{max-width:1024px}}@media (min-width: 1280px){.container{max-width:1280px}}@media (min-width: 1536px){.container{max-width:1536px}}.container-center{display:flex;align-items:center;justify-content:center}.container-between{display:flex;align-items:center;justify-content:space-between}.align-center{display:flex;align-items:center}.box-container{padding:18px 0}@media (min-width: 768px){.box-container{padding:1.75rem 1.25rem}}@media (min-width: 1024px){.box-container{padding-left:1.75rem;padding-right:1.75rem}}.content-heading{padding-top:.5rem;text-align:center;font-size:1.25rem;line-height:1.75rem;font-weight:600;color:hsl(var(--grey-400))}@media (min-width: 768px){.content-heading{padding-top:0}}.button-outline{display:flex;height:2.5rem;align-items:center;border-radius:.25rem;border-width:1px;--tw-border-opacity: 1;border-color:rgb(230 230 231 / var(--tw-border-opacity));font-size:.75rem;line-height:1rem;font-weight:600;color:hsl(var(--grey-400))}.payment-options{display:flex;min-height:3rem;width:100%;max-width:28rem;flex-direction:column;overflow:hidden}.tab{margin-bottom:.75rem;display:flex;align-items:center;justify-content:flex-start;text-align:left}.tab-button{display:flex;flex-grow:1;align-items:center;padding:.75rem 1.25rem;text-align:center;--tw-text-opacity: 1;color:rgb(61 56 68 / var(--tw-text-opacity))}@media (min-width: 768px){.tab-button{display:block}.tab-button:hover{border-radius:.75rem;background-color:hsl(var(--primary));--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}}@media (min-width: 1024px){.tab-button{display:flex}}.tab-button.active{border-radius:.75rem;background-color:hsl(var(--primary));--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.tab-button.active *{fill:#fff}.tab-button span{margin-top:.25rem;margin-bottom:.25rem;display:flex;flex-shrink:0;justify-content:center;font-weight:600}@media (min-width: 1024px){.tab-button span{justify-content:flex-start}}.main{max-height:90vh;width:100%;overflow:auto}@media (min-width: 768px){.main{padding-top:1rem;padding-bottom:1rem}}@media (min-width: 1024px){.main{width:calc(100% - 250px);padding-left:1rem;padding-right:1rem}}.header-container{border-radius:.75rem;background-color:hsl(var(--primary));padding:2.5rem 1rem;--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}@media (min-width: 768px){.header-container{padding:1.25rem 2.25rem}}.content{display:none}.content.active{display:block}.header-chip{display:flex;height:1.4375rem;align-items:center;justify-content:center;white-space:nowrap;border-radius:.25rem;background-color:hsl(var(--success));padding-top:0;padding-bottom:0;padding-left:.25rem;padding-right:.25rem;font-size:.75rem;line-height:1rem;--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.tooltip{position:absolute;left:0;top:20px;margin-bottom:1.25rem;display:none;width:320px;flex-direction:column;align-items:center}.group:hover .tooltip{display:flex}.tooltip-textbox{position:relative;z-index:10;border-radius:.5rem;--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity));padding:1rem 1.25rem;font-size:.75rem;line-height:1rem;--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.tooltip-title{margin-bottom:.25rem;font-size:13px;font-weight:500;line-height:17.4px;color:hsl(var(--grey-500))}.tooltip-text{font-size:13px;line-height:17.4px;letter-spacing:.025em;color:hsl(var(--grey))}.details-input-container{width:100%;border-radius:.5rem;border-width:1px;--tw-border-opacity: 1;border-color:rgb(206 205 208 / var(--tw-border-opacity));--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity));padding:1.5rem .75rem .5rem}.details-input-container::-moz-placeholder{color:hsl(var(--grey-200))}.details-input-container::placeholder{color:hsl(var(--grey-200))}.details-input-container:focus{outline:2px solid transparent;outline-offset:2px}.details-form-button{display:inline-flex;height:50px;width:100%;align-items:center;justify-content:center;border-radius:.5rem;background-color:hsl(var(--primary));font-size:.875rem;line-height:1.25rem;font-weight:600;--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.details-form-button:focus{outline:2px solid transparent;outline-offset:2px}.details-form-button:disabled{background-color:hsl(var(--primary-lighter));color:hsl(var(--primary-light))}.pin-container{margin-left:auto;margin-right:auto;display:flex;justify-content:space-between}.pin-text{margin-left:auto;margin-right:auto;width:80%;text-align:center;font-size:.875rem;line-height:1.25rem;font-weight:600;color:hsl(var(--grey-400))}.pin-input{height:3.5rem;width:5rem;border-radius:.5rem;border-width:1px;border-color:hsl(var(--grey-300));text-align:center;font-size:1.125rem;line-height:1.75rem}.pin-input:focus{border-color:hsl(var(--primary));outline:2px solid transparent;outline-offset:2px}.pin-cancel{text-align:center;font-size:.875rem;line-height:1.25rem;font-weight:600;color:hsl(var(--grey-600))}.pin-cancel:hover{text-decoration-line:underline}.otp-input{width:100%;border-radius:.5rem;border-width:1px;--tw-border-opacity: 1;border-color:rgb(206 205 208 / var(--tw-border-opacity));--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity));padding:1rem .75rem}.otp-input::-moz-placeholder{color:hsl(var(--grey-200))}.otp-input::placeholder{color:hsl(var(--grey-200))}.otp-input:focus{outline:2px solid transparent;outline-offset:2px}.otp-button{height:3.5rem;border-radius:.5rem;background-color:hsl(var(--success));padding-left:1.5rem;padding-right:1.5rem;font-weight:600;--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.otp-button:disabled{opacity:.8}@media (min-width: 768px){.otp-button{height:100%}}@media (max-width: 639px){.otp-button{width:100%}}.otp-text{margin-left:auto;margin-right:auto;width:91.666667%;text-align:center;font-size:.875rem;line-height:1.25rem;font-weight:600;color:hsl(var(--grey-400))}@media (min-width: 768px){.otp-text{width:60%}}.otp-subtext{margin-left:auto;margin-right:auto;width:60%;text-align:center;font-size:.875rem;line-height:1.25rem;color:hsl(var(--grey-700))}.warning-text,.success-text{margin-top:1rem;margin-bottom:1rem;margin-left:auto;margin-right:auto;text-align:center;font-weight:600;color:hsl(var(--grey-400))}.warning-list{margin-left:auto;margin-right:auto;margin-top:3rem}@media (min-width: 768px){.warning-list{margin-top:2.5rem}}.warning-button,.success-button{margin-bottom:1rem;width:100%;border-radius:.5rem;border-width:1px;border-color:hsl(var(--grey-800));padding:1rem;text-align:center;font-size:.875rem;line-height:1.25rem;font-weight:600;color:hsl(var(--grey-400))}.transfer-button,.ussd-button{margin-bottom:1rem;width:100%;border-radius:.5rem;border-width:1px;border-color:hsl(var(--primary-light));padding:1rem;text-align:center;font-size:.875rem;line-height:1.25rem;font-weight:600;color:hsl(var(--primary-darker))}.transfer-close{margin-bottom:1rem;width:200px;border-radius:.5rem;background-color:hsl(var(--success));padding:1rem;text-align:center;font-size:.875rem;line-height:1.25rem;font-weight:600;--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}#bank-search-input{width:100%;border-radius:.5rem;border-width:1px;border-color:hsl(var(--primary-light));padding:1rem}.bank-options{position:absolute;z-index:1000;margin-top:.25rem;box-sizing:border-box;display:none;max-height:150px;width:100%;overflow-y:auto;border-radius:.5rem;border-width:1px;--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity));--tw-shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.bank-option{cursor:pointer;padding:10px}.bank-option:hover{background-color:hsl(var(--primary-lighter))}.copy-code-button{margin-left:auto;margin-right:auto;margin-bottom:1rem;display:flex;width:60%;align-items:center;justify-content:center;gap:.5rem;border-radius:.5rem;background-color:hsl(var(--primary));padding:1rem;text-align:center;font-size:1.25rem;line-height:1.75rem;font-weight:600;--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.spinner{margin-right:.75rem;height:2rem;width:2rem}@keyframes spin{to{transform:rotate(360deg)}}.spinner{animation:spin 1s linear infinite;fill:#fff}#checkout-modal .fixed{position:fixed}#checkout-modal .absolute{position:absolute}#checkout-modal .relative{position:relative}#checkout-modal .inset-0{top:0;right:0;bottom:0;left:0}#checkout-modal .-bottom-\[25px\]{bottom:-25px}#checkout-modal .-bottom-\[30px\]{bottom:-30px}#checkout-modal .left-0{left:0}#checkout-modal .right-0{right:0}#checkout-modal .right-2\/4{right:50%}#checkout-modal .right-3{right:.75rem}#checkout-modal .top-0{top:0}#checkout-modal .top-1{top:.25rem}#checkout-modal .top-1\/2,#checkout-modal .top-2\/4{top:50%}#checkout-modal .top-\[20px\]{top:20px}#checkout-modal .z-10{z-index:10}#checkout-modal .order-1{order:1}#checkout-modal .order-2{order:2}#checkout-modal .col-span-2{grid-column:span 2 / span 2}#checkout-modal .mx-0{margin-left:0;margin-right:0}#checkout-modal .mx-4{margin-left:1rem;margin-right:1rem}#checkout-modal .mx-5{margin-left:1.25rem;margin-right:1.25rem}#checkout-modal .mx-\[18px\]{margin-left:18px;margin-right:18px}#checkout-modal .mx-auto{margin-left:auto;margin-right:auto}#checkout-modal .my-12{margin-top:3rem;margin-bottom:3rem}#checkout-modal .my-4{margin-top:1rem;margin-bottom:1rem}#checkout-modal .my-6{margin-top:1.5rem;margin-bottom:1.5rem}#checkout-modal .my-8{margin-top:2rem;margin-bottom:2rem}#checkout-modal .my-auto{margin-top:auto;margin-bottom:auto}#checkout-modal .mb-2{margin-bottom:.5rem}#checkout-modal .mb-3{margin-bottom:.75rem}#checkout-modal .mb-4{margin-bottom:1rem}#checkout-modal .mb-5{margin-bottom:1.25rem}#checkout-modal .mb-6{margin-bottom:1.5rem}#checkout-modal .mb-7{margin-bottom:1.75rem}#checkout-modal .mb-8{margin-bottom:2rem}#checkout-modal .mr-1{margin-right:.25rem}#checkout-modal .mr-2{margin-right:.5rem}#checkout-modal .mr-3{margin-right:.75rem}#checkout-modal .mt-10{margin-top:2.5rem}#checkout-modal .mt-12{margin-top:3rem}#checkout-modal .mt-20{margin-top:5rem}#checkout-modal .mt-4{margin-top:1rem}#checkout-modal .mt-6{margin-top:1.5rem}#checkout-modal .mt-7{margin-top:1.75rem}#checkout-modal .mt-8{margin-top:2rem}#checkout-modal .block{display:block}#checkout-modal .flex{display:flex}#checkout-modal .grid{display:grid}#checkout-modal .contents{display:contents}#checkout-modal .hidden{display:none}#checkout-modal .h-12{height:3rem}#checkout-modal .h-3{height:.75rem}#checkout-modal .h-6{height:1.5rem}#checkout-modal .h-8{height:2rem}#checkout-modal .h-9{height:2.25rem}#checkout-modal .h-\[20vh\]{height:20vh}#checkout-modal .h-\[40vh\]{height:40vh}#checkout-modal .h-full{height:100%}#checkout-modal .min-h-full{min-height:100%}#checkout-modal .min-h-screen{min-height:100vh}#checkout-modal .w-11\/12{width:91.666667%}#checkout-modal .w-12{width:3rem}#checkout-modal .w-3{width:.75rem}#checkout-modal .w-3\/5{width:60%}#checkout-modal .w-4\/5{width:80%}#checkout-modal .w-5\/6{width:83.333333%}#checkout-modal .w-6{width:1.5rem}#checkout-modal .w-8{width:2rem}#checkout-modal .w-9{width:2.25rem}#checkout-modal .w-\[150px\]{width:150px}#checkout-modal .w-\[200px\]{width:200px}#checkout-modal .w-\[250px\]{width:250px}#checkout-modal .w-auto{width:auto}#checkout-modal .w-full{width:100%}#checkout-modal .w-screen{width:100vw}#checkout-modal .min-w-8{min-width:2rem}#checkout-modal .grow{flex-grow:1}#checkout-modal .-translate-y-1\/2,#checkout-modal .-translate-y-2\/4{--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}#checkout-modal .translate-x-2\/4{--tw-translate-x: 50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}#checkout-modal .transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}#checkout-modal .cursor-pointer{cursor:pointer}#checkout-modal .cursor-text{cursor:text}#checkout-modal .grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}#checkout-modal .grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}#checkout-modal .flex-col{flex-direction:column}#checkout-modal .items-end{align-items:flex-end}#checkout-modal .items-center{align-items:center}#checkout-modal .justify-end{justify-content:flex-end}#checkout-modal .justify-center{justify-content:center}#checkout-modal .gap-1{gap:.25rem}#checkout-modal .gap-2{gap:.5rem}#checkout-modal .gap-4{gap:1rem}#checkout-modal .gap-7{gap:1.75rem}#checkout-modal .overflow-auto{overflow:auto}#checkout-modal .overflow-hidden{overflow:hidden}#checkout-modal .overflow-y-auto{overflow-y:auto}#checkout-modal .rounded-full{border-radius:9999px}#checkout-modal .rounded-lg{border-radius:.5rem}#checkout-modal .rounded-md{border-radius:.375rem}#checkout-modal .border,#checkout-modal .border-\[1px\]{border-width:1px}#checkout-modal .border-b{border-bottom-width:1px}#checkout-modal .border-dashed{border-style:dashed}#checkout-modal .border-\[\#C0B5CF\]{--tw-border-opacity: 1;border-color:rgb(192 181 207 / var(--tw-border-opacity))}#checkout-modal .border-\[\#E6E6E7\]{--tw-border-opacity: 1;border-color:rgb(230 230 231 / var(--tw-border-opacity))}#checkout-modal .border-grey-200{border-color:hsl(var(--grey-200))}#checkout-modal .border-primary{border-color:hsl(var(--primary))}#checkout-modal .border-b-white{--tw-border-opacity: 1;border-bottom-color:rgb(255 255 255 / var(--tw-border-opacity))}#checkout-modal .bg-\[\#f4f4ff\]{--tw-bg-opacity: 1;background-color:rgb(244 244 255 / var(--tw-bg-opacity))}#checkout-modal .bg-\[\#fafaff\]{--tw-bg-opacity: 1;background-color:rgb(250 250 255 / var(--tw-bg-opacity))}#checkout-modal .bg-primary{background-color:hsl(var(--primary))}#checkout-modal .bg-primary-lighter{background-color:hsl(var(--primary-lighter))}#checkout-modal .bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity))}#checkout-modal .bg-opacity-100{--tw-bg-opacity: 1}#checkout-modal .p-0{padding:0}#checkout-modal .px-2{padding-left:.5rem;padding-right:.5rem}#checkout-modal .px-3{padding-left:.75rem;padding-right:.75rem}#checkout-modal .px-5{padding-left:1.25rem;padding-right:1.25rem}#checkout-modal .px-6{padding-left:1.5rem;padding-right:1.5rem}#checkout-modal .py-3{padding-top:.75rem;padding-bottom:.75rem}#checkout-modal .py-4{padding-top:1rem;padding-bottom:1rem}#checkout-modal .py-5{padding-top:1.25rem;padding-bottom:1.25rem}#checkout-modal .py-8{padding-top:2rem;padding-bottom:2rem}#checkout-modal .pb-1{padding-bottom:.25rem}#checkout-modal .pb-10{padding-bottom:2.5rem}#checkout-modal .pb-4{padding-bottom:1rem}#checkout-modal .pb-5{padding-bottom:1.25rem}#checkout-modal .pb-8{padding-bottom:2rem}#checkout-modal .pb-\[6\.4px\]{padding-bottom:6.4px}#checkout-modal .pb-\[9\.6px\]{padding-bottom:9.6px}#checkout-modal .pt-1{padding-top:.25rem}#checkout-modal .pt-10{padding-top:2.5rem}#checkout-modal .pt-16{padding-top:4rem}#checkout-modal .pt-2{padding-top:.5rem}#checkout-modal .pt-3{padding-top:.75rem}#checkout-modal .pt-9{padding-top:2.25rem}#checkout-modal .pt-\[9\.6px\]{padding-top:9.6px}#checkout-modal .text-left{text-align:left}#checkout-modal .text-center{text-align:center}#checkout-modal .text-\[10px\]{font-size:10px}#checkout-modal .text-lg{font-size:1.125rem;line-height:1.75rem}#checkout-modal .text-sm{font-size:.875rem;line-height:1.25rem}#checkout-modal .text-xl{font-size:1.25rem;line-height:1.75rem}#checkout-modal .text-xs{font-size:.75rem;line-height:1rem}#checkout-modal .font-semibold{font-weight:600}#checkout-modal .tracking-\[0\.5px\]{letter-spacing:.5px}#checkout-modal .text-common{color:hsl(var(--common))}#checkout-modal .text-grey-100{color:hsl(var(--grey-100))}#checkout-modal .text-grey-400{color:hsl(var(--grey-400))}#checkout-modal .text-grey-600{color:hsl(var(--grey-600))}#checkout-modal .text-grey-700{color:hsl(var(--grey-700))}#checkout-modal .text-primary-dark{color:hsl(var(--primary-dark))}#checkout-modal .text-success{color:hsl(var(--success))}#checkout-modal .shadow-xl{--tw-shadow: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}#checkout-modal .filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}#checkout-modal .transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}#checkout-modal .transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}#checkout-modal .transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.tab-button.active:after{animation:text-underline-animation .3s linear forwards}#toast-container{position:fixed;top:20px;right:20px;width:300px;z-index:9999}.toast{display:flex;align-items:center;padding:15px;margin-bottom:10px;border-radius:5px;opacity:0;transform:translateY(-50px);transition:opacity .5s,transform .5s;box-shadow:0 1px 3px #0000001a,0 1px 2px -1px #0000001a}.toast.show{opacity:1;transform:translateY(0)}.toast.success{background-color:hsl(var(--success));color:#fff}.toast.error{background-color:hsl(var(--error));color:#fff}.toast .close-btn{margin-left:auto;cursor:pointer;color:#fff}.progress-container{width:100%;height:10px;background-color:#f3f3f3;border-radius:5px;overflow:hidden;position:relative}.progress-bar{height:100%;background-color:#4caf50;width:0;position:absolute;top:0;left:0;animation:progress 1s linear infinite}@keyframes progress{0%{width:0}to{width:100%}}@media (min-width: 768px){.md\:container-center{display:flex;align-items:center;justify-content:center}}#checkout-modal .hover\:bg-primary:hover{background-color:hsl(var(--primary))}#checkout-modal .hover\:text-white:hover{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}#checkout-modal .hover\:underline:hover{text-decoration-line:underline}#checkout-modal :is(.group:hover .group-hover\:flex){display:flex}#checkout-modal :is(.group:hover .group-hover\:fill-white){fill:#fff}@media (min-width: 640px){#checkout-modal .sm\:my-8{margin-top:2rem;margin-bottom:2rem}#checkout-modal .sm\:min-h-\[70\%\]{min-height:70%}#checkout-modal .sm\:w-4\/5{width:80%}#checkout-modal .sm\:items-center{align-items:center}}@media (min-width: 768px){#checkout-modal .md\:mx-5{margin-left:1.25rem;margin-right:1.25rem}#checkout-modal .md\:mx-6{margin-left:1.5rem;margin-right:1.5rem}#checkout-modal .md\:mx-\[18px\]{margin-left:18px;margin-right:18px}#checkout-modal .md\:flex{display:flex}#checkout-modal .md\:hidden{display:none}#checkout-modal .md\:w-3\/5{width:60%}#checkout-modal .md\:w-4\/5{width:80%}#checkout-modal .md\:w-\[90\%\]{width:90%}#checkout-modal .md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}#checkout-modal .md\:gap-5{gap:1.25rem}#checkout-modal .md\:py-16{padding-top:4rem;padding-bottom:4rem}#checkout-modal .md\:text-xl{font-size:1.25rem;line-height:1.75rem}}@media (min-width: 1024px){#checkout-modal .lg\:block{display:block}#checkout-modal .lg\:w-\[900px\]{width:900px}}@media (max-width: 639px){#checkout-modal .max-sm\:mx-auto{margin-left:auto;margin-right:auto}#checkout-modal .max-sm\:hidden{display:none}#checkout-modal .max-sm\:w-4\/5{width:80%}#checkout-modal .max-sm\:px-4{padding-left:1rem;padding-right:1rem}#checkout-modal .max-sm\:py-4{padding-top:1rem;padding-bottom:1rem}#checkout-modal .max-sm\:py-5{padding-top:1.25rem;padding-bottom:1.25rem}#checkout-modal .max-sm\:text-center{text-align:center}}
1
+ *:where(#checkout-modal,#checkout-modal *),:before:where(#checkout-modal,#checkout-modal *),:after:where(#checkout-modal,#checkout-modal *){box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before:where(#checkout-modal,#checkout-modal *),:after:where(#checkout-modal,#checkout-modal *){--tw-content: ""}#checkout-modal{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}#checkout-modal{margin:0;line-height:inherit}hr:where(#checkout-modal,#checkout-modal *){height:0;color:inherit;border-top-width:1px}abbr:where([title]):where(#checkout-modal,#checkout-modal *){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1:where(#checkout-modal,#checkout-modal *),h2:where(#checkout-modal,#checkout-modal *),h3:where(#checkout-modal,#checkout-modal *),h4:where(#checkout-modal,#checkout-modal *),h5:where(#checkout-modal,#checkout-modal *),h6:where(#checkout-modal,#checkout-modal *){font-size:inherit;font-weight:inherit}a:where(#checkout-modal,#checkout-modal *){color:inherit;text-decoration:inherit}b:where(#checkout-modal,#checkout-modal *),strong:where(#checkout-modal,#checkout-modal *){font-weight:bolder}code:where(#checkout-modal,#checkout-modal *),kbd:where(#checkout-modal,#checkout-modal *),samp:where(#checkout-modal,#checkout-modal *),pre:where(#checkout-modal,#checkout-modal *){font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small:where(#checkout-modal,#checkout-modal *){font-size:80%}sub:where(#checkout-modal,#checkout-modal *),sup:where(#checkout-modal,#checkout-modal *){font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub:where(#checkout-modal,#checkout-modal *){bottom:-.25em}sup:where(#checkout-modal,#checkout-modal *){top:-.5em}table:where(#checkout-modal,#checkout-modal *){text-indent:0;border-color:inherit;border-collapse:collapse}button:where(#checkout-modal,#checkout-modal *),input:where(#checkout-modal,#checkout-modal *),optgroup:where(#checkout-modal,#checkout-modal *),select:where(#checkout-modal,#checkout-modal *),textarea:where(#checkout-modal,#checkout-modal *){font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button:where(#checkout-modal,#checkout-modal *),select:where(#checkout-modal,#checkout-modal *){text-transform:none}button:where(#checkout-modal,#checkout-modal *),input:where([type=button]):where(#checkout-modal,#checkout-modal *),input:where([type=reset]):where(#checkout-modal,#checkout-modal *),input:where([type=submit]):where(#checkout-modal,#checkout-modal *){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring:where(#checkout-modal,#checkout-modal *){outline:auto}:-moz-ui-invalid:where(#checkout-modal,#checkout-modal *){box-shadow:none}progress:where(#checkout-modal,#checkout-modal *){vertical-align:baseline}::-webkit-inner-spin-button:where(#checkout-modal,#checkout-modal *),::-webkit-outer-spin-button:where(#checkout-modal,#checkout-modal *){height:auto}[type=search]:where(#checkout-modal,#checkout-modal *){-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration:where(#checkout-modal,#checkout-modal *){-webkit-appearance:none}::-webkit-file-upload-button:where(#checkout-modal,#checkout-modal *){-webkit-appearance:button;font:inherit}summary:where(#checkout-modal,#checkout-modal *){display:list-item}blockquote:where(#checkout-modal,#checkout-modal *),dl:where(#checkout-modal,#checkout-modal *),dd:where(#checkout-modal,#checkout-modal *),h1:where(#checkout-modal,#checkout-modal *),h2:where(#checkout-modal,#checkout-modal *),h3:where(#checkout-modal,#checkout-modal *),h4:where(#checkout-modal,#checkout-modal *),h5:where(#checkout-modal,#checkout-modal *),h6:where(#checkout-modal,#checkout-modal *),hr:where(#checkout-modal,#checkout-modal *),figure:where(#checkout-modal,#checkout-modal *),p:where(#checkout-modal,#checkout-modal *),pre:where(#checkout-modal,#checkout-modal *){margin:0}fieldset:where(#checkout-modal,#checkout-modal *){margin:0;padding:0}legend:where(#checkout-modal,#checkout-modal *){padding:0}ol:where(#checkout-modal,#checkout-modal *),ul:where(#checkout-modal,#checkout-modal *),menu:where(#checkout-modal,#checkout-modal *){list-style:none;margin:0;padding:0}dialog:where(#checkout-modal,#checkout-modal *){padding:0}textarea:where(#checkout-modal,#checkout-modal *){resize:vertical}input::-moz-placeholder:where(#checkout-modal,#checkout-modal *),textarea::-moz-placeholder:where(#checkout-modal,#checkout-modal *){opacity:1;color:#9ca3af}input::placeholder:where(#checkout-modal,#checkout-modal *),textarea::placeholder:where(#checkout-modal,#checkout-modal *){opacity:1;color:#9ca3af}button:where(#checkout-modal,#checkout-modal *),[role=button]:where(#checkout-modal,#checkout-modal *){cursor:pointer}:disabled:where(#checkout-modal,#checkout-modal *){cursor:default}img:where(#checkout-modal,#checkout-modal *),svg:where(#checkout-modal,#checkout-modal *),video:where(#checkout-modal,#checkout-modal *),canvas:where(#checkout-modal,#checkout-modal *),audio:where(#checkout-modal,#checkout-modal *),iframe:where(#checkout-modal,#checkout-modal *),embed:where(#checkout-modal,#checkout-modal *),object:where(#checkout-modal,#checkout-modal *){display:block;vertical-align:middle}img:where(#checkout-modal,#checkout-modal *),video:where(#checkout-modal,#checkout-modal *){max-width:100%;height:auto}[hidden]:where(#checkout-modal,#checkout-modal *){display:none}:root{--primary: 240, 100%, 28%;--primary-light: 266, 21%, 76%;--primary-10: 240, 39%, 86%, 1;--primary-lighter: 240, 100%, 98%;--primary-dark: 240, 39%, 52%;--primary-darker: 240, 100%, 28%;--success: 151, 58%, 46%;--error: 0, 74%, 48%;--common: 60, 4%, 43%;--tone-60: 260, 4%, 43%, 1;--grey: 218, 15%, 65%;--grey-100: 270, 3%, 62%;--grey-200: 264, 3%, 72%;--grey-300: 260, 3%, 81%;--grey-400: 264, 6%, 34%;--grey-500: 217, 24%, 27%;--grey-600: 265, 10%, 24%;--grey-700: 260, 4%, 43%;--grey-800: 265, 21%, 76%;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}input:focus,button:focus{outline:none}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }.container{width:100%}@media (min-width: 640px){.container{max-width:640px}}@media (min-width: 768px){.container{max-width:768px}}@media (min-width: 1024px){.container{max-width:1024px}}@media (min-width: 1280px){.container{max-width:1280px}}@media (min-width: 1536px){.container{max-width:1536px}}.container-center{display:flex;align-items:center;justify-content:center}.container-between{display:flex;align-items:center;justify-content:space-between}.align-center{display:flex;align-items:center}.box-container{padding:18px 0}@media (min-width: 768px){.box-container{padding:1.75rem 1.25rem}}@media (min-width: 1024px){.box-container{padding-left:1.75rem;padding-right:1.75rem}}.content-heading{padding-top:.5rem;text-align:center;font-size:1.25rem;line-height:1.75rem;font-weight:600;color:hsl(var(--grey-400))}@media (min-width: 768px){.content-heading{padding-top:0}}.button-outline{display:flex;height:2.5rem;align-items:center;border-radius:.25rem;border-width:1px;--tw-border-opacity: 1;border-color:rgb(230 230 231 / var(--tw-border-opacity));font-size:.75rem;line-height:1rem;font-weight:600;color:hsl(var(--grey-400))}.payment-options{display:flex;min-height:3rem;width:100%;max-width:28rem;flex-direction:column;overflow:hidden}.tab{margin-bottom:.75rem;display:flex;align-items:center;justify-content:flex-start;text-align:left}.tab-button{display:flex;flex-grow:1;align-items:center;padding:.75rem 1.25rem;text-align:center;--tw-text-opacity: 1;color:rgb(61 56 68 / var(--tw-text-opacity))}@media (min-width: 768px){.tab-button{display:block}.tab-button:hover{border-radius:.75rem;background-color:hsl(var(--primary));--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}}@media (min-width: 1024px){.tab-button{display:flex}}.tab-button.active{border-radius:.75rem;background-color:hsl(var(--primary));--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.tab-button.active *{fill:#fff}.tab-button span{margin-top:.25rem;margin-bottom:.25rem;display:flex;flex-shrink:0;justify-content:center;font-weight:600}@media (min-width: 1024px){.tab-button span{justify-content:flex-start}}.main{max-height:90vh;width:100%;overflow:auto}@media (min-width: 768px){.main{padding-top:1rem;padding-bottom:1rem}}@media (min-width: 1024px){.main{width:calc(100% - 250px);padding-left:1rem;padding-right:1rem}}.header-container{border-radius:.75rem;background-color:hsl(var(--primary));padding:2.5rem 1rem;--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}@media (min-width: 768px){.header-container{padding:1.25rem 2.25rem}}.content{display:none}.content.active{display:block}.header-chip{display:flex;height:1.4375rem;align-items:center;justify-content:center;white-space:nowrap;border-radius:.25rem;background-color:hsl(var(--success));padding-top:0;padding-bottom:0;padding-left:.25rem;padding-right:.25rem;font-size:.75rem;line-height:1rem;--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.tooltip{position:absolute;left:0;top:20px;margin-bottom:1.25rem;display:none;width:320px;flex-direction:column;align-items:center}.group:hover .tooltip{display:flex}.tooltip-textbox{position:relative;z-index:10;border-radius:.5rem;--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity));padding:1rem 1.25rem;font-size:.75rem;line-height:1rem;--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.tooltip-title{margin-bottom:.25rem;font-size:13px;font-weight:500;line-height:17.4px;color:hsl(var(--grey-500))}.tooltip-text{font-size:13px;line-height:17.4px;letter-spacing:.025em;color:hsl(var(--grey))}.details-input-container{width:100%;border-radius:.5rem;border-width:1px;--tw-border-opacity: 1;border-color:rgb(206 205 208 / var(--tw-border-opacity));--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity));padding:1.5rem .75rem .5rem}.details-input-container::-moz-placeholder{color:hsl(var(--grey-200))}.details-input-container::placeholder{color:hsl(var(--grey-200))}.details-input-container:focus{outline:2px solid transparent;outline-offset:2px}.details-form-button{display:inline-flex;height:50px;width:100%;align-items:center;justify-content:center;border-radius:.5rem;background-color:hsl(var(--primary));font-size:.875rem;line-height:1.25rem;font-weight:600;--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.details-form-button:focus{outline:2px solid transparent;outline-offset:2px}.details-form-button:disabled{background-color:hsl(var(--primary-lighter));color:hsl(var(--primary-light))}.pin-container{margin-left:auto;margin-right:auto;display:flex;justify-content:space-between}.pin-text{margin-left:auto;margin-right:auto;width:80%;text-align:center;font-size:.875rem;line-height:1.25rem;font-weight:600;color:hsl(var(--grey-400))}.pin-input{height:3.5rem;width:5rem;border-radius:.5rem;border-width:1px;border-color:hsl(var(--grey-300));text-align:center;font-size:1.125rem;line-height:1.75rem}.pin-input:focus{border-color:hsl(var(--primary));outline:2px solid transparent;outline-offset:2px}.pin-cancel{text-align:center;font-size:.875rem;line-height:1.25rem;font-weight:600;color:hsl(var(--grey-600))}.pin-cancel:hover{text-decoration-line:underline}.otp-input{width:100%;border-radius:.5rem;border-width:1px;--tw-border-opacity: 1;border-color:rgb(206 205 208 / var(--tw-border-opacity));--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity));padding:1rem .75rem}.otp-input::-moz-placeholder{color:hsl(var(--grey-200))}.otp-input::placeholder{color:hsl(var(--grey-200))}.otp-input:focus{outline:2px solid transparent;outline-offset:2px}.otp-button{height:3.5rem;border-radius:.5rem;background-color:hsl(var(--success));padding-left:1.5rem;padding-right:1.5rem;font-weight:600;--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.otp-button:disabled{opacity:.8}@media (min-width: 768px){.otp-button{height:100%}}@media (max-width: 639px){.otp-button{width:100%}}.otp-text{margin-left:auto;margin-right:auto;width:91.666667%;text-align:center;font-size:.875rem;line-height:1.25rem;font-weight:600;color:hsl(var(--grey-400))}@media (min-width: 768px){.otp-text{width:60%}}.otp-subtext{margin-left:auto;margin-right:auto;width:60%;text-align:center;font-size:.875rem;line-height:1.25rem;color:hsl(var(--grey-700))}.warning-text,.success-text{margin-top:1rem;margin-bottom:1rem;margin-left:auto;margin-right:auto;text-align:center;font-weight:600;color:hsl(var(--grey-400))}.warning-list{margin-left:auto;margin-right:auto;margin-top:3rem}@media (min-width: 768px){.warning-list{margin-top:2.5rem}}.warning-button,.success-button{margin-bottom:1rem;width:100%;border-radius:.5rem;border-width:1px;border-color:hsl(var(--grey-800));padding:1rem;text-align:center;font-size:.875rem;line-height:1.25rem;font-weight:600;color:hsl(var(--grey-400))}.transfer-button,.ussd-button{margin-bottom:1rem;width:100%;border-radius:.5rem;border-width:1px;border-color:hsl(var(--primary-light));padding:1rem;text-align:center;font-size:.875rem;line-height:1.25rem;font-weight:600;color:hsl(var(--primary-darker))}.transfer-close{margin-bottom:1rem;width:200px;border-radius:.5rem;background-color:hsl(var(--success));padding:1rem;text-align:center;font-size:.875rem;line-height:1.25rem;font-weight:600;--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}#bank-search-input{width:100%;-webkit-appearance:none;-moz-appearance:none;appearance:none;outline:2px solid transparent;outline-offset:2px}.bank-options{position:absolute;z-index:1000;margin-top:.25rem;box-sizing:border-box;display:none;max-height:150px;width:100%;overflow-y:auto;border-radius:.5rem;border-width:1px;--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity));--tw-shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.bank-option{cursor:pointer;padding:10px}.bank-option:hover{background-color:hsl(var(--primary-lighter))}#bank-select-container{display:flex;gap:.75rem;border-radius:.5rem;border-width:1px;border-color:hsl(var(--primary-light));padding:1rem}#bank-code-span{border-radius:.25rem;background-color:hsla(var(--primary-10));padding:.25rem;color:hsla(var(--tone-60))}.copy-code-button{margin-left:auto;margin-right:auto;margin-bottom:1rem;display:flex;width:60%;align-items:center;justify-content:center;gap:.5rem;border-radius:.5rem;background-color:hsl(var(--primary));padding:1rem;text-align:center;font-size:1.25rem;line-height:1.75rem;font-weight:600;--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.spinner{margin-right:.75rem;height:2rem;width:2rem}@keyframes spin{to{transform:rotate(360deg)}}.spinner{animation:spin 1s linear infinite;fill:#fff}#checkout-modal .fixed{position:fixed}#checkout-modal .absolute{position:absolute}#checkout-modal .relative{position:relative}#checkout-modal .inset-0{top:0;right:0;bottom:0;left:0}#checkout-modal .-bottom-\[25px\]{bottom:-25px}#checkout-modal .-bottom-\[30px\]{bottom:-30px}#checkout-modal .left-0{left:0}#checkout-modal .right-0{right:0}#checkout-modal .right-2\/4{right:50%}#checkout-modal .right-3{right:.75rem}#checkout-modal .top-0{top:0}#checkout-modal .top-1{top:.25rem}#checkout-modal .top-1\/2,#checkout-modal .top-2\/4{top:50%}#checkout-modal .top-\[20px\]{top:20px}#checkout-modal .z-10{z-index:10}#checkout-modal .order-1{order:1}#checkout-modal .order-2{order:2}#checkout-modal .col-span-2{grid-column:span 2 / span 2}#checkout-modal .mx-0{margin-left:0;margin-right:0}#checkout-modal .mx-4{margin-left:1rem;margin-right:1rem}#checkout-modal .mx-5{margin-left:1.25rem;margin-right:1.25rem}#checkout-modal .mx-\[18px\]{margin-left:18px;margin-right:18px}#checkout-modal .mx-auto{margin-left:auto;margin-right:auto}#checkout-modal .my-12{margin-top:3rem;margin-bottom:3rem}#checkout-modal .my-4{margin-top:1rem;margin-bottom:1rem}#checkout-modal .my-6{margin-top:1.5rem;margin-bottom:1.5rem}#checkout-modal .my-8{margin-top:2rem;margin-bottom:2rem}#checkout-modal .my-auto{margin-top:auto;margin-bottom:auto}#checkout-modal .mb-2{margin-bottom:.5rem}#checkout-modal .mb-3{margin-bottom:.75rem}#checkout-modal .mb-4{margin-bottom:1rem}#checkout-modal .mb-5{margin-bottom:1.25rem}#checkout-modal .mb-6{margin-bottom:1.5rem}#checkout-modal .mb-7{margin-bottom:1.75rem}#checkout-modal .mb-8{margin-bottom:2rem}#checkout-modal .mr-1{margin-right:.25rem}#checkout-modal .mr-2{margin-right:.5rem}#checkout-modal .mr-3{margin-right:.75rem}#checkout-modal .mt-10{margin-top:2.5rem}#checkout-modal .mt-12{margin-top:3rem}#checkout-modal .mt-20{margin-top:5rem}#checkout-modal .mt-4{margin-top:1rem}#checkout-modal .mt-6{margin-top:1.5rem}#checkout-modal .mt-7{margin-top:1.75rem}#checkout-modal .mt-8{margin-top:2rem}#checkout-modal .block{display:block}#checkout-modal .flex{display:flex}#checkout-modal .grid{display:grid}#checkout-modal .contents{display:contents}#checkout-modal .hidden{display:none}#checkout-modal .h-12{height:3rem}#checkout-modal .h-3{height:.75rem}#checkout-modal .h-6{height:1.5rem}#checkout-modal .h-8{height:2rem}#checkout-modal .h-9{height:2.25rem}#checkout-modal .h-\[20vh\]{height:20vh}#checkout-modal .h-\[40vh\]{height:40vh}#checkout-modal .h-\[50px\]{height:50px}#checkout-modal .h-full{height:100%}#checkout-modal .min-h-full{min-height:100%}#checkout-modal .min-h-screen{min-height:100vh}#checkout-modal .w-11\/12{width:91.666667%}#checkout-modal .w-12{width:3rem}#checkout-modal .w-16{width:4rem}#checkout-modal .w-3{width:.75rem}#checkout-modal .w-3\/5{width:60%}#checkout-modal .w-4\/5{width:80%}#checkout-modal .w-5\/6{width:83.333333%}#checkout-modal .w-6{width:1.5rem}#checkout-modal .w-8{width:2rem}#checkout-modal .w-9{width:2.25rem}#checkout-modal .w-\[150px\]{width:150px}#checkout-modal .w-\[200px\]{width:200px}#checkout-modal .w-\[250px\]{width:250px}#checkout-modal .w-auto{width:auto}#checkout-modal .w-full{width:100%}#checkout-modal .w-screen{width:100vw}#checkout-modal .min-w-8{min-width:2rem}#checkout-modal .grow{flex-grow:1}#checkout-modal .-translate-y-1\/2,#checkout-modal .-translate-y-2\/4{--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}#checkout-modal .translate-x-2\/4{--tw-translate-x: 50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}#checkout-modal .transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}#checkout-modal .cursor-pointer{cursor:pointer}#checkout-modal .cursor-text{cursor:text}#checkout-modal .grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}#checkout-modal .grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}#checkout-modal .flex-col{flex-direction:column}#checkout-modal .items-end{align-items:flex-end}#checkout-modal .items-center{align-items:center}#checkout-modal .justify-end{justify-content:flex-end}#checkout-modal .justify-center{justify-content:center}#checkout-modal .gap-1{gap:.25rem}#checkout-modal .gap-2{gap:.5rem}#checkout-modal .gap-4{gap:1rem}#checkout-modal .gap-7{gap:1.75rem}#checkout-modal .gap-x-3{-moz-column-gap:.75rem;column-gap:.75rem}#checkout-modal .gap-y-4{row-gap:1rem}#checkout-modal .overflow-auto{overflow:auto}#checkout-modal .overflow-hidden{overflow:hidden}#checkout-modal .overflow-y-auto{overflow-y:auto}#checkout-modal .rounded-full{border-radius:9999px}#checkout-modal .rounded-lg{border-radius:.5rem}#checkout-modal .rounded-md{border-radius:.375rem}#checkout-modal .border,#checkout-modal .border-\[1px\]{border-width:1px}#checkout-modal .border-b{border-bottom-width:1px}#checkout-modal .border-dashed{border-style:dashed}#checkout-modal .border-\[\#C0B5CF\]{--tw-border-opacity: 1;border-color:rgb(192 181 207 / var(--tw-border-opacity))}#checkout-modal .border-\[\#E6E6E7\]{--tw-border-opacity: 1;border-color:rgb(230 230 231 / var(--tw-border-opacity))}#checkout-modal .border-grey-200{border-color:hsl(var(--grey-200))}#checkout-modal .border-primary{border-color:hsl(var(--primary))}#checkout-modal .border-b-white{--tw-border-opacity: 1;border-bottom-color:rgb(255 255 255 / var(--tw-border-opacity))}#checkout-modal .bg-\[\#f4f4ff\]{--tw-bg-opacity: 1;background-color:rgb(244 244 255 / var(--tw-bg-opacity))}#checkout-modal .bg-\[\#fafaff\]{--tw-bg-opacity: 1;background-color:rgb(250 250 255 / var(--tw-bg-opacity))}#checkout-modal .bg-black{--tw-bg-opacity: 1;background-color:rgb(0 0 0 / var(--tw-bg-opacity))}#checkout-modal .bg-primary{background-color:hsl(var(--primary))}#checkout-modal .bg-primary-lighter{background-color:hsl(var(--primary-lighter))}#checkout-modal .bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity))}#checkout-modal .bg-opacity-100{--tw-bg-opacity: 1}#checkout-modal .bg-opacity-30{--tw-bg-opacity: .3}#checkout-modal .p-0{padding:0}#checkout-modal .px-2{padding-left:.5rem;padding-right:.5rem}#checkout-modal .px-3{padding-left:.75rem;padding-right:.75rem}#checkout-modal .px-5{padding-left:1.25rem;padding-right:1.25rem}#checkout-modal .px-6{padding-left:1.5rem;padding-right:1.5rem}#checkout-modal .py-3{padding-top:.75rem;padding-bottom:.75rem}#checkout-modal .py-4{padding-top:1rem;padding-bottom:1rem}#checkout-modal .py-5{padding-top:1.25rem;padding-bottom:1.25rem}#checkout-modal .py-8{padding-top:2rem;padding-bottom:2rem}#checkout-modal .pb-1{padding-bottom:.25rem}#checkout-modal .pb-10{padding-bottom:2.5rem}#checkout-modal .pb-4{padding-bottom:1rem}#checkout-modal .pb-5{padding-bottom:1.25rem}#checkout-modal .pb-8{padding-bottom:2rem}#checkout-modal .pb-\[6\.4px\]{padding-bottom:6.4px}#checkout-modal .pb-\[9\.6px\]{padding-bottom:9.6px}#checkout-modal .pt-1{padding-top:.25rem}#checkout-modal .pt-10{padding-top:2.5rem}#checkout-modal .pt-16{padding-top:4rem}#checkout-modal .pt-2{padding-top:.5rem}#checkout-modal .pt-3{padding-top:.75rem}#checkout-modal .pt-9{padding-top:2.25rem}#checkout-modal .pt-\[9\.6px\]{padding-top:9.6px}#checkout-modal .text-left{text-align:left}#checkout-modal .text-center{text-align:center}#checkout-modal .text-\[10px\]{font-size:10px}#checkout-modal .text-lg{font-size:1.125rem;line-height:1.75rem}#checkout-modal .text-sm{font-size:.875rem;line-height:1.25rem}#checkout-modal .text-xl{font-size:1.25rem;line-height:1.75rem}#checkout-modal .text-xs{font-size:.75rem;line-height:1rem}#checkout-modal .font-semibold{font-weight:600}#checkout-modal .tracking-\[0\.5px\]{letter-spacing:.5px}#checkout-modal .text-common{color:hsl(var(--common))}#checkout-modal .text-grey-100{color:hsl(var(--grey-100))}#checkout-modal .text-grey-400{color:hsl(var(--grey-400))}#checkout-modal .text-grey-600{color:hsl(var(--grey-600))}#checkout-modal .text-grey-700{color:hsl(var(--grey-700))}#checkout-modal .text-primary-dark{color:hsl(var(--primary-dark))}#checkout-modal .text-success{color:hsl(var(--success))}#checkout-modal .shadow-xl{--tw-shadow: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}#checkout-modal .filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}#checkout-modal .transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}#checkout-modal .transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}#checkout-modal .transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.tab-button.active:after{animation:text-underline-animation .3s linear forwards}#toast-container{position:fixed;top:20px;right:20px;width:300px;z-index:9999}.toast{display:flex;align-items:center;padding:15px;margin-bottom:10px;border-radius:5px;opacity:0;transform:translateY(-50px);transition:opacity .5s,transform .5s;box-shadow:0 1px 3px #0000001a,0 1px 2px -1px #0000001a}.toast.show{opacity:1;transform:translateY(0)}.toast.success{background-color:hsl(var(--success));color:#fff}.toast.error{background-color:hsl(var(--error));color:#fff}.toast .close-btn{margin-left:auto;cursor:pointer;color:#fff}.progress-container{width:100%;height:10px;background-color:#f3f3f3;border-radius:5px;overflow:hidden;position:relative}.progress-bar{height:100%;background-color:#4caf50;width:0;position:absolute;top:0;left:0;animation:progress 1s linear infinite}@keyframes progress{0%{width:0}to{width:100%}}@media (min-width: 768px){.md\:container-center{display:flex;align-items:center;justify-content:center}}#checkout-modal .hover\:bg-primary:hover{background-color:hsl(var(--primary))}#checkout-modal .hover\:text-white:hover{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}#checkout-modal .hover\:underline:hover{text-decoration-line:underline}#checkout-modal :is(.group:hover .group-hover\:flex){display:flex}#checkout-modal :is(.group:hover .group-hover\:fill-white){fill:#fff}@media (min-width: 640px){#checkout-modal .sm\:my-8{margin-top:2rem;margin-bottom:2rem}#checkout-modal .sm\:min-h-\[70\%\]{min-height:70%}#checkout-modal .sm\:w-4\/5{width:80%}#checkout-modal .sm\:items-center{align-items:center}}@media (min-width: 768px){#checkout-modal .md\:col-span-2{grid-column:span 2 / span 2}#checkout-modal .md\:mx-5{margin-left:1.25rem;margin-right:1.25rem}#checkout-modal .md\:mx-6{margin-left:1.5rem;margin-right:1.5rem}#checkout-modal .md\:mx-\[18px\]{margin-left:18px;margin-right:18px}#checkout-modal .md\:flex{display:flex}#checkout-modal .md\:hidden{display:none}#checkout-modal .md\:w-3\/5{width:60%}#checkout-modal .md\:w-4\/5{width:80%}#checkout-modal .md\:w-\[90\%\]{width:90%}#checkout-modal .md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}#checkout-modal .md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}#checkout-modal .md\:gap-5{gap:1.25rem}#checkout-modal .md\:gap-x-4{-moz-column-gap:1rem;column-gap:1rem}#checkout-modal .md\:gap-y-6{row-gap:1.5rem}#checkout-modal .md\:py-16{padding-top:4rem;padding-bottom:4rem}#checkout-modal .md\:text-xl{font-size:1.25rem;line-height:1.75rem}}@media (min-width: 1024px){#checkout-modal .lg\:block{display:block}#checkout-modal .lg\:w-\[900px\]{width:900px}}@media (max-width: 639px){#checkout-modal .max-sm\:mx-auto{margin-left:auto;margin-right:auto}#checkout-modal .max-sm\:hidden{display:none}#checkout-modal .max-sm\:w-4\/5{width:80%}#checkout-modal .max-sm\:px-4{padding-left:1rem;padding-right:1rem}#checkout-modal .max-sm\:py-4{padding-top:1rem;padding-bottom:1rem}#checkout-modal .max-sm\:py-5{padding-top:1.25rem;padding-bottom:1.25rem}#checkout-modal .max-sm\:text-center{text-align:center}}
package/dist/index.d.ts CHANGED
@@ -1 +1,2 @@
1
1
  export * from './checkout-class';
2
+ export * from './types';
@@ -1,37 +1,47 @@
1
1
  import { PaymentResponseData } from '../types/types';
2
2
 
3
3
  declare class Card {
4
- private cardDetailsValues;
5
- private cardPin;
6
- private cardOtp;
7
4
  private contents;
5
+ private cardDetailForm;
6
+ private cardOtpValidationForm;
7
+ private cardPinForm;
8
+ private avsForm;
9
+ private successScreen;
10
+ private warningScreen;
8
11
  private container;
9
12
  private closeModal;
13
+ private onSuccess;
14
+ private planId;
10
15
  private email;
11
16
  private token;
12
17
  private amount;
18
+ private encryption;
19
+ private currency?;
13
20
  private _currentStep;
14
21
  private activeRef;
15
22
  private creditCardTypes;
16
23
  private switchTab;
17
- constructor(container: HTMLElement, closeModal: () => void, token: string, email: string, amount: number, switchTab: (val: number) => void);
24
+ constructor(container: HTMLElement, closeModal: () => void, token: string, encryption: string, email: string, amount: number, switchTab: (val: number) => void, planId: string, onSuccess?: (_val?: any) => void);
18
25
  private displayCardTypes;
19
26
  get currentStep(): number;
20
27
  set currentStep(step: number);
28
+ private defaultStep;
21
29
  attachInputListeners(): void;
22
- handleInputChange(event: Event, button: HTMLButtonElement | null): void;
23
30
  private handlePinRequest;
24
- handlePinInputChange(event: Event, index: number, pinInputs: HTMLInputElement[]): void;
25
31
  showLoader(): void;
26
32
  setPaymentError(text: string): void;
27
- handlePinPaste(event: ClipboardEvent, pinInputs: HTMLInputElement[]): void;
28
- handleOtpInput(event: Event, button: HTMLButtonElement | null): void;
29
- submitOtp(e: Event): void;
30
- handleSubmit(e: Event): Promise<void>;
33
+ validatedAVS(e: Event, values: any): void;
34
+ submitOtp(e: Event, values: string): void;
35
+ handleSubmit(e: Event, _values: {
36
+ pan: string;
37
+ cvv: string;
38
+ expiryMonth: string;
39
+ expiryYear: string;
40
+ }): Promise<void>;
31
41
  private redirectTo3DS;
32
42
  verifyPayment(onSuccess: (data: PaymentResponseData) => void, onError: (error: Error) => void): Promise<void>;
33
43
  private getCardStepContent;
34
- private filterCreditCardType;
35
- renderCardContent(): void;
44
+ renderCardContent(): string | undefined;
45
+ private displayButtonText;
36
46
  }
37
47
  export default Card;
@@ -4,8 +4,10 @@ declare class Transfer {
4
4
  private container;
5
5
  private contents;
6
6
  private closeModal;
7
+ private onSuccess;
7
8
  private email;
8
9
  private token;
10
+ private planId;
9
11
  private amount;
10
12
  private _currentStep;
11
13
  private activeRef;
@@ -14,7 +16,7 @@ declare class Transfer {
14
16
  private timeLeft;
15
17
  private timerId;
16
18
  private abortController;
17
- constructor(container: HTMLElement, closeModal: () => void, token: string, email: string, amount: number);
19
+ constructor(container: HTMLElement, closeModal: () => void, token: string, email: string, amount: number, planId: string, onSuccess?: (_val?: any) => void);
18
20
  get currentStep(): number;
19
21
  set currentStep(step: number);
20
22
  attachInputListeners(): void;
@@ -1,12 +1,18 @@
1
1
  declare class Ussd {
2
2
  private contents;
3
3
  private banks;
4
+ private selectedCode?;
5
+ private onSuccess;
6
+ private bankDetail;
7
+ private viewUssdCode;
4
8
  private _currentStep;
5
- constructor();
9
+ constructor(_container: HTMLElement, onSuccess?: (_val?: any) => void);
6
10
  get currentStep(): number;
7
11
  set currentStep(step: number);
8
12
  private getUssdStepContent;
13
+ private onCodeSelect;
9
14
  renderUssdContent(): void;
15
+ handleSelectChange(_e: Event): void;
10
16
  private renderSearchOptions;
11
17
  searchBanksOnInput(searchInput: HTMLInputElement, optionsContainer: HTMLElement): void;
12
18
  openSearchOnFocus(searchInput: HTMLInputElement, optionsContainer: HTMLElement): void;
@@ -16,7 +16,8 @@ export type CardDetails = {
16
16
  expiryYear: string;
17
17
  };
18
18
  export type CardPaymentRequestPayload = PaymentRequestPayload & {
19
- card: CardDetails;
19
+ card?: CardDetails;
20
+ encryptedCard: string;
20
21
  };
21
22
  export type AuthorizeCardPaymentRequestPayload = {
22
23
  authorization: {
@@ -26,7 +27,15 @@ export type AuthorizeCardPaymentRequestPayload = {
26
27
  };
27
28
  export type ValidateCardPaymentRequestPayload = {
28
29
  authorization: {
29
- otp: string;
30
+ otp?: string;
31
+ phoneNumber?: string;
32
+ avs?: {
33
+ state: string;
34
+ city: string;
35
+ country: string;
36
+ address: string;
37
+ zipCode: string;
38
+ };
30
39
  };
31
40
  reference: string;
32
41
  };
@@ -61,6 +70,10 @@ export interface Customer {
61
70
  email: string;
62
71
  phoneNumber: string;
63
72
  }
73
+ export type GetPaymentRateParams = {
74
+ to: string;
75
+ from: string;
76
+ };
64
77
  export interface Rate {
65
78
  from: string;
66
79
  to: string;
@@ -70,3 +83,24 @@ export type BankOption = {
70
83
  name: string;
71
84
  code: string;
72
85
  };
86
+ export type PlanDetailResponseData = {
87
+ id: string;
88
+ title: string;
89
+ frequency: "MONTHLY" | "Daily" | "YEARLY" | "WEEKLY";
90
+ internalReference: string;
91
+ amount: number;
92
+ currency: "USD" | "NGN";
93
+ status: "active" | "inactive";
94
+ createdAt: Date;
95
+ };
96
+ export type GetMerchantPlanDetail = {
97
+ merchantName: string;
98
+ merchantLogo: string;
99
+ paymentMethods: Array<"card" | "bank_transfer" | "ussd">;
100
+ rate: {
101
+ from: string;
102
+ to: string;
103
+ rate: number;
104
+ };
105
+ plan: PlanDetailResponseData;
106
+ };
@@ -0,0 +1,16 @@
1
+ export type SpotflowProps = {
2
+ merchantKey: string;
3
+ encryptionKey: string;
4
+ planId: string;
5
+ regionId?: string;
6
+ email: string;
7
+ phone?: string;
8
+ amount?: number;
9
+ currency?: string;
10
+ onSuccess?: (_val?: any) => void;
11
+ onClose?: () => void;
12
+ reference?: string;
13
+ firstname?: string;
14
+ lastname?: string;
15
+ onTransferConfirmationPending?: (_val?: any) => void;
16
+ };
@@ -0,0 +1,8 @@
1
+ export declare function stringTo256BitKey(string: string): Promise<Uint8Array>;
2
+ export declare function encryptData(plaintext: string, key: CryptoKey): Promise<{
3
+ cipher: Uint8Array;
4
+ iv: Uint8Array;
5
+ }>;
6
+ export declare function generateKey(key: string): Promise<CryptoKey>;
7
+ export declare function AESEncryption(text: string, secret: string): Promise<string>;
8
+ export declare function encryptModified(text: any, key: string): Promise<string>;
@@ -0,0 +1,8 @@
1
+ export declare const formatNumber: (val: any, dp?: number) => string;
2
+ export declare function isNumeric(str: string): boolean;
3
+ export declare const getDecimalFormat: (val: number) => number;
4
+ export declare const formatWholeDecimal: (value: number) => {
5
+ wholeNumber: string;
6
+ decimal: number;
7
+ };
8
+ export declare function formatNumberInFormat(num: number): string;
@@ -0,0 +1,17 @@
1
+ type ContactDetails = {
2
+ address: string;
3
+ country: string;
4
+ city: string;
5
+ code?: string;
6
+ state: string;
7
+ };
8
+ export declare class AvsValidationForm {
9
+ container: HTMLDivElement;
10
+ contactDetails: ContactDetails;
11
+ constructor(container: HTMLDivElement);
12
+ attachListeners(func?: (_evt: Event) => (_val: ContactDetails) => void): void;
13
+ handleInputChange(event: Event): void;
14
+ validate(callback?: (_va: ContactDetails) => void): void;
15
+ render(): string;
16
+ }
17
+ export {};
@@ -0,0 +1,26 @@
1
+ export declare class CardDetailForm {
2
+ container: HTMLElement | Element;
3
+ private cardDetailsValues;
4
+ private creditCardTypes;
5
+ constructor(container: HTMLElement | Element);
6
+ /**
7
+ *
8
+ * @param func
9
+ *
10
+ pan: unFormatCreditCardNumber(this.cardDetailsValues.number),
11
+ cvv: this.cardDetailsValues.cvv,
12
+ expiryMonth: this.cardDetailsValues?.expiry.split("/")[0].trim(),
13
+ expiryYear: this.cardDetailsValues?.expiry.split("/")[1].trim(),
14
+ */
15
+ attachListener(func?: (_evt: Event) => (_values: {
16
+ pan: string;
17
+ cvv: string;
18
+ expiryMonth: string;
19
+ expiryYear: string;
20
+ }) => void): void;
21
+ handleInputChange(event: Event, button: HTMLButtonElement | null): void;
22
+ private displayCardTypes;
23
+ private filterCreditCardType;
24
+ renderContent(): void;
25
+ render(): string;
26
+ }
@@ -0,0 +1,9 @@
1
+ export declare class CardOtpValidationForm {
2
+ container: HTMLElement | Element;
3
+ cardOtp: string;
4
+ private closeModal;
5
+ constructor(container: HTMLElement | Element, close: () => void);
6
+ attachListener(func?: (_evt: Event) => (_val: string) => void): void;
7
+ handleOtpInput(event: Event, button: HTMLButtonElement | null): void;
8
+ render(): string;
9
+ }
@@ -0,0 +1,9 @@
1
+ export declare class CardPinForm {
2
+ container: HTMLElement | Element;
3
+ private cardPin;
4
+ constructor(container: HTMLElement | Element);
5
+ attachListener(func?: (_val: string) => void): void;
6
+ handlePinPaste(event: ClipboardEvent, pinInputs: HTMLInputElement[], func?: (_val: string) => void): void;
7
+ handlePinInputChange(event: Event, index: number, pinInputs: HTMLInputElement[], func?: (_val: string) => void): void;
8
+ render(): string;
9
+ }
@@ -0,0 +1,41 @@
1
+ import { default as Card } from '../../modules/Card';
2
+ import { default as Transfer } from '../../modules/Transfer';
3
+ import { default as Ussd } from '../../modules/Ussd';
4
+ import { GetMerchantPlanDetail } from '../../types/types';
5
+
6
+ export declare class MainPageScreen {
7
+ modalContainer: HTMLDivElement;
8
+ currentPaymentMethod: number;
9
+ mainLayout: HTMLDivElement;
10
+ currentStep: number;
11
+ private merchantPlanDetail;
12
+ private onSuccess;
13
+ private onClose?;
14
+ mainScreen: MainPageScreen;
15
+ card: Card;
16
+ transfer: Transfer;
17
+ ussd: Ussd;
18
+ encryption: string;
19
+ merchantKey: string;
20
+ planId: string;
21
+ email: string;
22
+ amount: number;
23
+ isMobile: boolean;
24
+ constructor(container: HTMLDivElement, modalContainer: HTMLDivElement, merchantKey: string, encryption: string, email: string, amount?: number, planId?: string, onSuccess?: (_val?: any) => void, onClose?: () => void);
25
+ mountScreen(values: GetMerchantPlanDetail): void;
26
+ attachInputListeners(): void;
27
+ closeBTN(): void;
28
+ displayTabLayout(): void;
29
+ private updatePaymentMethodView;
30
+ private renderPaymentMethodContent;
31
+ private setCurrentPaymentMethod;
32
+ switchTab(tabIndex: number): void;
33
+ private setupComponent;
34
+ _setup(): void;
35
+ private mobileContainerContent;
36
+ private viewMobileOptions;
37
+ private cleanup;
38
+ closeModal(func?: Function): void;
39
+ setupParent(func?: Function): void;
40
+ render(): string;
41
+ }
@@ -0,0 +1,8 @@
1
+ export declare class PageLoader {
2
+ private container;
3
+ constructor(container: HTMLElement | Element);
4
+ renderContent(): HTMLElement | Element;
5
+ mountLoader(): void;
6
+ updateMessage(msg: string): void;
7
+ render(): string;
8
+ }
@@ -0,0 +1,7 @@
1
+ export declare class PaymentSuccess {
2
+ container: HTMLDivElement;
3
+ private closeModal;
4
+ constructor(container: HTMLDivElement, closeModal: () => void);
5
+ attachListener(): void;
6
+ render(): string;
7
+ }
@@ -0,0 +1,9 @@
1
+ export declare class PaymentWarning {
2
+ container: HTMLDivElement;
3
+ switchTab: (_val: number) => void;
4
+ setCurrentTab: (_val: number) => void;
5
+ constructor(container: Element | HTMLDivElement, switchTab: (_val: number) => void, setCurrentTab: (_val: number) => void);
6
+ attachListener(): void;
7
+ setPaymentError(text: string): void;
8
+ render(): string;
9
+ }
@@ -0,0 +1,6 @@
1
+ export declare class SharedErrorScreen {
2
+ container: HTMLDivElement;
3
+ constructor(container: HTMLDivElement);
4
+ renderContent(msg?: string): void;
5
+ render(): string;
6
+ }
@@ -0,0 +1,9 @@
1
+ import { BankOption } from '../../types/types';
2
+
3
+ export declare class UssdBankDetailForm {
4
+ container: HTMLElement | Element;
5
+ constructor(container: HTMLElement | Element);
6
+ attachListerner(func?: (val: BankOption) => void): void;
7
+ renderContent(): void;
8
+ render(): string;
9
+ }
@@ -0,0 +1,5 @@
1
+ export declare class UssdViewCode {
2
+ container: HTMLElement;
3
+ constructor(container: HTMLElement);
4
+ render(): string;
5
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@spot-flow/checkout-inline-js",
3
- "version": "0.0.7",
3
+ "version": "0.1.16",
4
4
  "description": "",
5
5
  "main": "dist/checkout-inline.js",
6
6
  "module": "dist/checkout-inline.es.js",