@kyro-cms/core 0.12.0 → 0.12.1

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 (61) hide show
  1. package/dist/{WebhookService-CE2BzNb_.d.cts → WebhookService-DRQLv_jR.d.cts} +1 -1
  2. package/dist/{WebhookService-DIUUnBqL.d.ts → WebhookService-DTNKXpXp.d.ts} +1 -1
  3. package/dist/api-handler-graphql.cjs +1 -1
  4. package/dist/api-handler-graphql.js +1 -1
  5. package/dist/api-handler-trpc.cjs +1 -1
  6. package/dist/api-handler-trpc.js +1 -1
  7. package/dist/api-handler.cjs +1 -1
  8. package/dist/api-handler.js +1 -1
  9. package/dist/{base-BbqmiS-x.d.ts → base-BKGB0Y3W.d.ts} +2 -2
  10. package/dist/{base-BvTw4t8l.d.cts → base-Dk6eKGJJ.d.cts} +2 -2
  11. package/dist/chunk-4RSGPSKQ.js +3 -0
  12. package/dist/{chunk-IC7UOIHY.cjs → chunk-5KGQOTLK.cjs} +2 -2
  13. package/dist/{chunk-MRVECVMR.js → chunk-76RLJA6S.js} +1 -1
  14. package/dist/{chunk-KHQGO3U3.cjs → chunk-APQOYPRT.cjs} +7 -7
  15. package/dist/{chunk-JLIXKA4D.js → chunk-BRAWV32L.js} +1 -1
  16. package/dist/{chunk-2MRO4YLX.cjs → chunk-FKTZLM2C.cjs} +1 -1
  17. package/dist/{chunk-KY3Q7LFE.cjs → chunk-HQND27DT.cjs} +3 -3
  18. package/dist/{chunk-PFT4OMNK.js → chunk-INB4LNA6.js} +2 -2
  19. package/dist/{chunk-BYTGJJK6.js → chunk-QMPMY2WI.js} +7 -7
  20. package/dist/{chunk-GM63MQNE.cjs → chunk-RCV2TLOG.cjs} +3 -3
  21. package/dist/chunk-SK2Q4PRV.cjs +90 -0
  22. package/dist/{chunk-YKQG6NBC.js → chunk-WRSQOKRF.js} +2 -2
  23. package/dist/client.cjs +1 -1
  24. package/dist/client.d.cts +2 -2
  25. package/dist/client.d.ts +2 -2
  26. package/dist/client.js +1 -1
  27. package/dist/drizzle/index.cjs +1 -1
  28. package/dist/drizzle/index.d.cts +3 -3
  29. package/dist/drizzle/index.d.ts +3 -3
  30. package/dist/drizzle/index.js +1 -1
  31. package/dist/fields/index.cjs +1 -1
  32. package/dist/fields/index.d.cts +2 -2
  33. package/dist/fields/index.d.ts +2 -2
  34. package/dist/fields/index.js +1 -1
  35. package/dist/graphql/index.d.cts +3 -3
  36. package/dist/graphql/index.d.ts +3 -3
  37. package/dist/{index-B70yBGlO.d.cts → index-cBgeiKp1.d.ts} +7 -2
  38. package/dist/{index-BJMk6wAL.d.ts → index-yPGko8UV.d.cts} +7 -2
  39. package/dist/index.cjs +2 -2
  40. package/dist/index.d.cts +9 -9
  41. package/dist/index.d.ts +9 -9
  42. package/dist/index.js +1 -1
  43. package/dist/mongodb/index.d.cts +3 -3
  44. package/dist/mongodb/index.d.ts +3 -3
  45. package/dist/rest/index.cjs +1 -1
  46. package/dist/rest/index.d.cts +4 -4
  47. package/dist/rest/index.d.ts +4 -4
  48. package/dist/rest/index.js +1 -1
  49. package/dist/templates/index.cjs +1 -1
  50. package/dist/templates/index.d.cts +2 -2
  51. package/dist/templates/index.d.ts +2 -2
  52. package/dist/templates/index.js +1 -1
  53. package/dist/trpc/index.d.cts +3 -3
  54. package/dist/trpc/index.d.ts +3 -3
  55. package/dist/{types-HgePo7uw.d.ts → types-Bj3d_ys8.d.ts} +1 -1
  56. package/dist/{types-Dlbz_JRA.d.cts → types-BowAPGjD.d.cts} +1 -1
  57. package/dist/{types-CIJsFuvf.d.cts → types-fvldOd92.d.cts} +17 -7
  58. package/dist/{types-CIJsFuvf.d.ts → types-fvldOd92.d.ts} +17 -7
  59. package/package.json +1 -1
  60. package/dist/chunk-6CF7WF64.cjs +0 -90
  61. package/dist/chunk-PNA36LJ6.js +0 -3
@@ -1 +1 @@
1
- 'use strict';var chunkGM63MQNE_cjs=require('../chunk-GM63MQNE.cjs'),chunk65G73T7Z_cjs=require('../chunk-65G73T7Z.cjs'),chunkGFU7AOI3_cjs=require('../chunk-GFU7AOI3.cjs');require('../chunk-AHSFSERC.cjs');Object.defineProperty(exports,"accessSettingsGlobal",{enumerable:true,get:function(){return chunkGM63MQNE_cjs.J}});Object.defineProperty(exports,"allSettingsGlobals",{enumerable:true,get:function(){return chunkGM63MQNE_cjs.N}});Object.defineProperty(exports,"blogCollections",{enumerable:true,get:function(){return chunkGM63MQNE_cjs.c}});Object.defineProperty(exports,"blogGlobals",{enumerable:true,get:function(){return chunkGM63MQNE_cjs.d}});Object.defineProperty(exports,"brandSettingsGlobal",{enumerable:true,get:function(){return chunkGM63MQNE_cjs.H}});Object.defineProperty(exports,"categoriesCollection",{enumerable:true,get:function(){return chunkGM63MQNE_cjs.p}});Object.defineProperty(exports,"categoriesCollections",{enumerable:true,get:function(){return chunkGM63MQNE_cjs.q}});Object.defineProperty(exports,"coreSettingsGlobals",{enumerable:true,get:function(){return chunkGM63MQNE_cjs.O}});Object.defineProperty(exports,"couponsCollection",{enumerable:true,get:function(){return chunkGM63MQNE_cjs.z}});Object.defineProperty(exports,"couponsCollections",{enumerable:true,get:function(){return chunkGM63MQNE_cjs.A}});Object.defineProperty(exports,"createTemplateConfig",{enumerable:true,get:function(){return chunkGM63MQNE_cjs.S}});Object.defineProperty(exports,"customersCollection",{enumerable:true,get:function(){return chunkGM63MQNE_cjs.v}});Object.defineProperty(exports,"customersCollections",{enumerable:true,get:function(){return chunkGM63MQNE_cjs.w}});Object.defineProperty(exports,"ecommerceCollections",{enumerable:true,get:function(){return chunkGM63MQNE_cjs.e}});Object.defineProperty(exports,"ecommerceGlobals",{enumerable:true,get:function(){return chunkGM63MQNE_cjs.f}});Object.defineProperty(exports,"emailSettingsGlobal",{enumerable:true,get:function(){return chunkGM63MQNE_cjs.I}});Object.defineProperty(exports,"formEntriesCollection",{enumerable:true,get:function(){return chunkGM63MQNE_cjs.D}});Object.defineProperty(exports,"formEntriesCollections",{enumerable:true,get:function(){return chunkGM63MQNE_cjs.E}});Object.defineProperty(exports,"formsCollection",{enumerable:true,get:function(){return chunkGM63MQNE_cjs.B}});Object.defineProperty(exports,"formsCollections",{enumerable:true,get:function(){return chunkGM63MQNE_cjs.C}});Object.defineProperty(exports,"getSettingsForTemplate",{enumerable:true,get:function(){return chunkGM63MQNE_cjs.Q}});Object.defineProperty(exports,"kitchenSinkCollections",{enumerable:true,get:function(){return chunkGM63MQNE_cjs.g}});Object.defineProperty(exports,"mediaCollection",{enumerable:true,get:function(){return chunkGM63MQNE_cjs.h}});Object.defineProperty(exports,"mediaCollections",{enumerable:true,get:function(){return chunkGM63MQNE_cjs.i}});Object.defineProperty(exports,"menuCollection",{enumerable:true,get:function(){return chunkGM63MQNE_cjs.j}});Object.defineProperty(exports,"menuCollections",{enumerable:true,get:function(){return chunkGM63MQNE_cjs.k}});Object.defineProperty(exports,"minimalCollections",{enumerable:true,get:function(){return chunkGM63MQNE_cjs.a}});Object.defineProperty(exports,"ordersCollection",{enumerable:true,get:function(){return chunkGM63MQNE_cjs.x}});Object.defineProperty(exports,"ordersCollections",{enumerable:true,get:function(){return chunkGM63MQNE_cjs.y}});Object.defineProperty(exports,"pageCollection",{enumerable:true,get:function(){return chunkGM63MQNE_cjs.n}});Object.defineProperty(exports,"pageCollections",{enumerable:true,get:function(){return chunkGM63MQNE_cjs.o}});Object.defineProperty(exports,"paymentSettingsGlobal",{enumerable:true,get:function(){return chunkGM63MQNE_cjs.L}});Object.defineProperty(exports,"postsCollection",{enumerable:true,get:function(){return chunkGM63MQNE_cjs.l}});Object.defineProperty(exports,"postsCollections",{enumerable:true,get:function(){return chunkGM63MQNE_cjs.m}});Object.defineProperty(exports,"productCategoriesCollection",{enumerable:true,get:function(){return chunkGM63MQNE_cjs.r}});Object.defineProperty(exports,"productCategoriesCollections",{enumerable:true,get:function(){return chunkGM63MQNE_cjs.s}});Object.defineProperty(exports,"productsCollection",{enumerable:true,get:function(){return chunkGM63MQNE_cjs.t}});Object.defineProperty(exports,"productsCollections",{enumerable:true,get:function(){return chunkGM63MQNE_cjs.u}});Object.defineProperty(exports,"seoSettingsGlobal",{enumerable:true,get:function(){return chunkGM63MQNE_cjs.G}});Object.defineProperty(exports,"settingsBySlug",{enumerable:true,get:function(){return chunkGM63MQNE_cjs.P}});Object.defineProperty(exports,"siteSettingsGlobal",{enumerable:true,get:function(){return chunkGM63MQNE_cjs.F}});Object.defineProperty(exports,"starterCollections",{enumerable:true,get:function(){return chunkGM63MQNE_cjs.b}});Object.defineProperty(exports,"storeSettingsGlobal",{enumerable:true,get:function(){return chunkGM63MQNE_cjs.K}});Object.defineProperty(exports,"systemSettingsGlobal",{enumerable:true,get:function(){return chunkGM63MQNE_cjs.M}});Object.defineProperty(exports,"templateCollections",{enumerable:true,get:function(){return chunkGM63MQNE_cjs.R}});Object.defineProperty(exports,"storageSettingsGlobal",{enumerable:true,get:function(){return chunk65G73T7Z_cjs.a}});Object.defineProperty(exports,"authCollections",{enumerable:true,get:function(){return chunkGFU7AOI3_cjs.b}});
1
+ 'use strict';var chunkRCV2TLOG_cjs=require('../chunk-RCV2TLOG.cjs'),chunk65G73T7Z_cjs=require('../chunk-65G73T7Z.cjs'),chunkGFU7AOI3_cjs=require('../chunk-GFU7AOI3.cjs');require('../chunk-AHSFSERC.cjs');Object.defineProperty(exports,"accessSettingsGlobal",{enumerable:true,get:function(){return chunkRCV2TLOG_cjs.J}});Object.defineProperty(exports,"allSettingsGlobals",{enumerable:true,get:function(){return chunkRCV2TLOG_cjs.N}});Object.defineProperty(exports,"blogCollections",{enumerable:true,get:function(){return chunkRCV2TLOG_cjs.c}});Object.defineProperty(exports,"blogGlobals",{enumerable:true,get:function(){return chunkRCV2TLOG_cjs.d}});Object.defineProperty(exports,"brandSettingsGlobal",{enumerable:true,get:function(){return chunkRCV2TLOG_cjs.H}});Object.defineProperty(exports,"categoriesCollection",{enumerable:true,get:function(){return chunkRCV2TLOG_cjs.p}});Object.defineProperty(exports,"categoriesCollections",{enumerable:true,get:function(){return chunkRCV2TLOG_cjs.q}});Object.defineProperty(exports,"coreSettingsGlobals",{enumerable:true,get:function(){return chunkRCV2TLOG_cjs.O}});Object.defineProperty(exports,"couponsCollection",{enumerable:true,get:function(){return chunkRCV2TLOG_cjs.z}});Object.defineProperty(exports,"couponsCollections",{enumerable:true,get:function(){return chunkRCV2TLOG_cjs.A}});Object.defineProperty(exports,"createTemplateConfig",{enumerable:true,get:function(){return chunkRCV2TLOG_cjs.S}});Object.defineProperty(exports,"customersCollection",{enumerable:true,get:function(){return chunkRCV2TLOG_cjs.v}});Object.defineProperty(exports,"customersCollections",{enumerable:true,get:function(){return chunkRCV2TLOG_cjs.w}});Object.defineProperty(exports,"ecommerceCollections",{enumerable:true,get:function(){return chunkRCV2TLOG_cjs.e}});Object.defineProperty(exports,"ecommerceGlobals",{enumerable:true,get:function(){return chunkRCV2TLOG_cjs.f}});Object.defineProperty(exports,"emailSettingsGlobal",{enumerable:true,get:function(){return chunkRCV2TLOG_cjs.I}});Object.defineProperty(exports,"formEntriesCollection",{enumerable:true,get:function(){return chunkRCV2TLOG_cjs.D}});Object.defineProperty(exports,"formEntriesCollections",{enumerable:true,get:function(){return chunkRCV2TLOG_cjs.E}});Object.defineProperty(exports,"formsCollection",{enumerable:true,get:function(){return chunkRCV2TLOG_cjs.B}});Object.defineProperty(exports,"formsCollections",{enumerable:true,get:function(){return chunkRCV2TLOG_cjs.C}});Object.defineProperty(exports,"getSettingsForTemplate",{enumerable:true,get:function(){return chunkRCV2TLOG_cjs.Q}});Object.defineProperty(exports,"kitchenSinkCollections",{enumerable:true,get:function(){return chunkRCV2TLOG_cjs.g}});Object.defineProperty(exports,"mediaCollection",{enumerable:true,get:function(){return chunkRCV2TLOG_cjs.h}});Object.defineProperty(exports,"mediaCollections",{enumerable:true,get:function(){return chunkRCV2TLOG_cjs.i}});Object.defineProperty(exports,"menuCollection",{enumerable:true,get:function(){return chunkRCV2TLOG_cjs.j}});Object.defineProperty(exports,"menuCollections",{enumerable:true,get:function(){return chunkRCV2TLOG_cjs.k}});Object.defineProperty(exports,"minimalCollections",{enumerable:true,get:function(){return chunkRCV2TLOG_cjs.a}});Object.defineProperty(exports,"ordersCollection",{enumerable:true,get:function(){return chunkRCV2TLOG_cjs.x}});Object.defineProperty(exports,"ordersCollections",{enumerable:true,get:function(){return chunkRCV2TLOG_cjs.y}});Object.defineProperty(exports,"pageCollection",{enumerable:true,get:function(){return chunkRCV2TLOG_cjs.n}});Object.defineProperty(exports,"pageCollections",{enumerable:true,get:function(){return chunkRCV2TLOG_cjs.o}});Object.defineProperty(exports,"paymentSettingsGlobal",{enumerable:true,get:function(){return chunkRCV2TLOG_cjs.L}});Object.defineProperty(exports,"postsCollection",{enumerable:true,get:function(){return chunkRCV2TLOG_cjs.l}});Object.defineProperty(exports,"postsCollections",{enumerable:true,get:function(){return chunkRCV2TLOG_cjs.m}});Object.defineProperty(exports,"productCategoriesCollection",{enumerable:true,get:function(){return chunkRCV2TLOG_cjs.r}});Object.defineProperty(exports,"productCategoriesCollections",{enumerable:true,get:function(){return chunkRCV2TLOG_cjs.s}});Object.defineProperty(exports,"productsCollection",{enumerable:true,get:function(){return chunkRCV2TLOG_cjs.t}});Object.defineProperty(exports,"productsCollections",{enumerable:true,get:function(){return chunkRCV2TLOG_cjs.u}});Object.defineProperty(exports,"seoSettingsGlobal",{enumerable:true,get:function(){return chunkRCV2TLOG_cjs.G}});Object.defineProperty(exports,"settingsBySlug",{enumerable:true,get:function(){return chunkRCV2TLOG_cjs.P}});Object.defineProperty(exports,"siteSettingsGlobal",{enumerable:true,get:function(){return chunkRCV2TLOG_cjs.F}});Object.defineProperty(exports,"starterCollections",{enumerable:true,get:function(){return chunkRCV2TLOG_cjs.b}});Object.defineProperty(exports,"storeSettingsGlobal",{enumerable:true,get:function(){return chunkRCV2TLOG_cjs.K}});Object.defineProperty(exports,"systemSettingsGlobal",{enumerable:true,get:function(){return chunkRCV2TLOG_cjs.M}});Object.defineProperty(exports,"templateCollections",{enumerable:true,get:function(){return chunkRCV2TLOG_cjs.R}});Object.defineProperty(exports,"storageSettingsGlobal",{enumerable:true,get:function(){return chunk65G73T7Z_cjs.a}});Object.defineProperty(exports,"authCollections",{enumerable:true,get:function(){return chunkGFU7AOI3_cjs.b}});
@@ -1,5 +1,5 @@
1
- import { G as GlobalConfig, C as CollectionConfig } from '../types-Dlbz_JRA.cjs';
2
- import '../types-CIJsFuvf.cjs';
1
+ import { G as GlobalConfig, C as CollectionConfig } from '../types-BowAPGjD.cjs';
2
+ import '../types-fvldOd92.cjs';
3
3
 
4
4
  declare const minimalCollections: Record<string, any>;
5
5
 
@@ -1,5 +1,5 @@
1
- import { G as GlobalConfig, C as CollectionConfig } from '../types-HgePo7uw.js';
2
- import '../types-CIJsFuvf.js';
1
+ import { G as GlobalConfig, C as CollectionConfig } from '../types-Bj3d_ys8.js';
2
+ import '../types-fvldOd92.js';
3
3
 
4
4
  declare const minimalCollections: Record<string, any>;
5
5
 
@@ -1 +1 @@
1
- export{J as accessSettingsGlobal,N as allSettingsGlobals,c as blogCollections,d as blogGlobals,H as brandSettingsGlobal,p as categoriesCollection,q as categoriesCollections,O as coreSettingsGlobals,z as couponsCollection,A as couponsCollections,S as createTemplateConfig,v as customersCollection,w as customersCollections,e as ecommerceCollections,f as ecommerceGlobals,I as emailSettingsGlobal,D as formEntriesCollection,E as formEntriesCollections,B as formsCollection,C as formsCollections,Q as getSettingsForTemplate,g as kitchenSinkCollections,h as mediaCollection,i as mediaCollections,j as menuCollection,k as menuCollections,a as minimalCollections,x as ordersCollection,y as ordersCollections,n as pageCollection,o as pageCollections,L as paymentSettingsGlobal,l as postsCollection,m as postsCollections,r as productCategoriesCollection,s as productCategoriesCollections,t as productsCollection,u as productsCollections,G as seoSettingsGlobal,P as settingsBySlug,F as siteSettingsGlobal,b as starterCollections,K as storeSettingsGlobal,M as systemSettingsGlobal,R as templateCollections}from'../chunk-PNA36LJ6.js';export{a as storageSettingsGlobal}from'../chunk-NZ35PV5R.js';export{b as authCollections}from'../chunk-AE6GXUT7.js';import'../chunk-5J6HXUF6.js';
1
+ export{J as accessSettingsGlobal,N as allSettingsGlobals,c as blogCollections,d as blogGlobals,H as brandSettingsGlobal,p as categoriesCollection,q as categoriesCollections,O as coreSettingsGlobals,z as couponsCollection,A as couponsCollections,S as createTemplateConfig,v as customersCollection,w as customersCollections,e as ecommerceCollections,f as ecommerceGlobals,I as emailSettingsGlobal,D as formEntriesCollection,E as formEntriesCollections,B as formsCollection,C as formsCollections,Q as getSettingsForTemplate,g as kitchenSinkCollections,h as mediaCollection,i as mediaCollections,j as menuCollection,k as menuCollections,a as minimalCollections,x as ordersCollection,y as ordersCollections,n as pageCollection,o as pageCollections,L as paymentSettingsGlobal,l as postsCollection,m as postsCollections,r as productCategoriesCollection,s as productCategoriesCollections,t as productsCollection,u as productsCollections,G as seoSettingsGlobal,P as settingsBySlug,F as siteSettingsGlobal,b as starterCollections,K as storeSettingsGlobal,M as systemSettingsGlobal,R as templateCollections}from'../chunk-4RSGPSKQ.js';export{a as storageSettingsGlobal}from'../chunk-NZ35PV5R.js';export{b as authCollections}from'../chunk-AE6GXUT7.js';import'../chunk-5J6HXUF6.js';
@@ -1,6 +1,6 @@
1
- import { B as BaseAdapter, R as Request, i as User, b as FindResult } from '../types-Dlbz_JRA.cjs';
2
- import { j as createWebhookService } from '../WebhookService-CE2BzNb_.cjs';
3
- import '../types-CIJsFuvf.cjs';
1
+ import { B as BaseAdapter, R as Request, i as User, b as FindResult } from '../types-BowAPGjD.cjs';
2
+ import { j as createWebhookService } from '../WebhookService-DRQLv_jR.cjs';
3
+ import '../types-fvldOd92.cjs';
4
4
 
5
5
  interface ApiKeyContext {
6
6
  userId: string;
@@ -1,6 +1,6 @@
1
- import { B as BaseAdapter, R as Request, i as User, b as FindResult } from '../types-HgePo7uw.js';
2
- import { j as createWebhookService } from '../WebhookService-DIUUnBqL.js';
3
- import '../types-CIJsFuvf.js';
1
+ import { B as BaseAdapter, R as Request, i as User, b as FindResult } from '../types-Bj3d_ys8.js';
2
+ import { j as createWebhookService } from '../WebhookService-DTNKXpXp.js';
3
+ import '../types-fvldOd92.js';
4
4
 
5
5
  interface ApiKeyContext {
6
6
  userId: string;
@@ -1,4 +1,4 @@
1
- import { F as Field } from './types-CIJsFuvf.js';
1
+ import { F as Field } from './types-fvldOd92.js';
2
2
 
3
3
  interface Request {
4
4
  body?: any;
@@ -1,4 +1,4 @@
1
- import { F as Field } from './types-CIJsFuvf.cjs';
1
+ import { F as Field } from './types-fvldOd92.cjs';
2
2
 
3
3
  interface Request {
4
4
  body?: any;
@@ -3,8 +3,8 @@
3
3
  * Unlike function conditions, these survive JSON serialization
4
4
  * and can be used in admin configs that are built at compile time.
5
5
  */
6
- interface DeclarativeCondition {
7
- /** The field name to evaluate (resolved from root form data) */
6
+ type DeclarativeCondition = {
7
+ /** The field name to evaluate (resolved from root form data, supports dot-notation) */
8
8
  field: string;
9
9
  /** Show the field when the target field equals this value */
10
10
  equals?: string | number | boolean;
@@ -12,7 +12,13 @@ interface DeclarativeCondition {
12
12
  notEquals?: string | number | boolean;
13
13
  /** Show the field when the target field's value is one of these */
14
14
  in?: (string | number | boolean)[];
15
- }
15
+ /** Show the field when the target field's value is greater than this */
16
+ greaterThan?: number;
17
+ } | {
18
+ and: DeclarativeCondition[];
19
+ } | {
20
+ or: DeclarativeCondition[];
21
+ };
16
22
  interface FieldAdmin {
17
23
  description?: string;
18
24
  placeholder?: string;
@@ -261,7 +267,10 @@ interface ActionField extends BaseField {
261
267
  interface SecretField extends BaseField {
262
268
  type: "secret";
263
269
  }
264
- type Field = TextField | NumberField | CheckboxField | DateField | EmailField | PasswordField | TextareaField | SelectField | RadioField | ColorField | ImageField | RichTextField | JSONField | CodeField | UploadField | MarkdownField | RelationshipField | ArrayField | ListField | GroupField | BlocksField | RowField | CollapsibleField | TabsField | ButtonField | ActionField | SecretField;
270
+ interface IconField extends BaseField {
271
+ type: "icon";
272
+ }
273
+ type Field = TextField | NumberField | CheckboxField | DateField | EmailField | PasswordField | TextareaField | SelectField | RadioField | ColorField | ImageField | RichTextField | JSONField | CodeField | UploadField | MarkdownField | RelationshipField | ArrayField | ListField | GroupField | BlocksField | RowField | CollapsibleField | TabsField | ButtonField | ActionField | SecretField | IconField;
265
274
  type FieldType = Field["type"];
266
275
  declare function isTextField(field: Field): field is TextField;
267
276
  declare function isNumberField(field: Field): field is NumberField;
@@ -274,11 +283,12 @@ declare function isImageField(field: Field): field is ImageField;
274
283
  declare function isRichTextField(field: Field): field is RichTextField;
275
284
  declare function isSelectField(field: Field): field is SelectField;
276
285
  declare function isLayoutField(field: Field): field is RowField | CollapsibleField | TabsField;
277
- declare const PRIMITIVE_FIELD_TYPES: readonly ["text", "number", "checkbox", "date", "email", "password", "textarea", "select", "radio", "color"];
286
+ declare function isIconField(field: Field): field is IconField;
287
+ declare const PRIMITIVE_FIELD_TYPES: readonly ["text", "number", "checkbox", "date", "email", "password", "textarea", "select", "radio", "color", "icon"];
278
288
  declare const COMPLEX_FIELD_TYPES: readonly ["richtext", "json", "code", "upload", "image", "markdown"];
279
289
  declare const RELATIONAL_FIELD_TYPES: readonly ["relationship", "array", "group", "blocks"];
280
290
  declare const LAYOUT_FIELD_TYPES: readonly ["row", "collapsible", "tabs"];
281
- declare const ALL_FIELD_TYPES: readonly ["text", "number", "checkbox", "date", "email", "password", "textarea", "select", "radio", "color", "richtext", "json", "code", "upload", "image", "markdown", "relationship", "array", "group", "blocks", "row", "collapsible", "tabs"];
291
+ declare const ALL_FIELD_TYPES: readonly ["text", "number", "checkbox", "date", "email", "password", "textarea", "select", "radio", "color", "icon", "richtext", "json", "code", "upload", "image", "markdown", "relationship", "array", "group", "blocks", "row", "collapsible", "tabs"];
282
292
  declare function createRelationshipFieldConfig(name: string, relationTo: string | string[], options?: Partial<Omit<RelationshipField, "type" | "name" | "relationTo">>): RelationshipField;
283
293
 
284
- export { isSelectField as $, type ArrayField as A, type BaseField as B, type CheckboxField as C, type DateField as D, type EmailField as E, type Field as F, type GroupField as G, type Hook as H, type ImageField as I, type JSONField as J, isArrayField as K, LAYOUT_FIELD_TYPES as L, type MarkdownField as M, type NumberField as N, isBlocksField as O, type PasswordField as P, isGroupField as Q, type RadioField as R, type SecretField as S, type TabsField as T, type UploadField as U, type ValidateOptions as V, isImageField as W, isLayoutField as X, isNumberField as Y, isRelationshipField as Z, isRichTextField as _, type Block as a, isTextField as a0, isUploadField as a1, type BlockAdmin as b, type BlockImage as c, type BlocksField as d, type CodeField as e, type CollapsibleField as f, type ColorField as g, type DeclarativeCondition as h, type FieldAdmin as i, type FieldType as j, type RelationshipField as k, type RichTextBlock as l, type RichTextField as m, type RowField as n, type SelectField as o, type TextField as p, type TextareaField as q, ALL_FIELD_TYPES as r, type ActionField as s, type ButtonField as t, COMPLEX_FIELD_TYPES as u, type ListField as v, PRIMITIVE_FIELD_TYPES as w, RELATIONAL_FIELD_TYPES as x, type TextFieldVariant as y, createRelationshipFieldConfig as z };
294
+ export { isRelationshipField as $, type ArrayField as A, type BaseField as B, type CheckboxField as C, type DateField as D, type EmailField as E, type Field as F, type GroupField as G, type Hook as H, type ImageField as I, type JSONField as J, createRelationshipFieldConfig as K, LAYOUT_FIELD_TYPES as L, type MarkdownField as M, type NumberField as N, isArrayField as O, type PasswordField as P, isBlocksField as Q, type RadioField as R, type SecretField as S, type TabsField as T, type UploadField as U, type ValidateOptions as V, isGroupField as W, isIconField as X, isImageField as Y, isLayoutField as Z, isNumberField as _, type Block as a, isRichTextField as a0, isSelectField as a1, isTextField as a2, isUploadField as a3, type BlockAdmin as b, type BlockImage as c, type BlocksField as d, type CodeField as e, type CollapsibleField as f, type ColorField as g, type DeclarativeCondition as h, type FieldAdmin as i, type FieldType as j, type RelationshipField as k, type RichTextBlock as l, type RichTextField as m, type RowField as n, type SelectField as o, type TextField as p, type TextareaField as q, ALL_FIELD_TYPES as r, type ActionField as s, type ButtonField as t, COMPLEX_FIELD_TYPES as u, type IconField as v, type ListField as w, PRIMITIVE_FIELD_TYPES as x, RELATIONAL_FIELD_TYPES as y, type TextFieldVariant as z };
@@ -3,8 +3,8 @@
3
3
  * Unlike function conditions, these survive JSON serialization
4
4
  * and can be used in admin configs that are built at compile time.
5
5
  */
6
- interface DeclarativeCondition {
7
- /** The field name to evaluate (resolved from root form data) */
6
+ type DeclarativeCondition = {
7
+ /** The field name to evaluate (resolved from root form data, supports dot-notation) */
8
8
  field: string;
9
9
  /** Show the field when the target field equals this value */
10
10
  equals?: string | number | boolean;
@@ -12,7 +12,13 @@ interface DeclarativeCondition {
12
12
  notEquals?: string | number | boolean;
13
13
  /** Show the field when the target field's value is one of these */
14
14
  in?: (string | number | boolean)[];
15
- }
15
+ /** Show the field when the target field's value is greater than this */
16
+ greaterThan?: number;
17
+ } | {
18
+ and: DeclarativeCondition[];
19
+ } | {
20
+ or: DeclarativeCondition[];
21
+ };
16
22
  interface FieldAdmin {
17
23
  description?: string;
18
24
  placeholder?: string;
@@ -261,7 +267,10 @@ interface ActionField extends BaseField {
261
267
  interface SecretField extends BaseField {
262
268
  type: "secret";
263
269
  }
264
- type Field = TextField | NumberField | CheckboxField | DateField | EmailField | PasswordField | TextareaField | SelectField | RadioField | ColorField | ImageField | RichTextField | JSONField | CodeField | UploadField | MarkdownField | RelationshipField | ArrayField | ListField | GroupField | BlocksField | RowField | CollapsibleField | TabsField | ButtonField | ActionField | SecretField;
270
+ interface IconField extends BaseField {
271
+ type: "icon";
272
+ }
273
+ type Field = TextField | NumberField | CheckboxField | DateField | EmailField | PasswordField | TextareaField | SelectField | RadioField | ColorField | ImageField | RichTextField | JSONField | CodeField | UploadField | MarkdownField | RelationshipField | ArrayField | ListField | GroupField | BlocksField | RowField | CollapsibleField | TabsField | ButtonField | ActionField | SecretField | IconField;
265
274
  type FieldType = Field["type"];
266
275
  declare function isTextField(field: Field): field is TextField;
267
276
  declare function isNumberField(field: Field): field is NumberField;
@@ -274,11 +283,12 @@ declare function isImageField(field: Field): field is ImageField;
274
283
  declare function isRichTextField(field: Field): field is RichTextField;
275
284
  declare function isSelectField(field: Field): field is SelectField;
276
285
  declare function isLayoutField(field: Field): field is RowField | CollapsibleField | TabsField;
277
- declare const PRIMITIVE_FIELD_TYPES: readonly ["text", "number", "checkbox", "date", "email", "password", "textarea", "select", "radio", "color"];
286
+ declare function isIconField(field: Field): field is IconField;
287
+ declare const PRIMITIVE_FIELD_TYPES: readonly ["text", "number", "checkbox", "date", "email", "password", "textarea", "select", "radio", "color", "icon"];
278
288
  declare const COMPLEX_FIELD_TYPES: readonly ["richtext", "json", "code", "upload", "image", "markdown"];
279
289
  declare const RELATIONAL_FIELD_TYPES: readonly ["relationship", "array", "group", "blocks"];
280
290
  declare const LAYOUT_FIELD_TYPES: readonly ["row", "collapsible", "tabs"];
281
- declare const ALL_FIELD_TYPES: readonly ["text", "number", "checkbox", "date", "email", "password", "textarea", "select", "radio", "color", "richtext", "json", "code", "upload", "image", "markdown", "relationship", "array", "group", "blocks", "row", "collapsible", "tabs"];
291
+ declare const ALL_FIELD_TYPES: readonly ["text", "number", "checkbox", "date", "email", "password", "textarea", "select", "radio", "color", "icon", "richtext", "json", "code", "upload", "image", "markdown", "relationship", "array", "group", "blocks", "row", "collapsible", "tabs"];
282
292
  declare function createRelationshipFieldConfig(name: string, relationTo: string | string[], options?: Partial<Omit<RelationshipField, "type" | "name" | "relationTo">>): RelationshipField;
283
293
 
284
- export { isSelectField as $, type ArrayField as A, type BaseField as B, type CheckboxField as C, type DateField as D, type EmailField as E, type Field as F, type GroupField as G, type Hook as H, type ImageField as I, type JSONField as J, isArrayField as K, LAYOUT_FIELD_TYPES as L, type MarkdownField as M, type NumberField as N, isBlocksField as O, type PasswordField as P, isGroupField as Q, type RadioField as R, type SecretField as S, type TabsField as T, type UploadField as U, type ValidateOptions as V, isImageField as W, isLayoutField as X, isNumberField as Y, isRelationshipField as Z, isRichTextField as _, type Block as a, isTextField as a0, isUploadField as a1, type BlockAdmin as b, type BlockImage as c, type BlocksField as d, type CodeField as e, type CollapsibleField as f, type ColorField as g, type DeclarativeCondition as h, type FieldAdmin as i, type FieldType as j, type RelationshipField as k, type RichTextBlock as l, type RichTextField as m, type RowField as n, type SelectField as o, type TextField as p, type TextareaField as q, ALL_FIELD_TYPES as r, type ActionField as s, type ButtonField as t, COMPLEX_FIELD_TYPES as u, type ListField as v, PRIMITIVE_FIELD_TYPES as w, RELATIONAL_FIELD_TYPES as x, type TextFieldVariant as y, createRelationshipFieldConfig as z };
294
+ export { isRelationshipField as $, type ArrayField as A, type BaseField as B, type CheckboxField as C, type DateField as D, type EmailField as E, type Field as F, type GroupField as G, type Hook as H, type ImageField as I, type JSONField as J, createRelationshipFieldConfig as K, LAYOUT_FIELD_TYPES as L, type MarkdownField as M, type NumberField as N, isArrayField as O, type PasswordField as P, isBlocksField as Q, type RadioField as R, type SecretField as S, type TabsField as T, type UploadField as U, type ValidateOptions as V, isGroupField as W, isIconField as X, isImageField as Y, isLayoutField as Z, isNumberField as _, type Block as a, isRichTextField as a0, isSelectField as a1, isTextField as a2, isUploadField as a3, type BlockAdmin as b, type BlockImage as c, type BlocksField as d, type CodeField as e, type CollapsibleField as f, type ColorField as g, type DeclarativeCondition as h, type FieldAdmin as i, type FieldType as j, type RelationshipField as k, type RichTextBlock as l, type RichTextField as m, type RowField as n, type SelectField as o, type TextField as p, type TextareaField as q, ALL_FIELD_TYPES as r, type ActionField as s, type ButtonField as t, COMPLEX_FIELD_TYPES as u, type IconField as v, type ListField as w, PRIMITIVE_FIELD_TYPES as x, RELATIONAL_FIELD_TYPES as y, type TextFieldVariant as z };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kyro-cms/core",
3
- "version": "0.12.0",
3
+ "version": "0.12.1",
4
4
  "description": "Astro-native headless CMS with multi-database adapters, multi-protocol APIs, and multi-vendor support",
5
5
  "engines": {
6
6
  "node": ">=22"
@@ -1,90 +0,0 @@
1
- 'use strict';var html=require('@tiptap/html'),s=require('@tiptap/starter-kit'),d=require('@tiptap/extension-link'),p=require('@tiptap/extension-image'),c=require('@tiptap/extension-text-align'),x=require('@tiptap/extension-underline'),g=require('@tiptap/extension-highlight'),u=require('@tiptap/extension-task-list'),m=require('@tiptap/extension-task-item'),extensionTextStyle=require('@tiptap/extension-text-style'),y=require('@tiptap/extension-color');function _interopDefault(e){return e&&e.__esModule?e:{default:e}}var s__default=/*#__PURE__*/_interopDefault(s);var d__default=/*#__PURE__*/_interopDefault(d);var p__default=/*#__PURE__*/_interopDefault(p);var c__default=/*#__PURE__*/_interopDefault(c);var x__default=/*#__PURE__*/_interopDefault(x);var g__default=/*#__PURE__*/_interopDefault(g);var u__default=/*#__PURE__*/_interopDefault(u);var m__default=/*#__PURE__*/_interopDefault(m);var y__default=/*#__PURE__*/_interopDefault(y);function b(e){return e.type==="text"}function h(e){return e.type==="number"}function k(e){return e.type==="relationship"}function R(e){return e.type==="array"}function B(e){return e.type==="group"}function T(e){return e.type==="blocks"}function w(e){return e.type==="upload"}function L(e){return e.type==="image"}function A(e){return e.type==="richtext"}function I(e){return e.type==="select"}function V(e){return e.type==="row"||e.type==="collapsible"||e.type==="tabs"}var r=["text","number","checkbox","date","email","password","textarea","select","radio","color"],n=["richtext","json","code","upload","image","markdown"],o=["relationship","array","group","blocks"],a=["row","collapsible","tabs"],C=[...r,...n,...o,...a];function D(e,t,i){return {name:e,type:"relationship",relationTo:t,...i,required:i?.required??false}}var Y=`
2
- .kyro-richtext {
3
- color: inherit;
4
- line-height: 1.7;
5
- }
6
-
7
- .kyro-richtext > *:first-child {
8
- margin-top: 0;
9
- }
10
-
11
- .kyro-richtext > *:last-child {
12
- margin-bottom: 0;
13
- }
14
-
15
- .kyro-richtext p,
16
- .kyro-richtext ul,
17
- .kyro-richtext ol,
18
- .kyro-richtext blockquote,
19
- .kyro-richtext pre {
20
- margin: 0 0 1rem;
21
- }
22
-
23
- .kyro-richtext h1,
24
- .kyro-richtext h2,
25
- .kyro-richtext h3,
26
- .kyro-richtext h4,
27
- .kyro-richtext h5,
28
- .kyro-richtext h6 {
29
- margin: 0 0 0.75rem;
30
- line-height: 1.2;
31
- }
32
-
33
- .kyro-richtext ul,
34
- .kyro-richtext ol {
35
- padding-left: 1.5rem;
36
- }
37
-
38
- .kyro-richtext blockquote {
39
- border-left: 4px solid rgba(148, 163, 184, 0.5);
40
- margin-left: 0;
41
- padding-left: 1rem;
42
- font-style: italic;
43
- }
44
-
45
- .kyro-richtext pre {
46
- overflow-x: auto;
47
- border-radius: 0.75rem;
48
- background: rgba(15, 23, 42, 0.92);
49
- color: #f8fafc;
50
- padding: 1rem;
51
- }
52
-
53
- .kyro-richtext code {
54
- font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
55
- }
56
-
57
- .kyro-richtext img {
58
- display: block;
59
- max-width: 100%;
60
- height: auto;
61
- border-radius: 0.75rem;
62
- }
63
-
64
- .kyro-richtext ul[data-type="taskList"] {
65
- list-style: none;
66
- padding: 0;
67
- }
68
-
69
- .kyro-richtext li[data-type="taskItem"] {
70
- display: flex;
71
- align-items: flex-start;
72
- gap: 0.5rem;
73
- }
74
-
75
- .kyro-richtext li[data-type="taskItem"] > label {
76
- user-select: none;
77
- pointer-events: none;
78
- margin-top: 0.2rem;
79
- }
80
-
81
- .kyro-richtext li[data-type="taskItem"] > div {
82
- flex: 1;
83
- }
84
-
85
- .kyro-richtext mark {
86
- background-color: #fef08a;
87
- border-radius: 0.25rem;
88
- padding: 0.125rem 0.25rem;
89
- }
90
- `.trim(),f=[s__default.default,d__default.default.configure({openOnClick:false}),p__default.default,c__default.default.configure({types:["heading","paragraph"]}),x__default.default,g__default.default.configure({multicolor:true}),u__default.default,m__default.default.configure({nested:true}),extensionTextStyle.TextStyle,y__default.default];function G(e){return typeof e=="object"&&e!==null?e:{}}function j(e){if(typeof e!="object"||e===null)return "";try{return `<div class="kyro-richtext">${html.generateHTML(e,f)}</div>`}catch(t){return console.error("Failed to render rich text:",t),""}}exports.a=b;exports.b=h;exports.c=k;exports.d=R;exports.e=B;exports.f=T;exports.g=w;exports.h=L;exports.i=A;exports.j=I;exports.k=V;exports.l=r;exports.m=n;exports.n=o;exports.o=a;exports.p=C;exports.q=D;exports.r=Y;exports.s=G;exports.t=j;
@@ -1,3 +0,0 @@
1
- import {a as a$1}from'./chunk-NZ35PV5R.js';import {b as b$1}from'./chunk-AE6GXUT7.js';var x={};var C={};var S={},ae=[];var h={},le=[];var R={};var j={slug:"media",label:"Media Library",admin:{useAsTitle:"title",defaultColumns:["thumbnailUrl","title","type","fileSize","createdAt"],group:"content"},access:{read:()=>true,create:()=>true,update:()=>true,delete:()=>true},fields:[{name:"title",type:"text",label:"Title",required:true,admin:{description:"Descriptive title for the file"}},{name:"filename",type:"text",label:"Filename",required:true,admin:{readOnly:true,description:"System filename (auto-generated)"}},{name:"originalName",type:"text",label:"Original Name",admin:{readOnly:true}},{name:"alt",type:"text",label:"Alt Text",admin:{description:"Alternative text for images (accessibility)"}},{name:"caption",type:"richtext",label:"Caption",admin:{description:"Optional caption or description"}},{name:"type",type:"select",label:"File Type",required:true,defaultValue:"document",options:[{label:"Image",value:"image"},{label:"Video",value:"video"},{label:"Audio",value:"audio"},{label:"Document",value:"document"},{label:"Archive",value:"archive"},{label:"Other",value:"other"}],admin:{readOnly:true}},{name:"mimeType",type:"text",label:"MIME Type",admin:{readOnly:true}},{name:"url",type:"text",label:"URL",required:true,admin:{readOnly:true,description:"Public URL of the file"}},{name:"thumbnailUrl",type:"text",label:"Thumbnail URL",admin:{readOnly:true}},{name:"width",type:"number",label:"Width",admin:{readOnly:true,description:"Width in pixels (for images/videos)"}},{name:"height",type:"number",label:"Height",admin:{readOnly:true,description:"Height in pixels (for images/videos)"}},{name:"fileSize",type:"number",label:"File Size",admin:{readOnly:true,description:"Size in bytes"}},{name:"folder",type:"text",label:"Folder",admin:{description:"Folder path for organization (e.g., /products, /blog)"}},{name:"tags",type:"array",label:"Tags",fields:[{name:"tag",type:"text",label:"Tag"}]},{name:"focalPoint",type:"group",label:"Focal Point",admin:{description:"Point of interest for cropping"},fields:[{name:"x",type:"number",label:"X",defaultValue:50},{name:"y",type:"number",label:"Y",defaultValue:50}]},{name:"metadata",type:"json",label:"Metadata",admin:{readOnly:true,description:"Additional file metadata (EXIF, etc.)"}},{name:"provider",type:"select",label:"Storage Provider",defaultValue:"local",options:[{label:"Local",value:"local"},{label:"AWS S3",value:"s3"},{label:"Cloudinary",value:"cloudinary"},{label:"Imgix",value:"imgix"}],admin:{readOnly:true}},{name:"status",type:"select",label:"Status",defaultValue:"active",options:[{label:"Active",value:"active"},{label:"Archived",value:"archived"}]},{name:"createdAt",type:"date",label:"Created",admin:{readOnly:true}},{name:"updatedAt",type:"date",label:"Last Modified",admin:{readOnly:true}}]},v=[j];var H={slug:"menu",label:"Menu",singularLabel:"Menu Item",admin:{useAsTitle:"title",defaultColumns:["title","menuLocation"]},fields:[{name:"title",type:"text",label:"Title",required:true},{name:"menuLocation",type:"select",label:"Location",options:[{label:"Choose Location",value:""},{label:"Header",value:"header"},{label:"Footer",value:"footer"},{label:"Sidebar",value:"sidebar"},{label:"Primary",value:"primary"},{label:"Secondary",value:"secondary"}],required:true,admin:{position:"sidebar"}},{name:"order",type:"number",label:"Order",admin:{position:"sidebar"}},{name:"menu",type:"group",fields:[{name:"menuItem",label:"Menu Item",type:"array",fields:[{name:"linkType",type:"select",label:"Type",options:[{label:"Internal",value:"internal"},{label:"External",value:"external"}]},{name:"internalTarget",type:"relationship",label:"Target",relationTo:["pages","posts"],admin:{condition:{field:"linkType",equals:"internal"}}},{name:"externalUrl",type:"text",label:"URL",admin:{condition:{field:"linkType",equals:"external"}}}]}]}]},B={menu:H};var K={slug:"posts",label:"Posts",labelPlural:"Posts",singularLabel:"Post",admin:{useAsTitle:"title",defaultColumns:["title","slug","status","createdAt","updatedAt"],description:"Blog posts and articles"},seo:true,fields:[{name:"tabs",type:"tabs",tabs:[{label:"Content",fields:[{name:"title",type:"text",required:true,label:"Title",admin:{description:"The main title of the post as it will appear publicly."}},{name:"content",type:"richtext",label:"Content"},{name:"excerpt",type:"textarea",label:"Excerpt",admin:{description:"A short summary of the post."}}]},{label:"Meta",fields:[{name:"category",type:"relationship",label:"Category",relationTo:"categories",admin:{description:"Select the primary category this post belongs to."}},{name:"relatedPosts",type:"array",label:"Related Posts",fields:[{name:"post",type:"relationship",relationTo:"posts",label:"Post"}],admin:{description:"Select posts related to this one."}}]}]},{name:"slug",type:"text",required:true,label:"Slug",admin:{description:"The URL-friendly identifier for the post.",position:"sidebar",autoGenerate:"title"}},{name:"tags",type:"list",label:"Tags",admin:{description:"Add keywords to help categorize your post.",position:"sidebar"}},{name:"authors",type:"array",label:"Authors",fields:[{name:"user",type:"relationship",label:"User",relationTo:"users"}],admin:{description:"Select one or more authors for this post.",position:"sidebar"}},{name:"featured",type:"checkbox",label:"Featured",defaultValue:false,admin:{description:"Highlight this post as a featured article.",position:"sidebar"}},{name:"featuredImage",type:"upload",label:"Featured Image",relationTo:"media",admin:{description:"The primary visual used to represent this post.",position:"sidebar"}},{name:"readTime",type:"number",label:"Read Time (mins)",admin:{description:"Estimated reading time in minutes.",position:"sidebar",readOnly:true}}],hooks:{beforeChange:[({data:e})=>{if(e?.content){let t="",l=i=>{i.type==="text"&&i.text&&(t+=i.text+" "),i.content&&Array.isArray(i.content)&&i.content.forEach(l);};typeof e.content=="object"&&e.content!==null?l(e.content):typeof e.content=="string"&&(t=e.content.replace(/<[^>]*>?/gm," "));let I=t.trim().split(/\s+/).filter(i=>i.length>0);e.readTime=Math.max(1,Math.ceil(I.length/200));}else e.readTime=0;return e}]},timestamps:true,versions:{drafts:true,maxPerDoc:10}},V={posts:K};function a(e){return {...e,fields:[...[],...e.fields,...be]}}var ie=[{name:"text",type:"text",label:"Label"},{name:"url",type:"text",label:"URL"}],d={name:"buttons",type:"array",label:"Action Buttons",fields:ie},ne={slug:"headingElement",label:"Heading",admin:{group:"Basic Content Elements",description:"Section heading"},fields:[{name:"content",type:"text",label:"Content"}]},oe={slug:"textElement",label:"Text",admin:{group:"Basic Content Elements",description:"Plain text paragraph"},fields:[{name:"content",type:"textarea",label:"Content"}]},re={slug:"imageElement",label:"Image",admin:{group:"Basic Content Elements",description:"Single image"},fields:[{name:"image",type:"upload",label:"Image",relationTo:"media"}]},se={slug:"richtextElement",label:"Rich Text",admin:{group:"Basic Content Elements",description:"Formatted rich text content"},fields:[{name:"content",type:"richtext",label:"Content"}]},me={slug:"buttonElement",label:"Button",admin:{group:"Basic Content Elements",description:"Call-to-action button"},fields:[{name:"buttonData",type:"group",label:"Button",admin:{inline:true},fields:[{name:"text",type:"text",label:"Label"},{name:"url",type:"text",label:"URL"}]}]},pe={slug:"videoElement",label:"Video",admin:{group:"Basic Content Elements",description:"Embedded video player"},fields:[{name:"url",type:"text",label:"Video URL"},{name:"file",type:"upload",label:"Video File",relationTo:"media"},{name:"caption",type:"text",label:"Caption"}]},ue={slug:"listElement",label:"List",admin:{group:"Basic Content Elements",description:"Bulleted or numbered list"},fields:[{name:"items",type:"array",label:"Items",fields:[{name:"text",type:"text",label:"Item Text"}]}]},de=[ne,oe,re,se,me,pe,ue],ce={name:"elements",type:"blocks",label:"Extra Content Elements",blocks:de,admin:{pickerMode:"dropdown"}},be=[ce],ye=a({slug:"hero",admin:{group:"Structural Sections",description:"Primary landing section with heading, text, media & CTA"},label:"Hero Section",fields:[{name:"isMultiScreen",type:"checkbox",label:"Enable Carousel",defaultValue:false},{name:"multiSlides",type:"group",label:"Multi Slides",admin:{condition:{field:"isMultiScreen",equals:true}},fields:[{name:"multiSlides",type:"array",label:"Hero Slides",fields:[{name:"title",type:"text",label:"Heading"},{name:"subtitle",type:"textarea",label:"Subheading"},{name:"backgroundImage",type:"upload",label:"Background Image",relationTo:"media"},d]}]},{name:"singleSlide",type:"group",label:"Single Slide",admin:{condition:{field:"isMultiScreen",equals:false}},fields:[{name:"title",type:"text",label:"Heading"},{name:"subtitle",type:"textarea",label:"Subheading"},{name:"backgroundImage",type:"upload",label:"Background Image",relationTo:"media"},d]}]}),ge=a({slug:"card",admin:{group:"Structural Sections",description:"Modular card block featuring title, text, and optional media"},label:"Card Block",fields:[{name:"isMultiCard",type:"checkbox",label:"Enable Multicard Layout",defaultValue:false},{name:"multiCards",type:"group",label:"Multi Cards",admin:{condition:{field:"isMultiCard",equals:true}},fields:[{name:"cards",type:"array",label:"Cards List",fields:[{name:"title",type:"text",label:"Title"},{name:"description",type:"textarea",label:"Description"},{name:"image",type:"upload",label:"Image",relationTo:"media"},{name:"icon",type:"text",label:"Icon"},{name:"linkText",type:"text",label:"Link Text"},{name:"link",type:"text",label:"URL"}]}]},{name:"singleCard",type:"group",label:"Single Card",admin:{condition:{field:"isMultiCard",equals:false}},fields:[{name:"title",type:"text",label:"Title"},{name:"description",type:"textarea",label:"Description"},{name:"image",type:"upload",label:"Image",relationTo:"media"},{name:"icon",type:"text",label:"Icon"},{name:"linkText",type:"text",label:"Link Text"},{name:"link",type:"text",label:"URL"}]}]});a({slug:"text",admin:{group:"Basic Content Elements",description:"Rich text content"},label:"Text Block",fields:[{name:"content",type:"richtext",label:"Content"}]});a({slug:"image",admin:{group:"Basic Content Elements",description:"Image upload container"},label:"Image",fields:[{name:"image",type:"upload",label:"Image",relationTo:"media"},{name:"caption",type:"text",label:"Caption"},{name:"alt",type:"text",label:"Alt Text"},{name:"aspectRatio",type:"select",label:"Aspect Ratio",defaultValue:"original",options:[{label:"Original",value:"original"},{label:"16:9 Landscape",value:"16-9"},{label:"4:3 Classic",value:"4-3"},{label:"1:1 Square",value:"1-1"},{label:"2:3 Portrait",value:"2-3"}]},{name:"enableLightbox",type:"checkbox",label:"Enable Zoom / Lightbox",defaultValue:false}]});var fe=a({slug:"featureSplit",admin:{group:"Structural Sections",description:"Side-by-side text and media layout"},label:"Feature Split (Text & Media)",fields:[{name:"title",type:"text",label:"Title"},{name:"description",type:"textarea",label:"Description"},{name:"checkpoints",type:"array",label:"Value Checkpoints",fields:[{name:"title",type:"text",label:"Checkpoint Title"},{name:"description",type:"textarea",label:"Checkpoint Description"},{name:"icon",type:"text",label:"Icon Name"},{name:"image",type:"upload",label:"Image",relationTo:"media"},{name:"itemUrl",type:"text",label:"Link URL"},{name:"itemText",type:"text",label:"Link Text"}]},{name:"images",type:"array",label:"Images",fields:[{name:"image",type:"upload",label:"Image",relationTo:"media"}]},d]}),xe=a({slug:"featureGrid",admin:{group:"Marketing Grids",description:"Multi-column grid showcasing features or services"},label:"Feature Grid",fields:[{name:"title",type:"text",label:"Section Heading"},{name:"subtitle",type:"textarea",label:"Section Subtitle"},{name:"features",type:"array",label:"Features List",fields:[{name:"title",type:"text",label:"Title"},{name:"description",type:"textarea",label:"Description"},{name:"icon",type:"text",label:"Icon Name"},{name:"image",type:"upload",label:"Feature Image",relationTo:"media"},{name:"itemUrl",type:"text",label:"Card Redirection URL"}]}]}),Ce=a({slug:"ctaBanner",admin:{group:"Structural Sections",description:"High-impact call-to-action banner"},label:"CTA Banner",fields:[{name:"title",type:"text",label:"Headline"},{name:"subtitle",type:"textarea",label:"Subheading"},{name:"backgroundImage",type:"upload",label:"Background Image",relationTo:"media"},d]}),Se=a({slug:"testimonials",admin:{group:"Marketing Grids",description:"Customer reviews and quotes carousel"},label:"Testimonials",fields:[{name:"title",type:"text",label:"Section Heading"},{name:"subtitle",type:"text",label:"Section Subheading"},{name:"items",type:"array",label:"Testimonials",fields:[{name:"authorName",type:"text",label:"Author Name"},{name:"quote",type:"textarea",label:"Quote"},{name:"rating",type:"select",label:"Star Rating",defaultValue:"5",options:[{label:"5 Stars",value:"5"},{label:"4 Stars",value:"4"},{label:"3 Stars",value:"3"},{label:"2 Stars",value:"2"},{label:"1 Star",value:"1"}]},{name:"authorRole",type:"text",label:"Author Role"},{name:"avatar",type:"upload",label:"Avatar",relationTo:"media"},{name:"companyLogo",type:"upload",label:"Company Logo",relationTo:"media"}]}]}),he=a({slug:"faq",admin:{group:"Lead Capture & Interactive",description:"Expandable list of frequently asked questions"},label:"FAQ Section",fields:[{name:"title",type:"text",label:"Section Heading"},{name:"items",type:"array",label:"Questions List",fields:[{name:"tag",type:"text",label:"Category Tag (e.g. billing, account)"},{name:"question",type:"text",label:"Question"},{name:"answer",type:"textarea",label:"Answer"}]},{name:"footerTitle",type:"text",label:"Footer Heading (e.g. Still have questions?)"},{name:"footerCtaUrl",type:"text",label:"Footer CTA Redirection URL"}]}),ve=a({slug:"stats",admin:{group:"Marketing Grids",description:"Grid displaying key numerical metrics and stats"},label:"Stats / Metrics",fields:[{name:"title",type:"text",label:"Section Heading"},{name:"description",type:"textarea",label:"Description"},{name:"items",type:"array",label:"Stats List",fields:[{name:"prefix",type:"text",label:"Value Prefix (e.g. + or $)"},{name:"value",type:"text",label:"Value (e.g. 99.9 or 5M)"},{name:"suffix",type:"text",label:"Value Suffix (e.g. % or users)"},{name:"label",type:"text",label:"Label (e.g. Uptime)"},{name:"description",type:"textarea",label:"Context Description"}]}]}),Te=a({slug:"logoCloud",admin:{group:"Structural Sections",description:"Showcase for partner and client company logos"},label:"Logo Cloud / Partners",fields:[{name:"title",type:"text",label:"Section Heading"},{name:"logos",type:"array",label:"Logos List",fields:[{name:"name",type:"text",label:"Company Name"},{name:"logo",type:"upload",label:"Logo Image",relationTo:"media"},{name:"url",type:"text",label:"Website URL"}]}]}),ke=a({slug:"pricing",admin:{group:"Marketing Grids",description:"Tiered pricing plans with feature comparisons"},label:"Pricing Plans",fields:[{name:"title",type:"text",label:"Section Heading"},{name:"subtitle",type:"textarea",label:"Section Subtitle"},{name:"annualDiscount",type:"text",label:"Annual Promo Tag (e.g. Save 20%)"},{name:"plans",type:"array",label:"Pricing Plans",fields:[{name:"popularBadgeText",type:"text",label:"Plan Badge (e.g. MOST POPULAR)"},{name:"name",type:"text",label:"Plan Name"},{name:"description",type:"textarea",label:"Plan Description"},{name:"currency",type:"text",label:"Plan Currency (e.g. $)",defaultValue:"$"},{name:"price",type:"text",label:"Price (e.g. 29)"},{name:"billingPeriod",type:"text",label:"Billing Period (e.g. /mo)"},{name:"features",type:"list",label:"Features Checklist"},d,{name:"footnote",type:"text",label:"Footnote note (e.g. *cancel anytime)"},{name:"isFeatured",type:"checkbox",label:"Highlight Plan (Featured)",defaultValue:false}]}]}),Pe=a({slug:"team",admin:{group:"Marketing Grids",description:"Showcase of team members with photos and roles"},label:"Team Showcase",fields:[{name:"title",type:"text",label:"Section Heading"},{name:"subtitle",type:"textarea",label:"Section Subtitle"},{name:"members",type:"array",label:"Team Members",fields:[{name:"name",type:"text",label:"Member Name"},{name:"role",type:"text",label:"Role / Position"},{name:"department",type:"text",label:"Department / Team tag (e.g. engineering, design)"},{name:"avatar",type:"upload",label:"Avatar Image",relationTo:"media"},{name:"bio",type:"textarea",label:"Brief Bio"},{name:"twitterUrl",type:"text",label:"Twitter URL"},{name:"linkedinUrl",type:"text",label:"LinkedIn URL"},{name:"githubUrl",type:"text",label:"GitHub URL"},{name:"websiteUrl",type:"text",label:"Website URL"}]}]}),Ae=a({slug:"recentFeed",admin:{group:"Dynamic Content",description:"Hand-picked showcase of items"},label:"Hand-Picked Feed",fields:[{name:"title",type:"text",label:"Section Heading"},{name:"subtitle",type:"textarea",label:"Section Subtitle"},{name:"selectedItems",type:"relationship",label:"Feed Items",relationTo:"*",hasMany:true},d]}),Le=a({slug:"processSteps",admin:{group:"Lead Capture & Interactive",description:"Numbered sequence illustrating a process or workflow"},label:"Process Steps / Timeline",fields:[{name:"title",type:"text",label:"Section Heading"},{name:"subtitle",type:"textarea",label:"Section Subtitle"},{name:"steps",type:"array",label:"Steps",fields:[{name:"stepNumber",type:"text",label:"Step Number (e.g. 01)"},{name:"icon",type:"upload",label:"Step Icon / Image",relationTo:"media"},{name:"title",type:"text",label:"Step Title"},{name:"description",type:"textarea",label:"Description"}]}]}),Ge=a({slug:"formEmbed",admin:{group:"Lead Capture & Interactive",description:"Embeddable interactive forms for lead capture"},label:"Form Embed",fields:[{name:"title",type:"text",label:"Form Title"},{name:"subtitle",type:"textarea",label:"Form Subtitle"},{name:"form",type:"relationship",relationTo:"forms",label:"Form",required:true}]}),Ee=a({slug:"videoShowcase",admin:{group:"Structural Sections",description:"Cinematic video player with custom thumbnail"},label:"Cinematic Video Showcase",fields:[{name:"title",type:"text",label:"Section Heading"},{name:"subtitle",type:"textarea",label:"Section Subtitle"},{name:"coverImage",type:"upload",label:"Cinematic Cover Image (Thumbnail)",relationTo:"media"},{name:"videoUrl",type:"text",label:"Video Embed URL (YouTube / Vimeo / MP4)"},{name:"videoTitle",type:"text",label:"Video Title (for accessibility & hover text)"},{name:"durationBadge",type:"text",label:"Duration Badge (e.g. '\u25B6 2:34')"},{name:"isLightbox",type:"checkbox",label:"Open in Cinematic Lightbox Modal",defaultValue:true},{name:"autoplay",type:"checkbox",label:"Autoplay Video (muted)",defaultValue:false}]}),z=[ye,ge,fe,xe,Ce,Se,he,ve,Te,ke,Pe,Ae,Le,Ge,Ee];var W={slug:"pages",label:"Pages",labelPlural:"Pages",singularLabel:"Page",admin:{useAsTitle:"title",defaultColumns:["title","slug","status","updatedAt"],description:"Standard web pages"},seo:true,fields:[{name:"tabs",type:"tabs",tabs:[{label:"Content",fields:[{name:"title",type:"text",required:true,label:"Title",admin:{description:"The main title of the page as it will appear publicly."}},{name:"content",type:"blocks",label:"Content",blocks:z}]},{label:"Meta",fields:[]}]},{name:"slug",type:"text",required:true,label:"Slug",admin:{position:"sidebar",autoGenerate:"title"}},{name:"featuredImage",type:"upload",label:"Featured Image",relationTo:"media",admin:{position:"sidebar"}}],timestamps:true,versions:{drafts:true,maxPerDoc:10}},q={pages:W};var Y={slug:"categories",label:"Categories",labelPlural:"Categories",singularLabel:"Category",admin:{useAsTitle:"name",defaultColumns:["name","slug"],description:"Post categories",layout:"split"},fields:[{name:"name",type:"text",required:true,label:"Name"},{name:"description",type:"textarea",label:"Description"},{name:"slug",type:"text",required:true,label:"Slug",admin:{position:"sidebar",autoGenerate:"name"}},{name:"icon",type:"upload",label:"Icon",relationTo:"media",admin:{position:"sidebar"}},{name:"parent",type:"relationship",label:"Parent Category",relationTo:"categories",admin:{position:"sidebar"}},{name:"order",type:"number",label:"Order",defaultValue:0,admin:{position:"sidebar"}}],timestamps:true,versions:{drafts:true,maxPerDoc:5}},F={categories:Y},X={slug:"product-categories",label:"Product Categories",labelPlural:"Product Categories",singularLabel:"Product Category",admin:{useAsTitle:"name",defaultColumns:["name","slug"],description:"Product categories for organizing your catalog"},fields:[{name:"name",type:"text",required:true,label:"Name"},{name:"slug",type:"text",required:true,label:"Slug",admin:{position:"sidebar",autoGenerate:"name"}},{name:"description",type:"textarea",label:"Description"},{name:"image",type:"text",label:"Image URL"},{name:"parent",type:"relationship",label:"Parent Category",relationTo:"product-categories",admin:{position:"sidebar"}}],timestamps:true,versions:{drafts:true,maxPerDoc:5}},T={"product-categories":X};var J={slug:"products",label:"Products",labelPlural:"Products",singularLabel:"Product",admin:{useAsTitle:"title",defaultColumns:["title","slug","price","inventory"],description:"E-commerce products"},seo:true,fields:[{name:"tabs",type:"tabs",tabs:[{label:"Content",fields:[{name:"title",type:"text",required:true,label:"Title"},{name:"description",type:"richtext",label:"Description"}]},{label:"Inventory & Pricing",fields:[{name:"price",type:"number",required:true,label:"Price"},{name:"compareAtPrice",type:"number",label:"Compare at Price",admin:{description:"Original price for sale display"}},{name:"costPrice",type:"number",label:"Cost Price",admin:{description:"For profit calculation"}},{name:"sku",type:"text",required:true,label:"SKU"},{name:"barcode",type:"text",label:"Barcode"},{name:"inventory",type:"number",label:"Inventory",defaultValue:0},{name:"images",type:"array",label:"Images",fields:[{name:"url",type:"text",label:"URL"},{name:"alt",type:"text",label:"Alt Text"}]},{name:"category",type:"relationship",label:"Category",relationTo:"product-categories"}]}]},{name:"slug",type:"text",required:true,label:"Slug",admin:{position:"sidebar",autoGenerate:"title"}}],timestamps:true,versions:{drafts:true}},k={products:J};var _={slug:"customers",label:"Customers",labelPlural:"Customers",singularLabel:"Customer",admin:{useAsTitle:"email",defaultColumns:["email","firstName","lastName","createdAt","updatedAt"],description:"Customer accounts"},fields:[{name:"email",type:"email",required:true,label:"Email"},{name:"firstName",type:"text",label:"First Name"},{name:"lastName",type:"text",label:"Last Name"},{name:"phone",type:"text",label:"Phone"},{name:"addresses",type:"array",label:"Addresses",fields:[{name:"type",type:"text",label:"Type"},{name:"line1",type:"text",label:"Address Line 1"},{name:"line2",type:"text",label:"Address Line 2"},{name:"city",type:"text",label:"City"},{name:"state",type:"text",label:"State"},{name:"postalCode",type:"text",label:"Postal Code"},{name:"country",type:"text",label:"Country"}]},{name:"slug",type:"text",required:true,label:"Slug",admin:{position:"sidebar",autoGenerate:"email"}}],timestamps:true,versions:{drafts:true,maxPerDoc:5}},P={customers:_};var Q={slug:"orders",label:"Orders",labelPlural:"Orders",singularLabel:"Order",admin:{useAsTitle:"orderNumber",defaultColumns:["orderNumber","customer","status","total","createdAt","updatedAt"],description:"Customer orders"},fields:[{name:"orderNumber",type:"text",required:true,label:"Order Number"},{name:"customer",type:"relationship",required:true,label:"Customer",relationTo:"customers"},{name:"paymentStatus",type:"select",label:"Payment Status",options:[{label:"Pending",value:"pending"},{label:"Paid",value:"paid"},{label:"Failed",value:"failed"},{label:"Refunded",value:"refunded"}],defaultValue:"pending"},{name:"items",type:"array",label:"Items",fields:[{name:"product",type:"text",label:"Product"},{name:"quantity",type:"number",label:"Quantity"},{name:"unitPrice",type:"number",label:"Unit Price"},{name:"total",type:"number",label:"Total"}]},{name:"subtotal",type:"number",required:true,label:"Subtotal"},{name:"tax",type:"number",label:"Tax"},{name:"shipping",type:"number",label:"Shipping"},{name:"discount",type:"number",label:"Discount"},{name:"total",type:"number",required:true,label:"Total"},{name:"notes",type:"richtext",label:"Notes"},{name:"slug",type:"text",required:true,label:"Slug",admin:{position:"sidebar",autoGenerate:"orderNumber"}}],timestamps:true,versions:{drafts:true,maxPerDoc:10}},A={orders:Q};var $={slug:"coupons",label:"Coupons",labelPlural:"Coupons",singularLabel:"Coupon",admin:{useAsTitle:"code",defaultColumns:["code","type","value","active","expiresAt"],description:"Discount codes and promotions"},fields:[{name:"code",type:"text",required:true,label:"Code"},{name:"type",type:"select",required:true,label:"Type",options:[{label:"Percentage",value:"percentage"},{label:"Fixed Amount",value:"fixed"},{label:"Free Shipping",value:"freeShipping"}]},{name:"value",type:"number",label:"Value"},{name:"minPurchase",type:"number",label:"Minimum Purchase"},{name:"maxDiscount",type:"number",label:"Max Discount"},{name:"usageLimit",type:"number",label:"Usage Limit"},{name:"usedCount",type:"number",defaultValue:0,label:"Used Count"},{name:"startsAt",type:"date",label:"Starts At"},{name:"expiresAt",type:"date",label:"Expires At"},{name:"active",type:"checkbox",defaultValue:true,label:"Active"}],timestamps:true,versions:{drafts:true,maxPerDoc:5}},L={coupons:$};var Z={slug:"forms",label:"Forms",labelPlural:"Forms",singularLabel:"Form",admin:{useAsTitle:"name",defaultColumns:["name","slug","updatedAt"],description:"Reusable form definitions"},fields:[{name:"name",type:"text",required:true,label:"Name"},{name:"subtitle",type:"textarea",label:"Subtitle"},{name:"slug",type:"text",required:true,label:"Slug",admin:{position:"sidebar",autoGenerate:"name"}},{name:"submitButtonText",type:"text",label:"Submit Button Text",defaultValue:"Submit",admin:{position:"sidebar"}},{name:"consentCheckboxText",type:"text",label:"Consent Agreement label (e.g. I agree to terms)",admin:{position:"sidebar"}},{name:"redirectUrl",type:"text",label:"Success Redirect URL",admin:{position:"sidebar"}},{name:"fields",type:"array",label:"Form Fields",fields:[{name:"fieldName",type:"text",label:"Field API Name (e.g. company)"},{name:"inputType",type:"select",label:"Input Type",defaultValue:"text",options:[{label:"Text input",value:"text"},{label:"Email input",value:"email"},{label:"Phone number input",value:"tel"},{label:"Multi-line textarea",value:"textarea"},{label:"Checkbox selector",value:"checkbox"}]},{name:"placeholder",type:"text",label:"Input Placeholder Text"},{name:"isRequired",type:"checkbox",label:"Make this field required",defaultValue:false}]},{name:"entries",type:"relationship",relationTo:"form-entries",hasMany:true,label:"Entries",admin:{description:"Form submissions linked to this form."}}],timestamps:true,versions:{drafts:true,maxPerDoc:5}},O={forms:Z};var ee={slug:"form-entries",label:"Form Entries",labelPlural:"Form Entries",singularLabel:"Form Entry",admin:{useAsTitle:"id",defaultColumns:["id","form","createdAt","ipAddress"],description:"Form submission entries"},access:{create:()=>true},fields:[{name:"form",type:"relationship",relationTo:"forms",required:true,label:"Form",admin:{position:"sidebar",readOnly:true,description:"The form this entry belongs to."}},{name:"data",type:"json",label:"Submitted Data",admin:{readOnly:true,description:"All field values submitted with this entry."}},{name:"ipAddress",type:"text",label:"IP Address",admin:{position:"sidebar",readOnly:true,description:"The IP address of the submitter."}}],timestamps:true},U={"form-entries":ee};var n={slug:"site-settings",label:"Site Settings",admin:{group:"settings"},access:{read:()=>true,update:()=>true},fields:[{name:"siteName",type:"text",label:"Site Name",required:true,admin:{}},{name:"siteDescription",type:"textarea",label:"Site Description",admin:{placeholder:"Enter a brief description of your site for SEO and search results."}},{name:"siteUrl",type:"text",label:"Site URL",admin:{}},{name:"maintenanceEnabled",type:"checkbox",label:"Enable Maintenance Mode",defaultValue:false,admin:{description:"When enabled, the public site will show a maintenance page."}},{name:"maintenance",type:"group",label:"Maintenance Configuration",admin:{condition:e=>e.maintenanceEnabled===true},fields:[{name:"message",type:"textarea",label:"Maintenance Message",admin:{placeholder:"We'll be back soon! We're performing scheduled maintenance."}},{name:"bypassToken",type:"text",label:"Bypass Token",admin:{description:"Append ?bypass=YOUR_TOKEN to URL to view the site while in maintenance mode."}}]},{name:"enableI18n",type:"checkbox",label:"Enable Internationalization (i18n)",defaultValue:false,admin:{description:"Enable support for multiple languages."}},{name:"i18n",type:"group",label:"Localization",admin:{condition:e=>e.enableI18n===true},fields:[{name:"language",type:"select",label:"Default Language",defaultValue:"en",options:[{label:"English",value:"en"},{label:"Spanish",value:"es"},{label:"French",value:"fr"},{label:"German",value:"de"},{label:"Portuguese",value:"pt"},{label:"Italian",value:"it"},{label:"Dutch",value:"nl"},{label:"Russian",value:"ru"},{label:"Japanese",value:"ja"},{label:"Chinese",value:"zh"},{label:"Korean",value:"ko"},{label:"Arabic",value:"ar"}]},{name:"timezone",type:"text",label:"Timezone",defaultValue:"UTC"}]},{name:"analyticsEnabled",type:"checkbox",label:"Enable Analytics & Tracking",defaultValue:false},{name:"analytics",type:"group",label:"Tracking Configurations",admin:{condition:e=>e.analyticsEnabled===true},fields:[{name:"googleAnalyticsId",type:"text",label:"Google Analytics ID"},{name:"googleTagManagerId",type:"text",label:"Google Tag Manager ID"},{name:"plausibleDomain",type:"text",label:"Plausible Domain"},{name:"mixpanelToken",type:"password",label:"Mixpanel Token"}]},{name:"mapApiKey",type:"password",label:"Map API Key",admin:{description:"API Key for Map Integrations (Google Maps, Mapbox, etc.)"}},{name:"headerBlocks",type:"blocks",label:"Header Elements",blocks:[{slug:"text",label:"Text Paragraph",fields:[{name:"text",type:"text",label:"Text Content",required:true}]},{slug:"textarea",label:"Text Area",fields:[{name:"text",type:"textarea",label:"Text Content",required:true}]},{slug:"form",label:"Form Selection",fields:[{name:"form",type:"relationship",label:"Select Form",relationTo:"forms",required:true}]},{slug:"button",label:"Button Link",fields:[{name:"label",type:"text",label:"Button Label",required:true},{name:"url",type:"text",label:"URL",required:true}]},{slug:"image",label:"Image Upload",fields:[{name:"image",type:"upload",label:"Image",relationTo:"media"},{name:"alt",type:"text",label:"Alt Text"},{name:"linkUrl",type:"text",label:"Link URL"}]}]},{name:"footerBlocks",type:"blocks",label:"Footer Elements",blocks:[{slug:"text",label:"Text Paragraph",fields:[{name:"text",type:"text",label:"Text Content",required:true}]},{slug:"textarea",label:"Text Area",fields:[{name:"text",type:"textarea",label:"Text Content",required:true}]},{slug:"form",label:"Form Selection",fields:[{name:"form",type:"relationship",label:"Select Form",relationTo:"forms",required:true}]},{slug:"button",label:"Button Link",fields:[{name:"label",type:"text",label:"Button Label",required:true},{name:"url",type:"text",label:"URL",required:true}]},{slug:"image",label:"Image Upload",fields:[{name:"image",type:"upload",label:"Image",relationTo:"media"},{name:"alt",type:"text",label:"Alt Text"},{name:"linkUrl",type:"text",label:"Link URL"}]}]}]};var o={slug:"seo-settings",label:"SEO Settings",admin:{group:"settings"},access:{read:()=>true,update:()=>true},fields:[{name:"seoMode",type:"select",label:"Visibility Mode",defaultValue:"simple",options:[{label:"Simple (Basic Meta)",value:"simple"},{label:"Advanced (Full Technical SEO)",value:"advanced"}],admin:{description:"Switch to advanced mode to control robots.txt, canonical URLs, and deep metadata."}},{name:"defaultTitle",type:"text",label:"Default Title",admin:{}},{name:"defaultDescription",type:"textarea",label:"Default Description",admin:{}},{name:"defaultOgImage",type:"upload",label:"Default OG Image",relationTo:"media"},{name:"titleTemplate",type:"text",label:"Title Template",defaultValue:"{{title}} | {{siteName}}",admin:{}},{name:"siteNameInTitle",type:"checkbox",label:"Include Site Name in Title",defaultValue:true},{name:"separator",type:"text",label:"Title Separator",defaultValue:" | ",admin:{}},{name:"meta",type:"group",label:"Technical Meta Settings",admin:{condition:e=>e.seoMode==="advanced"},fields:[{name:"robots",type:"text",label:"Robots Meta",defaultValue:"index, follow"},{name:"canonicalUrl",type:"text",label:"Canonical URL"},{name:"ogType",type:"select",label:"Default OG Type",defaultValue:"website",options:[{label:"Website",value:"website"},{label:"Article",value:"article"},{label:"Product",value:"product"},{label:"Book",value:"book"},{label:"Music",value:"music"},{label:"Video",value:"video"}]}]},{name:"enableSitemap",type:"checkbox",label:"Enable XML Sitemap",defaultValue:true},{name:"sitemap",type:"group",label:"Sitemap Configuration",admin:{condition:e=>e.enableSitemap===true&&e.seoMode==="advanced"},fields:[{name:"sitemapUrls",type:"number",label:"Sitemap URL Limit",defaultValue:5e4}]},{name:"robotsTxt",type:"textarea",label:"Custom robots.txt",admin:{condition:e=>e.seoMode==="advanced"}},{name:"social",type:"group",label:"Social Media",fields:[{name:"twitterHandle",type:"text",label:"Twitter/X Handle",admin:{}},{name:"twitterCardType",type:"select",label:"Twitter Card Type",defaultValue:"summary_large_image",options:[{label:"Summary",value:"summary"},{label:"Summary with Large Image",value:"summary_large_image"},{label:"App",value:"app"},{label:"Player",value:"player"}]},{name:"fbAppId",type:"text",label:"Facebook App ID"}]},{name:"advanced",type:"group",label:"Advanced",fields:[{name:"jsonLdEnabled",type:"checkbox",label:"Enable JSON-LD",defaultValue:true,admin:{}},{name:"breadcrumbsEnabled",type:"checkbox",label:"Enable Breadcrumbs",defaultValue:true},{name:"paginationSize",type:"number",label:"Default Pagination Size",defaultValue:10}]}]};var r={slug:"brand-settings",label:"Brand Settings",admin:{group:"settings",description:"Manage global brand identity, logos, contact information, and social links."},access:{read:()=>true,update:()=>true},fields:[{name:"identity",type:"group",label:"Brand Identity",fields:[{name:"primaryLogo",type:"upload",label:"Primary Logo",relationTo:"media"},{name:"darkLogo",type:"upload",label:"Dark Logo (Optional)",relationTo:"media",admin:{description:"Used for dark mode layouts."}},{name:"favicon",type:"upload",label:"Favicon",relationTo:"media"}]},{name:"companyInfo",type:"group",label:"Contact & Company Information",fields:[{name:"companyName",type:"text",label:"Company Name"},{name:"address",type:"textarea",label:"Physical Address"},{name:"phone",type:"text",label:"Phone Number"},{name:"email",type:"text",label:"Public Email Address"}]},{name:"businessHours",type:"array",label:"Business Hours",fields:[{name:"day",type:"text",label:"Day / Range",admin:{description:"e.g., Mon - Fri"}},{name:"hours",type:"text",label:"Hours",admin:{description:"e.g., 9:00 AM - 5:00 PM"}}]},{name:"socialLinks",type:"array",label:"Social Media Profiles",fields:[{name:"platform",type:"select",label:"Platform",options:[{label:"Facebook",value:"facebook"},{label:"Twitter / X",value:"twitter"},{label:"Instagram",value:"instagram"},{label:"LinkedIn",value:"linkedin"},{label:"YouTube",value:"youtube"},{label:"TikTok",value:"tiktok"},{label:"GitHub",value:"github"},{label:"Other",value:"other"}]},{name:"url",type:"text",label:"Profile URL"}]}]};var m={slug:"email-settings",label:"Email Settings",admin:{group:"settings"},access:{read:()=>true,update:()=>true},fields:[{name:"fromName",type:"text",label:"From Name",admin:{}},{name:"fromEmail",type:"email",label:"From Email",required:true,admin:{}},{name:"replyTo",type:"email",label:"Reply-To Email",admin:{}},{name:"provider",type:"select",label:"Email Provider",defaultValue:"smtp",options:[{label:"SMTP (Standard)",value:"smtp"},{label:"Resend",value:"resend"},{label:"SendGrid",value:"sendgrid"},{label:"Mailgun",value:"mailgun"},{label:"AWS SES",value:"ses"}]},{name:"smtp",type:"group",label:"SMTP Settings",admin:{condition:e=>e.provider==="smtp"},fields:[{name:"smtpService",type:"select",label:"SMTP Service",defaultValue:"custom",options:[{label:"Custom SMTP",value:"custom"},{label:"Gmail",value:"gmail"},{label:"Outlook / Office 365",value:"outlook"},{label:"Brevo (Sendinblue)",value:"brevo"},{label:"Mailgun (SMTP)",value:"mailgun-smtp"},{label:"SendGrid (SMTP)",value:"sendgrid-smtp"},{label:"Mandrill / Mailchimp",value:"mandrill"}],admin:{description:"Selecting a known service will pre-configure host and port settings."}},{name:"host",type:"text",label:"Host",admin:{condition:(e,t)=>t.smtpService==="custom",placeholder:"smtp.example.com"}},{name:"port",type:"number",label:"Port",defaultValue:587,admin:{condition:(e,t)=>t.smtpService==="custom"}},{name:"username",type:"text",label:"Username"},{name:"password",type:"password",label:"Password"},{name:"secure",type:"checkbox",label:"Use TLS/SSL",defaultValue:true}]},{name:"resend",type:"group",label:"Resend Settings",admin:{condition:e=>e.provider==="resend"},fields:[{name:"apiKey",type:"password",label:"API Key",required:true}]},{name:"sendgrid",type:"group",label:"SendGrid Settings",admin:{condition:e=>e.provider==="sendgrid"},fields:[{name:"apiKey",type:"password",label:"API Key",required:true}]},{name:"mailgun",type:"group",label:"Mailgun Settings",admin:{condition:e=>e.provider==="mailgun"},fields:[{name:"apiKey",type:"password",label:"API Key",required:true},{name:"domain",type:"text",label:"Domain",required:true},{name:"region",type:"select",label:"Region",defaultValue:"us",options:[{label:"US (United States)",value:"us"},{label:"EU (Europe)",value:"eu"}]}]},{name:"ses",type:"group",label:"AWS SES Settings",admin:{condition:e=>e.provider==="ses"},fields:[{name:"accessKeyId",type:"text",label:"Access Key ID",required:true},{name:"secretAccessKey",type:"password",label:"Secret Access Key",required:true},{name:"region",type:"text",label:"Region",defaultValue:"us-east-1",admin:{placeholder:"us-east-1"}}]},{name:"testEmailSection",type:"row",label:"Test Email",admin:{description:"Enter an email address to send a test email."},fields:[{name:"testEmail",type:"email",label:"Email",admin:{width:"300px"}},{name:"sendTestEmail",type:"action",label:"Send Test Email",admin:{action:"/api/globals/email-settings/test",method:"POST"}}]}]};var p={slug:"access-settings",label:"Access Control",admin:{group:"settings"},access:{read:()=>true,update:()=>true},fields:[{name:"enablePublicAccess",type:"checkbox",label:"Enable Public Access",defaultValue:true,admin:{}},{name:"defaultCollectionAccess",type:"select",label:"Default Collection Access",defaultValue:"read",options:[{label:"Read Only",value:"read"},{label:"Read & Create",value:"create"},{label:"Read & Create & Update",value:"update"},{label:"Full Access",value:"admin"},{label:"No Access",value:"none"}],admin:{}},{name:"apiAccess",type:"group",label:"API Access",fields:[{name:"graphqlEnabled",type:"checkbox",label:"Enable GraphQL",defaultValue:false},{name:"trpcEnabled",type:"checkbox",label:"Enable tRPC",defaultValue:false},{name:"wsEnabled",type:"checkbox",label:"Enable WebSocket",defaultValue:false},{name:"requireAuth",type:"checkbox",label:"Require Authentication",defaultValue:false},{name:"cors",type:"group",label:"CORS Settings",admin:{condition:e=>e.apiAccess?.graphqlEnabled===true},fields:[{name:"allowedOrigins",type:"textarea",label:"Allowed Origins (one per line)",admin:{placeholder:`https://example.com
2
- https://app.example.com`}}]}]},{name:"rateLimiting",type:"group",label:"Rate Limiting Configuration",admin:{condition:e=>e.rateLimiting?.enabled===true},fields:[{name:"enabled",type:"checkbox",label:"Enable Global Rate Limiting",defaultValue:true},{name:"maxRequests",type:"number",label:"Max Requests",defaultValue:100,admin:{condition:(e,t)=>t.enabled===true}},{name:"windowMs",type:"number",label:"Window (ms)",defaultValue:6e4,admin:{condition:(e,t)=>t.enabled===true}}]}]};var Ie=[{label:"United States",value:"US"},{label:"United Kingdom",value:"GB"},{label:"Canada",value:"CA"},{label:"Australia",value:"AU"},{label:"Germany",value:"DE"},{label:"France",value:"FR"},{label:"Netherlands",value:"NL"},{label:"Belgium",value:"BE"},{label:"Spain",value:"ES"},{label:"Italy",value:"IT"},{label:"Portugal",value:"PT"},{label:"Sweden",value:"SE"},{label:"Norway",value:"NO"},{label:"Denmark",value:"DK"},{label:"Finland",value:"FI"},{label:"Austria",value:"AT"},{label:"Switzerland",value:"CH"},{label:"Japan",value:"JP"},{label:"South Korea",value:"KR"},{label:"China",value:"CN"},{label:"India",value:"IN"},{label:"Brazil",value:"BR"},{label:"Mexico",value:"MX"}],c={slug:"store-settings",label:"Store Settings",admin:{group:"settings"},access:{read:()=>true,update:()=>true},fields:[{name:"storeName",type:"text",label:"Store Name",required:true},{name:"storeEmail",type:"email",label:"Contact Email",required:true},{name:"storePhone",type:"text",label:"Phone Number"},{name:"address",type:"group",label:"Store Address",fields:[{name:"street",type:"text",label:"Street Address"},{name:"city",type:"text",label:"City"},{name:"state",type:"text",label:"State/Province"},{name:"postalCode",type:"text",label:"Postal Code"},{name:"country",type:"select",label:"Country",options:Ie}]},{name:"currency",type:"group",label:"Currency",fields:[{name:"code",type:"select",label:"Currency Code",defaultValue:"USD",options:[{label:"USD - US Dollar",value:"USD"},{label:"EUR - Euro",value:"EUR"},{label:"GBP - British Pound",value:"GBP"},{label:"CAD - Canadian Dollar",value:"CAD"},{label:"AUD - Australian Dollar",value:"AUD"},{label:"JPY - Japanese Yen",value:"JPY"},{label:"CNY - Chinese Yuan",value:"CNY"},{label:"INR - Indian Rupee",value:"INR"},{label:"BRL - Brazilian Real",value:"BRL"},{label:"MXN - Mexican Peso",value:"MXN"}]},{name:"symbol",type:"text",label:"Symbol",defaultValue:"$"},{name:"position",type:"select",label:"Symbol Position",defaultValue:"before",options:[{label:"Before amount",value:"before"},{label:"After amount",value:"after"}]},{name:"decimals",type:"number",label:"Decimal Places",defaultValue:2}]},{name:"tax",type:"group",label:"Tax Logistics",admin:{condition:e=>e.tax?.enabled===true},fields:[{name:"enabled",type:"checkbox",label:"Enable Tax",defaultValue:true},{name:"rate",type:"number",label:"Tax Rate (%)",admin:{placeholder:"10",condition:(e,t)=>t.enabled===true}},{name:"includedInPrice",type:"checkbox",label:"Tax Included in Prices",admin:{condition:(e,t)=>t.enabled===true}},{name:"taxId",type:"text",label:"Tax ID / VAT Number",admin:{condition:(e,t)=>t.enabled===true}}]},{name:"shipping",type:"group",label:"Shipping Logic",admin:{condition:e=>e.shipping?.enableLocalPickup===true||e.shipping?.flatRate>0},fields:[{name:"enableLocalPickup",type:"checkbox",label:"Enable Local Pickup",defaultValue:true},{name:"flatRate",type:"number",label:"Flat Rate Shipping Fee",admin:{}},{name:"freeShippingThreshold",type:"number",label:"Free Shipping Minimum",admin:{condition:(e,t)=>t.flatRate>0}}]},{name:"orders",type:"group",label:"Orders",fields:[{name:"orderNumberPrefix",type:"text",label:"Order Number Prefix",defaultValue:"ORD",admin:{}},{name:"allowGuestCheckout",type:"checkbox",label:"Allow Guest Checkout",defaultValue:true},{name:"requirePhone",type:"checkbox",label:"Require Phone Number",defaultValue:true}]}]};var b={slug:"payment-settings",label:"Payment Settings",admin:{group:"settings"},access:{read:()=>true,update:()=>true},fields:[{name:"testMode",type:"checkbox",label:"Test Mode",defaultValue:true,admin:{}},{name:"provider",type:"select",label:"Primary Payment Provider",defaultValue:"stripe",options:[{label:"Stripe",value:"stripe"},{label:"PayPal",value:"paypal"},{label:"Square",value:"square"},{label:"Manual Methods Only",value:"manual"}]},{name:"stripe",type:"group",label:"Stripe",admin:{condition:e=>e.provider==="stripe"},fields:[{name:"enabled",type:"checkbox",label:"Enable Stripe",defaultValue:false},{name:"publishableKey",type:"text",label:"Publishable Key",admin:{placeholder:"pk_live_..."}},{name:"secretKey",type:"password",label:"Secret Key"},{name:"webhookSecret",type:"password",label:"Webhook Secret",admin:{}}]},{name:"paypal",type:"group",label:"PayPal",admin:{condition:e=>e.provider==="paypal"},fields:[{name:"enabled",type:"checkbox",label:"Enable PayPal",defaultValue:false},{name:"clientId",type:"text",label:"Client ID"},{name:"clientSecret",type:"password",label:"Client Secret"},{name:"mode",type:"select",label:"Mode",defaultValue:"sandbox",options:[{label:"Sandbox (Test)",value:"sandbox"},{label:"Live",value:"live"}]}]},{name:"square",type:"group",label:"Square",admin:{condition:e=>e.provider==="square"},fields:[{name:"enabled",type:"checkbox",label:"Enable Square",defaultValue:false},{name:"applicationId",type:"text",label:"Application ID"},{name:"accessToken",type:"password",label:"Access Token"},{name:"locationId",type:"text",label:"Location ID"}]},{name:"methods",type:"group",label:"Manual Payment Methods",fields:[{name:"cod",type:"checkbox",label:"Cash on Delivery",defaultValue:true},{name:"bankTransfer",type:"checkbox",label:"Bank Transfer",defaultValue:true},{name:"cash",type:"checkbox",label:"Cash (Local Pickup)",defaultValue:true},{name:"check",type:"checkbox",label:"Check",defaultValue:false}]},{name:"bankTransfer",type:"group",label:"Bank Transfer Details",admin:{},fields:[{name:"bankName",type:"text",label:"Bank Name"},{name:"accountName",type:"text",label:"Account Name"},{name:"accountNumber",type:"text",label:"Account Number"},{name:"routingNumber",type:"text",label:"Routing/Sort Code"},{name:"iban",type:"text",label:"IBAN"},{name:"swift",type:"text",label:"SWIFT/BIC"}]}]};var u={slug:"system",label:"System",admin:{group:"settings",description:"Core system configuration and secrets"},access:{read:()=>true,update:()=>true},fields:[{name:"appSecret",type:"secret",label:"App Secret",required:false,admin:{description:"Auto-generated master secret used for encryption and auth. Auto-created if empty on load.",readOnly:true}},{name:"encryptionKey",type:"text",label:"Encryption Key",required:false,admin:{description:"Auto-generated key for data encryption at rest.",readOnly:true}},{name:"sessionMaxAge",type:"number",label:"Session Max Age (days)",required:false,defaultValue:7,admin:{description:"Maximum session duration in days"}},{name:"maxSessionsPerUser",type:"number",label:"Max Sessions Per User",required:false,defaultValue:3,admin:{description:"Maximum concurrent sessions allowed per user"}}]};var G=[n,o,r,m,a$1,p,c,b,u],y=[n,o,r,m,a$1,p,u],w={[n.slug]:n,[o.slug]:o,[r.slug]:r,[m.slug]:m,[a$1.slug]:a$1,[p.slug]:p,[c.slug]:c,[b.slug]:b,[u.slug]:u};function D(e){switch(e){case "minimal":return [n,o,r];case "starter":case "blog":return y;case "ecommerce":case "kitchen-sink":return G;default:return y}}function g(e){let t=new Map;for(let l of e)t.has(l.slug)||t.set(l.slug,l);return Array.from(t.values())}var te=[...Object.values(V),...Object.values(q),...Object.values(F),...Object.values(O),...Object.values(U)],E=[...te,...v,...Object.values(b$1),...Object.values(B)],ta={minimal:g([...Object.values(x),...te]),starter:g([...Object.values(C),...E]),blog:g([...Object.values(S),...E]),ecommerce:g([...Object.values(h),...Object.values(k),...Object.values(P),...Object.values(A),...Object.values(L),...Object.values(T),...E]),"kitchen-sink":g([...Object.values(x),...Object.values(C),...Object.values(S),...Object.values(h),...Object.values(R),...Object.values(k),...Object.values(P),...Object.values(A),...Object.values(L),...Object.values(T),...E])};function la(e){let t=e.collections?[...e.collections]:[],l=e.globals?[...e.globals]:[];e.includeMedia!==false&&t.push(...v);let I=e.template?D(e.template):y;if(e.includeSettings){if(e.includeSettings==="all")l.push(...G);else if(e.includeSettings==="core")l.push(...y);else if(Array.isArray(e.includeSettings))for(let i of e.includeSettings){let f=w[i];f&&l.push(f);}}else (!e.globals||e.globals.length===0)&&l.push(...I);if(e.excludeSettings&&e.excludeSettings.length>0){let i=new Set(e.excludeSettings),f=l.filter(N=>!i.has(N.slug)&&!i.has(N.label?.toLowerCase().replace(/\s+/g,"-")||""));l.length=0,l.push(...f);}return {collections:t.length>0?t:void 0,globals:l.length>0?l:void 0}}
3
- export{L as A,Z as B,O as C,ee as D,U as E,n as F,o as G,r as H,m as I,p as J,c as K,b as L,u as M,G as N,y as O,w as P,D as Q,ta as R,la as S,x as a,C as b,S as c,ae as d,h as e,le as f,R as g,j as h,v as i,H as j,B as k,K as l,V as m,W as n,q as o,Y as p,F as q,X as r,T as s,J as t,k as u,_ as v,P as w,Q as x,A as y,$ as z};