@stackframe/stack 2.4.27 → 2.5.0
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/CHANGELOG.md +22 -0
- package/dist/components/credential-sign-in-form.d.mts +5 -0
- package/dist/components/credential-sign-in-form.d.ts +5 -0
- package/dist/components/{credential-sign-in.js → credential-sign-in-form.js} +33 -23
- package/dist/components/credential-sign-in-form.js.map +1 -0
- package/dist/components/credential-sign-up-form.d.mts +5 -0
- package/dist/components/credential-sign-up-form.d.ts +5 -0
- package/dist/components/{credential-sign-up.js → credential-sign-up-form.js} +34 -24
- package/dist/components/credential-sign-up-form.js.map +1 -0
- package/dist/components/{form-warning.d.mts → elements/form-warning.d.mts} +1 -1
- package/dist/components/{form-warning.d.ts → elements/form-warning.d.ts} +1 -1
- package/dist/components/{form-warning.js → elements/form-warning.js} +7 -4
- package/dist/components/elements/form-warning.js.map +1 -0
- package/dist/components/{maybe-full-page.d.mts → elements/maybe-full-page.d.mts} +3 -3
- package/dist/components/{maybe-full-page.d.ts → elements/maybe-full-page.d.ts} +3 -3
- package/dist/components/{maybe-full-page.js → elements/maybe-full-page.js} +11 -10
- package/dist/components/elements/maybe-full-page.js.map +1 -0
- package/dist/components/{separator-with-text.d.mts → elements/separator-with-text.d.mts} +1 -1
- package/dist/components/{separator-with-text.d.ts → elements/separator-with-text.d.ts} +1 -1
- package/dist/components/{separator-with-text.js → elements/separator-with-text.js} +11 -7
- package/dist/components/elements/separator-with-text.js.map +1 -0
- package/dist/components/elements/ssr-layout-effect.d.mts +7 -0
- package/dist/components/elements/ssr-layout-effect.d.ts +7 -0
- package/dist/{joy.js → components/elements/ssr-layout-effect.js} +17 -8
- package/dist/components/elements/ssr-layout-effect.js.map +1 -0
- package/dist/components/{user-avatar.d.mts → elements/user-avatar.d.mts} +2 -2
- package/dist/components/{user-avatar.d.ts → elements/user-avatar.d.ts} +2 -2
- package/dist/components/elements/user-avatar.js +40 -0
- package/dist/components/elements/user-avatar.js.map +1 -0
- package/dist/components/{forgot-password.d.mts → forgot-password-form.d.mts} +2 -2
- package/dist/components/{forgot-password.d.ts → forgot-password-form.d.ts} +2 -2
- package/dist/components/{forgot-password.js → forgot-password-form.js} +28 -24
- package/dist/components/forgot-password-form.js.map +1 -0
- package/dist/components/magic-link-sign-in-form.d.mts +5 -0
- package/dist/components/magic-link-sign-in-form.d.ts +5 -0
- package/dist/components/{magic-link-sign-in.js → magic-link-sign-in-form.js} +30 -20
- package/dist/components/magic-link-sign-in-form.js.map +1 -0
- package/dist/components/message-cards/known-error-message-card.d.mts +1 -1
- package/dist/components/message-cards/known-error-message-card.d.ts +1 -1
- package/dist/components/message-cards/known-error-message-card.js +10 -16
- package/dist/components/message-cards/known-error-message-card.js.map +1 -1
- package/dist/components/message-cards/message-card.d.mts +3 -3
- package/dist/components/message-cards/message-card.d.ts +3 -3
- package/dist/components/message-cards/message-card.js +11 -17
- package/dist/components/message-cards/message-card.js.map +1 -1
- package/dist/components/message-cards/predefined-message-card.d.mts +1 -1
- package/dist/components/message-cards/predefined-message-card.d.ts +1 -1
- package/dist/components/message-cards/predefined-message-card.js +9 -15
- package/dist/components/message-cards/predefined-message-card.js.map +1 -1
- package/dist/components/{oauth-group.d.mts → oauth-button-group.d.mts} +2 -2
- package/dist/components/{oauth-group.d.ts → oauth-button-group.d.ts} +2 -2
- package/dist/components/oauth-button-group.js +43 -0
- package/dist/components/oauth-button-group.js.map +1 -0
- package/dist/components/oauth-button.d.mts +1 -1
- package/dist/components/oauth-button.d.ts +1 -1
- package/dist/components/oauth-button.js +40 -7
- package/dist/components/oauth-button.js.map +1 -1
- package/dist/components/{password-reset-inner.d.mts → password-reset-form.d.mts} +2 -2
- package/dist/components/{password-reset-inner.d.ts → password-reset-form.d.ts} +2 -2
- package/dist/components/{password-reset-inner.js → password-reset-form.js} +35 -30
- package/dist/components/password-reset-form.js.map +1 -0
- package/dist/components/selected-team-switcher.d.mts +12 -2
- package/dist/components/selected-team-switcher.d.ts +12 -2
- package/dist/components/selected-team-switcher.js +43 -35
- package/dist/components/selected-team-switcher.js.map +1 -1
- package/dist/components/user-button.d.mts +3 -3
- package/dist/components/user-button.d.ts +3 -3
- package/dist/components/user-button.js +32 -59
- package/dist/components/user-button.js.map +1 -1
- package/dist/components-page/account-settings.d.mts +1 -1
- package/dist/components-page/account-settings.d.ts +1 -1
- package/dist/components-page/account-settings.js +39 -45
- package/dist/components-page/account-settings.js.map +1 -1
- package/dist/components-page/auth-page.d.mts +1 -1
- package/dist/components-page/auth-page.d.ts +1 -1
- package/dist/components-page/auth-page.js +31 -36
- package/dist/components-page/auth-page.js.map +1 -1
- package/dist/components-page/email-verification.d.mts +1 -1
- package/dist/components-page/email-verification.d.ts +1 -1
- package/dist/components-page/email-verification.js +10 -16
- package/dist/components-page/email-verification.js.map +1 -1
- package/dist/components-page/error-page.d.mts +1 -1
- package/dist/components-page/error-page.d.ts +1 -1
- package/dist/components-page/error-page.js +15 -20
- package/dist/components-page/error-page.js.map +1 -1
- package/dist/components-page/forgot-password.d.mts +1 -1
- package/dist/components-page/forgot-password.d.ts +1 -1
- package/dist/components-page/forgot-password.js +17 -23
- package/dist/components-page/forgot-password.js.map +1 -1
- package/dist/components-page/magic-link-callback.d.mts +1 -1
- package/dist/components-page/magic-link-callback.d.ts +1 -1
- package/dist/components-page/magic-link-callback.js +11 -17
- package/dist/components-page/magic-link-callback.js.map +1 -1
- package/dist/components-page/oauth-callback.d.mts +1 -1
- package/dist/components-page/oauth-callback.d.ts +1 -1
- package/dist/components-page/oauth-callback.js +10 -16
- package/dist/components-page/oauth-callback.js.map +1 -1
- package/dist/components-page/password-reset.d.mts +1 -1
- package/dist/components-page/password-reset.d.ts +1 -1
- package/dist/components-page/password-reset.js +12 -8
- package/dist/components-page/password-reset.js.map +1 -1
- package/dist/components-page/sign-in.d.mts +1 -1
- package/dist/components-page/sign-in.d.ts +1 -1
- package/dist/components-page/sign-in.js +7 -13
- package/dist/components-page/sign-in.js.map +1 -1
- package/dist/components-page/sign-out.d.mts +1 -1
- package/dist/components-page/sign-out.d.ts +1 -1
- package/dist/components-page/sign-out.js +7 -13
- package/dist/components-page/sign-out.js.map +1 -1
- package/dist/components-page/sign-up.d.mts +1 -1
- package/dist/components-page/sign-up.d.ts +1 -1
- package/dist/components-page/sign-up.js +7 -13
- package/dist/components-page/sign-up.js.map +1 -1
- package/dist/components-page/stack-handler.js +22 -32
- package/dist/components-page/stack-handler.js.map +1 -1
- package/dist/esm/components/{credential-sign-in.js → credential-sign-in-form.js} +23 -17
- package/dist/esm/components/credential-sign-in-form.js.map +1 -0
- package/dist/esm/components/{credential-sign-up.js → credential-sign-up-form.js} +23 -17
- package/dist/esm/components/credential-sign-up-form.js.map +1 -0
- package/dist/esm/components/elements/form-warning.js +15 -0
- package/dist/esm/components/elements/form-warning.js.map +1 -0
- package/dist/esm/components/{maybe-full-page.js → elements/maybe-full-page.js} +7 -10
- package/dist/esm/components/elements/maybe-full-page.js.map +1 -0
- package/dist/esm/components/elements/separator-with-text.js +17 -0
- package/dist/esm/components/elements/separator-with-text.js.map +1 -0
- package/dist/esm/components/elements/ssr-layout-effect.js +16 -0
- package/dist/esm/components/elements/ssr-layout-effect.js.map +1 -0
- package/dist/esm/components/elements/user-avatar.js +15 -0
- package/dist/esm/components/elements/user-avatar.js.map +1 -0
- package/dist/esm/components/{forgot-password.js → forgot-password-form.js} +19 -19
- package/dist/esm/components/forgot-password-form.js.map +1 -0
- package/dist/esm/components/{magic-link-sign-in.js → magic-link-sign-in-form.js} +21 -15
- package/dist/esm/components/magic-link-sign-in-form.js.map +1 -0
- package/dist/esm/components/message-cards/known-error-message-card.js +5 -5
- package/dist/esm/components/message-cards/known-error-message-card.js.map +1 -1
- package/dist/esm/components/message-cards/message-card.js +4 -4
- package/dist/esm/components/message-cards/message-card.js.map +1 -1
- package/dist/esm/components/message-cards/predefined-message-card.js +4 -4
- package/dist/esm/components/message-cards/predefined-message-card.js.map +1 -1
- package/dist/esm/components/oauth-button-group.js +19 -0
- package/dist/esm/components/oauth-button-group.js.map +1 -0
- package/dist/esm/components/oauth-button.js +26 -7
- package/dist/esm/components/oauth-button.js.map +1 -1
- package/dist/esm/components/{password-reset-inner.js → password-reset-form.js} +28 -23
- package/dist/esm/components/password-reset-form.js.map +1 -0
- package/dist/esm/components/selected-team-switcher.js +50 -45
- package/dist/esm/components/selected-team-switcher.js.map +1 -1
- package/dist/esm/components/user-button.js +23 -52
- package/dist/esm/components/user-button.js.map +1 -1
- package/dist/esm/components-page/account-settings.js +29 -29
- package/dist/esm/components-page/account-settings.js.map +1 -1
- package/dist/esm/components-page/auth-page.js +25 -24
- package/dist/esm/components-page/auth-page.js.map +1 -1
- package/dist/esm/components-page/email-verification.js +3 -3
- package/dist/esm/components-page/email-verification.js.map +1 -1
- package/dist/esm/components-page/error-page.js +8 -7
- package/dist/esm/components-page/error-page.js.map +1 -1
- package/dist/esm/components-page/forgot-password.js +10 -10
- package/dist/esm/components-page/forgot-password.js.map +1 -1
- package/dist/esm/components-page/magic-link-callback.js +3 -3
- package/dist/esm/components-page/magic-link-callback.js.map +1 -1
- package/dist/esm/components-page/oauth-callback.js +5 -5
- package/dist/esm/components-page/oauth-callback.js.map +1 -1
- package/dist/esm/components-page/password-reset.js +8 -8
- package/dist/esm/components-page/password-reset.js.map +1 -1
- package/dist/esm/components-page/sign-in.js +2 -2
- package/dist/esm/components-page/sign-in.js.map +1 -1
- package/dist/esm/components-page/sign-out.js +3 -3
- package/dist/esm/components-page/sign-out.js.map +1 -1
- package/dist/esm/components-page/sign-up.js +2 -2
- package/dist/esm/components-page/sign-up.js.map +1 -1
- package/dist/esm/components-page/stack-handler.js +11 -11
- package/dist/esm/components-page/stack-handler.js.map +1 -1
- package/dist/esm/generated/global-css.js +6 -0
- package/dist/esm/generated/global-css.js.map +1 -0
- package/dist/esm/index.js +33 -40
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/lib/stack-app.js +29 -21
- package/dist/esm/lib/stack-app.js.map +1 -1
- package/dist/esm/providers/theme-provider.js +43 -4
- package/dist/esm/providers/theme-provider.js.map +1 -1
- package/dist/esm/utils/browser-script.js +2 -1
- package/dist/esm/utils/browser-script.js.map +1 -1
- package/dist/esm/utils/constants.js +43 -12
- package/dist/esm/utils/constants.js.map +1 -1
- package/dist/generated/global-css.d.mts +3 -0
- package/dist/generated/global-css.d.ts +3 -0
- package/dist/generated/global-css.js +31 -0
- package/dist/generated/global-css.js.map +1 -0
- package/dist/index.d.mts +16 -30
- package/dist/index.d.ts +16 -30
- package/dist/index.js +33 -45
- package/dist/index.js.map +1 -1
- package/dist/lib/stack-app.d.mts +4 -1
- package/dist/lib/stack-app.d.ts +4 -1
- package/dist/lib/stack-app.js +29 -21
- package/dist/lib/stack-app.js.map +1 -1
- package/dist/providers/stack-provider-client.d.mts +3 -3
- package/dist/providers/stack-provider-client.d.ts +3 -3
- package/dist/providers/stack-provider.d.mts +2 -2
- package/dist/providers/stack-provider.d.ts +2 -2
- package/dist/providers/styled-components-registry.d.mts +2 -2
- package/dist/providers/styled-components-registry.d.ts +2 -2
- package/dist/providers/theme-provider.d.mts +34 -17
- package/dist/providers/theme-provider.d.ts +34 -17
- package/dist/providers/theme-provider.js +43 -4
- package/dist/providers/theme-provider.js.map +1 -1
- package/dist/utils/browser-script.js +2 -1
- package/dist/utils/browser-script.js.map +1 -1
- package/dist/utils/constants.d.mts +43 -12
- package/dist/utils/constants.d.ts +43 -12
- package/dist/utils/constants.js +44 -13
- package/dist/utils/constants.js.map +1 -1
- package/package.json +25 -32
- package/dist/components/credential-sign-in.d.mts +0 -5
- package/dist/components/credential-sign-in.d.ts +0 -5
- package/dist/components/credential-sign-in.js.map +0 -1
- package/dist/components/credential-sign-up.d.mts +0 -5
- package/dist/components/credential-sign-up.d.ts +0 -5
- package/dist/components/credential-sign-up.js.map +0 -1
- package/dist/components/forgot-password.js.map +0 -1
- package/dist/components/form-warning.js.map +0 -1
- package/dist/components/magic-link-sign-in.d.mts +0 -5
- package/dist/components/magic-link-sign-in.d.ts +0 -5
- package/dist/components/magic-link-sign-in.js.map +0 -1
- package/dist/components/maybe-full-page.js.map +0 -1
- package/dist/components/oauth-group.js +0 -49
- package/dist/components/oauth-group.js.map +0 -1
- package/dist/components/password-field.d.mts +0 -5
- package/dist/components/password-field.d.ts +0 -5
- package/dist/components/password-field.js +0 -111
- package/dist/components/password-field.js.map +0 -1
- package/dist/components/password-reset-inner.js.map +0 -1
- package/dist/components/separator-with-text.js.map +0 -1
- package/dist/components/user-avatar.js +0 -56
- package/dist/components/user-avatar.js.map +0 -1
- package/dist/components-core/avatar.d.mts +0 -8
- package/dist/components-core/avatar.d.ts +0 -8
- package/dist/components-core/avatar.js +0 -94
- package/dist/components-core/avatar.js.map +0 -1
- package/dist/components-core/button.d.mts +0 -13
- package/dist/components-core/button.d.ts +0 -13
- package/dist/components-core/button.js +0 -217
- package/dist/components-core/button.js.map +0 -1
- package/dist/components-core/card.d.mts +0 -8
- package/dist/components-core/card.d.ts +0 -8
- package/dist/components-core/card.js +0 -89
- package/dist/components-core/card.js.map +0 -1
- package/dist/components-core/collapsible.d.mts +0 -8
- package/dist/components-core/collapsible.d.ts +0 -8
- package/dist/components-core/collapsible.js +0 -50
- package/dist/components-core/collapsible.js.map +0 -1
- package/dist/components-core/container.d.mts +0 -8
- package/dist/components-core/container.d.ts +0 -8
- package/dist/components-core/container.js +0 -70
- package/dist/components-core/container.js.map +0 -1
- package/dist/components-core/dropdown.d.mts +0 -15
- package/dist/components-core/dropdown.d.ts +0 -15
- package/dist/components-core/dropdown.js +0 -149
- package/dist/components-core/dropdown.js.map +0 -1
- package/dist/components-core/index.d.mts +0 -59
- package/dist/components-core/index.d.ts +0 -59
- package/dist/components-core/index.js +0 -148
- package/dist/components-core/index.js.map +0 -1
- package/dist/components-core/input.d.mts +0 -6
- package/dist/components-core/input.d.ts +0 -6
- package/dist/components-core/input.js +0 -119
- package/dist/components-core/input.js.map +0 -1
- package/dist/components-core/label.d.mts +0 -6
- package/dist/components-core/label.d.ts +0 -6
- package/dist/components-core/label.js +0 -72
- package/dist/components-core/label.js.map +0 -1
- package/dist/components-core/link.d.mts +0 -10
- package/dist/components-core/link.d.ts +0 -10
- package/dist/components-core/link.js +0 -73
- package/dist/components-core/link.js.map +0 -1
- package/dist/components-core/popover.d.mts +0 -8
- package/dist/components-core/popover.d.ts +0 -8
- package/dist/components-core/popover.js +0 -81
- package/dist/components-core/popover.js.map +0 -1
- package/dist/components-core/separator.d.mts +0 -6
- package/dist/components-core/separator.d.ts +0 -6
- package/dist/components-core/separator.js +0 -71
- package/dist/components-core/separator.js.map +0 -1
- package/dist/components-core/skeleton.d.mts +0 -7
- package/dist/components-core/skeleton.d.ts +0 -7
- package/dist/components-core/skeleton.js +0 -87
- package/dist/components-core/skeleton.js.map +0 -1
- package/dist/components-core/tabs.d.mts +0 -9
- package/dist/components-core/tabs.d.ts +0 -9
- package/dist/components-core/tabs.js +0 -124
- package/dist/components-core/tabs.js.map +0 -1
- package/dist/components-core/text.d.mts +0 -10
- package/dist/components-core/text.d.ts +0 -10
- package/dist/components-core/text.js +0 -98
- package/dist/components-core/text.js.map +0 -1
- package/dist/components-core-joy/button.d.mts +0 -6
- package/dist/components-core-joy/button.d.ts +0 -6
- package/dist/components-core-joy/button.js +0 -88
- package/dist/components-core-joy/button.js.map +0 -1
- package/dist/components-core-joy/input.d.mts +0 -5
- package/dist/components-core-joy/input.d.ts +0 -5
- package/dist/components-core-joy/input.js +0 -53
- package/dist/components-core-joy/input.js.map +0 -1
- package/dist/components-core-joy/separator.d.mts +0 -6
- package/dist/components-core-joy/separator.d.ts +0 -6
- package/dist/components-core-joy/separator.js +0 -52
- package/dist/components-core-joy/separator.js.map +0 -1
- package/dist/components-core-joy/tabs.d.mts +0 -9
- package/dist/components-core-joy/tabs.d.ts +0 -9
- package/dist/components-core-joy/tabs.js +0 -67
- package/dist/components-core-joy/tabs.js.map +0 -1
- package/dist/components-core-joy/text.d.mts +0 -9
- package/dist/components-core-joy/text.d.ts +0 -9
- package/dist/components-core-joy/text.js +0 -70
- package/dist/components-core-joy/text.js.map +0 -1
- package/dist/esm/components/credential-sign-in.js.map +0 -1
- package/dist/esm/components/credential-sign-up.js.map +0 -1
- package/dist/esm/components/forgot-password.js.map +0 -1
- package/dist/esm/components/form-warning.js +0 -16
- package/dist/esm/components/form-warning.js.map +0 -1
- package/dist/esm/components/magic-link-sign-in.js.map +0 -1
- package/dist/esm/components/maybe-full-page.js.map +0 -1
- package/dist/esm/components/oauth-group.js +0 -19
- package/dist/esm/components/oauth-group.js.map +0 -1
- package/dist/esm/components/password-field.js +0 -81
- package/dist/esm/components/password-field.js.map +0 -1
- package/dist/esm/components/password-reset-inner.js.map +0 -1
- package/dist/esm/components/separator-with-text.js +0 -17
- package/dist/esm/components/separator-with-text.js.map +0 -1
- package/dist/esm/components/user-avatar.js +0 -25
- package/dist/esm/components/user-avatar.js.map +0 -1
- package/dist/esm/components-core/avatar.js +0 -57
- package/dist/esm/components-core/avatar.js.map +0 -1
- package/dist/esm/components-core/button.js +0 -183
- package/dist/esm/components-core/button.js.map +0 -1
- package/dist/esm/components-core/card.js +0 -52
- package/dist/esm/components-core/card.js.map +0 -1
- package/dist/esm/components-core/collapsible.js +0 -14
- package/dist/esm/components-core/collapsible.js.map +0 -1
- package/dist/esm/components-core/container.js +0 -36
- package/dist/esm/components-core/container.js.map +0 -1
- package/dist/esm/components-core/dropdown.js +0 -110
- package/dist/esm/components-core/dropdown.js.map +0 -1
- package/dist/esm/components-core/index.js +0 -94
- package/dist/esm/components-core/index.js.map +0 -1
- package/dist/esm/components-core/input.js +0 -85
- package/dist/esm/components-core/input.js.map +0 -1
- package/dist/esm/components-core/label.js +0 -38
- package/dist/esm/components-core/label.js.map +0 -1
- package/dist/esm/components-core/link.js +0 -39
- package/dist/esm/components-core/link.js.map +0 -1
- package/dist/esm/components-core/popover.js +0 -44
- package/dist/esm/components-core/popover.js.map +0 -1
- package/dist/esm/components-core/separator.js +0 -37
- package/dist/esm/components-core/separator.js.map +0 -1
- package/dist/esm/components-core/skeleton.js +0 -53
- package/dist/esm/components-core/skeleton.js.map +0 -1
- package/dist/esm/components-core/tabs.js +0 -86
- package/dist/esm/components-core/tabs.js.map +0 -1
- package/dist/esm/components-core/text.js +0 -64
- package/dist/esm/components-core/text.js.map +0 -1
- package/dist/esm/components-core-joy/button.js +0 -54
- package/dist/esm/components-core-joy/button.js.map +0 -1
- package/dist/esm/components-core-joy/input.js +0 -19
- package/dist/esm/components-core-joy/input.js.map +0 -1
- package/dist/esm/components-core-joy/separator.js +0 -18
- package/dist/esm/components-core-joy/separator.js.map +0 -1
- package/dist/esm/components-core-joy/tabs.js +0 -30
- package/dist/esm/components-core-joy/tabs.js.map +0 -1
- package/dist/esm/components-core-joy/text.js +0 -36
- package/dist/esm/components-core-joy/text.js.map +0 -1
- package/dist/esm/joy.js +0 -6
- package/dist/esm/joy.js.map +0 -1
- package/dist/esm/providers/component-provider.js +0 -77
- package/dist/esm/providers/component-provider.js.map +0 -1
- package/dist/esm/providers/design-provider.js +0 -37
- package/dist/esm/providers/design-provider.js.map +0 -1
- package/dist/esm/providers/joy-provider.js +0 -36
- package/dist/esm/providers/joy-provider.js.map +0 -1
- package/dist/joy.d.mts +0 -16
- package/dist/joy.d.ts +0 -16
- package/dist/joy.js.map +0 -1
- package/dist/providers/component-provider.d.mts +0 -113
- package/dist/providers/component-provider.d.ts +0 -113
- package/dist/providers/component-provider.js +0 -96
- package/dist/providers/component-provider.js.map +0 -1
- package/dist/providers/design-provider.d.mts +0 -34
- package/dist/providers/design-provider.d.ts +0 -34
- package/dist/providers/design-provider.js +0 -62
- package/dist/providers/design-provider.js.map +0 -1
- package/dist/providers/joy-provider.d.mts +0 -36
- package/dist/providers/joy-provider.d.ts +0 -36
- package/dist/providers/joy-provider.js +0 -61
- package/dist/providers/joy-provider.js.map +0 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@stackframe/stack",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.5.0",
|
|
4
4
|
"sideEffects": false,
|
|
5
5
|
"exports": {
|
|
6
6
|
".": {
|
|
@@ -11,15 +11,6 @@
|
|
|
11
11
|
"require": {
|
|
12
12
|
"default": "./dist/index.js"
|
|
13
13
|
}
|
|
14
|
-
},
|
|
15
|
-
"./joy": {
|
|
16
|
-
"types": "./dist/joy.d.ts",
|
|
17
|
-
"import": {
|
|
18
|
-
"default": "./dist/esm/joy.js"
|
|
19
|
-
},
|
|
20
|
-
"require": {
|
|
21
|
-
"default": "./dist/joy.js"
|
|
22
|
-
}
|
|
23
14
|
}
|
|
24
15
|
},
|
|
25
16
|
"homepage": "https://stack-auth.com",
|
|
@@ -30,53 +21,55 @@
|
|
|
30
21
|
"LICENSE"
|
|
31
22
|
],
|
|
32
23
|
"dependencies": {
|
|
33
|
-
"rimraf": "^5.0.5",
|
|
34
24
|
"@hookform/resolvers": "^3.3.4",
|
|
35
|
-
"
|
|
36
|
-
"
|
|
37
|
-
"@radix-ui/react-dropdown-menu": "^2.0.6",
|
|
38
|
-
"@radix-ui/react-icons": "^1.3.0",
|
|
39
|
-
"@radix-ui/react-label": "^2.0.2",
|
|
40
|
-
"@radix-ui/react-popover": "^1.0.7",
|
|
41
|
-
"@radix-ui/react-separator": "^1.0.3",
|
|
42
|
-
"@radix-ui/react-tabs": "^1.0.4",
|
|
25
|
+
"class-variance-authority": "^0.7.0",
|
|
26
|
+
"clsx": "^2.0.0",
|
|
43
27
|
"color": "^4.2.3",
|
|
44
28
|
"cookie": "^0.6.0",
|
|
45
29
|
"js-cookie": "^3.0.5",
|
|
46
30
|
"lucide-react": "^0.378.0",
|
|
47
31
|
"oauth4webapi": "^2.10.3",
|
|
48
32
|
"react-hook-form": "^7.51.4",
|
|
33
|
+
"rimraf": "^5.0.5",
|
|
49
34
|
"server-only": "^0.0.1",
|
|
50
35
|
"styled-components": "^6.1.8",
|
|
36
|
+
"tailwind-merge": "^2.3.0",
|
|
37
|
+
"tailwindcss-animate": "^1.0.7",
|
|
38
|
+
"tsx": "^4.7.2",
|
|
51
39
|
"yup": "^1.4.0",
|
|
52
|
-
"@stackframe/stack-sc": "2.
|
|
53
|
-
"@stackframe/stack-shared": "2.
|
|
40
|
+
"@stackframe/stack-sc": "2.5.0",
|
|
41
|
+
"@stackframe/stack-shared": "2.5.0",
|
|
42
|
+
"@stackframe/stack-ui": "2.5.0"
|
|
54
43
|
},
|
|
55
44
|
"peerDependencies": {
|
|
56
|
-
"@mui/joy": "^5.0.0-beta.30",
|
|
57
45
|
"next": ">=14.1",
|
|
58
46
|
"react": ">=18.2"
|
|
59
47
|
},
|
|
60
|
-
"peerDependenciesMeta": {
|
|
61
|
-
"@mui/joy": {
|
|
62
|
-
"optional": true
|
|
63
|
-
}
|
|
64
|
-
},
|
|
65
48
|
"devDependencies": {
|
|
66
49
|
"@types/color": "^3.0.6",
|
|
67
50
|
"@types/cookie": "^0.6.0",
|
|
68
51
|
"@types/js-cookie": "^3.0.6",
|
|
69
52
|
"@types/react": "^18.2.66",
|
|
53
|
+
"autoprefixer": "^10.4.17",
|
|
70
54
|
"esbuild": "^0.20.2",
|
|
71
|
-
"tsup": "^8.0.2",
|
|
72
55
|
"next": "^14.1.0",
|
|
73
|
-
"
|
|
56
|
+
"postcss": "^8.4.38",
|
|
57
|
+
"postcss-nested": "^6.0.1",
|
|
58
|
+
"react": "^18.2.0",
|
|
59
|
+
"tailwindcss": "^3.4.4",
|
|
60
|
+
"tsup": "^8.0.2"
|
|
74
61
|
},
|
|
75
62
|
"scripts": {
|
|
76
63
|
"typecheck": "tsc --noEmit",
|
|
77
|
-
"build": "rimraf dist && tsup-node",
|
|
64
|
+
"build": "rimraf dist && npm run css && tsup-node",
|
|
65
|
+
"codegen": "npm run css",
|
|
78
66
|
"clean": "rimraf dist && rimraf node_modules",
|
|
79
|
-
"dev": "rimraf dist && tsup-node --watch",
|
|
80
|
-
"lint": "eslint --ext .tsx,.ts ."
|
|
67
|
+
"dev": "rimraf dist && concurrently \"tsup-node --watch\" \"npm run css:tw:watch\" \"npm run css:sc:watch\"",
|
|
68
|
+
"lint": "eslint --ext .tsx,.ts .",
|
|
69
|
+
"css": "npm run css:tw && npm run css:sc",
|
|
70
|
+
"css:tw:watch": "tailwindcss -i ./src/global.css -o ./src/generated/tailwind.css --watch",
|
|
71
|
+
"css:tw": "tailwindcss -i ./src/global.css -o ./src/generated/tailwind.css",
|
|
72
|
+
"css:sc": "tsx ./scripts/process-css.ts ./src/generated/tailwind.css ./src/generated/global-css.ts",
|
|
73
|
+
"css:sc:watch": "chokidar --silent './src/generated/tailwind.css' -c 'tsx ./scripts/process-css.ts ./src/generated/tailwind.css ./src/generated/global-css.ts'"
|
|
81
74
|
}
|
|
82
75
|
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/components/credential-sign-in.tsx"],"sourcesContent":["'use client';\n\nimport { useForm } from \"react-hook-form\";\nimport { yupResolver } from \"@hookform/resolvers/yup\";\nimport * as yup from \"yup\";\nimport FormWarningText from \"./form-warning\";\nimport PasswordField from \"./password-field\";\nimport { useStackApp } from \"..\";\nimport { Button, Input, Label, Link } from \"../components-core\";\nimport { runAsynchronouslyWithAlert } from \"@stackframe/stack-shared/dist/utils/promises\";\n\nconst schema = yup.object().shape({\n email: yup.string().email('Please enter a valid email').required('Please enter your email'),\n password: yup.string().required('Please enter your password')\n});\n\nexport default function CredentialSignIn() {\n const { register, handleSubmit, setError, formState: { errors }, clearErrors } = useForm({\n resolver: yupResolver(schema)\n });\n const app = useStackApp();\n\n const onSubmit = async (data: yup.InferType<typeof schema>) => {\n const { email, password } = data;\n\n const error = await app.signInWithCredential({ email, password });\n setError('email', { type: 'manual', message: error?.message });\n };\n\n return (\n <form \n style={{ display: 'flex', flexDirection: 'column', alignItems: 'stretch' }} \n onSubmit={e => runAsynchronouslyWithAlert(handleSubmit(onSubmit)(e))}\n noValidate\n >\n <Label htmlFor=\"email\">Email</Label>\n <Input\n id=\"email\"\n type=\"email\"\n {...register('email')}\n />\n <FormWarningText text={errors.email?.message?.toString()} />\n\n <Label htmlFor=\"password\" style={{ marginTop: '1rem' }}>Password</Label>\n <PasswordField\n id=\"password\"\n {...register('password')}\n />\n <FormWarningText text={errors.password?.message?.toString()} />\n\n <Link href={app.urls.forgotPassword} size='sm' style={{ marginTop: '0.5rem' }}>\n Forgot password?\n </Link>\n\n <Button type=\"submit\" style={{ marginTop: '1.5rem' }}>\n Sign In\n </Button>\n </form>\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,6BAAwB;AACxB,iBAA4B;AAC5B,UAAqB;AACrB,0BAA4B;AAC5B,4BAA0B;AAC1B,eAA4B;AAC5B,6BAA2C;AAC3C,sBAA2C;AAqBvC;AAnBJ,IAAM,SAAa,WAAO,EAAE,MAAM;AAAA,EAChC,OAAW,WAAO,EAAE,MAAM,4BAA4B,EAAE,SAAS,yBAAyB;AAAA,EAC1F,UAAc,WAAO,EAAE,SAAS,4BAA4B;AAC9D,CAAC;AAEc,SAAR,mBAAoC;AACzC,QAAM,EAAE,UAAU,cAAc,UAAU,WAAW,EAAE,OAAO,GAAG,YAAY,QAAI,gCAAQ;AAAA,IACvF,cAAU,wBAAY,MAAM;AAAA,EAC9B,CAAC;AACD,QAAM,UAAM,sBAAY;AAExB,QAAM,WAAW,OAAO,SAAuC;AAC7D,UAAM,EAAE,OAAO,SAAS,IAAI;AAE5B,UAAM,QAAQ,MAAM,IAAI,qBAAqB,EAAE,OAAO,SAAS,CAAC;AAChE,aAAS,SAAS,EAAE,MAAM,UAAU,SAAS,OAAO,QAAQ,CAAC;AAAA,EAC/D;AAEA,SACE;AAAA,IAAC;AAAA;AAAA,MACC,OAAO,EAAE,SAAS,QAAQ,eAAe,UAAU,YAAY,UAAU;AAAA,MACzE,UAAU,WAAK,4CAA2B,aAAa,QAAQ,EAAE,CAAC,CAAC;AAAA,MACnE,YAAU;AAAA,MAEV;AAAA,oDAAC,gCAAM,SAAQ,SAAQ,mBAAK;AAAA,QAC5B;AAAA,UAAC;AAAA;AAAA,YACC,IAAG;AAAA,YACH,MAAK;AAAA,YACJ,GAAG,SAAS,OAAO;AAAA;AAAA,QACtB;AAAA,QACA,4CAAC,oBAAAA,SAAA,EAAgB,MAAM,OAAO,OAAO,SAAS,SAAS,GAAG;AAAA,QAE1D,4CAAC,gCAAM,SAAQ,YAAW,OAAO,EAAE,WAAW,OAAO,GAAG,sBAAQ;AAAA,QAChE;AAAA,UAAC,sBAAAC;AAAA,UAAA;AAAA,YACC,IAAG;AAAA,YACF,GAAG,SAAS,UAAU;AAAA;AAAA,QACzB;AAAA,QACA,4CAAC,oBAAAD,SAAA,EAAgB,MAAM,OAAO,UAAU,SAAS,SAAS,GAAG;AAAA,QAE7D,4CAAC,+BAAK,MAAM,IAAI,KAAK,gBAAgB,MAAK,MAAK,OAAO,EAAE,WAAW,SAAS,GAAG,8BAE/E;AAAA,QAEA,4CAAC,iCAAO,MAAK,UAAS,OAAO,EAAE,WAAW,SAAS,GAAG,qBAEtD;AAAA;AAAA;AAAA,EACF;AAEJ;","names":["FormWarningText","PasswordField"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/components/credential-sign-up.tsx"],"sourcesContent":["'use client';\n\nimport { useForm } from \"react-hook-form\";\nimport { yupResolver } from \"@hookform/resolvers/yup\";\nimport * as yup from \"yup\";\nimport PasswordField from \"./password-field\";\nimport FormWarningText from \"./form-warning\";\nimport { useStackApp } from \"..\";\nimport { Label, Input, Button } from \"../components-core\";\nimport { runAsynchronouslyWithAlert } from \"@stackframe/stack-shared/dist/utils/promises\";\nimport { getPasswordError } from \"@stackframe/stack-shared/dist/helpers/password\";\n\nconst schema = yup.object().shape({\n email: yup.string().email('Please enter a valid email').required('Please enter your email'),\n password: yup.string().required('Please enter your password').test({\n name: 'is-valid-password',\n test: (value, ctx) => {\n const error = getPasswordError(value);\n if (error) {\n return ctx.createError({ message: error.message });\n } else {\n return true;\n }\n }\n }),\n passwordRepeat: yup.string().nullable().oneOf([yup.ref('password'), null], 'Passwords do not match').required('Please repeat your password')\n});\n\nexport default function CredentialSignUp() {\n const { register, handleSubmit, setError, formState: { errors }, clearErrors } = useForm({\n resolver: yupResolver(schema)\n });\n const app = useStackApp();\n\n const onSubmit = async (data: yup.InferType<typeof schema>) => {\n const { email, password } = data;\n const error = await app.signUpWithCredential({ email, password });\n setError('email', { type: 'manual', message: error?.message });\n };\n\n return (\n <form \n style={{ display: 'flex', flexDirection: 'column', alignItems: 'stretch' }} \n onSubmit={e => runAsynchronouslyWithAlert(handleSubmit(onSubmit)(e))}\n noValidate\n >\n <Label htmlFor=\"email\">Email</Label>\n <Input\n id=\"email\"\n type=\"email\"\n {...register('email')}\n />\n <FormWarningText text={errors.email?.message?.toString()} />\n\n <Label htmlFor=\"password\" style={{ marginTop: '1rem' }}>Password</Label>\n <PasswordField\n id=\"password\"\n {...register('password')}\n onChange={(e) => {\n clearErrors('password');\n clearErrors('passwordRepeat');\n }}\n />\n <FormWarningText text={errors.password?.message?.toString()} />\n \n <Label htmlFor=\"repeat-password\" style={{ marginTop: '1rem' }}>Repeat Password</Label>\n <PasswordField\n id=\"repeat-password\"\n {...register('passwordRepeat')}\n onChange={(e) => {\n clearErrors('password');\n clearErrors('passwordRepeat');\n }}\n />\n <FormWarningText text={errors.passwordRepeat?.message?.toString()} />\n\n <Button type=\"submit\" style={{ marginTop: '1.5rem' }}>\n Sign Up\n </Button>\n </form>\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,6BAAwB;AACxB,iBAA4B;AAC5B,UAAqB;AACrB,4BAA0B;AAC1B,0BAA4B;AAC5B,eAA4B;AAC5B,6BAAqC;AACrC,sBAA2C;AAC3C,sBAAiC;AA+B7B;AA7BJ,IAAM,SAAa,WAAO,EAAE,MAAM;AAAA,EAChC,OAAW,WAAO,EAAE,MAAM,4BAA4B,EAAE,SAAS,yBAAyB;AAAA,EAC1F,UAAc,WAAO,EAAE,SAAS,4BAA4B,EAAE,KAAK;AAAA,IACjE,MAAM;AAAA,IACN,MAAM,CAAC,OAAO,QAAQ;AACpB,YAAM,YAAQ,kCAAiB,KAAK;AACpC,UAAI,OAAO;AACT,eAAO,IAAI,YAAY,EAAE,SAAS,MAAM,QAAQ,CAAC;AAAA,MACnD,OAAO;AACL,eAAO;AAAA,MACT;AAAA,IACF;AAAA,EACF,CAAC;AAAA,EACD,gBAAoB,WAAO,EAAE,SAAS,EAAE,MAAM,CAAK,QAAI,UAAU,GAAG,IAAI,GAAG,wBAAwB,EAAE,SAAS,6BAA6B;AAC7I,CAAC;AAEc,SAAR,mBAAoC;AACzC,QAAM,EAAE,UAAU,cAAc,UAAU,WAAW,EAAE,OAAO,GAAG,YAAY,QAAI,gCAAQ;AAAA,IACvF,cAAU,wBAAY,MAAM;AAAA,EAC9B,CAAC;AACD,QAAM,UAAM,sBAAY;AAExB,QAAM,WAAW,OAAO,SAAuC;AAC7D,UAAM,EAAE,OAAO,SAAS,IAAI;AAC5B,UAAM,QAAQ,MAAM,IAAI,qBAAqB,EAAE,OAAO,SAAS,CAAC;AAChE,aAAS,SAAS,EAAE,MAAM,UAAU,SAAS,OAAO,QAAQ,CAAC;AAAA,EAC/D;AAEA,SACE;AAAA,IAAC;AAAA;AAAA,MACC,OAAO,EAAE,SAAS,QAAQ,eAAe,UAAU,YAAY,UAAU;AAAA,MACzE,UAAU,WAAK,4CAA2B,aAAa,QAAQ,EAAE,CAAC,CAAC;AAAA,MACnE,YAAU;AAAA,MAEV;AAAA,oDAAC,gCAAM,SAAQ,SAAQ,mBAAK;AAAA,QAC5B;AAAA,UAAC;AAAA;AAAA,YACC,IAAG;AAAA,YACH,MAAK;AAAA,YACJ,GAAG,SAAS,OAAO;AAAA;AAAA,QACtB;AAAA,QACA,4CAAC,oBAAAA,SAAA,EAAgB,MAAM,OAAO,OAAO,SAAS,SAAS,GAAG;AAAA,QAE1D,4CAAC,gCAAM,SAAQ,YAAW,OAAO,EAAE,WAAW,OAAO,GAAG,sBAAQ;AAAA,QAChE;AAAA,UAAC,sBAAAC;AAAA,UAAA;AAAA,YACC,IAAG;AAAA,YACF,GAAG,SAAS,UAAU;AAAA,YACvB,UAAU,CAAC,MAAM;AACf,0BAAY,UAAU;AACtB,0BAAY,gBAAgB;AAAA,YAC9B;AAAA;AAAA,QACF;AAAA,QACA,4CAAC,oBAAAD,SAAA,EAAgB,MAAM,OAAO,UAAU,SAAS,SAAS,GAAG;AAAA,QAE7D,4CAAC,gCAAM,SAAQ,mBAAkB,OAAO,EAAE,WAAW,OAAO,GAAG,6BAAe;AAAA,QAC9E;AAAA,UAAC,sBAAAC;AAAA,UAAA;AAAA,YACC,IAAG;AAAA,YACF,GAAG,SAAS,gBAAgB;AAAA,YAC7B,UAAU,CAAC,MAAM;AACf,0BAAY,UAAU;AACtB,0BAAY,gBAAgB;AAAA,YAC9B;AAAA;AAAA,QACF;AAAA,QACA,4CAAC,oBAAAD,SAAA,EAAgB,MAAM,OAAO,gBAAgB,SAAS,SAAS,GAAG;AAAA,QAEnE,4CAAC,iCAAO,MAAK,UAAS,OAAO,EAAE,WAAW,SAAS,GAAG,qBAEtD;AAAA;AAAA;AAAA,EACF;AAEJ;","names":["FormWarningText","PasswordField"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/components/forgot-password.tsx"],"sourcesContent":["'use client';\n\nimport { useForm } from \"react-hook-form\";\nimport { yupResolver } from \"@hookform/resolvers/yup\";\nimport * as yup from \"yup\";\nimport FormWarningText from \"./form-warning\";\nimport { useStackApp } from \"..\";\nimport { Button, Input, Label } from \"../components-core\";\nimport { runAsynchronouslyWithAlert } from \"@stackframe/stack-shared/dist/utils/promises\";\n\nconst schema = yup.object().shape({\n email: yup.string().email('Please enter a valid email').required('Please enter your email')\n});\n\nexport default function ForgotPassword({ onSent }: { onSent?: () => void }) {\n const { register, handleSubmit, formState: { errors }, clearErrors } = useForm({\n resolver: yupResolver(schema)\n });\n const stackApp = useStackApp();\n\n const onSubmit = async (data: yup.InferType<typeof schema>) => {\n const { email } = data;\n await stackApp.sendForgotPasswordEmail(email);\n onSent?.();\n };\n\n return (\n <form\n style={{ display: 'flex', flexDirection: 'column', alignItems: 'stretch' }} \n onSubmit={e => runAsynchronouslyWithAlert(handleSubmit(onSubmit)(e))}\n noValidate\n >\n <Label htmlFor=\"email\">Your Email</Label>\n <Input\n id=\"email\"\n type=\"email\"\n {...register('email')}\n onChange={() => clearErrors('email')}\n />\n <FormWarningText text={errors.email?.message?.toString()} />\n\n <Button\n type=\"submit\"\n style={{ marginTop: '1.5rem' }}\n >\n Send Email\n </Button>\n </form>\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,6BAAwB;AACxB,iBAA4B;AAC5B,UAAqB;AACrB,0BAA4B;AAC5B,eAA4B;AAC5B,6BAAqC;AACrC,sBAA2C;AAmBvC;AAjBJ,IAAM,SAAa,WAAO,EAAE,MAAM;AAAA,EAChC,OAAW,WAAO,EAAE,MAAM,4BAA4B,EAAE,SAAS,yBAAyB;AAC5F,CAAC;AAEc,SAAR,eAAgC,EAAE,OAAO,GAA4B;AAC1E,QAAM,EAAE,UAAU,cAAc,WAAW,EAAE,OAAO,GAAG,YAAY,QAAI,gCAAQ;AAAA,IAC7E,cAAU,wBAAY,MAAM;AAAA,EAC9B,CAAC;AACD,QAAM,eAAW,sBAAY;AAE7B,QAAM,WAAW,OAAO,SAAuC;AAC7D,UAAM,EAAE,MAAM,IAAI;AAClB,UAAM,SAAS,wBAAwB,KAAK;AAC5C,aAAS;AAAA,EACX;AAEA,SACE;AAAA,IAAC;AAAA;AAAA,MACC,OAAO,EAAE,SAAS,QAAQ,eAAe,UAAU,YAAY,UAAU;AAAA,MACzE,UAAU,WAAK,4CAA2B,aAAa,QAAQ,EAAE,CAAC,CAAC;AAAA,MACnE,YAAU;AAAA,MAEV;AAAA,oDAAC,gCAAM,SAAQ,SAAQ,wBAAU;AAAA,QACjC;AAAA,UAAC;AAAA;AAAA,YACC,IAAG;AAAA,YACH,MAAK;AAAA,YACJ,GAAG,SAAS,OAAO;AAAA,YACpB,UAAU,MAAM,YAAY,OAAO;AAAA;AAAA,QACrC;AAAA,QACA,4CAAC,oBAAAA,SAAA,EAAgB,MAAM,OAAO,OAAO,SAAS,SAAS,GAAG;AAAA,QAE1D;AAAA,UAAC;AAAA;AAAA,YACC,MAAK;AAAA,YACL,OAAO,EAAE,WAAW,SAAS;AAAA,YAC9B;AAAA;AAAA,QAED;AAAA;AAAA;AAAA,EACF;AAEJ;","names":["FormWarningText"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/components/form-warning.tsx"],"sourcesContent":["'use client';\n\nimport { Text } from \"../components-core\";\n\nexport default function FormWarningText({ text }: { text?: string }) {\n if (!text) {\n return null;\n }\n return (\n <Text size=\"sm\" variant=\"warning\">\n {text}\n </Text>\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,6BAAqB;AAOjB;AALW,SAAR,gBAAiC,EAAE,KAAK,GAAsB;AACnE,MAAI,CAAC,MAAM;AACT,WAAO;AAAA,EACT;AACA,SACE,4CAAC,+BAAK,MAAK,MAAK,SAAQ,WACrB,gBACH;AAEJ;","names":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/components/magic-link-sign-in.tsx"],"sourcesContent":["'use client';\n\nimport { useState } from \"react\";\nimport { useForm } from \"react-hook-form\";\nimport { yupResolver } from \"@hookform/resolvers/yup\";\nimport * as yup from \"yup\";\nimport FormWarningText from \"./form-warning\";\nimport { useStackApp } from \"..\";\nimport { Button, Input, Label } from \"../components-core\";\nimport { runAsynchronouslyWithAlert } from \"@stackframe/stack-shared/dist/utils/promises\";\n\nconst schema = yup.object().shape({\n email: yup.string().email('Please enter a valid email').required('Please enter your email')\n});\n\nexport default function MagicLinkSignIn() {\n const { register, handleSubmit, setError, formState: { errors }, clearErrors } = useForm({\n resolver: yupResolver(schema)\n });\n const [sent, setSent] = useState(false);\n const app = useStackApp();\n\n const onSubmit = async (data: yup.InferType<typeof schema>) => {\n const { email } = data;\n\n const error = await app.sendMagicLinkEmail(email);\n if (error) {\n setError('email', { type: 'manual', message: error.message });\n return;\n }\n setSent(true);\n };\n\n return (\n <form \n style={{ display: 'flex', flexDirection: 'column', alignItems: 'stretch' }} \n onSubmit={e => runAsynchronouslyWithAlert(handleSubmit(onSubmit)(e))}\n noValidate\n >\n <Label htmlFor=\"email\">Email</Label>\n <Input\n id=\"email\"\n type=\"email\"\n {...register('email')}\n disabled={sent}\n />\n <FormWarningText text={errors.email?.message?.toString()} />\n\n <Button disabled={sent} style={{ marginTop: '1.5rem' }} type=\"submit\">\n {sent ? 'Email sent!' : 'Send magic link'}\n </Button>\n </form>\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,mBAAyB;AACzB,6BAAwB;AACxB,iBAA4B;AAC5B,UAAqB;AACrB,0BAA4B;AAC5B,eAA4B;AAC5B,6BAAqC;AACrC,sBAA2C;AAyBvC;AAvBJ,IAAM,SAAa,WAAO,EAAE,MAAM;AAAA,EAChC,OAAW,WAAO,EAAE,MAAM,4BAA4B,EAAE,SAAS,yBAAyB;AAC5F,CAAC;AAEc,SAAR,kBAAmC;AACxC,QAAM,EAAE,UAAU,cAAc,UAAU,WAAW,EAAE,OAAO,GAAG,YAAY,QAAI,gCAAQ;AAAA,IACvF,cAAU,wBAAY,MAAM;AAAA,EAC9B,CAAC;AACD,QAAM,CAAC,MAAM,OAAO,QAAI,uBAAS,KAAK;AACtC,QAAM,UAAM,sBAAY;AAExB,QAAM,WAAW,OAAO,SAAuC;AAC7D,UAAM,EAAE,MAAM,IAAI;AAElB,UAAM,QAAQ,MAAM,IAAI,mBAAmB,KAAK;AAChD,QAAI,OAAO;AACT,eAAS,SAAS,EAAE,MAAM,UAAU,SAAS,MAAM,QAAQ,CAAC;AAC5D;AAAA,IACF;AACA,YAAQ,IAAI;AAAA,EACd;AAEA,SACE;AAAA,IAAC;AAAA;AAAA,MACC,OAAO,EAAE,SAAS,QAAQ,eAAe,UAAU,YAAY,UAAU;AAAA,MACzE,UAAU,WAAK,4CAA2B,aAAa,QAAQ,EAAE,CAAC,CAAC;AAAA,MACnE,YAAU;AAAA,MAEV;AAAA,oDAAC,gCAAM,SAAQ,SAAQ,mBAAK;AAAA,QAC5B;AAAA,UAAC;AAAA;AAAA,YACC,IAAG;AAAA,YACH,MAAK;AAAA,YACJ,GAAG,SAAS,OAAO;AAAA,YACpB,UAAU;AAAA;AAAA,QACZ;AAAA,QACA,4CAAC,oBAAAA,SAAA,EAAgB,MAAM,OAAO,OAAO,SAAS,SAAS,GAAG;AAAA,QAE1D,4CAAC,iCAAO,UAAU,MAAM,OAAO,EAAE,WAAW,SAAS,GAAG,MAAK,UAC1D,iBAAO,gBAAgB,mBAC1B;AAAA;AAAA;AAAA,EACF;AAEJ;","names":["FormWarningText"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/components/maybe-full-page.tsx"],"sourcesContent":["\"use client\";\n\nimport { Container } from \"../components-core\";\nimport React, { useEffect, useId } from \"react\";\n\nexport default function MaybeFullPage({ \n children, \n fullPage=true\n}: { \n children: React.ReactNode, \n fullPage?: boolean, \n}) {\n const uniqueId = useId();\n const id = `stack-card-frame-${uniqueId}`;\n\n const scriptString = `(([id]) => {\n const el = document.getElementById(id);\n if (!el) {\n // component is not full page\n return;\n }\n const offset = el.getBoundingClientRect().top + document.documentElement.scrollTop;\n el.style.minHeight = \\`calc(100vh - \\${offset}px)\\`;\n })(${JSON.stringify([id])})`;\n\n useEffect(() => {\n // TODO fix workaround: React has a bug where it doesn't run the script on the first CSR render if SSR has been skipped due to suspense\n // As a workaround, we run the script in the <script> tag again after the first render\n // Note that we do an indirect eval as described here: https://esbuild.github.io/content-types/#direct-eval\n (0, eval)(scriptString);\n }, []);\n\n if (fullPage) {\n return (\n <>\n <div \n id={id}\n suppressHydrationWarning\n style={{ \n minHeight: '100vh',\n alignSelf: 'stretch',\n display: 'flex', \n alignItems: 'center', \n justifyContent: 'center',\n }}\n >\n <Container size={380} style={{ padding: '1rem 1rem' }}>\n {children}\n </Container>\n </div>\n <script dangerouslySetInnerHTML={{\n __html: scriptString,\n }} />\n </>\n );\n } else {\n return <>\n {children}\n </>;\n }\n \n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,6BAA0B;AAC1B,mBAAwC;AA+BlC;AA7BS,SAAR,cAA+B;AAAA,EACpC;AAAA,EACA,WAAS;AACX,GAGG;AACD,QAAM,eAAW,oBAAM;AACvB,QAAM,KAAK,oBAAoB,QAAQ;AAEvC,QAAM,eAAe;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,OAQhB,KAAK,UAAU,CAAC,EAAE,CAAC,CAAC;AAEzB,8BAAU,MAAM;AAId,KAAC,GAAG,MAAM,YAAY;AAAA,EACxB,GAAG,CAAC,CAAC;AAEL,MAAI,UAAU;AACZ,WACE,4EACE;AAAA;AAAA,QAAC;AAAA;AAAA,UACC;AAAA,UACA,0BAAwB;AAAA,UACxB,OAAO;AAAA,YACL,WAAW;AAAA,YACX,WAAW;AAAA,YACX,SAAS;AAAA,YACT,YAAY;AAAA,YACZ,gBAAgB;AAAA,UAClB;AAAA,UAEA,sDAAC,oCAAU,MAAM,KAAK,OAAO,EAAE,SAAS,YAAY,GACjD,UACH;AAAA;AAAA,MACF;AAAA,MACA,4CAAC,YAAO,yBAAyB;AAAA,QAC/B,QAAQ;AAAA,MACV,GAAG;AAAA,OACL;AAAA,EAEJ,OAAO;AACL,WAAO,2EACJ,UACH;AAAA,EACF;AAEF;","names":[]}
|
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
"use client";
|
|
2
|
-
"use strict";
|
|
3
|
-
"use client";
|
|
4
|
-
var __create = Object.create;
|
|
5
|
-
var __defProp = Object.defineProperty;
|
|
6
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
7
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
8
|
-
var __getProtoOf = Object.getPrototypeOf;
|
|
9
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
10
|
-
var __export = (target, all) => {
|
|
11
|
-
for (var name in all)
|
|
12
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
|
13
|
-
};
|
|
14
|
-
var __copyProps = (to, from, except, desc) => {
|
|
15
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
16
|
-
for (let key of __getOwnPropNames(from))
|
|
17
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
18
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
19
|
-
}
|
|
20
|
-
return to;
|
|
21
|
-
};
|
|
22
|
-
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
23
|
-
// If the importer is in node compatibility mode or this is not an ESM
|
|
24
|
-
// file that has been converted to a CommonJS file using a Babel-
|
|
25
|
-
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
26
|
-
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
27
|
-
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
28
|
-
mod
|
|
29
|
-
));
|
|
30
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
31
|
-
|
|
32
|
-
// src/components/oauth-group.tsx
|
|
33
|
-
var oauth_group_exports = {};
|
|
34
|
-
__export(oauth_group_exports, {
|
|
35
|
-
default: () => OAuthGroup
|
|
36
|
-
});
|
|
37
|
-
module.exports = __toCommonJS(oauth_group_exports);
|
|
38
|
-
var import_hooks = require("../lib/hooks");
|
|
39
|
-
var import_oauth_button = __toESM(require("./oauth-button"));
|
|
40
|
-
var import_jsx_runtime = require("react/jsx-runtime");
|
|
41
|
-
function OAuthGroup({
|
|
42
|
-
type,
|
|
43
|
-
mockProject
|
|
44
|
-
}) {
|
|
45
|
-
const stackApp = (0, import_hooks.useStackApp)();
|
|
46
|
-
const project = mockProject || stackApp.useProject();
|
|
47
|
-
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { style: { gap: "16px", display: "flex", flexDirection: "column", alignItems: "stretch" }, children: project.oauthProviders.filter((p) => p.enabled).map((p) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_oauth_button.default, { provider: p.id, type }, p.id)) });
|
|
48
|
-
}
|
|
49
|
-
//# sourceMappingURL=oauth-group.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/components/oauth-group.tsx"],"sourcesContent":["'use client';\n\nimport { ClientProjectJson } from \"@stackframe/stack-shared\";\nimport { useStackApp } from \"../lib/hooks\";\nimport OAuthButton from \"./oauth-button\";\n\nexport default function OAuthGroup({\n type,\n mockProject,\n}: {\n type: 'sign-in' | 'sign-up',\n mockProject?: ClientProjectJson,\n}) {\n const stackApp = useStackApp();\n const project = mockProject || stackApp.useProject();\n\n return (\n <div style={{ gap: '16px', display: 'flex', flexDirection: 'column', alignItems: 'stretch' }}>\n {project.oauthProviders.filter(p => p.enabled).map(p => (\n <OAuthButton key={p.id} provider={p.id} type={type}/>\n ))}\n </div>\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,mBAA4B;AAC5B,0BAAwB;AAehB;AAbO,SAAR,WAA4B;AAAA,EACjC;AAAA,EACA;AACF,GAGG;AACD,QAAM,eAAW,0BAAY;AAC7B,QAAM,UAAU,eAAe,SAAS,WAAW;AAEnD,SACE,4CAAC,SAAI,OAAO,EAAE,KAAK,QAAQ,SAAS,QAAQ,eAAe,UAAU,YAAY,UAAU,GACxF,kBAAQ,eAAe,OAAO,OAAK,EAAE,OAAO,EAAE,IAAI,OACjD,4CAAC,oBAAAA,SAAA,EAAuB,UAAU,EAAE,IAAI,QAAtB,EAAE,EAA+B,CACpD,GACH;AAEJ;","names":["OAuthButton"]}
|
|
@@ -1,111 +0,0 @@
|
|
|
1
|
-
"use client";
|
|
2
|
-
"use strict";
|
|
3
|
-
"use client";
|
|
4
|
-
var __create = Object.create;
|
|
5
|
-
var __defProp = Object.defineProperty;
|
|
6
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
7
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
8
|
-
var __getProtoOf = Object.getPrototypeOf;
|
|
9
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
10
|
-
var __export = (target, all) => {
|
|
11
|
-
for (var name in all)
|
|
12
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
|
13
|
-
};
|
|
14
|
-
var __copyProps = (to, from, except, desc) => {
|
|
15
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
16
|
-
for (let key of __getOwnPropNames(from))
|
|
17
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
18
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
19
|
-
}
|
|
20
|
-
return to;
|
|
21
|
-
};
|
|
22
|
-
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
23
|
-
// If the importer is in node compatibility mode or this is not an ESM
|
|
24
|
-
// file that has been converted to a CommonJS file using a Babel-
|
|
25
|
-
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
26
|
-
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
27
|
-
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
28
|
-
mod
|
|
29
|
-
));
|
|
30
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
31
|
-
|
|
32
|
-
// src/components/password-field.tsx
|
|
33
|
-
var password_field_exports = {};
|
|
34
|
-
__export(password_field_exports, {
|
|
35
|
-
default: () => password_field_default
|
|
36
|
-
});
|
|
37
|
-
module.exports = __toCommonJS(password_field_exports);
|
|
38
|
-
var import_components_core = require("../components-core");
|
|
39
|
-
var import_react = require("react");
|
|
40
|
-
var import__ = require("..");
|
|
41
|
-
var import_styled_components = __toESM(require("styled-components"));
|
|
42
|
-
var import_lucide_react = require("lucide-react");
|
|
43
|
-
var import_jsx_runtime = require("react/jsx-runtime");
|
|
44
|
-
var getIconStyle = (colors) => `
|
|
45
|
-
height: 1rem;
|
|
46
|
-
width: 1rem;
|
|
47
|
-
color: #808080
|
|
48
|
-
`;
|
|
49
|
-
var StyledEyeOff = (0, import_styled_components.default)(import_lucide_react.EyeOff)`${(props) => getIconStyle(props.colors)}`;
|
|
50
|
-
var StyledEye = (0, import_styled_components.default)(import_lucide_react.Eye)`${(props) => getIconStyle(props.colors)}`;
|
|
51
|
-
var PasswordField = (0, import_react.forwardRef)(({ id, name, ...props }, ref) => {
|
|
52
|
-
const [isOpen, setIsOpen] = (0, import_react.useState)(false);
|
|
53
|
-
const { colors } = (0, import__.useDesign)();
|
|
54
|
-
const inputRef = (0, import_react.useRef)(null);
|
|
55
|
-
const mergeRef = (node) => {
|
|
56
|
-
if (ref) {
|
|
57
|
-
if (typeof ref === "function") {
|
|
58
|
-
ref(node);
|
|
59
|
-
} else {
|
|
60
|
-
ref.current = node;
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
inputRef.current = node;
|
|
64
|
-
};
|
|
65
|
-
const onClickReveal = () => {
|
|
66
|
-
setIsOpen(!isOpen);
|
|
67
|
-
const currentInput = inputRef.current;
|
|
68
|
-
if (currentInput) {
|
|
69
|
-
currentInput.focus({ preventScroll: true });
|
|
70
|
-
}
|
|
71
|
-
};
|
|
72
|
-
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { style: { position: "relative", display: "flex" }, children: [
|
|
73
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
74
|
-
import_components_core.Input,
|
|
75
|
-
{
|
|
76
|
-
id,
|
|
77
|
-
ref: mergeRef,
|
|
78
|
-
name,
|
|
79
|
-
type: isOpen ? "text" : "password",
|
|
80
|
-
autoComplete: "current-password",
|
|
81
|
-
required: true,
|
|
82
|
-
style: { flex: 1 },
|
|
83
|
-
...props
|
|
84
|
-
}
|
|
85
|
-
),
|
|
86
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
87
|
-
"button",
|
|
88
|
-
{
|
|
89
|
-
tabIndex: -1,
|
|
90
|
-
type: "button",
|
|
91
|
-
style: {
|
|
92
|
-
position: "absolute",
|
|
93
|
-
backgroundColor: "transparent",
|
|
94
|
-
border: "none",
|
|
95
|
-
top: 0,
|
|
96
|
-
right: 0,
|
|
97
|
-
bottom: 0,
|
|
98
|
-
display: "flex",
|
|
99
|
-
alignItems: "center",
|
|
100
|
-
paddingRight: "12px"
|
|
101
|
-
},
|
|
102
|
-
onClick: onClickReveal,
|
|
103
|
-
"aria-label": isOpen ? "Mask password" : "Reveal password",
|
|
104
|
-
children: isOpen ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(StyledEyeOff, { colors }) : /* @__PURE__ */ (0, import_jsx_runtime.jsx)(StyledEye, { colors })
|
|
105
|
-
}
|
|
106
|
-
)
|
|
107
|
-
] });
|
|
108
|
-
});
|
|
109
|
-
PasswordField.displayName = "PasswordField";
|
|
110
|
-
var password_field_default = PasswordField;
|
|
111
|
-
//# sourceMappingURL=password-field.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/components/password-field.tsx"],"sourcesContent":["'use client';\n\nimport { Input } from \"../components-core\";\nimport { forwardRef, useRef, useState } from 'react';\nimport { useDesign } from \"..\";\nimport styled from \"styled-components\";\nimport { ColorPalette } from \"../providers/design-provider\";\nimport { Eye, EyeOff } from 'lucide-react';\n\nconst getIconStyle = (colors: ColorPalette) => `\n height: 1rem;\n width: 1rem;\n color: #808080\n`;\nconst StyledEyeOff = styled(EyeOff)<{ colors: ColorPalette }>`${props => getIconStyle(props.colors)}`;\nconst StyledEye = styled(Eye)<{ colors: ColorPalette }>`${props => getIconStyle(props.colors)}`;\n\nconst PasswordField = forwardRef<\n HTMLInputElement, \n React.InputHTMLAttributes<HTMLInputElement>\n>(({ id, name, ...props }, ref) => {\n const [isOpen, setIsOpen] = useState(false);\n const { colors } = useDesign();\n const inputRef = useRef<HTMLInputElement | null>(null);\n\n const mergeRef = (node: HTMLInputElement) => {\n if (ref) {\n if (typeof ref === 'function') {\n ref(node);\n } else {\n ref.current = node;\n }\n }\n inputRef.current = node;\n };\n\n const onClickReveal = () => {\n setIsOpen(!isOpen);\n const currentInput = inputRef.current;\n if (currentInput) {\n currentInput.focus({ preventScroll: true });\n }\n };\n\n return (\n <div style={{ position: 'relative', display: 'flex' }}>\n <Input\n id={id}\n ref={mergeRef}\n name={name}\n type={isOpen ? 'text' : 'password'}\n autoComplete=\"current-password\"\n required\n style={{ flex: 1 }}\n {...props}\n />\n <button\n tabIndex={-1}\n type=\"button\"\n style={{ \n position: 'absolute', \n backgroundColor: 'transparent',\n border: 'none',\n top: 0, \n right: 0, \n bottom: 0, \n display: 'flex', \n alignItems: 'center', \n paddingRight: '12px' \n }}\n onClick={onClickReveal}\n aria-label={isOpen ? 'Mask password' : 'Reveal password'}\n >\n {isOpen ? <StyledEyeOff colors={colors} /> : <StyledEye colors={colors} />}\n </button>\n </div>\n );\n});\n\nPasswordField.displayName = 'PasswordField';\n\nexport default PasswordField;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,6BAAsB;AACtB,mBAA6C;AAC7C,eAA0B;AAC1B,+BAAmB;AAEnB,0BAA4B;AAsCxB;AApCJ,IAAM,eAAe,CAAC,WAAyB;AAAA;AAAA;AAAA;AAAA;AAK/C,IAAM,mBAAe,yBAAAA,SAAO,0BAAM,IAA8B,WAAS,aAAa,MAAM,MAAM,CAAC;AACnG,IAAM,gBAAY,yBAAAA,SAAO,uBAAG,IAA8B,WAAS,aAAa,MAAM,MAAM,CAAC;AAE7F,IAAM,oBAAgB,yBAGpB,CAAC,EAAE,IAAI,MAAM,GAAG,MAAM,GAAG,QAAQ;AACjC,QAAM,CAAC,QAAQ,SAAS,QAAI,uBAAS,KAAK;AAC1C,QAAM,EAAE,OAAO,QAAI,oBAAU;AAC7B,QAAM,eAAW,qBAAgC,IAAI;AAErD,QAAM,WAAW,CAAC,SAA2B;AAC3C,QAAI,KAAK;AACP,UAAI,OAAO,QAAQ,YAAY;AAC7B,YAAI,IAAI;AAAA,MACV,OAAO;AACL,YAAI,UAAU;AAAA,MAChB;AAAA,IACF;AACA,aAAS,UAAU;AAAA,EACrB;AAEA,QAAM,gBAAgB,MAAM;AAC1B,cAAU,CAAC,MAAM;AACjB,UAAM,eAAe,SAAS;AAC9B,QAAI,cAAc;AAChB,mBAAa,MAAM,EAAE,eAAe,KAAK,CAAC;AAAA,IAC5C;AAAA,EACF;AAEA,SACE,6CAAC,SAAI,OAAO,EAAE,UAAU,YAAY,SAAS,OAAO,GAClD;AAAA;AAAA,MAAC;AAAA;AAAA,QACC;AAAA,QACA,KAAK;AAAA,QACL;AAAA,QACA,MAAM,SAAS,SAAS;AAAA,QACxB,cAAa;AAAA,QACb,UAAQ;AAAA,QACR,OAAO,EAAE,MAAM,EAAE;AAAA,QAChB,GAAG;AAAA;AAAA,IACN;AAAA,IACA;AAAA,MAAC;AAAA;AAAA,QACC,UAAU;AAAA,QACV,MAAK;AAAA,QACL,OAAO;AAAA,UACL,UAAU;AAAA,UACV,iBAAiB;AAAA,UACjB,QAAQ;AAAA,UACR,KAAK;AAAA,UACL,OAAO;AAAA,UACP,QAAQ;AAAA,UACR,SAAS;AAAA,UACT,YAAY;AAAA,UACZ,cAAc;AAAA,QAChB;AAAA,QACA,SAAS;AAAA,QACT,cAAY,SAAS,kBAAkB;AAAA,QAEtC,mBAAS,4CAAC,gBAAa,QAAgB,IAAK,4CAAC,aAAU,QAAgB;AAAA;AAAA,IAC1E;AAAA,KACF;AAEJ,CAAC;AAED,cAAc,cAAc;AAE5B,IAAO,yBAAQ;","names":["styled"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/components/password-reset-inner.tsx"],"sourcesContent":["'use client';\n\nimport { useState } from \"react\";\nimport { useForm } from \"react-hook-form\";\nimport { yupResolver } from \"@hookform/resolvers/yup\";\nimport * as yup from \"yup\";\nimport { getPasswordError } from \"@stackframe/stack-shared/dist/helpers/password\";\nimport { useStackApp } from \"..\";\nimport PasswordField from \"./password-field\";\nimport FormWarningText from \"./form-warning\";\nimport PredefinedMessageCard from \"./message-cards/predefined-message-card\";\nimport MessageCard from \"./message-cards/message-card\";\nimport MaybeFullPage from \"./maybe-full-page\";\nimport { Button, Label, Text } from \"../components-core\";\nimport { runAsynchronouslyWithAlert } from \"@stackframe/stack-shared/dist/utils/promises\";\n\nconst schema = yup.object().shape({\n password: yup.string().required('Please enter your password').test({\n name: 'is-valid-password',\n test: (value, ctx) => {\n const error = getPasswordError(value);\n if (error) {\n return ctx.createError({ message: error.message });\n } else {\n return true;\n }\n }\n }),\n passwordRepeat: yup.string().nullable().oneOf([yup.ref('password'), null], 'Passwords do not match').required('Please repeat your password')\n});\n\nexport default function PasswordResetInner(\n { code, fullPage = false }:\n { code: string, fullPage?: boolean }\n) {\n const { register, handleSubmit, formState: { errors }, clearErrors } = useForm({\n resolver: yupResolver(schema)\n });\n const stackApp = useStackApp();\n const [finished, setFinished] = useState(false);\n const [resetError, setResetError] = useState(false);\n\n const onSubmit = async (data: yup.InferType<typeof schema>) => {\n const { password } = data;\n const errorCode = await stackApp.resetPassword({ password, code });\n if (errorCode) {\n setResetError(true);\n return;\n }\n\n setFinished(true);\n };\n\n if (finished) {\n return <PredefinedMessageCard type='passwordReset' fullPage={fullPage} />;\n }\n\n if (resetError) {\n return (\n <MessageCard title=\"Failed to reset password\" fullPage={fullPage}>\n <Text>Failed to reset password. Please request a new password reset link</Text>\n </MessageCard>\n );\n }\n\n return (\n <MaybeFullPage fullPage={fullPage}>\n <div style={{ textAlign: 'center', marginBottom: '1.5rem' }}>\n <Text size=\"xl\" as='h2'>Reset Your Password</Text>\n </div>\n\n <form \n style={{ display: 'flex', flexDirection: 'column', alignItems: 'stretch' }} \n onSubmit={e => runAsynchronouslyWithAlert(handleSubmit(onSubmit)(e))}\n noValidate\n >\n <Label htmlFor=\"password\">New Password</Label>\n <PasswordField\n id=\"password\"\n {...register('password')}\n onChange={() => {\n clearErrors('password');\n clearErrors('passwordRepeat');\n }}\n />\n <FormWarningText text={errors.password?.message?.toString()} />\n\n <Label htmlFor=\"repeat-password\" style={{ marginTop: \"1rem\" }}>Repeat New Password</Label>\n <PasswordField\n id=\"repeat-password\"\n {...register('passwordRepeat')}\n onChange={() => {\n clearErrors('password');\n clearErrors('passwordRepeat');\n }}\n />\n <FormWarningText text={errors.passwordRepeat?.message?.toString()} />\n\n <Button style={{ marginTop: '1.5rem' }} type=\"submit\">\n Reset Password\n </Button>\n </form>\n </MaybeFullPage>\n ); \n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,mBAAyB;AACzB,6BAAwB;AACxB,iBAA4B;AAC5B,UAAqB;AACrB,sBAAiC;AACjC,eAA4B;AAC5B,4BAA0B;AAC1B,0BAA4B;AAC5B,qCAAkC;AAClC,0BAAwB;AACxB,6BAA0B;AAC1B,6BAAoC;AACpC,sBAA2C;AAwChC;AAtCX,IAAM,SAAa,WAAO,EAAE,MAAM;AAAA,EAChC,UAAc,WAAO,EAAE,SAAS,4BAA4B,EAAE,KAAK;AAAA,IACjE,MAAM;AAAA,IACN,MAAM,CAAC,OAAO,QAAQ;AACpB,YAAM,YAAQ,kCAAiB,KAAK;AACpC,UAAI,OAAO;AACT,eAAO,IAAI,YAAY,EAAE,SAAS,MAAM,QAAQ,CAAC;AAAA,MACnD,OAAO;AACL,eAAO;AAAA,MACT;AAAA,IACF;AAAA,EACF,CAAC;AAAA,EACD,gBAAoB,WAAO,EAAE,SAAS,EAAE,MAAM,CAAK,QAAI,UAAU,GAAG,IAAI,GAAG,wBAAwB,EAAE,SAAS,6BAA6B;AAC7I,CAAC;AAEc,SAAR,mBACL,EAAE,MAAM,WAAW,MAAM,GAEzB;AACA,QAAM,EAAE,UAAU,cAAc,WAAW,EAAE,OAAO,GAAG,YAAY,QAAI,gCAAQ;AAAA,IAC7E,cAAU,wBAAY,MAAM;AAAA,EAC9B,CAAC;AACD,QAAM,eAAW,sBAAY;AAC7B,QAAM,CAAC,UAAU,WAAW,QAAI,uBAAS,KAAK;AAC9C,QAAM,CAAC,YAAY,aAAa,QAAI,uBAAS,KAAK;AAElD,QAAM,WAAW,OAAO,SAAuC;AAC7D,UAAM,EAAE,SAAS,IAAI;AACrB,UAAM,YAAY,MAAM,SAAS,cAAc,EAAE,UAAU,KAAK,CAAC;AACjE,QAAI,WAAW;AACb,oBAAc,IAAI;AAClB;AAAA,IACF;AAEA,gBAAY,IAAI;AAAA,EAClB;AAEA,MAAI,UAAU;AACZ,WAAO,4CAAC,+BAAAA,SAAA,EAAsB,MAAK,iBAAgB,UAAoB;AAAA,EACzE;AAEA,MAAI,YAAY;AACd,WACE,4CAAC,oBAAAC,SAAA,EAAY,OAAM,4BAA2B,UAC5C,sDAAC,+BAAK,gFAAkE,GAC1E;AAAA,EAEJ;AAEA,SACE,6CAAC,uBAAAC,SAAA,EAAc,UACb;AAAA,gDAAC,SAAI,OAAO,EAAE,WAAW,UAAU,cAAc,SAAS,GACxD,sDAAC,+BAAK,MAAK,MAAK,IAAG,MAAK,iCAAmB,GAC7C;AAAA,IAEA;AAAA,MAAC;AAAA;AAAA,QACC,OAAO,EAAE,SAAS,QAAQ,eAAe,UAAU,YAAY,UAAU;AAAA,QACzE,UAAU,WAAK,4CAA2B,aAAa,QAAQ,EAAE,CAAC,CAAC;AAAA,QACnE,YAAU;AAAA,QAEV;AAAA,sDAAC,gCAAM,SAAQ,YAAW,0BAAY;AAAA,UACtC;AAAA,YAAC,sBAAAC;AAAA,YAAA;AAAA,cACC,IAAG;AAAA,cACF,GAAG,SAAS,UAAU;AAAA,cACvB,UAAU,MAAM;AACd,4BAAY,UAAU;AACtB,4BAAY,gBAAgB;AAAA,cAC9B;AAAA;AAAA,UACF;AAAA,UACA,4CAAC,oBAAAC,SAAA,EAAgB,MAAM,OAAO,UAAU,SAAS,SAAS,GAAG;AAAA,UAE7D,4CAAC,gCAAM,SAAQ,mBAAkB,OAAO,EAAE,WAAW,OAAO,GAAG,iCAAmB;AAAA,UAClF;AAAA,YAAC,sBAAAD;AAAA,YAAA;AAAA,cACC,IAAG;AAAA,cACF,GAAG,SAAS,gBAAgB;AAAA,cAC7B,UAAU,MAAM;AACd,4BAAY,UAAU;AACtB,4BAAY,gBAAgB;AAAA,cAC9B;AAAA;AAAA,UACF;AAAA,UACA,4CAAC,oBAAAC,SAAA,EAAgB,MAAM,OAAO,gBAAgB,SAAS,SAAS,GAAG;AAAA,UAEnE,4CAAC,iCAAO,OAAO,EAAE,WAAW,SAAS,GAAG,MAAK,UAAS,4BAEtD;AAAA;AAAA;AAAA,IACF;AAAA,KACF;AAEJ;","names":["PredefinedMessageCard","MessageCard","MaybeFullPage","PasswordField","FormWarningText"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/components/separator-with-text.tsx"],"sourcesContent":["'use client';\n\nimport { Separator, Text } from \"../components-core\";\n\nexport default function SeparatorWithText({ text }: { text: string }) {\n return (\n <div style={{ display: 'flex', alignItems: 'center', justifyContent: 'center', marginTop: '1.5rem', marginBottom: '1.5rem' }}>\n <div style={{ flex: 1 }}>\n <Separator />\n </div>\n <Text style={{ padding: '0 16px' }} variant=\"secondary\" size='sm'>{text}</Text>\n <div style={{ flex: 1 }}>\n <Separator />\n </div>\n </div>\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,6BAAgC;AAI5B;AAFW,SAAR,kBAAmC,EAAE,KAAK,GAAqB;AACpE,SACE,6CAAC,SAAI,OAAO,EAAE,SAAS,QAAQ,YAAY,UAAU,gBAAgB,UAAU,WAAW,UAAU,cAAc,SAAS,GACzH;AAAA,gDAAC,SAAI,OAAO,EAAE,MAAM,EAAE,GACpB,sDAAC,oCAAU,GACb;AAAA,IACA,4CAAC,+BAAK,OAAO,EAAE,SAAS,SAAS,GAAG,SAAQ,aAAY,MAAK,MAAM,gBAAK;AAAA,IACxE,4CAAC,SAAI,OAAO,EAAE,MAAM,EAAE,GACpB,sDAAC,oCAAU,GACb;AAAA,KACF;AAEJ;","names":[]}
|
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __create = Object.create;
|
|
3
|
-
var __defProp = Object.defineProperty;
|
|
4
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
-
var __getProtoOf = Object.getPrototypeOf;
|
|
7
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
|
-
var __export = (target, all) => {
|
|
9
|
-
for (var name in all)
|
|
10
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
|
11
|
-
};
|
|
12
|
-
var __copyProps = (to, from, except, desc) => {
|
|
13
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
14
|
-
for (let key of __getOwnPropNames(from))
|
|
15
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
16
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
17
|
-
}
|
|
18
|
-
return to;
|
|
19
|
-
};
|
|
20
|
-
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
21
|
-
// If the importer is in node compatibility mode or this is not an ESM
|
|
22
|
-
// file that has been converted to a CommonJS file using a Babel-
|
|
23
|
-
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
24
|
-
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
25
|
-
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
26
|
-
mod
|
|
27
|
-
));
|
|
28
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
29
|
-
|
|
30
|
-
// src/components/user-avatar.tsx
|
|
31
|
-
var user_avatar_exports = {};
|
|
32
|
-
__export(user_avatar_exports, {
|
|
33
|
-
default: () => UserAvatar
|
|
34
|
-
});
|
|
35
|
-
module.exports = __toCommonJS(user_avatar_exports);
|
|
36
|
-
var import_lucide_react = require("lucide-react");
|
|
37
|
-
var import__ = require("..");
|
|
38
|
-
var import_styled_components = __toESM(require("styled-components"));
|
|
39
|
-
var import_jsx_runtime = require("react/jsx-runtime");
|
|
40
|
-
var StyledIcon = (0, import_styled_components.default)(import_lucide_react.UserRound)`
|
|
41
|
-
height: 1.25rem;
|
|
42
|
-
width: 1.25rem;
|
|
43
|
-
color: #666666;
|
|
44
|
-
|
|
45
|
-
html[data-stack-theme='dark'] & {
|
|
46
|
-
color: #999999;
|
|
47
|
-
}
|
|
48
|
-
`;
|
|
49
|
-
function UserAvatar(props) {
|
|
50
|
-
const user = props.user;
|
|
51
|
-
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import__.Avatar, { style: { height: props.size, width: props.size }, children: [
|
|
52
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import__.AvatarImage, { src: user?.profileImageUrl || "" }),
|
|
53
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import__.AvatarFallback, { children: user ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import__.Text, { style: { fontWeight: 500 }, children: (user.displayName || user.primaryEmail)?.slice(0, 2).toUpperCase() }) : /* @__PURE__ */ (0, import_jsx_runtime.jsx)(StyledIcon, { size: props.size }) })
|
|
54
|
-
] });
|
|
55
|
-
}
|
|
56
|
-
//# sourceMappingURL=user-avatar.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/components/user-avatar.tsx"],"sourcesContent":["import { UserRound } from \"lucide-react\";\nimport { Avatar, AvatarFallback, AvatarImage, Text } from \"..\";\nimport { User } from \"../lib/stack-app\";\nimport styled from \"styled-components\";\n\nconst StyledIcon = styled(UserRound)`\n height: 1.25rem;\n width: 1.25rem;\n color: #666666;\n\n html[data-stack-theme='dark'] & {\n color: #999999;\n }\n`;\n\nexport default function UserAvatar(props: { size?: number, user: User | null }) {\n const user = props.user;\n return (\n <Avatar style={{ height: props.size, width: props.size }}>\n <AvatarImage src={user?.profileImageUrl || ''} />\n <AvatarFallback>\n {user ? \n <Text style={{ fontWeight: 500 }}>\n {(user.displayName || user.primaryEmail)?.slice(0, 2).toUpperCase()}\n </Text> :\n <StyledIcon size={props.size} />}\n </AvatarFallback>\n </Avatar>\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,0BAA0B;AAC1B,eAA0D;AAE1D,+BAAmB;AAef;AAbJ,IAAM,iBAAa,yBAAAA,SAAO,6BAAS;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAUpB,SAAR,WAA4B,OAA6C;AAC9E,QAAM,OAAO,MAAM;AACnB,SACE,6CAAC,mBAAO,OAAO,EAAE,QAAQ,MAAM,MAAM,OAAO,MAAM,KAAK,GACrD;AAAA,gDAAC,wBAAY,KAAK,MAAM,mBAAmB,IAAI;AAAA,IAC/C,4CAAC,2BACE,iBACC,4CAAC,iBAAK,OAAO,EAAE,YAAY,IAAI,GAC3B,gBAAK,eAAe,KAAK,eAAe,MAAM,GAAG,CAAC,EAAE,YAAY,GACpE,IACA,4CAAC,cAAW,MAAM,MAAM,MAAM,GAClC;AAAA,KACF;AAEJ;","names":["styled"]}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import * as React from 'react';
|
|
2
|
-
import * as _radix_ui_react_avatar from '@radix-ui/react-avatar';
|
|
3
|
-
|
|
4
|
-
declare const Avatar: React.ForwardRefExoticComponent<Omit<_radix_ui_react_avatar.AvatarProps & React.RefAttributes<HTMLSpanElement>, "ref"> & React.RefAttributes<HTMLSpanElement>>;
|
|
5
|
-
declare const AvatarImage: React.ForwardRefExoticComponent<Omit<_radix_ui_react_avatar.AvatarImageProps & React.RefAttributes<HTMLImageElement>, "ref"> & React.RefAttributes<HTMLImageElement>>;
|
|
6
|
-
declare const AvatarFallback: React.ForwardRefExoticComponent<Omit<_radix_ui_react_avatar.AvatarFallbackProps & React.RefAttributes<HTMLSpanElement>, "ref"> & React.RefAttributes<HTMLSpanElement>>;
|
|
7
|
-
|
|
8
|
-
export { Avatar, AvatarFallback, AvatarImage };
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import * as React from 'react';
|
|
2
|
-
import * as _radix_ui_react_avatar from '@radix-ui/react-avatar';
|
|
3
|
-
|
|
4
|
-
declare const Avatar: React.ForwardRefExoticComponent<Omit<_radix_ui_react_avatar.AvatarProps & React.RefAttributes<HTMLSpanElement>, "ref"> & React.RefAttributes<HTMLSpanElement>>;
|
|
5
|
-
declare const AvatarImage: React.ForwardRefExoticComponent<Omit<_radix_ui_react_avatar.AvatarImageProps & React.RefAttributes<HTMLImageElement>, "ref"> & React.RefAttributes<HTMLImageElement>>;
|
|
6
|
-
declare const AvatarFallback: React.ForwardRefExoticComponent<Omit<_radix_ui_react_avatar.AvatarFallbackProps & React.RefAttributes<HTMLSpanElement>, "ref"> & React.RefAttributes<HTMLSpanElement>>;
|
|
7
|
-
|
|
8
|
-
export { Avatar, AvatarFallback, AvatarImage };
|
|
@@ -1,94 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __create = Object.create;
|
|
3
|
-
var __defProp = Object.defineProperty;
|
|
4
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
-
var __getProtoOf = Object.getPrototypeOf;
|
|
7
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
|
-
var __export = (target, all) => {
|
|
9
|
-
for (var name in all)
|
|
10
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
|
11
|
-
};
|
|
12
|
-
var __copyProps = (to, from, except, desc) => {
|
|
13
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
14
|
-
for (let key of __getOwnPropNames(from))
|
|
15
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
16
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
17
|
-
}
|
|
18
|
-
return to;
|
|
19
|
-
};
|
|
20
|
-
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
21
|
-
// If the importer is in node compatibility mode or this is not an ESM
|
|
22
|
-
// file that has been converted to a CommonJS file using a Babel-
|
|
23
|
-
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
24
|
-
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
25
|
-
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
26
|
-
mod
|
|
27
|
-
));
|
|
28
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
29
|
-
|
|
30
|
-
// src/components-core/avatar.tsx
|
|
31
|
-
var avatar_exports = {};
|
|
32
|
-
__export(avatar_exports, {
|
|
33
|
-
Avatar: () => Avatar,
|
|
34
|
-
AvatarFallback: () => AvatarFallback,
|
|
35
|
-
AvatarImage: () => AvatarImage
|
|
36
|
-
});
|
|
37
|
-
module.exports = __toCommonJS(avatar_exports);
|
|
38
|
-
var React = __toESM(require("react"));
|
|
39
|
-
var AvatarPrimitive = __toESM(require("@radix-ui/react-avatar"));
|
|
40
|
-
var import_styled_components = __toESM(require("styled-components"));
|
|
41
|
-
var import__ = require("..");
|
|
42
|
-
var import_jsx_runtime = require("react/jsx-runtime");
|
|
43
|
-
var StyledAvatar = (0, import_styled_components.default)(AvatarPrimitive.Root)`
|
|
44
|
-
position: relative;
|
|
45
|
-
display: flex;
|
|
46
|
-
height: 2rem;
|
|
47
|
-
width: 2rem;
|
|
48
|
-
flex-shrink: 0;
|
|
49
|
-
overflow: hidden;
|
|
50
|
-
border-radius: 9999px;
|
|
51
|
-
`;
|
|
52
|
-
var Avatar = React.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(StyledAvatar, { ref, className, ...props }));
|
|
53
|
-
Avatar.displayName = "Avatar";
|
|
54
|
-
var StyledAvatarImage = (0, import_styled_components.default)(AvatarPrimitive.Image)`
|
|
55
|
-
aspect-ratio: 1 / 1;
|
|
56
|
-
height: 100%;
|
|
57
|
-
width: 100%;
|
|
58
|
-
`;
|
|
59
|
-
var AvatarImage = React.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(StyledAvatarImage, { ref, className, ...props }));
|
|
60
|
-
AvatarImage.displayName = "AvatarImage";
|
|
61
|
-
var StyledAvatarFallback = (0, import_styled_components.default)(AvatarPrimitive.Fallback)`
|
|
62
|
-
display: flex;
|
|
63
|
-
height: 100%;
|
|
64
|
-
width: 100%;
|
|
65
|
-
align-items: center;
|
|
66
|
-
justify-content: center;
|
|
67
|
-
border-radius: 9999px;
|
|
68
|
-
|
|
69
|
-
background-color: ${({ $colors }) => $colors.light.secondaryColor};
|
|
70
|
-
|
|
71
|
-
html[data-stack-theme='dark'] & {
|
|
72
|
-
background-color: ${({ $colors }) => $colors.dark.secondaryColor};
|
|
73
|
-
}
|
|
74
|
-
`;
|
|
75
|
-
var AvatarFallback = React.forwardRef(({ className, ...props }, ref) => {
|
|
76
|
-
const { colors } = (0, import__.useDesign)();
|
|
77
|
-
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
78
|
-
StyledAvatarFallback,
|
|
79
|
-
{
|
|
80
|
-
ref,
|
|
81
|
-
className,
|
|
82
|
-
$colors: colors,
|
|
83
|
-
...props
|
|
84
|
-
}
|
|
85
|
-
);
|
|
86
|
-
});
|
|
87
|
-
AvatarFallback.displayName = "AvatarFallback";
|
|
88
|
-
// Annotate the CommonJS export names for ESM import in node:
|
|
89
|
-
0 && (module.exports = {
|
|
90
|
-
Avatar,
|
|
91
|
-
AvatarFallback,
|
|
92
|
-
AvatarImage
|
|
93
|
-
});
|
|
94
|
-
//# sourceMappingURL=avatar.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/components-core/avatar.tsx"],"sourcesContent":["import * as React from 'react';\nimport * as AvatarPrimitive from '@radix-ui/react-avatar';\nimport styled from 'styled-components';\nimport { useDesign } from '..';\nimport { ColorPalette } from '../providers/design-provider';\n\nconst StyledAvatar = styled(AvatarPrimitive.Root)`\n position: relative;\n display: flex;\n height: 2rem;\n width: 2rem;\n flex-shrink: 0;\n overflow: hidden;\n border-radius: 9999px;\n`;\n\nconst Avatar = React.forwardRef<\n React.ElementRef<typeof AvatarPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof AvatarPrimitive.Root>\n>(({ className, ...props }, ref) => (\n <StyledAvatar ref={ref} className={className} {...props} />\n));\nAvatar.displayName = 'Avatar';\n\nconst StyledAvatarImage = styled(AvatarPrimitive.Image)`\n aspect-ratio: 1 / 1;\n height: 100%;\n width: 100%;\n`;\n\nconst AvatarImage = React.forwardRef<\n React.ElementRef<typeof AvatarPrimitive.Image>,\n React.ComponentPropsWithoutRef<typeof AvatarPrimitive.Image>\n>(({ className, ...props }, ref) => (\n <StyledAvatarImage ref={ref} className={className} {...props} />\n));\nAvatarImage.displayName = 'AvatarImage';\n\nconst StyledAvatarFallback = styled(AvatarPrimitive.Fallback)<{\n $colors: ColorPalette,\n}>`\n display: flex;\n height: 100%;\n width: 100%;\n align-items: center;\n justify-content: center;\n border-radius: 9999px;\n \n background-color: ${({ $colors }) => $colors.light.secondaryColor};\n\n html[data-stack-theme='dark'] & {\n background-color: ${({ $colors }) => $colors.dark.secondaryColor};\n }\n`;\n\nconst AvatarFallback = React.forwardRef<\n React.ElementRef<typeof AvatarPrimitive.Fallback>,\n React.ComponentPropsWithoutRef<typeof AvatarPrimitive.Fallback>\n>(({ className, ...props }, ref) => {\n const { colors } = useDesign();\n return <StyledAvatarFallback \n ref={ref} \n className={className} \n $colors={colors}\n {...props} \n />;\n});\nAvatarFallback.displayName = 'AvatarFallback';\n\nexport { Avatar, AvatarImage, AvatarFallback };\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,YAAuB;AACvB,sBAAiC;AACjC,+BAAmB;AACnB,eAA0B;AAiBxB;AAdF,IAAM,mBAAe,yBAAAA,SAAuB,oBAAI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAUhD,IAAM,SAAe,iBAGnB,CAAC,EAAE,WAAW,GAAG,MAAM,GAAG,QAC1B,4CAAC,gBAAa,KAAU,WAAuB,GAAG,OAAO,CAC1D;AACD,OAAO,cAAc;AAErB,IAAM,wBAAoB,yBAAAA,SAAuB,qBAAK;AAAA;AAAA;AAAA;AAAA;AAMtD,IAAM,cAAoB,iBAGxB,CAAC,EAAE,WAAW,GAAG,MAAM,GAAG,QAC1B,4CAAC,qBAAkB,KAAU,WAAuB,GAAG,OAAO,CAC/D;AACD,YAAY,cAAc;AAE1B,IAAM,2BAAuB,yBAAAA,SAAuB,wBAAQ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,sBAUtC,CAAC,EAAE,QAAQ,MAAM,QAAQ,MAAM,cAAc;AAAA;AAAA;AAAA,wBAG3C,CAAC,EAAE,QAAQ,MAAM,QAAQ,KAAK,cAAc;AAAA;AAAA;AAIpE,IAAM,iBAAuB,iBAG3B,CAAC,EAAE,WAAW,GAAG,MAAM,GAAG,QAAQ;AAClC,QAAM,EAAE,OAAO,QAAI,oBAAU;AAC7B,SAAO;AAAA,IAAC;AAAA;AAAA,MACN;AAAA,MACA;AAAA,MACA,SAAS;AAAA,MACR,GAAG;AAAA;AAAA,EACN;AACF,CAAC;AACD,eAAe,cAAc;","names":["styled"]}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import React__default from 'react';
|
|
2
|
-
|
|
3
|
-
type ButtonProps = {
|
|
4
|
-
variant?: 'primary' | 'secondary' | 'warning';
|
|
5
|
-
color?: string;
|
|
6
|
-
size?: 'sm' | 'md' | 'lg';
|
|
7
|
-
type?: 'button' | 'submit' | 'reset';
|
|
8
|
-
loading?: boolean;
|
|
9
|
-
onClick?: (() => void) | (() => Promise<void>);
|
|
10
|
-
} & Omit<React__default.HTMLProps<HTMLButtonElement>, 'size' | 'type' | 'onClick'>;
|
|
11
|
-
declare const Button: React__default.ForwardRefExoticComponent<Omit<ButtonProps, "ref"> & React__default.RefAttributes<HTMLButtonElement>>;
|
|
12
|
-
|
|
13
|
-
export { Button, type ButtonProps };
|