@tanglemedia/svelte-starter-auth-shadcn 0.0.3 → 0.1.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.
Files changed (160) hide show
  1. package/dist/app.css +174 -0
  2. package/dist/app.html +0 -1
  3. package/dist/index.d.ts +1 -1
  4. package/dist/index.js +1 -1
  5. package/dist/lib/components/types.d.ts +13 -0
  6. package/dist/lib/components/types.js +1 -0
  7. package/dist/lib/components/ui/auth-layout/auth-layout-content-top.svelte +15 -0
  8. package/dist/lib/components/ui/auth-layout/auth-layout-content-top.svelte.d.ts +8 -0
  9. package/dist/lib/components/ui/auth-layout/auth-layout-content.svelte +15 -0
  10. package/dist/lib/components/ui/auth-layout/auth-layout-content.svelte.d.ts +8 -0
  11. package/dist/lib/components/ui/auth-layout/auth-layout-feature-info.svelte +45 -0
  12. package/dist/lib/components/ui/auth-layout/auth-layout-feature-info.svelte.d.ts +12 -0
  13. package/dist/lib/components/ui/auth-layout/auth-layout-feature.svelte +24 -0
  14. package/dist/lib/components/ui/auth-layout/auth-layout-feature.svelte.d.ts +8 -0
  15. package/dist/lib/components/ui/auth-layout/auth-layout-logo.svelte +99 -0
  16. package/dist/lib/components/ui/auth-layout/auth-layout-logo.svelte.d.ts +63 -0
  17. package/dist/lib/components/ui/auth-layout/auth-layout-main.svelte +17 -0
  18. package/dist/lib/components/ui/auth-layout/auth-layout-main.svelte.d.ts +8 -0
  19. package/dist/lib/components/ui/auth-layout/auth-layout.svelte +22 -88
  20. package/dist/lib/components/ui/auth-layout/auth-layout.svelte.d.ts +4 -12
  21. package/dist/lib/components/ui/auth-layout/index.d.ts +8 -2
  22. package/dist/lib/components/ui/auth-layout/index.js +10 -2
  23. package/dist/lib/components/ui/forgot-password/forgot-password-container.svelte +27 -0
  24. package/dist/lib/components/ui/forgot-password/forgot-password-container.svelte.d.ts +8 -0
  25. package/dist/lib/components/ui/forgot-password/forgot-password-form.svelte +70 -77
  26. package/dist/lib/components/ui/forgot-password/forgot-password-form.svelte.d.ts +12 -7
  27. package/dist/lib/components/ui/forgot-password/forgot-password-header.svelte +34 -0
  28. package/dist/lib/components/ui/forgot-password/forgot-password-header.svelte.d.ts +13 -0
  29. package/dist/lib/components/ui/forgot-password/forgot-password-login.svelte +19 -0
  30. package/dist/lib/components/ui/forgot-password/forgot-password-login.svelte.d.ts +9 -0
  31. package/dist/lib/components/ui/forgot-password/forgot-password-provider.svelte +13 -0
  32. package/dist/lib/components/ui/forgot-password/forgot-password-provider.svelte.d.ts +25 -0
  33. package/dist/lib/components/ui/forgot-password/forgot-password-submit.svelte +17 -0
  34. package/dist/lib/components/ui/forgot-password/forgot-password-submit.svelte.d.ts +7 -0
  35. package/dist/lib/components/ui/forgot-password/forgot-password-user-input.svelte +21 -0
  36. package/dist/lib/components/ui/forgot-password/forgot-password-user-input.svelte.d.ts +26 -0
  37. package/dist/lib/components/ui/forgot-password/forgot-password.schema.d.ts +5 -0
  38. package/dist/lib/components/ui/forgot-password/forgot-password.schema.js +4 -0
  39. package/dist/lib/components/ui/forgot-password/index.d.ts +9 -2
  40. package/dist/lib/components/ui/forgot-password/index.js +9 -2
  41. package/dist/lib/components/ui/index.d.ts +5 -5
  42. package/dist/lib/components/ui/index.js +6 -5
  43. package/dist/lib/components/ui/login-form/index.d.ts +11 -2
  44. package/dist/lib/components/ui/login-form/index.js +13 -2
  45. package/dist/lib/components/ui/login-form/login-container.svelte +27 -0
  46. package/dist/lib/components/ui/login-form/login-container.svelte.d.ts +8 -0
  47. package/dist/lib/components/ui/login-form/login-context.d.ts +2 -0
  48. package/dist/lib/components/ui/login-form/login-context.js +13 -0
  49. package/dist/lib/components/ui/login-form/login-forgot-password.svelte +19 -0
  50. package/dist/lib/components/ui/login-form/login-forgot-password.svelte.d.ts +9 -0
  51. package/dist/lib/components/ui/login-form/login-form.svelte +68 -107
  52. package/dist/lib/components/ui/login-form/login-form.svelte.d.ts +10 -7
  53. package/dist/lib/components/ui/login-form/login-header.svelte +34 -0
  54. package/dist/lib/components/ui/login-form/login-header.svelte.d.ts +13 -0
  55. package/dist/lib/components/ui/login-form/login-password-input.svelte +21 -0
  56. package/dist/lib/components/ui/login-form/login-password-input.svelte.d.ts +26 -0
  57. package/dist/lib/components/ui/login-form/login-provider.svelte +13 -0
  58. package/dist/lib/components/ui/login-form/login-provider.svelte.d.ts +25 -0
  59. package/dist/lib/components/ui/login-form/login-submit.svelte +17 -0
  60. package/dist/lib/components/ui/login-form/login-submit.svelte.d.ts +7 -0
  61. package/dist/lib/components/ui/login-form/login-user-input.svelte +21 -0
  62. package/dist/lib/components/ui/login-form/login-user-input.svelte.d.ts +26 -0
  63. package/dist/lib/components/ui/login-form/login.schema.d.ts +6 -0
  64. package/dist/lib/components/ui/login-form/login.schema.js +5 -0
  65. package/dist/lib/components/ui/register-form/index.d.ts +10 -2
  66. package/dist/lib/components/ui/register-form/index.js +10 -2
  67. package/dist/lib/components/ui/register-form/register-container.svelte +27 -0
  68. package/dist/lib/components/ui/register-form/register-container.svelte.d.ts +8 -0
  69. package/dist/lib/components/ui/register-form/register-form.svelte +67 -166
  70. package/dist/lib/components/ui/register-form/register-form.svelte.d.ts +10 -5
  71. package/dist/lib/components/ui/register-form/register-header.svelte +34 -0
  72. package/dist/lib/components/ui/register-form/register-header.svelte.d.ts +13 -0
  73. package/dist/lib/components/ui/register-form/register-name-input.svelte +21 -0
  74. package/dist/lib/components/ui/register-form/register-name-input.svelte.d.ts +26 -0
  75. package/dist/lib/components/ui/register-form/register-password-input.svelte +21 -0
  76. package/dist/lib/components/ui/register-form/register-password-input.svelte.d.ts +26 -0
  77. package/dist/lib/components/ui/register-form/register-provider.svelte +13 -0
  78. package/dist/lib/components/ui/register-form/register-provider.svelte.d.ts +25 -0
  79. package/dist/lib/components/ui/register-form/register-submit.svelte +17 -0
  80. package/dist/lib/components/ui/register-form/register-submit.svelte.d.ts +7 -0
  81. package/dist/lib/components/ui/register-form/register-user-input.svelte +21 -0
  82. package/dist/lib/components/ui/register-form/register-user-input.svelte.d.ts +26 -0
  83. package/dist/lib/components/ui/register-form/register.schema.d.ts +8 -0
  84. package/dist/lib/components/ui/register-form/register.schema.js +7 -0
  85. package/dist/lib/components/ui/reset-password/index.d.ts +8 -2
  86. package/dist/lib/components/ui/reset-password/index.js +8 -2
  87. package/dist/lib/components/ui/reset-password/reset-password-container.svelte +27 -0
  88. package/dist/lib/components/ui/reset-password/reset-password-container.svelte.d.ts +8 -0
  89. package/dist/lib/components/ui/reset-password/reset-password-form.svelte +91 -0
  90. package/dist/lib/components/ui/reset-password/reset-password-form.svelte.d.ts +20 -0
  91. package/dist/lib/components/ui/reset-password/reset-password-header.svelte +34 -0
  92. package/dist/lib/components/ui/reset-password/reset-password-header.svelte.d.ts +13 -0
  93. package/dist/lib/components/ui/reset-password/reset-password-password-input.svelte +21 -0
  94. package/dist/lib/components/ui/reset-password/reset-password-password-input.svelte.d.ts +26 -0
  95. package/dist/lib/components/ui/reset-password/reset-password-provider.svelte +13 -0
  96. package/dist/lib/components/ui/reset-password/reset-password-provider.svelte.d.ts +25 -0
  97. package/dist/lib/components/ui/reset-password/reset-password-submit.svelte +17 -0
  98. package/dist/lib/components/ui/reset-password/reset-password-submit.svelte.d.ts +7 -0
  99. package/dist/lib/components/ui/reset-password/reset-password.schema.d.ts +6 -0
  100. package/dist/lib/components/ui/reset-password/reset-password.schema.js +9 -0
  101. package/dist/lib/index.d.ts +2 -3
  102. package/dist/lib/index.js +3 -3
  103. package/dist/lib/utils.d.ts +10 -0
  104. package/package.json +39 -30
  105. package/src/app.css +174 -0
  106. package/src/app.html +0 -1
  107. package/src/index.ts +1 -1
  108. package/src/lib/components/types.ts +24 -0
  109. package/src/lib/components/ui/auth-layout/auth-layout-content-top.svelte +15 -0
  110. package/src/lib/components/ui/auth-layout/auth-layout-content.svelte +15 -0
  111. package/src/lib/components/ui/auth-layout/auth-layout-feature-info.svelte +45 -0
  112. package/src/lib/components/ui/auth-layout/auth-layout-feature.svelte +24 -0
  113. package/src/lib/components/ui/auth-layout/auth-layout-logo.svelte +99 -0
  114. package/src/lib/components/ui/auth-layout/auth-layout-main.svelte +17 -0
  115. package/src/lib/components/ui/auth-layout/auth-layout.svelte +22 -88
  116. package/src/lib/components/ui/auth-layout/index.ts +20 -2
  117. package/src/lib/components/ui/forgot-password/forgot-password-container.svelte +27 -0
  118. package/src/lib/components/ui/forgot-password/forgot-password-form.svelte +70 -77
  119. package/src/lib/components/ui/forgot-password/forgot-password-header.svelte +34 -0
  120. package/src/lib/components/ui/forgot-password/forgot-password-login.svelte +19 -0
  121. package/src/lib/components/ui/forgot-password/forgot-password-provider.svelte +13 -0
  122. package/src/lib/components/ui/forgot-password/forgot-password-submit.svelte +17 -0
  123. package/src/lib/components/ui/forgot-password/forgot-password-user-input.svelte +21 -0
  124. package/src/lib/components/ui/forgot-password/forgot-password.schema.ts +7 -0
  125. package/src/lib/components/ui/forgot-password/index.ts +19 -2
  126. package/src/lib/components/ui/index.ts +6 -5
  127. package/src/lib/components/ui/login-form/index.ts +26 -2
  128. package/src/lib/components/ui/login-form/login-container.svelte +27 -0
  129. package/src/lib/components/ui/login-form/login-context.ts +16 -0
  130. package/src/lib/components/ui/login-form/login-forgot-password.svelte +19 -0
  131. package/src/lib/components/ui/login-form/login-form.svelte +68 -107
  132. package/src/lib/components/ui/login-form/login-header.svelte +34 -0
  133. package/src/lib/components/ui/login-form/login-password-input.svelte +21 -0
  134. package/src/lib/components/ui/login-form/login-provider.svelte +13 -0
  135. package/src/lib/components/ui/login-form/login-submit.svelte +17 -0
  136. package/src/lib/components/ui/login-form/login-user-input.svelte +21 -0
  137. package/src/lib/components/ui/login-form/login.schema.ts +8 -0
  138. package/src/lib/components/ui/register-form/index.ts +21 -2
  139. package/src/lib/components/ui/register-form/register-container.svelte +27 -0
  140. package/src/lib/components/ui/register-form/register-form.svelte +67 -166
  141. package/src/lib/components/ui/register-form/register-header.svelte +34 -0
  142. package/src/lib/components/ui/register-form/register-name-input.svelte +21 -0
  143. package/src/lib/components/ui/register-form/register-password-input.svelte +21 -0
  144. package/src/lib/components/ui/register-form/register-provider.svelte +13 -0
  145. package/src/lib/components/ui/register-form/register-submit.svelte +17 -0
  146. package/src/lib/components/ui/register-form/register-user-input.svelte +21 -0
  147. package/src/lib/components/ui/register-form/register.schema.ts +10 -0
  148. package/src/lib/components/ui/reset-password/index.ts +17 -2
  149. package/src/lib/components/ui/reset-password/reset-password-container.svelte +27 -0
  150. package/src/lib/components/ui/reset-password/reset-password-form.svelte +91 -0
  151. package/src/lib/components/ui/reset-password/reset-password-header.svelte +34 -0
  152. package/src/lib/components/ui/reset-password/reset-password-password-input.svelte +21 -0
  153. package/src/lib/components/ui/reset-password/reset-password-provider.svelte +13 -0
  154. package/src/lib/components/ui/reset-password/reset-password-submit.svelte +17 -0
  155. package/src/lib/components/ui/reset-password/reset-password.schema.ts +12 -0
  156. package/src/lib/index.ts +3 -3
  157. package/src/lib/utils.ts +8 -1
  158. package/dist/lib/components/ui/reset-password/reset-form.svelte +0 -116
  159. package/dist/lib/components/ui/reset-password/reset-form.svelte.d.ts +0 -16
  160. package/src/lib/components/ui/reset-password/reset-form.svelte +0 -116
package/src/lib/utils.ts CHANGED
@@ -1,6 +1,13 @@
1
- import { type ClassValue, clsx } from "clsx";
1
+ import { clsx, type ClassValue } from "clsx";
2
2
  import { twMerge } from "tailwind-merge";
3
3
 
4
4
  export function cn(...inputs: ClassValue[]) {
5
5
  return twMerge(clsx(inputs));
6
6
  }
7
+
8
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
9
+ export type WithoutChild<T> = T extends { child?: any } ? Omit<T, "child"> : T;
10
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
11
+ export type WithoutChildren<T> = T extends { children?: any } ? Omit<T, "children"> : T;
12
+ export type WithoutChildrenOrChild<T> = WithoutChildren<WithoutChild<T>>;
13
+ export type WithElementRef<T, U extends HTMLElement = HTMLElement> = T & { ref?: U | null };
@@ -1,116 +0,0 @@
1
- <script lang="ts">
2
- import { Button, Card, Input, Label, Form } from '@tanglemedia/svelte-starter-ui-shadcn';
3
- import type { Snippet } from 'svelte';
4
-
5
- interface Props {
6
- superform: any;
7
- card?: boolean;
8
- cardClass?: string;
9
- title?: string;
10
- description?: string;
11
- login?: boolean;
12
- loginLink?: string;
13
- formTail?: Snippet;
14
- formHead?: Snippet;
15
- children?: Snippet;
16
- }
17
-
18
- let {
19
- superform,
20
- card = false,
21
- cardClass = "mx-auto max-w-sm",
22
- title = "Reset Password",
23
- description = "Enter your new password below to reset your password",
24
- login = true,
25
- loginLink = "/login",
26
- formTail,
27
- formHead,
28
- children
29
- }: Props = $props();
30
-
31
- const { form: formData, enhance } = superform;
32
- </script>
33
-
34
- {#if card}
35
- <Card.Root class={cardClass}>
36
- <Card.Header>
37
- <Card.Title class="text-2xl">{title}</Card.Title>
38
- <Card.Description>{description}</Card.Description>
39
- </Card.Header>
40
- <Card.Content>
41
- <form method="POST" use:enhance class="grid gap-4">
42
- {@render formHead?.()}
43
- {#if children}
44
- {@render children?.()}
45
- {:else}
46
- <Form.Field form={superform} name="new_password">
47
- <Form.Control>
48
- {#snippet children({ props })}
49
- <Form.Label>New Password</Form.Label>
50
- <Input {...props} bind:value={$formData.new_password} type="password" required />
51
- {/snippet}
52
- </Form.Control>
53
- <Form.FieldErrors />
54
- </Form.Field>
55
- <Form.Field form={superform} name="confirm_new_password">
56
- <Form.Control>
57
- {#snippet children({ props })}
58
- <Form.Label>Confirm Password</Form.Label>
59
- <Input {...props} bind:value={$formData.confirm_new_password} type="password" required />
60
- {/snippet}
61
- </Form.Control>
62
- <Form.FieldErrors />
63
- </Form.Field>
64
- {/if}
65
- <Form.Button type="submit" class="w-full">Reset</Form.Button>
66
- {@render formTail?.()}
67
- </form>
68
- {#if login}
69
- <div class="mt-4 text-center text-sm">
70
- Already have an account?
71
- <a href={loginLink} class="underline"> Sign in </a>
72
- </div>
73
- {/if}
74
- </Card.Content>
75
- </Card.Root>
76
- {:else}
77
- <div class={cardClass}>
78
- <div class="flex flex-col space-y-1.5 p-6 pb-0">
79
- <h3 class="font-semibold tracking-tight text-2xl">{title}</h3>
80
- <p class="text-muted-foreground text-sm">{description}</p>
81
- </div>
82
- <form method="POST" use:enhance class="grid gap-4 p-6">
83
- {@render formHead?.()}
84
- {#if children}
85
- {@render children?.()}
86
- {:else}
87
- <Form.Field form={superform} name="new_password">
88
- <Form.Control>
89
- {#snippet children({ props })}
90
- <Form.Label>New Password</Form.Label>
91
- <Input {...props} bind:value={$formData.new_password} type="password" required />
92
- {/snippet}
93
- </Form.Control>
94
- <Form.FieldErrors />
95
- </Form.Field>
96
- <Form.Field form={superform} name="confirm_new_password">
97
- <Form.Control>
98
- {#snippet children({ props })}
99
- <Form.Label>Confirm Password</Form.Label>
100
- <Input {...props} bind:value={$formData.confirm_new_password} type="password" required />
101
- {/snippet}
102
- </Form.Control>
103
- <Form.FieldErrors />
104
- </Form.Field>
105
- {/if}
106
- <Form.Button type="submit" class="w-full">Reset</Form.Button>
107
- {@render formTail?.()}
108
- </form>
109
- {#if login}
110
- <div class="mt-4 text-center text-sm">
111
- Already have an account?
112
- <a href={loginLink} class="underline"> Sign in </a>
113
- </div>
114
- {/if}
115
- </div>
116
- {/if}
@@ -1,16 +0,0 @@
1
- import type { Snippet } from 'svelte';
2
- interface Props {
3
- superform: any;
4
- card?: boolean;
5
- cardClass?: string;
6
- title?: string;
7
- description?: string;
8
- login?: boolean;
9
- loginLink?: string;
10
- formTail?: Snippet;
11
- formHead?: Snippet;
12
- children?: Snippet;
13
- }
14
- declare const ResetForm: import("svelte").Component<Props, {}, "">;
15
- type ResetForm = ReturnType<typeof ResetForm>;
16
- export default ResetForm;
@@ -1,116 +0,0 @@
1
- <script lang="ts">
2
- import { Button, Card, Input, Label, Form } from '@tanglemedia/svelte-starter-ui-shadcn';
3
- import type { Snippet } from 'svelte';
4
-
5
- interface Props {
6
- superform: any;
7
- card?: boolean;
8
- cardClass?: string;
9
- title?: string;
10
- description?: string;
11
- login?: boolean;
12
- loginLink?: string;
13
- formTail?: Snippet;
14
- formHead?: Snippet;
15
- children?: Snippet;
16
- }
17
-
18
- let {
19
- superform,
20
- card = false,
21
- cardClass = "mx-auto max-w-sm",
22
- title = "Reset Password",
23
- description = "Enter your new password below to reset your password",
24
- login = true,
25
- loginLink = "/login",
26
- formTail,
27
- formHead,
28
- children
29
- }: Props = $props();
30
-
31
- const { form: formData, enhance } = superform;
32
- </script>
33
-
34
- {#if card}
35
- <Card.Root class={cardClass}>
36
- <Card.Header>
37
- <Card.Title class="text-2xl">{title}</Card.Title>
38
- <Card.Description>{description}</Card.Description>
39
- </Card.Header>
40
- <Card.Content>
41
- <form method="POST" use:enhance class="grid gap-4">
42
- {@render formHead?.()}
43
- {#if children}
44
- {@render children?.()}
45
- {:else}
46
- <Form.Field form={superform} name="new_password">
47
- <Form.Control>
48
- {#snippet children({ props })}
49
- <Form.Label>New Password</Form.Label>
50
- <Input {...props} bind:value={$formData.new_password} type="password" required />
51
- {/snippet}
52
- </Form.Control>
53
- <Form.FieldErrors />
54
- </Form.Field>
55
- <Form.Field form={superform} name="confirm_new_password">
56
- <Form.Control>
57
- {#snippet children({ props })}
58
- <Form.Label>Confirm Password</Form.Label>
59
- <Input {...props} bind:value={$formData.confirm_new_password} type="password" required />
60
- {/snippet}
61
- </Form.Control>
62
- <Form.FieldErrors />
63
- </Form.Field>
64
- {/if}
65
- <Form.Button type="submit" class="w-full">Reset</Form.Button>
66
- {@render formTail?.()}
67
- </form>
68
- {#if login}
69
- <div class="mt-4 text-center text-sm">
70
- Already have an account?
71
- <a href={loginLink} class="underline"> Sign in </a>
72
- </div>
73
- {/if}
74
- </Card.Content>
75
- </Card.Root>
76
- {:else}
77
- <div class={cardClass}>
78
- <div class="flex flex-col space-y-1.5 p-6 pb-0">
79
- <h3 class="font-semibold tracking-tight text-2xl">{title}</h3>
80
- <p class="text-muted-foreground text-sm">{description}</p>
81
- </div>
82
- <form method="POST" use:enhance class="grid gap-4 p-6">
83
- {@render formHead?.()}
84
- {#if children}
85
- {@render children?.()}
86
- {:else}
87
- <Form.Field form={superform} name="new_password">
88
- <Form.Control>
89
- {#snippet children({ props })}
90
- <Form.Label>New Password</Form.Label>
91
- <Input {...props} bind:value={$formData.new_password} type="password" required />
92
- {/snippet}
93
- </Form.Control>
94
- <Form.FieldErrors />
95
- </Form.Field>
96
- <Form.Field form={superform} name="confirm_new_password">
97
- <Form.Control>
98
- {#snippet children({ props })}
99
- <Form.Label>Confirm Password</Form.Label>
100
- <Input {...props} bind:value={$formData.confirm_new_password} type="password" required />
101
- {/snippet}
102
- </Form.Control>
103
- <Form.FieldErrors />
104
- </Form.Field>
105
- {/if}
106
- <Form.Button type="submit" class="w-full">Reset</Form.Button>
107
- {@render formTail?.()}
108
- </form>
109
- {#if login}
110
- <div class="mt-4 text-center text-sm">
111
- Already have an account?
112
- <a href={loginLink} class="underline"> Sign in </a>
113
- </div>
114
- {/if}
115
- </div>
116
- {/if}