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

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.
Files changed (41) hide show
  1. package/README.md +37 -55
  2. package/dist/api.d.ts +8 -7
  3. package/dist/apis/payment.service.d.ts +47 -0
  4. package/dist/checkout-class.d.ts +6 -0
  5. package/dist/checkout-inline.es.js +30230 -1645
  6. package/dist/checkout-inline.js +521 -624
  7. package/dist/data/countryStateCode.json.d.ts +22019 -0
  8. package/dist/data.d.ts +17 -0
  9. package/dist/index.css +1 -1
  10. package/dist/modules/Card.d.ts +23 -4
  11. package/dist/modules/Transfer.d.ts +27 -6
  12. package/dist/modules/Ussd.d.ts +37 -7
  13. package/dist/types/types.d.ts +48 -6
  14. package/dist/types.d.ts +2 -0
  15. package/dist/utils/format-date.d.ts +9 -0
  16. package/dist/utils/keys.d.ts +1 -0
  17. package/dist/utils/mask-text.d.ts +2 -0
  18. package/dist/utils/number-format.d.ts +6 -0
  19. package/dist/utils/set-baseurl.d.ts +1 -0
  20. package/dist/utils/stringTransform.d.ts +8 -0
  21. package/dist/utils.d.ts +7 -0
  22. package/dist/views/card/avs-validation.d.ts +10 -2
  23. package/dist/views/card/card-detail-form.d.ts +15 -7
  24. package/dist/views/card/card-otp-validation-form.d.ts +14 -2
  25. package/dist/views/card/card-pin-form.d.ts +11 -4
  26. package/dist/views/shared/main-footer.d.ts +15 -0
  27. package/dist/views/shared/main-header.d.ts +17 -0
  28. package/dist/views/shared/main-page.d.ts +40 -7
  29. package/dist/views/shared/main-sidebar.d.ts +17 -0
  30. package/dist/views/shared/page-loader.d.ts +1 -0
  31. package/dist/views/shared/payment-warning.d.ts +13 -2
  32. package/dist/views/shared/shared-main-option.d.ts +23 -0
  33. package/dist/views/transfer/transfer-confirmation-one.d.ts +13 -0
  34. package/dist/views/transfer/transfer-confirmation-two.d.ts +13 -0
  35. package/dist/views/transfer/transfer-confirmtation-progress.d.ts +34 -0
  36. package/dist/views/transfer/transfer-details.d.ts +23 -0
  37. package/dist/views/transfer/transfer-expired.d.ts +11 -0
  38. package/dist/views/ussd/ussd-bank-detail-form.d.ts +14 -2
  39. package/dist/views/ussd/ussd-error-screen.d.ts +3 -0
  40. package/dist/views/ussd/ussd-view-code.d.ts +36 -1
  41. package/package.json +20 -4
package/dist/data.d.ts CHANGED
@@ -1,3 +1,20 @@
1
+ export declare const TAB_OPTION_OBJECT: {
2
+ card: {
3
+ key: string;
4
+ icon: string;
5
+ label: string;
6
+ };
7
+ bank_transfer: {
8
+ key: string;
9
+ label: string;
10
+ icon: string;
11
+ };
12
+ ussd: {
13
+ key: string;
14
+ label: string;
15
+ icon: string;
16
+ };
17
+ };
1
18
  export declare const tabOptions: {
2
19
  label: string;
3
20
  icon: string;
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-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}}
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;--tone-40: 270, 3%, 62%, 1;--tone-70: 264, 6%, 34%, 1;--tone-80: 265, 10%, 24%, 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}.hide-scrollbar::-webkit-scrollbar{display:none!important}.hide-scrollbar{-ms-overflow-style:none!important;scrollbar-width:none!important}.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;--tw-bg-opacity: 1;background-color:rgb(236 236 255 / var(--tw-bg-opacity));color:hsla(var(--tone-60))}}@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:98dvh;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}}.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-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-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;width:100%;max-width:26rem;align-items:center;justify-content:space-between;gap:.75rem}@media (min-width: 768px){.pin-container{gap:1.5rem}}.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:3rem;width:3.5rem;border-radius:.25rem;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}@media (min-width: 768px){.pin-input{height:3.5rem;width:5rem;border-radius:.5rem}}.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:.25rem}@media (min-width: 768px){.warning-list{margin-top:.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-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:.5rem;display:flex;width:80%;align-items:center;justify-content:center;gap:.5rem;border-radius:.5rem;background-color:hsl(var(--primary));padding:1rem;text-align:center;font-size:1rem;line-height:1.5rem;font-weight:600;--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}@media (min-width: 768px){.copy-code-button{width:60%;font-size:1.25rem;line-height:1.75rem}}.spinner{margin-right:.75rem;height:2rem;width:2rem}@keyframes spin{to{transform:rotate(360deg)}}.spinner{animation:spin 1s linear infinite;fill:#fff}#checkout-modal .static{position:static}#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 .left-0{left:0}#checkout-modal .left-\[50\%\]{left:50%}#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{top:50%}#checkout-modal .top-5{top:1.25rem}#checkout-modal .top-\[20px\]{top:20px}#checkout-modal .top-\[50\%\]{top:50%}#checkout-modal .z-10{z-index:10}#checkout-modal .z-30{z-index:30}#checkout-modal .z-40{z-index:40}#checkout-modal .z-\[3000\]{z-index:3000}#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-\[2px\]{margin-left:2px;margin-right:2px}#checkout-modal .mx-auto{margin-left:auto;margin-right:auto}#checkout-modal .my-1{margin-top:.25rem;margin-bottom:.25rem}#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-1{margin-bottom:.25rem}#checkout-modal .mb-2{margin-bottom:.5rem}#checkout-modal .mb-4{margin-bottom:1rem}#checkout-modal .mb-5{margin-bottom:1.25rem}#checkout-modal .mb-7{margin-bottom:1.75rem}#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-2{margin-top:.5rem}#checkout-modal .mt-4{margin-top:1rem}#checkout-modal .mt-7{margin-top:1.75rem}#checkout-modal .mt-8{margin-top:2rem}#checkout-modal .block{display:block}#checkout-modal .inline-block{display:inline-block}#checkout-modal .inline{display:inline}#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-5{height:1.25rem}#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-\[40dvh\]{height:40dvh}#checkout-modal .h-\[40vh\]{height:40vh}#checkout-modal .h-\[50px\]{height:50px}#checkout-modal .h-full{height:100%}#checkout-modal .max-h-screen{max-height:100vh}#checkout-modal .min-h-full{min-height:100%}#checkout-modal .w-0{width:0px}#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-4\/5{width:80%}#checkout-modal .w-5{width:1.25rem}#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 .min-w-8{min-width:2rem}#checkout-modal .min-w-\[15rem\]{min-width:15rem}#checkout-modal .max-w-\[28rem\]{max-width:28rem}#checkout-modal .max-w-\[60\%\]{max-width:60%}#checkout-modal .max-w-\[8rem\]{max-width:8rem}#checkout-modal .flex-1{flex:1 1 0%}#checkout-modal .grow{flex-grow:1}#checkout-modal .-translate-x-\[50\%\]{--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 .-translate-y-2\/4,#checkout-modal .-translate-y-\[50\%\]{--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 .rotate-45{--tw-rotate: 45deg;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 .appearance-none{-webkit-appearance:none;-moz-appearance:none;appearance:none}#checkout-modal .grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}#checkout-modal .grid-cols-\[1fr_auto\]{grid-template-columns:1fr auto}#checkout-modal .grid-cols-\[auto_1fr\]{grid-template-columns:auto 1fr}#checkout-modal .grid-rows-\[auto_1fr\]{grid-template-rows:auto 1fr}#checkout-modal .grid-rows-\[auto_1fr_auto\]{grid-template-rows:auto 1fr auto}#checkout-modal .flex-col{flex-direction:column}#checkout-modal .place-items-center{place-items:center}#checkout-modal .items-end{align-items:flex-end}#checkout-modal .items-center{align-items:center}#checkout-modal .justify-center{justify-content:center}#checkout-modal .gap-1{gap:.25rem}#checkout-modal .gap-2{gap:.5rem}#checkout-modal .gap-3{gap:.75rem}#checkout-modal .gap-4{gap:1rem}#checkout-modal .gap-5{gap:1.25rem}#checkout-modal .gap-6{gap:1.5rem}#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 .justify-self-end{justify-self:end}#checkout-modal .justify-self-center{justify-self:center}#checkout-modal .overflow-auto{overflow:auto}#checkout-modal .overflow-hidden{overflow:hidden}#checkout-modal .overflow-y-auto{overflow-y:auto}#checkout-modal .whitespace-normal{white-space:normal}#checkout-modal .whitespace-nowrap{white-space:nowrap}#checkout-modal .break-words{overflow-wrap:break-word}#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-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-30{--tw-bg-opacity: .3}#checkout-modal .p-0{padding:0}#checkout-modal .p-3{padding:.75rem}#checkout-modal .px-0{padding-left:0;padding-right:0}#checkout-modal .px-2{padding-left:.5rem;padding-right:.5rem}#checkout-modal .px-3{padding-left:.75rem;padding-right:.75rem}#checkout-modal .px-4{padding-left:1rem;padding-right:1rem}#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 .px-8{padding-left:2rem;padding-right:2rem}#checkout-modal .py-2{padding-top:.5rem;padding-bottom:.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-2{padding-bottom:.5rem}#checkout-modal .pb-3{padding-bottom:.75rem}#checkout-modal .pb-4{padding-bottom:1rem}#checkout-modal .pb-5{padding-bottom:1.25rem}#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-2{padding-top:.5rem}#checkout-modal .pt-3{padding-top:.75rem}#checkout-modal .text-left{text-align:left}#checkout-modal .text-center{text-align:center}#checkout-modal .text-\[0\.625rem\]{font-size:.625rem}#checkout-modal .text-\[10px\]{font-size:10px}#checkout-modal .text-base{font-size:1rem;line-height:1.5rem}#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-medium{font-weight:500}#checkout-modal .font-semibold{font-weight:600}#checkout-modal .lowercase{text-transform:lowercase}#checkout-modal .tracking-\[0\.5px\]{letter-spacing:.5px}#checkout-modal .text-\[\#98A2B3\]{--tw-text-opacity: 1;color:rgb(152 162 179 / var(--tw-text-opacity))}#checkout-modal .text-black{--tw-text-opacity: 1;color:rgb(0 0 0 / var(--tw-text-opacity))}#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 .text-tone-70{color:hsla(var(--tone-70))}#checkout-modal .opacity-0{opacity:0}#checkout-modal .opacity-30{opacity:.3}#checkout-modal .shadow{--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)}#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}#checkout-modal .transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}#checkout-modal .duration-500{transition-duration:.5s}#checkout-modal .duration-700{transition-duration:.7s}#checkout-modal *::-webkit-scrollbar{height:.2em;width:.4em;cursor:pointer;--tw-bg-opacity: 1;background-color:rgb(244 244 244 / var(--tw-bg-opacity))}#checkout-modal *::-webkit-scrollbar-track{border-radius:100vh;--tw-bg-opacity: 1;background-color:rgb(153 146 146 / var(--tw-bg-opacity))}#checkout-modal *::-webkit-scrollbar-thumb{cursor:pointer;border-radius:100vh;border-width:3px;--tw-border-opacity: 1;border-color:rgb(112 112 112 / var(--tw-border-opacity));--tw-bg-opacity: 1;background-color:rgb(224 203 203 / var(--tw-bg-opacity))}#checkout-modal *::-webkit-scrollbar-thumb:hover{background:#53b6ed}.tab-button.active:after{animation:text-underline-animation .3s linear forwards}#toast-container{width:100%;margin:0 auto}.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:0px}to{width:100%}}#checkout-modal{color:hsla(var(--tone-80))}@media (min-width: 768px){.md\:container-center{display:flex;align-items:center;justify-content:center}}#checkout-modal .before\:absolute:before{content:var(--tw-content);position:absolute}#checkout-modal .before\:-top-0:before{content:var(--tw-content);top:-0px}#checkout-modal .before\:left-0:before{content:var(--tw-content);left:0}#checkout-modal .before\:h-4:before{content:var(--tw-content);height:1rem}#checkout-modal .before\:w-4:before{content:var(--tw-content);width:1rem}#checkout-modal .before\:-translate-y-1:before{content:var(--tw-content);--tw-translate-y: -.25rem;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 .before\:translate-x-\[50\%\]:before{content:var(--tw-content);--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 .before\:rotate-45:before{content:var(--tw-content);--tw-rotate: 45deg;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 .before\:bg-white:before{content:var(--tw-content);--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity))}#checkout-modal .hover\:block:hover{display:block}#checkout-modal .hover\:w-full:hover{width:100%}#checkout-modal .hover\:rotate-0:hover{--tw-rotate: 0deg;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 .hover\:border-primary:hover{border-color:hsl(var(--primary))}#checkout-modal .hover\:bg-blue-50:hover{--tw-bg-opacity: 1;background-color:rgb(239 246 255 / var(--tw-bg-opacity))}#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 .hover\:opacity-100:hover{opacity:1}#checkout-modal :is(.group:hover .group-hover\:block){display:block}#checkout-modal :is(.group:hover .group-hover\:flex){display:flex}#checkout-modal :is(.group:hover .group-hover\:w-full){width:100%}#checkout-modal :is(.group:hover .group-hover\:rotate-0){--tw-rotate: 0deg;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 :is(.group:hover .group-hover\:fill-tone-40){fill:hsla(var(--tone-40))}#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\:items-center{align-items:center}#checkout-modal .sm\:px-3{padding-left:.75rem;padding-right:.75rem}}@media (min-width: 768px){#checkout-modal .md\:-right-0{right:-0px}#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\:h-8{height:2rem}#checkout-modal .md\:w-3\/5{width:60%}#checkout-modal .md\:w-4\/5{width:80%}#checkout-modal .md\:w-8{width:2rem}#checkout-modal .md\:min-w-\[18rem\]{min-width:18rem}#checkout-modal .md\:max-w-\[13\.4rem\]{max-width:13.4rem}#checkout-modal .md\:max-w-\[900px\]{max-width:900px}#checkout-modal .md\:grid-cols-\[1fr_auto\]{grid-template-columns:1fr auto}#checkout-modal .md\:gap-5{gap:1.25rem}#checkout-modal .md\:gap-6{gap:1.5rem}#checkout-modal .md\:gap-9{gap:2.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\:px-5{padding-left:1.25rem;padding-right:1.25rem}#checkout-modal .md\:px-6{padding-left:1.5rem;padding-right:1.5rem}#checkout-modal .md\:px-7{padding-left:1.75rem;padding-right:1.75rem}#checkout-modal .md\:px-9{padding-left:2.25rem;padding-right:2.25rem}#checkout-modal .md\:py-16{padding-top:4rem;padding-bottom:4rem}#checkout-modal .md\:py-4{padding-top:1rem;padding-bottom:1rem}#checkout-modal .md\:py-5{padding-top:1.25rem;padding-bottom:1.25rem}#checkout-modal .md\:py-7{padding-top:1.75rem;padding-bottom:1.75rem}#checkout-modal .md\:py-8{padding-top:2rem;padding-bottom:2rem}#checkout-modal .md\:text-base{font-size:1rem;line-height:1.5rem}#checkout-modal .md\:text-xl{font-size:1.25rem;line-height:1.75rem}#checkout-modal .md\:font-medium{font-weight:500}}@media (min-width: 1024px){#checkout-modal .lg\:block{display:block}#checkout-modal .lg\:max-w-\[20rem\]{max-width:20rem}#checkout-modal .lg\:px-7{padding-left:1.75rem;padding-right:1.75rem}#checkout-modal .lg\:px-8{padding-left:2rem;padding-right:2rem}}@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\:text-center{text-align:center}}
@@ -1,12 +1,29 @@
1
- import { PaymentResponseData } from '../types/types';
1
+ import { GetMerchantPlanDetail, PaymentResponseData } from '../types/types';
2
2
 
3
+ type Props = {
4
+ container: HTMLElement;
5
+ closeModal: () => void;
6
+ token: string;
7
+ encryption: string;
8
+ email: string;
9
+ amount: number;
10
+ switchTab: (val: number) => void;
11
+ planId: string;
12
+ onSuccess?: (_val?: any) => void;
13
+ currency?: string;
14
+ rdtCode?: string;
15
+ url?: string;
16
+ reference?: string;
17
+ };
3
18
  declare class Card {
4
19
  private contents;
5
20
  private cardDetailForm;
6
21
  private cardOtpValidationForm;
22
+ private merchantPlanDetail;
7
23
  private cardPinForm;
8
24
  private avsForm;
9
25
  private successScreen;
26
+ private pageLoader;
10
27
  private warningScreen;
11
28
  private container;
12
29
  private closeModal;
@@ -19,9 +36,12 @@ declare class Card {
19
36
  private currency?;
20
37
  private _currentStep;
21
38
  private activeRef;
39
+ private rdtCode?;
40
+ private url?;
41
+ private reference?;
22
42
  private creditCardTypes;
23
43
  private switchTab;
24
- constructor(container: HTMLElement, closeModal: () => void, token: string, encryption: string, email: string, amount: number, switchTab: (val: number) => void, planId: string, onSuccess?: (_val?: any) => void);
44
+ constructor({ amount, closeModal, container, email, encryption, planId, switchTab, token, currency, rdtCode, url, reference, onSuccess, }: Props);
25
45
  private displayCardTypes;
26
46
  get currentStep(): number;
27
47
  set currentStep(step: number);
@@ -40,8 +60,7 @@ declare class Card {
40
60
  }): Promise<void>;
41
61
  private redirectTo3DS;
42
62
  verifyPayment(onSuccess: (data: PaymentResponseData) => void, onError: (error: Error) => void): Promise<void>;
43
- private getCardStepContent;
44
- renderCardContent(): string | undefined;
63
+ renderCardContent(values?: GetMerchantPlanDetail): void;
45
64
  private displayButtonText;
46
65
  }
47
66
  export default Card;
@@ -1,14 +1,38 @@
1
1
  import { PaymentResponseData } from '../types/types';
2
+ import { PageLoader } from '../views/shared/page-loader';
2
3
 
4
+ type Props = {
5
+ container: HTMLElement;
6
+ closeModal: () => void;
7
+ token: string;
8
+ email: string;
9
+ amount: number;
10
+ planId: string;
11
+ onSuccess?: (_val?: any) => void;
12
+ currency?: string;
13
+ rdtCode?: string;
14
+ url?: string;
15
+ reference?: string;
16
+ };
3
17
  declare class Transfer {
4
18
  private container;
5
19
  private contents;
6
20
  private closeModal;
7
21
  private onSuccess;
8
22
  private email;
23
+ private transferDetails;
24
+ private transferConfirmationOne;
25
+ private transferConfirmationTwo;
26
+ private transferConfirmationProgress;
27
+ private transferExpired;
28
+ mainLoader: PageLoader;
9
29
  private token;
30
+ private currency?;
10
31
  private planId;
11
32
  private amount;
33
+ private rdtCode?;
34
+ private url?;
35
+ private reference?;
12
36
  private _currentStep;
13
37
  private activeRef;
14
38
  private paymentResponse;
@@ -16,17 +40,14 @@ declare class Transfer {
16
40
  private timeLeft;
17
41
  private timerId;
18
42
  private abortController;
19
- constructor(container: HTMLElement, closeModal: () => void, token: string, email: string, amount: number, planId: string, onSuccess?: (_val?: any) => void);
43
+ constructor({ amount, closeModal, container, email, planId, token, currency, rdtCode, url, reference, onSuccess, }: Props);
20
44
  get currentStep(): number;
21
45
  set currentStep(step: number);
22
46
  attachInputListeners(): void;
47
+ onSentVerify(values: number): void;
23
48
  createTransfer(): Promise<void>;
24
49
  verifyTransfer(token: string, initialInterval: number, onSuccess: (data: PaymentResponseData) => void, onError: (error: Error) => void): Promise<void>;
25
- private getTransferStepContent;
26
- private updateTransferDetailsContent;
27
- renderTransferContent(): void;
28
- private startTimer;
29
- private updateProgressTimerContent;
50
+ renderTransferContent(): string | undefined;
30
51
  private stopTimer;
31
52
  stopProgressBar(): void;
32
53
  copyToClipboard(text: string, element: Element): void;
@@ -1,21 +1,51 @@
1
+ type Props = {
2
+ container: HTMLElement;
3
+ onSuccess?: (_val?: any) => void;
4
+ secret: string;
5
+ amount: number;
6
+ currency: string;
7
+ planId: string;
8
+ reference?: string;
9
+ email?: string;
10
+ fullname?: string;
11
+ rdtCode?: string;
12
+ url?: string;
13
+ closeModal: () => void;
14
+ switchTab: (val: number) => void;
15
+ };
1
16
  declare class Ussd {
2
17
  private contents;
3
- private banks;
4
18
  private selectedCode?;
19
+ private secret;
20
+ private amount;
21
+ private currency;
22
+ private planId?;
23
+ private fullname?;
24
+ private email?;
25
+ private pageLoader;
26
+ private reference?;
5
27
  private onSuccess;
28
+ private closeModal;
29
+ private warningScreen;
30
+ private switchTab;
6
31
  private bankDetail;
7
32
  private viewUssdCode;
8
33
  private _currentStep;
9
- constructor(_container: HTMLElement, onSuccess?: (_val?: any) => void);
34
+ private container;
35
+ private paymentService;
36
+ private successScreen;
37
+ private activeRef;
38
+ private abortController;
39
+ private _retry_count;
40
+ private intervalPayment?;
41
+ private rdtCode?;
42
+ private url?;
43
+ constructor({ container, onSuccess, secret, amount, currency, planId, email, fullname, reference, rdtCode, url, closeModal, switchTab, }: Props);
10
44
  get currentStep(): number;
11
45
  set currentStep(step: number);
12
- private getUssdStepContent;
13
46
  private onCodeSelect;
47
+ private validate;
14
48
  renderUssdContent(): void;
15
49
  handleSelectChange(_e: Event): void;
16
- private renderSearchOptions;
17
- searchBanksOnInput(searchInput: HTMLInputElement, optionsContainer: HTMLElement): void;
18
- openSearchOnFocus(searchInput: HTMLInputElement, optionsContainer: HTMLElement): void;
19
- closeSearchOptionsOutsideFocus(event: Event, searchInput: HTMLInputElement, optionsContainer: HTMLElement): void;
20
50
  }
21
51
  export default Ussd;
@@ -1,13 +1,20 @@
1
+ export type Prettify<T> = {
2
+ [K in keyof T]: T[K];
3
+ } & {};
1
4
  export type PaymentRequestPayload = {
2
5
  merchantId?: string;
3
6
  amount: number;
4
- channel: string;
7
+ channel?: string;
5
8
  currency: string;
6
9
  customer: {
7
- email: string;
10
+ email?: string;
11
+ name?: string;
12
+ phoneNumber?: string;
8
13
  };
9
14
  reference: string;
10
15
  planId?: string;
16
+ callbackUrl?: string;
17
+ regionId?: number;
11
18
  };
12
19
  export type CardDetails = {
13
20
  pan: string;
@@ -15,13 +22,28 @@ export type CardDetails = {
15
22
  expiryMonth: string;
16
23
  expiryYear: string;
17
24
  };
18
- export type CardPaymentRequestPayload = PaymentRequestPayload & {
25
+ export type CardPaymentRequestPayload = Prettify<PaymentRequestPayload & {
19
26
  card?: CardDetails;
20
27
  encryptedCard: string;
21
- };
28
+ }>;
29
+ export type UssdPaymentRequestPayload = Prettify<PaymentRequestPayload & {
30
+ bank: Partial<{
31
+ code: string;
32
+ name: string;
33
+ }>;
34
+ }>;
22
35
  export type AuthorizeCardPaymentRequestPayload = {
23
36
  authorization: {
24
- pin: string;
37
+ pin?: string;
38
+ otp?: string;
39
+ phoneNumber?: string;
40
+ avs?: {
41
+ state: string;
42
+ city: string;
43
+ country: string;
44
+ address: string;
45
+ zipCode: string;
46
+ };
25
47
  };
26
48
  reference: string;
27
49
  };
@@ -29,6 +51,7 @@ export type ValidateCardPaymentRequestPayload = {
29
51
  authorization: {
30
52
  otp?: string;
31
53
  phoneNumber?: string;
54
+ pin?: string;
32
55
  avs?: {
33
56
  state: string;
34
57
  city: string;
@@ -51,9 +74,21 @@ export type PaymentResponseData = {
51
74
  customer: Customer;
52
75
  provider: string;
53
76
  providerMessage: string;
54
- rate: Rate;
55
77
  authorization: Authorization;
56
78
  createdAt: Date;
79
+ localAmount: number;
80
+ localCurrency: string;
81
+ rate: number;
82
+ region: string;
83
+ card: {
84
+ type: string;
85
+ firstSix: string;
86
+ lastFour: string;
87
+ };
88
+ ussd: {
89
+ code: string;
90
+ paymentCode: string;
91
+ };
57
92
  };
58
93
  export interface Authorization {
59
94
  mode: string;
@@ -104,3 +139,10 @@ export type GetMerchantPlanDetail = {
104
139
  };
105
140
  plan: PlanDetailResponseData;
106
141
  };
142
+ export type GetBanksRequestParams = {
143
+ ussd: boolean;
144
+ };
145
+ export type GetBanksResponse = Array<{
146
+ code: string;
147
+ name: string;
148
+ }>;
package/dist/types.d.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  export type SpotflowProps = {
2
+ rdtCode?: string;
2
3
  merchantKey: string;
3
4
  encryptionKey: string;
4
5
  planId: string;
@@ -13,4 +14,5 @@ export type SpotflowProps = {
13
14
  firstname?: string;
14
15
  lastname?: string;
15
16
  onTransferConfirmationPending?: (_val?: any) => void;
17
+ url?: string;
16
18
  };
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Returns the difference between two dates in readable text.
3
+ * @param {Date|string|number} startDate - start date.
4
+ * @param {Date|string|number} endDate - end date.
5
+ * @returns {string} The difference between startDate and endDate in readable text
6
+ */
7
+ export declare const textDiffInDates: (startDate: Date | string | number, endDate: Date | string | number) => string;
8
+ export declare function formatTimeString(seconds: number): string;
9
+ export declare function getTimeformatWithMomentAppend(time: number, isMoment?: boolean): string;
@@ -0,0 +1 @@
1
+ export declare const mixpanelKey = "11162d9a0801daeaf786f1200cd3112b";
@@ -0,0 +1,2 @@
1
+ export declare function maskPhoneNumber(phoneNumber: string): string;
2
+ export declare function maskEmail(email: string): string;
@@ -6,3 +6,9 @@ export declare const formatWholeDecimal: (value: number) => {
6
6
  decimal: number;
7
7
  };
8
8
  export declare function formatNumberInFormat(num: number): string;
9
+ export declare const CurrenctObject: {
10
+ readonly USD: "$";
11
+ readonly EUR: "€";
12
+ readonly GBP: "£";
13
+ readonly NGN: "₦";
14
+ };
@@ -0,0 +1 @@
1
+ export declare const setBaseUrl: (prodUrl: string, devUrl?: string) => string;
@@ -0,0 +1,8 @@
1
+ export declare const underscoreRemove: (str: string) => string;
2
+ export declare const capitalizeFirstChar: (str: string) => string;
3
+ export declare const capitalizeWord: (str: string) => string;
4
+ export declare const isEmptyString: (str: string) => boolean;
5
+ export declare const underSCoreCapitalizeWord: (str: string) => string;
6
+ export declare const truncateString: (string: string, maxLength?: number) => string;
7
+ export declare const camelCaseReplacement: (str: string) => string;
8
+ export declare const lowercaseUndersoreText: (str: string) => string;
package/dist/utils.d.ts CHANGED
@@ -1,9 +1,16 @@
1
1
  export declare const generatePaymentReference: () => string;
2
2
  export declare const clearNumber: (value?: string) => string;
3
3
  export declare const formatCreditCardNumber: (value: string) => string;
4
+ export declare const clearNumberModified: (value: string) => string;
5
+ export declare const formatCreditCardModified: (value: string) => string;
4
6
  export declare const formatCVC: (value: string) => string;
5
7
  export declare const formatExpirationDate: (value: string) => string;
6
8
  export declare const unFormatCreditCardNumber: (value: string) => string;
7
9
  export declare const formatTime: (seconds: number) => string;
8
10
  export declare const getCardType: (cardNumber: string) => string;
9
11
  export declare const showToast: (message: string, theme: "success" | "error" | "info" | "warning", duration?: number) => void;
12
+ export declare class Toast {
13
+ static createToast: (message: string, theme: "success" | "error" | "info" | "warning") => HTMLDivElement;
14
+ static showToast: (message: string, theme: "success" | "error" | "info" | "warning", duration?: number) => void;
15
+ static removeToast: (toast: HTMLDivElement) => void;
16
+ }
@@ -5,13 +5,21 @@ type ContactDetails = {
5
5
  code?: string;
6
6
  state: string;
7
7
  };
8
+ type Props = {
9
+ onAction: (_evt: Event) => (_val: ContactDetails) => void;
10
+ container: HTMLDivElement;
11
+ };
8
12
  export declare class AvsValidationForm {
9
13
  container: HTMLDivElement;
14
+ private onAction;
10
15
  contactDetails: ContactDetails;
11
- constructor(container: HTMLDivElement);
12
- attachListeners(func?: (_evt: Event) => (_val: ContactDetails) => void): void;
16
+ private countries;
17
+ private states;
18
+ constructor(props: Props);
19
+ attachListeners(): void;
13
20
  handleInputChange(event: Event): void;
14
21
  validate(callback?: (_va: ContactDetails) => void): void;
22
+ renderComponent(): void;
15
23
  render(): string;
16
24
  }
17
25
  export {};
@@ -1,8 +1,19 @@
1
+ type CardDetailValueType = {
2
+ pan: string;
3
+ cvv: string;
4
+ expiryMonth: string;
5
+ expiryYear: string;
6
+ };
7
+ type Props = {
8
+ container: HTMLDivElement;
9
+ onAction: (_evt: Event) => (_values: CardDetailValueType) => void;
10
+ };
1
11
  export declare class CardDetailForm {
2
12
  container: HTMLElement | Element;
13
+ private onAction;
3
14
  private cardDetailsValues;
4
15
  private creditCardTypes;
5
- constructor(container: HTMLElement | Element);
16
+ constructor(props: Props);
6
17
  /**
7
18
  *
8
19
  * @param func
@@ -12,15 +23,12 @@ export declare class CardDetailForm {
12
23
  expiryMonth: this.cardDetailsValues?.expiry.split("/")[0].trim(),
13
24
  expiryYear: this.cardDetailsValues?.expiry.split("/")[1].trim(),
14
25
  */
15
- attachListener(func?: (_evt: Event) => (_values: {
16
- pan: string;
17
- cvv: string;
18
- expiryMonth: string;
19
- expiryYear: string;
20
- }) => void): void;
26
+ attachListener(): void;
21
27
  handleInputChange(event: Event, button: HTMLButtonElement | null): void;
28
+ validateCard(): boolean;
22
29
  private displayCardTypes;
23
30
  private filterCreditCardType;
24
31
  renderContent(): void;
25
32
  render(): string;
26
33
  }
34
+ export {};
@@ -1,9 +1,21 @@
1
+ type Props = {
2
+ container: HTMLDivElement;
3
+ onAction: (_evt: Event) => (_val: string) => void;
4
+ onClose: () => void;
5
+ email?: string;
6
+ phone?: string;
7
+ };
1
8
  export declare class CardOtpValidationForm {
2
9
  container: HTMLElement | Element;
3
10
  cardOtp: string;
11
+ private phone;
12
+ private email;
4
13
  private closeModal;
5
- constructor(container: HTMLElement | Element, close: () => void);
6
- attachListener(func?: (_evt: Event) => (_val: string) => void): void;
14
+ private onAction;
15
+ constructor(props: Props);
16
+ attachListener(): void;
7
17
  handleOtpInput(event: Event, button: HTMLButtonElement | null): void;
18
+ renderComponent(): void;
8
19
  render(): string;
9
20
  }
21
+ export {};
@@ -1,9 +1,16 @@
1
+ type Props = {
2
+ onAction: (_val: string) => void;
3
+ container: HTMLDivElement;
4
+ };
1
5
  export declare class CardPinForm {
2
6
  container: HTMLElement | Element;
3
7
  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
+ private onAction;
9
+ constructor(props: Props);
10
+ attachListener(): void;
11
+ handlePinPaste(event: ClipboardEvent, pinInputs: HTMLInputElement[]): void;
12
+ handlePinInputChange(event: Event, index: number, pinInputs: HTMLInputElement[]): void;
13
+ renderComponent(): void;
8
14
  render(): string;
9
15
  }
16
+ export {};
@@ -0,0 +1,15 @@
1
+ type Props = {
2
+ container: HTMLDivElement;
3
+ onAction: () => void;
4
+ onClose: () => void;
5
+ };
6
+ export declare class MainFooter {
7
+ container: HTMLDivElement;
8
+ onAction: () => void;
9
+ onClose: () => void;
10
+ constructor(props: Props);
11
+ attachListener(): void;
12
+ renderComponent(): void;
13
+ render(): string;
14
+ }
15
+ export {};