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.
- package/commands/interface/boilerplate.js +16 -2
- package/package.json +1 -1
- package/templates/interface-boilerplate/.env.example +2 -0
- package/templates/interface-boilerplate/.eslintrc.json +4 -0
- package/templates/interface-boilerplate/app/auth/callback/page.tsx +43 -0
- package/templates/interface-boilerplate/app/dashboard/page.tsx +226 -0
- package/templates/interface-boilerplate/app/globals.css +121 -0
- package/templates/interface-boilerplate/app/layout.tsx +46 -0
- package/templates/interface-boilerplate/app/login/page.tsx +178 -0
- package/templates/interface-boilerplate/app/page.tsx +129 -0
- package/templates/interface-boilerplate/app/signup/page.tsx +199 -0
- package/templates/interface-boilerplate/components/AnalyticsProvider.tsx +142 -0
- package/templates/interface-boilerplate/components/AuthGuard.tsx +76 -0
- package/templates/interface-boilerplate/components/ErrorBoundary.tsx +106 -0
- package/templates/interface-boilerplate/components/theme-provider.tsx +9 -0
- package/templates/interface-boilerplate/components/theme-toggle.tsx +39 -0
- package/templates/interface-boilerplate/components/ui/avatar.tsx +46 -0
- package/templates/interface-boilerplate/components/ui/badge.tsx +32 -0
- package/templates/interface-boilerplate/components/ui/button.tsx +52 -0
- package/templates/interface-boilerplate/components/ui/card.tsx +57 -0
- package/templates/interface-boilerplate/components/ui/checkbox.tsx +27 -0
- package/templates/interface-boilerplate/components/ui/dialog.tsx +100 -0
- package/templates/interface-boilerplate/components/ui/dropdown-menu.tsx +173 -0
- package/templates/interface-boilerplate/components/ui/index.ts +53 -0
- package/templates/interface-boilerplate/components/ui/input.tsx +23 -0
- package/templates/interface-boilerplate/components/ui/label.tsx +20 -0
- package/templates/interface-boilerplate/components/ui/progress.tsx +24 -0
- package/templates/interface-boilerplate/components/ui/select.tsx +149 -0
- package/templates/interface-boilerplate/components/ui/separator.tsx +25 -0
- package/templates/interface-boilerplate/components/ui/skeleton.tsx +12 -0
- package/templates/interface-boilerplate/components/ui/switch.tsx +28 -0
- package/templates/interface-boilerplate/components/ui/tabs.tsx +54 -0
- package/templates/interface-boilerplate/components/ui/textarea.tsx +22 -0
- package/templates/interface-boilerplate/components/ui/tooltip.tsx +29 -0
- package/templates/interface-boilerplate/lib/analytics.ts +182 -0
- package/templates/interface-boilerplate/lib/auth-context.tsx +83 -0
- package/templates/interface-boilerplate/lib/auth.ts +199 -0
- package/templates/interface-boilerplate/lib/callFlow.ts +234 -0
- package/templates/interface-boilerplate/lib/flowTracer.ts +195 -0
- package/templates/interface-boilerplate/lib/hooks/.gitkeep +0 -0
- package/templates/interface-boilerplate/lib/stores/.gitkeep +0 -0
- package/templates/interface-boilerplate/lib/utils.ts +6 -0
- package/templates/interface-boilerplate/next.config.js +6 -0
- package/templates/interface-boilerplate/package.json +51 -0
- package/templates/interface-boilerplate/postcss.config.js +6 -0
- package/templates/interface-boilerplate/tailwind.config.js +103 -0
- 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
|
+
}
|