@kyro-cms/core 0.3.2 → 0.3.5

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 (201) hide show
  1. package/dist/{WebhookService-BznDc2AT.d.ts → WebhookService-118ZTFis.d.ts} +2 -2
  2. package/dist/{WebhookService-mZZ75syh.d.cts → WebhookService-AefJfqX0.d.cts} +2 -2
  3. package/dist/api-handler.cjs +52 -0
  4. package/dist/api-handler.cjs.map +1 -0
  5. package/dist/api-handler.d.cts +9 -0
  6. package/dist/api-handler.d.ts +9 -0
  7. package/dist/api-handler.js +46 -0
  8. package/dist/api-handler.js.map +1 -0
  9. package/dist/{base-Hu6ij8sZ.d.ts → base-DvvNqnM-.d.cts} +16 -5
  10. package/dist/{base-Db9LkB1N.d.cts → base-eVegJ_Pr.d.ts} +16 -5
  11. package/dist/bootstrap-DGJ3N7SO.js +6 -0
  12. package/dist/{bootstrap-LL6O7PWO.js.map → bootstrap-DGJ3N7SO.js.map} +1 -1
  13. package/dist/bootstrap-O5UGUTYU.cjs +31 -0
  14. package/dist/{bootstrap-BMWVB2T6.cjs.map → bootstrap-O5UGUTYU.cjs.map} +1 -1
  15. package/dist/{chunk-QKOFKITP.js → chunk-2HFJUUFZ.js} +3 -11
  16. package/dist/chunk-2HFJUUFZ.js.map +1 -0
  17. package/dist/chunk-2UOI5MUC.cjs +1276 -0
  18. package/dist/chunk-2UOI5MUC.cjs.map +1 -0
  19. package/dist/{chunk-DIC236EW.js → chunk-342BJNBI.js} +167 -24
  20. package/dist/chunk-342BJNBI.js.map +1 -0
  21. package/dist/{chunk-OUGKLCYF.js → chunk-3AJE4SEG.js} +4 -3
  22. package/dist/chunk-3AJE4SEG.js.map +1 -0
  23. package/dist/chunk-4UD44U4Z.js +5818 -0
  24. package/dist/chunk-4UD44U4Z.js.map +1 -0
  25. package/dist/chunk-5FTY2DLG.js +1258 -0
  26. package/dist/chunk-5FTY2DLG.js.map +1 -0
  27. package/dist/{chunk-BXMWDUED.js → chunk-A4USRVTQ.js} +2 -2
  28. package/dist/chunk-A4USRVTQ.js.map +1 -0
  29. package/dist/chunk-ADLJSJSN.cjs +13 -0
  30. package/dist/chunk-ADLJSJSN.cjs.map +1 -0
  31. package/dist/chunk-ATBOUGQP.cjs +513 -0
  32. package/dist/chunk-ATBOUGQP.cjs.map +1 -0
  33. package/dist/chunk-BQ2T4WRS.js +140 -0
  34. package/dist/chunk-BQ2T4WRS.js.map +1 -0
  35. package/dist/{chunk-U74F3YZU.js → chunk-DBUYB32X.js} +15 -3
  36. package/dist/chunk-DBUYB32X.js.map +1 -0
  37. package/dist/chunk-DE7OQOMD.cjs +5842 -0
  38. package/dist/chunk-DE7OQOMD.cjs.map +1 -0
  39. package/dist/chunk-DLHUQO25.cjs +1746 -0
  40. package/dist/chunk-DLHUQO25.cjs.map +1 -0
  41. package/dist/{chunk-GE5DMB44.js → chunk-E3BZLMX6.js} +55 -49
  42. package/dist/chunk-E3BZLMX6.js.map +1 -0
  43. package/dist/{chunk-44BF6ALS.cjs → chunk-H4XCAPA6.cjs} +55 -49
  44. package/dist/chunk-H4XCAPA6.cjs.map +1 -0
  45. package/dist/{chunk-VIONYQ2K.cjs → chunk-IBG6V56E.cjs} +16 -32
  46. package/dist/chunk-IBG6V56E.cjs.map +1 -0
  47. package/dist/{chunk-LIJVWQKU.cjs → chunk-IX3ABYKZ.cjs} +43 -31
  48. package/dist/chunk-IX3ABYKZ.cjs.map +1 -0
  49. package/dist/chunk-JYGIFBBS.cjs +146 -0
  50. package/dist/chunk-JYGIFBBS.cjs.map +1 -0
  51. package/dist/{chunk-42JPONZU.cjs → chunk-K7JPTH3G.cjs} +17 -16
  52. package/dist/chunk-K7JPTH3G.cjs.map +1 -0
  53. package/dist/{chunk-RLTG4YZM.cjs → chunk-KOCTZKPV.cjs} +2 -2
  54. package/dist/chunk-KOCTZKPV.cjs.map +1 -0
  55. package/dist/{chunk-EWP5AT6A.cjs → chunk-N4H37VN4.cjs} +2 -11
  56. package/dist/chunk-N4H37VN4.cjs.map +1 -0
  57. package/dist/chunk-P2YW545G.js +11 -0
  58. package/dist/chunk-P2YW545G.js.map +1 -0
  59. package/dist/chunk-Q23JB3KL.js +488 -0
  60. package/dist/chunk-Q23JB3KL.js.map +1 -0
  61. package/dist/{chunk-E5X75WNB.js → chunk-QXIQWPAP.js} +14 -30
  62. package/dist/chunk-QXIQWPAP.js.map +1 -0
  63. package/dist/chunk-R3XIBBAW.cjs +34 -0
  64. package/dist/chunk-R3XIBBAW.cjs.map +1 -0
  65. package/dist/chunk-R4C4O4SE.cjs +622 -0
  66. package/dist/chunk-R4C4O4SE.cjs.map +1 -0
  67. package/dist/{chunk-KWGNR4HM.js → chunk-REK7AYOC.js} +82 -9
  68. package/dist/chunk-REK7AYOC.js.map +1 -0
  69. package/dist/chunk-RGIQKTZ7.js +68 -0
  70. package/dist/chunk-RGIQKTZ7.js.map +1 -0
  71. package/dist/chunk-RYDGMBIG.js +1737 -0
  72. package/dist/chunk-RYDGMBIG.js.map +1 -0
  73. package/dist/chunk-SDMNUYVU.js +30 -0
  74. package/dist/chunk-SDMNUYVU.js.map +1 -0
  75. package/dist/{chunk-FTSSDDZQ.cjs → chunk-VJT6P4N6.cjs} +82 -9
  76. package/dist/chunk-VJT6P4N6.cjs.map +1 -0
  77. package/dist/{chunk-HT6VE4NW.cjs → chunk-W3KPQX7V.cjs} +168 -25
  78. package/dist/chunk-W3KPQX7V.cjs.map +1 -0
  79. package/dist/{chunk-LTRCYJAG.js → chunk-WOWUL7ZY.js} +3 -2
  80. package/dist/chunk-WOWUL7ZY.js.map +1 -0
  81. package/dist/{chunk-7YITG2US.cjs → chunk-WQBRWOQT.cjs} +3 -2
  82. package/dist/chunk-WQBRWOQT.cjs.map +1 -0
  83. package/dist/{chunk-KB6QF4HO.js → chunk-WSCJQI2B.js} +305 -152
  84. package/dist/chunk-WSCJQI2B.js.map +1 -0
  85. package/dist/chunk-X3CU27OO.cjs +78 -0
  86. package/dist/chunk-X3CU27OO.cjs.map +1 -0
  87. package/dist/chunk-Y3TM7WH7.js +617 -0
  88. package/dist/chunk-Y3TM7WH7.js.map +1 -0
  89. package/dist/{chunk-PNBZZ76A.cjs → chunk-Z2OVHWHB.cjs} +305 -151
  90. package/dist/chunk-Z2OVHWHB.cjs.map +1 -0
  91. package/dist/cli/index.cjs +2 -2
  92. package/dist/cli/index.js +2 -2
  93. package/dist/client.cjs +23 -13
  94. package/dist/client.d.cts +4 -2
  95. package/dist/client.d.ts +4 -2
  96. package/dist/client.js +3 -1
  97. package/dist/drizzle/index.cjs +20 -19
  98. package/dist/drizzle/index.d.cts +28 -7
  99. package/dist/drizzle/index.d.ts +28 -7
  100. package/dist/drizzle/index.js +5 -4
  101. package/dist/fields/index.cjs +105 -0
  102. package/dist/fields/index.cjs.map +1 -0
  103. package/dist/fields/index.d.cts +27 -0
  104. package/dist/fields/index.d.ts +27 -0
  105. package/dist/fields/index.js +4 -0
  106. package/dist/fields/index.js.map +1 -0
  107. package/dist/graphql/index.cjs +4 -3
  108. package/dist/graphql/index.d.cts +3 -2
  109. package/dist/graphql/index.d.ts +3 -2
  110. package/dist/graphql/index.js +2 -1
  111. package/dist/{index-Ci6r4xnN.d.ts → index-CLp-DRKA.d.ts} +2 -1
  112. package/dist/{index-11MDNKce.d.cts → index-DfO7G4kN.d.cts} +2 -1
  113. package/dist/index.cjs +2659 -6670
  114. package/dist/index.cjs.map +1 -1
  115. package/dist/index.d.cts +138 -47
  116. package/dist/index.d.ts +138 -47
  117. package/dist/index.js +2356 -6529
  118. package/dist/index.js.map +1 -1
  119. package/dist/integration.cjs +68 -0
  120. package/dist/integration.cjs.map +1 -0
  121. package/dist/integration.d.cts +27 -0
  122. package/dist/integration.d.ts +27 -0
  123. package/dist/integration.js +61 -0
  124. package/dist/integration.js.map +1 -0
  125. package/dist/mongodb/index.cjs +4 -4
  126. package/dist/mongodb/index.d.cts +20 -6
  127. package/dist/mongodb/index.d.ts +20 -6
  128. package/dist/mongodb/index.js +2 -2
  129. package/dist/postgres-auth-adapter-7F3ECO7I.js +5 -0
  130. package/dist/{postgres-auth-adapter-OTRWSTT5.js.map → postgres-auth-adapter-7F3ECO7I.js.map} +1 -1
  131. package/dist/postgres-auth-adapter-Z463NYJZ.cjs +14 -0
  132. package/dist/{postgres-auth-adapter-EVRPO7BQ.cjs.map → postgres-auth-adapter-Z463NYJZ.cjs.map} +1 -1
  133. package/dist/redis-adapter-LPUWLE4Y.cjs +13 -0
  134. package/dist/{redis-adapter-E7PMN5HW.cjs.map → redis-adapter-LPUWLE4Y.cjs.map} +1 -1
  135. package/dist/redis-adapter-THYDCGQR.js +4 -0
  136. package/dist/{redis-adapter-HOO67RBQ.js.map → redis-adapter-THYDCGQR.js.map} +1 -1
  137. package/dist/rest/index.cjs +9 -5
  138. package/dist/rest/index.d.cts +6 -3
  139. package/dist/rest/index.d.ts +6 -3
  140. package/dist/rest/index.js +7 -3
  141. package/dist/{schema-CNB2DDTX.js → schema-6Q4W6AE6.js} +3 -3
  142. package/dist/{schema-CNB2DDTX.js.map → schema-6Q4W6AE6.js.map} +1 -1
  143. package/dist/{schema-Y777CQQS.cjs → schema-TIYTCIKX.cjs} +14 -14
  144. package/dist/{schema-Y777CQQS.cjs.map → schema-TIYTCIKX.cjs.map} +1 -1
  145. package/dist/templates/index.cjs +27 -23
  146. package/dist/templates/index.d.cts +8 -2
  147. package/dist/templates/index.d.ts +8 -2
  148. package/dist/templates/index.js +1 -1
  149. package/dist/trpc/index.cjs +12 -11
  150. package/dist/trpc/index.d.cts +3 -2
  151. package/dist/trpc/index.d.ts +3 -2
  152. package/dist/trpc/index.js +3 -2
  153. package/dist/{types-1u353OHN.d.ts → types-BnTm7oJG.d.cts} +7 -3
  154. package/dist/{types-1u353OHN.d.cts → types-BnTm7oJG.d.ts} +7 -3
  155. package/dist/{types-kGfsGdos.d.cts → types-Bs1up4yP.d.ts} +76 -244
  156. package/dist/{types-kGfsGdos.d.ts → types-J3R9nVsZ.d.cts} +76 -244
  157. package/dist/types-VtjUxIMp.d.cts +246 -0
  158. package/dist/types-VtjUxIMp.d.ts +246 -0
  159. package/package.json +16 -9
  160. package/dist/bootstrap-BMWVB2T6.cjs +0 -31
  161. package/dist/bootstrap-LL6O7PWO.js +0 -6
  162. package/dist/chunk-42JPONZU.cjs.map +0 -1
  163. package/dist/chunk-44BF6ALS.cjs.map +0 -1
  164. package/dist/chunk-4M5PHMUE.cjs +0 -947
  165. package/dist/chunk-4M5PHMUE.cjs.map +0 -1
  166. package/dist/chunk-6MSSF46R.js +0 -941
  167. package/dist/chunk-6MSSF46R.js.map +0 -1
  168. package/dist/chunk-7YITG2US.cjs.map +0 -1
  169. package/dist/chunk-BTOE3VUK.js +0 -330
  170. package/dist/chunk-BTOE3VUK.js.map +0 -1
  171. package/dist/chunk-BXMWDUED.js.map +0 -1
  172. package/dist/chunk-DIC236EW.js.map +0 -1
  173. package/dist/chunk-E5X75WNB.js.map +0 -1
  174. package/dist/chunk-E63IF3MD.cjs +0 -951
  175. package/dist/chunk-E63IF3MD.cjs.map +0 -1
  176. package/dist/chunk-EWP5AT6A.cjs.map +0 -1
  177. package/dist/chunk-FTSSDDZQ.cjs.map +0 -1
  178. package/dist/chunk-GE5DMB44.js.map +0 -1
  179. package/dist/chunk-GVFB5C6O.cjs +0 -345
  180. package/dist/chunk-GVFB5C6O.cjs.map +0 -1
  181. package/dist/chunk-HT6VE4NW.cjs.map +0 -1
  182. package/dist/chunk-HVSQDZZJ.cjs +0 -765
  183. package/dist/chunk-HVSQDZZJ.cjs.map +0 -1
  184. package/dist/chunk-HYC4GNHX.js +0 -758
  185. package/dist/chunk-HYC4GNHX.js.map +0 -1
  186. package/dist/chunk-KB6QF4HO.js.map +0 -1
  187. package/dist/chunk-KWGNR4HM.js.map +0 -1
  188. package/dist/chunk-LIJVWQKU.cjs.map +0 -1
  189. package/dist/chunk-LTRCYJAG.js.map +0 -1
  190. package/dist/chunk-OUGKLCYF.js.map +0 -1
  191. package/dist/chunk-PNBZZ76A.cjs.map +0 -1
  192. package/dist/chunk-QKOFKITP.js.map +0 -1
  193. package/dist/chunk-RLTG4YZM.cjs.map +0 -1
  194. package/dist/chunk-RRYXQMZG.js +0 -935
  195. package/dist/chunk-RRYXQMZG.js.map +0 -1
  196. package/dist/chunk-U74F3YZU.js.map +0 -1
  197. package/dist/chunk-VIONYQ2K.cjs.map +0 -1
  198. package/dist/postgres-auth-adapter-EVRPO7BQ.cjs +0 -14
  199. package/dist/postgres-auth-adapter-OTRWSTT5.js +0 -5
  200. package/dist/redis-adapter-E7PMN5HW.cjs +0 -13
  201. package/dist/redis-adapter-HOO67RBQ.js +0 -4
@@ -9,7 +9,7 @@ var minimalCollections = {
9
9
  singularLabel: "Page",
10
10
  admin: {
11
11
  useAsTitle: "title",
12
- defaultColumns: ["title", "slug", "status"],
12
+ defaultColumns: ["title", "slug", "status", "updatedAt"],
13
13
  description: "Static pages"
14
14
  },
15
15
  fields: [
@@ -70,7 +70,7 @@ var minimalCollections = {
70
70
  type: "text",
71
71
  required: true,
72
72
  label: "Slug",
73
- admin: { position: "sidebar" }
73
+ admin: { position: "sidebar", autoGenerate: "title" }
74
74
  },
75
75
  {
76
76
  name: "status",
@@ -100,7 +100,7 @@ var minimalCollections = {
100
100
  singularLabel: "Post",
101
101
  admin: {
102
102
  useAsTitle: "title",
103
- defaultColumns: ["title", "status", "createdAt"],
103
+ defaultColumns: ["title", "slug", "status", "createdAt", "updatedAt"],
104
104
  description: "Blog posts and articles"
105
105
  },
106
106
  fields: [
@@ -196,7 +196,8 @@ var minimalCollections = {
196
196
  label: "Slug",
197
197
  admin: {
198
198
  description: "The URL-friendly identifier for the post.",
199
- position: "sidebar"
199
+ position: "sidebar",
200
+ autoGenerate: "title"
200
201
  }
201
202
  },
202
203
  {
@@ -255,9 +256,8 @@ var minimalCollections = {
255
256
  { name: "name", type: "text", required: true, label: "Name" },
256
257
  {
257
258
  name: "description",
258
- type: "richtext",
259
- label: "Description",
260
- hasBlocks: false
259
+ type: "textarea",
260
+ label: "Description"
261
261
  },
262
262
  {
263
263
  name: "slug",
@@ -290,8 +290,8 @@ var minimalCollections = {
290
290
  ],
291
291
  timestamps: true
292
292
  },
293
- navigation: {
294
- slug: "navigation",
293
+ menu: {
294
+ slug: "menu",
295
295
  label: "Menu",
296
296
  labelPlural: "Menu",
297
297
  singularLabel: "Menu Item",
@@ -304,16 +304,29 @@ var minimalCollections = {
304
304
  fields: [
305
305
  { name: "label", type: "text", required: true, label: "Label" },
306
306
  { name: "url", type: "text", label: "URL" },
307
+ {
308
+ name: "linkTo",
309
+ type: "relationship",
310
+ label: "Link To",
311
+ relationTo: ["pages", "posts"]
312
+ },
307
313
  {
308
314
  name: "parent",
309
315
  type: "relationship",
310
316
  label: "Parent Item",
311
- relationTo: "navigation",
317
+ relationTo: "menu",
312
318
  admin: {
313
319
  condition: (data) => !!data?.location,
314
320
  position: "sidebar"
315
321
  }
316
322
  },
323
+ {
324
+ name: "icon",
325
+ type: "upload",
326
+ label: "Icon",
327
+ relationTo: "media",
328
+ admin: { position: "sidebar" }
329
+ },
317
330
  {
318
331
  name: "linkType",
319
332
  type: "select",
@@ -387,33 +400,16 @@ var blogCollections = {
387
400
  singularLabel: "Page",
388
401
  admin: {
389
402
  useAsTitle: "title",
390
- defaultColumns: ["title", "slug", "status"],
403
+ defaultColumns: ["title", "slug", "status", "updatedAt"],
391
404
  description: "Static pages"
392
405
  },
393
406
  fields: [
394
- {
395
- name: "title",
396
- type: "text",
397
- required: true,
398
- label: "Title",
399
- admin: {
400
- description: "The title of the page as it will appear publicly."
401
- }
402
- },
403
407
  {
404
408
  name: "mainTabs",
405
409
  type: "tabs",
406
410
  tabs: [
407
411
  {
408
412
  label: "Content",
409
- fields: [{ name: "content", type: "blocks", label: "Content" }]
410
- },
411
- {
412
- label: "Meta",
413
- fields: []
414
- },
415
- {
416
- label: "SEO",
417
413
  fields: [
418
414
  {
419
415
  name: "title",
@@ -421,55 +417,28 @@ var blogCollections = {
421
417
  required: true,
422
418
  label: "Title",
423
419
  admin: {
424
- description: "The title of the page as it will appear publicly."
420
+ description: "The main title of the page as it will appear publicly."
425
421
  }
426
422
  },
427
423
  {
428
424
  name: "content",
429
- type: "blocks",
425
+ type: "richtext",
430
426
  label: "Content"
431
- },
427
+ }
428
+ ]
429
+ },
430
+ {
431
+ label: "Meta",
432
+ fields: []
433
+ },
434
+ {
435
+ label: "SEO",
436
+ fields: [
432
437
  {
433
- name: "mainTabs",
434
- type: "tabs",
435
- tabs: [
436
- {
437
- label: "Meta",
438
- fields: []
439
- },
440
- {
441
- label: "SEO",
442
- fields: [
443
- {
444
- name: "metaTitle",
445
- type: "text",
446
- label: "Meta Title",
447
- admin: {
448
- autoGenerate: "title",
449
- description: "The title used for SEO and social sharing (recommended < 60 chars)."
450
- }
451
- },
452
- {
453
- name: "metaDescription",
454
- type: "textarea",
455
- label: "Meta Description",
456
- admin: {
457
- autoGenerate: "content",
458
- description: "A brief summary for search engines (recommended < 160 chars)."
459
- }
460
- },
461
- {
462
- name: "ogImage",
463
- type: "upload",
464
- label: "OG Image",
465
- relationTo: "media",
466
- admin: {
467
- description: "The image shown when the post is shared on social media."
468
- }
469
- }
470
- ]
471
- }
472
- ]
438
+ name: "metaTitle",
439
+ type: "text",
440
+ label: "Meta Title",
441
+ admin: { autoGenerate: "title" }
473
442
  },
474
443
  {
475
444
  name: "metaDescription",
@@ -492,7 +461,7 @@ var blogCollections = {
492
461
  type: "text",
493
462
  required: true,
494
463
  label: "Slug",
495
- admin: { position: "sidebar" }
464
+ admin: { position: "sidebar", autoGenerate: "title" }
496
465
  },
497
466
  {
498
467
  name: "status",
@@ -522,7 +491,7 @@ var blogCollections = {
522
491
  singularLabel: "Post",
523
492
  admin: {
524
493
  useAsTitle: "title",
525
- defaultColumns: ["title", "category", "status", "createdAt"],
494
+ defaultColumns: ["title", "slug", "status", "createdAt", "updatedAt"],
526
495
  description: "Blog posts and articles"
527
496
  },
528
497
  fields: [
@@ -557,7 +526,7 @@ var blogCollections = {
557
526
  fields: [
558
527
  {
559
528
  name: "category",
560
- type: "relationship",
529
+ type: "relationship-block",
561
530
  label: "Category",
562
531
  relationTo: "categories",
563
532
  admin: {
@@ -566,16 +535,10 @@ var blogCollections = {
566
535
  },
567
536
  {
568
537
  name: "relatedPosts",
569
- type: "array",
538
+ type: "relationship-block",
570
539
  label: "Related Posts",
571
- fields: [
572
- {
573
- name: "post",
574
- type: "relationship",
575
- relationTo: "posts",
576
- label: "Post"
577
- }
578
- ],
540
+ relationTo: "posts",
541
+ hasMany: true,
579
542
  admin: { description: "Select posts related to this one." }
580
543
  }
581
544
  ]
@@ -596,6 +559,7 @@ var blogCollections = {
596
559
  name: "metaDescription",
597
560
  type: "textarea",
598
561
  label: "Meta Description",
562
+ defaultValue: "",
599
563
  admin: {
600
564
  autoGenerate: "content",
601
565
  description: "A brief summary for search engines (recommended < 160 chars)."
@@ -621,21 +585,16 @@ var blogCollections = {
621
585
  label: "Slug",
622
586
  admin: {
623
587
  description: "The URL-friendly identifier for the post.",
624
- position: "sidebar"
588
+ position: "sidebar",
589
+ autoGenerate: "title"
625
590
  }
626
591
  },
627
592
  {
628
593
  name: "authors",
629
- type: "array",
594
+ type: "relationship-block",
630
595
  label: "Authors",
631
- fields: [
632
- {
633
- name: "user",
634
- type: "relationship",
635
- label: "User",
636
- relationTo: "users"
637
- }
638
- ],
596
+ relationTo: "users",
597
+ hasMany: true,
639
598
  admin: {
640
599
  description: "Select one or more authors for this post.",
641
600
  position: "sidebar"
@@ -653,9 +612,8 @@ var blogCollections = {
653
612
  },
654
613
  {
655
614
  name: "tags",
656
- type: "array",
615
+ type: "list",
657
616
  label: "Tags",
658
- fields: [{ name: "tag", type: "text" }],
659
617
  admin: {
660
618
  description: "Add keywords to help categorize your post.",
661
619
  position: "sidebar"
@@ -690,9 +648,8 @@ var blogCollections = {
690
648
  { name: "name", type: "text", required: true, label: "Name" },
691
649
  {
692
650
  name: "description",
693
- type: "richtext",
694
- label: "Description",
695
- hasBlocks: false
651
+ type: "textarea",
652
+ label: "Description"
696
653
  },
697
654
  {
698
655
  name: "slug",
@@ -725,25 +682,38 @@ var blogCollections = {
725
682
  ],
726
683
  timestamps: true
727
684
  },
728
- navigation: {
729
- slug: "navigation",
730
- label: "Navigation",
731
- labelPlural: "Navigation",
732
- singularLabel: "Navigation",
685
+ menu: {
686
+ slug: "menu",
687
+ label: "Menu",
688
+ labelPlural: "Menu",
689
+ singularLabel: "Menu",
733
690
  admin: {
734
691
  useAsTitle: "label",
735
692
  defaultColumns: ["label", "location", "order"],
736
- description: "Navigation menus",
693
+ description: "Menu menus",
737
694
  layout: "split"
738
695
  },
739
696
  fields: [
740
697
  { name: "label", type: "text", required: true, label: "Label" },
741
698
  { name: "url", type: "text", label: "URL" },
699
+ {
700
+ name: "linkTo",
701
+ type: "relationship",
702
+ label: "Link To",
703
+ relationTo: ["pages", "posts"]
704
+ },
742
705
  {
743
706
  name: "parent",
744
707
  type: "relationship",
745
708
  label: "Parent Item",
746
- relationTo: "navigation",
709
+ relationTo: "menu",
710
+ admin: { position: "sidebar" }
711
+ },
712
+ {
713
+ name: "icon",
714
+ type: "upload",
715
+ label: "Icon",
716
+ relationTo: "media",
747
717
  admin: { position: "sidebar" }
748
718
  },
749
719
  {
@@ -782,7 +752,7 @@ var ecommerceCollections = {
782
752
  singularLabel: "Page",
783
753
  admin: {
784
754
  useAsTitle: "title",
785
- defaultColumns: ["title", "slug", "status"],
755
+ defaultColumns: ["title", "slug", "status", "updatedAt"],
786
756
  description: "Static pages"
787
757
  },
788
758
  fields: [
@@ -935,7 +905,7 @@ var ecommerceCollections = {
935
905
  type: "text",
936
906
  required: true,
937
907
  label: "Slug",
938
- admin: { position: "sidebar" }
908
+ admin: { position: "sidebar", autoGenerate: "title" }
939
909
  },
940
910
  {
941
911
  name: "status",
@@ -965,7 +935,7 @@ var ecommerceCollections = {
965
935
  singularLabel: "Post",
966
936
  admin: {
967
937
  useAsTitle: "title",
968
- defaultColumns: ["title", "status", "createdAt"],
938
+ defaultColumns: ["title", "slug", "status", "createdAt", "updatedAt"],
969
939
  description: "Blog posts and articles"
970
940
  },
971
941
  fields: [
@@ -1261,7 +1231,8 @@ var ecommerceCollections = {
1261
1231
  label: "Slug",
1262
1232
  admin: {
1263
1233
  description: "The URL-friendly identifier for the post.",
1264
- position: "sidebar"
1234
+ position: "sidebar",
1235
+ autoGenerate: "title"
1265
1236
  }
1266
1237
  },
1267
1238
  {
@@ -1312,12 +1283,18 @@ var ecommerceCollections = {
1312
1283
  singularLabel: "Product",
1313
1284
  admin: {
1314
1285
  useAsTitle: "title",
1315
- defaultColumns: ["title", "price", "status", "inventory"],
1286
+ defaultColumns: ["title", "slug", "price", "status", "inventory", "updatedAt"],
1316
1287
  description: "Product catalog"
1317
1288
  },
1318
1289
  fields: [
1319
1290
  { name: "title", type: "text", required: true, label: "Title" },
1320
- { name: "slug", type: "text", required: true, label: "Slug" },
1291
+ {
1292
+ name: "slug",
1293
+ type: "text",
1294
+ required: true,
1295
+ label: "Slug",
1296
+ admin: { position: "sidebar", autoGenerate: "title" }
1297
+ },
1321
1298
  { name: "description", type: "richtext", label: "Description" },
1322
1299
  { name: "price", type: "number", required: true, label: "Price" },
1323
1300
  {
@@ -1376,13 +1353,19 @@ var ecommerceCollections = {
1376
1353
  singularLabel: "Category",
1377
1354
  admin: {
1378
1355
  useAsTitle: "name",
1379
- defaultColumns: ["name", "slug", "productCount"],
1356
+ defaultColumns: ["name", "slug"],
1380
1357
  description: "Product categories"
1381
1358
  },
1382
1359
  fields: [
1383
1360
  { name: "name", type: "text", required: true, label: "Name" },
1384
- { name: "slug", type: "text", required: true, label: "Slug" },
1385
- { name: "description", type: "richtext", label: "Description" },
1361
+ {
1362
+ name: "slug",
1363
+ type: "text",
1364
+ required: true,
1365
+ label: "Slug",
1366
+ admin: { position: "sidebar", autoGenerate: "name" }
1367
+ },
1368
+ { name: "description", type: "textarea", label: "Description" },
1386
1369
  { name: "image", type: "text", label: "Image URL" },
1387
1370
  {
1388
1371
  name: "parent",
@@ -1404,8 +1387,8 @@ var ecommerceCollections = {
1404
1387
  "email",
1405
1388
  "firstName",
1406
1389
  "lastName",
1407
- "orderCount",
1408
- "createdAt"
1390
+ "createdAt",
1391
+ "updatedAt"
1409
1392
  ],
1410
1393
  description: "Customer accounts"
1411
1394
  },
@@ -1438,6 +1421,13 @@ var ecommerceCollections = {
1438
1421
  { label: "Banned", value: "banned" }
1439
1422
  ],
1440
1423
  defaultValue: "active"
1424
+ },
1425
+ {
1426
+ name: "slug",
1427
+ type: "text",
1428
+ required: true,
1429
+ label: "Slug",
1430
+ admin: { position: "sidebar", autoGenerate: "email" }
1441
1431
  }
1442
1432
  ],
1443
1433
  timestamps: true
@@ -1454,7 +1444,8 @@ var ecommerceCollections = {
1454
1444
  "customer",
1455
1445
  "status",
1456
1446
  "total",
1457
- "createdAt"
1447
+ "createdAt",
1448
+ "updatedAt"
1458
1449
  ],
1459
1450
  description: "Customer orders"
1460
1451
  },
@@ -1515,7 +1506,14 @@ var ecommerceCollections = {
1515
1506
  { name: "shipping", type: "number", label: "Shipping" },
1516
1507
  { name: "discount", type: "number", label: "Discount" },
1517
1508
  { name: "total", type: "number", required: true, label: "Total" },
1518
- { name: "notes", type: "richtext", label: "Notes" }
1509
+ { name: "notes", type: "richtext", label: "Notes" },
1510
+ {
1511
+ name: "slug",
1512
+ type: "text",
1513
+ required: true,
1514
+ label: "Slug",
1515
+ admin: { position: "sidebar", autoGenerate: "orderNumber" }
1516
+ }
1519
1517
  ],
1520
1518
  timestamps: true
1521
1519
  },
@@ -1558,19 +1556,32 @@ var ecommerceCollections = {
1558
1556
  ],
1559
1557
  timestamps: true
1560
1558
  },
1561
- navigation: {
1562
- slug: "navigation",
1563
- label: "Navigation",
1564
- labelPlural: "Navigation",
1565
- singularLabel: "Navigation",
1559
+ menu: {
1560
+ slug: "menu",
1561
+ label: "Menu",
1562
+ labelPlural: "Menu",
1563
+ singularLabel: "Menu Item",
1566
1564
  admin: {
1567
1565
  useAsTitle: "label",
1568
1566
  defaultColumns: ["label", "location", "order"],
1569
- description: "Navigation menus"
1567
+ description: "Navigation Menu"
1570
1568
  },
1571
1569
  fields: [
1572
1570
  { name: "label", type: "text", required: true, label: "Label" },
1573
1571
  { name: "url", type: "text", label: "URL" },
1572
+ {
1573
+ name: "linkTo",
1574
+ type: "relationship",
1575
+ label: "Link To",
1576
+ relationTo: ["pages", "posts"]
1577
+ },
1578
+ {
1579
+ name: "icon",
1580
+ type: "upload",
1581
+ label: "Icon",
1582
+ relationTo: "media",
1583
+ admin: { position: "sidebar" }
1584
+ },
1574
1585
  {
1575
1586
  name: "linkType",
1576
1587
  type: "select",
@@ -1661,7 +1672,7 @@ var kitchenSinkCollections = {
1661
1672
  type: "text",
1662
1673
  required: true,
1663
1674
  label: "Slug",
1664
- admin: { description: "URL-friendly identifier" }
1675
+ admin: { position: "sidebar", autoGenerate: "title", description: "URL-friendly identifier" }
1665
1676
  },
1666
1677
  {
1667
1678
  name: "content",
@@ -1722,19 +1733,32 @@ var kitchenSinkCollections = {
1722
1733
  ],
1723
1734
  timestamps: true
1724
1735
  },
1725
- navigation: {
1726
- slug: "navigation",
1727
- label: "Navigation",
1728
- labelPlural: "Navigation",
1729
- singularLabel: "Navigation Item",
1736
+ menu: {
1737
+ slug: "menu",
1738
+ label: "Menu",
1739
+ labelPlural: "Menu",
1740
+ singularLabel: "Menu Item",
1730
1741
  admin: {
1731
1742
  useAsTitle: "label",
1732
1743
  defaultColumns: ["label", "url", "location"],
1733
- description: "Site navigation menus"
1744
+ description: "Site Menu"
1734
1745
  },
1735
1746
  fields: [
1736
1747
  { name: "label", type: "text", required: true, label: "Label" },
1737
1748
  { name: "url", type: "text", label: "URL" },
1749
+ {
1750
+ name: "linkTo",
1751
+ type: "relationship",
1752
+ label: "Link To",
1753
+ relationTo: ["pages", "posts"]
1754
+ },
1755
+ {
1756
+ name: "icon",
1757
+ type: "upload",
1758
+ label: "Icon",
1759
+ relationTo: "media",
1760
+ admin: { position: "sidebar" }
1761
+ },
1738
1762
  {
1739
1763
  name: "linkType",
1740
1764
  type: "select",
@@ -1804,7 +1828,7 @@ var kitchenSinkCollections = {
1804
1828
  name: "parent",
1805
1829
  type: "relationship",
1806
1830
  label: "Parent Item",
1807
- relationTo: "navigation",
1831
+ relationTo: "menu",
1808
1832
  admin: { position: "sidebar" }
1809
1833
  },
1810
1834
  {
@@ -1818,6 +1842,83 @@ var kitchenSinkCollections = {
1818
1842
  }
1819
1843
  };
1820
1844
 
1845
+ // src/templates/auth.ts
1846
+ var usersCollection = {
1847
+ slug: "users",
1848
+ label: "Users",
1849
+ fields: [
1850
+ { name: "name", type: "text", label: "Name" },
1851
+ { name: "email", type: "email", required: true },
1852
+ {
1853
+ name: "passwordHash",
1854
+ type: "text",
1855
+ label: "Password Hash",
1856
+ admin: { hidden: true }
1857
+ },
1858
+ {
1859
+ name: "role",
1860
+ type: "select",
1861
+ options: [
1862
+ { label: "Super Admin", value: "super_admin" },
1863
+ { label: "Admin", value: "admin" },
1864
+ { label: "Editor", value: "editor" },
1865
+ { label: "Author", value: "author" },
1866
+ { label: "Customer", value: "customer" },
1867
+ { label: "Guest", value: "guest" }
1868
+ ],
1869
+ required: true
1870
+ },
1871
+ { name: "tenantId", type: "text", label: "Tenant" },
1872
+ { name: "emailVerified", type: "checkbox", label: "Email Verified" },
1873
+ { name: "locked", type: "checkbox" },
1874
+ {
1875
+ name: "lastLogin",
1876
+ type: "date",
1877
+ time: true,
1878
+ label: "Last Login",
1879
+ admin: { readOnly: true }
1880
+ },
1881
+ {
1882
+ name: "failedLoginAttempts",
1883
+ type: "number",
1884
+ label: "Failed Login Attempts",
1885
+ admin: { readOnly: true }
1886
+ }
1887
+ ],
1888
+ timestamps: true,
1889
+ admin: {
1890
+ useAsTitle: "email",
1891
+ defaultColumns: ["email", "role", "tenantId", "lastLogin"]
1892
+ }
1893
+ };
1894
+ var auditLogsCollection = {
1895
+ slug: "audit_logs",
1896
+ label: "Audit Logs",
1897
+ fields: [
1898
+ { name: "action", type: "text", required: true },
1899
+ { name: "userId", type: "text", label: "User ID" },
1900
+ { name: "userEmail", type: "email", label: "User Email" },
1901
+ { name: "role", type: "text" },
1902
+ { name: "resource", type: "text", label: "Resource" },
1903
+ { name: "ipAddress", type: "text", label: "IP Address" },
1904
+ { name: "success", type: "checkbox" },
1905
+ {
1906
+ name: "timestamp",
1907
+ type: "date",
1908
+ time: true,
1909
+ required: true,
1910
+ admin: { readOnly: true }
1911
+ }
1912
+ ],
1913
+ admin: {
1914
+ defaultColumns: ["action", "userEmail", "resource", "success", "timestamp"]
1915
+ }
1916
+ };
1917
+ var authCollections = {
1918
+ users: usersCollection,
1919
+ audit_logs: auditLogsCollection
1920
+ };
1921
+
1821
1922
  // src/templates/media.ts
1822
1923
  var mediaCollection = {
1823
1924
  slug: "media",
@@ -2065,31 +2166,29 @@ var siteSettingsGlobal = {
2065
2166
  },
2066
2167
  {
2067
2168
  name: "siteDescription",
2068
- type: "richtext",
2169
+ type: "textarea",
2069
2170
  label: "Site Description",
2070
- hasBlocks: false,
2071
- admin: {}
2171
+ admin: {
2172
+ placeholder: "Enter a brief description of your site for SEO and search results."
2173
+ }
2072
2174
  },
2073
2175
  {
2074
2176
  name: "siteLogo",
2075
- type: "relationship",
2177
+ type: "upload",
2076
2178
  label: "Site Logo",
2077
- relationTo: "media",
2078
- admin: {}
2179
+ relationTo: "media"
2079
2180
  },
2080
2181
  {
2081
2182
  name: "siteFavicon",
2082
- type: "relationship",
2183
+ type: "upload",
2083
2184
  label: "Favicon",
2084
- relationTo: "media",
2085
- admin: {}
2185
+ relationTo: "media"
2086
2186
  },
2087
2187
  {
2088
2188
  name: "siteOgImage",
2089
- type: "relationship",
2189
+ type: "upload",
2090
2190
  label: "Default OG Image",
2091
- relationTo: "media",
2092
- admin: {}
2191
+ relationTo: "media"
2093
2192
  },
2094
2193
  {
2095
2194
  name: "siteUrl",
@@ -2271,9 +2370,8 @@ var seoSettingsGlobal = {
2271
2370
  },
2272
2371
  {
2273
2372
  name: "defaultDescription",
2274
- type: "richtext",
2373
+ type: "textarea",
2275
2374
  label: "Default Description",
2276
- hasBlocks: false,
2277
2375
  admin: {}
2278
2376
  },
2279
2377
  {
@@ -2355,9 +2453,8 @@ var seoSettingsGlobal = {
2355
2453
  },
2356
2454
  {
2357
2455
  name: "robotsTxt",
2358
- type: "richtext",
2456
+ type: "textarea",
2359
2457
  label: "Custom robots.txt",
2360
- hasBlocks: false,
2361
2458
  admin: {
2362
2459
  condition: (data) => data.seoMode === "advanced"
2363
2460
  }
@@ -3613,6 +3710,61 @@ var paymentSettingsGlobal = {
3613
3710
  ]
3614
3711
  };
3615
3712
 
3713
+ // src/templates/settings/system.ts
3714
+ var systemSettingsGlobal = {
3715
+ slug: "system",
3716
+ label: "System",
3717
+ admin: {
3718
+ group: "settings",
3719
+ description: "Core system configuration and secrets"
3720
+ },
3721
+ access: {
3722
+ read: () => true,
3723
+ update: () => true
3724
+ },
3725
+ fields: [
3726
+ {
3727
+ name: "appSecret",
3728
+ type: "text",
3729
+ label: "App Secret",
3730
+ required: false,
3731
+ admin: {
3732
+ description: "Master secret for JWT signing and encryption. Change with caution - invalidates all sessions."
3733
+ }
3734
+ },
3735
+ {
3736
+ name: "encryptionKey",
3737
+ type: "text",
3738
+ label: "Encryption Key",
3739
+ required: false,
3740
+ admin: {
3741
+ description: "Auto-generated key for data encryption at rest.",
3742
+ readOnly: true
3743
+ }
3744
+ },
3745
+ {
3746
+ name: "sessionMaxAge",
3747
+ type: "number",
3748
+ label: "Session Max Age (days)",
3749
+ required: false,
3750
+ defaultValue: 7,
3751
+ admin: {
3752
+ description: "Maximum session duration in days"
3753
+ }
3754
+ },
3755
+ {
3756
+ name: "maxSessionsPerUser",
3757
+ type: "number",
3758
+ label: "Max Sessions Per User",
3759
+ required: false,
3760
+ defaultValue: 3,
3761
+ admin: {
3762
+ description: "Maximum concurrent sessions allowed per user"
3763
+ }
3764
+ }
3765
+ ]
3766
+ };
3767
+
3616
3768
  // src/templates/settings/index.ts
3617
3769
  var allSettingsGlobals = [
3618
3770
  siteSettingsGlobal,
@@ -3622,7 +3774,8 @@ var allSettingsGlobals = [
3622
3774
  storageSettingsGlobal,
3623
3775
  accessSettingsGlobal,
3624
3776
  storeSettingsGlobal,
3625
- paymentSettingsGlobal
3777
+ paymentSettingsGlobal,
3778
+ systemSettingsGlobal
3626
3779
  ];
3627
3780
  var coreSettingsGlobals = [
3628
3781
  siteSettingsGlobal,
@@ -3702,6 +3855,7 @@ function createTemplateConfig(options) {
3702
3855
 
3703
3856
  exports.accessSettingsGlobal = accessSettingsGlobal;
3704
3857
  exports.allSettingsGlobals = allSettingsGlobals;
3858
+ exports.authCollections = authCollections;
3705
3859
  exports.blogCollections = blogCollections;
3706
3860
  exports.blogGlobals = blogGlobals;
3707
3861
  exports.coreSettingsGlobals = coreSettingsGlobals;
@@ -3722,5 +3876,5 @@ exports.siteSettingsGlobal = siteSettingsGlobal;
3722
3876
  exports.socialSettingsGlobal = socialSettingsGlobal;
3723
3877
  exports.storageSettingsGlobal = storageSettingsGlobal;
3724
3878
  exports.storeSettingsGlobal = storeSettingsGlobal;
3725
- //# sourceMappingURL=chunk-PNBZZ76A.cjs.map
3726
- //# sourceMappingURL=chunk-PNBZZ76A.cjs.map
3879
+ //# sourceMappingURL=chunk-Z2OVHWHB.cjs.map
3880
+ //# sourceMappingURL=chunk-Z2OVHWHB.cjs.map