@coinbase/cdp-react 0.0.30 → 0.0.32

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- .Button-module__btn___Wj6Dr{--cdp-web-button-ring-color: transparent;--cdp-web-button-ring-width: 2px;--cdp-web-button-ring-inset-color: transparent;--cdp-web-button-ring-inset-width: 2px;border-radius:9999em}.Button-module__link-primary___6Zgkh,.Button-module__link-secondary___S0Qdo{padding:0 .25em}.Button-module__primary___WGT--{background-color:var(--cdp-web-colors-cta-primary-bg-default);color:var(--cdp-web-colors-cta-primary-text-default)}.Button-module__primary___WGT--:hover{background-color:var(--cdp-web-colors-cta-primary-bg-hover);color:var(--cdp-web-colors-cta-primary-text-hover)}.Button-module__primary___WGT--:focus{outline:none}.Button-module__primary___WGT--:focus-visible{--cdp-web-button-ring-color: var(--cdp-web-colors-cta-primary-border-focus);--cdp-web-button-ring-inset-color: var(--cdp-web-colors-page-bg-default);outline:none}.Button-module__secondary___Fx0LJ{background-color:var(--cdp-web-colors-cta-secondary-bg-default);color:var(--cdp-web-colors-cta-secondary-text-default)}.Button-module__secondary___Fx0LJ:hover{background-color:var(--cdp-web-colors-cta-secondary-bg-hover);color:var(--cdp-web-colors-cta-secondary-text-hover)}.Button-module__secondary___Fx0LJ:focus{outline:none}.Button-module__secondary___Fx0LJ:focus-visible{--cdp-web-button-ring-color: var(--cdp-web-colors-cta-secondary-border-focus);--cdp-web-button-ring-inset-color: var(--cdp-web-colors-page-bg-default);outline:none}.Button-module__link-primary___6Zgkh,.Button-module__transparent-primary___iwWv5{background-color:transparent;color:var(--cdp-web-colors-link-primary-text-default)}.Button-module__link-primary___6Zgkh:hover,.Button-module__transparent-primary___iwWv5:hover{color:var(--cdp-web-colors-link-primary-text-hover)}.Button-module__link-primary___6Zgkh:focus,.Button-module__transparent-primary___iwWv5:focus{outline:none}.Button-module__link-primary___6Zgkh:focus-visible,.Button-module__transparent-primary___iwWv5:focus-visible{--cdp-web-button-ring-color: var(--cdp-web-colors-link-primary-text-default);outline:none}.Button-module__link-secondary___S0Qdo,.Button-module__transparent-secondary___GfRXu{background-color:transparent;color:var(--cdp-web-colors-link-secondary-text-default)}.Button-module__link-secondary___S0Qdo:hover,.Button-module__transparent-secondary___GfRXu:hover{color:var(--cdp-web-colors-link-secondary-text-hover)}.Button-module__link-secondary___S0Qdo:focus,.Button-module__transparent-secondary___GfRXu:focus{outline:none}.Button-module__link-secondary___S0Qdo:focus-visible,.Button-module__transparent-secondary___GfRXu:focus-visible{--cdp-web-button-ring-color: var(--cdp-web-colors-link-secondary-text-default);outline:none}.Button-module__control-btn___9Gkoz{--cdp-web-button-ring-inset-color: var(--cdp-web-colors-select-trigger-border-default);--cdp-web-button-ring-inset-width: 1px;background-color:var(--cdp-web-colors-select-trigger-bg-default);border-radius:.5em;color:var(--cdp-web-colors-select-trigger-text-default);font-weight:400}.Button-module__control-btn___9Gkoz:focus{outline:none}.Button-module__control-btn___9Gkoz:focus-visible{--cdp-web-button-ring-inset-color: var(--cdp-web-colors-input-border-focus);--cdp-web-button-ring-inset-width: 2px;outline:none}
1
+ .Button-module__btn___Wj6Dr{--cdp-web-button-ring-color: transparent;--cdp-web-button-ring-width: 2px;--cdp-web-button-ring-inset-color: transparent;--cdp-web-button-ring-inset-width: 2px;border-radius:9999em}.Button-module__link-primary___6Zgkh,.Button-module__link-secondary___S0Qdo{padding:0 .25em}.Button-module__primary___WGT--{background-color:var(--cdp-web-colors-cta-primary-bg-default);color:var(--cdp-web-colors-cta-primary-text-default)}.Button-module__primary___WGT--:hover{background-color:var(--cdp-web-colors-cta-primary-bg-hover);color:var(--cdp-web-colors-cta-primary-text-hover)}.Button-module__primary___WGT--:active{background-color:var(--cdp-web-colors-cta-primary-bg-pressed)}.Button-module__primary___WGT--:focus{outline:none}.Button-module__primary___WGT--:focus-visible{--cdp-web-button-ring-color: var(--cdp-web-colors-cta-primary-border-focus);--cdp-web-button-ring-inset-color: var(--cdp-web-colors-page-bg-default);outline:none}.Button-module__secondary___Fx0LJ{background-color:var(--cdp-web-colors-cta-secondary-bg-default);color:var(--cdp-web-colors-cta-secondary-text-default)}.Button-module__secondary___Fx0LJ:hover{background-color:var(--cdp-web-colors-cta-secondary-bg-hover);color:var(--cdp-web-colors-cta-secondary-text-hover)}.Button-module__secondary___Fx0LJ:active{background-color:var(--cdp-web-colors-cta-secondary-bg-pressed)}.Button-module__secondary___Fx0LJ:focus{outline:none}.Button-module__secondary___Fx0LJ:focus-visible{--cdp-web-button-ring-color: var(--cdp-web-colors-cta-secondary-border-focus);--cdp-web-button-ring-inset-color: var(--cdp-web-colors-page-bg-default);outline:none}.Button-module__link-primary___6Zgkh,.Button-module__transparent-primary___iwWv5{background-color:transparent;color:var(--cdp-web-colors-link-primary-text-default)}.Button-module__link-primary___6Zgkh:hover,.Button-module__transparent-primary___iwWv5:hover{color:var(--cdp-web-colors-link-primary-text-hover)}.Button-module__link-primary___6Zgkh:active,.Button-module__transparent-primary___iwWv5:active{background-color:var(--cdp-web-colors-link-primary-text-pressed)}.Button-module__link-primary___6Zgkh:focus,.Button-module__transparent-primary___iwWv5:focus{outline:none}.Button-module__link-primary___6Zgkh:focus-visible,.Button-module__transparent-primary___iwWv5:focus-visible{--cdp-web-button-ring-color: var(--cdp-web-colors-link-primary-text-default);outline:none}.Button-module__link-secondary___S0Qdo,.Button-module__transparent-secondary___GfRXu{background-color:transparent;color:var(--cdp-web-colors-link-secondary-text-default)}.Button-module__link-secondary___S0Qdo:hover,.Button-module__transparent-secondary___GfRXu:hover{color:var(--cdp-web-colors-link-secondary-text-hover)}.Button-module__link-secondary___S0Qdo:active,.Button-module__transparent-secondary___GfRXu:active{background-color:var(--cdp-web-colors-link-secondary-text-pressed)}.Button-module__link-secondary___S0Qdo:focus,.Button-module__transparent-secondary___GfRXu:focus{outline:none}.Button-module__link-secondary___S0Qdo:focus-visible,.Button-module__transparent-secondary___GfRXu:focus-visible{--cdp-web-button-ring-color: var(--cdp-web-colors-link-secondary-text-default);outline:none}.Button-module__control-btn___9Gkoz{--cdp-web-button-ring-inset-color: var(--cdp-web-colors-select-trigger-border-default);--cdp-web-button-ring-inset-width: 1px;background-color:var(--cdp-web-colors-select-trigger-bg-default);border-radius:.5em;color:var(--cdp-web-colors-select-trigger-text-default);font-weight:400}.Button-module__control-btn___9Gkoz:hover{background-color:var(--cdp-web-colors-select-trigger-bg-hover)}.Button-module__control-btn___9Gkoz:active{background-color:var(--cdp-web-colors-select-trigger-bg-pressed)}.Button-module__control-btn___9Gkoz:focus{outline:none}.Button-module__control-btn___9Gkoz:focus-visible{--cdp-web-button-ring-inset-color: var(--cdp-web-colors-input-border-focus);--cdp-web-button-ring-inset-width: 2px;outline:none}
@@ -1 +1 @@
1
- .FundErrorScreen-module__icon___Mf6ck{width:4em;height:4em;color:var(--cdp-web-colors-fg-warning)}.FundErrorScreen-module__title___8Qv6o{font-size:1.25em;font-weight:600;line-height:1.4;margin:.5em 0 .25em}.FundErrorScreen-module__body___-p-r9{color:var(--cdp-web-colors-fg-muted);line-height:1.5;margin:0 0 .25em}.FundErrorScreen-module__body___-p-r9:last-child{margin-bottom:0}.FundErrorScreen-module__docs-link___mzeH8{white-space:nowrap}.FundErrorScreen-module__keywords___u85Do span[data-part=keyword]{background-color:var(--cdp-web-colors-code-bg-default);border:1px solid var(--cdp-web-colors-code-border-default);border-radius:.25em;color:var(--cdp-web-colors-code-text-default);font-size:.875em;line-height:1;padding:.2em .25em;font-family:var(--cdp-web-font-family-mono)}
1
+ .FundErrorScreen-module__icon___Mf6ck{color:var(--cdp-web-colors-fg-warning);display:block;height:3em;width:3em}.FundErrorScreen-module__title___8Qv6o{font-size:1.25em;font-weight:600;line-height:1.4;margin:1em 0 .5em}.FundErrorScreen-module__body___-p-r9{color:var(--cdp-web-colors-fg-muted);line-height:1.5;margin:0 0 .5em}.FundErrorScreen-module__body___-p-r9:last-child{margin-bottom:0}.FundErrorScreen-module__docs-link___mzeH8{color:var(--cdp-web-colors-link-primary-text-default);white-space:nowrap}.FundErrorScreen-module__docs-link___mzeH8:hover{color:var(--cdp-web-colors-link-primary-text-hover)}.FundErrorScreen-module__docs-link___mzeH8:active{color:var(--cdp-web-colors-link-primary-text-pressed)}.FundErrorScreen-module__keywords___u85Do span[data-part=keyword]{background-color:var(--cdp-web-colors-code-bg-default);border:1px solid var(--cdp-web-colors-code-border-default);border-radius:.25em;color:var(--cdp-web-colors-code-text-default);font-size:.875em;line-height:1;padding:.2em .25em;font-family:var(--cdp-web-font-family-mono)}
@@ -1 +1 @@
1
- .FundModal-module__trigger___2IuXj{padding-left:2em;padding-right:2em}.FundModal-module__fund___1AmQa{height:100%;overflow:hidden}.FundModal-module__fund___1AmQa.FundModal-module__no-footer___WKV78{padding-bottom:2em}.FundModal-module__title-buttons___Lctf7{display:flex;justify-content:space-between;align-items:center}.FundModal-module__close-button___jzdFM{transform:translate(.75em);margin-left:auto;margin-right:0}.FundModal-module__close-icon___WoA4a{height:auto;width:1.5em}.FundModal-module__fund-inner___UuOq3{text-align:left}.FundModal-module__fund-inner___UuOq3.FundModal-module__tx-status___fc-3f{text-align:center}.FundModal-module__title___lNsoT{flex-grow:1}.FundModal-module__tx-status___fc-3f .FundModal-module__title___lNsoT{padding-left:3em}.FundModal-module__content___9f3ze{margin-top:1.5em}.FundModal-module__tx-status___fc-3f .FundModal-module__content___9f3ze{margin-top:4em}.FundModal-module__tx-status___fc-3f .FundModal-module__content___9f3ze p:last-child{margin-bottom:4em}.FundModal-module__tx-status___fc-3f .FundModal-module__content___9f3ze button:last-child{margin-top:4em}
1
+ .FundModal-module__trigger___2IuXj{padding-left:2em;padding-right:2em}.FundModal-module__fund___1AmQa{height:100%;overflow:hidden}.FundModal-module__fund___1AmQa.FundModal-module__no-footer___WKV78{padding-bottom:2em}.FundModal-module__title-buttons___Lctf7{display:flex;justify-content:space-between;align-items:center}.FundModal-module__close-button___jzdFM{transform:translate(.75em);margin-left:auto;margin-right:0}.FundModal-module__close-icon___WoA4a{height:auto;width:1.5em}.FundModal-module__fund-inner___UuOq3{text-align:left}.FundModal-module__fund-inner___UuOq3.FundModal-module__tx-status___fc-3f{text-align:center}.FundModal-module__title___lNsoT{flex-grow:1}.FundModal-module__tx-status___fc-3f .FundModal-module__title___lNsoT{padding-left:3em}.FundModal-module__content___9f3ze{margin-top:1.5em}.FundModal-module__error-view___hR1A0 .FundModal-module__content___9f3ze{margin-top:0;margin-bottom:2em}.FundModal-module__tx-status___fc-3f .FundModal-module__content___9f3ze{margin-top:4em}.FundModal-module__tx-status___fc-3f .FundModal-module__content___9f3ze p:last-child{margin-bottom:4em}.FundModal-module__tx-status___fc-3f .FundModal-module__content___9f3ze button:last-child{margin-top:4em}
@@ -1 +1 @@
1
- .FundTransactionStatus-module__graphic___cam38{display:flex;align-items:center;justify-content:center;position:relative}.FundTransactionStatus-module__status___2zKJu{text-align:center}.FundTransactionStatus-module__pad___-9rGO{padding:.5em}.FundTransactionStatus-module__spinner___94rMk{width:5em;height:5em;color:var(--cdp-web-colors-line-primary)}.FundTransactionStatus-module__icon___0hBQO{color:var(--cdp-web-colors-page-text-default);position:absolute;display:flex;align-items:center;justify-content:center;width:2em;height:2em;top:50%;left:50%;transform:translate(-50%,-50%)}.FundTransactionStatus-module__icon___0hBQO svg{width:100%;height:auto}.FundTransactionStatus-module__icon-success___893VG svg{color:var(--cdp-web-colors-fg-positive)}.FundTransactionStatus-module__icon-error___-aQvD svg{color:var(--cdp-web-colors-fg-negative)}.FundTransactionStatus-module__subhead___0sHIM{font-size:1.25em;line-height:1.2;font-weight:600;margin:1em 0 .25em}.FundTransactionStatus-module__description___W7kK2{font-size:1.125em;color:var(--cdp-web-colors-page-text-muted);line-height:1.5;font-weight:400;margin:0 0 1em}.FundTransactionStatus-module__description___W7kK2:last-child{margin-bottom:0}.FundTransactionStatus-module__ring___1vnCu{border-radius:9999em;border:3px solid transparent;display:block;width:4em;height:4em}.FundTransactionStatus-module__ring-success___Bxudq{border-color:var(--cdp-web-colors-line-positive)}.FundTransactionStatus-module__ring-error___WmTaE{border-color:var(--cdp-web-colors-line-negative)}
1
+ .FundTransactionStatus-module__graphic___cam38{display:flex;align-items:center;justify-content:center;position:relative}.FundTransactionStatus-module__status___2zKJu{text-align:center}.FundTransactionStatus-module__pad___-9rGO{padding:.5em}.FundTransactionStatus-module__spinner___94rMk{width:5em;height:5em;color:var(--cdp-web-colors-line-primary)}.FundTransactionStatus-module__icon___0hBQO{color:var(--cdp-web-colors-page-text-default);position:absolute;display:flex;align-items:center;justify-content:center;width:2em;height:2em;top:50%;left:50%;transform:translate(-50%,-50%)}.FundTransactionStatus-module__icon___0hBQO svg{width:100%;height:auto}.FundTransactionStatus-module__icon-success___893VG svg{color:var(--cdp-web-colors-fg-positive)}.FundTransactionStatus-module__icon-error___-aQvD svg{color:var(--cdp-web-colors-fg-negative)}.FundTransactionStatus-module__subhead___0sHIM{font-size:1.25em;line-height:1.2;font-weight:600;margin:1em 0 .25em}.FundTransactionStatus-module__description___W7kK2{font-size:1.125em;font-variant-numeric:tabular-nums;color:var(--cdp-web-colors-page-text-muted);line-height:1.5;font-weight:400;margin:0 0 1em}.FundTransactionStatus-module__description___W7kK2:last-child{margin-bottom:0}.FundTransactionStatus-module__ring___1vnCu{border-radius:9999em;border:3px solid transparent;display:block;width:4em;height:4em}.FundTransactionStatus-module__ring-success___Bxudq{border-color:var(--cdp-web-colors-line-positive)}.FundTransactionStatus-module__ring-error___WmTaE{border-color:var(--cdp-web-colors-line-negative)}.FundTransactionStatus-module__invisible___m72ZQ{visibility:hidden}
@@ -1 +1 @@
1
- .Select-module__select-trigger___yqioM{--cdp-web-button-ring-inset-color: var(--cdp-web-colors-select-trigger-border-default);--cdp-web-button-ring-inset-width: 1px;background-color:var(--cdp-web-colors-select-trigger-bg-default);border-radius:.5em;color:var(--cdp-web-colors-select-trigger-text-default);font-weight:500;text-align:left;justify-content:space-between}.Select-module__select-trigger___yqioM:focus{outline:none}.Select-module__select-trigger___yqioM:focus-visible{--cdp-web-button-ring-inset-color: var(--cdp-web-colors-select-trigger-border-focus);--cdp-web-button-ring-inset-width: 2px;outline:none}.Select-module__select-icon___hE7Wy{transition:transform .2s ease-in-out}.Select-module__select-trigger___yqioM[data-state=open] .Select-module__select-icon___hE7Wy{transform:rotate(0)}.Select-module__select-trigger___yqioM[data-state=closed] .Select-module__select-icon___hE7Wy{transform:rotate(-90deg)}.Select-module__select-content___6R8J9{--shadow-sm: 0 1px 3px 0 rgb(0 0 0 / 10%), 0 1px 2px -1px rgb(0 0 0 / 10%);background-color:var(--cdp-web-colors-select-list-bg-default);border:1px solid var(--cdp-web-colors-select-list-border-default);border-radius:.5em;box-sizing:border-box;box-shadow:var(--shadow-sm);font-size:var(--cdp-web-font-size-base);max-height:var(--radix-select-content-available-height);padding:.5em;text-align:left;width:var(--radix-select-trigger-width)}.Select-module__select-content___6R8J9[data-state=open]{animation:Select-module__slide-down-and-fade___66mDK .2s cubic-bezier(.4,0,.2,1)}.Select-module__select-content___6R8J9[data-side=top][data-state=open]{animation:Select-module__slide-up-and-fade___0H9hX .2s cubic-bezier(.4,0,.2,1)}.Select-module__select-item___12l2C{background-color:var(--cdp-web-colors-select-list-item-bg-default);border-radius:.5em;color:var(--cdp-web-colors-select-list-item-text-default);cursor:pointer;font-size:.875em;display:flex;align-items:center;justify-content:space-between;gap:.5em;padding:.5em;transition:background-color .2s cubic-bezier(.4,0,.2,1)}.Select-module__select-item___12l2C[data-highlighted]{background-color:var(--cdp-web-colors-select-list-item-bg-highlight);color:var(--cdp-web-colors-select-list-item-text-onHighlight);outline:none}.Select-module__rotate-180___KuvGV{transform:rotate(180deg)}@keyframes Select-module__slide-down-and-fade___66mDK{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@keyframes Select-module__slide-up-and-fade___0H9hX{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
1
+ .Select-module__select-trigger___yqioM{--cdp-web-button-ring-inset-color: var(--cdp-web-colors-select-trigger-border-default);--cdp-web-button-ring-inset-width: 1px;background-color:var(--cdp-web-colors-select-trigger-bg-default);border-radius:.5em;color:var(--cdp-web-colors-select-trigger-text-default);font-weight:500;text-align:left;justify-content:space-between}.Select-module__select-trigger___yqioM:hover{background-color:var(--cdp-web-colors-select-trigger-bg-hover)}.Select-module__select-trigger___yqioM:active{background-color:var(--cdp-web-colors-select-trigger-bg-pressed)}.Select-module__select-trigger___yqioM:focus{outline:none}.Select-module__select-trigger___yqioM:focus-visible{--cdp-web-button-ring-inset-color: var(--cdp-web-colors-select-trigger-border-focus);--cdp-web-button-ring-inset-width: 2px;outline:none}.Select-module__select-icon___hE7Wy{transition:transform .2s ease-in-out}.Select-module__select-trigger___yqioM[data-state=open] .Select-module__select-icon___hE7Wy{transform:rotate(0)}.Select-module__select-trigger___yqioM[data-state=closed] .Select-module__select-icon___hE7Wy{transform:rotate(-90deg)}.Select-module__select-content___6R8J9{--shadow-sm: 0 1px 3px 0 rgb(0 0 0 / 10%), 0 1px 2px -1px rgb(0 0 0 / 10%);background-color:var(--cdp-web-colors-select-list-bg-default);border:1px solid var(--cdp-web-colors-select-list-border-default);border-radius:.5em;box-sizing:border-box;box-shadow:var(--shadow-sm);font-size:var(--cdp-web-font-size-base);max-height:var(--radix-select-content-available-height);padding:.5em;text-align:left;width:var(--radix-select-trigger-width)}.Select-module__select-content___6R8J9[data-state=open]{animation:Select-module__slide-down-and-fade___66mDK .2s cubic-bezier(.4,0,.2,1)}.Select-module__select-content___6R8J9[data-side=top][data-state=open]{animation:Select-module__slide-up-and-fade___0H9hX .2s cubic-bezier(.4,0,.2,1)}.Select-module__select-item___12l2C{background-color:var(--cdp-web-colors-select-list-item-bg-default);border-radius:.5em;color:var(--cdp-web-colors-select-list-item-text-default);cursor:pointer;font-size:.875em;display:flex;align-items:center;justify-content:space-between;gap:.5em;padding:.5em;transition:background-color .2s cubic-bezier(.4,0,.2,1)}.Select-module__select-item___12l2C[data-highlighted]{background-color:var(--cdp-web-colors-select-list-item-bg-highlight);color:var(--cdp-web-colors-select-list-item-text-onHighlight);outline:none}.Select-module__rotate-180___KuvGV{transform:rotate(180deg)}@keyframes Select-module__slide-down-and-fade___66mDK{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@keyframes Select-module__slide-up-and-fade___0H9hX{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@@ -1 +1 @@
1
- @import"https://fonts.googleapis.com/css2?family=DM+Mono:ital,wght@0,300;0,400;0,500;1,300;1,400;1,500&family=DM+Sans:ital,opsz,wght@0,9..40,100..1000;1,9..40,100..1000&display=swap";.ThemeProvider-module__wrapper___aXwhZ{width:100%}
1
+ @import"https://fonts.googleapis.com/css2?family=DM+Mono:ital,wght@0,300;0,400;0,500;1,300;1,400;1,500&family=Rethink+Sans:ital,wght@0,400..800;1,400..800&display=swap";.ThemeProvider-module__wrapper___aXwhZ{width:100%}
@@ -1,11 +1,11 @@
1
- import { jsx as E } from "react/jsx-runtime";
2
- import { useEvmAddress as T } from "@coinbase/cdp-hooks";
3
- import { createContext as R, useContext as U, useEffect as l, useMemo as b } from "react";
4
- import { useBuyUrl as M } from "./hooks/useBuyUrl.js";
5
- import { useEmitLifecycleStatus as g } from "./hooks/useEmitLifecycleStatus.js";
6
- import { useExchangeRate as k } from "./hooks/useExchangeRate.js";
7
- import { usePaymentMethods as H } from "./hooks/usePaymentMethods.js";
8
- import { useFundReducer as N } from "./useFundReducer.js";
1
+ import { jsx as T } from "react/jsx-runtime";
2
+ import { useEvmAddress as U } from "@coinbase/cdp-hooks";
3
+ import { createContext as R, useContext as b, useEffect as l, useMemo as M } from "react";
4
+ import { useBuyUrl as g } from "./hooks/useBuyUrl.js";
5
+ import { useEmitLifecycleStatus as k } from "./hooks/useEmitLifecycleStatus.js";
6
+ import { useExchangeRate as H } from "./hooks/useExchangeRate.js";
7
+ import { usePaymentMethods as N } from "./hooks/usePaymentMethods.js";
8
+ import { useFundReducer as _ } from "./useFundReducer.js";
9
9
  const x = {
10
10
  country: "US",
11
11
  cryptoCurrency: "ETH",
@@ -19,7 +19,7 @@ const x = {
19
19
  statusName: "init",
20
20
  statusData: null
21
21
  }
22
- }, C = R(void 0), z = ({
22
+ }, C = R(void 0), G = ({
23
23
  children: c,
24
24
  fetchBuyOptions: h,
25
25
  fetchBuyQuote: f,
@@ -38,8 +38,9 @@ const x = {
38
38
  locale: d,
39
39
  network: o,
40
40
  presetAmountInputs: m,
41
- subdivision: n
42
- } = I, { evmAddress: w } = T(), [p, r] = N({
41
+ redirectUrl: w,
42
+ subdivision: r
43
+ } = I, { evmAddress: A } = U(), [p, n] = _({
43
44
  ...x,
44
45
  country: t,
45
46
  cryptoCurrency: e,
@@ -49,11 +50,11 @@ const x = {
49
50
  locale: d,
50
51
  network: o,
51
52
  presetAmountInputs: m,
52
- subdivision: n,
53
+ subdivision: r,
53
54
  selectedInputType: S || x.selectedInputType
54
55
  });
55
56
  l(() => {
56
- r({
57
+ n({
57
58
  type: "SYNC_WITH_PROPS",
58
59
  payload: {
59
60
  country: t,
@@ -64,7 +65,7 @@ const x = {
64
65
  locale: d,
65
66
  network: o,
66
67
  presetAmountInputs: m,
67
- subdivision: n
68
+ subdivision: r
68
69
  }
69
70
  });
70
71
  }, [
@@ -76,53 +77,54 @@ const x = {
76
77
  d,
77
78
  o,
78
79
  m,
79
- n,
80
- r
81
- ]), g({
80
+ r,
81
+ n
82
+ ]), k({
82
83
  lifecycleStatus: p.transactionStatus,
83
84
  onError: u,
84
85
  onStatus: D,
85
86
  onSuccess: F
86
87
  });
87
- const { fetchExchangeRate: y } = k({
88
+ const { fetchExchangeRate: y } = H({
88
89
  cryptoCurrency: e,
89
90
  country: t,
90
- dispatch: r,
91
+ dispatch: n,
91
92
  fetchBuyQuote: f,
92
93
  fiatCurrency: s,
93
94
  network: o,
94
95
  onError: u,
95
- subdivision: n
96
- }), { fetchPaymentMethods: P } = H({
96
+ subdivision: r
97
+ }), { fetchPaymentMethods: P } = N({
97
98
  country: t,
98
99
  cryptoCurrency: e,
99
- dispatch: r,
100
+ dispatch: n,
100
101
  fetchBuyOptions: h,
101
102
  fiatCurrency: s,
102
103
  network: o,
103
104
  onError: u,
104
- subdivision: n
105
- }), { fetchBuyUrl: v } = M({
105
+ subdivision: r
106
+ }), { fetchBuyUrl: v } = g({
106
107
  cryptoCurrency: e,
107
- destinationAddress: w || void 0,
108
+ destinationAddress: A || void 0,
108
109
  fiatCurrency: s,
109
110
  fetchBuyQuote: f,
110
111
  country: t,
111
112
  network: o,
112
- subdivision: n
113
- }), A = b(() => ({ state: p, dispatch: r, fetchBuyUrl: v }), [p, r, v]);
113
+ redirectUrl: w,
114
+ subdivision: r
115
+ }), E = M(() => ({ state: p, dispatch: n, fetchBuyUrl: v }), [p, n, v]);
114
116
  return l(() => {
115
117
  y();
116
118
  }, [y]), l(() => {
117
119
  P();
118
- }, [P]), /* @__PURE__ */ E(C.Provider, { value: A, children: c });
119
- }, G = () => {
120
- const c = U(C);
120
+ }, [P]), /* @__PURE__ */ T(C.Provider, { value: E, children: c });
121
+ }, J = () => {
122
+ const c = b(C);
121
123
  if (!c)
122
124
  throw new Error("useFundContext must be used within a FundProvider");
123
125
  return c;
124
126
  };
125
127
  export {
126
- z as FundProvider,
127
- G as useFundContext
128
+ G as FundProvider,
129
+ J as useFundContext
128
130
  };
@@ -1,54 +1,55 @@
1
- import { jsx as t, jsxs as c, Fragment as i } from "react/jsx-runtime";
2
- import { useRef as l, useCallback as _, useEffect as S, useMemo as g } from "react";
1
+ import { jsx as t, jsxs as c, Fragment as e } from "react/jsx-runtime";
2
+ import { useRef as d, useCallback as h, useEffect as S, useMemo as N } from "react";
3
3
  import { Button as o } from "../../ui/Button/index.js";
4
- import { LoadingSpinner as N } from "../../ui/LoadingSpinner/index.js";
5
- import { SwitchFadeTransition as T } from "../../ui/SwitchFadeTransition/index.js";
6
- import { IconCheck as f } from "../../../icons/IconCheck.js";
7
- import { IconCurrencies as $ } from "../../../icons/IconCurrencies.js";
8
- import { IconXMark as w } from "../../../icons/IconXMark.js";
4
+ import { LoadingSpinner as T } from "../../ui/LoadingSpinner/index.js";
5
+ import { SwitchFadeTransition as $ } from "../../ui/SwitchFadeTransition/index.js";
6
+ import { IconCheck as g } from "../../../icons/IconCheck.js";
7
+ import { IconCurrencies as f } from "../../../icons/IconCurrencies.js";
8
+ import { IconXMark as b } from "../../../icons/IconXMark.js";
9
9
  import { useFundContext as m } from "../FundProvider.js";
10
- import '../../../assets/FundTransactionStatus.css';const y = "FundTransactionStatus-module__graphic___cam38", b = "FundTransactionStatus-module__status___2zKJu", C = "FundTransactionStatus-module__pad___-9rGO", F = "FundTransactionStatus-module__spinner___94rMk", k = "FundTransactionStatus-module__icon___0hBQO", v = "FundTransactionStatus-module__subhead___0sHIM", M = "FundTransactionStatus-module__description___W7kK2", W = "FundTransactionStatus-module__ring___1vnCu", s = {
11
- graphic: y,
12
- status: b,
13
- pad: C,
14
- spinner: F,
15
- icon: k,
10
+ import '../../../assets/FundTransactionStatus.css';const w = "FundTransactionStatus-module__graphic___cam38", y = "FundTransactionStatus-module__status___2zKJu", F = "FundTransactionStatus-module__pad___-9rGO", v = "FundTransactionStatus-module__spinner___94rMk", C = "FundTransactionStatus-module__icon___0hBQO", k = "FundTransactionStatus-module__subhead___0sHIM", M = "FundTransactionStatus-module__description___W7kK2", W = "FundTransactionStatus-module__ring___1vnCu", P = "FundTransactionStatus-module__invisible___m72ZQ", s = {
11
+ graphic: w,
12
+ status: y,
13
+ pad: F,
14
+ spinner: v,
15
+ icon: C,
16
16
  "icon-success": "FundTransactionStatus-module__icon-success___893VG",
17
17
  "icon-error": "FundTransactionStatus-module__icon-error___-aQvD",
18
- subhead: v,
18
+ subhead: k,
19
19
  description: M,
20
20
  ring: W,
21
21
  "ring-success": "FundTransactionStatus-module__ring-success___Bxudq",
22
- "ring-error": "FundTransactionStatus-module__ring-error___WmTaE"
23
- }, P = ["waiting", "transactionSubmitted", "transactionSuccess", "error"], D = (n) => {
24
- const { state: a } = m(), r = l(null), u = l(null), d = _((e) => {
25
- u.current !== e && (u.current = e, r.current?.transition.toggle(e));
22
+ "ring-error": "FundTransactionStatus-module__ring-error___WmTaE",
23
+ invisible: P
24
+ }, x = ["waiting", "transactionSubmitted", "transactionSuccess", "error"], J = (a) => {
25
+ const { state: n } = m(), i = d(null), l = d(null), u = h((r) => {
26
+ l.current !== r && (l.current = r, i.current?.transition.toggle(r));
26
27
  }, []);
27
28
  return S(() => {
28
- (a.transactionStatus.statusName === "transactionSubmitted" || a.transactionStatus.statusName === "transactionSuccess" || a.transactionStatus.statusName === "error") && d(a.transactionStatus.statusName);
29
- }, [a.transactionStatus.statusName, d]), /* @__PURE__ */ t(
30
- T,
29
+ (n.transactionStatus.statusName === "transactionSubmitted" || n.transactionStatus.statusName === "transactionSuccess" || n.transactionStatus.statusName === "error") && u(n.transactionStatus.statusName);
30
+ }, [n.transactionStatus.statusName, u]), /* @__PURE__ */ t(
31
+ $,
31
32
  {
32
33
  animateHeight: !1,
33
34
  timeout: 250,
34
- items: P,
35
+ items: x,
35
36
  initialEntered: !0,
36
- transitionRef: r,
37
- children: ({ itemKey: e, ...p }) => {
38
- const h = E[e];
39
- return /* @__PURE__ */ t("div", { ...p, className: s.status, children: /* @__PURE__ */ t(h, { ...n }) });
37
+ transitionRef: i,
38
+ children: ({ itemKey: r, ...p }) => {
39
+ const _ = K[r];
40
+ return /* @__PURE__ */ t("div", { ...p, className: s.status, children: /* @__PURE__ */ t(_, { ...a }) });
40
41
  }
41
42
  }
42
43
  );
43
- }, x = () => {
44
- const { state: n } = m(), a = g(
45
- () => n.paymentMethods?.find((r) => r.id === n.selectedPaymentMethod?.id),
46
- [n.paymentMethods, n.selectedPaymentMethod?.id]
44
+ }, G = () => {
45
+ const { state: a } = m(), n = N(
46
+ () => a.paymentMethods?.find((i) => i.id === a.selectedPaymentMethod?.id),
47
+ [a.paymentMethods, a.selectedPaymentMethod?.id]
47
48
  );
48
- return /* @__PURE__ */ c(i, { children: [
49
+ return /* @__PURE__ */ c(e, { children: [
49
50
  /* @__PURE__ */ c("div", { className: s.graphic, children: [
50
51
  /* @__PURE__ */ t(
51
- N,
52
+ T,
52
53
  {
53
54
  strokeWidth: "5%",
54
55
  staticStroke: !0,
@@ -56,70 +57,70 @@ import '../../../assets/FundTransactionStatus.css';const y = "FundTransactionSta
56
57
  className: s.spinner
57
58
  }
58
59
  ),
59
- a && /* @__PURE__ */ t("span", { className: s.icon, children: a.icon })
60
+ n && /* @__PURE__ */ t("span", { className: s.icon, children: n.icon })
60
61
  ] }),
61
62
  /* @__PURE__ */ t("p", { className: s.subhead, children: "Waiting" }),
62
63
  /* @__PURE__ */ c("p", { className: s.description, children: [
63
64
  "Purchase ",
64
- n.cryptoCurrency.toUpperCase(),
65
+ a.cryptoCurrency.toUpperCase(),
65
66
  " with ",
66
- n.fiatCurrency.toUpperCase(),
67
- a ? ` via ${a.name}` : ""
67
+ a.fiatCurrency.toUpperCase(),
68
+ n ? ` via ${n.name}` : ""
68
69
  ] })
69
70
  ] });
70
- }, G = ({
71
- reset: n,
72
- timeRemaining: a,
73
- unmountOnSuccess: r
74
- }) => /* @__PURE__ */ c(i, { children: [
71
+ }, I = ({
72
+ reset: a,
73
+ timeRemaining: n,
74
+ unmountOnSuccess: i
75
+ }) => /* @__PURE__ */ c(e, { children: [
75
76
  /* @__PURE__ */ c("div", { className: `${s.graphic} ${s.pad}`, children: [
76
77
  /* @__PURE__ */ t("span", { className: `${s.ring} ${s["ring-success"]}` }),
77
- /* @__PURE__ */ t("span", { className: `${s.icon} ${s["icon-success"]}`, children: /* @__PURE__ */ t($, {}) })
78
+ /* @__PURE__ */ t("span", { className: `${s.icon} ${s["icon-success"]}`, children: /* @__PURE__ */ t(f, {}) })
78
79
  ] }),
79
80
  /* @__PURE__ */ t("p", { className: s.subhead, children: "Your funds are on the way" }),
80
- r && /* @__PURE__ */ c("p", { className: s.description, children: [
81
+ i && /* @__PURE__ */ c("p", { className: `${s.description} ${n === null ? s.invisible : ""}`, children: [
81
82
  "This window will automatically close",
82
83
  " ",
83
- a === null ? "soon" : `in ${a}`
84
+ n === null ? "soon" : `in ${n}`
84
85
  ] }),
85
- !r && /* @__PURE__ */ t("p", { className: s.description, children: "Your transaction was submitted." }),
86
- !r && n !== void 0 && /* @__PURE__ */ t(o, { fullWidth: !0, onClick: n, children: "Go back" })
87
- ] }), I = ({
88
- reset: n,
89
- timeRemaining: a,
90
- unmountOnSuccess: r
91
- }) => /* @__PURE__ */ c(i, { children: [
86
+ !i && /* @__PURE__ */ t("p", { className: s.description, children: "Your transaction was submitted." }),
87
+ !i && a !== void 0 && /* @__PURE__ */ t(o, { fullWidth: !0, onClick: a, children: "Go back" })
88
+ ] }), B = ({
89
+ reset: a,
90
+ timeRemaining: n,
91
+ unmountOnSuccess: i
92
+ }) => /* @__PURE__ */ c(e, { children: [
92
93
  /* @__PURE__ */ c("div", { className: `${s.graphic} ${s.pad}`, children: [
93
94
  /* @__PURE__ */ t("span", { className: `${s.ring} ${s["ring-success"]}` }),
94
- /* @__PURE__ */ t("span", { className: `${s.icon} ${s["icon-success"]}`, children: /* @__PURE__ */ t(f, {}) })
95
+ /* @__PURE__ */ t("span", { className: `${s.icon} ${s["icon-success"]}`, children: /* @__PURE__ */ t(g, {}) })
95
96
  ] }),
96
97
  /* @__PURE__ */ t("p", { className: s.subhead, children: "Success" }),
97
- r && /* @__PURE__ */ c("p", { className: s.description, children: [
98
+ i && /* @__PURE__ */ c("p", { className: `${s.description} ${n === null ? s.invisible : ""}`, children: [
98
99
  "This window will automatically close",
99
100
  " ",
100
- a === null ? "soon" : `in ${a}`
101
+ n === null ? "soon" : `in ${n}`
101
102
  ] }),
102
- !r && /* @__PURE__ */ t("p", { className: s.description, children: "Your transaction was successful." }),
103
- !r && n !== void 0 && /* @__PURE__ */ t(o, { fullWidth: !0, onClick: n, children: "Go back" })
104
- ] }), B = ({ reset: n, timeRemaining: a, unmountOnError: r }) => /* @__PURE__ */ c(i, { children: [
103
+ !i && /* @__PURE__ */ t("p", { className: s.description, children: "Your transaction was successful." }),
104
+ !i && a !== void 0 && /* @__PURE__ */ t(o, { fullWidth: !0, onClick: a, children: "Go back" })
105
+ ] }), E = ({ reset: a, timeRemaining: n, unmountOnError: i }) => /* @__PURE__ */ c(e, { children: [
105
106
  /* @__PURE__ */ c("div", { className: `${s.graphic} ${s.pad}`, children: [
106
107
  /* @__PURE__ */ t("span", { className: `${s.ring} ${s["ring-error"]}` }),
107
- /* @__PURE__ */ t("span", { className: `${s.icon} ${s["icon-error"]}`, children: /* @__PURE__ */ t(w, {}) })
108
+ /* @__PURE__ */ t("span", { className: `${s.icon} ${s["icon-error"]}`, children: /* @__PURE__ */ t(b, {}) })
108
109
  ] }),
109
110
  /* @__PURE__ */ t("p", { className: s.subhead, children: "Payment failed" }),
110
- r && /* @__PURE__ */ c("p", { className: s.description, children: [
111
+ i && /* @__PURE__ */ c("p", { className: `${s.description} ${n === null ? s.invisible : ""}`, children: [
111
112
  "This window will automatically close",
112
113
  " ",
113
- a === null ? "soon" : `in ${a}`
114
+ n === null ? "soon" : `in ${n}`
114
115
  ] }),
115
- !r && /* @__PURE__ */ t("p", { className: s.description, children: "Something went wrong. Please try again." }),
116
- !r && n !== void 0 && /* @__PURE__ */ t(o, { fullWidth: !0, onClick: n, children: "Try again" })
117
- ] }), E = {
118
- waiting: x,
119
- transactionSubmitted: G,
120
- transactionSuccess: I,
121
- error: B
116
+ !i && /* @__PURE__ */ t("p", { className: s.description, children: "Something went wrong. Please try again." }),
117
+ !i && a !== void 0 && /* @__PURE__ */ t(o, { fullWidth: !0, onClick: a, children: "Try again" })
118
+ ] }), K = {
119
+ waiting: G,
120
+ transactionSubmitted: I,
121
+ transactionSuccess: B,
122
+ error: E
122
123
  };
123
124
  export {
124
- D as FundTransactionStatus
125
+ J as FundTransactionStatus
125
126
  };
@@ -3,6 +3,7 @@ export type UseBuyUrlParams = Pick<FundState, "country" | "cryptoCurrency" | "fi
3
3
  fetchBuyQuote: FundProps["fetchBuyQuote"];
4
4
  onError?: (e: OnrampError | undefined) => void;
5
5
  destinationAddress?: string;
6
+ redirectUrl?: string;
6
7
  };
7
8
  export interface FetchBuyUrlParams {
8
9
  paymentMethod: NonNullable<FundState["selectedPaymentMethod"]>["id"];
@@ -11,4 +12,4 @@ export interface FetchBuyUrlParams {
11
12
  export type UseBuyUrlReturn = {
12
13
  fetchBuyUrl: (params: FetchBuyUrlParams) => Promise<string>;
13
14
  };
14
- export declare const useBuyUrl: ({ country, cryptoCurrency, destinationAddress, fetchBuyQuote, fiatCurrency, network, onError: onErrorProp, subdivision, }: UseBuyUrlParams) => UseBuyUrlReturn;
15
+ export declare const useBuyUrl: ({ country, cryptoCurrency, destinationAddress, fetchBuyQuote, fiatCurrency, network, onError: onErrorProp, redirectUrl, subdivision, }: UseBuyUrlParams) => UseBuyUrlReturn;
@@ -1,65 +1,77 @@
1
- import { useCallback as y, useMemo as _ } from "react";
2
- const N = ({
3
- country: t,
1
+ import { useCallback as y, useMemo as R } from "react";
2
+ const _ = (o) => {
3
+ try {
4
+ return new URL(o), !0;
5
+ } catch {
6
+ return !1;
7
+ }
8
+ }, h = ({
9
+ country: o,
4
10
  cryptoCurrency: a,
5
- destinationAddress: o,
6
- fetchBuyQuote: c,
7
- fiatCurrency: n,
8
- network: u,
9
- onError: s,
10
- subdivision: p
11
+ destinationAddress: n,
12
+ fetchBuyQuote: u,
13
+ fiatCurrency: p,
14
+ network: U,
15
+ onError: c,
16
+ redirectUrl: t,
17
+ subdivision: i
11
18
  }) => {
12
- const U = y(
13
- async ({ paymentMethod: d, paymentAmount: i }, l) => {
14
- if (isNaN(i) || !o || !d)
19
+ const l = y(
20
+ async ({ paymentMethod: d, paymentAmount: m }, f) => {
21
+ if (isNaN(m) || !n || !d)
15
22
  return "";
16
23
  try {
17
- const e = (await c({
24
+ const e = (await u({
18
25
  purchaseCurrency: a.toUpperCase(),
19
- purchaseNetwork: u.toLowerCase(),
20
- paymentCurrency: n.toUpperCase(),
21
- paymentAmount: i.toFixed(),
26
+ purchaseNetwork: U.toLowerCase(),
27
+ paymentCurrency: p.toUpperCase(),
28
+ paymentAmount: m.toFixed(),
22
29
  paymentMethod: d.replace("_GUEST", ""),
23
30
  // remove "_GUEST" from the payment method since it is not valid in the Buy Quote API
24
- country: t.toUpperCase(),
25
- subdivision: p?.toUpperCase(),
26
- destinationAddress: o
31
+ country: o.toUpperCase(),
32
+ subdivision: i?.toUpperCase(),
33
+ destinationAddress: n
27
34
  })).onrampUrl;
28
35
  if (!e) {
29
- const m = {
36
+ const r = {
30
37
  errorType: "handled_error",
31
38
  code: "NO_ONRAMP_URL",
32
39
  debugMessage: "No payment methods found for the selected country and currency. See docs for more information: https://docs.cdp.coinbase.com/onramp/docs/api-configurations"
33
40
  };
34
- return l?.(m), s?.(m), "";
41
+ return f?.(r), c?.(r), "";
42
+ }
43
+ if (t && _(t)) {
44
+ const r = new URL(e);
45
+ return r.searchParams.set("redirectUrl", t), r.toString();
35
46
  }
36
47
  return e;
37
- } catch (r) {
48
+ } catch (s) {
38
49
  let e;
39
- return r instanceof Error ? e = {
50
+ return s instanceof Error ? e = {
40
51
  errorType: "handled_error",
41
52
  code: "BUY_URL_ERROR",
42
- debugMessage: r.message
53
+ debugMessage: s.message
43
54
  } : e = {
44
55
  errorType: "unknown_error",
45
56
  code: "UNKNOWN_BUY_URL_ERROR",
46
- debugMessage: JSON.stringify(r)
47
- }, l?.(e), s?.(e), "";
57
+ debugMessage: JSON.stringify(s)
58
+ }, f?.(e), c?.(e), "";
48
59
  }
49
60
  },
50
61
  [
51
- t,
52
- a,
53
62
  o,
54
- c,
63
+ a,
55
64
  n,
56
65
  u,
57
- s,
58
- p
66
+ p,
67
+ U,
68
+ c,
69
+ t,
70
+ i
59
71
  ]
60
72
  );
61
- return _(() => ({ fetchBuyUrl: U }), [U]);
73
+ return R(() => ({ fetchBuyUrl: l }), [l]);
62
74
  };
63
75
  export {
64
- N as useBuyUrl
76
+ h as useBuyUrl
65
77
  };
@@ -109,6 +109,7 @@ export interface FundProps extends FundStateProps, FundLifecycleEvents {
109
109
  fetchBuyQuote: FetchBuyQuote;
110
110
  inputType?: InputType;
111
111
  openIn?: "popup" | "tab";
112
+ redirectUrl?: string;
112
113
  submitLabel?: ReactNode;
113
114
  title?: ReactNode;
114
115
  }