@coinbase/cdp-react 0.0.10 → 0.0.12

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (45) hide show
  1. package/README.md +4 -4
  2. package/dist/assets/Button.css +1 -1
  3. package/dist/assets/Error.css +1 -1
  4. package/dist/assets/Field.css +1 -1
  5. package/dist/assets/Input.css +1 -1
  6. package/dist/assets/LoadingSkeleton.css +1 -1
  7. package/dist/assets/LoadingSpinner.css +1 -1
  8. package/dist/assets/OTP.css +1 -1
  9. package/dist/assets/SignIn.css +1 -1
  10. package/dist/assets/SignInDescription.css +1 -0
  11. package/dist/assets/SignInForm.css +1 -0
  12. package/dist/assets/SignInImage.css +1 -0
  13. package/dist/assets/SignInModal.css +1 -1
  14. package/dist/assets/SignInTitle.css +1 -0
  15. package/dist/assets/SignOutButton.css +1 -1
  16. package/dist/assets/VisuallyHidden.css +1 -1
  17. package/dist/components/AuthButton/index.d.ts +7 -1
  18. package/dist/components/AuthButton/index.js +51 -31
  19. package/dist/components/Button/index.js +38 -22
  20. package/dist/components/Field/index.js +11 -11
  21. package/dist/components/LoadingSpinner/index.js +7 -7
  22. package/dist/components/OTP/index.js +26 -25
  23. package/dist/components/SignIn/SignInDescription.js +20 -18
  24. package/dist/components/SignIn/SignInForm.js +113 -102
  25. package/dist/components/SignIn/SignInImage.js +13 -11
  26. package/dist/components/SignIn/SignInTitle.js +12 -11
  27. package/dist/components/SignIn/index.js +22 -21
  28. package/dist/components/SignInModal/index.js +29 -29
  29. package/dist/components/SignOutButton/index.js +7 -7
  30. package/dist/components/ThemeProvider/index.d.ts +1 -3
  31. package/dist/components/ThemeProvider/index.js +7 -7
  32. package/dist/components/VisuallyHidden/index.js +4 -4
  33. package/dist/index.js +45 -39
  34. package/dist/theme/cssVariables.d.ts +5 -0
  35. package/dist/theme/cssVariables.js +10 -0
  36. package/dist/theme/index.d.ts +1 -0
  37. package/dist/theme/index.js +14 -8
  38. package/dist/theme/theme.d.ts +237 -33
  39. package/dist/theme/theme.js +3 -3
  40. package/dist/theme/tokens.d.ts +679 -45
  41. package/dist/theme/tokens.js +142 -43
  42. package/dist/theme/utils.d.ts +14 -2
  43. package/dist/theme/utils.js +23 -14
  44. package/package.json +9 -5
  45. package/dist/chunks/SignIn.module.Dl3CqKQ_.js +0 -20
package/README.md CHANGED
@@ -67,10 +67,10 @@ const appConfig = {
67
67
 
68
68
  // You can customize the theme by overriding theme variables
69
69
  const themeOverrides: Partial<Theme> = {
70
- "colors-background": "black",
71
- "colors-backgroundOverlay": "rgba(0,0,0,0.5)",
72
- "colors-text": "white",
73
- "colors-textSecondary": "#999999",
70
+ "colors-bg-default": "black",
71
+ "colors-bg-alternate": "#121212",
72
+ "colors-fg-default": "white",
73
+ "colors-fg-muted": "#999999",
74
74
  }
75
75
 
76
76
  ReactDOM.createRoot(document.getElementById('root')!).render(
@@ -1 +1 @@
1
- .Button-module__btn___Fx11X{--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-radius:9999em;border:0;background-color:transparent;color:var(--cdp-web-colors-text);font-size:1em;font-weight:500;line-height:1.5;text-decoration:none;cursor:pointer;transition:all .15s ease-in-out;-webkit-user-select:none;user-select:none}.Button-module__primary___s1sM6{background-color:var(--cdp-web-colors-primary);color:var(--cdp-web-colors-primaryText)}.Button-module__primary___s1sM6:hover{background-color:var(--cdp-web-colors-primaryHoverBackground);color:var(--cdp-web-colors-primaryHoverText)}.Button-module__primary___s1sM6:focus{outline:none}.Button-module__primary___s1sM6:focus-visible{--cdp-web-button-ring-color: var(--cdp-web-colors-primaryFocusRing);--cdp-web-button-ring-inset-color: var(--cdp-web-colors-background);outline:none}.Button-module__secondary___R0waJ{background-color:var(--cdp-web-colors-secondary);color:var(--cdp-web-colors-secondaryText)}.Button-module__secondary___R0waJ:hover{background-color:var(--cdp-web-colors-secondaryHoverBackground);color:var(--cdp-web-colors-secondaryHoverText)}.Button-module__secondary___R0waJ:focus{outline:none}.Button-module__secondary___R0waJ:focus-visible{--cdp-web-button-ring-color: var(--cdp-web-colors-secondaryFocusRing);--cdp-web-button-ring-inset-color: var(--cdp-web-colors-background);outline:none}.Button-module__transparentPrimary___o7JPs{background-color:transparent;color:var(--cdp-web-colors-linkText)}.Button-module__transparentPrimary___o7JPs:hover{color:var(--cdp-web-colors-linkHover)}.Button-module__transparentPrimary___o7JPs:focus{outline:none}.Button-module__transparentPrimary___o7JPs:focus-visible{--cdp-web-button-ring-color: var(--cdp-web-colors-linkText);outline:none}.Button-module__transparentSecondary___4ehOz{background-color:transparent;color:var(--cdp-web-colors-linkSecondaryText)}.Button-module__transparentSecondary___4ehOz:hover{color:var(--cdp-web-colors-linkSecondaryHover)}.Button-module__transparentSecondary___4ehOz:focus{outline:none}.Button-module__transparentSecondary___4ehOz:focus-visible{--cdp-web-button-ring-color: var(--cdp-web-colors-linkSecondaryText);outline:none}
1
+ .Button-module__btn___Fx11X{--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-radius:9999em;border:0;background-color:transparent;color:var(--cdp-web-colors-page-text-default);font-size:1em;font-weight:500;line-height:1.5;text-decoration:none;cursor:pointer;transition:all .15s ease-in-out;-webkit-user-select:none;user-select:none}.Button-module__primary___s1sM6{background-color:var(--cdp-web-colors-cta-primary-bg-default);color:var(--cdp-web-colors-cta-primary-text-default)}.Button-module__primary___s1sM6:hover{background-color:var(--cdp-web-colors-cta-primary-bg-hover);color:var(--cdp-web-colors-cta-primary-text-hover)}.Button-module__primary___s1sM6:focus{outline:none}.Button-module__primary___s1sM6: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___R0waJ{background-color:var(--cdp-web-colors-cta-secondary-bg-default);color:var(--cdp-web-colors-cta-secondary-text-default)}.Button-module__secondary___R0waJ:hover{background-color:var(--cdp-web-colors-cta-secondary-bg-hover);color:var(--cdp-web-colors-cta-secondary-text-hover)}.Button-module__secondary___R0waJ:focus{outline:none}.Button-module__secondary___R0waJ: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__transparent-primary___Ah0yM{background-color:transparent;color:var(--cdp-web-colors-link-primary-text-default)}.Button-module__transparent-primary___Ah0yM:hover{color:var(--cdp-web-colors-link-primary-text-hover)}.Button-module__transparent-primary___Ah0yM:focus{outline:none}.Button-module__transparent-primary___Ah0yM:focus-visible{--cdp-web-button-ring-color: var(--cdp-web-colors-link-primary-text-default);outline:none}.Button-module__transparent-secondary___kk5sZ{background-color:transparent;color:var(--cdp-web-colors-link-secondary-text-default)}.Button-module__transparent-secondary___kk5sZ:hover{color:var(--cdp-web-colors-link-secondary-text-hover)}.Button-module__transparent-secondary___kk5sZ:focus{outline:none}.Button-module__transparent-secondary___kk5sZ:focus-visible{--cdp-web-button-ring-color: var(--cdp-web-colors-link-secondary-text-default);outline:none}
@@ -1 +1 @@
1
- .Error-module__error___mRFLG{color:var(--cdp-web-colors-error);font-size:.875em;line-height:1.43;display:flex;align-items:center;gap:.25em;margin:0}.Error-module__icon___web4F{width:1em;height:1em}
1
+ .Error-module__error___mRFLG{color:var(--cdp-web-colors-fg-negative);font-size:.875em;line-height:1.43;display:flex;align-items:center;gap:.25em;margin:0}.Error-module__icon___web4F{width:1em;height:1em}
@@ -1 +1 @@
1
- .Field-module__fieldWrapper___K-oJB{display:flex;flex-direction:column;gap:.375em}.Field-module__label___LAQio{font-size:.875em;line-height:1.43;font-weight:500;color:var(--cdp-web-colors-inputLabel)}
1
+ .Field-module__field-wrapper___0p4i7{display:flex;flex-direction:column;gap:.375em}.Field-module__label___LAQio{font-size:.875em;line-height:1.43;font-weight:500;color:var(--cdp-web-colors-input-label-default)}
@@ -1 +1 @@
1
- .Input-module__input___WjT81{--cdp-web-input-ring-width: 1px;--cdp-web-input-ring-color: var(--cdp-web-colors-inputBorder);box-sizing:border-box;font-size:1em;padding:.75em;border-radius:.5em;border:1px solid transparent;background-color:var(--cdp-web-colors-inputBackground);box-shadow:0 0 0 var(--cdp-web-input-ring-width) var(--cdp-web-input-ring-color);color:var(--cdp-web-colors-inputText);transition:all .15s ease-in-out;width:100%}.Input-module__input___WjT81::placeholder{color:var(--cdp-web-colors-inputPlaceholder)}.Input-module__input___WjT81:focus-visible{outline:none;--cdp-web-input-ring-color: var(--cdp-web-colors-inputFocusBorder);--cdp-web-input-ring-width: 2px}.Input-module__input___WjT81[aria-invalid=true]{--cdp-web-input-ring-color: var(--cdp-web-colors-error)}
1
+ .Input-module__input___WjT81{--cdp-web-input-ring-width: 1px;--cdp-web-input-ring-color: var(--cdp-web-colors-input-border-default);box-sizing:border-box;font-size:1em;padding:.75em;border-radius:.5em;border:1px solid transparent;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);color:var(--cdp-web-colors-input-text-default);transition:all .15s ease-in-out;width:100%}.Input-module__input___WjT81::placeholder{color:var(--cdp-web-colors-input-placeholder-default)}.Input-module__input___WjT81: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___WjT81[aria-invalid=true]{--cdp-web-input-ring-color: var(--cdp-web-colors-input-border-error)}
@@ -1 +1 @@
1
- .LoadingSkeleton-module__loading___ezIkq{animation:LoadingSkeleton-module__pulse___a9tGO 2s cubic-bezier(.4,0,.6,1) infinite;background-color:var(--cdp-web-colors-backgroundSkeleton);cursor:progress}@keyframes LoadingSkeleton-module__pulse___a9tGO{50%{opacity:.5}}
1
+ .LoadingSkeleton-module__loading___ezIkq{animation:LoadingSkeleton-module__pulse___a9tGO 2s cubic-bezier(.4,0,.6,1) infinite;background-color:var(--cdp-web-colors-bg-skeleton);cursor:progress}@keyframes LoadingSkeleton-module__pulse___a9tGO{50%{opacity:.5}}
@@ -1 +1 @@
1
- .LoadingSpinner-module__spinner___X3Bl3{transform-origin:center;animation:LoadingSpinner-module__spinner___X3Bl3 2s linear infinite}.LoadingSpinner-module__spinnerCircle___ZQ0yQ{stroke-linecap:round;animation:LoadingSpinner-module__spinnerCircle___ZQ0yQ 1.5s ease-in-out infinite}@keyframes LoadingSpinner-module__spinner___X3Bl3{to{transform:rotate(360deg)}}@keyframes LoadingSpinner-module__spinnerCircle___ZQ0yQ{0%{stroke-dasharray:0 150;stroke-dashoffset:0}47.5%{stroke-dasharray:42 150;stroke-dashoffset:-16}95%,to{stroke-dasharray:42 150;stroke-dashoffset:-59}}
1
+ .LoadingSpinner-module__spinner___X3Bl3{transform-origin:center;animation:LoadingSpinner-module__spinner___X3Bl3 2s linear infinite}.LoadingSpinner-module__spinner-circle___NCrsp{stroke-linecap:round;animation:LoadingSpinner-module__spinner-circle___NCrsp 1.5s ease-in-out infinite}@keyframes LoadingSpinner-module__spinner___X3Bl3{to{transform:rotate(360deg)}}@keyframes LoadingSpinner-module__spinner-circle___NCrsp{0%{stroke-dasharray:0 150;stroke-dashoffset:0}47.5%{stroke-dasharray:42 150;stroke-dashoffset:-16}95%,to{stroke-dasharray:42 150;stroke-dashoffset:-59}}
@@ -1 +1 @@
1
- .OTP-module__groupContainer___cVyAa{display:flex;gap:.5em}.OTP-module__inputContainer___39Wld{width:var(--cdp-web-otp-input-width)}.OTP-module__input___MEBPV{text-align:center}
1
+ .OTP-module__otp___EUcSo{--cdp-web-otp-input-width: 25%}.OTP-module__group-container___rfrCo{display:flex;gap:.5em}.OTP-module__input-container___-yRBL{width:var(--cdp-web-otp-input-width)}.OTP-module__input___MEBPV{text-align:center}
@@ -1 +1 @@
1
- .SignIn-module__signIn___cS7KU{border-radius:.75em;box-sizing:border-box;font:var(--cdp-web-fontSizeBase) / 1.5 var(--cdp-web-fontFamily-sans);background-color:var(--cdp-web-colors-background);color:var(--cdp-web-colors-text);display:flex;flex-direction:column;gap:1em;max-width:38.25em;padding:1em 2em;width:100%}.SignIn-module__signIn___cS7KU *{box-sizing:border-box}.SignIn-module__heading___nzF-H{font-size:1.75em;line-height:1.29;margin:0}.SignIn-module__description___6bRpF{color:var(--cdp-web-colors-textSecondary);margin:0}.SignIn-module__medium___rfGKj{font-weight:500}.SignIn-module__form___MXCq6{display:flex;flex-direction:column;gap:1em}.SignIn-module__logo___9j5Y-{display:block;margin:0;width:64px;height:64px;border-radius:9999em;object-fit:cover}.SignIn-module__formFooter___Rasrs{display:flex;flex-flow:column nowrap;align-items:stretch;justify-content:center;gap:.5em;min-height:1.5em}.SignIn-module__serverStateWrapper___GML6w{min-height:1.5em}.SignIn-module__loadingSpinner___JnMDX{color:var(--cdp-web-colors-linkText);display:block;margin:0 auto}.SignIn-module__formFooter___Rasrs button{width:100%}.SignIn-module__serverError___p4Z3K{justify-content:center}.SignIn-module__resetTimer___s-bUu{color:var(--cdp-web-colors-textSecondary);font-size:.875em;font-weight:500;line-height:1em;padding:1.5em 0;text-align:center}.SignIn-module__resetTimer___s-bUu p{margin:0}.SignIn-module__successIcon___2a7me{color:var(--cdp-web-colors-success);display:block;height:4em;width:4em}.SignIn-module__footer___3Gkbc{color:var(--cdp-web-colors-textSecondary);display:flex;align-items:center;justify-content:center;gap:.5em;font-size:.75em;line-height:1;padding:.5em 2em 1em}.SignIn-module__coinbaseIcon___cOnQb{color:var(--cdp-web-colors-linkText);height:1em;width:auto}.SignIn-module__footer___3Gkbc p{display:flex;align-items:center;gap:.25em;margin:0}.SignIn-module__hr___WFRgK{border:0;border-top:1px solid var(--cdp-web-colors-border);width:100%}
1
+ .SignIn-module__sign-in___cYpee{border-radius:.75em;box-sizing:border-box;font:var(--cdp-web-font-size-base) / 1.5 var(--cdp-web-font-family-sans);background-color:var(--cdp-web-colors-page-bg-default);color:var(--cdp-web-colors-page-text-default);display:flex;flex-direction:column;gap:1em;max-width:38.25em;padding:1em 2em;width:100%}.SignIn-module__sign-in___cYpee *{box-sizing:border-box}
@@ -0,0 +1 @@
1
+ .SignInDescription-module__description___jZLc6{color:var(--cdp-web-colors-page-text-muted);margin:0}.SignInDescription-module__medium___NGpLf{font-weight:500}
@@ -0,0 +1 @@
1
+ .SignInForm-module__form___8Mc3V{display:flex;flex-direction:column;gap:1em}.SignInForm-module__form-footer___PqM2J{display:flex;flex-flow:column nowrap;align-items:stretch;justify-content:center;gap:.5em;min-height:1.5em}.SignInForm-module__server-state-wrapper___QVsXy{min-height:1.5em}.SignInForm-module__loading-spinner___W6gZo{color:var(--cdp-web-colors-link-primary-text-default);display:block;margin:0 auto}.SignInForm-module__form-footer___PqM2J button{width:100%}.SignInForm-module__server-error___dD9VE{justify-content:center}.SignInForm-module__reset-timer___Ms2YZ{color:var(--cdp-web-colors-page-text-muted);font-size:.875em;font-weight:500;line-height:1em;padding:1.5em 0;text-align:center}.SignInForm-module__reset-timer___Ms2YZ p{margin:0}.SignInForm-module__footer___6Lo9w{color:var(--cdp-web-colors-page-text-muted);display:flex;align-items:center;justify-content:center;gap:.5em;font-size:.75em;line-height:1;padding:.5em 2em 1em}.SignInForm-module__coinbase-icon___vGv7u{color:var(--cdp-web-colors-link-primary-text-default);height:1em;width:auto}.SignInForm-module__footer___6Lo9w p{display:flex;align-items:center;gap:.25em;margin:0}.SignInForm-module__hr___fOcy4{border:0;border-top:1px solid var(--cdp-web-colors-page-border-default);width:100%}.SignInForm-module__icon___qkJnq{height:auto;width:1em}
@@ -0,0 +1 @@
1
+ .SignInImage-module__logo___rlzt-{display:block;margin:0;width:64px;height:64px;border-radius:9999em;object-fit:cover}.SignInImage-module__success-icon___avUF9{color:var(--cdp-web-colors-fg-positive);display:block;height:4em;width:4em}
@@ -1 +1 @@
1
- .SignInModal-module__trigger___IcJ8x{padding-left:2em;padding-right:2em}.SignInModal-module__modal___PErrT{--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);box-sizing:border-box;box-shadow:var(--shadow-md);width:100%;max-width:38.25em;background:var(--cdp-web-colors-background);border-radius:.5em;outline:1px solid var(--cdp-web-colors-border);position:relative}.SignInModal-module__modal___PErrT[data-state=open]{animation:SignInModal-module__slideIn___7GyWR .2s ease-out,SignInModal-module__fadeIn___-TaAT .2s ease-out}.SignInModal-module__modal___PErrT[data-state=closed]{animation:SignInModal-module__slideOut___Ntrrb .2s ease-in,SignInModal-module__fadeOut___bzuhB .2s ease-in}.SignInModal-module__signIn___hQuJk{height:100%}.SignInModal-module__signInForm___6-UdI,.SignInModal-module__signInForm___6-UdI form{flex-grow:1}.SignInModal-module__signInTitle___AF-XA,.SignInModal-module__signInDescription___SZjXu{text-align:center}.SignInModal-module__signInImage___hMBda{display:flex;justify-content:center;align-items:center;flex-grow:1;margin:2em 0}.SignInModal-module__closeWrapper___cx8Zq{display:flex;justify-content:flex-end;align-items:center}.SignInModal-module__closeButton___yf-ZW{position:relative;left:1em;width:3em}.SignInModal-module__closeButton___yf-ZW svg{height:1em;width:1em}.SignInModal-module__overlay___-0rmi{background:var(--cdp-web-colors-backgroundOverlay);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:1000}.SignInModal-module__overlay___-0rmi[data-state=open]{animation:SignInModal-module__fadeIn___-TaAT .2s ease-out}.SignInModal-module__overlay___-0rmi[data-state=closed]{animation:SignInModal-module__fadeOut___bzuhB .2s ease-in}.SignInModal-module__spacer___x-lRH{height:1em}@keyframes SignInModal-module__fadeIn___-TaAT{0%{opacity:0}to{opacity:1}}@keyframes SignInModal-module__fadeOut___bzuhB{0%{opacity:1}to{opacity:0}}@keyframes SignInModal-module__slideIn___7GyWR{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes SignInModal-module__slideOut___Ntrrb{0%{transform:translateY(0)}to{transform:translateY(100%)}}@media (min-width: 400px){.SignInModal-module__overlay___-0rmi{padding:.5rem}}@media (min-width: 600px){.SignInModal-module__overlay___-0rmi{place-items:center;padding:1rem;grid-template-rows:1fr}.SignInModal-module__modal___PErrT{height:auto}.SignInModal-module__spacer___x-lRH{display:none}.SignInModal-module__signIn___hQuJk{padding-left:0;padding-right:0}.SignInModal-module__closeWrapper___cx8Zq,.SignInModal-module__signInImage___hMBda,.SignInModal-module__signInTitle___AF-XA,.SignInModal-module__signInDescription___SZjXu,.SignInModal-module__signInForm___6-UdI>form,.SignInModal-module__signInForm___6-UdI>div{padding-left:2.5em;padding-right:2.5em}.SignInModal-module__signInImage___hMBda{align-self:flex-start;margin:0}.SignInModal-module__signInTitle___AF-XA,.SignInModal-module__signInDescription___SZjXu{text-align:left}@keyframes SignInModal-module__slideIn___7GyWR{0%{transform:translateY(10%)}to{transform:translateY(0)}}@keyframes SignInModal-module__slideOut___Ntrrb{0%{transform:translateY(0)}to{transform:translateY(10%)}}}
1
+ .SignInModal-module__trigger___IcJ8x{padding-left:2em;padding-right:2em}.SignInModal-module__modal___PErrT{--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:38.25em;background:var(--cdp-web-colors-page-bg-default);border-radius:.5em;outline:1px solid var(--cdp-web-colors-page-border-default);position:relative}.SignInModal-module__modal___PErrT[data-state=open]{animation:SignInModal-module__slide-in___eayZg .2s ease-out,SignInModal-module__fade-in___YW32x .2s ease-out}.SignInModal-module__modal___PErrT[data-state=closed]{animation:SignInModal-module__slide-out___fY2xG .2s ease-in,SignInModal-module__fade-out___WE6g4 .2s ease-in}.SignInModal-module__sign-in___n05-5{height:100%}.SignInModal-module__sign-in-form___Jzx1-,.SignInModal-module__sign-in-form___Jzx1- form{flex-grow:1}.SignInModal-module__sign-in-title___cju2s,.SignInModal-module__sign-in-description___-Oi9q{text-align:center}.SignInModal-module__sign-in-image___DGg7B{display:flex;justify-content:center;align-items:center;flex-grow:1;margin:2em 0}.SignInModal-module__close-wrapper___zuxDu{display:flex;justify-content:flex-end;align-items:center}.SignInModal-module__close-button___k1I5Q{position:relative;left:1em;width:3em}.SignInModal-module__close-button___k1I5Q svg{height:1em;width:1em}.SignInModal-module__overlay___-0rmi{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:1000}.SignInModal-module__overlay___-0rmi[data-state=open]{animation:SignInModal-module__fade-in___YW32x .2s ease-out}.SignInModal-module__overlay___-0rmi[data-state=closed]{animation:SignInModal-module__fade-out___WE6g4 .2s ease-in}.SignInModal-module__spacer___x-lRH{height:1em}@keyframes SignInModal-module__fade-in___YW32x{0%{opacity:0}to{opacity:1}}@keyframes SignInModal-module__fade-out___WE6g4{0%{opacity:1}to{opacity:0}}@keyframes SignInModal-module__slide-in___eayZg{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes SignInModal-module__slide-out___fY2xG{0%{transform:translateY(0)}to{transform:translateY(100%)}}@media (min-width: 400px){.SignInModal-module__overlay___-0rmi{padding:.5rem}}@media (min-width: 600px){.SignInModal-module__overlay___-0rmi{place-items:center;padding:1rem;grid-template-rows:1fr}.SignInModal-module__modal___PErrT{height:auto}.SignInModal-module__spacer___x-lRH{display:none}.SignInModal-module__sign-in___n05-5{padding-left:0;padding-right:0}.SignInModal-module__close-wrapper___zuxDu,.SignInModal-module__sign-in-image___DGg7B,.SignInModal-module__sign-in-title___cju2s,.SignInModal-module__sign-in-description___-Oi9q,.SignInModal-module__sign-in-form___Jzx1->form,.SignInModal-module__sign-in-form___Jzx1->div{padding-left:2.5em;padding-right:2.5em}.SignInModal-module__sign-in-image___DGg7B{align-self:flex-start;margin:0}.SignInModal-module__sign-in-title___cju2s,.SignInModal-module__sign-in-description___-Oi9q{text-align:left}@keyframes SignInModal-module__slide-in___eayZg{0%{transform:translateY(10%)}to{transform:translateY(0)}}@keyframes SignInModal-module__slide-out___fY2xG{0%{transform:translateY(0)}to{transform:translateY(10%)}}}
@@ -0,0 +1 @@
1
+ .SignInTitle-module__heading___QJ071{font-size:1.75em;line-height:1.29;margin:0}
@@ -1 +1 @@
1
- .SignOutButton-module__signOutButton___WNhmy{padding-left:2em;padding-right:2em}
1
+ .SignOutButton-module__sign-out-button___qiybe{padding-left:2em;padding-right:2em}
@@ -1 +1 @@
1
- .VisuallyHidden-module__visuallyHidden___KiAzg{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}
1
+ .VisuallyHidden-module__visually-hidden___qdUPg{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}
@@ -1,2 +1,8 @@
1
1
  import { HTMLAttributes } from 'react';
2
- export declare const AuthButton: (props: HTMLAttributes<HTMLDivElement>) => import("react/jsx-runtime").JSX.Element;
2
+ export interface AuthButtonProps {
3
+ closeOnSuccessDelay?: null | number;
4
+ onSignInSuccess?: () => void;
5
+ onSignInSuccessTransitionEnd?: () => void;
6
+ onSignOutSuccess?: () => void;
7
+ }
8
+ export declare const AuthButton: ({ closeOnSuccessDelay, onSignInSuccess, onSignInSuccessTransitionEnd, onSignOutSuccess, ...props }: AuthButtonProps & HTMLAttributes<HTMLDivElement>) => import("react/jsx-runtime").JSX.Element;
@@ -1,38 +1,58 @@
1
- import { jsxs as I, jsx as i } from "react/jsx-runtime";
2
- import { useIsInitialized as O, useIsSignedIn as T, useEvmAddress as A } from "@coinbase/cdp-hooks";
3
- import { useMemo as _, useState as d, useRef as f, useCallback as w, useEffect as S } from "react";
4
- import { LoadingSkeleton as v } from "../LoadingSkeleton/index.js";
5
- import { SignInModal as x } from "../SignInModal/index.js";
6
- import { SignOutButton as B } from "../SignOutButton/index.js";
7
- import '../../assets/AuthButton.css';const M = "AuthButton-module__loading___JpDqi", R = {
8
- loading: M
9
- }, y = (g) => {
10
- const s = O(), c = T(), l = A(), o = _(() => c && !!l, [c, l]), [a, n] = d(o), [u, m] = d(!1), e = f(null), t = f(null), r = w(() => {
11
- m(!1), e.current && clearTimeout(e.current), e.current = setTimeout(() => {
12
- n(!0);
13
- }, 200);
14
- }, []), h = () => {
15
- t.current && clearTimeout(t.current), t.current = setTimeout(() => {
16
- r();
17
- }, 300);
18
- }, p = () => {
19
- n(!1);
1
+ import { jsxs as T, jsx as l } from "react/jsx-runtime";
2
+ import { useIsInitialized as _, useIsSignedIn as v } from "@coinbase/cdp-hooks";
3
+ import { useState as c, useRef as w, useEffect as f } from "react";
4
+ import { LoadingSkeleton as x } from "../LoadingSkeleton/index.js";
5
+ import { SignInModal as y } from "../SignInModal/index.js";
6
+ import { SignOutButton as A } from "../SignOutButton/index.js";
7
+ import '../../assets/AuthButton.css';const B = "AuthButton-module__loading___JpDqi", D = {
8
+ loading: B
9
+ }, L = ({
10
+ closeOnSuccessDelay: S = 0,
11
+ onSignInSuccess: g,
12
+ onSignInSuccessTransitionEnd: a,
13
+ onSignOutSuccess: h,
14
+ ...p
15
+ }) => {
16
+ const i = _(), u = v(), [m, s] = c(u), [t, d] = c(!1), [n, r] = c(void 0), o = w(!1), I = () => {
17
+ g?.(), r(S);
18
+ }, O = () => {
19
+ h?.(), s(!1);
20
20
  };
21
- return S(() => {
22
- if (o) {
23
- if (e.current || t.current)
21
+ return f(() => {
22
+ if (n === void 0)
23
+ return;
24
+ if (n === null) {
25
+ o.current = !0;
26
+ return;
27
+ }
28
+ const e = setTimeout(() => {
29
+ o.current = !0, d(!1), r(void 0);
30
+ }, n);
31
+ return () => {
32
+ e && clearTimeout(e);
33
+ };
34
+ }, [n]), f(() => {
35
+ if (t)
36
+ return;
37
+ let e = null;
38
+ return o.current && (e = setTimeout(() => {
39
+ a?.(), o.current = !1, s(!0);
40
+ }, 200)), () => {
41
+ e && clearTimeout(e);
42
+ };
43
+ }, [t, a]), f(() => {
44
+ if (u) {
45
+ if (o.current)
24
46
  return;
25
- u ? r() : n(!0);
47
+ t ? r((e) => e === void 0 ? 0 : e) : s(!0);
26
48
  } else
27
- n(!1);
28
- }, [o, u, r]), S(() => () => {
29
- e.current && clearTimeout(e.current), t.current && clearTimeout(t.current);
30
- }, []), /* @__PURE__ */ I("div", { ...g, children: [
31
- !s && /* @__PURE__ */ i(v, { className: R.loading }),
32
- s && a && /* @__PURE__ */ i(B, { onSuccess: p }),
33
- s && !a && /* @__PURE__ */ i(x, { open: u, setIsOpen: m, onSuccess: h })
49
+ s(!1);
50
+ }, [u, t]), /* @__PURE__ */ T("div", { ...p, children: [
51
+ !i && /* @__PURE__ */ l(x, { className: D.loading }),
52
+ i && m && /* @__PURE__ */ l(A, { onSuccess: O }),
53
+ i && !m && /* @__PURE__ */ l(y, { open: t, setIsOpen: d, onSuccess: I })
34
54
  ] });
35
55
  };
36
56
  export {
37
- y as AuthButton
57
+ L as AuthButton
38
58
  };
@@ -1,28 +1,44 @@
1
- import { jsx as r, jsxs as i, Fragment as d } from "react/jsx-runtime";
2
- import { forwardRef as p } from "react";
1
+ import { jsx as n, jsxs as p, Fragment as _ } from "react/jsx-runtime";
2
+ import { forwardRef as c, useMemo as y } from "react";
3
3
  import "../../theme/theme.js";
4
- import { LoadingSpinner as c } from "../LoadingSpinner/index.js";
5
- import { VisuallyHidden as u } from "../VisuallyHidden/index.js";
6
- import '../../assets/Button.css';const y = "Button-module__btn___Fx11X", l = "Button-module__primary___s1sM6", B = "Button-module__secondary___R0waJ", f = "Button-module__transparentPrimary___o7JPs", b = "Button-module__transparentSecondary___4ehOz", n = {
7
- btn: y,
8
- primary: l,
9
- secondary: B,
10
- transparentPrimary: f,
11
- transparentSecondary: b
12
- }, h = p(
4
+ import { LoadingSpinner as u } from "../LoadingSpinner/index.js";
5
+ import { VisuallyHidden as l } from "../VisuallyHidden/index.js";
6
+ import '../../assets/Button.css';const f = "Button-module__btn___Fx11X", B = "Button-module__primary___s1sM6", h = "Button-module__secondary___R0waJ", r = {
7
+ btn: f,
8
+ primary: B,
9
+ secondary: h,
10
+ "transparent-primary": "Button-module__transparent-primary___Ah0yM",
11
+ "transparent-secondary": "Button-module__transparent-secondary___kk5sZ"
12
+ }, b = c(
13
13
  ({
14
- children: t,
15
- className: o = "",
16
- isPending: a,
17
- pendingLabel: e = "Loading...",
18
- variant: s = "primary",
14
+ children: a,
15
+ className: e = "",
16
+ isPending: o,
17
+ pendingLabel: s = "Loading...",
18
+ variant: t = "primary",
19
19
  ...m
20
- }, _) => /* @__PURE__ */ r("button", { className: `${n.btn} ${n[s]} ${o}`, ref: _, ...m, children: a ? /* @__PURE__ */ i(d, { children: [
21
- /* @__PURE__ */ r(c, { "aria-hidden": "true", className: n.spinner }),
22
- /* @__PURE__ */ r(u, { children: e })
23
- ] }) : t })
20
+ }, i) => {
21
+ const d = y(() => {
22
+ switch (t) {
23
+ case "primary":
24
+ return r.primary;
25
+ case "secondary":
26
+ return r.secondary;
27
+ case "transparentPrimary":
28
+ return r["transparent-primary"];
29
+ case "transparentSecondary":
30
+ return r["transparent-secondary"];
31
+ default:
32
+ return r.primary;
33
+ }
34
+ }, [t]);
35
+ return /* @__PURE__ */ n("button", { className: `${r.btn} ${d} ${e}`, ref: i, ...m, children: o ? /* @__PURE__ */ p(_, { children: [
36
+ /* @__PURE__ */ n(u, { "aria-hidden": "true" }),
37
+ /* @__PURE__ */ n(l, { children: s })
38
+ ] }) : a });
39
+ }
24
40
  );
25
- h.displayName = "Button";
41
+ b.displayName = "Button";
26
42
  export {
27
- h as Button
43
+ b as Button
28
44
  };
@@ -1,22 +1,22 @@
1
1
  import { jsxs as c, jsx as e } from "react/jsx-runtime";
2
- import { FormField as n, FormLabel as _, FormValidityState as F, FormControl as f, FormMessage as h } from "@radix-ui/react-form";
2
+ import { FormField as n, FormLabel as _, FormValidityState as F, FormControl as h, FormMessage as f } from "@radix-ui/react-form";
3
3
  import "react";
4
4
  import { Error as b } from "../Error/index.js";
5
- import '../../assets/Field.css';const u = "Field-module__fieldWrapper___K-oJB", W = "Field-module__label___LAQio", o = {
6
- fieldWrapper: u,
7
- label: W
8
- }, L = ({
5
+ import '../../assets/Field.css';const u = "Field-module__label___LAQio", i = {
6
+ "field-wrapper": "Field-module__field-wrapper___0p4i7",
7
+ label: u
8
+ }, y = ({
9
9
  children: l,
10
- className: i = "",
10
+ className: o = "",
11
11
  label: a,
12
12
  name: d,
13
13
  style: m,
14
14
  validators: s
15
- }) => /* @__PURE__ */ c(n, { name: d, className: `${i} ${o.fieldWrapper}`, style: m, children: [
16
- /* @__PURE__ */ e(_, { className: o.label, children: a }),
17
- /* @__PURE__ */ e(F, { children: (r) => l && /* @__PURE__ */ e(f, { asChild: !0, children: l(r) }) }),
18
- s?.map(([r, t], p) => /* @__PURE__ */ e(h, { match: r, asChild: !0, children: /* @__PURE__ */ e(b, { children: t }) }, p))
15
+ }) => /* @__PURE__ */ c(n, { name: d, className: `${o} ${i["field-wrapper"]}`, style: m, children: [
16
+ /* @__PURE__ */ e(_, { className: i.label, children: a }),
17
+ /* @__PURE__ */ e(F, { children: (r) => l && /* @__PURE__ */ e(h, { asChild: !0, children: l(r) }) }),
18
+ s?.map(([r, t], p) => /* @__PURE__ */ e(f, { match: r, asChild: !0, children: /* @__PURE__ */ e(b, { children: t }) }, p))
19
19
  ] });
20
20
  export {
21
- L as Field
21
+ y as Field
22
22
  };
@@ -1,8 +1,8 @@
1
1
  import { jsx as n } from "react/jsx-runtime";
2
- import '../../assets/LoadingSpinner.css';const r = "LoadingSpinner-module__spinner___X3Bl3", s = "LoadingSpinner-module__spinnerCircle___ZQ0yQ", e = {
3
- spinner: r,
4
- spinnerCircle: s
5
- }, o = ({ className: i }) => /* @__PURE__ */ n(
2
+ import '../../assets/LoadingSpinner.css';const i = "LoadingSpinner-module__spinner___X3Bl3", e = {
3
+ spinner: i,
4
+ "spinner-circle": "LoadingSpinner-module__spinner-circle___NCrsp"
5
+ }, l = ({ className: r }) => /* @__PURE__ */ n(
6
6
  "svg",
7
7
  {
8
8
  xmlns: "http://www.w3.org/2000/svg",
@@ -12,11 +12,11 @@ import '../../assets/LoadingSpinner.css';const r = "LoadingSpinner-module__spinn
12
12
  width: "24",
13
13
  height: "24",
14
14
  stroke: "currentColor",
15
- className: i,
15
+ className: r,
16
16
  children: /* @__PURE__ */ n("g", { className: e.spinner, children: /* @__PURE__ */ n(
17
17
  "circle",
18
18
  {
19
- className: e.spinnerCircle,
19
+ className: e["spinner-circle"],
20
20
  cx: "12",
21
21
  cy: "12",
22
22
  r: "9.5",
@@ -27,5 +27,5 @@ import '../../assets/LoadingSpinner.css';const r = "LoadingSpinner-module__spinn
27
27
  }
28
28
  );
29
29
  export {
30
- o as LoadingSpinner
30
+ l as LoadingSpinner
31
31
  };
@@ -1,38 +1,39 @@
1
- import { jsxs as d, jsx as i } from "react/jsx-runtime";
2
- import { OneTimePasswordField as f, OneTimePasswordFieldInput as _, OneTimePasswordFieldHiddenInput as C } from "@radix-ui/react-one-time-password-field";
3
- import { forwardRef as P, useId as h, useRef as y, useEffect as O } from "react";
4
- import { Input as T } from "../Input/index.js";
5
- import { Error as I } from "../Error/index.js";
6
- import '../../assets/OTP.css';const v = "OTP-module__groupContainer___cVyAa", w = "OTP-module__inputContainer___39Wld", N = "OTP-module__input___MEBPV", u = {
7
- groupContainer: v,
8
- inputContainer: w,
1
+ import { jsxs as a, jsx as o } from "react/jsx-runtime";
2
+ import { OneTimePasswordField as _, OneTimePasswordFieldInput as f, OneTimePasswordFieldHiddenInput as P } from "@radix-ui/react-one-time-password-field";
3
+ import { forwardRef as O, useId as T, useRef as h, useEffect as y } from "react";
4
+ import { Input as I } from "../Input/index.js";
5
+ import { Error as v } from "../Error/index.js";
6
+ import '../../assets/OTP.css';const w = "OTP-module__otp___EUcSo", N = "OTP-module__input___MEBPV", r = {
7
+ otp: w,
8
+ "group-container": "OTP-module__group-container___rfrCo",
9
+ "input-container": "OTP-module__input-container___-yRBL",
9
10
  input: N
10
- }, R = P(
11
- ({ error: r, passwordLength: o = 6, className: l = "", ...p }, n) => {
12
- const a = h(), s = y(/* @__PURE__ */ new Map()), c = (e, t) => {
13
- e ? s.current.set(t, e) : s.current.delete(t);
11
+ }, R = O(
12
+ ({ error: i, passwordLength: s = 6, className: d = "", ...p }, t) => {
13
+ const u = T(), c = h(/* @__PURE__ */ new Map()), l = (e, n) => {
14
+ e ? c.current.set(n, e) : c.current.delete(n);
14
15
  };
15
- return O(() => {
16
- const e = Array.from(s.current.values());
17
- typeof n == "function" ? n(e) : n && (n.current = e);
18
- }, [o, n]), /* @__PURE__ */ d("div", { className: l, children: [
19
- /* @__PURE__ */ d(
20
- f,
16
+ return y(() => {
17
+ const e = Array.from(c.current.values());
18
+ typeof t == "function" ? t(e) : t && (t.current = e);
19
+ }, [s, t]), /* @__PURE__ */ a("div", { className: `${r.otp} ${d}`, children: [
20
+ /* @__PURE__ */ a(
21
+ _,
21
22
  {
22
23
  ...p,
23
- className: u.groupContainer,
24
- "aria-invalid": !!r,
25
- "aria-describedby": r ? a : void 0,
24
+ className: r["group-container"],
25
+ "aria-invalid": !!i,
26
+ "aria-describedby": i ? u : void 0,
26
27
  style: {
27
- "--cdp-web-otp-input-width": `${Math.floor(100 / o)}%`
28
+ "--cdp-web-otp-input-width": `${Math.floor(100 / s)}%`
28
29
  },
29
30
  children: [
30
- Array.from({ length: o }, (e, t) => /* @__PURE__ */ i("div", { className: u.inputContainer, children: /* @__PURE__ */ i(_, { asChild: !0, children: /* @__PURE__ */ i(T, { ref: (m) => c(m, t), className: u.input }) }) }, t)),
31
- /* @__PURE__ */ i(C, {})
31
+ Array.from({ length: s }, (e, n) => /* @__PURE__ */ o("div", { className: r["input-container"], children: /* @__PURE__ */ o(f, { asChild: !0, children: /* @__PURE__ */ o(I, { ref: (m) => l(m, n), className: r.input }) }) }, n)),
32
+ /* @__PURE__ */ o(P, {})
32
33
  ]
33
34
  }
34
35
  ),
35
- r && /* @__PURE__ */ i(I, { id: a, children: r })
36
+ i && /* @__PURE__ */ o(v, { id: u, children: i })
36
37
  ] });
37
38
  }
38
39
  );
@@ -1,27 +1,29 @@
1
- import { jsxs as t, Fragment as s, jsx as e } from "react/jsx-runtime";
1
+ import { jsxs as t, Fragment as i, jsx as e } from "react/jsx-runtime";
2
2
  import "react";
3
- import { s as c } from "../../chunks/SignIn.module.Dl3CqKQ_.js";
4
- import { useSignInContext as p } from "./SignInProvider.js";
5
- const d = () => /* @__PURE__ */ e(s, { children: "We’ll send you a verification code via email." }), u = ({ email: i }) => /* @__PURE__ */ t(s, { children: [
3
+ import { useSignInContext as l } from "./SignInProvider.js";
4
+ import '../../assets/SignInDescription.css';const u = "SignInDescription-module__description___jZLc6", a = "SignInDescription-module__medium___NGpLf", o = {
5
+ description: u,
6
+ medium: a
7
+ }, _ = () => /* @__PURE__ */ e(i, { children: "We’ll send you a verification code via email." }), g = ({ email: n }) => /* @__PURE__ */ t(i, { children: [
6
8
  "We’ve sent a 6 digit code to ",
7
- /* @__PURE__ */ e("span", { className: c.medium, children: i }),
9
+ /* @__PURE__ */ e("span", { className: o.medium, children: n }),
8
10
  "."
9
- ] }), f = () => /* @__PURE__ */ e(s, { children: "You’ve successfully signed in." }), D = ({
10
- as: i = "p",
11
- children: r,
12
- className: o = "",
13
- ...a
11
+ ] }), D = () => /* @__PURE__ */ e(i, { children: "You’ve successfully signed in." }), v = ({
12
+ as: n = "p",
13
+ children: c,
14
+ className: r = "",
15
+ ...m
14
16
  }) => {
15
- const { state: l } = p(), { step: n, email: m } = l;
16
- return /* @__PURE__ */ t(i, { className: `${c.description} ${o}`, ...a, children: [
17
- r,
18
- !r && /* @__PURE__ */ t(s, { children: [
19
- n === "otp" && /* @__PURE__ */ e(u, { email: m }),
20
- n === "success" && /* @__PURE__ */ e(f, {}),
21
- n === "email" && /* @__PURE__ */ e(d, {})
17
+ const { state: d } = l(), { step: s, email: p } = d;
18
+ return /* @__PURE__ */ t(n, { className: `${o.description} ${r}`, ...m, children: [
19
+ c,
20
+ !c && /* @__PURE__ */ t(i, { children: [
21
+ s === "otp" && /* @__PURE__ */ e(g, { email: p }),
22
+ s === "success" && /* @__PURE__ */ e(D, {}),
23
+ s === "email" && /* @__PURE__ */ e(_, {})
22
24
  ] })
23
25
  ] });
24
26
  };
25
27
  export {
26
- D as SignInDescription
28
+ v as SignInDescription
27
29
  };