@tioelvis/next-template 2.4.8 → 3.0.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 (132) hide show
  1. package/README.md +42 -42
  2. package/package.json +44 -92
  3. package/src/actions/configure-package-json.js +32 -0
  4. package/src/actions/init-project.js +40 -0
  5. package/src/actions/init-shadcn-ui.js +48 -0
  6. package/src/actions/init-theme.js +28 -0
  7. package/src/actions/init-tioelvis-components.js +42 -0
  8. package/src/actions/install-main-packages.js +51 -0
  9. package/src/constants.js +234 -97
  10. package/src/lib/exception.js +9 -0
  11. package/src/lib/utils.js +55 -0
  12. package/src/main.js +158 -229
  13. package/src/template/eslint.config.mjs +15 -13
  14. package/src/template/postcss.config.mjs +3 -1
  15. package/src/template/src/app/globals.css +0 -122
  16. package/src/template/src/app/layout.tsx +7 -15
  17. package/src/template/src/app/page.tsx +6 -2
  18. package/src/template/tsconfig.json +9 -2
  19. package/src/themes/blue.css +141 -0
  20. package/src/themes/default.css +141 -0
  21. package/src/themes/green.css +141 -0
  22. package/src/themes/orange.css +141 -0
  23. package/src/themes/red.css +141 -0
  24. package/src/themes/rose.css +141 -0
  25. package/src/themes/violet.css +141 -0
  26. package/src/themes/yellow.css +141 -0
  27. package/src/tioelvis-components/max-width-wrapper.tsx +21 -0
  28. package/src/app/components/ui/accordion.json +0 -6
  29. package/src/app/components/ui/accordion.tsx +0 -64
  30. package/src/app/components/ui/alert-dialog.json +0 -6
  31. package/src/app/components/ui/alert-dialog.tsx +0 -157
  32. package/src/app/components/ui/alert.json +0 -6
  33. package/src/app/components/ui/alert.tsx +0 -66
  34. package/src/app/components/ui/aspect-ratio.json +0 -6
  35. package/src/app/components/ui/aspect-ratio.tsx +0 -11
  36. package/src/app/components/ui/avatar.json +0 -6
  37. package/src/app/components/ui/avatar.tsx +0 -53
  38. package/src/app/components/ui/badge.json +0 -6
  39. package/src/app/components/ui/badge.tsx +0 -46
  40. package/src/app/components/ui/breadcrumb.json +0 -6
  41. package/src/app/components/ui/breadcrumb.tsx +0 -107
  42. package/src/app/components/ui/button.json +0 -6
  43. package/src/app/components/ui/button.tsx +0 -58
  44. package/src/app/components/ui/calendar.json +0 -6
  45. package/src/app/components/ui/calendar.tsx +0 -213
  46. package/src/app/components/ui/card.json +0 -6
  47. package/src/app/components/ui/card.tsx +0 -92
  48. package/src/app/components/ui/carousel.json +0 -6
  49. package/src/app/components/ui/carousel.tsx +0 -236
  50. package/src/app/components/ui/chart.json +0 -6
  51. package/src/app/components/ui/chart.tsx +0 -347
  52. package/src/app/components/ui/checkbox.json +0 -6
  53. package/src/app/components/ui/checkbox.tsx +0 -30
  54. package/src/app/components/ui/collapsible.json +0 -6
  55. package/src/app/components/ui/collapsible.tsx +0 -33
  56. package/src/app/components/ui/command.json +0 -6
  57. package/src/app/components/ui/command.tsx +0 -182
  58. package/src/app/components/ui/context-menu.json +0 -6
  59. package/src/app/components/ui/context-menu.tsx +0 -249
  60. package/src/app/components/ui/dialog.json +0 -6
  61. package/src/app/components/ui/dialog.tsx +0 -141
  62. package/src/app/components/ui/drawer.json +0 -6
  63. package/src/app/components/ui/drawer.tsx +0 -134
  64. package/src/app/components/ui/dropdown-menu.json +0 -6
  65. package/src/app/components/ui/dropdown-menu.tsx +0 -256
  66. package/src/app/components/ui/form.json +0 -12
  67. package/src/app/components/ui/form.tsx +0 -167
  68. package/src/app/components/ui/hover-card.json +0 -6
  69. package/src/app/components/ui/hover-card.tsx +0 -49
  70. package/src/app/components/ui/input-otp.json +0 -6
  71. package/src/app/components/ui/input-otp.tsx +0 -76
  72. package/src/app/components/ui/input.json +0 -6
  73. package/src/app/components/ui/input.tsx +0 -21
  74. package/src/app/components/ui/label.json +0 -6
  75. package/src/app/components/ui/label.tsx +0 -24
  76. package/src/app/components/ui/menubar.json +0 -6
  77. package/src/app/components/ui/menubar.tsx +0 -273
  78. package/src/app/components/ui/navigation-menu.json +0 -6
  79. package/src/app/components/ui/navigation-menu.tsx +0 -164
  80. package/src/app/components/ui/pagination.json +0 -6
  81. package/src/app/components/ui/pagination.tsx +0 -124
  82. package/src/app/components/ui/popover.json +0 -6
  83. package/src/app/components/ui/popover.tsx +0 -55
  84. package/src/app/components/ui/progress.json +0 -6
  85. package/src/app/components/ui/progress.tsx +0 -30
  86. package/src/app/components/ui/radio-group.json +0 -6
  87. package/src/app/components/ui/radio-group.tsx +0 -43
  88. package/src/app/components/ui/resizable.json +0 -6
  89. package/src/app/components/ui/resizable.tsx +0 -55
  90. package/src/app/components/ui/scroll-area.json +0 -6
  91. package/src/app/components/ui/scroll-area.tsx +0 -55
  92. package/src/app/components/ui/select.json +0 -6
  93. package/src/app/components/ui/select.tsx +0 -179
  94. package/src/app/components/ui/separator.json +0 -6
  95. package/src/app/components/ui/separator.tsx +0 -28
  96. package/src/app/components/ui/sheet.json +0 -6
  97. package/src/app/components/ui/sheet.tsx +0 -145
  98. package/src/app/components/ui/sidebar.json +0 -6
  99. package/src/app/components/ui/sidebar.tsx +0 -718
  100. package/src/app/components/ui/skeleton.json +0 -6
  101. package/src/app/components/ui/skeleton.tsx +0 -13
  102. package/src/app/components/ui/slider.json +0 -6
  103. package/src/app/components/ui/slider.tsx +0 -61
  104. package/src/app/components/ui/sonner.json +0 -6
  105. package/src/app/components/ui/sonner.tsx +0 -25
  106. package/src/app/components/ui/switch.json +0 -6
  107. package/src/app/components/ui/switch.tsx +0 -30
  108. package/src/app/components/ui/table.json +0 -6
  109. package/src/app/components/ui/table.tsx +0 -115
  110. package/src/app/components/ui/tabs.json +0 -6
  111. package/src/app/components/ui/tabs.tsx +0 -66
  112. package/src/app/components/ui/textarea.json +0 -6
  113. package/src/app/components/ui/textarea.tsx +0 -18
  114. package/src/app/components/ui/toggle-group.json +0 -6
  115. package/src/app/components/ui/toggle-group.tsx +0 -71
  116. package/src/app/components/ui/toggle.json +0 -6
  117. package/src/app/components/ui/toggle.tsx +0 -47
  118. package/src/app/components/ui/tooltip.json +0 -6
  119. package/src/app/components/ui/tooltip.tsx +0 -60
  120. package/src/app/hooks/use-mobile.ts +0 -21
  121. package/src/app/lib/utils.ts +0 -6
  122. package/src/app/tsconfig.json +0 -27
  123. package/src/template/components.json +0 -21
  124. package/src/template/next-env.d.ts +0 -5
  125. package/src/template/public/.gitkeep +0 -0
  126. package/src/template/src/lib/axios.ts +0 -39
  127. package/src/template/src/lib/constants.ts +0 -1
  128. package/src/template/src/lib/utils.ts +0 -6
  129. package/src/template/src/providers/query.provider.tsx +0 -12
  130. package/src/template/src/providers/theme.provider.tsx +0 -8
  131. package/src/utils.js +0 -113
  132. /package/src/template/{src/app → public}/favicon.ico +0 -0
@@ -0,0 +1,141 @@
1
+ @import "tailwindcss";
2
+ @import "tw-animate-css";
3
+
4
+ @custom-variant dark (&:is(.dark *));
5
+
6
+ @theme inline {
7
+ --radius-sm: calc(var(--radius) - 4px);
8
+ --radius-md: calc(var(--radius) - 2px);
9
+ --radius-lg: var(--radius);
10
+ --radius-xl: calc(var(--radius) + 4px);
11
+ --radius-2xl: calc(var(--radius) + 8px);
12
+ --radius-3xl: calc(var(--radius) + 12px);
13
+ --radius-4xl: calc(var(--radius) + 16px);
14
+ --color-background: var(--background);
15
+ --color-foreground: var(--foreground);
16
+ --color-card: var(--card);
17
+ --color-card-foreground: var(--card-foreground);
18
+ --color-popover: var(--popover);
19
+ --color-popover-foreground: var(--popover-foreground);
20
+ --color-primary: var(--primary);
21
+ --color-primary-foreground: var(--primary-foreground);
22
+ --color-secondary: var(--secondary);
23
+ --color-secondary-foreground: var(--secondary-foreground);
24
+ --color-muted: var(--muted);
25
+ --color-muted-foreground: var(--muted-foreground);
26
+ --color-accent: var(--accent);
27
+ --color-accent-foreground: var(--accent-foreground);
28
+ --color-destructive: var(--destructive);
29
+ --color-border: var(--border);
30
+ --color-input: var(--input);
31
+ --color-ring: var(--ring);
32
+ --color-chart-1: var(--chart-1);
33
+ --color-chart-2: var(--chart-2);
34
+ --color-chart-3: var(--chart-3);
35
+ --color-chart-4: var(--chart-4);
36
+ --color-chart-5: var(--chart-5);
37
+ --color-sidebar: var(--sidebar);
38
+ --color-sidebar-foreground: var(--sidebar-foreground);
39
+ --color-sidebar-primary: var(--sidebar-primary);
40
+ --color-sidebar-primary-foreground: var(--sidebar-primary-foreground);
41
+ --color-sidebar-accent: var(--sidebar-accent);
42
+ --color-sidebar-accent-foreground: var(--sidebar-accent-foreground);
43
+ --color-sidebar-border: var(--sidebar-border);
44
+ --color-sidebar-ring: var(--sidebar-ring);
45
+ }
46
+
47
+ :root {
48
+ --radius: 0.65rem;
49
+ --background: oklch(1 0 0);
50
+ --foreground: oklch(0.141 0.005 285.823);
51
+ --card: oklch(1 0 0);
52
+ --card-foreground: oklch(0.141 0.005 285.823);
53
+ --popover: oklch(1 0 0);
54
+ --popover-foreground: oklch(0.141 0.005 285.823);
55
+ --primary: oklch(0.586 0.253 17.585);
56
+ --primary-foreground: oklch(0.969 0.015 12.422);
57
+ --secondary: oklch(0.967 0.001 286.375);
58
+ --secondary-foreground: oklch(0.21 0.006 285.885);
59
+ --muted: oklch(0.967 0.001 286.375);
60
+ --muted-foreground: oklch(0.552 0.016 285.938);
61
+ --accent: oklch(0.967 0.001 286.375);
62
+ --accent-foreground: oklch(0.21 0.006 285.885);
63
+ --destructive: oklch(0.577 0.245 27.325);
64
+ --border: oklch(0.92 0.004 286.32);
65
+ --input: oklch(0.92 0.004 286.32);
66
+ --ring: oklch(0.712 0.194 13.428);
67
+ --chart-1: oklch(0.81 0.117 11.638);
68
+ --chart-2: oklch(0.645 0.246 16.439);
69
+ --chart-3: oklch(0.586 0.253 17.585);
70
+ --chart-4: oklch(0.514 0.222 16.935);
71
+ --chart-5: oklch(0.455 0.188 13.697);
72
+ --sidebar: oklch(0.985 0 0);
73
+ --sidebar-foreground: oklch(0.141 0.005 285.823);
74
+ --sidebar-primary: oklch(0.586 0.253 17.585);
75
+ --sidebar-primary-foreground: oklch(0.969 0.015 12.422);
76
+ --sidebar-accent: oklch(0.967 0.001 286.375);
77
+ --sidebar-accent-foreground: oklch(0.21 0.006 285.885);
78
+ --sidebar-border: oklch(0.92 0.004 286.32);
79
+ --sidebar-ring: oklch(0.712 0.194 13.428);
80
+ }
81
+
82
+ .dark {
83
+ --background: oklch(0.141 0.005 285.823);
84
+ --foreground: oklch(0.985 0 0);
85
+ --card: oklch(0.21 0.006 285.885);
86
+ --card-foreground: oklch(0.985 0 0);
87
+ --popover: oklch(0.21 0.006 285.885);
88
+ --popover-foreground: oklch(0.985 0 0);
89
+ --primary: oklch(0.645 0.246 16.439);
90
+ --primary-foreground: oklch(0.969 0.015 12.422);
91
+ --secondary: oklch(0.274 0.006 286.033);
92
+ --secondary-foreground: oklch(0.985 0 0);
93
+ --muted: oklch(0.274 0.006 286.033);
94
+ --muted-foreground: oklch(0.705 0.015 286.067);
95
+ --accent: oklch(0.274 0.006 286.033);
96
+ --accent-foreground: oklch(0.985 0 0);
97
+ --destructive: oklch(0.704 0.191 22.216);
98
+ --border: oklch(1 0 0 / 10%);
99
+ --input: oklch(1 0 0 / 15%);
100
+ --ring: oklch(0.41 0.159 10.272);
101
+ --chart-1: oklch(0.81 0.117 11.638);
102
+ --chart-2: oklch(0.645 0.246 16.439);
103
+ --chart-3: oklch(0.586 0.253 17.585);
104
+ --chart-4: oklch(0.514 0.222 16.935);
105
+ --chart-5: oklch(0.455 0.188 13.697);
106
+ --sidebar: oklch(0.21 0.006 285.885);
107
+ --sidebar-foreground: oklch(0.985 0 0);
108
+ --sidebar-primary: oklch(0.645 0.246 16.439);
109
+ --sidebar-primary-foreground: oklch(0.969 0.015 12.422);
110
+ --sidebar-accent: oklch(0.274 0.006 286.033);
111
+ --sidebar-accent-foreground: oklch(0.985 0 0);
112
+ --sidebar-border: oklch(1 0 0 / 10%);
113
+ --sidebar-ring: oklch(0.41 0.159 10.272);
114
+ }
115
+
116
+ @layer base {
117
+ * {
118
+ @apply border-border outline-ring/50 text-sm md:text-base;
119
+ }
120
+ body {
121
+ @apply bg-background text-foreground;
122
+ }
123
+ h1 {
124
+ @apply text-4xl md:text-5xl font-bold;
125
+ }
126
+ h2 {
127
+ @apply text-3xl md:text-4xl font-semibold;
128
+ }
129
+ h3 {
130
+ @apply text-2xl md:text-3xl font-medium;
131
+ }
132
+ h4 {
133
+ @apply text-xl md:text-2xl font-medium;
134
+ }
135
+ button {
136
+ @apply cursor-pointer;
137
+ }
138
+ input {
139
+ @apply placeholder:text-sm;
140
+ }
141
+ }
@@ -0,0 +1,141 @@
1
+ @import "tailwindcss";
2
+ @import "tw-animate-css";
3
+
4
+ @custom-variant dark (&:is(.dark *));
5
+
6
+ @theme inline {
7
+ --radius-sm: calc(var(--radius) - 4px);
8
+ --radius-md: calc(var(--radius) - 2px);
9
+ --radius-lg: var(--radius);
10
+ --radius-xl: calc(var(--radius) + 4px);
11
+ --radius-2xl: calc(var(--radius) + 8px);
12
+ --radius-3xl: calc(var(--radius) + 12px);
13
+ --radius-4xl: calc(var(--radius) + 16px);
14
+ --color-background: var(--background);
15
+ --color-foreground: var(--foreground);
16
+ --color-card: var(--card);
17
+ --color-card-foreground: var(--card-foreground);
18
+ --color-popover: var(--popover);
19
+ --color-popover-foreground: var(--popover-foreground);
20
+ --color-primary: var(--primary);
21
+ --color-primary-foreground: var(--primary-foreground);
22
+ --color-secondary: var(--secondary);
23
+ --color-secondary-foreground: var(--secondary-foreground);
24
+ --color-muted: var(--muted);
25
+ --color-muted-foreground: var(--muted-foreground);
26
+ --color-accent: var(--accent);
27
+ --color-accent-foreground: var(--accent-foreground);
28
+ --color-destructive: var(--destructive);
29
+ --color-border: var(--border);
30
+ --color-input: var(--input);
31
+ --color-ring: var(--ring);
32
+ --color-chart-1: var(--chart-1);
33
+ --color-chart-2: var(--chart-2);
34
+ --color-chart-3: var(--chart-3);
35
+ --color-chart-4: var(--chart-4);
36
+ --color-chart-5: var(--chart-5);
37
+ --color-sidebar: var(--sidebar);
38
+ --color-sidebar-foreground: var(--sidebar-foreground);
39
+ --color-sidebar-primary: var(--sidebar-primary);
40
+ --color-sidebar-primary-foreground: var(--sidebar-primary-foreground);
41
+ --color-sidebar-accent: var(--sidebar-accent);
42
+ --color-sidebar-accent-foreground: var(--sidebar-accent-foreground);
43
+ --color-sidebar-border: var(--sidebar-border);
44
+ --color-sidebar-ring: var(--sidebar-ring);
45
+ }
46
+
47
+ :root {
48
+ --radius: 0.65rem;
49
+ --background: oklch(1 0 0);
50
+ --foreground: oklch(0.141 0.005 285.823);
51
+ --card: oklch(1 0 0);
52
+ --card-foreground: oklch(0.141 0.005 285.823);
53
+ --popover: oklch(1 0 0);
54
+ --popover-foreground: oklch(0.141 0.005 285.823);
55
+ --primary: oklch(0.541 0.281 293.009);
56
+ --primary-foreground: oklch(0.969 0.016 293.756);
57
+ --secondary: oklch(0.967 0.001 286.375);
58
+ --secondary-foreground: oklch(0.21 0.006 285.885);
59
+ --muted: oklch(0.967 0.001 286.375);
60
+ --muted-foreground: oklch(0.552 0.016 285.938);
61
+ --accent: oklch(0.967 0.001 286.375);
62
+ --accent-foreground: oklch(0.21 0.006 285.885);
63
+ --destructive: oklch(0.577 0.245 27.325);
64
+ --border: oklch(0.92 0.004 286.32);
65
+ --input: oklch(0.92 0.004 286.32);
66
+ --ring: oklch(0.702 0.183 293.541);
67
+ --chart-1: oklch(0.811 0.111 293.571);
68
+ --chart-2: oklch(0.606 0.25 292.717);
69
+ --chart-3: oklch(0.541 0.281 293.009);
70
+ --chart-4: oklch(0.491 0.27 292.581);
71
+ --chart-5: oklch(0.432 0.232 292.759);
72
+ --sidebar: oklch(0.985 0 0);
73
+ --sidebar-foreground: oklch(0.141 0.005 285.823);
74
+ --sidebar-primary: oklch(0.541 0.281 293.009);
75
+ --sidebar-primary-foreground: oklch(0.969 0.016 293.756);
76
+ --sidebar-accent: oklch(0.967 0.001 286.375);
77
+ --sidebar-accent-foreground: oklch(0.21 0.006 285.885);
78
+ --sidebar-border: oklch(0.92 0.004 286.32);
79
+ --sidebar-ring: oklch(0.702 0.183 293.541);
80
+ }
81
+
82
+ .dark {
83
+ --background: oklch(0.141 0.005 285.823);
84
+ --foreground: oklch(0.985 0 0);
85
+ --card: oklch(0.21 0.006 285.885);
86
+ --card-foreground: oklch(0.985 0 0);
87
+ --popover: oklch(0.21 0.006 285.885);
88
+ --popover-foreground: oklch(0.985 0 0);
89
+ --primary: oklch(0.606 0.25 292.717);
90
+ --primary-foreground: oklch(0.969 0.016 293.756);
91
+ --secondary: oklch(0.274 0.006 286.033);
92
+ --secondary-foreground: oklch(0.985 0 0);
93
+ --muted: oklch(0.274 0.006 286.033);
94
+ --muted-foreground: oklch(0.705 0.015 286.067);
95
+ --accent: oklch(0.274 0.006 286.033);
96
+ --accent-foreground: oklch(0.985 0 0);
97
+ --destructive: oklch(0.704 0.191 22.216);
98
+ --border: oklch(1 0 0 / 10%);
99
+ --input: oklch(1 0 0 / 15%);
100
+ --ring: oklch(0.38 0.189 293.745);
101
+ --chart-1: oklch(0.811 0.111 293.571);
102
+ --chart-2: oklch(0.606 0.25 292.717);
103
+ --chart-3: oklch(0.541 0.281 293.009);
104
+ --chart-4: oklch(0.491 0.27 292.581);
105
+ --chart-5: oklch(0.432 0.232 292.759);
106
+ --sidebar: oklch(0.21 0.006 285.885);
107
+ --sidebar-foreground: oklch(0.985 0 0);
108
+ --sidebar-primary: oklch(0.606 0.25 292.717);
109
+ --sidebar-primary-foreground: oklch(0.969 0.016 293.756);
110
+ --sidebar-accent: oklch(0.274 0.006 286.033);
111
+ --sidebar-accent-foreground: oklch(0.985 0 0);
112
+ --sidebar-border: oklch(1 0 0 / 10%);
113
+ --sidebar-ring: oklch(0.38 0.189 293.745);
114
+ }
115
+
116
+ @layer base {
117
+ * {
118
+ @apply border-border outline-ring/50 text-sm md:text-base;
119
+ }
120
+ body {
121
+ @apply bg-background text-foreground;
122
+ }
123
+ h1 {
124
+ @apply text-4xl md:text-5xl font-bold;
125
+ }
126
+ h2 {
127
+ @apply text-3xl md:text-4xl font-semibold;
128
+ }
129
+ h3 {
130
+ @apply text-2xl md:text-3xl font-medium;
131
+ }
132
+ h4 {
133
+ @apply text-xl md:text-2xl font-medium;
134
+ }
135
+ button {
136
+ @apply cursor-pointer;
137
+ }
138
+ input {
139
+ @apply placeholder:text-sm;
140
+ }
141
+ }
@@ -0,0 +1,141 @@
1
+ @import "tailwindcss";
2
+ @import "tw-animate-css";
3
+
4
+ @custom-variant dark (&:is(.dark *));
5
+
6
+ @theme inline {
7
+ --radius-sm: calc(var(--radius) - 4px);
8
+ --radius-md: calc(var(--radius) - 2px);
9
+ --radius-lg: var(--radius);
10
+ --radius-xl: calc(var(--radius) + 4px);
11
+ --radius-2xl: calc(var(--radius) + 8px);
12
+ --radius-3xl: calc(var(--radius) + 12px);
13
+ --radius-4xl: calc(var(--radius) + 16px);
14
+ --color-background: var(--background);
15
+ --color-foreground: var(--foreground);
16
+ --color-card: var(--card);
17
+ --color-card-foreground: var(--card-foreground);
18
+ --color-popover: var(--popover);
19
+ --color-popover-foreground: var(--popover-foreground);
20
+ --color-primary: var(--primary);
21
+ --color-primary-foreground: var(--primary-foreground);
22
+ --color-secondary: var(--secondary);
23
+ --color-secondary-foreground: var(--secondary-foreground);
24
+ --color-muted: var(--muted);
25
+ --color-muted-foreground: var(--muted-foreground);
26
+ --color-accent: var(--accent);
27
+ --color-accent-foreground: var(--accent-foreground);
28
+ --color-destructive: var(--destructive);
29
+ --color-border: var(--border);
30
+ --color-input: var(--input);
31
+ --color-ring: var(--ring);
32
+ --color-chart-1: var(--chart-1);
33
+ --color-chart-2: var(--chart-2);
34
+ --color-chart-3: var(--chart-3);
35
+ --color-chart-4: var(--chart-4);
36
+ --color-chart-5: var(--chart-5);
37
+ --color-sidebar: var(--sidebar);
38
+ --color-sidebar-foreground: var(--sidebar-foreground);
39
+ --color-sidebar-primary: var(--sidebar-primary);
40
+ --color-sidebar-primary-foreground: var(--sidebar-primary-foreground);
41
+ --color-sidebar-accent: var(--sidebar-accent);
42
+ --color-sidebar-accent-foreground: var(--sidebar-accent-foreground);
43
+ --color-sidebar-border: var(--sidebar-border);
44
+ --color-sidebar-ring: var(--sidebar-ring);
45
+ }
46
+
47
+ :root {
48
+ --radius: 0.65rem;
49
+ --background: oklch(1 0 0);
50
+ --foreground: oklch(0.141 0.005 285.823);
51
+ --card: oklch(1 0 0);
52
+ --card-foreground: oklch(0.141 0.005 285.823);
53
+ --popover: oklch(1 0 0);
54
+ --popover-foreground: oklch(0.141 0.005 285.823);
55
+ --primary: oklch(0.852 0.199 91.936);
56
+ --primary-foreground: oklch(0.421 0.095 57.708);
57
+ --secondary: oklch(0.967 0.001 286.375);
58
+ --secondary-foreground: oklch(0.21 0.006 285.885);
59
+ --muted: oklch(0.967 0.001 286.375);
60
+ --muted-foreground: oklch(0.552 0.016 285.938);
61
+ --accent: oklch(0.967 0.001 286.375);
62
+ --accent-foreground: oklch(0.21 0.006 285.885);
63
+ --destructive: oklch(0.577 0.245 27.325);
64
+ --border: oklch(0.92 0.004 286.32);
65
+ --input: oklch(0.92 0.004 286.32);
66
+ --ring: oklch(0.852 0.199 91.936);
67
+ --chart-1: oklch(0.905 0.182 98.111);
68
+ --chart-2: oklch(0.795 0.184 86.047);
69
+ --chart-3: oklch(0.681 0.162 75.834);
70
+ --chart-4: oklch(0.554 0.135 66.442);
71
+ --chart-5: oklch(0.476 0.114 61.907);
72
+ --sidebar: oklch(0.985 0 0);
73
+ --sidebar-foreground: oklch(0.141 0.005 285.823);
74
+ --sidebar-primary: oklch(0.681 0.162 75.834);
75
+ --sidebar-primary-foreground: oklch(0.987 0.026 102.212);
76
+ --sidebar-accent: oklch(0.967 0.001 286.375);
77
+ --sidebar-accent-foreground: oklch(0.21 0.006 285.885);
78
+ --sidebar-border: oklch(0.92 0.004 286.32);
79
+ --sidebar-ring: oklch(0.852 0.199 91.936);
80
+ }
81
+
82
+ .dark {
83
+ --background: oklch(0.141 0.005 285.823);
84
+ --foreground: oklch(0.985 0 0);
85
+ --card: oklch(0.21 0.006 285.885);
86
+ --card-foreground: oklch(0.985 0 0);
87
+ --popover: oklch(0.21 0.006 285.885);
88
+ --popover-foreground: oklch(0.985 0 0);
89
+ --primary: oklch(0.795 0.184 86.047);
90
+ --primary-foreground: oklch(0.421 0.095 57.708);
91
+ --secondary: oklch(0.274 0.006 286.033);
92
+ --secondary-foreground: oklch(0.985 0 0);
93
+ --muted: oklch(0.274 0.006 286.033);
94
+ --muted-foreground: oklch(0.705 0.015 286.067);
95
+ --accent: oklch(0.274 0.006 286.033);
96
+ --accent-foreground: oklch(0.985 0 0);
97
+ --destructive: oklch(0.704 0.191 22.216);
98
+ --border: oklch(1 0 0 / 10%);
99
+ --input: oklch(1 0 0 / 15%);
100
+ --ring: oklch(0.421 0.095 57.708);
101
+ --chart-1: oklch(0.905 0.182 98.111);
102
+ --chart-2: oklch(0.795 0.184 86.047);
103
+ --chart-3: oklch(0.681 0.162 75.834);
104
+ --chart-4: oklch(0.554 0.135 66.442);
105
+ --chart-5: oklch(0.476 0.114 61.907);
106
+ --sidebar: oklch(0.21 0.006 285.885);
107
+ --sidebar-foreground: oklch(0.985 0 0);
108
+ --sidebar-primary: oklch(0.795 0.184 86.047);
109
+ --sidebar-primary-foreground: oklch(0.987 0.026 102.212);
110
+ --sidebar-accent: oklch(0.274 0.006 286.033);
111
+ --sidebar-accent-foreground: oklch(0.985 0 0);
112
+ --sidebar-border: oklch(1 0 0 / 10%);
113
+ --sidebar-ring: oklch(0.421 0.095 57.708);
114
+ }
115
+
116
+ @layer base {
117
+ * {
118
+ @apply border-border outline-ring/50 text-sm md:text-base;
119
+ }
120
+ body {
121
+ @apply bg-background text-foreground;
122
+ }
123
+ h1 {
124
+ @apply text-4xl md:text-5xl font-bold;
125
+ }
126
+ h2 {
127
+ @apply text-3xl md:text-4xl font-semibold;
128
+ }
129
+ h3 {
130
+ @apply text-2xl md:text-3xl font-medium;
131
+ }
132
+ h4 {
133
+ @apply text-xl md:text-2xl font-medium;
134
+ }
135
+ button {
136
+ @apply cursor-pointer;
137
+ }
138
+ input {
139
+ @apply placeholder:text-sm;
140
+ }
141
+ }
@@ -0,0 +1,21 @@
1
+ import { cn } from "@/lib/utils";
2
+ import { ComponentProps, PropsWithChildren } from "react";
3
+
4
+ type Props = PropsWithChildren<ComponentProps<"div">>;
5
+
6
+ export function MaxWidthWrapper({
7
+ children,
8
+ className,
9
+ ...props
10
+ }: Readonly<Props>) {
11
+ return (
12
+ <div
13
+ className={cn(
14
+ "h-full mx-auto w-full max-w-7xl px-12 md:px-20",
15
+ className
16
+ )}
17
+ {...props}>
18
+ {children}
19
+ </div>
20
+ );
21
+ }
@@ -1,6 +0,0 @@
1
- {
2
- "dependencies": ["@radix-ui/react-accordion"],
3
- "dev_dependence": [],
4
- "hooks": [],
5
- "supports": []
6
- }
@@ -1,64 +0,0 @@
1
- "use client";
2
-
3
- import * as React from "react";
4
- import * as AccordionPrimitive from "@radix-ui/react-accordion";
5
- import { ChevronDownIcon } from "lucide-react";
6
-
7
- import { cn } from "@/lib/utils";
8
-
9
- function Accordion({
10
- ...props
11
- }: React.ComponentProps<typeof AccordionPrimitive.Root>) {
12
- return <AccordionPrimitive.Root data-slot="accordion" {...props} />;
13
- }
14
-
15
- function AccordionItem({
16
- className,
17
- ...props
18
- }: React.ComponentProps<typeof AccordionPrimitive.Item>) {
19
- return (
20
- <AccordionPrimitive.Item
21
- data-slot="accordion-item"
22
- className={cn("border-b last:border-b-0", className)}
23
- {...props}
24
- />
25
- );
26
- }
27
-
28
- function AccordionTrigger({
29
- className,
30
- children,
31
- ...props
32
- }: React.ComponentProps<typeof AccordionPrimitive.Trigger>) {
33
- return (
34
- <AccordionPrimitive.Header className="flex">
35
- <AccordionPrimitive.Trigger
36
- data-slot="accordion-trigger"
37
- className={cn(
38
- "focus-visible:border-ring cursor-pointer focus-visible:ring-ring/50 flex flex-1 items-start justify-between gap-4 rounded-md py-4 text-left text-sm font-medium transition-all outline-none hover:underline focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 [&[data-state=open]>svg]:rotate-180",
39
- className
40
- )}
41
- {...props}>
42
- {children}
43
- <ChevronDownIcon className="text-muted-foreground pointer-events-none size-4 shrink-0 translate-y-0.5 transition-transform duration-200" />
44
- </AccordionPrimitive.Trigger>
45
- </AccordionPrimitive.Header>
46
- );
47
- }
48
-
49
- function AccordionContent({
50
- className,
51
- children,
52
- ...props
53
- }: React.ComponentProps<typeof AccordionPrimitive.Content>) {
54
- return (
55
- <AccordionPrimitive.Content
56
- data-slot="accordion-content"
57
- className="data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down overflow-hidden text-sm"
58
- {...props}>
59
- <div className={cn("pt-0 pb-4", className)}>{children}</div>
60
- </AccordionPrimitive.Content>
61
- );
62
- }
63
-
64
- export { Accordion, AccordionItem, AccordionTrigger, AccordionContent };
@@ -1,6 +0,0 @@
1
- {
2
- "dependencies": ["@radix-ui/react-alert-dialog"],
3
- "dev_dependence": [],
4
- "hooks": [],
5
- "supports": ["button"]
6
- }
@@ -1,157 +0,0 @@
1
- "use client";
2
-
3
- import * as React from "react";
4
- import * as AlertDialogPrimitive from "@radix-ui/react-alert-dialog";
5
-
6
- import { cn } from "@/lib/utils";
7
- import { buttonVariants } from "@/components/ui/button";
8
-
9
- function AlertDialog({
10
- ...props
11
- }: React.ComponentProps<typeof AlertDialogPrimitive.Root>) {
12
- return <AlertDialogPrimitive.Root data-slot="alert-dialog" {...props} />;
13
- }
14
-
15
- function AlertDialogTrigger({
16
- ...props
17
- }: React.ComponentProps<typeof AlertDialogPrimitive.Trigger>) {
18
- return (
19
- <AlertDialogPrimitive.Trigger data-slot="alert-dialog-trigger" {...props} />
20
- );
21
- }
22
-
23
- function AlertDialogPortal({
24
- ...props
25
- }: React.ComponentProps<typeof AlertDialogPrimitive.Portal>) {
26
- return (
27
- <AlertDialogPrimitive.Portal data-slot="alert-dialog-portal" {...props} />
28
- );
29
- }
30
-
31
- function AlertDialogOverlay({
32
- className,
33
- ...props
34
- }: React.ComponentProps<typeof AlertDialogPrimitive.Overlay>) {
35
- return (
36
- <AlertDialogPrimitive.Overlay
37
- data-slot="alert-dialog-overlay"
38
- className={cn(
39
- "data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/50",
40
- className
41
- )}
42
- {...props}
43
- />
44
- );
45
- }
46
-
47
- function AlertDialogContent({
48
- className,
49
- ...props
50
- }: React.ComponentProps<typeof AlertDialogPrimitive.Content>) {
51
- return (
52
- <AlertDialogPortal>
53
- <AlertDialogOverlay />
54
- <AlertDialogPrimitive.Content
55
- data-slot="alert-dialog-content"
56
- className={cn(
57
- "bg-background data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg border p-6 shadow-lg duration-200 sm:max-w-lg",
58
- className
59
- )}
60
- {...props}
61
- />
62
- </AlertDialogPortal>
63
- );
64
- }
65
-
66
- function AlertDialogHeader({
67
- className,
68
- ...props
69
- }: React.ComponentProps<"div">) {
70
- return (
71
- <div
72
- data-slot="alert-dialog-header"
73
- className={cn("flex flex-col gap-2 text-center sm:text-left", className)}
74
- {...props}
75
- />
76
- );
77
- }
78
-
79
- function AlertDialogFooter({
80
- className,
81
- ...props
82
- }: React.ComponentProps<"div">) {
83
- return (
84
- <div
85
- data-slot="alert-dialog-footer"
86
- className={cn(
87
- "flex flex-col-reverse gap-2 sm:flex-row sm:justify-end",
88
- className
89
- )}
90
- {...props}
91
- />
92
- );
93
- }
94
-
95
- function AlertDialogTitle({
96
- className,
97
- ...props
98
- }: React.ComponentProps<typeof AlertDialogPrimitive.Title>) {
99
- return (
100
- <AlertDialogPrimitive.Title
101
- data-slot="alert-dialog-title"
102
- className={cn("text-lg font-semibold", className)}
103
- {...props}
104
- />
105
- );
106
- }
107
-
108
- function AlertDialogDescription({
109
- className,
110
- ...props
111
- }: React.ComponentProps<typeof AlertDialogPrimitive.Description>) {
112
- return (
113
- <AlertDialogPrimitive.Description
114
- data-slot="alert-dialog-description"
115
- className={cn("text-muted-foreground text-sm", className)}
116
- {...props}
117
- />
118
- );
119
- }
120
-
121
- function AlertDialogAction({
122
- className,
123
- ...props
124
- }: React.ComponentProps<typeof AlertDialogPrimitive.Action>) {
125
- return (
126
- <AlertDialogPrimitive.Action
127
- className={cn(buttonVariants(), className)}
128
- {...props}
129
- />
130
- );
131
- }
132
-
133
- function AlertDialogCancel({
134
- className,
135
- ...props
136
- }: React.ComponentProps<typeof AlertDialogPrimitive.Cancel>) {
137
- return (
138
- <AlertDialogPrimitive.Cancel
139
- className={cn(buttonVariants({ variant: "outline" }), className)}
140
- {...props}
141
- />
142
- );
143
- }
144
-
145
- export {
146
- AlertDialog,
147
- AlertDialogPortal,
148
- AlertDialogOverlay,
149
- AlertDialogTrigger,
150
- AlertDialogContent,
151
- AlertDialogHeader,
152
- AlertDialogFooter,
153
- AlertDialogTitle,
154
- AlertDialogDescription,
155
- AlertDialogAction,
156
- AlertDialogCancel,
157
- };
@@ -1,6 +0,0 @@
1
- {
2
- "dependencies": [],
3
- "dev_dependence": [],
4
- "hooks": [],
5
- "supports": []
6
- }