@wasp.sh/wasp-cli-darwin-arm64-unknown 0.17.2 → 0.18.2

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.

Potentially problematic release.


This version of @wasp.sh/wasp-cli-darwin-arm64-unknown might be problematic. Click here for more details.

Files changed (38) hide show
  1. package/data/Cli/starters/basic/eslint.config.js +9 -0
  2. package/data/Cli/starters/basic/package.json +1 -1
  3. package/data/Cli/starters/basic/{postcss.config.cjs → postcss.config.js} +1 -1
  4. package/data/Cli/starters/basic/{tailwind.config.cjs → tailwind.config.js} +1 -1
  5. package/data/Cli/starters/minimal/package.json +1 -1
  6. package/data/Generator/templates/Dockerfile +3 -1
  7. package/data/Generator/templates/react-app/package.json +2 -1
  8. package/data/Generator/templates/react-app/tsconfig.app.json +9 -1
  9. package/data/Generator/templates/react-app/vite.config.ts +1 -1
  10. package/data/Generator/templates/sdk/wasp/auth/email/actions/signup.ts +1 -1
  11. package/data/Generator/templates/sdk/wasp/auth/forms/Auth.module.css +16 -0
  12. package/data/Generator/templates/sdk/wasp/auth/forms/Auth.tsx +12 -26
  13. package/data/Generator/templates/sdk/wasp/auth/forms/internal/Form.module.css +99 -0
  14. package/data/Generator/templates/sdk/wasp/auth/forms/internal/Form.tsx +62 -95
  15. package/data/Generator/templates/sdk/wasp/auth/forms/internal/Message.module.css +22 -0
  16. package/data/Generator/templates/sdk/wasp/auth/forms/internal/Message.tsx +28 -15
  17. package/data/Generator/templates/sdk/wasp/auth/forms/internal/auth-styles.css +30 -0
  18. package/data/Generator/templates/sdk/wasp/auth/forms/internal/common/LoginSignupForm.module.css +55 -0
  19. package/data/Generator/templates/sdk/wasp/auth/forms/internal/common/LoginSignupForm.tsx +16 -81
  20. package/data/Generator/templates/sdk/wasp/auth/forms/internal/social/SocialButton.module.css +33 -0
  21. package/data/Generator/templates/sdk/wasp/auth/forms/internal/social/SocialButton.tsx +12 -31
  22. package/data/Generator/templates/sdk/wasp/auth/forms/internal/social/SocialIcons.module.css +4 -0
  23. package/data/Generator/templates/sdk/wasp/auth/forms/internal/social/SocialIcons.tsx +7 -11
  24. package/data/Generator/templates/sdk/wasp/auth/forms/internal/util.ts +16 -0
  25. package/data/Generator/templates/sdk/wasp/auth/forms/types.ts +27 -2
  26. package/data/Generator/templates/sdk/wasp/client/config.ts +3 -2
  27. package/data/Generator/templates/sdk/wasp/client/env/schema.ts +2 -2
  28. package/data/Generator/templates/sdk/wasp/core/serialization/index.ts +2 -2
  29. package/data/Generator/templates/sdk/wasp/package.json +26 -26
  30. package/data/Generator/templates/sdk/wasp/scripts/copy-assets.js +14 -0
  31. package/data/Generator/templates/sdk/wasp/server/config.ts +3 -3
  32. package/data/Generator/templates/sdk/wasp/server/env.ts +11 -11
  33. package/data/Generator/templates/sdk/wasp/tsconfig.json +11 -23
  34. package/package.json +1 -1
  35. package/wasp-bin +0 -0
  36. package/data/Cli/bash-completion +0 -5
  37. package/data/Generator/templates/react-app/src/stitches.config.js +0 -33
  38. package/data/Generator/templates/sdk/wasp/core/stitches.config.ts +0 -39
@@ -12,4 +12,13 @@ export default defineConfig([
12
12
  eslintReact.configs.flat.recommended,
13
13
  eslintReact.configs.flat['jsx-runtime'],
14
14
  eslintPrettier,
15
+ // Overrides:
16
+ {
17
+ // `@typescript-eslint/no-require-imports` is enabled by default in `typescript-eslint/recommended` config.
18
+ // This allows us to use `require` syntax in CJS files.
19
+ files: ["**/*.{cjs,cts}"],
20
+ rules: {
21
+ "@typescript-eslint/no-require-imports": ["off"]
22
+ }
23
+ }
15
24
  ]);
@@ -22,6 +22,6 @@
22
22
  "tailwindcss": "^3.4.17",
23
23
  "typescript": "5.8.2",
24
24
  "typescript-eslint": "^8.32.1",
25
- "vite": "^4.3.9"
25
+ "vite": "^7.0.6"
26
26
  }
27
27
  }
@@ -1,4 +1,4 @@
1
- module.exports = {
1
+ export default {
2
2
  plugins: {
3
3
  tailwindcss: {},
4
4
  autoprefixer: {},
@@ -1,7 +1,7 @@
1
1
  import { resolveProjectPath } from "wasp/dev";
2
2
 
3
3
  /** @type {import('tailwindcss').Config} */
4
- module.exports = {
4
+ export default {
5
5
  content: [resolveProjectPath("./src/**/*.{js,jsx,ts,tsx}")],
6
6
  theme: {
7
7
  extend: {
@@ -11,6 +11,6 @@
11
11
  "@types/react": "^18.0.37",
12
12
  "prisma": "5.19.1",
13
13
  "typescript": "5.8.2",
14
- "vite": "^4.3.9"
14
+ "vite": "^7.0.6"
15
15
  }
16
16
  }
@@ -3,7 +3,9 @@
3
3
  # Because if not, we had situations where it would use the different version
4
4
  # locally and on Github CI. This way we ensure exact version is used,
5
5
  # and also have control over updating it (instead of update surprising us).
6
- FROM node:{= nodeVersion =}-alpine3.17 AS node
6
+ {=! TODO: Upgrade this to the latest Alpine version once we update Prisma #2504 =}
7
+ {=! (Alpine 3.21 at time of writing) =}
8
+ FROM node:{= nodeVersion =}-alpine3.20 AS node
7
9
 
8
10
 
9
11
  # We split Dockerfile into base, server-builder and server-production.
@@ -9,7 +9,8 @@
9
9
  {=& overridesChunk =},
10
10
  "scripts": {
11
11
  "start": "vite",
12
- "build": "tsc --build && vite build"
12
+ "build": "tsc --build && vite build",
13
+ "preview": "vite preview"
13
14
  },
14
15
  "engineStrict": true,
15
16
  "engines": {
@@ -5,11 +5,19 @@
5
5
  // Temporary loosen the type checking until we can address all the errors.
6
6
  "jsx": "preserve",
7
7
  "allowJs": true,
8
- "strict": false,
9
8
  "skipLibCheck": true,
10
9
  // Allow importing pages with the .tsx extension.
11
10
  "allowImportingTsExtensions": true,
12
11
  "noEmit": true,
12
+ // Overriding Vite 7 linting-focused options to be less strict since we
13
+ // don't want to block web-app builds on linting errors.
14
+ // We'll tackle it when we do: https://github.com/wasp-lang/wasp/issues/2777
15
+ "strict": false,
16
+ "noUnusedLocals": false,
17
+ "noUnusedParameters": false,
18
+ "erasableSyntaxOnly": false,
19
+ "noFallthroughCasesInSwitch": false,
20
+ "noUncheckedSideEffectImports": false
13
21
  },
14
22
  "include": [
15
23
  "src"
@@ -45,7 +45,7 @@ const defaultViteConfig = {
45
45
  {
46
46
  // Vite doesn't look for `.prisma/client` imports in the `node_modules`
47
47
  // folder. We point it to the correct place here.
48
- // TODO: Check if we can remove when updating Vite (#2867) and Prisma (#2504)
48
+ // TODO: Check if we can remove when updating Prisma (#2504)
49
49
  find: /^\.prisma\/(.+)$/,
50
50
  replacement: path.join(
51
51
  "{= projectDir =}",
@@ -5,7 +5,7 @@ import { type UserEmailSignupFields } from '../../providers'
5
5
  {=/ emailUserSignupFields.isDefined =}
6
6
 
7
7
  type EmailSignupData = {
8
- username: string
8
+ email: string
9
9
  password: string
10
10
  }{=# emailUserSignupFields.isDefined =} & UserEmailSignupFields{=/ emailUserSignupFields.isDefined =}
11
11
 
@@ -0,0 +1,16 @@
1
+ /*
2
+ Using !important with some of the components is a workaround for Tailwind
3
+ CSS's having too much precedence.
4
+ https://github.com/wasp-lang/wasp/issues/1764
5
+ */
6
+
7
+ .container {
8
+ display: flex;
9
+ flex-direction: column;
10
+ }
11
+
12
+ .headerText {
13
+ font-size: 1.875rem !important;
14
+ font-weight: 700 !important;
15
+ margin-top: 1.5rem !important;
16
+ }
@@ -1,7 +1,9 @@
1
1
  {{={= =}=}}
2
- import { useState, createContext } from 'react'
3
- import { createTheme } from '@stitches/react'
4
- import { styled } from 'wasp/core/stitches.config'
2
+ import { useState, createContext, useMemo } from 'react'
3
+ import styles from './Auth.module.css'
4
+ import './internal/auth-styles.css'
5
+ import { tokenObjToCSSVars } from "./internal/util"
6
+ import { CSSProperties } from "react"
5
7
 
6
8
  import {
7
9
  type State,
@@ -21,22 +23,6 @@ const logoStyle = {
21
23
  height: '3rem'
22
24
  }
23
25
 
24
- const Container = styled('div', {
25
- display: 'flex',
26
- flexDirection: 'column',
27
- })
28
-
29
- // Note about using !important with some of the components:
30
- // This is a workaround for CSS generated by Stitches not being specific enough
31
- // and thus being overridden by Tailwind CSS. https://github.com/wasp-lang/wasp/issues/1764
32
- // Long term we want to move away from Stitches and this is an acceptable workaround for now.
33
-
34
- const HeaderText = styled('h2', {
35
- fontSize: '1.875rem !important',
36
- fontWeight: '700 !important',
37
- marginTop: '1.5rem !important'
38
- })
39
-
40
26
 
41
27
  // PRIVATE API
42
28
  export const AuthContext = createContext({
@@ -55,10 +41,10 @@ function Auth ({ state, appearance, logo, socialLayout = 'horizontal', additiona
55
41
  const [successMessage, setSuccessMessage] = useState<string | null>(null);
56
42
  const [isLoading, setIsLoading] = useState(false);
57
43
 
58
- // TODO(matija): this is called on every render, is it a problem?
59
- // If we do it in useEffect(), then there is a glitch between the default color and the
60
- // user provided one.
61
- const customTheme = createTheme(appearance ?? {})
44
+ const customStyle = useMemo(() => ({
45
+ ...tokenObjToCSSVars('color', appearance?.colors ?? {}),
46
+ ...tokenObjToCSSVars('font-size', appearance?.fontSizes ?? {}),
47
+ }), [appearance])
62
48
 
63
49
  const titles: Record<State, string> = {
64
50
  login: 'Log in to your account',
@@ -74,10 +60,10 @@ function Auth ({ state, appearance, logo, socialLayout = 'horizontal', additiona
74
60
  const socialButtonsDirection = socialLayout === 'vertical' ? 'vertical' : 'horizontal'
75
61
 
76
62
  return (
77
- <Container className={customTheme}>
63
+ <div className={styles.container} style={customStyle}>
78
64
  <div>
79
65
  {logo && (<img style={logoStyle} src={logo} alt='Your Company' />)}
80
- <HeaderText>{title}</HeaderText>
66
+ <h2 className={styles.headerText}>{title}</h2>
81
67
  </div>
82
68
 
83
69
  {errorMessage && (
@@ -100,7 +86,7 @@ function Auth ({ state, appearance, logo, socialLayout = 'horizontal', additiona
100
86
  {state === 'verify-email' && (<VerifyEmailForm />)}
101
87
  {=/ isEmailAuthEnabled =}
102
88
  </AuthContext.Provider>
103
- </Container>
89
+ </div>
104
90
  )
105
91
  }
106
92
 
@@ -0,0 +1,99 @@
1
+ /*
2
+ Using !important with some of the components is a workaround for Tailwind
3
+ CSS's having too much precedence.
4
+ https://github.com/wasp-lang/wasp/issues/1764
5
+ */
6
+
7
+ .form {
8
+ margin-top: 1.5rem;
9
+ }
10
+
11
+ .formItemGroup {
12
+ /* Empty class to use as marker */
13
+ }
14
+
15
+ .formItemGroup + .formItemGroup {
16
+ margin-top: 1.5rem;
17
+ }
18
+
19
+ .formLabel {
20
+ display: block !important;
21
+ font-size: var(--font-size-sm) !important;
22
+ font-weight: 500 !important;
23
+ margin-bottom: 0.5rem !important;
24
+ }
25
+
26
+ .formInput,
27
+ .formTextarea {
28
+ display: block !important;
29
+ line-height: 1.5rem !important;
30
+ font-size: var(--font-size-sm) !important;
31
+ border-width: 1px !important;
32
+ border-color: var(--color-gray600) !important;
33
+ background-color: #f8f4ff !important;
34
+ box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05) !important;
35
+ border-radius: 0.375rem !important;
36
+ width: 100% !important;
37
+ padding-top: 0.375rem !important;
38
+ padding-bottom: 0.375rem !important;
39
+ padding-left: 0.75rem !important;
40
+ padding-right: 0.75rem !important;
41
+ margin: 0 !important;
42
+ }
43
+
44
+ .formInput:focus,
45
+ .formTextarea:focus {
46
+ border-width: 1px !important;
47
+ border-color: var(--color-gray700) !important;
48
+ box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05) !important;
49
+ outline: none;
50
+ }
51
+
52
+ .formInput:disabled,
53
+ .formTextarea:disabled {
54
+ opacity: 0.5 !important;
55
+ cursor: not-allowed !important;
56
+ background-color: var(--color-gray400) !important;
57
+ border-color: var(--color-gray400) !important;
58
+ color: var(--color-gray500) !important;
59
+ }
60
+
61
+ .formError {
62
+ display: block;
63
+ font-size: var(--font-size-sm);
64
+ font-weight: 500;
65
+ color: var(--color-formErrorText);
66
+ margin-top: 0.5rem;
67
+ }
68
+
69
+ .submitButton {
70
+ display: flex !important;
71
+ justify-content: center !important;
72
+ width: 100% !important;
73
+ border-width: 1px !important;
74
+ border-color: var(--color-brand) !important;
75
+ background-color: var(--color-brand) !important;
76
+ color: var(--color-submitButtonText) !important;
77
+ padding: 0.5rem 0.75rem !important;
78
+ box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05) !important;
79
+ font-weight: 600 !important;
80
+ font-size: var(--font-size-sm) !important;
81
+ line-height: 1.25rem !important;
82
+ border-radius: 0.375rem !important;
83
+ transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1) !important;
84
+ transition-duration: 100ms !important;
85
+ cursor: pointer;
86
+ }
87
+
88
+ .submitButton:hover {
89
+ background-color: var(--color-brandAccent) !important;
90
+ border-color: var(--color-brandAccent) !important;
91
+ }
92
+
93
+ .submitButton:disabled {
94
+ opacity: 0.5 !important;
95
+ cursor: not-allowed !important;
96
+ background-color: var(--color-gray400) !important;
97
+ border-color: var(--color-gray400) !important;
98
+ color: var(--color-gray500) !important;
99
+ }
@@ -1,107 +1,74 @@
1
- import { styled } from 'wasp/core/stitches.config'
2
-
3
- // Note about using !important with some of the components:
4
- // This is a workaround for CSS generated by Stitches not being specific enough
5
- // and thus being overridden by Tailwind CSS. https://github.com/wasp-lang/wasp/issues/1764
6
- // Long term we want to move away from Stitches and this is an acceptable workaround for now.
1
+ import { ComponentPropsWithoutRef, ComponentRef, forwardRef } from "react";
2
+ import styles from "./Form.module.css";
3
+ import "./auth-styles.css";
4
+ import { clsx } from "./util";
7
5
 
8
6
  // PRIVATE API
9
- export const Form = styled('form', {
10
- marginTop: '1.5rem',
11
- })
7
+ export const Form = forwardRef<
8
+ ComponentRef<"form">,
9
+ ComponentPropsWithoutRef<"form">
10
+ >(({ children, className, ...props }, ref) => (
11
+ <form className={clsx(styles.form, className)} {...props} ref={ref}>
12
+ {children}
13
+ </form>
14
+ ));
12
15
 
13
16
  // PUBLIC API
14
- export const FormItemGroup = styled('div', {
15
- '& + div': {
16
- marginTop: '1.5rem',
17
- },
18
- })
17
+ export const FormItemGroup = forwardRef<
18
+ ComponentRef<"div">,
19
+ ComponentPropsWithoutRef<"div">
20
+ >(({ children, className, ...props }, ref) => (
21
+ <div className={clsx(styles.formItemGroup, className)} {...props} ref={ref}>
22
+ {children}
23
+ </div>
24
+ ));
19
25
 
20
26
  // PUBLIC API
21
- export const FormLabel = styled('label', {
22
- display: 'block !important',
23
- fontSize: '$sm !important',
24
- fontWeight: '500 !important',
25
- marginBottom: '0.5rem !important',
26
- })
27
-
28
- const commonInputStyles = {
29
- display: 'block !important',
30
- lineHeight: '1.5rem !important',
31
- fontSize: '$sm !important',
32
- borderWidth: '1px !important',
33
- borderColor: '$gray600 !important',
34
- backgroundColor: '#f8f4ff !important',
35
- boxShadow: '0 1px 2px 0 rgba(0, 0, 0, 0.05) !important',
36
- '&:focus': {
37
- borderWidth: '1px !important',
38
- borderColor: '$gray700 !important',
39
- boxShadow: '0 1px 2px 0 rgba(0, 0, 0, 0.05) !important',
40
- },
41
- '&:disabled': {
42
- opacity: '0.5 !important',
43
- cursor: 'not-allowed !important',
44
- backgroundColor: '$gray400 !important',
45
- borderColor: '$gray400 !important',
46
- color: '$gray500 !important',
47
- },
48
-
49
- borderRadius: '0.375rem !important',
50
- width: '100% !important',
51
-
52
- paddingTop: '0.375rem !important',
53
- paddingBottom: '0.375rem !important',
54
- paddingLeft: '0.75rem !important',
55
- paddingRight: '0.75rem !important',
56
- margin: '0 !important',
57
- }
27
+ export const FormLabel = forwardRef<
28
+ ComponentRef<"label">,
29
+ ComponentPropsWithoutRef<"label">
30
+ >(({ children, className, ...props }, ref) => (
31
+ <label className={clsx(styles.formLabel, className)} {...props} ref={ref}>
32
+ {children}
33
+ </label>
34
+ ));
58
35
 
59
36
  // PUBLIC API
60
- export const FormInput = styled('input', commonInputStyles)
37
+ export const FormInput = forwardRef<
38
+ ComponentRef<"input">,
39
+ ComponentPropsWithoutRef<"input">
40
+ >(({ className, ...props }, ref) => (
41
+ <input className={clsx(styles.formInput, className)} {...props} ref={ref} />
42
+ ));
61
43
 
62
- // PUBLIC API
63
- export const FormTextarea = styled('textarea', commonInputStyles)
44
+ // PUBLIC API)
45
+ export const FormTextarea = forwardRef<
46
+ ComponentRef<"textarea">,
47
+ ComponentPropsWithoutRef<"textarea">
48
+ >(({ className, ...props }, ref) => (
49
+ <textarea
50
+ className={clsx(styles.formTextarea, className)}
51
+ {...props}
52
+ ref={ref}
53
+ />
54
+ ));
64
55
 
65
- // PUBLIC API
66
- export const FormError = styled('div', {
67
- display: 'block',
68
- fontSize: '$sm',
69
- fontWeight: '500',
70
- color: '$formErrorText',
71
- marginTop: '0.5rem',
72
- })
56
+ // PUBLIC API)
57
+ export const FormError = forwardRef<
58
+ ComponentRef<"div">,
59
+ ComponentPropsWithoutRef<"div">
60
+ >(({ children, className, ...props }, ref) => (
61
+ <div className={clsx(styles.formError, className)} {...props} ref={ref}>
62
+ {children}
63
+ </div>
64
+ ));
73
65
 
74
66
  // PRIVATE API
75
- export const SubmitButton = styled('button', {
76
- display: 'flex !important',
77
- justifyContent: 'center !important',
78
-
79
- width: '100% !important',
80
- borderWidth: '1px !important',
81
- borderColor: '$brand !important',
82
- backgroundColor: '$brand !important',
83
- color: '$submitButtonText !important',
84
-
85
- padding: '0.5rem 0.75rem !important',
86
- boxShadow: '0 1px 2px 0 rgba(0, 0, 0, 0.05) !important',
87
-
88
- fontWeight: '600 !important',
89
- fontSize: '$sm !important',
90
- lineHeight: '1.25rem !important',
91
- borderRadius: '0.375rem !important',
92
-
93
- // TODO(matija): extract this into separate BaseButton component and then inherit it.
94
- '&:hover': {
95
- backgroundColor: '$brandAccent !important',
96
- borderColor: '$brandAccent !important',
97
- },
98
- '&:disabled': {
99
- opacity: '0.5 !important',
100
- cursor: 'not-allowed !important',
101
- backgroundColor: '$gray400 !important',
102
- borderColor: '$gray400 !important',
103
- color: '$gray500 !important',
104
- },
105
- transitionTimingFunction: 'cubic-bezier(0.4, 0, 0.2, 1) !important',
106
- transitionDuration: '100ms !important',
107
- })
67
+ export const SubmitButton = forwardRef<
68
+ ComponentRef<"button">,
69
+ ComponentPropsWithoutRef<"button">
70
+ >(({ children, className, ...props }, ref) => (
71
+ <button className={clsx(styles.submitButton, className)} {...props} ref={ref}>
72
+ {children}
73
+ </button>
74
+ ));
@@ -0,0 +1,22 @@
1
+ .message {
2
+ padding: 0.5rem 0.75rem;
3
+ border-radius: 0.375rem;
4
+ margin-top: 1rem;
5
+ background: var(--color-gray400);
6
+ }
7
+
8
+ .messageError {
9
+ padding: 0.5rem 0.75rem;
10
+ border-radius: 0.375rem;
11
+ margin-top: 1rem;
12
+ background: var(--color-errorBackground);
13
+ color: var(--color-errorText);
14
+ }
15
+
16
+ .messageSuccess {
17
+ padding: 0.5rem 0.75rem;
18
+ border-radius: 0.375rem;
19
+ margin-top: 1rem;
20
+ background: var(--color-successBackground);
21
+ color: var(--color-successText);
22
+ }
@@ -1,21 +1,34 @@
1
- import { styled } from 'wasp/core/stitches.config'
1
+ import { ComponentPropsWithoutRef, ComponentRef, forwardRef } from "react";
2
+ import styles from "./Message.module.css";
3
+ import "./auth-styles.css";
4
+ import { clsx } from "./util";
2
5
 
3
6
  // PRIVATE API
4
- export const Message = styled('div', {
5
- padding: '0.5rem 0.75rem',
6
- borderRadius: '0.375rem',
7
- marginTop: '1rem',
8
- background: '$gray400',
9
- })
7
+ export const Message = forwardRef<
8
+ ComponentRef<"div">,
9
+ ComponentPropsWithoutRef<"div">
10
+ >(({ children, className, ...props }, ref) => (
11
+ <div className={clsx(styles.message, className)} {...props} ref={ref}>
12
+ {children}
13
+ </div>
14
+ ));
10
15
 
11
16
  // PRIVATE API
12
- export const MessageError = styled(Message, {
13
- background: '$errorBackground',
14
- color: '$errorText',
15
- })
17
+ export const MessageError = forwardRef<
18
+ ComponentRef<"div">,
19
+ ComponentPropsWithoutRef<"div">
20
+ >(({ children, className, ...props }, ref) => (
21
+ <div className={clsx(styles.messageError, className)} {...props} ref={ref}>
22
+ {children}
23
+ </div>
24
+ ));
16
25
 
17
26
  // PRIVATE API
18
- export const MessageSuccess = styled(Message, {
19
- background: '$successBackground',
20
- color: '$successText',
21
- })
27
+ export const MessageSuccess = forwardRef<
28
+ ComponentRef<"div">,
29
+ ComponentPropsWithoutRef<"div">
30
+ >(({ children, className, ...props }, ref) => (
31
+ <div className={clsx(styles.messageSuccess, className)} {...props} ref={ref}>
32
+ {children}
33
+ </div>
34
+ ));
@@ -0,0 +1,30 @@
1
+ :root {
2
+ /* ATTENTION: Keep this list in sync with the one at ../types.ts */
3
+ /*
4
+ This is the list of CSS variables that are used in the auth forms, and that
5
+ the user can override.
6
+ */
7
+
8
+ /* Colors */
9
+ --color-waspYellow: #ffcc00;
10
+ --color-gray700: #a1a5ab;
11
+ --color-gray600: #d1d5db;
12
+ --color-gray500: gainsboro;
13
+ --color-gray400: #f0f0f0;
14
+ --color-red: #FED7D7;
15
+ --color-darkRed: #fa3838;
16
+ --color-green: #C6F6D5;
17
+
18
+ /* Semantic colors */
19
+ --color-brand: var(--color-waspYellow);
20
+ --color-brandAccent: #ffdb46;
21
+ --color-errorBackground: var(--color-red);
22
+ --color-errorText: #2D3748;
23
+ --color-successBackground: var(--color-green);
24
+ --color-successText: #2D3748;
25
+ --color-submitButtonText: black;
26
+ --color-formErrorText: var(--color-darkRed);
27
+
28
+ /* Font sizes */
29
+ --font-size-sm: 1rem;
30
+ }
@@ -0,0 +1,55 @@
1
+ .orContinueWith {
2
+ position: relative;
3
+ margin-top: 1.5rem;
4
+ }
5
+
6
+ .orContinueWithLineContainer {
7
+ position: absolute;
8
+ inset: 0px;
9
+ display: flex;
10
+ align-items: center;
11
+ }
12
+
13
+ .orContinueWithLine {
14
+ width: 100%;
15
+ border-top-width: 1px;
16
+ border-color: var(--color-gray500);
17
+ }
18
+
19
+ .orContinueWithTextContainer {
20
+ position: relative;
21
+ display: flex;
22
+ justify-content: center;
23
+ font-size: var(--font-size-sm);
24
+ }
25
+
26
+ .orContinueWithText {
27
+ background-color: white;
28
+ padding-left: 0.5rem;
29
+ padding-right: 0.5rem;
30
+ }
31
+
32
+ .socialAuth {
33
+ margin-top: 1.5rem;
34
+ }
35
+
36
+ .socialAuthLabel {
37
+ font-weight: 500;
38
+ font-size: var(--font-size-sm);
39
+ }
40
+
41
+ .socialAuthButtons {
42
+ gap: 16px;
43
+ margin-top: 0.5rem;
44
+ display: flex;
45
+ }
46
+
47
+ .socialAuthButtons.horizontal {
48
+ display: grid;
49
+ grid-template-columns: repeat(auto-fit, minmax(48px, 1fr));
50
+ }
51
+
52
+ .socialAuthButtons.vertical {
53
+ flex-direction: column;
54
+ margin: 8px 0;
55
+ }