convex-cms 0.0.9-alpha.9 → 0.0.10

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 (117) hide show
  1. package/admin/src/components/Header.tsx +1 -1
  2. package/admin/src/components/RouteGuard.tsx +1 -1
  3. package/admin/src/components/UploadDropzone.tsx +1 -1
  4. package/admin/src/components/ui/sidebar.tsx +1 -1
  5. package/admin/src/contexts/AuthContext.tsx +1 -1
  6. package/admin/src/embed/components/EmbedSidebar.tsx +10 -10
  7. package/admin/src/embed/contexts/ApiContext.tsx +1 -1
  8. package/admin/src/hooks/usePermissions.ts +1 -1
  9. package/admin/src/index.css +432 -0
  10. package/admin/src/lib/cmsExports.ts +6 -0
  11. package/admin/src/pages/DashboardPage.tsx +2 -3
  12. package/admin/src/routes/__root.tsx +1 -1
  13. package/admin-dist/nitro.json +1 -1
  14. package/admin-dist/public/assets/{CmsEmptyState-DTlpzjOI.js → CmsEmptyState-BKeL4DBB.js} +1 -1
  15. package/admin-dist/public/assets/CmsFilterBar-CEpMHd_c.js +1 -0
  16. package/admin-dist/public/assets/{CmsPageHeader-0REGRH4X.js → CmsPageHeader-CIEkTbyH.js} +1 -1
  17. package/admin-dist/public/assets/{CmsStatusBadge-D_n8u8xa.js → CmsStatusBadge-BFMOsfMW.js} +1 -1
  18. package/admin-dist/public/assets/{CmsSurface-BHmvNai4.js → CmsSurface-kqqaFKUI.js} +1 -1
  19. package/admin-dist/public/assets/CmsTable-Db53Exq0.js +1 -0
  20. package/admin-dist/public/assets/ContentEntryEditor-Ct7cHayy.js +4 -0
  21. package/admin-dist/public/assets/TaxonomyFilter-Bm1DI1A7.js +1 -0
  22. package/admin-dist/public/assets/_contentTypeId-BekeCblX.js +1 -0
  23. package/admin-dist/public/assets/{_entryId-jPXz4z9T.js → _entryId-CoZDE0l0.js} +1 -1
  24. package/admin-dist/public/assets/{alert-CG97cMfC.js → alert-CpLdsTGU.js} +1 -1
  25. package/admin-dist/public/assets/{badge-C6qt24oj.js → badge-BQAotc5B.js} +1 -1
  26. package/admin-dist/public/assets/{circle-check-big-PltpxuB1.js → circle-check-big-BF3Y5nES.js} +1 -1
  27. package/admin-dist/public/assets/{command-CJ8i86fd.js → command-lEq6f_Ee.js} +1 -1
  28. package/admin-dist/public/assets/content-DH6k0dN6.js +1 -0
  29. package/admin-dist/public/assets/content-types-DHr9tc2V.js +1 -0
  30. package/admin-dist/public/assets/index-Cf0lbl0G.js +1 -0
  31. package/admin-dist/public/assets/index-D-4wFfgU.css +1 -0
  32. package/admin-dist/public/assets/inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2 +0 -0
  33. package/admin-dist/public/assets/inter-cyrillic-wght-normal-DqGufNeO.woff2 +0 -0
  34. package/admin-dist/public/assets/inter-greek-ext-wght-normal-DlzME5K_.woff2 +0 -0
  35. package/admin-dist/public/assets/inter-greek-wght-normal-CkhJZR-_.woff2 +0 -0
  36. package/admin-dist/public/assets/inter-latin-ext-wght-normal-DO1Apj_S.woff2 +0 -0
  37. package/admin-dist/public/assets/inter-latin-wght-normal-Dx4kXJAl.woff2 +0 -0
  38. package/admin-dist/public/assets/inter-vietnamese-wght-normal-CBcvBZtf.woff2 +0 -0
  39. package/admin-dist/public/assets/jetbrains-mono-cyrillic-400-normal-BEIGL1Tu.woff2 +0 -0
  40. package/admin-dist/public/assets/jetbrains-mono-cyrillic-400-normal-ugxPyKxw.woff +0 -0
  41. package/admin-dist/public/assets/jetbrains-mono-greek-400-normal-B9oWc5Lo.woff +0 -0
  42. package/admin-dist/public/assets/jetbrains-mono-greek-400-normal-C190GLew.woff2 +0 -0
  43. package/admin-dist/public/assets/jetbrains-mono-latin-400-normal-6-qcROiO.woff +0 -0
  44. package/admin-dist/public/assets/jetbrains-mono-latin-400-normal-V6pRDFza.woff2 +0 -0
  45. package/admin-dist/public/assets/jetbrains-mono-latin-ext-400-normal-Bc8Ftmh3.woff2 +0 -0
  46. package/admin-dist/public/assets/jetbrains-mono-latin-ext-400-normal-fXTG6kC5.woff +0 -0
  47. package/admin-dist/public/assets/jetbrains-mono-vietnamese-400-normal-CqNFfHCs.woff +0 -0
  48. package/admin-dist/public/assets/main-B-6700eG.js +137 -0
  49. package/admin-dist/public/assets/media-DY5zD52L.js +1 -0
  50. package/admin-dist/public/assets/{new._contentTypeId-qsvo01mH.js → new._contentTypeId-Dq_NqTQV.js} +1 -1
  51. package/admin-dist/public/assets/{pencil-gAL0R34f.js → pencil-CI_KfxSx.js} +1 -1
  52. package/admin-dist/public/assets/refresh-cw-BrXg9a2r.js +1 -0
  53. package/admin-dist/public/assets/rotate-ccw-PwzxdPxd.js +1 -0
  54. package/admin-dist/public/assets/{scroll-area-CJBhf9pf.js → scroll-area-DX_nZYp8.js} +1 -1
  55. package/admin-dist/public/assets/{search-WXp6KxDJ.js → search-DlwBH4C5.js} +1 -1
  56. package/admin-dist/public/assets/settings-2mx3_ORG.js +1 -0
  57. package/admin-dist/public/assets/{switch-Ck9ecqEX.js → switch-CjPi4DKH.js} +1 -1
  58. package/admin-dist/public/assets/{tabs-vQYu8rjC.js → tabs-B5X37GEM.js} +1 -1
  59. package/admin-dist/public/assets/tanstack-adapter-KSm-nO5L.js +1 -0
  60. package/admin-dist/public/assets/{taxonomies-DvILUNvr.js → taxonomies-CHjJKNlR.js} +1 -1
  61. package/admin-dist/public/assets/trash-Cle-tcqq.js +1 -0
  62. package/admin-dist/public/assets/{useBreadcrumbLabel-tlSh7dtO.js → useBreadcrumbLabel-yZQG_N_3.js} +1 -1
  63. package/admin-dist/public/assets/{usePermissions-BTGdTOJS.js → usePermissions-D6vsoaJf.js} +1 -1
  64. package/admin-dist/server/_libs/convex-helpers.mjs +1077 -2
  65. package/admin-dist/server/_libs/convex.mjs +222 -13
  66. package/admin-dist/server/_libs/lucide-react.mjs +57 -51
  67. package/admin-dist/server/_ssr/{CmsEmptyState-CB6e53i5.mjs → CmsEmptyState-DzzuQG0S.mjs} +1 -1
  68. package/admin-dist/server/_ssr/CmsFilterBar-C5XADS12.mjs +81 -0
  69. package/admin-dist/server/_ssr/{CmsPageHeader-COUHuECp.mjs → CmsPageHeader-DZ6h7smh.mjs} +1 -1
  70. package/admin-dist/server/_ssr/{CmsStatusBadge-kMTL6koE.mjs → CmsStatusBadge-D-YFSAa1.mjs} +3 -3
  71. package/admin-dist/server/_ssr/{CmsSurface-D1HDYjRg.mjs → CmsSurface-Cv51NBLZ.mjs} +1 -1
  72. package/admin-dist/server/_ssr/CmsTable-DG88C5nO.mjs +189 -0
  73. package/admin-dist/server/_ssr/{ContentEntryEditor-Bq8FR_uK.mjs → ContentEntryEditor-CRjwXB17.mjs} +10 -10
  74. package/admin-dist/server/_ssr/{TaxonomyFilter-bm_p4ADg.mjs → TaxonomyFilter-xGwcgtjr.mjs} +3 -3
  75. package/admin-dist/server/_ssr/{_contentTypeId-B7obLmi_.mjs → _contentTypeId-DRCfeKkm.mjs} +53 -12
  76. package/admin-dist/server/_ssr/{_entryId-B4zhQqFg.mjs → _entryId-DULm2TDy.mjs} +11 -11
  77. package/admin-dist/server/_ssr/_tanstack-start-manifest_v-iX3K33p1.mjs +4 -0
  78. package/admin-dist/server/_ssr/{badge-NOEC9bkk.mjs → badge-CbjIvhb6.mjs} +1 -1
  79. package/admin-dist/server/_ssr/{command-h4-OYNBo.mjs → command-xB2uiYps.mjs} +2 -2
  80. package/admin-dist/server/_ssr/{content-CShtLuhK.mjs → content-BfLBaJCZ.mjs} +108 -138
  81. package/admin-dist/server/_ssr/{content-types-PeyRyfbc.mjs → content-types-DZbF6O2q.mjs} +130 -119
  82. package/admin-dist/server/_ssr/{index-CplFXpGg.mjs → index-Cfe8sZv5.mjs} +65 -39
  83. package/admin-dist/server/_ssr/index.mjs +2 -2
  84. package/admin-dist/server/_ssr/{media-QAkNdX54.mjs → media-Bds2AnPC.mjs} +36 -56
  85. package/admin-dist/server/_ssr/{new._contentTypeId-DEJyMphJ.mjs → new._contentTypeId-DGvz_tlW.mjs} +10 -10
  86. package/admin-dist/server/_ssr/{router-CQXMuGMF.mjs → router-DxF7GBcO.mjs} +8804 -4995
  87. package/admin-dist/server/_ssr/{scroll-area-B7zoNyWB.mjs → scroll-area-DLDlXI07.mjs} +1 -1
  88. package/admin-dist/server/_ssr/{settings-CNaqVa4D.mjs → settings-BbaiS6z9.mjs} +13 -10
  89. package/admin-dist/server/_ssr/{switch-BKZhvryc.mjs → switch-Bl89Pfxu.mjs} +1 -1
  90. package/admin-dist/server/_ssr/{tabs-DtIIQxiD.mjs → tabs-QkbR0iir.mjs} +3 -3
  91. package/admin-dist/server/_ssr/{tanstack-adapter-CLavdbUY.mjs → tanstack-adapter-CKknPtcU.mjs} +19 -1
  92. package/admin-dist/server/_ssr/{taxonomies-vIZYICzr.mjs → taxonomies-S_Ontd0z.mjs} +9 -9
  93. package/admin-dist/server/_ssr/{trash-7yGR4-dF.mjs → trash-BzAIsbbN.mjs} +109 -132
  94. package/admin-dist/server/_ssr/{useBreadcrumbLabel-DR5FaAMf.mjs → useBreadcrumbLabel-BjiR1fM_.mjs} +1 -1
  95. package/admin-dist/server/_ssr/{usePermissions-DKkpETj_.mjs → usePermissions-CDHN95Nz.mjs} +1 -1
  96. package/admin-dist/server/index.mjs +284 -165
  97. package/package.json +3 -2
  98. package/admin/src/styles/globals.css +0 -82
  99. package/admin/src/styles/tailwind-config.css +0 -111
  100. package/admin/src/styles/theme.css +0 -384
  101. package/admin-dist/public/assets/CmsToolbar-CY6GV2L8.js +0 -1
  102. package/admin-dist/public/assets/ContentEntryEditor-CRgcRkk5.js +0 -4
  103. package/admin-dist/public/assets/TaxonomyFilter-Ohv5Jg9c.js +0 -1
  104. package/admin-dist/public/assets/_contentTypeId-C_vJq22X.js +0 -1
  105. package/admin-dist/public/assets/content-pKaIL2ru.js +0 -1
  106. package/admin-dist/public/assets/content-types-Bl_8I1Re.js +0 -1
  107. package/admin-dist/public/assets/globals-CoCRjt0K.css +0 -1
  108. package/admin-dist/public/assets/index-CtHq_P5q.js +0 -1
  109. package/admin-dist/public/assets/main-CA-4LyFT.js +0 -107
  110. package/admin-dist/public/assets/media-Bl1tBbJQ.js +0 -1
  111. package/admin-dist/public/assets/refresh-cw-sdVUGJNs.js +0 -1
  112. package/admin-dist/public/assets/rotate-ccw-6OcXCcxb.js +0 -1
  113. package/admin-dist/public/assets/settings-D8crrFCn.js +0 -1
  114. package/admin-dist/public/assets/tanstack-adapter-BRt2CUCw.js +0 -1
  115. package/admin-dist/public/assets/trash-YyYaC3L9.js +0 -1
  116. package/admin-dist/server/_ssr/CmsToolbar-NB014hsd.mjs +0 -48
  117. package/admin-dist/server/_ssr/_tanstack-start-manifest_v-DndoqCo7.mjs +0 -4
@@ -0,0 +1,189 @@
1
+ import { j as jsxRuntimeExports } from "../_chunks/_libs/react.mjs";
2
+ import { d as Checkbox, e as cn } from "./router-DxF7GBcO.mjs";
3
+ import { am as ChevronsUpDown, g as ChevronUp, d as ChevronDown } from "../_libs/lucide-react.mjs";
4
+ function Table({ className, ...props }) {
5
+ return /* @__PURE__ */ jsxRuntimeExports.jsx(
6
+ "div",
7
+ {
8
+ "data-slot": "table-container",
9
+ className: "relative w-full overflow-x-auto",
10
+ children: /* @__PURE__ */ jsxRuntimeExports.jsx(
11
+ "table",
12
+ {
13
+ "data-slot": "table",
14
+ className: cn("w-full caption-bottom text-sm", className),
15
+ ...props
16
+ }
17
+ )
18
+ }
19
+ );
20
+ }
21
+ function TableHeader({ className, ...props }) {
22
+ return /* @__PURE__ */ jsxRuntimeExports.jsx(
23
+ "thead",
24
+ {
25
+ "data-slot": "table-header",
26
+ className: cn("[&_tr]:border-b", className),
27
+ ...props
28
+ }
29
+ );
30
+ }
31
+ function TableBody({ className, ...props }) {
32
+ return /* @__PURE__ */ jsxRuntimeExports.jsx(
33
+ "tbody",
34
+ {
35
+ "data-slot": "table-body",
36
+ className: cn("[&_tr:last-child]:border-0", className),
37
+ ...props
38
+ }
39
+ );
40
+ }
41
+ function TableRow({ className, ...props }) {
42
+ return /* @__PURE__ */ jsxRuntimeExports.jsx(
43
+ "tr",
44
+ {
45
+ "data-slot": "table-row",
46
+ className: cn(
47
+ "hover:bg-muted/50 data-[state=selected]:bg-muted border-b transition-colors",
48
+ className
49
+ ),
50
+ ...props
51
+ }
52
+ );
53
+ }
54
+ function TableHead({ className, ...props }) {
55
+ return /* @__PURE__ */ jsxRuntimeExports.jsx(
56
+ "th",
57
+ {
58
+ "data-slot": "table-head",
59
+ className: cn(
60
+ "text-foreground h-10 px-2 text-left align-middle font-medium whitespace-nowrap [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]",
61
+ className
62
+ ),
63
+ ...props
64
+ }
65
+ );
66
+ }
67
+ function TableCell({ className, ...props }) {
68
+ return /* @__PURE__ */ jsxRuntimeExports.jsx(
69
+ "td",
70
+ {
71
+ "data-slot": "table-cell",
72
+ className: cn(
73
+ "p-2 align-middle whitespace-nowrap [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]",
74
+ className
75
+ ),
76
+ ...props
77
+ }
78
+ );
79
+ }
80
+ function CmsTable({
81
+ columns,
82
+ data,
83
+ getRowId,
84
+ selectable,
85
+ selectedIds = /* @__PURE__ */ new Set(),
86
+ onSelectionChange,
87
+ sortColumn,
88
+ sortDirection,
89
+ onSort,
90
+ onRowClick,
91
+ emptyMessage = "No items found",
92
+ className
93
+ }) {
94
+ const allSelected = data.length > 0 && data.every((row) => selectedIds.has(getRowId(row)));
95
+ const someSelected = data.some((row) => selectedIds.has(getRowId(row)));
96
+ const handleSelectAll = (checked) => {
97
+ if (!onSelectionChange) return;
98
+ if (checked) {
99
+ onSelectionChange(new Set(data.map(getRowId)));
100
+ } else {
101
+ onSelectionChange(/* @__PURE__ */ new Set());
102
+ }
103
+ };
104
+ const handleSelectRow = (rowId, checked) => {
105
+ if (!onSelectionChange) return;
106
+ const newSelection = new Set(selectedIds);
107
+ if (checked) {
108
+ newSelection.add(rowId);
109
+ } else {
110
+ newSelection.delete(rowId);
111
+ }
112
+ onSelectionChange(newSelection);
113
+ };
114
+ const renderSortIcon = (column) => {
115
+ if (!column.sortable) return null;
116
+ if (sortColumn !== column.key) {
117
+ return /* @__PURE__ */ jsxRuntimeExports.jsx(ChevronsUpDown, { className: "ml-1 inline size-3.5 text-muted-foreground" });
118
+ }
119
+ return sortDirection === "asc" ? /* @__PURE__ */ jsxRuntimeExports.jsx(ChevronUp, { className: "ml-1 inline size-3.5" }) : /* @__PURE__ */ jsxRuntimeExports.jsx(ChevronDown, { className: "ml-1 inline size-3.5" });
120
+ };
121
+ return /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: cn("rounded-lg border", className), children: /* @__PURE__ */ jsxRuntimeExports.jsxs(Table, { children: [
122
+ /* @__PURE__ */ jsxRuntimeExports.jsx(TableHeader, { children: /* @__PURE__ */ jsxRuntimeExports.jsxs(TableRow, { className: "hover:bg-transparent", children: [
123
+ selectable && /* @__PURE__ */ jsxRuntimeExports.jsx(TableHead, { className: "w-12", children: /* @__PURE__ */ jsxRuntimeExports.jsx(
124
+ Checkbox,
125
+ {
126
+ checked: allSelected ? true : someSelected ? "indeterminate" : false,
127
+ onCheckedChange: handleSelectAll,
128
+ "aria-label": "Select all"
129
+ }
130
+ ) }),
131
+ columns.map((column) => /* @__PURE__ */ jsxRuntimeExports.jsxs(
132
+ TableHead,
133
+ {
134
+ className: cn(
135
+ column.sortable && "cursor-pointer select-none",
136
+ column.className
137
+ ),
138
+ onClick: () => column.sortable && onSort?.(column.key),
139
+ children: [
140
+ column.header,
141
+ renderSortIcon(column)
142
+ ]
143
+ },
144
+ column.key
145
+ ))
146
+ ] }) }),
147
+ /* @__PURE__ */ jsxRuntimeExports.jsx(TableBody, { children: data.length === 0 ? /* @__PURE__ */ jsxRuntimeExports.jsx(TableRow, { children: /* @__PURE__ */ jsxRuntimeExports.jsx(
148
+ TableCell,
149
+ {
150
+ colSpan: columns.length + (selectable ? 1 : 0),
151
+ className: "h-24 text-center text-muted-foreground",
152
+ children: emptyMessage
153
+ }
154
+ ) }) : data.map((row) => {
155
+ const rowId = getRowId(row);
156
+ const isSelected = selectedIds.has(rowId);
157
+ return /* @__PURE__ */ jsxRuntimeExports.jsxs(
158
+ TableRow,
159
+ {
160
+ "data-state": isSelected && "selected",
161
+ className: cn(onRowClick && "cursor-pointer"),
162
+ onClick: () => onRowClick?.(row),
163
+ children: [
164
+ selectable && /* @__PURE__ */ jsxRuntimeExports.jsx(
165
+ TableCell,
166
+ {
167
+ onClick: (e) => e.stopPropagation(),
168
+ className: "w-12",
169
+ children: /* @__PURE__ */ jsxRuntimeExports.jsx(
170
+ Checkbox,
171
+ {
172
+ checked: isSelected,
173
+ onCheckedChange: (checked) => handleSelectRow(rowId, checked === true),
174
+ "aria-label": `Select row ${rowId}`
175
+ }
176
+ )
177
+ }
178
+ ),
179
+ columns.map((column) => /* @__PURE__ */ jsxRuntimeExports.jsx(TableCell, { className: column.className, children: column.cell(row) }, column.key))
180
+ ]
181
+ },
182
+ rowId
183
+ );
184
+ }) })
185
+ ] }) });
186
+ }
187
+ export {
188
+ CmsTable as C
189
+ };
@@ -1,15 +1,15 @@
1
1
  import { r as reactExports, j as jsxRuntimeExports } from "../_chunks/_libs/react.mjs";
2
- import { v as useSettingsConfig, u as useApi, f as cn, C as CmsButton, i as CmsDialog, I as Input, g as CmsConfirmDialog, T as Textarea, P as Popover, z as PopoverTrigger, A as PopoverContent, B as Button, D as Dialog, l as DialogContent, s as DialogHeader, m as DialogTitle, S as Select, a as SelectTrigger, b as SelectValue, c as SelectContent, d as SelectItem, t as DialogFooter, e as Checkbox, L as Label, K as buttonVariants } from "./router-CQXMuGMF.mjs";
3
- import { S as Switch } from "./switch-BKZhvryc.mjs";
2
+ import { v as useSettingsConfig, u as useApi, e as cn, C as CmsButton, c as CmsDialog, I as Input, a as CmsConfirmDialog, T as Textarea, P as Popover, z as PopoverTrigger, A as PopoverContent, B as Button, D as Dialog, l as DialogContent, s as DialogHeader, m as DialogTitle, S as Select, g as SelectTrigger, h as SelectValue, i as SelectContent, j as SelectItem, t as DialogFooter, d as Checkbox, L as Label, K as buttonVariants } from "./router-DxF7GBcO.mjs";
3
+ import { S as Switch } from "./switch-Bl89Pfxu.mjs";
4
4
  import { R as Root } from "../_chunks/_libs/@radix-ui/react-separator.mjs";
5
- import { T as Tabs, a as TabsList, b as TabsTrigger, c as TabsContent, U as UploadDropzone } from "./tabs-DtIIQxiD.mjs";
6
- import { C as CmsEmptyState } from "./CmsEmptyState-CB6e53i5.mjs";
7
- import { C as Command, a as CommandInput, b as CommandList, d as CommandGroup, f as CommandItem, c as CommandEmpty } from "./command-h4-OYNBo.mjs";
8
- import { B as Badge } from "./badge-NOEC9bkk.mjs";
9
- import { C as CmsStatusBadge } from "./CmsStatusBadge-kMTL6koE.mjs";
10
- import { S as ScrollArea } from "./scroll-area-B7zoNyWB.mjs";
11
- import { f as useMutation, u as useQuery } from "../_libs/convex.mjs";
12
- import { L as LoaderCircle, al as CircleCheckBig, j as CircleAlert, ao as RefreshCw, aq as History, x as Clock, X, d as ChevronDown, W as Tag, P as Plus, Z as Link2, Q as FileText, i as Check, a3 as Pencil, O as Image, V as FolderOpen, ab as Upload, a1 as Search, y as Calendar$1, ar as GitCompare, as as ArrowRight, a0 as TriangleAlert, h as ChevronRight, ag as File, ah as Music, ai as Video, a9 as ChevronLeft, at as Bold, au as Italic, av as Heading2, w as Link, Y as List, aw as Quote, c as Code, ax as Minus } from "../_libs/lucide-react.mjs";
5
+ import { T as Tabs, a as TabsList, b as TabsTrigger, c as TabsContent, U as UploadDropzone } from "./tabs-QkbR0iir.mjs";
6
+ import { C as CmsEmptyState } from "./CmsEmptyState-DzzuQG0S.mjs";
7
+ import { C as Command, a as CommandInput, b as CommandList, d as CommandGroup, f as CommandItem, c as CommandEmpty } from "./command-xB2uiYps.mjs";
8
+ import { B as Badge } from "./badge-CbjIvhb6.mjs";
9
+ import { C as CmsStatusBadge } from "./CmsStatusBadge-D-YFSAa1.mjs";
10
+ import { S as ScrollArea } from "./scroll-area-DLDlXI07.mjs";
11
+ import { k as useMutation, u as useQuery } from "../_libs/convex.mjs";
12
+ import { L as LoaderCircle, al as CircleCheckBig, j as CircleAlert, ap as RefreshCw, ar as History, x as Clock, X, d as ChevronDown, W as Tag, P as Plus, Z as Link2, Q as FileText, i as Check, a2 as Pencil, O as Image, V as FolderOpen, aa as Upload, ab as Search, y as Calendar$1, as as GitCompare, at as ArrowRight, a0 as TriangleAlert, h as ChevronRight, ag as File, ah as Music, ai as Video, a8 as ChevronLeft, au as Bold, av as Italic, aw as Heading2, w as Link, Y as List, ax as Quote, c as Code, ay as Minus } from "../_libs/lucide-react.mjs";
13
13
  import { g as getDefaultClassNames, D as DayPicker } from "../_libs/react-day-picker.mjs";
14
14
  function FieldWrapper({
15
15
  field,
@@ -1,7 +1,7 @@
1
1
  import { r as reactExports, j as jsxRuntimeExports } from "../_chunks/_libs/react.mjs";
2
- import { u as useApi, P as Popover, z as PopoverTrigger, C as CmsButton, f as cn, A as PopoverContent, e as Checkbox } from "./router-CQXMuGMF.mjs";
3
- import { C as Command, a as CommandInput, b as CommandList, c as CommandEmpty, d as CommandGroup, e as CommandSeparator, f as CommandItem } from "./command-h4-OYNBo.mjs";
4
- import { B as Badge } from "./badge-NOEC9bkk.mjs";
2
+ import { u as useApi, P as Popover, z as PopoverTrigger, C as CmsButton, e as cn, A as PopoverContent, d as Checkbox } from "./router-DxF7GBcO.mjs";
3
+ import { C as Command, a as CommandInput, b as CommandList, c as CommandEmpty, d as CommandGroup, e as CommandSeparator, f as CommandItem } from "./command-xB2uiYps.mjs";
4
+ import { B as Badge } from "./badge-CbjIvhb6.mjs";
5
5
  import { u as useQuery } from "../_libs/convex.mjs";
6
6
  import { N as Tags, d as ChevronDown, X, i as Check } from "../_libs/lucide-react.mjs";
7
7
  function TaxonomyFilter({
@@ -1,15 +1,14 @@
1
1
  import { r as reactExports, j as jsxRuntimeExports } from "../_chunks/_libs/react.mjs";
2
2
  import { d as useNavigate, L as Link } from "../_chunks/_libs/@tanstack/react-router.mjs";
3
- import { y as Route$1, h as api, C as CmsButton, I as Input, S as Select, a as SelectTrigger, b as SelectValue, c as SelectContent, d as SelectItem, g as CmsConfirmDialog } from "./router-CQXMuGMF.mjs";
4
- import { u as usePermissions } from "./usePermissions-DKkpETj_.mjs";
5
- import { u as useBreadcrumbLabel } from "./useBreadcrumbLabel-DR5FaAMf.mjs";
6
- import { C as CmsPageHeader } from "./CmsPageHeader-COUHuECp.mjs";
7
- import { C as CmsToolbar } from "./CmsToolbar-NB014hsd.mjs";
8
- import { C as CmsStatusBadge } from "./CmsStatusBadge-kMTL6koE.mjs";
9
- import { C as CmsEmptyState } from "./CmsEmptyState-CB6e53i5.mjs";
10
- import { T as TaxonomyFilter } from "./TaxonomyFilter-bm_p4ADg.mjs";
11
- import { f as useMutation, u as useQuery } from "../_libs/convex.mjs";
12
- import { Q as FileText, P as Plus, a1 as Search, ap as ArrowUpDown, g as ChevronUp, d as ChevronDown } from "../_libs/lucide-react.mjs";
3
+ import { y as Route$1, b as api, C as CmsButton, I as Input, S as Select, g as SelectTrigger, h as SelectValue, i as SelectContent, j as SelectItem, a as CmsConfirmDialog, e as cn } from "./router-DxF7GBcO.mjs";
4
+ import { u as usePermissions } from "./usePermissions-CDHN95Nz.mjs";
5
+ import { u as useBreadcrumbLabel } from "./useBreadcrumbLabel-BjiR1fM_.mjs";
6
+ import { C as CmsPageHeader } from "./CmsPageHeader-DZ6h7smh.mjs";
7
+ import { C as CmsStatusBadge } from "./CmsStatusBadge-D-YFSAa1.mjs";
8
+ import { C as CmsEmptyState } from "./CmsEmptyState-DzzuQG0S.mjs";
9
+ import { T as TaxonomyFilter } from "./TaxonomyFilter-xGwcgtjr.mjs";
10
+ import { k as useMutation, u as useQuery } from "../_libs/convex.mjs";
11
+ import { Q as FileText, P as Plus, ab as Search, aq as ArrowUpDown, g as ChevronUp, d as ChevronDown } from "../_libs/lucide-react.mjs";
13
12
  import "../_libs/tiny-warning.mjs";
14
13
  import "../_chunks/_libs/@tanstack/router-core.mjs";
15
14
  import "../_chunks/_libs/@tanstack/history.mjs";
@@ -76,9 +75,51 @@ import "../_chunks/_libs/@radix-ui/react-popover.mjs";
76
75
  import "./index.mjs";
77
76
  import "node:async_hooks";
78
77
  import "../_libs/zod.mjs";
79
- import "./badge-NOEC9bkk.mjs";
80
- import "./command-h4-OYNBo.mjs";
78
+ import "./badge-CbjIvhb6.mjs";
79
+ import "./command-xB2uiYps.mjs";
81
80
  import "../_libs/cmdk.mjs";
81
+ function CmsToolbar({
82
+ left,
83
+ right,
84
+ search,
85
+ filters,
86
+ actions,
87
+ className,
88
+ children,
89
+ ...props
90
+ }) {
91
+ return /* @__PURE__ */ jsxRuntimeExports.jsxs(
92
+ "div",
93
+ {
94
+ className: cn(
95
+ "flex flex-wrap items-center justify-between gap-3 pb-4",
96
+ className
97
+ ),
98
+ ...props,
99
+ children: [
100
+ /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex flex-1 flex-wrap items-center gap-2", children: [
101
+ search && /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "relative w-full max-w-xs", children: [
102
+ /* @__PURE__ */ jsxRuntimeExports.jsx(Search, { className: "absolute left-3 top-1/2 size-4 -translate-y-1/2 text-muted-foreground" }),
103
+ /* @__PURE__ */ jsxRuntimeExports.jsx(
104
+ Input,
105
+ {
106
+ type: "search",
107
+ placeholder: search.placeholder ?? "Search...",
108
+ value: search.value,
109
+ onChange: (e) => search.onChange(e.target.value),
110
+ className: "pl-9"
111
+ }
112
+ )
113
+ ] }),
114
+ filters,
115
+ left,
116
+ children
117
+ ] }),
118
+ (right || actions) && /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "flex items-center gap-2", children: right ?? actions })
119
+ ]
120
+ }
121
+ );
122
+ }
82
123
  function ContentTypeEntriesPage() {
83
124
  const {
84
125
  contentTypeId
@@ -1,10 +1,10 @@
1
1
  import { j as jsxRuntimeExports } from "../_chunks/_libs/react.mjs";
2
2
  import { d as useNavigate } from "../_chunks/_libs/@tanstack/react-router.mjs";
3
- import { x as Route$2, h as api } from "./router-CQXMuGMF.mjs";
4
- import { C as ContentEntryEditor } from "./ContentEntryEditor-Bq8FR_uK.mjs";
5
- import { u as usePermissions } from "./usePermissions-DKkpETj_.mjs";
6
- import { u as useBreadcrumbLabel } from "./useBreadcrumbLabel-DR5FaAMf.mjs";
7
- import { C as CmsEmptyState } from "./CmsEmptyState-CB6e53i5.mjs";
3
+ import { x as Route$2, b as api } from "./router-DxF7GBcO.mjs";
4
+ import { C as ContentEntryEditor } from "./ContentEntryEditor-CRjwXB17.mjs";
5
+ import { u as usePermissions } from "./usePermissions-CDHN95Nz.mjs";
6
+ import { u as useBreadcrumbLabel } from "./useBreadcrumbLabel-BjiR1fM_.mjs";
7
+ import { C as CmsEmptyState } from "./CmsEmptyState-DzzuQG0S.mjs";
8
8
  import { u as useQuery } from "../_libs/convex.mjs";
9
9
  import { Q as FileText } from "../_libs/lucide-react.mjs";
10
10
  import "../_libs/tiny-warning.mjs";
@@ -73,16 +73,16 @@ import "../_chunks/_libs/@radix-ui/react-popover.mjs";
73
73
  import "./index.mjs";
74
74
  import "node:async_hooks";
75
75
  import "../_libs/zod.mjs";
76
- import "./switch-BKZhvryc.mjs";
76
+ import "./switch-Bl89Pfxu.mjs";
77
77
  import "../_chunks/_libs/@radix-ui/react-switch.mjs";
78
78
  import "../_chunks/_libs/@radix-ui/react-separator.mjs";
79
- import "./tabs-DtIIQxiD.mjs";
79
+ import "./tabs-QkbR0iir.mjs";
80
80
  import "../_chunks/_libs/@radix-ui/react-tabs.mjs";
81
- import "./command-h4-OYNBo.mjs";
81
+ import "./command-xB2uiYps.mjs";
82
82
  import "../_libs/cmdk.mjs";
83
- import "./badge-NOEC9bkk.mjs";
84
- import "./CmsStatusBadge-kMTL6koE.mjs";
85
- import "./scroll-area-B7zoNyWB.mjs";
83
+ import "./badge-CbjIvhb6.mjs";
84
+ import "./CmsStatusBadge-D-YFSAa1.mjs";
85
+ import "./scroll-area-DLDlXI07.mjs";
86
86
  import "../_chunks/_libs/@radix-ui/react-scroll-area.mjs";
87
87
  import "../_libs/react-day-picker.mjs";
88
88
  import "../_libs/date-fns.mjs";
@@ -0,0 +1,4 @@
1
+ const tsrStartManifest = () => ({ "routes": { "__root__": { "filePath": "/Users/home/Developer/projects/convex-cms/admin/src/routes/__root.tsx", "children": ["/", "/content", "/content-types", "/media", "/settings", "/taxonomies", "/trash", "/entries/$entryId", "/entries/new/$contentTypeId", "/entries/type/$contentTypeId"], "preloads": ["/assets/main-B-6700eG.js"], "assets": [] }, "/": { "filePath": "/Users/home/Developer/projects/convex-cms/admin/src/routes/index.tsx", "assets": [], "preloads": ["/assets/index-Cf0lbl0G.js", "/assets/tanstack-adapter-KSm-nO5L.js", "/assets/CmsPageHeader-CIEkTbyH.js", "/assets/CmsSurface-kqqaFKUI.js", "/assets/alert-CpLdsTGU.js", "/assets/refresh-cw-BrXg9a2r.js"] }, "/content": { "filePath": "/Users/home/Developer/projects/convex-cms/admin/src/routes/content.tsx", "assets": [], "preloads": ["/assets/content-DH6k0dN6.js", "/assets/usePermissions-D6vsoaJf.js", "/assets/circle-check-big-BF3Y5nES.js", "/assets/badge-BQAotc5B.js", "/assets/CmsStatusBadge-BFMOsfMW.js", "/assets/CmsEmptyState-BKeL4DBB.js", "/assets/CmsPageHeader-CIEkTbyH.js", "/assets/CmsTable-Db53Exq0.js", "/assets/tanstack-adapter-KSm-nO5L.js", "/assets/CmsFilterBar-CEpMHd_c.js", "/assets/search-DlwBH4C5.js"] }, "/content-types": { "filePath": "/Users/home/Developer/projects/convex-cms/admin/src/routes/content-types.tsx", "assets": [], "preloads": ["/assets/content-types-DHr9tc2V.js", "/assets/tanstack-adapter-KSm-nO5L.js", "/assets/badge-BQAotc5B.js", "/assets/CmsEmptyState-BKeL4DBB.js", "/assets/CmsPageHeader-CIEkTbyH.js", "/assets/CmsTable-Db53Exq0.js", "/assets/CmsFilterBar-CEpMHd_c.js", "/assets/pencil-CI_KfxSx.js", "/assets/search-DlwBH4C5.js"] }, "/media": { "filePath": "/Users/home/Developer/projects/convex-cms/admin/src/routes/media.tsx", "assets": [], "preloads": ["/assets/media-DY5zD52L.js", "/assets/tanstack-adapter-KSm-nO5L.js", "/assets/tabs-B5X37GEM.js", "/assets/badge-BQAotc5B.js", "/assets/CmsEmptyState-BKeL4DBB.js", "/assets/CmsPageHeader-CIEkTbyH.js", "/assets/CmsFilterBar-CEpMHd_c.js", "/assets/TaxonomyFilter-Bm1DI1A7.js", "/assets/pencil-CI_KfxSx.js", "/assets/rotate-ccw-PwzxdPxd.js", "/assets/search-DlwBH4C5.js", "/assets/refresh-cw-BrXg9a2r.js", "/assets/command-lEq6f_Ee.js"] }, "/settings": { "filePath": "/Users/home/Developer/projects/convex-cms/admin/src/routes/settings.tsx", "assets": [], "preloads": ["/assets/settings-2mx3_ORG.js", "/assets/tanstack-adapter-KSm-nO5L.js", "/assets/usePermissions-D6vsoaJf.js", "/assets/CmsPageHeader-CIEkTbyH.js", "/assets/CmsSurface-kqqaFKUI.js", "/assets/switch-CjPi4DKH.js", "/assets/badge-BQAotc5B.js", "/assets/alert-CpLdsTGU.js"] }, "/taxonomies": { "filePath": "/Users/home/Developer/projects/convex-cms/admin/src/routes/taxonomies.tsx", "assets": [], "preloads": ["/assets/taxonomies-CHjJKNlR.js", "/assets/tanstack-adapter-KSm-nO5L.js", "/assets/CmsEmptyState-BKeL4DBB.js", "/assets/pencil-CI_KfxSx.js", "/assets/CmsPageHeader-CIEkTbyH.js", "/assets/CmsSurface-kqqaFKUI.js", "/assets/badge-BQAotc5B.js", "/assets/scroll-area-DX_nZYp8.js"] }, "/trash": { "filePath": "/Users/home/Developer/projects/convex-cms/admin/src/routes/trash.tsx", "assets": [], "preloads": ["/assets/trash-Cle-tcqq.js", "/assets/tanstack-adapter-KSm-nO5L.js", "/assets/CmsSurface-kqqaFKUI.js", "/assets/badge-BQAotc5B.js", "/assets/CmsEmptyState-BKeL4DBB.js", "/assets/CmsPageHeader-CIEkTbyH.js", "/assets/CmsTable-Db53Exq0.js", "/assets/CmsFilterBar-CEpMHd_c.js", "/assets/alert-CpLdsTGU.js", "/assets/rotate-ccw-PwzxdPxd.js", "/assets/search-DlwBH4C5.js"] }, "/entries/$entryId": { "filePath": "/Users/home/Developer/projects/convex-cms/admin/src/routes/entries/$entryId.tsx", "assets": [], "preloads": ["/assets/_entryId-CoZDE0l0.js", "/assets/ContentEntryEditor-Ct7cHayy.js", "/assets/usePermissions-D6vsoaJf.js", "/assets/useBreadcrumbLabel-yZQG_N_3.js", "/assets/CmsEmptyState-BKeL4DBB.js", "/assets/switch-CjPi4DKH.js", "/assets/tabs-B5X37GEM.js", "/assets/refresh-cw-BrXg9a2r.js", "/assets/pencil-CI_KfxSx.js", "/assets/search-DlwBH4C5.js", "/assets/command-lEq6f_Ee.js", "/assets/badge-BQAotc5B.js", "/assets/CmsStatusBadge-BFMOsfMW.js", "/assets/scroll-area-DX_nZYp8.js", "/assets/circle-check-big-BF3Y5nES.js"] }, "/entries/new/$contentTypeId": { "filePath": "/Users/home/Developer/projects/convex-cms/admin/src/routes/entries/new.$contentTypeId.tsx", "assets": [], "preloads": ["/assets/new._contentTypeId-Dq_NqTQV.js", "/assets/ContentEntryEditor-Ct7cHayy.js", "/assets/useBreadcrumbLabel-yZQG_N_3.js", "/assets/CmsEmptyState-BKeL4DBB.js", "/assets/switch-CjPi4DKH.js", "/assets/tabs-B5X37GEM.js", "/assets/refresh-cw-BrXg9a2r.js", "/assets/pencil-CI_KfxSx.js", "/assets/search-DlwBH4C5.js", "/assets/command-lEq6f_Ee.js", "/assets/badge-BQAotc5B.js", "/assets/CmsStatusBadge-BFMOsfMW.js", "/assets/scroll-area-DX_nZYp8.js", "/assets/circle-check-big-BF3Y5nES.js"] }, "/entries/type/$contentTypeId": { "filePath": "/Users/home/Developer/projects/convex-cms/admin/src/routes/entries/type/$contentTypeId.tsx", "assets": [], "preloads": ["/assets/_contentTypeId-BekeCblX.js", "/assets/usePermissions-D6vsoaJf.js", "/assets/useBreadcrumbLabel-yZQG_N_3.js", "/assets/CmsPageHeader-CIEkTbyH.js", "/assets/search-DlwBH4C5.js", "/assets/CmsStatusBadge-BFMOsfMW.js", "/assets/CmsEmptyState-BKeL4DBB.js", "/assets/TaxonomyFilter-Bm1DI1A7.js", "/assets/badge-BQAotc5B.js", "/assets/command-lEq6f_Ee.js"] } }, "clientEntry": "/assets/main-B-6700eG.js" });
2
+ export {
3
+ tsrStartManifest
4
+ };
@@ -1,7 +1,7 @@
1
1
  import { j as jsxRuntimeExports } from "../_chunks/_libs/react.mjs";
2
2
  import { S as Slot } from "../_chunks/_libs/@radix-ui/react-slot.mjs";
3
3
  import { c as cva } from "../_libs/class-variance-authority.mjs";
4
- import { f as cn } from "./router-CQXMuGMF.mjs";
4
+ import { e as cn } from "./router-DxF7GBcO.mjs";
5
5
  const badgeVariants = cva(
6
6
  "inline-flex items-center justify-center rounded-full border px-2 py-0.5 text-xs font-medium w-fit whitespace-nowrap shrink-0 [&>svg]:size-3 gap-1 [&>svg]:pointer-events-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive transition-[color,box-shadow] overflow-hidden",
7
7
  {
@@ -1,7 +1,7 @@
1
1
  import { j as jsxRuntimeExports } from "../_chunks/_libs/react.mjs";
2
2
  import { _ as _e } from "../_libs/cmdk.mjs";
3
- import { f as cn } from "./router-CQXMuGMF.mjs";
4
- import { a1 as Search } from "../_libs/lucide-react.mjs";
3
+ import { e as cn } from "./router-DxF7GBcO.mjs";
4
+ import { ab as Search } from "../_libs/lucide-react.mjs";
5
5
  function Command({
6
6
  className,
7
7
  ...props