luxlabs 1.0.0 → 1.0.1

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 (47) hide show
  1. package/commands/interface/boilerplate.js +16 -2
  2. package/package.json +1 -1
  3. package/templates/interface-boilerplate/.env.example +2 -0
  4. package/templates/interface-boilerplate/.eslintrc.json +4 -0
  5. package/templates/interface-boilerplate/app/auth/callback/page.tsx +43 -0
  6. package/templates/interface-boilerplate/app/dashboard/page.tsx +226 -0
  7. package/templates/interface-boilerplate/app/globals.css +121 -0
  8. package/templates/interface-boilerplate/app/layout.tsx +46 -0
  9. package/templates/interface-boilerplate/app/login/page.tsx +178 -0
  10. package/templates/interface-boilerplate/app/page.tsx +129 -0
  11. package/templates/interface-boilerplate/app/signup/page.tsx +199 -0
  12. package/templates/interface-boilerplate/components/AnalyticsProvider.tsx +142 -0
  13. package/templates/interface-boilerplate/components/AuthGuard.tsx +76 -0
  14. package/templates/interface-boilerplate/components/ErrorBoundary.tsx +106 -0
  15. package/templates/interface-boilerplate/components/theme-provider.tsx +9 -0
  16. package/templates/interface-boilerplate/components/theme-toggle.tsx +39 -0
  17. package/templates/interface-boilerplate/components/ui/avatar.tsx +46 -0
  18. package/templates/interface-boilerplate/components/ui/badge.tsx +32 -0
  19. package/templates/interface-boilerplate/components/ui/button.tsx +52 -0
  20. package/templates/interface-boilerplate/components/ui/card.tsx +57 -0
  21. package/templates/interface-boilerplate/components/ui/checkbox.tsx +27 -0
  22. package/templates/interface-boilerplate/components/ui/dialog.tsx +100 -0
  23. package/templates/interface-boilerplate/components/ui/dropdown-menu.tsx +173 -0
  24. package/templates/interface-boilerplate/components/ui/index.ts +53 -0
  25. package/templates/interface-boilerplate/components/ui/input.tsx +23 -0
  26. package/templates/interface-boilerplate/components/ui/label.tsx +20 -0
  27. package/templates/interface-boilerplate/components/ui/progress.tsx +24 -0
  28. package/templates/interface-boilerplate/components/ui/select.tsx +149 -0
  29. package/templates/interface-boilerplate/components/ui/separator.tsx +25 -0
  30. package/templates/interface-boilerplate/components/ui/skeleton.tsx +12 -0
  31. package/templates/interface-boilerplate/components/ui/switch.tsx +28 -0
  32. package/templates/interface-boilerplate/components/ui/tabs.tsx +54 -0
  33. package/templates/interface-boilerplate/components/ui/textarea.tsx +22 -0
  34. package/templates/interface-boilerplate/components/ui/tooltip.tsx +29 -0
  35. package/templates/interface-boilerplate/lib/analytics.ts +182 -0
  36. package/templates/interface-boilerplate/lib/auth-context.tsx +83 -0
  37. package/templates/interface-boilerplate/lib/auth.ts +199 -0
  38. package/templates/interface-boilerplate/lib/callFlow.ts +234 -0
  39. package/templates/interface-boilerplate/lib/flowTracer.ts +195 -0
  40. package/templates/interface-boilerplate/lib/hooks/.gitkeep +0 -0
  41. package/templates/interface-boilerplate/lib/stores/.gitkeep +0 -0
  42. package/templates/interface-boilerplate/lib/utils.ts +6 -0
  43. package/templates/interface-boilerplate/next.config.js +6 -0
  44. package/templates/interface-boilerplate/package.json +51 -0
  45. package/templates/interface-boilerplate/postcss.config.js +6 -0
  46. package/templates/interface-boilerplate/tailwind.config.js +103 -0
  47. package/templates/interface-boilerplate/tsconfig.json +20 -0
@@ -0,0 +1,103 @@
1
+ /** @type {import('tailwindcss').Config} */
2
+ module.exports = {
3
+ darkMode: ['class'],
4
+ content: [
5
+ './app/**/*.{js,ts,jsx,tsx,mdx}',
6
+ './components/**/*.{js,ts,jsx,tsx,mdx}',
7
+ ],
8
+ theme: {
9
+ extend: {
10
+ colors: {
11
+ border: 'hsl(var(--border))',
12
+ input: 'hsl(var(--input))',
13
+ ring: 'hsl(var(--ring))',
14
+ background: 'hsl(var(--background))',
15
+ foreground: 'hsl(var(--foreground))',
16
+ primary: {
17
+ DEFAULT: 'hsl(var(--primary))',
18
+ foreground: 'hsl(var(--primary-foreground))',
19
+ },
20
+ secondary: {
21
+ DEFAULT: 'hsl(var(--secondary))',
22
+ foreground: 'hsl(var(--secondary-foreground))',
23
+ },
24
+ destructive: {
25
+ DEFAULT: 'hsl(var(--destructive))',
26
+ foreground: 'hsl(var(--destructive-foreground))',
27
+ },
28
+ success: {
29
+ DEFAULT: 'hsl(var(--success))',
30
+ foreground: 'hsl(var(--success-foreground))',
31
+ },
32
+ warning: {
33
+ DEFAULT: 'hsl(var(--warning))',
34
+ foreground: 'hsl(var(--warning-foreground))',
35
+ },
36
+ muted: {
37
+ DEFAULT: 'hsl(var(--muted))',
38
+ foreground: 'hsl(var(--muted-foreground))',
39
+ },
40
+ accent: {
41
+ DEFAULT: 'hsl(var(--accent))',
42
+ foreground: 'hsl(var(--accent-foreground))',
43
+ },
44
+ popover: {
45
+ DEFAULT: 'hsl(var(--popover))',
46
+ foreground: 'hsl(var(--popover-foreground))',
47
+ },
48
+ card: {
49
+ DEFAULT: 'hsl(var(--card))',
50
+ foreground: 'hsl(var(--card-foreground))',
51
+ },
52
+ },
53
+ borderRadius: {
54
+ lg: 'var(--radius)',
55
+ md: 'calc(var(--radius) - 2px)',
56
+ sm: 'calc(var(--radius) - 4px)',
57
+ },
58
+ fontFamily: {
59
+ sans: ['var(--font-sans)', 'system-ui', 'sans-serif'],
60
+ },
61
+ keyframes: {
62
+ 'accordion-down': {
63
+ from: { height: '0' },
64
+ to: { height: 'var(--radix-accordion-content-height)' },
65
+ },
66
+ 'accordion-up': {
67
+ from: { height: 'var(--radix-accordion-content-height)' },
68
+ to: { height: '0' },
69
+ },
70
+ 'fade-in': {
71
+ from: { opacity: '0' },
72
+ to: { opacity: '1' },
73
+ },
74
+ 'fade-out': {
75
+ from: { opacity: '1' },
76
+ to: { opacity: '0' },
77
+ },
78
+ 'slide-in-from-top': {
79
+ from: { transform: 'translateY(-10px)', opacity: '0' },
80
+ to: { transform: 'translateY(0)', opacity: '1' },
81
+ },
82
+ 'slide-in-from-bottom': {
83
+ from: { transform: 'translateY(10px)', opacity: '0' },
84
+ to: { transform: 'translateY(0)', opacity: '1' },
85
+ },
86
+ 'spin-slow': {
87
+ from: { transform: 'rotate(0deg)' },
88
+ to: { transform: 'rotate(360deg)' },
89
+ },
90
+ },
91
+ animation: {
92
+ 'accordion-down': 'accordion-down 0.2s ease-out',
93
+ 'accordion-up': 'accordion-up 0.2s ease-out',
94
+ 'fade-in': 'fade-in 0.2s ease-out',
95
+ 'fade-out': 'fade-out 0.2s ease-out',
96
+ 'slide-in-from-top': 'slide-in-from-top 0.3s ease-out',
97
+ 'slide-in-from-bottom': 'slide-in-from-bottom 0.3s ease-out',
98
+ 'spin-slow': 'spin-slow 2s linear infinite',
99
+ },
100
+ },
101
+ },
102
+ plugins: [require('tailwindcss-animate')],
103
+ };
@@ -0,0 +1,20 @@
1
+ {
2
+ "compilerOptions": {
3
+ "lib": ["dom", "dom.iterable", "esnext"],
4
+ "allowJs": true,
5
+ "skipLibCheck": true,
6
+ "strict": true,
7
+ "noEmit": true,
8
+ "esModuleInterop": true,
9
+ "module": "esnext",
10
+ "moduleResolution": "bundler",
11
+ "resolveJsonModule": true,
12
+ "isolatedModules": true,
13
+ "jsx": "preserve",
14
+ "incremental": true,
15
+ "plugins": [{ "name": "next" }],
16
+ "paths": { "@/*": ["./*"] }
17
+ },
18
+ "include": ["next-env.d.ts", "**/*.ts", "**/*.tsx", ".next/types/**/*.ts"],
19
+ "exclude": ["node_modules"]
20
+ }