create-nextjs-cms 0.9.30 → 0.9.31

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 (143) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +71 -71
  3. package/dist/helpers/utils.js +16 -16
  4. package/dist/lib/section-creators.js +166 -166
  5. package/package.json +2 -2
  6. package/templates/default/.eslintrc.json +5 -5
  7. package/templates/default/.prettierignore +7 -7
  8. package/templates/default/.prettierrc.json +27 -27
  9. package/templates/default/CHANGELOG.md +140 -140
  10. package/templates/default/_gitignore +57 -57
  11. package/templates/default/app/(auth)/auth/login/LoginPage.tsx +192 -192
  12. package/templates/default/app/(auth)/auth/login/page.tsx +11 -11
  13. package/templates/default/app/(auth)/auth-language-provider.tsx +34 -34
  14. package/templates/default/app/(auth)/layout.tsx +81 -81
  15. package/templates/default/app/(rootLayout)/(plugins)/[...slug]/plugin-server-registry.ts +10 -6
  16. package/templates/default/app/(rootLayout)/admins/page.tsx +10 -10
  17. package/templates/default/app/(rootLayout)/browse/[section]/[page]/page.tsx +22 -22
  18. package/templates/default/app/(rootLayout)/categorized/[section]/page.tsx +15 -15
  19. package/templates/default/app/(rootLayout)/dashboard/page.tsx +70 -70
  20. package/templates/default/app/(rootLayout)/edit/[section]/[itemId]/page.tsx +20 -20
  21. package/templates/default/app/(rootLayout)/layout.tsx +81 -81
  22. package/templates/default/app/(rootLayout)/loading.tsx +10 -10
  23. package/templates/default/app/(rootLayout)/log/page.tsx +7 -7
  24. package/templates/default/app/(rootLayout)/new/[section]/page.tsx +15 -15
  25. package/templates/default/app/(rootLayout)/section/[section]/page.tsx +19 -19
  26. package/templates/default/app/(rootLayout)/settings/page.tsx +13 -13
  27. package/templates/default/app/api/auth/csrf/route.ts +25 -25
  28. package/templates/default/app/api/auth/refresh/route.ts +10 -10
  29. package/templates/default/app/api/auth/route.ts +49 -49
  30. package/templates/default/app/api/auth/session/route.ts +20 -20
  31. package/templates/default/app/api/document/route.ts +165 -165
  32. package/templates/default/app/api/editor/photo/route.ts +49 -49
  33. package/templates/default/app/api/photo/route.ts +27 -27
  34. package/templates/default/app/api/submit/section/item/[slug]/route.ts +95 -95
  35. package/templates/default/app/api/submit/section/item/route.ts +56 -56
  36. package/templates/default/app/api/submit/section/simple/route.ts +86 -86
  37. package/templates/default/app/api/video/route.ts +174 -174
  38. package/templates/default/app/globals.css +236 -236
  39. package/templates/default/cms.config.ts +56 -56
  40. package/templates/default/components/admin/admin-card.tsx +165 -165
  41. package/templates/default/components/admin/admin-edit-page.tsx +124 -124
  42. package/templates/default/components/admin/admin-privilege-card.tsx +184 -184
  43. package/templates/default/components/admin/new-admin-form.tsx +172 -172
  44. package/templates/default/components/container-box.tsx +24 -24
  45. package/templates/default/components/dnd-kit/draggable.tsx +21 -21
  46. package/templates/default/components/dnd-kit/droppable.tsx +20 -20
  47. package/templates/default/components/dnd-kit/sortable-item.tsx +18 -18
  48. package/templates/default/components/feedback/error-component.tsx +16 -16
  49. package/templates/default/components/feedback/info-card.tsx +93 -93
  50. package/templates/default/components/feedback/loading-spinners.tsx +67 -67
  51. package/templates/default/components/feedback/modal.tsx +166 -166
  52. package/templates/default/components/feedback/progress-bar.tsx +48 -48
  53. package/templates/default/components/feedback/tooltip-component.tsx +27 -27
  54. package/templates/default/components/form/form-input-element.tsx +70 -70
  55. package/templates/default/components/form/helpers/_section-hot-reload.js +1 -1
  56. package/templates/default/components/form/helpers/util.ts +17 -17
  57. package/templates/default/components/form/inputs/checkbox-form-input.tsx +46 -46
  58. package/templates/default/components/form/inputs/color-form-input.tsx +44 -44
  59. package/templates/default/components/form/inputs/date-form-input.tsx +93 -93
  60. package/templates/default/components/form/inputs/map-form-input.tsx +141 -141
  61. package/templates/default/components/form/inputs/multiple-select-form-input.tsx +85 -85
  62. package/templates/default/components/form/inputs/number-form-input.tsx +43 -43
  63. package/templates/default/components/form/inputs/password-form-input.tsx +47 -47
  64. package/templates/default/components/form/inputs/photo-form-input.tsx +279 -279
  65. package/templates/default/components/form/inputs/rich-text-form-input.tsx +148 -148
  66. package/templates/default/components/form/inputs/select-form-input.tsx +159 -159
  67. package/templates/default/components/form/inputs/slug-form-input.tsx +131 -131
  68. package/templates/default/components/form/inputs/tags-form-input.tsx +255 -255
  69. package/templates/default/components/form/inputs/text-form-input.tsx +61 -61
  70. package/templates/default/components/form/inputs/textarea-form-input.tsx +61 -61
  71. package/templates/default/components/layout/default-nav-items.tsx +3 -3
  72. package/templates/default/components/layout/layout.tsx +84 -84
  73. package/templates/default/components/layout/navbar.tsx +258 -258
  74. package/templates/default/components/layout/sidebar-dropdown-item.tsx +83 -83
  75. package/templates/default/components/layout/sidebar-item.tsx +24 -24
  76. package/templates/default/components/layout/sidebar.tsx +229 -229
  77. package/templates/default/components/layout/theme-provider.tsx +8 -8
  78. package/templates/default/components/layout/theme-toggle.tsx +39 -39
  79. package/templates/default/components/locale/locale-switcher.tsx +98 -98
  80. package/templates/default/components/media/dropzone.tsx +154 -154
  81. package/templates/default/components/media/protected-document.tsx +44 -44
  82. package/templates/default/components/media/protected-image.tsx +143 -143
  83. package/templates/default/components/media/protected-video.tsx +76 -76
  84. package/templates/default/components/multi-select.tsx +1150 -1150
  85. package/templates/default/components/pages/admins-page.tsx +43 -43
  86. package/templates/default/components/pages/browse-page.tsx +106 -106
  87. package/templates/default/components/pages/categorized-section-page.tsx +31 -31
  88. package/templates/default/components/pages/dashboard-page-alt.tsx +45 -45
  89. package/templates/default/components/pages/item-edit-page.tsx +267 -267
  90. package/templates/default/components/pages/log-page.tsx +107 -107
  91. package/templates/default/components/pages/new-page.tsx +183 -183
  92. package/templates/default/components/pages/section-page.tsx +203 -203
  93. package/templates/default/components/pages/settings-page.tsx +232 -232
  94. package/templates/default/components/pagination/pagination-buttons.tsx +147 -147
  95. package/templates/default/components/pagination/pagination.tsx +36 -36
  96. package/templates/default/components/sections/category-delete-confirm-page.tsx +130 -130
  97. package/templates/default/components/sections/category-section-select-input.tsx +139 -139
  98. package/templates/default/components/sections/conditional-fields.tsx +49 -49
  99. package/templates/default/components/sections/section-icon.tsx +8 -8
  100. package/templates/default/components/sections/section-item-card.tsx +143 -143
  101. package/templates/default/components/sections/section-item-status-badge.tsx +17 -17
  102. package/templates/default/components/sections/select-input-buttons.tsx +125 -125
  103. package/templates/default/components/select-box.tsx +98 -98
  104. package/templates/default/components/ui/accordion.tsx +53 -53
  105. package/templates/default/components/ui/alert-dialog.tsx +113 -113
  106. package/templates/default/components/ui/alert.tsx +47 -47
  107. package/templates/default/components/ui/badge.tsx +38 -38
  108. package/templates/default/components/ui/card.tsx +43 -43
  109. package/templates/default/components/ui/command.tsx +137 -137
  110. package/templates/default/components/ui/custom-alert-dialog.tsx +113 -113
  111. package/templates/default/components/ui/custom-dialog.tsx +123 -123
  112. package/templates/default/components/ui/dialog.tsx +123 -123
  113. package/templates/default/components/ui/direction.tsx +22 -22
  114. package/templates/default/components/ui/dropdown-menu.tsx +182 -182
  115. package/templates/default/components/ui/input-group.tsx +54 -54
  116. package/templates/default/components/ui/input.tsx +22 -22
  117. package/templates/default/components/ui/label.tsx +19 -19
  118. package/templates/default/components/ui/popover.tsx +42 -42
  119. package/templates/default/components/ui/progress.tsx +31 -31
  120. package/templates/default/components/ui/scroll-area.tsx +42 -42
  121. package/templates/default/components/ui/select.tsx +165 -165
  122. package/templates/default/components/ui/separator.tsx +28 -28
  123. package/templates/default/components/ui/sheet.tsx +103 -103
  124. package/templates/default/components/ui/spinner.tsx +16 -16
  125. package/templates/default/components/ui/switch.tsx +29 -29
  126. package/templates/default/components/ui/table.tsx +83 -83
  127. package/templates/default/components/ui/tabs.tsx +55 -55
  128. package/templates/default/components/ui/toast.tsx +113 -113
  129. package/templates/default/components/ui/toaster.tsx +35 -35
  130. package/templates/default/components/ui/tooltip.tsx +30 -30
  131. package/templates/default/components/ui/use-toast.ts +187 -187
  132. package/templates/default/drizzle.config.ts +4 -4
  133. package/templates/default/dynamic-schemas/schema.ts +225 -75
  134. package/templates/default/env/env.ts +46 -46
  135. package/templates/default/envConfig.ts +4 -4
  136. package/templates/default/lib/postinstall.js +14 -14
  137. package/templates/default/lib/utils.ts +6 -6
  138. package/templates/default/next-env.d.ts +6 -6
  139. package/templates/default/next.config.ts +24 -24
  140. package/templates/default/package.json +1 -1
  141. package/templates/default/postcss.config.mjs +6 -6
  142. package/templates/default/proxy.ts +32 -32
  143. package/templates/default/tsconfig.json +48 -48
@@ -1,237 +1,237 @@
1
- @import "tailwindcss";
2
- @plugin "tailwindcss-animate";
3
-
4
- @custom-variant dark (&:is(.dark *));
5
-
6
- @source "../node_modules/@nextjscms/plugin-*/**/*.{tsx,ts,jsx,js}";
7
-
8
- /**
9
- * Background colors for the dashboard plugin
10
- */
11
- @source inline("{dark:,}bg-orange-{50,{100..900..100},950}");
12
-
13
- @utility container {
14
- margin-inline: auto;
15
- padding-inline: 2rem;
16
- @media (width >= --theme(--breakpoint-sm-sidebar)) {
17
- max-width: none;
18
- }
19
- @media (width >= 1400px) {
20
- max-width: 1400px;
21
- }
22
- }
23
-
24
- @theme {
25
- --breakpoint-sm-sidebar: 768px;
26
- --breakpoint-md-sidebar: 1024px;
27
- --breakpoint-lg-sidebar: 1280px;
28
- --breakpoint-xl-sidebar: 1536px;
29
- --breakpoint-2xl-sidebar: 1920px;
30
-
31
- --font-sans:
32
- var(--font-cairo, var(--font-sans)), ui-sans-serif, system-ui, sans-serif, 'Apple Color Emoji',
33
- 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji';
34
-
35
- --color-border: hsl(var(--border));
36
- --color-input: hsl(var(--input));
37
- --color-ring: hsl(var(--ring));
38
- --color-background: hsl(var(--background));
39
- --color-foreground: hsl(var(--foreground));
40
-
41
- --color-primary: hsl(var(--primary));
42
- --color-primary-foreground: hsl(var(--primary-foreground));
43
-
44
- --color-secondary: hsl(var(--secondary));
45
- --color-secondary-foreground: hsl(var(--secondary-foreground));
46
-
47
- --color-success: hsl(var(--success));
48
- --color-success-foreground: hsl(var(--success-foreground));
49
-
50
- --color-warning: hsl(var(--warning));
51
- --color-warning-foreground: hsl(var(--warning-foreground));
52
-
53
- --color-info: hsl(var(--info));
54
- --color-info-foreground: hsl(var(--info-foreground));
55
-
56
- --color-destructive: hsl(var(--destructive));
57
- --color-destructive-foreground: hsl(var(--destructive-foreground));
58
-
59
- --color-muted: hsl(var(--muted));
60
- --color-muted-foreground: hsl(var(--muted-foreground));
61
-
62
- --color-accent: hsl(var(--accent));
63
- --color-accent-foreground: hsl(var(--accent-foreground));
64
-
65
- --color-popover: hsl(var(--popover));
66
- --color-popover-foreground: hsl(var(--popover-foreground));
67
-
68
- --color-card: hsl(var(--card));
69
- --color-card-foreground: hsl(var(--card-foreground));
70
-
71
- --color-disabled: hsl(var(--disabled));
72
- --color-disabled-foreground: hsl(var(--disabled-foreground));
73
-
74
- --radius-lg: var(--radius);
75
- --radius-md: calc(var(--radius) - 2px);
76
- --radius-sm: calc(var(--radius) - 4px);
77
-
78
- --animate-accordion-down: accordion-down 0.2s ease-out;
79
- --animate-accordion-up: accordion-up 0.2s ease-out;
80
-
81
- @keyframes accordion-down {
82
- from {
83
- height: 0;
84
- }
85
- to {
86
- height: var(--radix-accordion-content-height);
87
- }
88
- }
89
- @keyframes accordion-up {
90
- from {
91
- height: var(--radix-accordion-content-height);
92
- }
93
- to {
94
- height: 0;
95
- }
96
- }
97
- }
98
-
99
- /*
100
- The default border color has changed to `currentcolor` in Tailwind CSS v4,
101
- so we've added these compatibility styles to make sure everything still
102
- looks the same as it did with Tailwind CSS v3.
103
-
104
- If we ever want to remove these styles, we need to add an explicit border
105
- color utility to any element that depends on these defaults.
106
- */
107
- @layer base {
108
- *,
109
- ::after,
110
- ::before,
111
- ::backdrop,
112
- ::file-selector-button {
113
- border-color: var(--color-gray-200, currentcolor);
114
- }
115
- }
116
-
117
- @layer base {
118
- :root {
119
- --background: 0 0% 100%;
120
- --foreground: 222.2 84% 4.9%;
121
-
122
- --card: 0 0% 100%;
123
- --card-foreground: 222.2 84% 4.9%;
124
-
125
- --popover: 0 0% 100%;
126
- --popover-foreground: 222.2 84% 4.9%;
127
-
128
- --primary: 222.2 47.4% 11.2%;
129
- --primary-foreground: 210 40% 98%;
130
-
131
- --success: 122.7 39.5% 49.6%;
132
- --success-foreground: 210 40% 98%;
133
-
134
- --warning: 45 100% 50%;
135
- --warning-foreground: 210 40% 98%;
136
-
137
- --info: 213 80% 52%;
138
- --info-foreground: 222 80% 52%;
139
-
140
- --secondary: 210 40% 96.1%;
141
- --secondary-foreground: 222.2 47.4% 11.2%;
142
-
143
- --muted: 210 40% 96.1%;
144
- --muted-foreground: 215.4 16.3% 46.9%;
145
-
146
- --accent: 210 40% 96.1%;
147
- --accent-foreground: 222.2 47.4% 11.2%;
148
-
149
- --destructive: 0 84.2% 60.2%;
150
- --destructive-foreground: 210 40% 98%;
151
-
152
- --border: 214.3 31.8% 91.4%;
153
- --input: 214.3 31.8% 96.4%;
154
- --ring: 222.2 84% 4.9%;
155
-
156
- --radius: 0.5rem;
157
- }
158
-
159
- .dark {
160
- --background: 999 84% 4.9%;
161
- --foreground: 210 40% 98%;
162
-
163
- --card: 222.2 84% 4.9%;
164
- --card-foreground: 210 40% 98%;
165
-
166
- --popover: 222.2 84% 4.9%;
167
- --popover-foreground: 210 40% 98%;
168
-
169
- --primary: 210 40% 98%;
170
- --primary-foreground: 222.2 47.4% 11.2%;
171
-
172
- --secondary: 217.2 32.6% 17.5%;
173
- --secondary-foreground: 210 40% 98%;
174
-
175
- --success: 122.7 39.5% 49.6%;
176
- --success-foreground: 210 40% 98%;
177
-
178
- --warning: 45 100% 50%;
179
- --warning-foreground: 210 40% 98%;
180
-
181
- --info: 213 60% 52%;
182
- --info-foreground: 200 80% 52%;
183
-
184
- --muted: 217.2 32.6% 17.5%;
185
- --muted-foreground: 215 20.2% 65.1%;
186
-
187
- --accent: 217.2 32.6% 17.5%;
188
- --accent-foreground: 210 40% 98%;
189
-
190
- --destructive: 0 62.8% 30.6%;
191
- --destructive-foreground: 210 40% 98%;
192
-
193
- --border: 217.2 32.6% 17.5%;
194
- --input: 217.2 32.6% 17.5%;
195
- --ring: 212.7 26.8% 83.9%;
196
- }
197
- }
198
-
199
- @layer base {
200
- * {
201
- @apply border-border;
202
- }
203
- html {
204
- scrollbar-gutter: stable;
205
- }
206
- body {
207
- @apply bg-background text-foreground;
208
- }
209
- html body[data-scroll-locked] {
210
- margin-right: 0 !important;
211
- }
212
- }
213
-
214
- /* Progress bar indeterminate animation */
215
- @keyframes progress-indeterminate {
216
- 0% {
217
- transform: translateX(-100%);
218
- }
219
- 50% {
220
- transform: translateX(400%);
221
- }
222
- 100% {
223
- transform: translateX(-100%);
224
- }
225
- }
226
-
227
- /* Custom progress bar styling to match Material-UI appearance */
228
- .progress-bar-custom [data-slot="progress"] {
229
- background-color: var(--progress-bg, #eeeeee) !important;
230
- border-radius: 5px !important;
231
- height: 10px !important;
232
- }
233
-
234
- .progress-bar-custom [data-slot="progress-indicator"] {
235
- background-color: var(--progress-fg, #1a90ff) !important;
236
- border-radius: 5px !important;
1
+ @import "tailwindcss";
2
+ @plugin "tailwindcss-animate";
3
+
4
+ @custom-variant dark (&:is(.dark *));
5
+
6
+ @source "../node_modules/@nextjscms/plugin-*/**/*.{tsx,ts,jsx,js}";
7
+
8
+ /**
9
+ * Background colors for the dashboard plugin
10
+ */
11
+ @source inline("{dark:,}bg-orange-{50,{100..900..100},950}");
12
+
13
+ @utility container {
14
+ margin-inline: auto;
15
+ padding-inline: 2rem;
16
+ @media (width >= --theme(--breakpoint-sm-sidebar)) {
17
+ max-width: none;
18
+ }
19
+ @media (width >= 1400px) {
20
+ max-width: 1400px;
21
+ }
22
+ }
23
+
24
+ @theme {
25
+ --breakpoint-sm-sidebar: 768px;
26
+ --breakpoint-md-sidebar: 1024px;
27
+ --breakpoint-lg-sidebar: 1280px;
28
+ --breakpoint-xl-sidebar: 1536px;
29
+ --breakpoint-2xl-sidebar: 1920px;
30
+
31
+ --font-sans:
32
+ var(--font-cairo, var(--font-sans)), ui-sans-serif, system-ui, sans-serif, 'Apple Color Emoji',
33
+ 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji';
34
+
35
+ --color-border: hsl(var(--border));
36
+ --color-input: hsl(var(--input));
37
+ --color-ring: hsl(var(--ring));
38
+ --color-background: hsl(var(--background));
39
+ --color-foreground: hsl(var(--foreground));
40
+
41
+ --color-primary: hsl(var(--primary));
42
+ --color-primary-foreground: hsl(var(--primary-foreground));
43
+
44
+ --color-secondary: hsl(var(--secondary));
45
+ --color-secondary-foreground: hsl(var(--secondary-foreground));
46
+
47
+ --color-success: hsl(var(--success));
48
+ --color-success-foreground: hsl(var(--success-foreground));
49
+
50
+ --color-warning: hsl(var(--warning));
51
+ --color-warning-foreground: hsl(var(--warning-foreground));
52
+
53
+ --color-info: hsl(var(--info));
54
+ --color-info-foreground: hsl(var(--info-foreground));
55
+
56
+ --color-destructive: hsl(var(--destructive));
57
+ --color-destructive-foreground: hsl(var(--destructive-foreground));
58
+
59
+ --color-muted: hsl(var(--muted));
60
+ --color-muted-foreground: hsl(var(--muted-foreground));
61
+
62
+ --color-accent: hsl(var(--accent));
63
+ --color-accent-foreground: hsl(var(--accent-foreground));
64
+
65
+ --color-popover: hsl(var(--popover));
66
+ --color-popover-foreground: hsl(var(--popover-foreground));
67
+
68
+ --color-card: hsl(var(--card));
69
+ --color-card-foreground: hsl(var(--card-foreground));
70
+
71
+ --color-disabled: hsl(var(--disabled));
72
+ --color-disabled-foreground: hsl(var(--disabled-foreground));
73
+
74
+ --radius-lg: var(--radius);
75
+ --radius-md: calc(var(--radius) - 2px);
76
+ --radius-sm: calc(var(--radius) - 4px);
77
+
78
+ --animate-accordion-down: accordion-down 0.2s ease-out;
79
+ --animate-accordion-up: accordion-up 0.2s ease-out;
80
+
81
+ @keyframes accordion-down {
82
+ from {
83
+ height: 0;
84
+ }
85
+ to {
86
+ height: var(--radix-accordion-content-height);
87
+ }
88
+ }
89
+ @keyframes accordion-up {
90
+ from {
91
+ height: var(--radix-accordion-content-height);
92
+ }
93
+ to {
94
+ height: 0;
95
+ }
96
+ }
97
+ }
98
+
99
+ /*
100
+ The default border color has changed to `currentcolor` in Tailwind CSS v4,
101
+ so we've added these compatibility styles to make sure everything still
102
+ looks the same as it did with Tailwind CSS v3.
103
+
104
+ If we ever want to remove these styles, we need to add an explicit border
105
+ color utility to any element that depends on these defaults.
106
+ */
107
+ @layer base {
108
+ *,
109
+ ::after,
110
+ ::before,
111
+ ::backdrop,
112
+ ::file-selector-button {
113
+ border-color: var(--color-gray-200, currentcolor);
114
+ }
115
+ }
116
+
117
+ @layer base {
118
+ :root {
119
+ --background: 0 0% 100%;
120
+ --foreground: 222.2 84% 4.9%;
121
+
122
+ --card: 0 0% 100%;
123
+ --card-foreground: 222.2 84% 4.9%;
124
+
125
+ --popover: 0 0% 100%;
126
+ --popover-foreground: 222.2 84% 4.9%;
127
+
128
+ --primary: 222.2 47.4% 11.2%;
129
+ --primary-foreground: 210 40% 98%;
130
+
131
+ --success: 122.7 39.5% 49.6%;
132
+ --success-foreground: 210 40% 98%;
133
+
134
+ --warning: 45 100% 50%;
135
+ --warning-foreground: 210 40% 98%;
136
+
137
+ --info: 213 80% 52%;
138
+ --info-foreground: 222 80% 52%;
139
+
140
+ --secondary: 210 40% 96.1%;
141
+ --secondary-foreground: 222.2 47.4% 11.2%;
142
+
143
+ --muted: 210 40% 96.1%;
144
+ --muted-foreground: 215.4 16.3% 46.9%;
145
+
146
+ --accent: 210 40% 96.1%;
147
+ --accent-foreground: 222.2 47.4% 11.2%;
148
+
149
+ --destructive: 0 84.2% 60.2%;
150
+ --destructive-foreground: 210 40% 98%;
151
+
152
+ --border: 214.3 31.8% 91.4%;
153
+ --input: 214.3 31.8% 96.4%;
154
+ --ring: 222.2 84% 4.9%;
155
+
156
+ --radius: 0.5rem;
157
+ }
158
+
159
+ .dark {
160
+ --background: 999 84% 4.9%;
161
+ --foreground: 210 40% 98%;
162
+
163
+ --card: 222.2 84% 4.9%;
164
+ --card-foreground: 210 40% 98%;
165
+
166
+ --popover: 222.2 84% 4.9%;
167
+ --popover-foreground: 210 40% 98%;
168
+
169
+ --primary: 210 40% 98%;
170
+ --primary-foreground: 222.2 47.4% 11.2%;
171
+
172
+ --secondary: 217.2 32.6% 17.5%;
173
+ --secondary-foreground: 210 40% 98%;
174
+
175
+ --success: 122.7 39.5% 49.6%;
176
+ --success-foreground: 210 40% 98%;
177
+
178
+ --warning: 45 100% 50%;
179
+ --warning-foreground: 210 40% 98%;
180
+
181
+ --info: 213 60% 52%;
182
+ --info-foreground: 200 80% 52%;
183
+
184
+ --muted: 217.2 32.6% 17.5%;
185
+ --muted-foreground: 215 20.2% 65.1%;
186
+
187
+ --accent: 217.2 32.6% 17.5%;
188
+ --accent-foreground: 210 40% 98%;
189
+
190
+ --destructive: 0 62.8% 30.6%;
191
+ --destructive-foreground: 210 40% 98%;
192
+
193
+ --border: 217.2 32.6% 17.5%;
194
+ --input: 217.2 32.6% 17.5%;
195
+ --ring: 212.7 26.8% 83.9%;
196
+ }
197
+ }
198
+
199
+ @layer base {
200
+ * {
201
+ @apply border-border;
202
+ }
203
+ html {
204
+ scrollbar-gutter: stable;
205
+ }
206
+ body {
207
+ @apply bg-background text-foreground;
208
+ }
209
+ html body[data-scroll-locked] {
210
+ margin-right: 0 !important;
211
+ }
212
+ }
213
+
214
+ /* Progress bar indeterminate animation */
215
+ @keyframes progress-indeterminate {
216
+ 0% {
217
+ transform: translateX(-100%);
218
+ }
219
+ 50% {
220
+ transform: translateX(400%);
221
+ }
222
+ 100% {
223
+ transform: translateX(-100%);
224
+ }
225
+ }
226
+
227
+ /* Custom progress bar styling to match Material-UI appearance */
228
+ .progress-bar-custom [data-slot="progress"] {
229
+ background-color: var(--progress-bg, #eeeeee) !important;
230
+ border-radius: 5px !important;
231
+ height: 10px !important;
232
+ }
233
+
234
+ .progress-bar-custom [data-slot="progress-indicator"] {
235
+ background-color: var(--progress-fg, #1a90ff) !important;
236
+ border-radius: 5px !important;
237
237
  }
@@ -1,56 +1,56 @@
1
- import { defineConfig } from 'nextjs-cms/core/config'
2
- import process from 'process'
3
- import { resolve } from 'path'
4
- import { env } from './env/env'
5
-
6
- export default defineConfig({
7
- ui: {
8
- title: 'NEXTJS CMS',
9
- defaultTheme: 'dark',
10
- },
11
- debug: true,
12
- sections: {
13
- path: resolve(process.cwd(), 'sections'),
14
- strict: false,
15
- category: {
16
- allowRecursiveDelete: true,
17
- },
18
- },
19
- media: {
20
- upload: {
21
- path: '.uploads',
22
- preserveExtension: true,
23
- },
24
- images: {
25
- image: {
26
- size: {
27
- width: 1200,
28
- height: 628,
29
- fit: 'contain',
30
- strict: false,
31
- },
32
- quality: 100,
33
- },
34
- thumbnail: {
35
- size: {
36
- width: 400,
37
- height: 209,
38
- fit: 'contain',
39
- },
40
- quality: 100,
41
- },
42
- watermark: false,
43
- },
44
- },
45
- schemaGeneration: {
46
- drizzle: {
47
- enabled: true,
48
- outDir: './dynamic-schemas',
49
- fileName: 'schema.ts',
50
- naming: {
51
- tables: 'pascalCase',
52
- columns: 'camelCase',
53
- },
54
- },
55
- },
56
- })
1
+ import { defineConfig } from 'nextjs-cms/core/config'
2
+ import process from 'process'
3
+ import { resolve } from 'path'
4
+ import { env } from './env/env'
5
+
6
+ export default defineConfig({
7
+ ui: {
8
+ title: 'NEXTJS CMS',
9
+ defaultTheme: 'dark',
10
+ },
11
+ debug: true,
12
+ sections: {
13
+ path: resolve(process.cwd(), 'sections'),
14
+ strict: false,
15
+ category: {
16
+ allowRecursiveDelete: true,
17
+ },
18
+ },
19
+ media: {
20
+ upload: {
21
+ path: '.uploads',
22
+ preserveExtension: true,
23
+ },
24
+ images: {
25
+ image: {
26
+ size: {
27
+ width: 1200,
28
+ height: 628,
29
+ fit: 'contain',
30
+ strict: false,
31
+ },
32
+ quality: 100,
33
+ },
34
+ thumbnail: {
35
+ size: {
36
+ width: 400,
37
+ height: 209,
38
+ fit: 'contain',
39
+ },
40
+ quality: 100,
41
+ },
42
+ watermark: false,
43
+ },
44
+ },
45
+ schemaGeneration: {
46
+ drizzle: {
47
+ enabled: true,
48
+ outDir: './dynamic-schemas',
49
+ fileName: 'schema.ts',
50
+ naming: {
51
+ tables: 'pascalCase',
52
+ columns: 'camelCase',
53
+ },
54
+ },
55
+ },
56
+ })