convex-cms 0.0.9-alpha.7 → 0.0.9-alpha.9

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 (87) hide show
  1. package/README.md +27 -0
  2. package/admin/src/components/cmsds/CmsFilterBar.tsx +74 -0
  3. package/admin/src/components/cmsds/CmsInput.tsx +24 -0
  4. package/admin/src/components/cmsds/CmsPagination.tsx +79 -0
  5. package/admin/src/components/cmsds/CmsSelect.tsx +59 -0
  6. package/admin/src/components/cmsds/CmsStatCard.tsx +79 -0
  7. package/admin/src/components/cmsds/CmsStatusBadge.tsx +1 -1
  8. package/admin/src/components/cmsds/index.ts +5 -0
  9. package/admin/src/contexts/ThemeContext.tsx +85 -17
  10. package/admin/src/embed/components/EmbedHeader.tsx +11 -9
  11. package/admin/src/embed/index.tsx +10 -6
  12. package/admin/src/embed/types.ts +12 -0
  13. package/admin/src/pages/ContentPage.tsx +116 -172
  14. package/admin/src/pages/ContentTypeEntriesPage.tsx +120 -194
  15. package/admin/src/pages/ContentTypesPage.tsx +136 -139
  16. package/admin/src/pages/DashboardPage.tsx +13 -52
  17. package/admin/src/pages/MediaPage.tsx +31 -57
  18. package/admin/src/pages/SettingsPage.tsx +5 -1
  19. package/admin/src/pages/TrashPage.tsx +115 -170
  20. package/admin/src/styles/globals.css +18 -31
  21. package/admin/src/styles/tailwind-config.css +12 -0
  22. package/admin/src/styles/theme.css +299 -38
  23. package/admin-dist/nitro.json +1 -1
  24. package/admin-dist/public/assets/{CmsEmptyState-gxhf-b6F.js → CmsEmptyState-DTlpzjOI.js} +1 -1
  25. package/admin-dist/public/assets/{CmsPageHeader-equV7Sd9.js → CmsPageHeader-0REGRH4X.js} +1 -1
  26. package/admin-dist/public/assets/{CmsStatusBadge-DQAslyW4.js → CmsStatusBadge-D_n8u8xa.js} +1 -1
  27. package/admin-dist/public/assets/{CmsSurface-DdC_aGB5.js → CmsSurface-BHmvNai4.js} +1 -1
  28. package/admin-dist/public/assets/{CmsToolbar-Crleacii.js → CmsToolbar-CY6GV2L8.js} +1 -1
  29. package/admin-dist/public/assets/{ContentEntryEditor-RmtIo3lE.js → ContentEntryEditor-CRgcRkk5.js} +1 -1
  30. package/admin-dist/public/assets/{TaxonomyFilter-BsoK90hw.js → TaxonomyFilter-Ohv5Jg9c.js} +1 -1
  31. package/admin-dist/public/assets/{_contentTypeId-Bn2ItET5.js → _contentTypeId-C_vJq22X.js} +1 -1
  32. package/admin-dist/public/assets/{_entryId-CkZWLvOZ.js → _entryId-jPXz4z9T.js} +1 -1
  33. package/admin-dist/public/assets/{alert-C7q0k4u0.js → alert-CG97cMfC.js} +1 -1
  34. package/admin-dist/public/assets/{badge-DiaAY1It.js → badge-C6qt24oj.js} +1 -1
  35. package/admin-dist/public/assets/{circle-check-big-Bl0y10am.js → circle-check-big-PltpxuB1.js} +1 -1
  36. package/admin-dist/public/assets/{command-QyTDg7pa.js → command-CJ8i86fd.js} +1 -1
  37. package/admin-dist/public/assets/{content-D868GT7T.js → content-pKaIL2ru.js} +1 -1
  38. package/admin-dist/public/assets/{content-types-DD7fJA5i.js → content-types-Bl_8I1Re.js} +1 -1
  39. package/admin-dist/public/assets/{index-CMnzrG_D.js → index-CtHq_P5q.js} +1 -1
  40. package/admin-dist/public/assets/{main-DWSY6jZL.js → main-CA-4LyFT.js} +2 -2
  41. package/admin-dist/public/assets/{media-aqxopgtw.js → media-Bl1tBbJQ.js} +1 -1
  42. package/admin-dist/public/assets/{new._contentTypeId-9ji3Hibs.js → new._contentTypeId-qsvo01mH.js} +1 -1
  43. package/admin-dist/public/assets/{pencil-D8GqMaV3.js → pencil-gAL0R34f.js} +1 -1
  44. package/admin-dist/public/assets/{refresh-cw-JipRPLLT.js → refresh-cw-sdVUGJNs.js} +1 -1
  45. package/admin-dist/public/assets/{rotate-ccw-CK11hP79.js → rotate-ccw-6OcXCcxb.js} +1 -1
  46. package/admin-dist/public/assets/{scroll-area-CJS1P20j.js → scroll-area-CJBhf9pf.js} +1 -1
  47. package/admin-dist/public/assets/{search-BT8HTHxb.js → search-WXp6KxDJ.js} +1 -1
  48. package/admin-dist/public/assets/settings-D8crrFCn.js +1 -0
  49. package/admin-dist/public/assets/{switch-Cb-ecsrJ.js → switch-Ck9ecqEX.js} +1 -1
  50. package/admin-dist/public/assets/{tabs-CFEXN2p7.js → tabs-vQYu8rjC.js} +1 -1
  51. package/admin-dist/public/assets/{tanstack-adapter-CGxC-fmP.js → tanstack-adapter-BRt2CUCw.js} +1 -1
  52. package/admin-dist/public/assets/{taxonomies-C21Z8CBa.js → taxonomies-DvILUNvr.js} +1 -1
  53. package/admin-dist/public/assets/{trash-CMRJlzc0.js → trash-YyYaC3L9.js} +1 -1
  54. package/admin-dist/public/assets/{useBreadcrumbLabel-ZZFYdqzi.js → useBreadcrumbLabel-tlSh7dtO.js} +1 -1
  55. package/admin-dist/public/assets/{usePermissions-C2FRye75.js → usePermissions-BTGdTOJS.js} +1 -1
  56. package/admin-dist/server/_ssr/{CmsEmptyState-DWqt3y_O.mjs → CmsEmptyState-CB6e53i5.mjs} +1 -1
  57. package/admin-dist/server/_ssr/{CmsPageHeader-BuN0dOPA.mjs → CmsPageHeader-COUHuECp.mjs} +1 -1
  58. package/admin-dist/server/_ssr/{CmsStatusBadge-CV35-X_8.mjs → CmsStatusBadge-kMTL6koE.mjs} +2 -2
  59. package/admin-dist/server/_ssr/{CmsSurface-DEcWf_aJ.mjs → CmsSurface-D1HDYjRg.mjs} +1 -1
  60. package/admin-dist/server/_ssr/{CmsToolbar-BMBEZVgb.mjs → CmsToolbar-NB014hsd.mjs} +1 -1
  61. package/admin-dist/server/_ssr/{ContentEntryEditor-Db9Sy_0y.mjs → ContentEntryEditor-Bq8FR_uK.mjs} +8 -8
  62. package/admin-dist/server/_ssr/{TaxonomyFilter-D_xDfC8t.mjs → TaxonomyFilter-bm_p4ADg.mjs} +3 -3
  63. package/admin-dist/server/_ssr/{_contentTypeId-HZlfcQi-.mjs → _contentTypeId-B7obLmi_.mjs} +10 -10
  64. package/admin-dist/server/_ssr/{_entryId-Cc_Ry7AV.mjs → _entryId-B4zhQqFg.mjs} +11 -11
  65. package/admin-dist/server/_ssr/_tanstack-start-manifest_v-DndoqCo7.mjs +4 -0
  66. package/admin-dist/server/_ssr/{badge-CmG74mbX.mjs → badge-NOEC9bkk.mjs} +1 -1
  67. package/admin-dist/server/_ssr/{command-DWXiOsOb.mjs → command-h4-OYNBo.mjs} +1 -1
  68. package/admin-dist/server/_ssr/{content-CAgFQzx-.mjs → content-CShtLuhK.mjs} +8 -8
  69. package/admin-dist/server/_ssr/{content-types-CqKvAZ8P.mjs → content-types-PeyRyfbc.mjs} +6 -6
  70. package/admin-dist/server/_ssr/{index--qYdIqvh.mjs → index-CplFXpGg.mjs} +3 -3
  71. package/admin-dist/server/_ssr/index.mjs +2 -2
  72. package/admin-dist/server/_ssr/{media-AXePwPAK.mjs → media-QAkNdX54.mjs} +9 -9
  73. package/admin-dist/server/_ssr/{new._contentTypeId-DNWIl-Ha.mjs → new._contentTypeId-DEJyMphJ.mjs} +10 -10
  74. package/admin-dist/server/_ssr/{router-B_gIkxi2.mjs → router-CQXMuGMF.mjs} +10 -10
  75. package/admin-dist/server/_ssr/{scroll-area-Cz-9ry0J.mjs → scroll-area-B7zoNyWB.mjs} +1 -1
  76. package/admin-dist/server/_ssr/{settings-BjSxo5d6.mjs → settings-CNaqVa4D.mjs} +9 -9
  77. package/admin-dist/server/_ssr/{switch-IsC1gdb1.mjs → switch-BKZhvryc.mjs} +1 -1
  78. package/admin-dist/server/_ssr/{tabs-BdgLwrYe.mjs → tabs-DtIIQxiD.mjs} +1 -1
  79. package/admin-dist/server/_ssr/{tanstack-adapter-CFwjrqRl.mjs → tanstack-adapter-CLavdbUY.mjs} +1 -1
  80. package/admin-dist/server/_ssr/{taxonomies-D5Di9EgA.mjs → taxonomies-vIZYICzr.mjs} +7 -7
  81. package/admin-dist/server/_ssr/{trash-DokZl1yA.mjs → trash-7yGR4-dF.mjs} +7 -7
  82. package/admin-dist/server/_ssr/{useBreadcrumbLabel-C4TsA5z0.mjs → useBreadcrumbLabel-DR5FaAMf.mjs} +1 -1
  83. package/admin-dist/server/_ssr/{usePermissions-COsRlMp-.mjs → usePermissions-DKkpETj_.mjs} +1 -1
  84. package/admin-dist/server/index.mjs +155 -155
  85. package/package.json +1 -1
  86. package/admin-dist/public/assets/settings-DCY0s2hR.js +0 -1
  87. package/admin-dist/server/_ssr/_tanstack-start-manifest_v-DhspKP9e.mjs +0 -4
@@ -2,12 +2,14 @@
2
2
  CMS Admin Theme - CSS Custom Properties
3
3
  Professional & Clean (Linear/Notion aesthetic)
4
4
 
5
- Consumers can import this file and override
6
- any variable in their own :root {} block.
5
+ Theme Modes:
6
+ - Standalone: :root variables for running independently
7
+ - Isolated: [data-cms-admin="isolated"] forces admin's own theme
8
+ - Inherit: [data-cms-admin="inherit"] inherits parent app variables
7
9
  ============================================ */
8
10
 
11
+ /* Standalone mode - admin owns the document */
9
12
  :root {
10
- /* Main colors */
11
13
  --background: hsl(0 0% 98%);
12
14
  --foreground: hsl(240 10% 3.9%);
13
15
  --card: hsl(0 0% 100%);
@@ -28,7 +30,6 @@
28
30
  --input: hsl(240 5.9% 90%);
29
31
  --ring: hsl(240 5.9% 10%);
30
32
 
31
- /* Sidebar */
32
33
  --sidebar: hsl(0 0% 98%);
33
34
  --sidebar-foreground: hsl(240 5.3% 26.1%);
34
35
  --sidebar-primary: hsl(240 5.9% 10%);
@@ -38,34 +39,169 @@
38
39
  --sidebar-border: hsl(220 13% 91%);
39
40
  --sidebar-ring: hsl(217.2 91.2% 59.8%);
40
41
 
41
- /* Semantic: Diff/Change indicators */
42
+ /* Semantic status colors */
43
+ --success: hsl(142 76% 36%);
44
+ --success-foreground: hsl(0 0% 100%);
45
+ --warning: hsl(38 92% 50%);
46
+ --warning-foreground: hsl(0 0% 0%);
47
+ --info: hsl(217 91% 60%);
48
+ --info-bg: hsl(217 91% 95%);
49
+ --info-foreground: hsl(217 91% 40%);
50
+
51
+ /* Diff colors */
42
52
  --diff-added: hsl(142 76% 36%);
43
53
  --diff-added-bg: hsl(142 76% 95%);
44
- --diff-added-border: hsl(142 76% 85%);
45
- --diff-added-foreground: hsl(142 76% 25%);
46
-
54
+ --diff-added-border: hsl(142 60% 80%);
55
+ --diff-added-foreground: hsl(142 72% 29%);
47
56
  --diff-removed: hsl(0 84% 60%);
48
- --diff-removed-bg: hsl(0 86% 97%);
49
- --diff-removed-border: hsl(0 93% 85%);
50
- --diff-removed-foreground: hsl(0 72% 30%);
51
-
57
+ --diff-removed-bg: hsl(0 84% 95%);
58
+ --diff-removed-border: hsl(0 70% 85%);
59
+ --diff-removed-foreground: hsl(0 72% 40%);
52
60
  --diff-modified: hsl(38 92% 50%);
53
- --diff-modified-bg: hsl(48 96% 97%);
54
- --diff-modified-border: hsl(48 96% 82%);
55
- --diff-modified-foreground: hsl(38 92% 25%);
61
+ --diff-modified-bg: hsl(38 92% 95%);
62
+ --diff-modified-border: hsl(38 80% 85%);
63
+ --diff-modified-foreground: hsl(38 80% 35%);
64
+
65
+ /* Purple (for custom workflow states) */
66
+ --purple: hsl(270 70% 60%);
67
+ --purple-bg: hsl(270 70% 95%);
68
+ --purple-foreground: hsl(270 60% 35%);
69
+
70
+ /* Chart colors (shadcn standard) */
71
+ --chart-1: hsl(12 76% 61%);
72
+ --chart-2: hsl(173 58% 39%);
73
+ --chart-3: hsl(197 37% 24%);
74
+ --chart-4: hsl(43 74% 66%);
75
+ --chart-5: hsl(27 87% 67%);
76
+
77
+ /* Border radius */
78
+ --radius: 0.5rem;
79
+ }
80
+
81
+ /* Isolated mode - forces admin's own theme, overrides parent */
82
+ [data-cms-admin="isolated"] {
83
+ --background: hsl(0 0% 98%);
84
+ --foreground: hsl(240 10% 3.9%);
85
+ --card: hsl(0 0% 100%);
86
+ --card-foreground: hsl(240 10% 3.9%);
87
+ --popover: hsl(0 0% 100%);
88
+ --popover-foreground: hsl(240 10% 3.9%);
89
+ --primary: hsl(240 5.9% 10%);
90
+ --primary-foreground: hsl(0 0% 98%);
91
+ --secondary: hsl(240 4.8% 95.9%);
92
+ --secondary-foreground: hsl(240 5.9% 10%);
93
+ --muted: hsl(240 4.8% 95.9%);
94
+ --muted-foreground: hsl(240 3.8% 46.1%);
95
+ --accent: hsl(240 4.8% 95.9%);
96
+ --accent-foreground: hsl(240 5.9% 10%);
97
+ --destructive: hsl(0 84.2% 60.2%);
98
+ --destructive-foreground: hsl(0 0% 98%);
99
+ --border: hsl(240 5.9% 90%);
100
+ --input: hsl(240 5.9% 90%);
101
+ --ring: hsl(240 5.9% 10%);
102
+
103
+ --sidebar: hsl(0 0% 98%);
104
+ --sidebar-foreground: hsl(240 5.3% 26.1%);
105
+ --sidebar-primary: hsl(240 5.9% 10%);
106
+ --sidebar-primary-foreground: hsl(0 0% 98%);
107
+ --sidebar-accent: hsl(240 4.8% 95.9%);
108
+ --sidebar-accent-foreground: hsl(240 5.9% 10%);
109
+ --sidebar-border: hsl(220 13% 91%);
110
+ --sidebar-ring: hsl(217.2 91.2% 59.8%);
56
111
 
57
- /* Semantic: Success/Warning/Info states */
112
+ /* Semantic status colors */
58
113
  --success: hsl(142 76% 36%);
59
114
  --success-foreground: hsl(0 0% 100%);
60
115
  --warning: hsl(38 92% 50%);
61
- --warning-foreground: hsl(0 0% 100%);
116
+ --warning-foreground: hsl(0 0% 0%);
62
117
  --info: hsl(217 91% 60%);
63
- --info-bg: hsl(214 95% 97%);
64
- --info-foreground: hsl(217 91% 30%);
118
+ --info-bg: hsl(217 91% 95%);
119
+ --info-foreground: hsl(217 91% 40%);
120
+
121
+ /* Diff colors */
122
+ --diff-added: hsl(142 76% 36%);
123
+ --diff-added-bg: hsl(142 76% 95%);
124
+ --diff-added-border: hsl(142 60% 80%);
125
+ --diff-added-foreground: hsl(142 72% 29%);
126
+ --diff-removed: hsl(0 84% 60%);
127
+ --diff-removed-bg: hsl(0 84% 95%);
128
+ --diff-removed-border: hsl(0 70% 85%);
129
+ --diff-removed-foreground: hsl(0 72% 40%);
130
+ --diff-modified: hsl(38 92% 50%);
131
+ --diff-modified-bg: hsl(38 92% 95%);
132
+ --diff-modified-border: hsl(38 80% 85%);
133
+ --diff-modified-foreground: hsl(38 80% 35%);
134
+
135
+ /* Purple (for custom workflow states) */
136
+ --purple: hsl(270 70% 60%);
137
+ --purple-bg: hsl(270 70% 95%);
138
+ --purple-foreground: hsl(270 60% 35%);
139
+
140
+ /* Chart colors (shadcn standard) */
141
+ --chart-1: hsl(12 76% 61%);
142
+ --chart-2: hsl(173 58% 39%);
143
+ --chart-3: hsl(197 37% 24%);
144
+ --chart-4: hsl(43 74% 66%);
145
+ --chart-5: hsl(27 87% 67%);
146
+
147
+ /* Border radius */
148
+ --radius: 0.5rem;
65
149
  }
66
150
 
151
+ /* Inherit mode - only admin-specific variables with fallbacks
152
+ Standard shadcn variables (background, foreground, etc.) are NOT defined here,
153
+ allowing them to inherit from the parent app's :root */
154
+ [data-cms-admin="inherit"] {
155
+ --sidebar: var(--sidebar, hsl(0 0% 98%));
156
+ --sidebar-foreground: var(--sidebar-foreground, hsl(240 5.3% 26.1%));
157
+ --sidebar-primary: var(--sidebar-primary, hsl(240 5.9% 10%));
158
+ --sidebar-primary-foreground: var(--sidebar-primary-foreground, hsl(0 0% 98%));
159
+ --sidebar-accent: var(--sidebar-accent, hsl(240 4.8% 95.9%));
160
+ --sidebar-accent-foreground: var(--sidebar-accent-foreground, hsl(240 5.9% 10%));
161
+ --sidebar-border: var(--sidebar-border, hsl(220 13% 91%));
162
+ --sidebar-ring: var(--sidebar-ring, hsl(217.2 91.2% 59.8%));
163
+
164
+ /* Semantic status colors - fallbacks */
165
+ --success: var(--success, hsl(142 76% 36%));
166
+ --success-foreground: var(--success-foreground, hsl(0 0% 100%));
167
+ --warning: var(--warning, hsl(38 92% 50%));
168
+ --warning-foreground: var(--warning-foreground, hsl(0 0% 0%));
169
+ --info: var(--info, hsl(217 91% 60%));
170
+ --info-bg: var(--info-bg, hsl(217 91% 95%));
171
+ --info-foreground: var(--info-foreground, hsl(217 91% 40%));
172
+
173
+ /* Diff colors - fallbacks */
174
+ --diff-added: var(--diff-added, hsl(142 76% 36%));
175
+ --diff-added-bg: var(--diff-added-bg, hsl(142 76% 95%));
176
+ --diff-added-border: var(--diff-added-border, hsl(142 60% 80%));
177
+ --diff-added-foreground: var(--diff-added-foreground, hsl(142 72% 29%));
178
+ --diff-removed: var(--diff-removed, hsl(0 84% 60%));
179
+ --diff-removed-bg: var(--diff-removed-bg, hsl(0 84% 95%));
180
+ --diff-removed-border: var(--diff-removed-border, hsl(0 70% 85%));
181
+ --diff-removed-foreground: var(--diff-removed-foreground, hsl(0 72% 40%));
182
+ --diff-modified: var(--diff-modified, hsl(38 92% 50%));
183
+ --diff-modified-bg: var(--diff-modified-bg, hsl(38 92% 95%));
184
+ --diff-modified-border: var(--diff-modified-border, hsl(38 80% 85%));
185
+ --diff-modified-foreground: var(--diff-modified-foreground, hsl(38 80% 35%));
186
+
187
+ /* Purple - fallbacks */
188
+ --purple: var(--purple, hsl(270 70% 60%));
189
+ --purple-bg: var(--purple-bg, hsl(270 70% 95%));
190
+ --purple-foreground: var(--purple-foreground, hsl(270 60% 35%));
191
+
192
+ /* Chart colors - fallbacks */
193
+ --chart-1: var(--chart-1, hsl(12 76% 61%));
194
+ --chart-2: var(--chart-2, hsl(173 58% 39%));
195
+ --chart-3: var(--chart-3, hsl(197 37% 24%));
196
+ --chart-4: var(--chart-4, hsl(43 74% 66%));
197
+ --chart-5: var(--chart-5, hsl(27 87% 67%));
198
+
199
+ /* Border radius - fallback */
200
+ --radius: var(--radius, 0.5rem);
201
+ }
202
+
203
+ /* Dark mode for standalone */
67
204
  .dark {
68
- /* Main colors */
69
205
  --background: hsl(240 10% 3.9%);
70
206
  --foreground: hsl(0 0% 98%);
71
207
  --card: hsl(240 10% 7%);
@@ -86,7 +222,6 @@
86
222
  --input: hsl(240 3.7% 20%);
87
223
  --ring: hsl(240 4.9% 83.9%);
88
224
 
89
- /* Sidebar */
90
225
  --sidebar: hsl(240 5.9% 10%);
91
226
  --sidebar-foreground: hsl(240 4.8% 95.9%);
92
227
  --sidebar-primary: hsl(224.3 76.3% 48%);
@@ -96,28 +231,154 @@
96
231
  --sidebar-border: hsl(240 3.7% 15.9%);
97
232
  --sidebar-ring: hsl(217.2 91.2% 59.8%);
98
233
 
99
- /* Semantic: Diff/Change indicators (dark mode) */
100
- --diff-added: hsl(142 70% 50%);
101
- --diff-added-bg: hsl(142 50% 15%);
102
- --diff-added-border: hsl(142 50% 25%);
103
- --diff-added-foreground: hsl(142 70% 80%);
234
+ /* Semantic status colors - dark */
235
+ --success: hsl(142 70% 45%);
236
+ --success-foreground: hsl(0 0% 100%);
237
+ --warning: hsl(38 92% 50%);
238
+ --warning-foreground: hsl(0 0% 0%);
239
+ --info: hsl(217 91% 65%);
240
+ --info-bg: hsl(217 50% 20%);
241
+ --info-foreground: hsl(217 91% 80%);
104
242
 
243
+ /* Diff colors - dark */
244
+ --diff-added: hsl(142 70% 45%);
245
+ --diff-added-bg: hsl(142 50% 15%);
246
+ --diff-added-border: hsl(142 50% 30%);
247
+ --diff-added-foreground: hsl(142 70% 70%);
105
248
  --diff-removed: hsl(0 70% 55%);
106
249
  --diff-removed-bg: hsl(0 50% 15%);
107
- --diff-removed-border: hsl(0 50% 25%);
108
- --diff-removed-foreground: hsl(0 70% 80%);
109
-
250
+ --diff-removed-border: hsl(0 50% 30%);
251
+ --diff-removed-foreground: hsl(0 70% 70%);
110
252
  --diff-modified: hsl(38 80% 55%);
111
253
  --diff-modified-bg: hsl(38 50% 15%);
112
- --diff-modified-border: hsl(38 50% 25%);
113
- --diff-modified-foreground: hsl(38 80% 80%);
254
+ --diff-modified-border: hsl(38 50% 30%);
255
+ --diff-modified-foreground: hsl(38 80% 70%);
256
+
257
+ /* Purple - dark */
258
+ --purple: hsl(270 70% 65%);
259
+ --purple-bg: hsl(270 50% 20%);
260
+ --purple-foreground: hsl(270 70% 80%);
114
261
 
115
- /* Semantic: Success/Warning/Info states (dark mode) */
116
- --success: hsl(142 70% 50%);
262
+ /* Chart colors - dark */
263
+ --chart-1: hsl(12 76% 61%);
264
+ --chart-2: hsl(173 58% 39%);
265
+ --chart-3: hsl(197 37% 54%);
266
+ --chart-4: hsl(43 74% 66%);
267
+ --chart-5: hsl(27 87% 67%);
268
+ }
269
+
270
+ /* Dark mode for isolated embedded */
271
+ [data-cms-admin="isolated"].dark,
272
+ [data-cms-admin="isolated"] .dark {
273
+ --background: hsl(240 10% 3.9%);
274
+ --foreground: hsl(0 0% 98%);
275
+ --card: hsl(240 10% 7%);
276
+ --card-foreground: hsl(0 0% 98%);
277
+ --popover: hsl(240 10% 7%);
278
+ --popover-foreground: hsl(0 0% 98%);
279
+ --primary: hsl(0 0% 98%);
280
+ --primary-foreground: hsl(240 5.9% 10%);
281
+ --secondary: hsl(240 3.7% 15.9%);
282
+ --secondary-foreground: hsl(0 0% 98%);
283
+ --muted: hsl(240 3.7% 15.9%);
284
+ --muted-foreground: hsl(240 5% 64.9%);
285
+ --accent: hsl(240 3.7% 15.9%);
286
+ --accent-foreground: hsl(0 0% 98%);
287
+ --destructive: hsl(0 62.8% 50.6%);
288
+ --destructive-foreground: hsl(0 0% 98%);
289
+ --border: hsl(240 3.7% 20%);
290
+ --input: hsl(240 3.7% 20%);
291
+ --ring: hsl(240 4.9% 83.9%);
292
+
293
+ --sidebar: hsl(240 5.9% 10%);
294
+ --sidebar-foreground: hsl(240 4.8% 95.9%);
295
+ --sidebar-primary: hsl(224.3 76.3% 48%);
296
+ --sidebar-primary-foreground: hsl(0 0% 100%);
297
+ --sidebar-accent: hsl(240 3.7% 15.9%);
298
+ --sidebar-accent-foreground: hsl(240 4.8% 95.9%);
299
+ --sidebar-border: hsl(240 3.7% 15.9%);
300
+ --sidebar-ring: hsl(217.2 91.2% 59.8%);
301
+
302
+ /* Semantic status colors - dark */
303
+ --success: hsl(142 70% 45%);
117
304
  --success-foreground: hsl(0 0% 100%);
118
- --warning: hsl(38 80% 55%);
119
- --warning-foreground: hsl(0 0% 100%);
120
- --info: hsl(217 80% 60%);
121
- --info-bg: hsl(217 50% 15%);
122
- --info-foreground: hsl(217 80% 80%);
305
+ --warning: hsl(38 92% 50%);
306
+ --warning-foreground: hsl(0 0% 0%);
307
+ --info: hsl(217 91% 65%);
308
+ --info-bg: hsl(217 50% 20%);
309
+ --info-foreground: hsl(217 91% 80%);
310
+
311
+ /* Diff colors - dark */
312
+ --diff-added: hsl(142 70% 45%);
313
+ --diff-added-bg: hsl(142 50% 15%);
314
+ --diff-added-border: hsl(142 50% 30%);
315
+ --diff-added-foreground: hsl(142 70% 70%);
316
+ --diff-removed: hsl(0 70% 55%);
317
+ --diff-removed-bg: hsl(0 50% 15%);
318
+ --diff-removed-border: hsl(0 50% 30%);
319
+ --diff-removed-foreground: hsl(0 70% 70%);
320
+ --diff-modified: hsl(38 80% 55%);
321
+ --diff-modified-bg: hsl(38 50% 15%);
322
+ --diff-modified-border: hsl(38 50% 30%);
323
+ --diff-modified-foreground: hsl(38 80% 70%);
324
+
325
+ /* Purple - dark */
326
+ --purple: hsl(270 70% 65%);
327
+ --purple-bg: hsl(270 50% 20%);
328
+ --purple-foreground: hsl(270 70% 80%);
329
+
330
+ /* Chart colors - dark */
331
+ --chart-1: hsl(12 76% 61%);
332
+ --chart-2: hsl(173 58% 39%);
333
+ --chart-3: hsl(197 37% 54%);
334
+ --chart-4: hsl(43 74% 66%);
335
+ --chart-5: hsl(27 87% 67%);
336
+ }
337
+
338
+ /* Dark mode fallbacks for inherit mode */
339
+ [data-cms-admin="inherit"].dark,
340
+ [data-cms-admin="inherit"] .dark {
341
+ --sidebar: var(--sidebar, hsl(240 5.9% 10%));
342
+ --sidebar-foreground: var(--sidebar-foreground, hsl(240 4.8% 95.9%));
343
+ --sidebar-primary: var(--sidebar-primary, hsl(224.3 76.3% 48%));
344
+ --sidebar-primary-foreground: var(--sidebar-primary-foreground, hsl(0 0% 100%));
345
+ --sidebar-accent: var(--sidebar-accent, hsl(240 3.7% 15.9%));
346
+ --sidebar-accent-foreground: var(--sidebar-accent-foreground, hsl(240 4.8% 95.9%));
347
+ --sidebar-border: var(--sidebar-border, hsl(240 3.7% 15.9%));
348
+ --sidebar-ring: var(--sidebar-ring, hsl(217.2 91.2% 59.8%));
349
+
350
+ /* Semantic status colors - dark fallbacks */
351
+ --success: var(--success, hsl(142 70% 45%));
352
+ --success-foreground: var(--success-foreground, hsl(0 0% 100%));
353
+ --warning: var(--warning, hsl(38 92% 50%));
354
+ --warning-foreground: var(--warning-foreground, hsl(0 0% 0%));
355
+ --info: var(--info, hsl(217 91% 65%));
356
+ --info-bg: var(--info-bg, hsl(217 50% 20%));
357
+ --info-foreground: var(--info-foreground, hsl(217 91% 80%));
358
+
359
+ /* Diff colors - dark fallbacks */
360
+ --diff-added: var(--diff-added, hsl(142 70% 45%));
361
+ --diff-added-bg: var(--diff-added-bg, hsl(142 50% 15%));
362
+ --diff-added-border: var(--diff-added-border, hsl(142 50% 30%));
363
+ --diff-added-foreground: var(--diff-added-foreground, hsl(142 70% 70%));
364
+ --diff-removed: var(--diff-removed, hsl(0 70% 55%));
365
+ --diff-removed-bg: var(--diff-removed-bg, hsl(0 50% 15%));
366
+ --diff-removed-border: var(--diff-removed-border, hsl(0 50% 30%));
367
+ --diff-removed-foreground: var(--diff-removed-foreground, hsl(0 70% 70%));
368
+ --diff-modified: var(--diff-modified, hsl(38 80% 55%));
369
+ --diff-modified-bg: var(--diff-modified-bg, hsl(38 50% 15%));
370
+ --diff-modified-border: var(--diff-modified-border, hsl(38 50% 30%));
371
+ --diff-modified-foreground: var(--diff-modified-foreground, hsl(38 80% 70%));
372
+
373
+ /* Purple - dark fallbacks */
374
+ --purple: var(--purple, hsl(270 70% 65%));
375
+ --purple-bg: var(--purple-bg, hsl(270 50% 20%));
376
+ --purple-foreground: var(--purple-foreground, hsl(270 70% 80%));
377
+
378
+ /* Chart colors - dark fallbacks */
379
+ --chart-1: var(--chart-1, hsl(12 76% 61%));
380
+ --chart-2: var(--chart-2, hsl(173 58% 39%));
381
+ --chart-3: var(--chart-3, hsl(197 37% 54%));
382
+ --chart-4: var(--chart-4, hsl(43 74% 66%));
383
+ --chart-5: var(--chart-5, hsl(27 87% 67%));
123
384
  }
@@ -1,5 +1,5 @@
1
1
  {
2
- "date": "2026-01-28T13:35:47.975Z",
2
+ "date": "2026-01-28T14:07:30.300Z",
3
3
  "preset": "node-server",
4
4
  "framework": {
5
5
  "name": "nitro",
@@ -1 +1 @@
1
- import{j as e,C as n,h as x}from"./main-DWSY6jZL.js";function d({icon:s,title:m,description:r,action:t,className:l,...a}){return e.jsxs("div",{className:x("flex flex-col items-center justify-center py-12 text-center",l),...a,children:[s&&e.jsx("div",{className:"mb-4 flex size-12 items-center justify-center rounded-full bg-muted text-muted-foreground",children:s}),e.jsx("h3",{className:"text-base font-semibold text-foreground",children:m}),r&&e.jsx("p",{className:"mt-1 max-w-sm text-sm text-muted-foreground",children:r}),t&&e.jsx(n,{variant:t.variant??"primary",onClick:t.onClick,className:"mt-4",children:t.label})]})}export{d as C};
1
+ import{j as e,C as n,h as x}from"./main-CA-4LyFT.js";function d({icon:s,title:m,description:r,action:t,className:l,...a}){return e.jsxs("div",{className:x("flex flex-col items-center justify-center py-12 text-center",l),...a,children:[s&&e.jsx("div",{className:"mb-4 flex size-12 items-center justify-center rounded-full bg-muted text-muted-foreground",children:s}),e.jsx("h3",{className:"text-base font-semibold text-foreground",children:m}),r&&e.jsx("p",{className:"mt-1 max-w-sm text-sm text-muted-foreground",children:r}),t&&e.jsx(n,{variant:t.variant??"primary",onClick:t.onClick,className:"mt-4",children:t.label})]})}export{d as C};
@@ -1 +1 @@
1
- import{j as e,h as m}from"./main-DWSY6jZL.js";function c({title:i,description:s,actions:t,breadcrumbs:a,className:l,...r}){return e.jsxs("div",{className:m("mb-6",l),...r,children:[a&&e.jsx("div",{className:"mb-2",children:a}),e.jsxs("div",{className:"flex items-start justify-between gap-4",children:[e.jsxs("div",{className:"space-y-1",children:[e.jsx("h1",{className:"text-2xl font-semibold tracking-tight text-foreground",children:i}),s&&e.jsx("p",{className:"text-sm text-muted-foreground",children:s})]}),t&&e.jsx("div",{className:"flex items-center gap-2",children:t})]})]})}export{c as C};
1
+ import{j as e,h as m}from"./main-CA-4LyFT.js";function c({title:i,description:s,actions:t,breadcrumbs:a,className:l,...r}){return e.jsxs("div",{className:m("mb-6",l),...r,children:[a&&e.jsx("div",{className:"mb-2",children:a}),e.jsxs("div",{className:"flex items-start justify-between gap-4",children:[e.jsxs("div",{className:"space-y-1",children:[e.jsx("h1",{className:"text-2xl font-semibold tracking-tight text-foreground",children:i}),s&&e.jsx("p",{className:"text-sm text-muted-foreground",children:s})]}),t&&e.jsx("div",{className:"flex items-center gap-2",children:t})]})]})}export{c as C};
@@ -1 +1 @@
1
- import{j as e,h as t}from"./main-DWSY6jZL.js";import{B as a}from"./badge-DiaAY1It.js";const c={draft:{label:"Draft",className:"status-draft",icon:e.jsx("svg",{className:"size-3",fill:"currentColor",viewBox:"0 0 8 8",children:e.jsx("circle",{cx:"4",cy:"4",r:"3"})})},published:{label:"Published",className:"status-published",icon:e.jsx("svg",{className:"size-3",fill:"none",stroke:"currentColor",strokeWidth:"2",viewBox:"0 0 24 24",children:e.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M5 13l4 4L19 7"})})},scheduled:{label:"Scheduled",className:"status-scheduled",icon:e.jsxs("svg",{className:"size-3",fill:"none",stroke:"currentColor",strokeWidth:"2",viewBox:"0 0 24 24",children:[e.jsx("circle",{cx:"12",cy:"12",r:"10"}),e.jsx("path",{strokeLinecap:"round",d:"M12 6v6l4 2"})]})},archived:{label:"Archived",className:"status-archived",icon:e.jsx("svg",{className:"size-3",fill:"none",stroke:"currentColor",strokeWidth:"2",viewBox:"0 0 24 24",children:e.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M5 8h14M5 8a2 2 0 110-4h14a2 2 0 110 4M5 8v10a2 2 0 002 2h10a2 2 0 002-2V8m-9 4h4"})})}},n={gray:"bg-muted text-muted-foreground",yellow:"bg-diff-modified-bg text-diff-modified-foreground",blue:"bg-info-bg text-info-foreground",green:"bg-diff-added-bg text-diff-added-foreground",red:"bg-diff-removed-bg text-diff-removed-foreground",purple:"bg-purple-100 text-purple-800 dark:bg-purple-900/30 dark:text-purple-400",orange:"bg-diff-modified-bg text-diff-modified-foreground"};function l(){return e.jsx("svg",{className:"size-3",fill:"currentColor",viewBox:"0 0 8 8",children:e.jsx("circle",{cx:"4",cy:"4",r:"3"})})}function x({status:d,customConfig:s,className:o,...i}){if(s)return e.jsxs(a,{variant:"secondary",className:t("gap-1.5 px-2 py-0.5 text-xs font-medium",n[s.color],o),...i,children:[l(),s.displayName]});const r=c[d];return r?e.jsxs(a,{variant:"secondary",className:t("gap-1.5 px-2 py-0.5 text-xs font-medium",r.className,o),...i,children:[r.icon,r.label]}):e.jsxs(a,{variant:"secondary",className:t("gap-1.5 px-2 py-0.5 text-xs font-medium",n.gray,o),...i,children:[l(),d]})}export{x as C};
1
+ import{j as e,h as t}from"./main-CA-4LyFT.js";import{B as a}from"./badge-C6qt24oj.js";const c={draft:{label:"Draft",className:"status-draft",icon:e.jsx("svg",{className:"size-3",fill:"currentColor",viewBox:"0 0 8 8",children:e.jsx("circle",{cx:"4",cy:"4",r:"3"})})},published:{label:"Published",className:"status-published",icon:e.jsx("svg",{className:"size-3",fill:"none",stroke:"currentColor",strokeWidth:"2",viewBox:"0 0 24 24",children:e.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M5 13l4 4L19 7"})})},scheduled:{label:"Scheduled",className:"status-scheduled",icon:e.jsxs("svg",{className:"size-3",fill:"none",stroke:"currentColor",strokeWidth:"2",viewBox:"0 0 24 24",children:[e.jsx("circle",{cx:"12",cy:"12",r:"10"}),e.jsx("path",{strokeLinecap:"round",d:"M12 6v6l4 2"})]})},archived:{label:"Archived",className:"status-archived",icon:e.jsx("svg",{className:"size-3",fill:"none",stroke:"currentColor",strokeWidth:"2",viewBox:"0 0 24 24",children:e.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M5 8h14M5 8a2 2 0 110-4h14a2 2 0 110 4M5 8v10a2 2 0 002 2h10a2 2 0 002-2V8m-9 4h4"})})}},n={gray:"bg-muted text-muted-foreground",yellow:"bg-diff-modified-bg text-diff-modified-foreground",blue:"bg-info-bg text-info-foreground",green:"bg-diff-added-bg text-diff-added-foreground",red:"bg-diff-removed-bg text-diff-removed-foreground",purple:"bg-purple-100 text-purple-800 dark:bg-purple-900/30 dark:text-purple-400",orange:"bg-diff-modified-bg text-diff-modified-foreground"};function l(){return e.jsx("svg",{className:"size-3",fill:"currentColor",viewBox:"0 0 8 8",children:e.jsx("circle",{cx:"4",cy:"4",r:"3"})})}function x({status:d,customConfig:s,className:o,...i}){if(s)return e.jsxs(a,{variant:"secondary",className:t("gap-1.5 px-2 py-0.5 text-xs font-medium",n[s.color],o),...i,children:[l(),s.displayName]});const r=c[d];return r?e.jsxs(a,{variant:"secondary",className:t("gap-1.5 px-2 py-0.5 text-xs font-medium",r.className,o),...i,children:[r.icon,r.label]}):e.jsxs(a,{variant:"secondary",className:t("gap-1.5 px-2 py-0.5 text-xs font-medium",n.gray,o),...i,children:[l(),d]})}export{x as C};
@@ -1 +1 @@
1
- import{j as r,h as t}from"./main-DWSY6jZL.js";const l={base:"surface-base",elevated:"surface-elevated",floating:"surface-floating"},m={none:"",sm:"p-3",md:"p-4",lg:"p-6"},u={none:"rounded-none",sm:"rounded-sm",md:"rounded-md",lg:"rounded-lg"};function f({elevation:e="base",padding:s="md",rounded:n="lg",className:a,children:d,...o}){return r.jsx("div",{className:t(l[e],m[s],u[n],a),...o,children:d})}export{f as C};
1
+ import{j as r,h as t}from"./main-CA-4LyFT.js";const l={base:"surface-base",elevated:"surface-elevated",floating:"surface-floating"},m={none:"",sm:"p-3",md:"p-4",lg:"p-6"},u={none:"rounded-none",sm:"rounded-sm",md:"rounded-md",lg:"rounded-lg"};function f({elevation:e="base",padding:s="md",rounded:n="lg",className:a,children:d,...o}){return r.jsx("div",{className:t(l[e],m[s],u[n],a),...o,children:d})}export{f as C};
@@ -1 +1 @@
1
- import{j as e,I as i,h as o}from"./main-DWSY6jZL.js";import{S as p}from"./search-BT8HTHxb.js";function u({left:t,right:s,search:a,filters:r,actions:l,className:n,children:x,...m}){return e.jsxs("div",{className:o("flex flex-wrap items-center justify-between gap-3 pb-4",n),...m,children:[e.jsxs("div",{className:"flex flex-1 flex-wrap items-center gap-2",children:[a&&e.jsxs("div",{className:"relative w-full max-w-xs",children:[e.jsx(p,{className:"absolute left-3 top-1/2 size-4 -translate-y-1/2 text-muted-foreground"}),e.jsx(i,{type:"search",placeholder:a.placeholder??"Search...",value:a.value,onChange:c=>a.onChange(c.target.value),className:"pl-9"})]}),r,t,x]}),(s||l)&&e.jsx("div",{className:"flex items-center gap-2",children:s??l})]})}export{u as C};
1
+ import{j as e,I as i,h as o}from"./main-CA-4LyFT.js";import{S as p}from"./search-WXp6KxDJ.js";function u({left:t,right:s,search:a,filters:r,actions:l,className:n,children:x,...m}){return e.jsxs("div",{className:o("flex flex-wrap items-center justify-between gap-3 pb-4",n),...m,children:[e.jsxs("div",{className:"flex flex-1 flex-wrap items-center gap-2",children:[a&&e.jsxs("div",{className:"relative w-full max-w-xs",children:[e.jsx(p,{className:"absolute left-3 top-1/2 size-4 -translate-y-1/2 text-muted-foreground"}),e.jsx(i,{type:"search",placeholder:a.placeholder??"Search...",value:a.value,onChange:c=>a.onChange(c.target.value),className:"pl-9"})]}),r,t,x]}),(s||l)&&e.jsx("div",{className:"flex items-center gap-2",children:s??l})]})}export{u as C};