@coinbase/cdp-react 0.0.36 → 0.0.38
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/README.md +6 -11
- package/dist/assets/AmountInput.css +1 -1
- package/dist/assets/AuthButton.css +1 -1
- package/dist/assets/Button.css +1 -1
- package/dist/assets/ButtonBase.css +1 -1
- package/dist/assets/Error.css +1 -1
- package/dist/assets/Field.css +1 -1
- package/dist/assets/Fund.css +1 -1
- package/dist/assets/FundPaymentMethods.css +1 -1
- package/dist/assets/Input.css +1 -1
- package/dist/assets/Modal.css +1 -1
- package/dist/assets/PhoneNumberInput.css +1 -1
- package/dist/assets/Select.css +1 -1
- package/dist/assets/SignIn.css +1 -1
- package/dist/assets/SuccessMessage.css +1 -1
- package/dist/components/CDPReactProvider/index.d.ts +7 -6
- package/dist/components/CDPReactProvider/index.js +43 -19
- package/dist/components/SignIn/SignInForm.js +38 -24
- package/dist/components/SignIn/SignInImage.js +10 -10
- package/dist/components/ui/SwitchTransition/index.js +65 -65
- package/dist/index.js +85 -80
- package/dist/theme/index.js +14 -9
- package/dist/theme/theme.d.ts +116 -18
- package/dist/theme/tokens.d.ts +321 -39
- package/dist/theme/tokens.js +117 -25
- package/dist/theme/utils.d.ts +6 -3
- package/dist/theme/utils.js +16 -18
- package/package.json +5 -5
package/README.md
CHANGED
|
@@ -54,20 +54,15 @@ Update your main application file (e.g., `main.tsx` or `App.tsx`) to include the
|
|
|
54
54
|
import React from 'react';
|
|
55
55
|
import ReactDOM from 'react-dom/client';
|
|
56
56
|
import { App } from './App'; // Your main App component
|
|
57
|
-
import { CDPReactProvider, type Theme } from '@coinbase/cdp-react';
|
|
57
|
+
import { CDPReactProvider, type Config, type Theme } from '@coinbase/cdp-react';
|
|
58
58
|
|
|
59
|
-
//
|
|
60
|
-
const
|
|
59
|
+
// Config for your dapp
|
|
60
|
+
const config: Config = {
|
|
61
61
|
projectId: "your-project-id", // Copy your Project ID here.
|
|
62
|
+
appName: "My app", // the name of your application
|
|
63
|
+
appLogoUrl: "https://picsum.photos/64", // logo will be displayed in select components
|
|
62
64
|
}
|
|
63
65
|
|
|
64
|
-
// Global config for your dapp
|
|
65
|
-
const appConfig = {
|
|
66
|
-
name: "My app", // the name of your application
|
|
67
|
-
logoUrl: "https://picsum.photos/64", // logo will be displayed in select components
|
|
68
|
-
}
|
|
69
|
-
|
|
70
|
-
|
|
71
66
|
// You can customize the theme by overriding theme variables
|
|
72
67
|
const themeOverrides: Partial<Theme> = {
|
|
73
68
|
"colors-bg-default": "black",
|
|
@@ -78,7 +73,7 @@ const themeOverrides: Partial<Theme> = {
|
|
|
78
73
|
|
|
79
74
|
ReactDOM.createRoot(document.getElementById('root')!).render(
|
|
80
75
|
<React.StrictMode>
|
|
81
|
-
<CDPReactProvider config={
|
|
76
|
+
<CDPReactProvider config={config} theme={themeOverrides}>
|
|
82
77
|
<App />
|
|
83
78
|
</CDPReactProvider>
|
|
84
79
|
</React.StrictMode>,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.AmountInput-module__amount-input___24NlC{box-sizing:border-box;color:var(--cdp-web-colors-page-text-default);font-family:var(--cdp-web-font-family-
|
|
1
|
+
.AmountInput-module__amount-input___24NlC{box-sizing:border-box;color:var(--cdp-web-colors-page-text-default);font-family:var(--cdp-web-font-family-input);font-size:var(--cdp-web-font-size-base);line-height:1.2;display:flex;align-items:center;justify-content:flex-start;gap:.25rem;overflow:hidden;position:relative;width:100%}.AmountInput-module__input___Af-R1{appearance:textfield;background-color:transparent;color:var(--cdp-web-colors-page-text-default);border:0;font-size:1em;font-family:var(--cdp-web-font-family-input);font-weight:500;margin:0;outline:0;padding:0;width:1em}.AmountInput-module__input___Af-R1::placeholder{color:var(--cdp-web-colors-page-text-muted)}.AmountInput-module__amount-unit___48d60{font-size:3.75em;font-weight:500;display:flex;align-items:center;justify-content:flex-start}.AmountInput-module__amount-unit___48d60.AmountInput-module__visible___qmvT0{cursor:text;transform-origin:left center}.AmountInput-module__hidden___cO0sQ{visibility:hidden;position:absolute;pointer-events:none}.AmountInput-module__unit___-zmGz{color:var(--cdp-web-colors-page-text-muted)}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.AuthButton-module__loading___JpDqi{border-radius:
|
|
1
|
+
.AuthButton-module__loading___JpDqi{border-radius:var(--cdp-web-borderRadius-cta);height:3em;width:7.5em}
|
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:
|
|
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:var(--cdp-web-borderRadius-cta);font-family:var(--cdp-web-font-family-cta)}.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);border-radius:var(--cdp-web-borderRadius-cta);font-family:var(--cdp-web-font-family-cta)}.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);border-radius:var(--cdp-web-borderRadius-cta);font-family:var(--cdp-web-font-family-cta)}.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);border-radius:var(--cdp-web-borderRadius-link);font-family:var(--cdp-web-font-family-link)}.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{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);border-radius:var(--cdp-web-borderRadius-link);font-family:var(--cdp-web-font-family-link)}.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{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:var(--cdp-web-borderRadius-select-trigger);color:var(--cdp-web-colors-select-trigger-text-default);font-family:var(--cdp-web-font-family-select);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
|
-
.ButtonBase-module__btn___9S8PJ{--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;box-sizing:border-box;box-shadow:inset 0 0 0 var(--cdp-web-button-ring-inset-width) var(--cdp-web-button-ring-inset-color),0 0 0 var(--cdp-web-button-ring-width) var(--cdp-web-button-ring-color);display:inline-flex;align-items:center;justify-content:center;gap:.5em;padding:1em;border:0;background-color:transparent;color:var(--cdp-web-colors-page-text-default);font-size:var(--cdp-web-font-size-base);font-family:var(--cdp-web-font-family-
|
|
1
|
+
.ButtonBase-module__btn___9S8PJ{--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;box-sizing:border-box;box-shadow:inset 0 0 0 var(--cdp-web-button-ring-inset-width) var(--cdp-web-button-ring-inset-color),0 0 0 var(--cdp-web-button-ring-width) var(--cdp-web-button-ring-color);display:inline-flex;align-items:center;justify-content:center;gap:.5em;padding:1em;border:0;background-color:transparent;color:var(--cdp-web-colors-page-text-default);font-size:var(--cdp-web-font-size-base);font-family:var(--cdp-web-font-family-interactive);font-weight:500;line-height:1.5;text-decoration:none;cursor:pointer;transition:all .15s ease-in-out;transition-property:color,background-color,border-color,box-shadow,transform;-webkit-user-select:none;user-select:none}.ButtonBase-module__full-width___vLJsn{display:flex;width:100%}.ButtonBase-module__size-lg___569jT{padding:1em}.ButtonBase-module__size-md___sAsBJ{padding:.75em}.ButtonBase-module__size-sm___xHCtU{padding:.5em .75em}.ButtonBase-module__size-xs___LiiO7{padding:.25em .75em}
|
package/dist/assets/Error.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
.Error-module__error___zeTQt{color:var(--cdp-web-colors-fg-negative);line-height:1.25em;font-family:var(--cdp-web-font-family-
|
|
1
|
+
.Error-module__error___zeTQt{color:var(--cdp-web-colors-fg-negative);line-height:1.25em;font-family:var(--cdp-web-font-family-body);font-size:var(--cdp-web-font-size-base);display:flex;align-items:center;gap:.25em;margin:0}.Error-module__error___zeTQt span{font-size:.875em}.Error-module__icon___uwkis{width:auto;height:.875em;flex-grow:0;flex-shrink:0}
|
package/dist/assets/Field.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
.Field-module__field-wrapper___SCcbl{display:flex;flex-direction:column;font-family:var(--cdp-web-font-family-
|
|
1
|
+
.Field-module__field-wrapper___SCcbl{display:flex;flex-direction:column;font-family:var(--cdp-web-font-family-body);font-size:var(--cdp-web-font-size-base);gap:.25em}
|
package/dist/assets/Fund.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
.Fund-module__fund___6j-Og{box-sizing:border-box;color:var(--cdp-web-colors-page-text-default);display:flex;flex-direction:column;font-family:var(--cdp-web-font-family-
|
|
1
|
+
.Fund-module__fund___6j-Og{box-sizing:border-box;color:var(--cdp-web-colors-page-text-default);display:flex;flex-direction:column;font-family:var(--cdp-web-font-family-body);font-size:var(--cdp-web-font-size-base);gap:1em;width:100%;max-width:28.125em;padding:.75em 2em 1em}.Fund-module__fund___6j-Og *{box-sizing:border-box}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.FundPaymentMethods-module__select-loading-skeleton___ZuD3n{width:100%;border-radius
|
|
1
|
+
.FundPaymentMethods-module__select-loading-skeleton___ZuD3n{width:100%;border-radius:var(--cdp-web-borderRadius-select-trigger);height:3em}.FundPaymentMethods-module__select-item___9VyxH{display:flex;align-items:center;line-height:1.25em;gap:.5em}.FundPaymentMethods-module__select-item-icon___28unQ{display:flex;align-items:center;justify-content:center;flex-grow:0;flex-shrink:0;width:2.25em}.FundPaymentMethods-module__select-item-name___5vLc0{display:block;font-weight:600;font-size:.875em}.FundPaymentMethods-module__select-item-description___C5mTB{color:var(--cdp-web-colors-select-list-item-text-muted);display:block;font-size:.875em}.FundPaymentMethods-module__select-trigger___ypebl .FundPaymentMethods-module__select-item___9VyxH{line-height:1.5em;gap:.75em}.FundPaymentMethods-module__select-trigger___ypebl .FundPaymentMethods-module__select-item-icon___28unQ{width:auto}.FundPaymentMethods-module__select-trigger___ypebl .FundPaymentMethods-module__select-item-name___5vLc0{font-size:1em}.FundPaymentMethods-module__select-trigger___ypebl .FundPaymentMethods-module__select-item-description___C5mTB{display:none}
|
package/dist/assets/Input.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
.Input-module__input___-mK8z{--cdp-web-input-ring-width: 1px;--cdp-web-input-ring-color: var(--cdp-web-colors-input-border-default);box-sizing:border-box;font-family:var(--cdp-web-font-family-
|
|
1
|
+
.Input-module__input___-mK8z{--cdp-web-input-ring-width: 1px;--cdp-web-input-ring-color: var(--cdp-web-colors-input-border-default);box-sizing:border-box;font-family:var(--cdp-web-font-family-input);font-size:var(--cdp-web-font-size-base);line-height:1.5;padding:1em;border-radius:var(--cdp-web-borderRadius-input);border:0;background-color:var(--cdp-web-colors-input-bg-default);box-shadow:0 0 0 var(--cdp-web-input-ring-width) var(--cdp-web-input-ring-color) inset;color:var(--cdp-web-colors-input-text-default);transition:box-shadow .15s ease-in-out;width:100%}.Input-module__size-lg___IYoRG{padding:1em}.Input-module__size-md___8hkn5{padding:.75em}.Input-module__size-sm___cnynF{padding:.5em .75em}.Input-module__size-xs___aK-NH{padding:.25em .75em}.Input-module__input___-mK8z::placeholder{color:var(--cdp-web-colors-input-placeholder-default)}.Input-module__input___-mK8z:focus-visible{outline:none;--cdp-web-input-ring-color: var(--cdp-web-colors-input-border-focus);--cdp-web-input-ring-width: 2px}.Input-module__input___-mK8z[aria-invalid=true]{--cdp-web-input-ring-color: var(--cdp-web-colors-input-border-error)}.Input-module__input___-mK8z[data-success=true]{--cdp-web-input-ring-color: var(--cdp-web-colors-input-border-success)}
|
package/dist/assets/Modal.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
.Modal-module__modal___MUsZA{--shadow-md: 0 4px 6px -1px rgb(0 0 0 / 10%), 0 2px 4px -2px rgb(0 0 0 / 10%);box-sizing:border-box;box-shadow:var(--shadow-md);width:100%;max-width:28.125em;min-width:0;background:var(--cdp-web-colors-page-bg-default);border-radius
|
|
1
|
+
.Modal-module__modal___MUsZA{--shadow-md: 0 4px 6px -1px rgb(0 0 0 / 10%), 0 2px 4px -2px rgb(0 0 0 / 10%);box-sizing:border-box;box-shadow:var(--shadow-md);width:100%;max-width:28.125em;min-width:0;background:var(--cdp-web-colors-page-bg-default);border-radius:var(--cdp-web-borderRadius-modal);outline:1px solid var(--cdp-web-colors-page-border-default);overflow:hidden;position:relative}.Modal-module__modal___MUsZA[data-state=open]{animation:Modal-module__slide-in___p-A8u .2s ease-out,Modal-module__fade-in___NfUjS .2s ease-out}.Modal-module__modal___MUsZA[data-state=closed]{animation:Modal-module__slide-out___hrRK1 .2s ease-in,Modal-module__fade-out___LpBNV .2s ease-in}.Modal-module__overlay___-RqGQ{background:var(--cdp-web-colors-bg-overlay);box-sizing:border-box;-webkit-backdrop-filter:blur(.5em);backdrop-filter:blur(.5em);display:grid;grid-template-rows:auto 1fr;inset:0;overflow-y:auto;place-items:end center;position:fixed;z-index:auto}.Modal-module__overlay___-RqGQ[data-state=open]{animation:Modal-module__fade-in___NfUjS .2s ease-out}.Modal-module__overlay___-RqGQ[data-state=closed]{animation:Modal-module__fade-out___LpBNV .2s ease-in}.Modal-module__spacer___dIfOA{height:1em}@keyframes Modal-module__fade-in___NfUjS{0%{opacity:0}to{opacity:1}}@keyframes Modal-module__fade-out___LpBNV{0%{opacity:1}to{opacity:0}}@keyframes Modal-module__slide-in___p-A8u{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes Modal-module__slide-out___hrRK1{0%{transform:translateY(0)}to{transform:translateY(100%)}}@media (min-width: 400px){.Modal-module__overlay___-RqGQ{padding:.5rem}}@media (min-width: 450px){.Modal-module__overlay___-RqGQ{place-items:center;padding:1rem;grid-template-rows:1fr}.Modal-module__modal___MUsZA{height:auto}.Modal-module__spacer___dIfOA{display:none}@keyframes Modal-module__slide-in___p-A8u{0%{transform:translateY(10%)}to{transform:translateY(0)}}@keyframes Modal-module__slide-out___hrRK1{0%{transform:translateY(0)}to{transform:translateY(10%)}}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.PhoneNumberInput-module__phone-number-input___mYty2{--cdp-web-input-ring-width: 1px;--cdp-web-input-ring-color: var(--cdp-web-colors-input-border-default);box-sizing:border-box;display:flex;align-items:stretch;font-family:var(--cdp-web-font-family-
|
|
1
|
+
.PhoneNumberInput-module__phone-number-input___mYty2{--cdp-web-input-ring-width: 1px;--cdp-web-input-ring-color: var(--cdp-web-colors-input-border-default);box-sizing:border-box;display:flex;align-items:stretch;font-family:var(--cdp-web-font-family-input);font-size:var(--cdp-web-font-size-base);line-height:1.5;padding-left:1em;border-radius:var(--cdp-web-borderRadius-input);border:0;background-color:var(--cdp-web-colors-input-bg-default);box-shadow:0 0 0 var(--cdp-web-input-ring-width) var(--cdp-web-input-ring-color) inset;color:var(--cdp-web-colors-input-text-default);transition:box-shadow .15s ease-in-out;width:100%}.PhoneNumberInput-module__phone-number-input___mYty2.PhoneNumberInput-module__invalid___zDA2p,.PhoneNumberInput-module__phone-number-input___mYty2:focus-within.PhoneNumberInput-module__invalid___zDA2p{--cdp-web-input-ring-color: var(--cdp-web-colors-input-border-error)}.PhoneNumberInput-module__phone-number-input___mYty2.PhoneNumberInput-module__success___uPjMx{--cdp-web-input-ring-color: var(--cdp-web-colors-input-border-success)}.PhoneNumberInput-module__phone-number-input___mYty2:focus-within{--cdp-web-input-ring-color: var(--cdp-web-colors-input-border-focus);--cdp-web-input-ring-width: 2px}.PhoneNumberInput-module__phone-number-input___mYty2 .PhoneNumberInput-module__input___H-XG-{--cdp-web-input-ring-width: 0px;background-color:transparent;padding-left:.75em}.PhoneNumberInput-module__country-calling-code___N6zDW{display:flex;align-items:center;gap:.25rem}
|
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
|
|
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:var(--cdp-web-borderRadius-select-trigger);color:var(--cdp-web-colors-select-trigger-text-default);font-family:var(--cdp-web-font-family-select);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:var(--cdp-web-borderRadius-select-list);box-sizing:border-box;box-shadow:var(--shadow-sm);font-size:var(--cdp-web-font-size-base);font-family:var(--cdp-web-font-family-select);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:var(--cdp-web-borderRadius-select-list);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)}}
|
package/dist/assets/SignIn.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
.SignIn-module__sign-in___cYpee{
|
|
1
|
+
.SignIn-module__sign-in___cYpee{box-sizing:border-box;font:var(--cdp-web-font-size-base) / 1.5 var(--cdp-web-font-family-body);font-optical-sizing:auto;background-color:var(--cdp-web-colors-page-bg-default);color:var(--cdp-web-colors-page-text-default);display:flex;flex-direction:column;max-width:38.25em;padding:.75em 2em 1em;overflow:hidden;width:100%}.SignIn-module__title-desc-wrapper___VpPcA{display:flex;flex-direction:column;gap:1.5em;margin:1.5em 0}.SignIn-module__sign-in___cYpee *{box-sizing:border-box}.SignIn-module__back-button___bmE-y{align-self:flex-start}.SignIn-module__back-button-wrapper___Q9FA1{min-height:3em}.SignIn-module__footer___3Gkbc{margin-top:1.5em}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.SuccessMessage-module__success___ZOELg{color:var(--cdp-web-colors-fg-positive);font-family:var(--cdp-web-font-family-
|
|
1
|
+
.SuccessMessage-module__success___ZOELg{color:var(--cdp-web-colors-fg-positive);font-family:var(--cdp-web-font-family-body);font-size:var(--cdp-web-font-size-base);line-height:1.25em;display:flex;align-items:center;gap:.25em;margin:0}.SuccessMessage-module__success___ZOELg span{font-size:.875em}.SuccessMessage-module__icon___QpPW-{width:auto;height:.875em;flex-grow:0;flex-shrink:0}
|
|
@@ -1,15 +1,16 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Config as CDPHooksConfig } from '@coinbase/cdp-hooks';
|
|
2
2
|
import { ThemeProviderProps } from '../ThemeProvider';
|
|
3
3
|
export declare const AUTH_METHODS: readonly ["email", "sms"];
|
|
4
4
|
export type AuthMethod = (typeof AUTH_METHODS)[number];
|
|
5
5
|
export interface AppConfig {
|
|
6
|
-
|
|
7
|
-
|
|
6
|
+
appName?: string;
|
|
7
|
+
appLogoUrl?: string;
|
|
8
8
|
showCoinbaseFooter?: boolean;
|
|
9
9
|
authMethods?: AuthMethod[];
|
|
10
10
|
}
|
|
11
|
+
export type Config = AppConfig & CDPHooksConfig;
|
|
11
12
|
export type CDPReactProviderProps = {
|
|
12
|
-
|
|
13
|
-
} &
|
|
14
|
-
export declare const CDPReactProvider: ({ children, config, theme
|
|
13
|
+
config: Config;
|
|
14
|
+
} & ThemeProviderProps;
|
|
15
|
+
export declare const CDPReactProvider: ({ children, config, theme }: CDPReactProviderProps) => import("react/jsx-runtime").JSX.Element;
|
|
15
16
|
export declare const useAppConfig: () => AppConfig;
|
|
@@ -1,39 +1,63 @@
|
|
|
1
1
|
import { jsx as t } from "react/jsx-runtime";
|
|
2
|
-
import { CDPContext as
|
|
3
|
-
import { createContext as
|
|
4
|
-
import { ThemeProvider as
|
|
5
|
-
const
|
|
2
|
+
import { CDPContext as A, CDPHooksProvider as O } from "@coinbase/cdp-hooks";
|
|
3
|
+
import { createContext as b, useMemo as r, useContext as f } from "react";
|
|
4
|
+
import { ThemeProvider as w } from "../ThemeProvider/index.js";
|
|
5
|
+
const E = [
|
|
6
6
|
/** Email OTP method */
|
|
7
7
|
"email",
|
|
8
8
|
/** SMS OTP method */
|
|
9
9
|
"sms"
|
|
10
|
-
],
|
|
11
|
-
const
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
10
|
+
], F = ({ children: o, config: e, theme: n }) => {
|
|
11
|
+
const {
|
|
12
|
+
appName: i,
|
|
13
|
+
appLogoUrl: s,
|
|
14
|
+
showCoinbaseFooter: a,
|
|
15
|
+
authMethods: p,
|
|
16
|
+
projectId: c,
|
|
17
|
+
useMock: C,
|
|
18
|
+
debugging: u,
|
|
19
|
+
basePath: d,
|
|
20
|
+
ethereum: P,
|
|
21
|
+
solana: x
|
|
22
|
+
} = e, { createOnLogin: m } = P ?? {}, { createOnLogin: g } = x ?? {}, v = r(
|
|
23
|
+
() => ({
|
|
24
|
+
projectId: c,
|
|
25
|
+
useMock: C,
|
|
26
|
+
debugging: u,
|
|
27
|
+
basePath: d,
|
|
28
|
+
ethereum: { createOnLogin: m },
|
|
29
|
+
solana: { createOnLogin: g }
|
|
30
|
+
}),
|
|
31
|
+
[c, C, u, d, m, g]
|
|
32
|
+
), L = r(
|
|
33
|
+
() => ({ appName: i, appLogoUrl: s, showCoinbaseFooter: a, authMethods: p }),
|
|
34
|
+
[i, s, a, p]
|
|
35
|
+
), h = /* @__PURE__ */ t(M, { config: L, children: /* @__PURE__ */ t(w, { theme: n, children: o }) });
|
|
36
|
+
return f(A) ? h : /* @__PURE__ */ t(O, { config: v, children: h });
|
|
37
|
+
}, l = b(void 0), D = {
|
|
38
|
+
appName: "",
|
|
39
|
+
appLogoUrl: "",
|
|
16
40
|
showCoinbaseFooter: !0,
|
|
17
41
|
authMethods: ["email"]
|
|
18
|
-
},
|
|
19
|
-
const
|
|
42
|
+
}, M = ({ children: o, config: e }) => {
|
|
43
|
+
const n = r(
|
|
20
44
|
() => ({
|
|
21
45
|
app: {
|
|
22
|
-
...
|
|
46
|
+
...D,
|
|
23
47
|
...e
|
|
24
48
|
}
|
|
25
49
|
}),
|
|
26
50
|
[e]
|
|
27
51
|
);
|
|
28
|
-
return /* @__PURE__ */ t(
|
|
29
|
-
},
|
|
30
|
-
const o =
|
|
52
|
+
return /* @__PURE__ */ t(l.Provider, { value: n, children: o });
|
|
53
|
+
}, N = () => {
|
|
54
|
+
const o = f(l);
|
|
31
55
|
if (!o)
|
|
32
56
|
throw new Error("useAppConfig must be used within an AppConfigProvider");
|
|
33
57
|
return o.app;
|
|
34
58
|
};
|
|
35
59
|
export {
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
60
|
+
E as AUTH_METHODS,
|
|
61
|
+
F as CDPReactProvider,
|
|
62
|
+
N as useAppConfig
|
|
39
63
|
};
|
|
@@ -1,37 +1,51 @@
|
|
|
1
|
-
import { jsx as
|
|
2
|
-
import { useRef as
|
|
3
|
-
import { useAppConfig as
|
|
4
|
-
import { SwitchFadeTransition as
|
|
5
|
-
import { a as
|
|
6
|
-
import { useSignInContext as
|
|
1
|
+
import { jsx as a } from "react/jsx-runtime";
|
|
2
|
+
import { useRef as d, useState as _, useLayoutEffect as p } from "react";
|
|
3
|
+
import { useAppConfig as I } from "../CDPReactProvider/index.js";
|
|
4
|
+
import { SwitchFadeTransition as T } from "../ui/SwitchFadeTransition/index.js";
|
|
5
|
+
import { a as y } from "../../chunks/index.BzllgVaP.js";
|
|
6
|
+
import { useSignInContext as v } from "./SignInProvider.js";
|
|
7
7
|
import "@coinbase/cdp-hooks";
|
|
8
|
-
import '../../assets/SignInForm.css';const
|
|
8
|
+
import '../../assets/SignInForm.css';const E = {
|
|
9
9
|
"auth-method-wrapper": "SignInForm-module__auth-method-wrapper___uIOAB"
|
|
10
|
-
},
|
|
11
|
-
onSuccess:
|
|
12
|
-
step:
|
|
13
|
-
children:
|
|
14
|
-
...
|
|
10
|
+
}, B = ({
|
|
11
|
+
onSuccess: l,
|
|
12
|
+
step: f,
|
|
13
|
+
children: M,
|
|
14
|
+
...g
|
|
15
15
|
}) => {
|
|
16
|
-
const { state:
|
|
17
|
-
return
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
16
|
+
const { state: o, dispatch: c } = v(), { authMethods: e } = I(), S = f || o.step, m = d(o.authMethod), i = d(e), u = d(null), [w, A] = _(e || []);
|
|
17
|
+
return p(() => {
|
|
18
|
+
let t = o.authMethod;
|
|
19
|
+
const r = !e?.includes(o.authMethod), n = i.current && i.current.length === e?.length && i.current.some((h, s) => h !== e?.[s]);
|
|
20
|
+
if ((r || n) && (t = e?.[0]), t && t !== o.authMethod) {
|
|
21
|
+
c({
|
|
22
|
+
type: "SET_AUTH_METHOD",
|
|
23
|
+
payload: { authMethod: t }
|
|
24
|
+
});
|
|
25
|
+
return;
|
|
26
|
+
}
|
|
27
|
+
u.current?.transition && t && m.current !== t && (u.current.transition.toggle(t), m.current = t);
|
|
28
|
+
}, [e, c, o.authMethod]), p(() => {
|
|
29
|
+
i.current = e, A((t) => {
|
|
30
|
+
const r = e?.filter((n) => !t.includes(n)) || [];
|
|
31
|
+
return r.length ? [...t, ...r] : t;
|
|
32
|
+
});
|
|
33
|
+
}, [e]), /* @__PURE__ */ a(
|
|
34
|
+
T,
|
|
21
35
|
{
|
|
22
36
|
animateHeight: !0,
|
|
23
37
|
timeout: 250,
|
|
24
|
-
items:
|
|
38
|
+
items: w,
|
|
25
39
|
initialEntered: !0,
|
|
26
|
-
transitionRef:
|
|
27
|
-
...
|
|
28
|
-
children: ({ itemKey:
|
|
29
|
-
const
|
|
30
|
-
return /* @__PURE__ */
|
|
40
|
+
transitionRef: u,
|
|
41
|
+
...g,
|
|
42
|
+
children: ({ itemKey: t, ...r }) => {
|
|
43
|
+
const n = y[t].forms;
|
|
44
|
+
return /* @__PURE__ */ a("div", { ...r, className: E["auth-method-wrapper"], children: /* @__PURE__ */ a(n, { step: S, onSuccess: l, children: ({ step: h, Form: s }) => M?.({ step: h, authMethod: t, Form: s }) || s }) });
|
|
31
45
|
}
|
|
32
46
|
}
|
|
33
47
|
);
|
|
34
48
|
};
|
|
35
49
|
export {
|
|
36
|
-
|
|
50
|
+
B as SignInForm
|
|
37
51
|
};
|
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
import { jsx as
|
|
2
|
-
import { useAppConfig as
|
|
3
|
-
import '../../assets/SignInImage.css';const
|
|
4
|
-
logo:
|
|
5
|
-
},
|
|
6
|
-
const o =
|
|
7
|
-
return
|
|
1
|
+
import { jsx as i } from "react/jsx-runtime";
|
|
2
|
+
import { useAppConfig as e } from "../CDPReactProvider/index.js";
|
|
3
|
+
import '../../assets/SignInImage.css';const a = "SignInImage-module__logo___rlzt-", m = {
|
|
4
|
+
logo: a
|
|
5
|
+
}, p = (t) => /^https?:\/\//.test(t), f = ({ className: t = "", alt: n, src: g }) => {
|
|
6
|
+
const o = e(), s = o.appLogoUrl && p(o.appLogoUrl) ? o.appLogoUrl : void 0, l = g && p(g) ? g : s, r = n || o.appName || "";
|
|
7
|
+
return l ? /* @__PURE__ */ i(
|
|
8
8
|
"img",
|
|
9
9
|
{
|
|
10
|
-
src:
|
|
11
|
-
alt:
|
|
12
|
-
className: `${
|
|
10
|
+
src: l,
|
|
11
|
+
alt: r || "",
|
|
12
|
+
className: `${m.logo} ${t}`,
|
|
13
13
|
width: 64,
|
|
14
14
|
height: 64
|
|
15
15
|
}
|
|
@@ -1,106 +1,106 @@
|
|
|
1
|
-
import { jsx as
|
|
2
|
-
import {
|
|
3
|
-
import { useTransitionMap as
|
|
4
|
-
import '../../../assets/SwitchTransition.css';const
|
|
1
|
+
import { jsx as h, Fragment as G } from "react/jsx-runtime";
|
|
2
|
+
import { useRef as R, useId as H, useState as _, useImperativeHandle as J, useLayoutEffect as j, useEffect as P } from "react";
|
|
3
|
+
import { useTransitionMap as Q } from "react-transition-state";
|
|
4
|
+
import '../../../assets/SwitchTransition.css';const U = {
|
|
5
5
|
"transition-wrapper": "SwitchTransition-module__transition-wrapper___jrI35"
|
|
6
|
-
},
|
|
6
|
+
}, V = (b) => {
|
|
7
7
|
const {
|
|
8
|
-
children:
|
|
8
|
+
children: n,
|
|
9
9
|
index: d,
|
|
10
|
-
itemKey:
|
|
10
|
+
itemKey: r,
|
|
11
11
|
initialEntered: l,
|
|
12
12
|
setItem: u,
|
|
13
13
|
deleteItem: f,
|
|
14
|
-
stateMap:
|
|
15
|
-
transitionName:
|
|
16
|
-
parentKey:
|
|
17
|
-
} =
|
|
18
|
-
|
|
19
|
-
f(
|
|
20
|
-
}), [
|
|
21
|
-
const { isEnter:
|
|
22
|
-
return I ?
|
|
14
|
+
stateMap: v,
|
|
15
|
+
transitionName: y,
|
|
16
|
+
parentKey: p
|
|
17
|
+
} = b;
|
|
18
|
+
P(() => (u(r, { initialEntered: l }), () => {
|
|
19
|
+
f(r);
|
|
20
|
+
}), [r, l, u, f]);
|
|
21
|
+
const { isEnter: m, isMounted: I, isResolved: w, status: x } = v.get(r) || {};
|
|
22
|
+
return I ? n({
|
|
23
23
|
"data-index": d,
|
|
24
|
-
inert: !
|
|
25
|
-
itemKey:
|
|
26
|
-
"data-transition":
|
|
24
|
+
inert: !m,
|
|
25
|
+
itemKey: r,
|
|
26
|
+
"data-transition": y,
|
|
27
27
|
"data-status": x,
|
|
28
|
-
"data-is-enter":
|
|
28
|
+
"data-is-enter": m,
|
|
29
29
|
"data-is-resolved": w,
|
|
30
|
-
"data-parent":
|
|
30
|
+
"data-parent": p
|
|
31
31
|
}) : null;
|
|
32
|
-
},
|
|
33
|
-
allowMultiple:
|
|
34
|
-
animateHeight:
|
|
32
|
+
}, Z = ({
|
|
33
|
+
allowMultiple: b,
|
|
34
|
+
animateHeight: n,
|
|
35
35
|
autoFocus: d,
|
|
36
|
-
initialEntered:
|
|
36
|
+
initialEntered: r,
|
|
37
37
|
as: l = "div",
|
|
38
38
|
children: u,
|
|
39
39
|
className: f = "",
|
|
40
|
-
enter:
|
|
41
|
-
exit:
|
|
42
|
-
items:
|
|
43
|
-
mountOnEnter:
|
|
40
|
+
enter: v,
|
|
41
|
+
exit: y,
|
|
42
|
+
items: p,
|
|
43
|
+
mountOnEnter: m,
|
|
44
44
|
onStateChange: I,
|
|
45
45
|
preEnter: w,
|
|
46
46
|
preExit: x,
|
|
47
|
-
style:
|
|
47
|
+
style: q,
|
|
48
48
|
timeout: e = 200,
|
|
49
49
|
transitionName: T,
|
|
50
|
-
transitionRef:
|
|
51
|
-
unmountOnExit:
|
|
50
|
+
transitionRef: z,
|
|
51
|
+
unmountOnExit: L,
|
|
52
52
|
...$
|
|
53
53
|
}) => {
|
|
54
|
-
const
|
|
55
|
-
allowMultiple:
|
|
54
|
+
const N = R(p[0]), O = H(), s = $.id || O, [E, A] = _(null), [S, C] = _(null), g = R(null), o = Q({
|
|
55
|
+
allowMultiple: b,
|
|
56
56
|
initialEntered: !1,
|
|
57
|
-
mountOnEnter:
|
|
58
|
-
unmountOnExit:
|
|
57
|
+
mountOnEnter: m,
|
|
58
|
+
unmountOnExit: L,
|
|
59
59
|
preEnter: w,
|
|
60
60
|
preExit: x,
|
|
61
|
-
enter:
|
|
62
|
-
exit:
|
|
61
|
+
enter: v,
|
|
62
|
+
exit: y,
|
|
63
63
|
timeout: e,
|
|
64
64
|
onStateChange: I
|
|
65
65
|
});
|
|
66
|
-
|
|
67
|
-
transition:
|
|
66
|
+
J(z, () => ({
|
|
67
|
+
transition: n || d ? {
|
|
68
68
|
...o,
|
|
69
69
|
toggle: (t) => {
|
|
70
|
-
o.toggle(t),
|
|
70
|
+
o.toggle(t), A(t);
|
|
71
71
|
}
|
|
72
72
|
} : o
|
|
73
|
-
})),
|
|
74
|
-
if (!
|
|
73
|
+
})), j(() => {
|
|
74
|
+
if (!n)
|
|
75
75
|
return;
|
|
76
76
|
let t = null;
|
|
77
|
-
const
|
|
78
|
-
if (!
|
|
77
|
+
const i = g.current;
|
|
78
|
+
if (!i)
|
|
79
79
|
return;
|
|
80
80
|
const c = setTimeout(() => {
|
|
81
|
-
const a =
|
|
81
|
+
const a = i.querySelector(
|
|
82
82
|
`[data-is-enter="true"][data-parent="${s}"]`
|
|
83
83
|
);
|
|
84
84
|
if (!a)
|
|
85
85
|
return;
|
|
86
86
|
const M = a?.scrollHeight ?? null;
|
|
87
|
-
M !== null && C(M), t = new ResizeObserver((
|
|
88
|
-
for (const
|
|
89
|
-
const
|
|
90
|
-
C(
|
|
87
|
+
M !== null && C(M), t = new ResizeObserver((B) => {
|
|
88
|
+
for (const D of B) {
|
|
89
|
+
const F = D.contentRect.height;
|
|
90
|
+
C(F);
|
|
91
91
|
}
|
|
92
92
|
}), t.observe(a);
|
|
93
93
|
}, 0);
|
|
94
94
|
return () => {
|
|
95
95
|
c && clearTimeout(c), t?.disconnect();
|
|
96
96
|
};
|
|
97
|
-
}, [
|
|
97
|
+
}, [n, E, s]), j(() => {
|
|
98
98
|
if (!d)
|
|
99
99
|
return;
|
|
100
100
|
const t = typeof e == "number" ? e : e.enter;
|
|
101
101
|
if (t === void 0)
|
|
102
102
|
return;
|
|
103
|
-
const
|
|
103
|
+
const i = setTimeout(() => {
|
|
104
104
|
const c = g.current?.querySelector(
|
|
105
105
|
`[data-is-enter="true"][data-parent="${s}"]`
|
|
106
106
|
);
|
|
@@ -112,44 +112,44 @@ import '../../../assets/SwitchTransition.css';const P = {
|
|
|
112
112
|
a && a.focus();
|
|
113
113
|
}, t);
|
|
114
114
|
return () => {
|
|
115
|
-
|
|
115
|
+
i && clearTimeout(i);
|
|
116
116
|
};
|
|
117
117
|
}, [d, E, s, e]);
|
|
118
|
-
const K = /* @__PURE__ */
|
|
119
|
-
|
|
118
|
+
const K = /* @__PURE__ */ h(G, { children: p.map((t, i) => /* @__PURE__ */ h(
|
|
119
|
+
V,
|
|
120
120
|
{
|
|
121
|
-
index:
|
|
121
|
+
index: i,
|
|
122
122
|
itemKey: t,
|
|
123
123
|
setItem: o.setItem,
|
|
124
124
|
deleteItem: o.deleteItem,
|
|
125
125
|
stateMap: o.stateMap,
|
|
126
|
-
initialEntered:
|
|
126
|
+
initialEntered: r ? N.current === t : void 0,
|
|
127
127
|
transitionName: T,
|
|
128
128
|
parentKey: s,
|
|
129
129
|
children: u
|
|
130
130
|
},
|
|
131
|
-
|
|
131
|
+
t
|
|
132
132
|
)) });
|
|
133
|
-
return /* @__PURE__ */
|
|
133
|
+
return /* @__PURE__ */ h(
|
|
134
134
|
l,
|
|
135
135
|
{
|
|
136
136
|
...$,
|
|
137
137
|
id: s,
|
|
138
138
|
ref: g,
|
|
139
139
|
"data-transition": T || void 0,
|
|
140
|
-
"data-animate-height":
|
|
141
|
-
className: `${
|
|
140
|
+
"data-animate-height": n,
|
|
141
|
+
className: `${U["transition-wrapper"]} ${f}`,
|
|
142
142
|
style: {
|
|
143
|
-
...
|
|
143
|
+
...q,
|
|
144
144
|
"--cdp-web-transition-enter-timeout": typeof e == "object" ? `${e.enter ?? 200}ms` : void 0,
|
|
145
145
|
"--cdp-web-transition-exit-timeout": typeof e == "object" ? `${e.exit ?? 200}ms` : void 0,
|
|
146
146
|
"--cdp-web-transition-timeout": typeof e == "number" ? `${e}ms` : void 0,
|
|
147
|
-
"--cdp-web-transition-height":
|
|
147
|
+
"--cdp-web-transition-height": n && S ? `${S}px` : void 0
|
|
148
148
|
},
|
|
149
|
-
children:
|
|
149
|
+
children: n ? /* @__PURE__ */ h("div", { children: K }) : K
|
|
150
150
|
}
|
|
151
151
|
);
|
|
152
152
|
};
|
|
153
153
|
export {
|
|
154
|
-
|
|
154
|
+
Z as SwitchTransition
|
|
155
155
|
};
|