@tanglemedia/svelte-starter-auth-shadcn 0.0.3 → 1.0.0-next.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 +122 -0
  16. package/dist/lib/components/ui/auth-layout/auth-layout-logo.svelte.d.ts +71 -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 +122 -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/dist/app.css ADDED
@@ -0,0 +1,174 @@
1
+ @import "tailwindcss";
2
+
3
+ @import "tw-animate-css";
4
+
5
+ @source "../node_modules/@tanglemedia/svelte-starter-form-shadcn/dist/**/*.{html,js,svelte,ts}";
6
+ @source "src/**/*.{html,js,svelte,ts}";
7
+ /*
8
+ The default border color has changed to `currentcolor` in Tailwind CSS v4,
9
+ so we've added these compatibility styles to make sure everything still
10
+ looks the same as it did with Tailwind CSS v3.
11
+
12
+ If we ever want to remove these styles, we need to add an explicit border
13
+ color utility to any element that depends on these defaults.
14
+ */
15
+ @layer base {
16
+ *,
17
+ ::after,
18
+ ::before,
19
+ ::backdrop,
20
+ ::file-selector-button {
21
+ border-color: var(--color-gray-200, currentcolor);
22
+ }
23
+ }
24
+
25
+ @custom-variant dark (&:is(.dark *));
26
+
27
+ :root {
28
+ --radius: 0.625rem;
29
+ --background: oklch(1 0 0);
30
+ --foreground: oklch(0.129 0.042 264.695);
31
+ --card: oklch(1 0 0);
32
+ --card-foreground: oklch(0.129 0.042 264.695);
33
+ --popover: oklch(1 0 0);
34
+ --popover-foreground: oklch(0.129 0.042 264.695);
35
+ --primary: oklch(0.208 0.042 265.755);
36
+ --primary-foreground: oklch(0.984 0.003 247.858);
37
+ --secondary: oklch(0.968 0.007 247.896);
38
+ --secondary-foreground: oklch(0.208 0.042 265.755);
39
+ --muted: oklch(0.968 0.007 247.896);
40
+ --muted-foreground: oklch(0.554 0.046 257.417);
41
+ --accent: oklch(0.968 0.007 247.896);
42
+ --accent-foreground: oklch(0.208 0.042 265.755);
43
+ --destructive: oklch(0.577 0.245 27.325);
44
+ --border: oklch(0.929 0.013 255.508);
45
+ --input: oklch(0.929 0.013 255.508);
46
+ --ring: oklch(0.704 0.04 256.788);
47
+ --chart-1: oklch(0.646 0.222 41.116);
48
+ --chart-2: oklch(0.6 0.118 184.704);
49
+ --chart-3: oklch(0.398 0.07 227.392);
50
+ --chart-4: oklch(0.828 0.189 84.429);
51
+ --chart-5: oklch(0.769 0.188 70.08);
52
+ --sidebar: oklch(0.984 0.003 247.858);
53
+ --sidebar-foreground: oklch(0.129 0.042 264.695);
54
+ --sidebar-primary: oklch(0.208 0.042 265.755);
55
+ --sidebar-primary-foreground: oklch(0.984 0.003 247.858);
56
+ --sidebar-accent: oklch(0.968 0.007 247.896);
57
+ --sidebar-accent-foreground: oklch(0.208 0.042 265.755);
58
+ --sidebar-border: oklch(0.929 0.013 255.508);
59
+ --sidebar-ring: oklch(0.704 0.04 256.788);
60
+ }
61
+
62
+ .dark {
63
+ --background: oklch(0.129 0.042 264.695);
64
+ --foreground: oklch(0.984 0.003 247.858);
65
+ --card: oklch(0.208 0.042 265.755);
66
+ --card-foreground: oklch(0.984 0.003 247.858);
67
+ --popover: oklch(0.208 0.042 265.755);
68
+ --popover-foreground: oklch(0.984 0.003 247.858);
69
+ --primary: oklch(0.929 0.013 255.508);
70
+ --primary-foreground: oklch(0.208 0.042 265.755);
71
+ --secondary: oklch(0.279 0.041 260.031);
72
+ --secondary-foreground: oklch(0.984 0.003 247.858);
73
+ --muted: oklch(0.279 0.041 260.031);
74
+ --muted-foreground: oklch(0.704 0.04 256.788);
75
+ --accent: oklch(0.279 0.041 260.031);
76
+ --accent-foreground: oklch(0.984 0.003 247.858);
77
+ --destructive: oklch(0.704 0.191 22.216);
78
+ --border: oklch(1 0 0 / 10%);
79
+ --input: oklch(1 0 0 / 15%);
80
+ --ring: oklch(0.551 0.027 264.364);
81
+ --chart-1: oklch(0.488 0.243 264.376);
82
+ --chart-2: oklch(0.696 0.17 162.48);
83
+ --chart-3: oklch(0.769 0.188 70.08);
84
+ --chart-4: oklch(0.627 0.265 303.9);
85
+ --chart-5: oklch(0.645 0.246 16.439);
86
+ --sidebar: oklch(0.208 0.042 265.755);
87
+ --sidebar-foreground: oklch(0.984 0.003 247.858);
88
+ --sidebar-primary: oklch(0.488 0.243 264.376);
89
+ --sidebar-primary-foreground: oklch(0.984 0.003 247.858);
90
+ --sidebar-accent: oklch(0.279 0.041 260.031);
91
+ --sidebar-accent-foreground: oklch(0.984 0.003 247.858);
92
+ --sidebar-border: oklch(1 0 0 / 10%);
93
+ --sidebar-ring: oklch(0.551 0.027 264.364);
94
+ }
95
+
96
+ @theme inline {
97
+ --radius-sm: calc(var(--radius) - 4px);
98
+ --radius-md: calc(var(--radius) - 2px);
99
+ --radius-lg: var(--radius);
100
+ --radius-xl: calc(var(--radius) + 4px);
101
+ --color-background: var(--background);
102
+ --color-foreground: var(--foreground);
103
+ --color-card: var(--card);
104
+ --color-card-foreground: var(--card-foreground);
105
+ --color-popover: var(--popover);
106
+ --color-popover-foreground: var(--popover-foreground);
107
+ --color-primary: var(--primary);
108
+ --color-primary-foreground: var(--primary-foreground);
109
+ --color-secondary: var(--secondary);
110
+ --color-secondary-foreground: var(--secondary-foreground);
111
+ --color-muted: var(--muted);
112
+ --color-muted-foreground: var(--muted-foreground);
113
+ --color-accent: var(--accent);
114
+ --color-accent-foreground: var(--accent-foreground);
115
+ --color-destructive: var(--destructive);
116
+ --color-border: var(--border);
117
+ --color-input: var(--input);
118
+ --color-ring: var(--ring);
119
+ --color-chart-1: var(--chart-1);
120
+ --color-chart-2: var(--chart-2);
121
+ --color-chart-3: var(--chart-3);
122
+ --color-chart-4: var(--chart-4);
123
+ --color-chart-5: var(--chart-5);
124
+ --color-sidebar: var(--sidebar);
125
+ --color-sidebar-foreground: var(--sidebar-foreground);
126
+ --color-sidebar-primary: var(--sidebar-primary);
127
+ --color-sidebar-primary-foreground: var(--sidebar-primary-foreground);
128
+ --color-sidebar-accent: var(--sidebar-accent);
129
+ --color-sidebar-accent-foreground: var(--sidebar-accent-foreground);
130
+ --color-sidebar-border: var(--sidebar-border);
131
+ --color-sidebar-ring: var(--sidebar-ring);
132
+ }
133
+
134
+ @layer base {
135
+ * {
136
+ @apply border-border outline-ring/50;
137
+ }
138
+ body {
139
+ @apply bg-background text-foreground;
140
+ }
141
+ }
142
+
143
+ @keyframes accordion-down {
144
+ from {
145
+ height: 0;
146
+ }
147
+
148
+ to {
149
+ height: var(--bits-accordion-content-height);
150
+ }
151
+ }
152
+
153
+ @keyframes accordion-up {
154
+ from {
155
+ height: var(--bits-accordion-content-height);
156
+ }
157
+
158
+ to {
159
+ height: 0;
160
+ }
161
+ }
162
+
163
+ @keyframes caret-blink {
164
+ 0%,
165
+ 70%,
166
+ 100% {
167
+ opacity: 1;
168
+ }
169
+
170
+ 20%,
171
+ 50% {
172
+ opacity: 0;
173
+ }
174
+ }
package/dist/app.html CHANGED
@@ -1,4 +1,3 @@
1
- // src/app.html
2
1
  <!doctype html>
3
2
  <html lang="en">
4
3
  <head>
package/dist/index.d.ts CHANGED
@@ -1 +1 @@
1
- export * from './lib';
1
+ export * from './lib/index.ts';
package/dist/index.js CHANGED
@@ -1 +1 @@
1
- export * from './lib';
1
+ export * from "./lib/index.js";
@@ -0,0 +1,13 @@
1
+ import type { FsSuperForm } from 'formsnap';
2
+ import type { WithChild } from 'svelte-toolbelt';
3
+ import type { SuperForm } from 'sveltekit-superforms';
4
+ export type FsSuperFormPrimitive<T extends Record<string, unknown>> = FsSuperForm<T>;
5
+ export type LoginProviderProps<T extends Record<string, unknown>> = WithChild<{
6
+ superforms: SuperForm<T>;
7
+ action?: string;
8
+ method?: 'dialog' | 'get' | 'post' | 'DIALOG' | 'GET' | 'POST' | null | undefined;
9
+ }, {
10
+ props: {
11
+ superforms: SuperForm<T>;
12
+ };
13
+ }>;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,15 @@
1
+ <script lang="ts">
2
+ import { cn } from "@tanglemedia/svelte-starter-ui-shadcn";
3
+ import type { Snippet } from "svelte";
4
+
5
+ type Props = {
6
+ children?: Snippet<[]>;
7
+ class?: string;
8
+ };
9
+
10
+ const { children, class: cls }: Props = $props();
11
+ </script>
12
+
13
+ <div class={cn("flex justify-center gap-2 md:justify-start", cls)}>
14
+ {@render children?.()}
15
+ </div>
@@ -0,0 +1,8 @@
1
+ import type { Snippet } from "svelte";
2
+ type Props = {
3
+ children?: Snippet<[]>;
4
+ class?: string;
5
+ };
6
+ declare const AuthLayoutContentTop: import("svelte").Component<Props, {}, "">;
7
+ type AuthLayoutContentTop = ReturnType<typeof AuthLayoutContentTop>;
8
+ export default AuthLayoutContentTop;
@@ -0,0 +1,15 @@
1
+ <script lang="ts">
2
+ import { cn } from "@tanglemedia/svelte-starter-ui-shadcn";
3
+ import type { Snippet } from "svelte";
4
+
5
+ type Props = {
6
+ children?: Snippet<[]>;
7
+ class?: string;
8
+ };
9
+
10
+ const { children, class: cls }: Props = $props();
11
+ </script>
12
+
13
+ <div class={cn("flex flex-col gap-4 p-6 md:p-10", cls)}>
14
+ {@render children?.()}
15
+ </div>
@@ -0,0 +1,8 @@
1
+ import type { Snippet } from "svelte";
2
+ type Props = {
3
+ children?: Snippet<[]>;
4
+ class?: string;
5
+ };
6
+ declare const AuthLayoutContent: import("svelte").Component<Props, {}, "">;
7
+ type AuthLayoutContent = ReturnType<typeof AuthLayoutContent>;
8
+ export default AuthLayoutContent;
@@ -0,0 +1,45 @@
1
+ <script lang="ts">
2
+ import type { Snippet } from "svelte";
3
+
4
+ interface Props {
5
+ logo?: string | null;
6
+ logoClass?: string | null;
7
+ name?: string | null;
8
+ quote?: string | null;
9
+ quoteAuthor?: string | null;
10
+ children?: Snippet;
11
+ }
12
+
13
+ let {
14
+ logo = null,
15
+ name = "Tangle Media Inc.",
16
+ quote = "",
17
+ quoteAuthor = "",
18
+ logoClass,
19
+ children,
20
+ }: Props = $props();
21
+ </script>
22
+
23
+ <div
24
+ class="text-white top-6 left-6 right-6 bottom-6 absolute text-lg font-medium text-shadow-lg"
25
+ >
26
+ {@render renderLogoName()}
27
+ {@render children?.()}
28
+ <blockquote class="space-y-2 mt-2 lg:mt-0 mr-4 lg:mr-0 hidden lg:block lg:absolute bottom-6">
29
+ <p class="text-sm text-shadow-lg">
30
+ {quote}
31
+ </p>
32
+ <footer class="text-xs text-shadow-lg">{quoteAuthor}</footer>
33
+ </blockquote>
34
+ </div>
35
+
36
+ {#snippet renderLogoName()}
37
+ <div class="flex items-center gap-4">
38
+ {#if logo}
39
+ <img src={logo} alt="logo" class={logoClass} />
40
+ {/if}
41
+ {#if name}
42
+ {name}
43
+ {/if}
44
+ </div>
45
+ {/snippet}
@@ -0,0 +1,12 @@
1
+ import type { Snippet } from "svelte";
2
+ interface Props {
3
+ logo?: string | null;
4
+ logoClass?: string | null;
5
+ name?: string | null;
6
+ quote?: string | null;
7
+ quoteAuthor?: string | null;
8
+ children?: Snippet;
9
+ }
10
+ declare const AuthLayoutFeatureInfo: import("svelte").Component<Props, {}, "">;
11
+ type AuthLayoutFeatureInfo = ReturnType<typeof AuthLayoutFeatureInfo>;
12
+ export default AuthLayoutFeatureInfo;
@@ -0,0 +1,24 @@
1
+ <script lang="ts">
2
+ import type { Snippet } from "svelte";
3
+
4
+ interface Props {
5
+ image?: string | null;
6
+ children?: Snippet;
7
+ }
8
+
9
+ let {
10
+ image = "https://images.unsplash.com/photo-1590069261209-f8e9b8642343?ixlib=rb-4.0.3&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=1376&q=80",
11
+ children,
12
+ }: Props = $props();
13
+ </script>
14
+
15
+ <div
16
+ class="absolute top-0 left-0 right-0 bottom-0 z-[-1]"
17
+ style="
18
+ background-image:
19
+ url({image});
20
+ background-size: cover;
21
+ background-position: center"
22
+ >
23
+ {@render children?.()}
24
+ </div>
@@ -0,0 +1,8 @@
1
+ import type { Snippet } from "svelte";
2
+ interface Props {
3
+ image?: string | null;
4
+ children?: Snippet;
5
+ }
6
+ declare const AuthLayoutFeature: import("svelte").Component<Props, {}, "">;
7
+ type AuthLayoutFeature = ReturnType<typeof AuthLayoutFeature>;
8
+ export default AuthLayoutFeature;
@@ -0,0 +1,122 @@
1
+ <script lang="ts" module>
2
+ import { type VariantProps, tv } from 'tailwind-variants';
3
+
4
+ const authLogoSizeVariants = tv({
5
+ base: 'flex shrink-0 overflow-hidden rounded-lg',
6
+ variants: {
7
+ size: {
8
+ default: 'size-8',
9
+ lg: 'size-16',
10
+ xl: 'size-24',
11
+ '2xl': 'size-32',
12
+ '3xl': 'size-40',
13
+ dynamic: '',
14
+ },
15
+ },
16
+ defaultVariants: {
17
+ size: 'default',
18
+ },
19
+ });
20
+
21
+ const authLogoTextSizeVariants = tv({
22
+ base: '',
23
+ variants: {
24
+ size: {
25
+ default: '',
26
+ lg: 'text-2xl',
27
+ xl: 'text-5xl',
28
+ '2xl': 'text-6xl',
29
+ '3xl': 'text-9xl',
30
+ dynamic: '',
31
+ },
32
+ },
33
+ defaultVariants: {
34
+ size: 'default',
35
+ },
36
+ });
37
+
38
+ const authLogoAlignVariants = tv({
39
+ base: 'flex items-center gap-2 font-medium',
40
+ variants: {
41
+ align: {
42
+ default: 'self-auto',
43
+ left: 'self-start',
44
+ right: 'self-end',
45
+ center: 'self-center',
46
+ },
47
+ },
48
+ defaultVariants: {
49
+ align: 'default',
50
+ },
51
+ });
52
+
53
+ export type AuthLogoSize = VariantProps<typeof authLogoSizeVariants>['size'];
54
+ export type AuthLogoAlign = VariantProps<
55
+ typeof authLogoAlignVariants
56
+ >['align'];
57
+ </script>
58
+
59
+ <script lang="ts">
60
+ import { cn } from '@tanglemedia/svelte-starter-ui-shadcn';
61
+ import type { Snippet } from 'svelte';
62
+ import type { HTMLImgAttributes } from 'svelte/elements';
63
+
64
+ type Props = {
65
+ children?: Snippet<[]>;
66
+ class?: string;
67
+ src?: string | null;
68
+ logoClass?: string | null;
69
+ href?: string;
70
+ size?: AuthLogoSize;
71
+ align?: AuthLogoAlign;
72
+ logo?: Snippet<[{ props: HTMLImgAttributes }]>;
73
+ square?: boolean;
74
+ };
75
+
76
+ const {
77
+ children,
78
+ class: cls,
79
+ src,
80
+ logoClass,
81
+ href,
82
+ size,
83
+ align,
84
+ logo,
85
+ square,
86
+ }: Props = $props();
87
+
88
+ // cn(authLogoVariants({ size }));
89
+
90
+ const imgCls = $derived.by(() => {
91
+ let base = '';
92
+
93
+ if (typeof square === 'undefined') {
94
+ base = size === 'dynamic' ? '' : 'aspect-square';
95
+ } else {
96
+ base = square ? 'aspect-square' : '';
97
+ }
98
+
99
+ return cn('size-full', base, logoClass);
100
+ });
101
+ </script>
102
+
103
+ <svelte:element
104
+ this={href ? 'a' : 'span'}
105
+ class={cn(authLogoAlignVariants({ align }), cls)}
106
+ {href}
107
+ >
108
+ <div class={cn('w-full',authLogoSizeVariants({ size }))}>
109
+ {#if src}
110
+ {#if logo}
111
+ {@render logo({ props: { class: logoClass, src: `${src}` } })}
112
+ {:else}
113
+ <img {src} alt="logo" class={imgCls} />
114
+ {/if}
115
+ {/if}
116
+ </div>
117
+ {#if children}
118
+ <div class={cn(authLogoTextSizeVariants({ size }))}>
119
+ {@render children?.()}
120
+ </div>
121
+ {/if}
122
+ </svelte:element>
@@ -0,0 +1,71 @@
1
+ import { type VariantProps } from 'tailwind-variants';
2
+ declare const authLogoSizeVariants: import("tailwind-variants").TVReturnType<{
3
+ size: {
4
+ default: string;
5
+ lg: string;
6
+ xl: string;
7
+ '2xl': string;
8
+ '3xl': string;
9
+ dynamic: string;
10
+ };
11
+ }, undefined, "flex shrink-0 overflow-hidden rounded-lg", {
12
+ size: {
13
+ default: string;
14
+ lg: string;
15
+ xl: string;
16
+ '2xl': string;
17
+ '3xl': string;
18
+ dynamic: string;
19
+ };
20
+ }, undefined, import("tailwind-variants").TVReturnType<{
21
+ size: {
22
+ default: string;
23
+ lg: string;
24
+ xl: string;
25
+ '2xl': string;
26
+ '3xl': string;
27
+ dynamic: string;
28
+ };
29
+ }, undefined, "flex shrink-0 overflow-hidden rounded-lg", unknown, unknown, undefined>>;
30
+ declare const authLogoAlignVariants: import("tailwind-variants").TVReturnType<{
31
+ align: {
32
+ default: string;
33
+ left: string;
34
+ right: string;
35
+ center: string;
36
+ };
37
+ }, undefined, "flex items-center gap-2 font-medium", {
38
+ align: {
39
+ default: string;
40
+ left: string;
41
+ right: string;
42
+ center: string;
43
+ };
44
+ }, undefined, import("tailwind-variants").TVReturnType<{
45
+ align: {
46
+ default: string;
47
+ left: string;
48
+ right: string;
49
+ center: string;
50
+ };
51
+ }, undefined, "flex items-center gap-2 font-medium", unknown, unknown, undefined>>;
52
+ export type AuthLogoSize = VariantProps<typeof authLogoSizeVariants>['size'];
53
+ export type AuthLogoAlign = VariantProps<typeof authLogoAlignVariants>['align'];
54
+ import type { Snippet } from 'svelte';
55
+ import type { HTMLImgAttributes } from 'svelte/elements';
56
+ type Props = {
57
+ children?: Snippet<[]>;
58
+ class?: string;
59
+ src?: string | null;
60
+ logoClass?: string | null;
61
+ href?: string;
62
+ size?: AuthLogoSize;
63
+ align?: AuthLogoAlign;
64
+ logo?: Snippet<[{
65
+ props: HTMLImgAttributes;
66
+ }]>;
67
+ square?: boolean;
68
+ };
69
+ declare const AuthLayoutLogo: import("svelte").Component<Props, {}, "">;
70
+ type AuthLayoutLogo = ReturnType<typeof AuthLayoutLogo>;
71
+ export default AuthLayoutLogo;
@@ -0,0 +1,17 @@
1
+ <script lang="ts">
2
+ import { cn } from '@tanglemedia/svelte-starter-ui-shadcn';
3
+ import type { Snippet } from 'svelte';
4
+
5
+ type Props = {
6
+ children?: Snippet<[]>;
7
+ class?: string;
8
+ };
9
+
10
+ const { children, class: cls }: Props = $props();
11
+ </script>
12
+
13
+ <div class={cn('flex flex-1 items-center justify-center', cls)}>
14
+ <div class="w-full max-w-sm lg:max-w-md flex flex-col gap-6">
15
+ {@render children?.()}
16
+ </div>
17
+ </div>
@@ -0,0 +1,8 @@
1
+ import type { Snippet } from 'svelte';
2
+ type Props = {
3
+ children?: Snippet<[]>;
4
+ class?: string;
5
+ };
6
+ declare const AuthLayoutMain: import("svelte").Component<Props, {}, "">;
7
+ type AuthLayoutMain = ReturnType<typeof AuthLayoutMain>;
8
+ export default AuthLayoutMain;