@coinbase/cdp-react 0.0.31 → 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.
- package/dist/assets/Button.css +1 -1
- package/dist/assets/FundErrorScreen.css +1 -1
- package/dist/assets/FundModal.css +1 -1
- package/dist/assets/FundTransactionStatus.css +1 -1
- package/dist/assets/Select.css +1 -1
- package/dist/assets/ThemeProvider.css +1 -1
- package/dist/components/Fund/FundProvider.js +34 -32
- package/dist/components/Fund/components/FundTransactionStatus.js +69 -68
- package/dist/components/Fund/hooks/useBuyUrl.d.ts +2 -1
- package/dist/components/Fund/hooks/useBuyUrl.js +45 -33
- package/dist/components/Fund/types.d.ts +1 -0
- package/dist/components/FundModal/index.js +33 -32
- package/dist/components/forms/Select/index.js +1 -1
- package/dist/icons/IconExclamationTriangle.js +3 -10
- package/dist/theme/theme.d.ts +59 -10
- package/dist/theme/tokens.d.ts +176 -29
- package/dist/theme/tokens.js +53 -15
- package/dist/theme/utils.d.ts +6 -0
- package/dist/theme/utils.js +37 -20
- package/package.json +5 -5
package/dist/assets/Button.css
CHANGED
|
@@ -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{
|
|
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}
|
package/dist/assets/Select.css
CHANGED
|
@@ -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=
|
|
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
|
|
2
|
-
import { useEvmAddress as
|
|
3
|
-
import { createContext as R, useContext as
|
|
4
|
-
import { useBuyUrl as
|
|
5
|
-
import { useEmitLifecycleStatus as
|
|
6
|
-
import { useExchangeRate as
|
|
7
|
-
import { usePaymentMethods as
|
|
8
|
-
import { useFundReducer as
|
|
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),
|
|
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
|
-
|
|
42
|
-
|
|
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:
|
|
53
|
+
subdivision: r,
|
|
53
54
|
selectedInputType: S || x.selectedInputType
|
|
54
55
|
});
|
|
55
56
|
l(() => {
|
|
56
|
-
|
|
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:
|
|
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
|
-
|
|
80
|
-
|
|
81
|
-
]),
|
|
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 } =
|
|
88
|
+
const { fetchExchangeRate: y } = H({
|
|
88
89
|
cryptoCurrency: e,
|
|
89
90
|
country: t,
|
|
90
|
-
dispatch:
|
|
91
|
+
dispatch: n,
|
|
91
92
|
fetchBuyQuote: f,
|
|
92
93
|
fiatCurrency: s,
|
|
93
94
|
network: o,
|
|
94
95
|
onError: u,
|
|
95
|
-
subdivision:
|
|
96
|
-
}), { fetchPaymentMethods: P } =
|
|
96
|
+
subdivision: r
|
|
97
|
+
}), { fetchPaymentMethods: P } = N({
|
|
97
98
|
country: t,
|
|
98
99
|
cryptoCurrency: e,
|
|
99
|
-
dispatch:
|
|
100
|
+
dispatch: n,
|
|
100
101
|
fetchBuyOptions: h,
|
|
101
102
|
fiatCurrency: s,
|
|
102
103
|
network: o,
|
|
103
104
|
onError: u,
|
|
104
|
-
subdivision:
|
|
105
|
-
}), { fetchBuyUrl: v } =
|
|
105
|
+
subdivision: r
|
|
106
|
+
}), { fetchBuyUrl: v } = g({
|
|
106
107
|
cryptoCurrency: e,
|
|
107
|
-
destinationAddress:
|
|
108
|
+
destinationAddress: A || void 0,
|
|
108
109
|
fiatCurrency: s,
|
|
109
110
|
fetchBuyQuote: f,
|
|
110
111
|
country: t,
|
|
111
112
|
network: o,
|
|
112
|
-
|
|
113
|
-
|
|
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__ */
|
|
119
|
-
},
|
|
120
|
-
const 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
|
-
|
|
127
|
-
|
|
128
|
+
G as FundProvider,
|
|
129
|
+
J as useFundContext
|
|
128
130
|
};
|
|
@@ -1,54 +1,55 @@
|
|
|
1
|
-
import { jsx as t, jsxs as c, Fragment as
|
|
2
|
-
import { useRef as
|
|
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
|
|
5
|
-
import { SwitchFadeTransition as
|
|
6
|
-
import { IconCheck as
|
|
7
|
-
import { IconCurrencies as
|
|
8
|
-
import { IconXMark as
|
|
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
|
|
11
|
-
graphic:
|
|
12
|
-
status:
|
|
13
|
-
pad:
|
|
14
|
-
spinner:
|
|
15
|
-
icon:
|
|
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:
|
|
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
|
-
|
|
24
|
-
|
|
25
|
-
|
|
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
|
-
(
|
|
29
|
-
}, [
|
|
30
|
-
|
|
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:
|
|
35
|
+
items: x,
|
|
35
36
|
initialEntered: !0,
|
|
36
|
-
transitionRef:
|
|
37
|
-
children: ({ itemKey:
|
|
38
|
-
const
|
|
39
|
-
return /* @__PURE__ */ t("div", { ...p, className: s.status, children: /* @__PURE__ */ t(
|
|
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
|
-
},
|
|
44
|
-
const { state:
|
|
45
|
-
() =>
|
|
46
|
-
[
|
|
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(
|
|
49
|
+
return /* @__PURE__ */ c(e, { children: [
|
|
49
50
|
/* @__PURE__ */ c("div", { className: s.graphic, children: [
|
|
50
51
|
/* @__PURE__ */ t(
|
|
51
|
-
|
|
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
|
-
|
|
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
|
-
|
|
65
|
+
a.cryptoCurrency.toUpperCase(),
|
|
65
66
|
" with ",
|
|
66
|
-
|
|
67
|
-
|
|
67
|
+
a.fiatCurrency.toUpperCase(),
|
|
68
|
+
n ? ` via ${n.name}` : ""
|
|
68
69
|
] })
|
|
69
70
|
] });
|
|
70
|
-
},
|
|
71
|
-
reset:
|
|
72
|
-
timeRemaining:
|
|
73
|
-
unmountOnSuccess:
|
|
74
|
-
}) => /* @__PURE__ */ c(
|
|
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
|
-
|
|
81
|
+
i && /* @__PURE__ */ c("p", { className: `${s.description} ${n === null ? s.invisible : ""}`, children: [
|
|
81
82
|
"This window will automatically close",
|
|
82
83
|
" ",
|
|
83
|
-
|
|
84
|
+
n === null ? "soon" : `in ${n}`
|
|
84
85
|
] }),
|
|
85
|
-
!
|
|
86
|
-
!
|
|
87
|
-
] }),
|
|
88
|
-
reset:
|
|
89
|
-
timeRemaining:
|
|
90
|
-
unmountOnSuccess:
|
|
91
|
-
}) => /* @__PURE__ */ c(
|
|
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(
|
|
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
|
-
|
|
98
|
+
i && /* @__PURE__ */ c("p", { className: `${s.description} ${n === null ? s.invisible : ""}`, children: [
|
|
98
99
|
"This window will automatically close",
|
|
99
100
|
" ",
|
|
100
|
-
|
|
101
|
+
n === null ? "soon" : `in ${n}`
|
|
101
102
|
] }),
|
|
102
|
-
!
|
|
103
|
-
!
|
|
104
|
-
] }),
|
|
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(
|
|
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
|
-
|
|
111
|
+
i && /* @__PURE__ */ c("p", { className: `${s.description} ${n === null ? s.invisible : ""}`, children: [
|
|
111
112
|
"This window will automatically close",
|
|
112
113
|
" ",
|
|
113
|
-
|
|
114
|
+
n === null ? "soon" : `in ${n}`
|
|
114
115
|
] }),
|
|
115
|
-
!
|
|
116
|
-
!
|
|
117
|
-
] }),
|
|
118
|
-
waiting:
|
|
119
|
-
transactionSubmitted:
|
|
120
|
-
transactionSuccess:
|
|
121
|
-
error:
|
|
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
|
-
|
|
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
|
|
2
|
-
const
|
|
3
|
-
|
|
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:
|
|
6
|
-
fetchBuyQuote:
|
|
7
|
-
fiatCurrency:
|
|
8
|
-
network:
|
|
9
|
-
onError:
|
|
10
|
-
|
|
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
|
|
13
|
-
async ({ paymentMethod: d, paymentAmount:
|
|
14
|
-
if (isNaN(
|
|
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
|
|
24
|
+
const e = (await u({
|
|
18
25
|
purchaseCurrency: a.toUpperCase(),
|
|
19
|
-
purchaseNetwork:
|
|
20
|
-
paymentCurrency:
|
|
21
|
-
paymentAmount:
|
|
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:
|
|
25
|
-
subdivision:
|
|
26
|
-
destinationAddress:
|
|
31
|
+
country: o.toUpperCase(),
|
|
32
|
+
subdivision: i?.toUpperCase(),
|
|
33
|
+
destinationAddress: n
|
|
27
34
|
})).onrampUrl;
|
|
28
35
|
if (!e) {
|
|
29
|
-
const
|
|
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
|
|
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 (
|
|
48
|
+
} catch (s) {
|
|
38
49
|
let e;
|
|
39
|
-
return
|
|
50
|
+
return s instanceof Error ? e = {
|
|
40
51
|
errorType: "handled_error",
|
|
41
52
|
code: "BUY_URL_ERROR",
|
|
42
|
-
debugMessage:
|
|
53
|
+
debugMessage: s.message
|
|
43
54
|
} : e = {
|
|
44
55
|
errorType: "unknown_error",
|
|
45
56
|
code: "UNKNOWN_BUY_URL_ERROR",
|
|
46
|
-
debugMessage: JSON.stringify(
|
|
47
|
-
},
|
|
57
|
+
debugMessage: JSON.stringify(s)
|
|
58
|
+
}, f?.(e), c?.(e), "";
|
|
48
59
|
}
|
|
49
60
|
},
|
|
50
61
|
[
|
|
51
|
-
t,
|
|
52
|
-
a,
|
|
53
62
|
o,
|
|
54
|
-
|
|
63
|
+
a,
|
|
55
64
|
n,
|
|
56
65
|
u,
|
|
57
|
-
|
|
58
|
-
|
|
66
|
+
p,
|
|
67
|
+
U,
|
|
68
|
+
c,
|
|
69
|
+
t,
|
|
70
|
+
i
|
|
59
71
|
]
|
|
60
72
|
);
|
|
61
|
-
return
|
|
73
|
+
return R(() => ({ fetchBuyUrl: l }), [l]);
|
|
62
74
|
};
|
|
63
75
|
export {
|
|
64
|
-
|
|
76
|
+
h as useBuyUrl
|
|
65
77
|
};
|