@kyro-cms/core 0.13.0 → 0.13.2

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 (84) hide show
  1. package/README.md +145 -77
  2. package/dist/WebhookService-BOJMgjBm.d.cts +143 -0
  3. package/dist/WebhookService-CFe6Zd0_.d.cts +143 -0
  4. package/dist/WebhookService-CGxHtw7E.d.cts +143 -0
  5. package/dist/WebhookService-CNC1lYz7.d.ts +143 -0
  6. package/dist/WebhookService-CVXmjbtQ.d.cts +143 -0
  7. package/dist/WebhookService-Dk1lzSrG.d.cts +143 -0
  8. package/dist/WebhookService-I6hdue2Y.d.ts +143 -0
  9. package/dist/WebhookService-KnQ2UDlW.d.ts +143 -0
  10. package/dist/WebhookService-fk0FGRlk.d.ts +143 -0
  11. package/dist/WebhookService-vsFnWrOh.d.ts +143 -0
  12. package/dist/api-handler-graphql.cjs +1 -1
  13. package/dist/api-handler-graphql.js +1 -1
  14. package/dist/api-handler-trpc.cjs +1 -1
  15. package/dist/api-handler-trpc.js +1 -1
  16. package/dist/api-handler.cjs +1 -1
  17. package/dist/api-handler.js +1 -1
  18. package/dist/base-B-i-tjm1.d.ts +218 -0
  19. package/dist/base-B-siit_y.d.cts +218 -0
  20. package/dist/base-B8SyZI4D.d.ts +218 -0
  21. package/dist/base-BCgFt3Yx.d.ts +218 -0
  22. package/dist/base-BHRGJ40F.d.cts +218 -0
  23. package/dist/base-BaOJ5uWd.d.cts +218 -0
  24. package/dist/base-BfPaVEAE.d.cts +218 -0
  25. package/dist/base-BxrX5EPU.d.cts +218 -0
  26. package/dist/base-CcZIEll-.d.ts +218 -0
  27. package/dist/base-OYfoYPYP.d.ts +218 -0
  28. package/dist/chunk-E4H3ZZ7U.js +4 -0
  29. package/dist/chunk-FDKU7HJX.js +2 -0
  30. package/dist/chunk-GV2IB4WQ.cjs +56 -0
  31. package/dist/chunk-JZ7Z6WC2.cjs +3 -0
  32. package/dist/chunk-MFNN5DYG.cjs +1 -0
  33. package/dist/chunk-SMQ6736Y.js +57 -0
  34. package/dist/client.cjs +11 -11
  35. package/dist/client.d.cts +18 -1
  36. package/dist/client.d.ts +18 -1
  37. package/dist/client.js +11 -11
  38. package/dist/drizzle/index.d.cts +3 -3
  39. package/dist/drizzle/index.d.ts +3 -3
  40. package/dist/fields/index.d.cts +2 -2
  41. package/dist/fields/index.d.ts +2 -2
  42. package/dist/graphql/index.d.cts +3 -3
  43. package/dist/graphql/index.d.ts +3 -3
  44. package/dist/index-8Ino7vKq.d.ts +105 -0
  45. package/dist/index-ByOM1Y5x.d.ts +105 -0
  46. package/dist/index-C6xmtRio.d.cts +105 -0
  47. package/dist/index-CTI3K_uq.d.cts +105 -0
  48. package/dist/index-CTL4zv_u.d.ts +105 -0
  49. package/dist/index-CaDbioSg.d.ts +105 -0
  50. package/dist/index-DS3DpJli.d.cts +105 -0
  51. package/dist/index-NGnJpSgf.d.ts +105 -0
  52. package/dist/index-Zrg3sZ6R.d.cts +105 -0
  53. package/dist/index-rm7uyOK1.d.cts +105 -0
  54. package/dist/index.cjs +3 -3
  55. package/dist/index.d.cts +10 -10
  56. package/dist/index.d.ts +10 -10
  57. package/dist/index.js +1 -1
  58. package/dist/mongodb/index.d.cts +3 -3
  59. package/dist/mongodb/index.d.ts +3 -3
  60. package/dist/rest/index.d.cts +4 -4
  61. package/dist/rest/index.d.ts +4 -4
  62. package/dist/templates/index.cjs +1 -1
  63. package/dist/templates/index.d.cts +2 -2
  64. package/dist/templates/index.d.ts +2 -2
  65. package/dist/templates/index.js +1 -1
  66. package/dist/trpc/index.d.cts +3 -3
  67. package/dist/trpc/index.d.ts +3 -3
  68. package/dist/types-6ShQp2EM.d.cts +839 -0
  69. package/dist/types-B9oXBEKI.d.cts +330 -0
  70. package/dist/types-B9oXBEKI.d.ts +330 -0
  71. package/dist/types-BCOhfwHC.d.ts +839 -0
  72. package/dist/types-BRDBNacn.d.ts +839 -0
  73. package/dist/types-C8yIAV6K.d.cts +839 -0
  74. package/dist/types-CORUQhY-.d.ts +839 -0
  75. package/dist/types-Cdssrcbz.d.cts +839 -0
  76. package/dist/types-CjGqxBd3.d.cts +330 -0
  77. package/dist/types-CjGqxBd3.d.ts +330 -0
  78. package/dist/types-DBGR-eQl.d.cts +839 -0
  79. package/dist/types-DxaK39ix.d.cts +330 -0
  80. package/dist/types-DxaK39ix.d.ts +330 -0
  81. package/dist/types-IeKFn7Ky.d.ts +839 -0
  82. package/dist/types-QglJ7PwT.d.cts +839 -0
  83. package/dist/types-zt5qIvje.d.ts +839 -0
  84. package/package.json +1 -1
package/dist/client.cjs CHANGED
@@ -87,23 +87,23 @@
87
87
  border-radius: 0.25rem;
88
88
  padding: 0.125rem 0.25rem;
89
89
  }
90
- `.trim(),K=[M__default.default,N__default.default.configure({openOnClick:false}),V__default.default,___default.default.configure({types:["heading","paragraph"]}),H__default.default,q__default.default.configure({multicolor:true}),G__default.default,U__default.default.configure({nested:true}),extensionTextStyle.TextStyle,Y__default.default];function W(r){if(typeof r!="object"||r===null)return "";try{return `<div class="kyro-richtext">${html.generateHTML(r,K)}</div>`}catch(i){return console.error("Failed to render rich text:",i),""}}var k=class{constructor(i){this.config=i;}config;css=[];addRule(i,e){let s=Object.entries(e).map(([t,n])=>` ${t}: ${n};`).join(`
91
- `);return this.css.push(`${i} {
92
- ${s}
93
- }`),this}addMediaQuery(i,e){return this.css.push(`@media (min-width: ${i}) {
90
+ `.trim(),K=[M__default.default,N__default.default.configure({openOnClick:false}),V__default.default,___default.default.configure({types:["heading","paragraph"]}),H__default.default,q__default.default.configure({multicolor:true}),G__default.default,U__default.default.configure({nested:true}),extensionTextStyle.TextStyle,Y__default.default];function W(r){if(typeof r!="object"||r===null)return "";try{return `<div class="kyro-richtext">${html.generateHTML(r,K)}</div>`}catch(n){return console.error("Failed to render rich text:",n),""}}var k=class{constructor(n){this.config=n;}config;css=[];addRule(n,e){let o=Object.entries(e).map(([t,i])=>` ${t}: ${i};`).join(`
91
+ `);return this.css.push(`${n} {
92
+ ${o}
93
+ }`),this}addMediaQuery(n,e){return this.css.push(`@media (min-width: ${n}) {
94
94
  ${e.join(`
95
95
  `)}
96
96
  }`),this}generate(){return this.css.join(`
97
97
 
98
- `)}};function Q(r){return {theme:{extend:{colors:r.colors||{},fontFamily:r.fonts||{},spacing:r.spacing||{},borderRadius:r.borderRadius||{},boxShadow:r.shadows||{},screens:r.breakpoints||{}}}}}var h={colors:{primary:"#3b82f6",secondary:"#6366f1",accent:"#ec4899",background:"#ffffff",surface:"#f9fafb",text:"#111827",textMuted:"#6b7280",border:"#e5e7eb",error:"#ef4444",warning:"#f59e0b",success:"#10b981",info:"#3b82f6"},fonts:{sans:"system-ui, -apple-system, sans-serif",serif:"Georgia, serif",mono:"Menlo, monospace"},spacing:{xs:"0.25rem",sm:"0.5rem",md:"1rem",lg:"1.5rem",xl:"2rem","2xl":"3rem","3xl":"4rem"},borderRadius:{sm:"0.125rem",md:"0.375rem",lg:"0.5rem",xl:"0.75rem",full:"9999px"},shadows:{sm:"0 1px 2px 0 rgb(0 0 0 / 0.05)",md:"0 4px 6px -1px rgb(0 0 0 / 0.1)",lg:"0 10px 15px -3px rgb(0 0 0 / 0.1)",xl:"0 20px 25px -5px rgb(0 0 0 / 0.1)"}},X={colors:{primary:"#60a5fa",secondary:"#818cf8",accent:"#f472b6",background:"#111827",surface:"#1f2937",text:"#f9fafb",textMuted:"#9ca3af",border:"#374151",error:"#f87171",warning:"#fbbf24",success:"#34d399",info:"#60a5fa"},fonts:h.fonts,spacing:h.spacing,borderRadius:h.borderRadius,shadows:{sm:"0 1px 2px 0 rgb(0 0 0 / 0.3)",md:"0 4px 6px -1px rgb(0 0 0 / 0.4)",lg:"0 10px 15px -3px rgb(0 0 0 / 0.5)",xl:"0 20px 25px -5px rgb(0 0 0 / 0.6)"}},Z={colors:{primary:"#FF6B35",secondary:"#1A1A2E",accent:"#16C79A",background:"#FFFFFF",surface:"#F8F9FA",text:"#1A1A2E",textMuted:"#6B7280",border:"#E5E7EB",error:"#EF4444",warning:"#F59E0B",success:"#16C79A",info:"#3B82F6"},fonts:{sans:'"Inter", "Satoshi", system-ui, sans-serif',serif:'"Playfair Display", Georgia, serif',mono:'"JetBrains Mono", monospace'},spacing:{xs:"0.125rem",sm:"0.25rem",md:"0.5rem",lg:"1rem",xl:"1.5rem","2xl":"2rem","3xl":"3rem","4xl":"4rem"},borderRadius:{sm:"0",md:"0",lg:"0",xl:"0",full:"9999px"},shadows:{sm:"0 1px 2px rgba(0,0,0,0.05)",md:"0 4px 6px rgba(0,0,0,0.07)",lg:"0 10px 15px rgba(0,0,0,0.1)",xl:"0 20px 25px rgba(0,0,0,0.15)"}};function w(r){let i=[];if(r.colors)for(let[e,s]of Object.entries(r.colors))i.push(` --color-${e}: ${s};`);if(r.fonts)for(let[e,s]of Object.entries(r.fonts))i.push(` --font-${e}: ${s};`);if(r.spacing)for(let[e,s]of Object.entries(r.spacing))i.push(` --spacing-${e}: ${s};`);if(r.borderRadius)for(let[e,s]of Object.entries(r.borderRadius))i.push(` --radius-${e}: ${s};`);if(r.shadows)for(let[e,s]of Object.entries(r.shadows))i.push(` --shadow-${e}: ${s};`);return `:root {
99
- ${i.join(`
98
+ `)}};function Q(r){return {theme:{extend:{colors:r.colors||{},fontFamily:r.fonts||{},spacing:r.spacing||{},borderRadius:r.borderRadius||{},boxShadow:r.shadows||{},screens:r.breakpoints||{}}}}}var h={colors:{primary:"#3b82f6",secondary:"#6366f1",accent:"#ec4899",background:"#ffffff",surface:"#f9fafb",text:"#111827",textMuted:"#6b7280",border:"#e5e7eb",error:"#ef4444",warning:"#f59e0b",success:"#10b981",info:"#3b82f6"},fonts:{sans:"system-ui, -apple-system, sans-serif",serif:"Georgia, serif",mono:"Menlo, monospace"},spacing:{xs:"0.25rem",sm:"0.5rem",md:"1rem",lg:"1.5rem",xl:"2rem","2xl":"3rem","3xl":"4rem"},borderRadius:{sm:"0.125rem",md:"0.375rem",lg:"0.5rem",xl:"0.75rem",full:"9999px"},shadows:{sm:"0 1px 2px 0 rgb(0 0 0 / 0.05)",md:"0 4px 6px -1px rgb(0 0 0 / 0.1)",lg:"0 10px 15px -3px rgb(0 0 0 / 0.1)",xl:"0 20px 25px -5px rgb(0 0 0 / 0.1)"}},X={colors:{primary:"#60a5fa",secondary:"#818cf8",accent:"#f472b6",background:"#111827",surface:"#1f2937",text:"#f9fafb",textMuted:"#9ca3af",border:"#374151",error:"#f87171",warning:"#fbbf24",success:"#34d399",info:"#60a5fa"},fonts:h.fonts,spacing:h.spacing,borderRadius:h.borderRadius,shadows:{sm:"0 1px 2px 0 rgb(0 0 0 / 0.3)",md:"0 4px 6px -1px rgb(0 0 0 / 0.4)",lg:"0 10px 15px -3px rgb(0 0 0 / 0.5)",xl:"0 20px 25px -5px rgb(0 0 0 / 0.6)"}},Z={colors:{primary:"#FF6B35",secondary:"#1A1A2E",accent:"#16C79A",background:"#FFFFFF",surface:"#F8F9FA",text:"#1A1A2E",textMuted:"#6B7280",border:"#E5E7EB",error:"#EF4444",warning:"#F59E0B",success:"#16C79A",info:"#3B82F6"},fonts:{sans:'"Inter", "Satoshi", system-ui, sans-serif',serif:'"Playfair Display", Georgia, serif',mono:'"JetBrains Mono", monospace'},spacing:{xs:"0.125rem",sm:"0.25rem",md:"0.5rem",lg:"1rem",xl:"1.5rem","2xl":"2rem","3xl":"3rem","4xl":"4rem"},borderRadius:{sm:"0",md:"0",lg:"0",xl:"0",full:"9999px"},shadows:{sm:"0 1px 2px rgba(0,0,0,0.05)",md:"0 4px 6px rgba(0,0,0,0.07)",lg:"0 10px 15px rgba(0,0,0,0.1)",xl:"0 20px 25px rgba(0,0,0,0.15)"}};function w(r){let n=[];if(r.colors)for(let[e,o]of Object.entries(r.colors))n.push(` --color-${e}: ${o};`);if(r.fonts)for(let[e,o]of Object.entries(r.fonts))n.push(` --font-${e}: ${o};`);if(r.spacing)for(let[e,o]of Object.entries(r.spacing))n.push(` --spacing-${e}: ${o};`);if(r.borderRadius)for(let[e,o]of Object.entries(r.borderRadius))n.push(` --radius-${e}: ${o};`);if(r.shadows)for(let[e,o]of Object.entries(r.shadows))n.push(` --shadow-${e}: ${o};`);return `:root {
99
+ ${n.join(`
100
100
  `)}
101
- }`}function ee(r){let i=w(r.theme||h),e=[];if(r.componentOverrides)for(let[s,t]of Object.entries(r.componentOverrides)){let n=Object.entries(t).map(([a,f])=>` ${a}: ${f};`).join(`
102
- `);e.push(`${s} {
103
- ${n}
101
+ }`}function ee(r){let n=w(r.theme||h),e=[];if(r.componentOverrides)for(let[o,t]of Object.entries(r.componentOverrides)){let i=Object.entries(t).map(([a,f])=>` ${a}: ${f};`).join(`
102
+ `);e.push(`${o} {
103
+ ${i}
104
104
  }`);}return `
105
- ${i}
105
+ ${n}
106
106
  ${r.customStyles||""}
107
107
  ${e.join(`
108
108
  `)}
109
- `}var re={text:{wrapper:{marginBottom:"var(--spacing-md)"},label:{display:"block",marginBottom:"var(--spacing-xs)",fontWeight:"500",color:"var(--color-text)"},input:{width:"100%",padding:"var(--spacing-sm) var(--spacing-md)",border:"1px solid var(--color-border)",borderRadius:"var(--radius-md)",fontSize:"0.875rem"},error:{color:"var(--color-error)",fontSize:"0.75rem",marginTop:"var(--spacing-xs)"}},number:{wrapper:{marginBottom:"var(--spacing-md)"},label:{display:"block",marginBottom:"var(--spacing-xs)",fontWeight:"500"},input:{width:"100%",padding:"var(--spacing-sm) var(--spacing-md)",border:"1px solid var(--color-border)",borderRadius:"var(--radius-md)"}},checkbox:{wrapper:{display:"flex",alignItems:"center",gap:"var(--spacing-sm)"},input:{width:"1rem",height:"1rem"},label:{cursor:"pointer"}},select:{wrapper:{marginBottom:"var(--spacing-md)"},input:{width:"100%",padding:"var(--spacing-sm) var(--spacing-md)",border:"1px solid var(--color-border)",borderRadius:"var(--radius-md)",backgroundColor:"white"}}};function te(r){return {ipAddress:r.headers.get("x-forwarded-for")?.split(",")[0]?.trim()||r.headers.get("x-real-ip")||"unknown",userAgent:r.headers.get("user-agent")||"unknown"}}var v=new Set(["type","admin","label","singularLabel","labelPlural","relationTo","required","hasMany","defaultValue","validate","options","dynamicOptions","filterOptions","hooks","min","max","minLength","maxLength","minRows","maxRows","minDate","maxDate","step","integer","variant","pattern","format","fields","tabs","blocks"]);function C(r){return typeof r!="object"||r===null||Array.isArray(r)?false:Object.keys(r).some(i=>v.has(i))}function F(r,i=""){let e={};for(let[s,t]of Object.entries(r)){let n=i?`${i}.${s}`:s;t&&typeof t=="object"&&!Array.isArray(t)&&!C(t)?Object.assign(e,F(t,n)):e[n]=t;}return e}function y(r,i,e,s=true){let t=i.split(".");if(t.length===0)return false;let n=t[0],a=t.slice(1).join("."),f=n.match(/^(?:tab|tabs)\[(.+?)\]$/i);if(f){let o=f[1].toLowerCase();for(let u of r)if(u.type==="tabs"&&u.tabs&&Array.isArray(u.tabs)){for(let l of u.tabs)if((l.label||l.name||"").toLowerCase()===o&&l.fields&&Array.isArray(l.fields))return y(l.fields,a,e,s)}return false}for(let o of r){if(o.name===n)if(a){if(o.fields&&Array.isArray(o.fields))return y(o.fields,a,e,s);if(o.type==="tabs"&&o.tabs&&Array.isArray(o.tabs)){for(let l of o.tabs)if(l.fields&&Array.isArray(l.fields)&&y(l.fields,a,e,s))return true;return false}if(o.type==="blocks"&&o.blocks&&Array.isArray(o.blocks)){let l=a.split(".")[0],g=a.split(".").slice(1).join(".");if(!g)return false;for(let d of o.blocks)if(d.slug===l&&d.fields&&Array.isArray(d.fields))return y(d.fields,g,e,s);return false}return o.type==="array"&&o.fields&&Array.isArray(o.fields)?y(o.fields,a,e,s):false}else return Object.assign(o,e),true;if(o.type==="blocks"&&o.blocks&&Array.isArray(o.blocks)){for(let l of o.blocks)if(l.slug===n&&l.fields&&Array.isArray(l.fields)&&y(l.fields,a,e,s))return true}if(!o.name||o.type==="tabs"||o.type==="row"||o.type==="collapsible"){if(o.fields&&Array.isArray(o.fields)&&y(o.fields,i,e,false))return true;if(o.type==="tabs"&&o.tabs&&Array.isArray(o.tabs)){for(let l of o.tabs)if(l.fields&&Array.isArray(l.fields)&&y(l.fields,i,e,false))return true}}}return s&&!a&&e&&e.type?(r.push({name:n,...e}),true):false}function T(r,i){if(!i)return;let e=Array.isArray(i)?i:Object.entries(i).map(([t,n])=>({slug:n?.slug||t,...n}));function s(t){for(let n of t){if(n.type==="blocks"){Array.isArray(n.blocks)||(n.blocks=[]);for(let a of e){let f=n.blocks.findIndex(o=>o.slug===a.slug);f>=0?n.blocks[f]={...n.blocks[f],...a}:n.blocks.push(a);}return true}if(n.fields&&Array.isArray(n.fields)&&s(n.fields))return true;if(n.type==="tabs"&&n.tabs&&Array.isArray(n.tabs)){for(let a of n.tabs)if(a.fields&&Array.isArray(a.fields)&&s(a.fields))return true}}return false}s(r);}function R(r,i){if(!i)return;let e=Array.isArray(i)?i:Object.entries(i).map(([t,n])=>({label:n?.label||t,...Array.isArray(n)?{fields:n}:n})),s=r.find(t=>t.type==="tabs");if(s&&Array.isArray(s.tabs))for(let t of e){let n=s.tabs.find(a=>(a.label||a.name||"").toLowerCase()===(t.label||t.name||"").toLowerCase());n?(t.fields&&Array.isArray(t.fields)&&(Array.isArray(n.fields)||(n.fields=[]),n.fields.push(...t.fields)),Object.assign(n,t)):s.tabs.push(t);}else {let t=[...r];r.length=0,r.push({type:"tabs",tabs:[{label:"General",fields:t},...e]});}}function ie(r,i){if(i)for(let e of r){let s=i[e.slug];if(s){let{fields:t,blocks:n,tabs:a,labels:f,label:o,singularLabel:u,labelPlural:l,hidden:g,timestamps:d,versions:b,seo:c,access:p,hooks:m,admin:x,...A}=s;if(o&&(e.label=o),u&&(e.singularLabel=u),l&&(e.labelPlural=l),f&&(f.singular&&(e.singularLabel=f.singular),f.plural&&(e.labelPlural=f.plural)),d!==void 0&&(e.timestamps=d),b!==void 0&&(e.versions={...e.versions,...b}),c!==void 0&&(e.seo=c),p&&(e.access={...e.access,...p}),m&&(e.hooks={...e.hooks,...m}),(x||A)&&(e.admin={...e.admin,...x,...A}),n&&T(e.fields,n),a&&R(e.fields,a),t){let B=F(t);for(let[O,D]of Object.entries(B))y(e.fields,O,D);}}}}function ne(r,i){if(i)for(let e of r){let s=i[e.slug];if(s){let{fields:t,blocks:n,tabs:a,label:f,hidden:o,versions:u,access:l,hooks:g,admin:d,...b}=s;if(f&&(e.label=f),u!==void 0&&(e.versions={...e.versions,...u}),l&&(e.access={...e.access,...l}),g&&(e.hooks={...e.hooks,...g}),(d||b)&&(e.admin={...e.admin,...d,...b}),n&&T(e.fields,n),a&&R(e.fields,a),t){let c=F(t);for(let[p,m]of Object.entries(c))y(e.fields,p,m);}}}}function se(r,i={}){let{idField:e="id",parentField:s="parent",slugField:t="slug",slugPrefix:n=true,basePath:a="",maxDepth:f=10}=i,o=new Map,u=[];for(let g of r){let d=g[e];d!=null&&o.set(d,{doc:g,id:d,slug:g[t],depth:0,path:"",fullPath:"",children:[]});}for(let g of r){let d=g[e],b=o.get(d);if(!b)continue;let c=g[s];c&&typeof c=="object"&&(c=c[e]||c.id||c._id),c&&o.has(c)?o.get(c).children.push(b):u.push(b);}function l(g,d,b){if(!(d>f))for(let c of g){c.depth=d;let p=c.slug||String(c.id),m="";n?m=b?`${b}/${p}`:a?`${a.replace(/\/$/,"")}/${p}`:`/${p}`:m=a?`${a.replace(/\/$/,"")}/${p}`:`/${p}`,c.path=m,c.fullPath=m,c.children.length>0&&l(c.children,d+1,c.path);}}return l(u,0,""),u}function S(r,i,e={}){let s,t;Array.isArray(r)?(s=r,t=i):(t=r,s=i);let{idField:n="id",parentField:a="parent",labelField:f="title",slugField:o="slug",basePath:u=""}=e,l=new Map;for(let p of s){let m=p[n];m!=null&&l.set(m,p);}let g=[],d=t,b=new Set;for(;d!==void 0&&l.has(d)&&!b.has(d);){b.add(d);let p=l.get(d),m=p[f]||p.name||p.label||p[o]||String(d);g.unshift({id:d,label:m,slug:p[o]});let x=p[a];x&&typeof x=="object"&&(x=x[n]||x.id||x._id),d=x;}let c=u?u.replace(/\/$/,""):"";return g.map(p=>{let m=p.slug||String(p.id);return c=`${c}/${m}`,{...p,path:c}})}function oe(r,i,e={}){let s=S(r,i,e);return s[s.length-1]?.path||(e.basePath?e.basePath:"/")}function ae(r){let i=[];function e(s){for(let t of s)i.push({doc:t.doc,id:t.id,depth:t.depth,path:t.path,fullPath:t.fullPath,hasChildren:t.children.length>0}),t.children.length>0&&e(t.children);}return e(r),i}exports.ALL_FIELD_TYPES=j;exports.CSSGenerator=k;exports.FIELD_DEFINITION_KEYS=v;exports.applyBlocksOverrides=T;exports.applyCollectionOverrides=ie;exports.applyGlobalOverrides=ne;exports.applyTabsOverrides=R;exports.buildDocumentTree=se;exports.createAdminStyling=ee;exports.createAuditContext=te;exports.defaultDarkTheme=X;exports.defaultFieldStyling=re;exports.defaultLightTheme=h;exports.ecommerce2026Theme=Z;exports.flattenDocumentTree=ae;exports.flattenFieldOverrides=F;exports.generateCSSVariables=w;exports.generateTailwindConfig=Q;exports.getBreadcrumbs=S;exports.getNestedPath=oe;exports.isFieldOverrideDefinition=C;exports.renderRichText=W;exports.richTextStyles=J;exports.updateFieldByPath=y;
109
+ `}var re={text:{wrapper:{marginBottom:"var(--spacing-md)"},label:{display:"block",marginBottom:"var(--spacing-xs)",fontWeight:"500",color:"var(--color-text)"},input:{width:"100%",padding:"var(--spacing-sm) var(--spacing-md)",border:"1px solid var(--color-border)",borderRadius:"var(--radius-md)",fontSize:"0.875rem"},error:{color:"var(--color-error)",fontSize:"0.75rem",marginTop:"var(--spacing-xs)"}},number:{wrapper:{marginBottom:"var(--spacing-md)"},label:{display:"block",marginBottom:"var(--spacing-xs)",fontWeight:"500"},input:{width:"100%",padding:"var(--spacing-sm) var(--spacing-md)",border:"1px solid var(--color-border)",borderRadius:"var(--radius-md)"}},checkbox:{wrapper:{display:"flex",alignItems:"center",gap:"var(--spacing-sm)"},input:{width:"1rem",height:"1rem"},label:{cursor:"pointer"}},select:{wrapper:{marginBottom:"var(--spacing-md)"},input:{width:"100%",padding:"var(--spacing-sm) var(--spacing-md)",border:"1px solid var(--color-border)",borderRadius:"var(--radius-md)",backgroundColor:"white"}}};function te(r){return {ipAddress:r.headers.get("x-forwarded-for")?.split(",")[0]?.trim()||r.headers.get("x-real-ip")||"unknown",userAgent:r.headers.get("user-agent")||"unknown"}}var v=new Set(["type","admin","label","singularLabel","labelPlural","relationTo","required","hasMany","defaultValue","validate","options","dynamicOptions","filterOptions","hooks","min","max","minLength","maxLength","minRows","maxRows","minDate","maxDate","step","integer","variant","pattern","format","fields","tabs","blocks"]);function C(r){return typeof r!="object"||r===null||Array.isArray(r)?false:Object.keys(r).some(n=>v.has(n))}function F(r,n=""){let e={};for(let[o,t]of Object.entries(r)){let i=n?`${n}.${o}`:o;t&&typeof t=="object"&&!Array.isArray(t)&&!C(t)?Object.assign(e,F(t,i)):e[i]=t;}return e}function y(r,n,e,o=true){let t=n.split(".");if(t.length===0)return false;let i=t[0],a=t.slice(1).join("."),f=i.match(/^(?:tab|tabs)\[(.+?)\]$/i);if(f){let s=f[1].toLowerCase();for(let u of r)if(u.type==="tabs"&&u.tabs&&Array.isArray(u.tabs)){for(let l of u.tabs)if((l.label||l.name||"").toLowerCase()===s&&l.fields&&Array.isArray(l.fields))return y(l.fields,a,e,o)}return false}for(let s of r){if(s.name===i)if(a){if(s.fields&&Array.isArray(s.fields))return y(s.fields,a,e,true);if(s.type==="tabs"&&s.tabs&&Array.isArray(s.tabs)){for(let l of s.tabs)if(l.fields&&Array.isArray(l.fields)&&y(l.fields,a,e,true))return true;return false}if(s.type==="blocks"&&s.blocks&&Array.isArray(s.blocks)){let l=a.split(".")[0],g=a.split(".").slice(1).join(".");if(!g)return false;for(let d of s.blocks)if(d.slug===l&&d.fields&&Array.isArray(d.fields))return y(d.fields,g,e,true);return false}return s.type==="array"&&s.fields&&Array.isArray(s.fields)?y(s.fields,a,e,true):false}else return Object.assign(s,e),true;if(s.type==="blocks"&&s.blocks&&Array.isArray(s.blocks)){if(i==="blocks"&&a){let l=a.split(".")[0],g=a.split(".").slice(1).join(".");for(let d of s.blocks)if(d.slug===l&&d.fields&&Array.isArray(d.fields)&&y(d.fields,g,e,true))return true}for(let l of s.blocks)if(l.slug===i&&l.fields&&Array.isArray(l.fields)&&y(l.fields,a,e,true))return true}if(!s.name||s.type==="tabs"||s.type==="row"||s.type==="collapsible"){if(s.fields&&Array.isArray(s.fields)&&y(s.fields,n,e,false))return true;if(s.type==="tabs"&&s.tabs&&Array.isArray(s.tabs)){for(let l of s.tabs)if(l.fields&&Array.isArray(l.fields)&&y(l.fields,n,e,false))return true}}}return o&&!a&&e&&e.type?(r.push({name:i,...e}),true):false}function T(r,n){if(!n)return;let e=Array.isArray(n)?n:Object.entries(n).map(([t,i])=>({slug:i?.slug||t,...i}));function o(t){for(let i of t){if(i.type==="blocks"){Array.isArray(i.blocks)||(i.blocks=[]);for(let a of e){let f=i.blocks.findIndex(s=>s.slug===a.slug);f>=0?i.blocks[f]={...i.blocks[f],...a}:i.blocks.push(a);}return true}if(i.fields&&Array.isArray(i.fields)&&o(i.fields))return true;if(i.type==="tabs"&&i.tabs&&Array.isArray(i.tabs)){for(let a of i.tabs)if(a.fields&&Array.isArray(a.fields)&&o(a.fields))return true}}return false}o(r);}function A(r,n){if(!n)return;let e=Array.isArray(n)?n:Object.entries(n).map(([t,i])=>({label:i?.label||t,...Array.isArray(i)?{fields:i}:i})),o=r.find(t=>t.type==="tabs");if(o&&Array.isArray(o.tabs))for(let t of e){let i=o.tabs.find(a=>(a.label||a.name||"").toLowerCase()===(t.label||t.name||"").toLowerCase());i?(t.fields&&Array.isArray(t.fields)&&(Array.isArray(i.fields)||(i.fields=[]),i.fields.push(...t.fields)),Object.assign(i,t)):o.tabs.push(t);}else {let t=[...r];r.length=0,r.push({type:"tabs",tabs:[{label:"General",fields:t},...e]});}}function ie(r,n){if(n)for(let e of r){let o=n[e.slug];if(o){let{fields:t,blocks:i,tabs:a,labels:f,label:s,singularLabel:u,labelPlural:l,hidden:g,timestamps:d,versions:b,seo:c,access:p,hooks:m,admin:x,...R}=o;if(s&&(e.label=s),u&&(e.singularLabel=u),l&&(e.labelPlural=l),f&&(f.singular&&(e.singularLabel=f.singular),f.plural&&(e.labelPlural=f.plural)),d!==void 0&&(e.timestamps=d),b!==void 0&&(e.versions={...e.versions,...b}),c!==void 0&&(e.seo=c),p&&(e.access={...e.access,...p}),m&&(e.hooks={...e.hooks,...m}),(x||R)&&(e.admin={...e.admin,...x,...R}),i&&T(e.fields,i),a&&A(e.fields,a),t){let B=F(t);for(let[O,D]of Object.entries(B))y(e.fields,O,D);}}}}function ne(r,n){if(n)for(let e of r){let o=n[e.slug];if(o){let{fields:t,blocks:i,tabs:a,label:f,hidden:s,versions:u,access:l,hooks:g,admin:d,...b}=o;if(f&&(e.label=f),u!==void 0&&(e.versions={...e.versions,...u}),l&&(e.access={...e.access,...l}),g&&(e.hooks={...e.hooks,...g}),(d||b)&&(e.admin={...e.admin,...d,...b}),i&&T(e.fields,i),a&&A(e.fields,a),t){let c=F(t);for(let[p,m]of Object.entries(c))y(e.fields,p,m);}}}}function se(r,n={}){let{idField:e="id",parentField:o="parent",slugField:t="slug",slugPrefix:i=true,basePath:a="",maxDepth:f=10}=n,s=new Map,u=[];for(let g of r){let d=g[e];d!=null&&s.set(d,{doc:g,id:d,slug:g[t],depth:0,path:"",fullPath:"",children:[]});}for(let g of r){let d=g[e],b=s.get(d);if(!b)continue;let c=g[o];c&&typeof c=="object"&&(c=c[e]||c.id||c._id),c&&s.has(c)?s.get(c).children.push(b):u.push(b);}function l(g,d,b){if(!(d>f))for(let c of g){c.depth=d;let p=c.slug||String(c.id),m="";i?m=b?`${b}/${p}`:a?`${a.replace(/\/$/,"")}/${p}`:`/${p}`:m=a?`${a.replace(/\/$/,"")}/${p}`:`/${p}`,c.path=m,c.fullPath=m,c.children.length>0&&l(c.children,d+1,c.path);}}return l(u,0,""),u}function S(r,n,e={}){let o,t;Array.isArray(r)?(o=r,t=n):(t=r,o=n);let{idField:i="id",parentField:a="parent",labelField:f="title",slugField:s="slug",basePath:u=""}=e,l=new Map;for(let p of o){let m=p[i];m!=null&&l.set(m,p);}let g=[],d=t,b=new Set;for(;d!==void 0&&l.has(d)&&!b.has(d);){b.add(d);let p=l.get(d),m=p[f]||p.name||p.label||p[s]||String(d);g.unshift({id:d,label:m,slug:p[s]});let x=p[a];x&&typeof x=="object"&&(x=x[i]||x.id||x._id),d=x;}let c=u?u.replace(/\/$/,""):"";return g.map(p=>{let m=p.slug||String(p.id);return c=`${c}/${m}`,{...p,path:c}})}function oe(r,n,e={}){let o=S(r,n,e);return o[o.length-1]?.path||(e.basePath?e.basePath:"/")}function ae(r){let n=[];function e(o){for(let t of o)n.push({doc:t.doc,id:t.id,depth:t.depth,path:t.path,fullPath:t.fullPath,hasChildren:t.children.length>0}),t.children.length>0&&e(t.children);}return e(r),n}exports.ALL_FIELD_TYPES=j;exports.CSSGenerator=k;exports.FIELD_DEFINITION_KEYS=v;exports.applyBlocksOverrides=T;exports.applyCollectionOverrides=ie;exports.applyGlobalOverrides=ne;exports.applyTabsOverrides=A;exports.buildDocumentTree=se;exports.createAdminStyling=ee;exports.createAuditContext=te;exports.defaultDarkTheme=X;exports.defaultFieldStyling=re;exports.defaultLightTheme=h;exports.ecommerce2026Theme=Z;exports.flattenDocumentTree=ae;exports.flattenFieldOverrides=F;exports.generateCSSVariables=w;exports.generateTailwindConfig=Q;exports.getBreadcrumbs=S;exports.getNestedPath=oe;exports.isFieldOverrideDefinition=C;exports.renderRichText=W;exports.richTextStyles=J;exports.updateFieldByPath=y;
package/dist/client.d.cts CHANGED
@@ -31,7 +31,7 @@ interface FieldAdmin {
31
31
  method?: string;
32
32
  inline?: boolean;
33
33
  compact?: boolean;
34
- display?: "receipt" | "table" | "default";
34
+ display?: "pills" | "default";
35
35
  collapsible?: boolean;
36
36
  initCollapsed?: boolean;
37
37
  pickerMode?: "drawer" | "dropdown";
@@ -675,28 +675,45 @@ interface StorageProvider {
675
675
  }
676
676
 
677
677
  interface AdminConfig {
678
+ /** Field to display as the title/name of the document in list and relation dropdowns (e.g. "title", "name", "orderNumber") */
678
679
  useAsTitle?: string;
680
+ /** Array of field names to display as default table columns in the collection list view */
679
681
  defaultColumns?: string[];
682
+ /** Hide this collection completely from the sidebar navigation */
680
683
  hidden?: boolean;
684
+ /** Subtitle or description shown under the collection header in the admin UI */
681
685
  description?: string;
686
+ /** Hide the quick API endpoint URL badge from the admin collection view */
682
687
  hideAPIURL?: boolean;
688
+ /** Sidebar navigation category section name (e.g. "Commerce", "Restaurant Menu", "Content") */
683
689
  group?: string;
690
+ /** Alias for `group`. Organizes collection under a specific sidebar group/folder */
684
691
  folder?: string;
692
+ /** Sub-folder for nested navigation grouping */
685
693
  parentFolder?: string;
694
+ /** Enable tree hierarchy view for nested hierarchical collections (e.g. parent/child pages) */
686
695
  treeHierarchy?: boolean;
696
+ /** Icon name from Lucide (e.g. "lucide:Utensils", "Utensils") or Heroicons (e.g. "hero:Sparkles", "hero-solid:Fire") */
687
697
  icon?: string;
698
+ /** Sort order index within its sidebar navigation group (lower numbers appear first) */
688
699
  order?: number;
700
+ /** Function returning live frontend preview URL with draft tokens */
689
701
  preview?: (doc: Record<string, unknown>, options: {
690
702
  req: unknown;
691
703
  token?: string;
692
704
  }) => string | Promise<string>;
705
+ /** Disable the duplicate document button */
693
706
  disableDuplicate?: boolean;
707
+ /** Disable the live preview split panel */
694
708
  disablePreview?: boolean;
709
+ /** Pagination settings for list view */
695
710
  pagination?: {
696
711
  defaultLimit?: number;
697
712
  limits?: number[];
698
713
  };
714
+ /** Form layout mode: "split" (with sidebar fields) or "single" column */
699
715
  layout?: "split" | "single";
716
+ /** Custom smart view filters configured for this collection */
700
717
  smartViews?: SmartViewConfig[];
701
718
  }
702
719
  interface HierarchyConfig {
package/dist/client.d.ts CHANGED
@@ -31,7 +31,7 @@ interface FieldAdmin {
31
31
  method?: string;
32
32
  inline?: boolean;
33
33
  compact?: boolean;
34
- display?: "receipt" | "table" | "default";
34
+ display?: "pills" | "default";
35
35
  collapsible?: boolean;
36
36
  initCollapsed?: boolean;
37
37
  pickerMode?: "drawer" | "dropdown";
@@ -675,28 +675,45 @@ interface StorageProvider {
675
675
  }
676
676
 
677
677
  interface AdminConfig {
678
+ /** Field to display as the title/name of the document in list and relation dropdowns (e.g. "title", "name", "orderNumber") */
678
679
  useAsTitle?: string;
680
+ /** Array of field names to display as default table columns in the collection list view */
679
681
  defaultColumns?: string[];
682
+ /** Hide this collection completely from the sidebar navigation */
680
683
  hidden?: boolean;
684
+ /** Subtitle or description shown under the collection header in the admin UI */
681
685
  description?: string;
686
+ /** Hide the quick API endpoint URL badge from the admin collection view */
682
687
  hideAPIURL?: boolean;
688
+ /** Sidebar navigation category section name (e.g. "Commerce", "Restaurant Menu", "Content") */
683
689
  group?: string;
690
+ /** Alias for `group`. Organizes collection under a specific sidebar group/folder */
684
691
  folder?: string;
692
+ /** Sub-folder for nested navigation grouping */
685
693
  parentFolder?: string;
694
+ /** Enable tree hierarchy view for nested hierarchical collections (e.g. parent/child pages) */
686
695
  treeHierarchy?: boolean;
696
+ /** Icon name from Lucide (e.g. "lucide:Utensils", "Utensils") or Heroicons (e.g. "hero:Sparkles", "hero-solid:Fire") */
687
697
  icon?: string;
698
+ /** Sort order index within its sidebar navigation group (lower numbers appear first) */
688
699
  order?: number;
700
+ /** Function returning live frontend preview URL with draft tokens */
689
701
  preview?: (doc: Record<string, unknown>, options: {
690
702
  req: unknown;
691
703
  token?: string;
692
704
  }) => string | Promise<string>;
705
+ /** Disable the duplicate document button */
693
706
  disableDuplicate?: boolean;
707
+ /** Disable the live preview split panel */
694
708
  disablePreview?: boolean;
709
+ /** Pagination settings for list view */
695
710
  pagination?: {
696
711
  defaultLimit?: number;
697
712
  limits?: number[];
698
713
  };
714
+ /** Form layout mode: "split" (with sidebar fields) or "single" column */
699
715
  layout?: "split" | "single";
716
+ /** Custom smart view filters configured for this collection */
700
717
  smartViews?: SmartViewConfig[];
701
718
  }
702
719
  interface HierarchyConfig {
package/dist/client.js CHANGED
@@ -87,23 +87,23 @@ import {generateHTML}from'@tiptap/html';import M from'@tiptap/starter-kit';impor
87
87
  border-radius: 0.25rem;
88
88
  padding: 0.125rem 0.25rem;
89
89
  }
90
- `.trim(),K=[M,N.configure({openOnClick:false}),V,_.configure({types:["heading","paragraph"]}),H,q.configure({multicolor:true}),G,U.configure({nested:true}),TextStyle,Y];function W(r){if(typeof r!="object"||r===null)return "";try{return `<div class="kyro-richtext">${generateHTML(r,K)}</div>`}catch(i){return console.error("Failed to render rich text:",i),""}}var k=class{constructor(i){this.config=i;}config;css=[];addRule(i,e){let s=Object.entries(e).map(([t,n])=>` ${t}: ${n};`).join(`
91
- `);return this.css.push(`${i} {
92
- ${s}
93
- }`),this}addMediaQuery(i,e){return this.css.push(`@media (min-width: ${i}) {
90
+ `.trim(),K=[M,N.configure({openOnClick:false}),V,_.configure({types:["heading","paragraph"]}),H,q.configure({multicolor:true}),G,U.configure({nested:true}),TextStyle,Y];function W(r){if(typeof r!="object"||r===null)return "";try{return `<div class="kyro-richtext">${generateHTML(r,K)}</div>`}catch(n){return console.error("Failed to render rich text:",n),""}}var k=class{constructor(n){this.config=n;}config;css=[];addRule(n,e){let o=Object.entries(e).map(([t,i])=>` ${t}: ${i};`).join(`
91
+ `);return this.css.push(`${n} {
92
+ ${o}
93
+ }`),this}addMediaQuery(n,e){return this.css.push(`@media (min-width: ${n}) {
94
94
  ${e.join(`
95
95
  `)}
96
96
  }`),this}generate(){return this.css.join(`
97
97
 
98
- `)}};function Q(r){return {theme:{extend:{colors:r.colors||{},fontFamily:r.fonts||{},spacing:r.spacing||{},borderRadius:r.borderRadius||{},boxShadow:r.shadows||{},screens:r.breakpoints||{}}}}}var h={colors:{primary:"#3b82f6",secondary:"#6366f1",accent:"#ec4899",background:"#ffffff",surface:"#f9fafb",text:"#111827",textMuted:"#6b7280",border:"#e5e7eb",error:"#ef4444",warning:"#f59e0b",success:"#10b981",info:"#3b82f6"},fonts:{sans:"system-ui, -apple-system, sans-serif",serif:"Georgia, serif",mono:"Menlo, monospace"},spacing:{xs:"0.25rem",sm:"0.5rem",md:"1rem",lg:"1.5rem",xl:"2rem","2xl":"3rem","3xl":"4rem"},borderRadius:{sm:"0.125rem",md:"0.375rem",lg:"0.5rem",xl:"0.75rem",full:"9999px"},shadows:{sm:"0 1px 2px 0 rgb(0 0 0 / 0.05)",md:"0 4px 6px -1px rgb(0 0 0 / 0.1)",lg:"0 10px 15px -3px rgb(0 0 0 / 0.1)",xl:"0 20px 25px -5px rgb(0 0 0 / 0.1)"}},X={colors:{primary:"#60a5fa",secondary:"#818cf8",accent:"#f472b6",background:"#111827",surface:"#1f2937",text:"#f9fafb",textMuted:"#9ca3af",border:"#374151",error:"#f87171",warning:"#fbbf24",success:"#34d399",info:"#60a5fa"},fonts:h.fonts,spacing:h.spacing,borderRadius:h.borderRadius,shadows:{sm:"0 1px 2px 0 rgb(0 0 0 / 0.3)",md:"0 4px 6px -1px rgb(0 0 0 / 0.4)",lg:"0 10px 15px -3px rgb(0 0 0 / 0.5)",xl:"0 20px 25px -5px rgb(0 0 0 / 0.6)"}},Z={colors:{primary:"#FF6B35",secondary:"#1A1A2E",accent:"#16C79A",background:"#FFFFFF",surface:"#F8F9FA",text:"#1A1A2E",textMuted:"#6B7280",border:"#E5E7EB",error:"#EF4444",warning:"#F59E0B",success:"#16C79A",info:"#3B82F6"},fonts:{sans:'"Inter", "Satoshi", system-ui, sans-serif',serif:'"Playfair Display", Georgia, serif',mono:'"JetBrains Mono", monospace'},spacing:{xs:"0.125rem",sm:"0.25rem",md:"0.5rem",lg:"1rem",xl:"1.5rem","2xl":"2rem","3xl":"3rem","4xl":"4rem"},borderRadius:{sm:"0",md:"0",lg:"0",xl:"0",full:"9999px"},shadows:{sm:"0 1px 2px rgba(0,0,0,0.05)",md:"0 4px 6px rgba(0,0,0,0.07)",lg:"0 10px 15px rgba(0,0,0,0.1)",xl:"0 20px 25px rgba(0,0,0,0.15)"}};function w(r){let i=[];if(r.colors)for(let[e,s]of Object.entries(r.colors))i.push(` --color-${e}: ${s};`);if(r.fonts)for(let[e,s]of Object.entries(r.fonts))i.push(` --font-${e}: ${s};`);if(r.spacing)for(let[e,s]of Object.entries(r.spacing))i.push(` --spacing-${e}: ${s};`);if(r.borderRadius)for(let[e,s]of Object.entries(r.borderRadius))i.push(` --radius-${e}: ${s};`);if(r.shadows)for(let[e,s]of Object.entries(r.shadows))i.push(` --shadow-${e}: ${s};`);return `:root {
99
- ${i.join(`
98
+ `)}};function Q(r){return {theme:{extend:{colors:r.colors||{},fontFamily:r.fonts||{},spacing:r.spacing||{},borderRadius:r.borderRadius||{},boxShadow:r.shadows||{},screens:r.breakpoints||{}}}}}var h={colors:{primary:"#3b82f6",secondary:"#6366f1",accent:"#ec4899",background:"#ffffff",surface:"#f9fafb",text:"#111827",textMuted:"#6b7280",border:"#e5e7eb",error:"#ef4444",warning:"#f59e0b",success:"#10b981",info:"#3b82f6"},fonts:{sans:"system-ui, -apple-system, sans-serif",serif:"Georgia, serif",mono:"Menlo, monospace"},spacing:{xs:"0.25rem",sm:"0.5rem",md:"1rem",lg:"1.5rem",xl:"2rem","2xl":"3rem","3xl":"4rem"},borderRadius:{sm:"0.125rem",md:"0.375rem",lg:"0.5rem",xl:"0.75rem",full:"9999px"},shadows:{sm:"0 1px 2px 0 rgb(0 0 0 / 0.05)",md:"0 4px 6px -1px rgb(0 0 0 / 0.1)",lg:"0 10px 15px -3px rgb(0 0 0 / 0.1)",xl:"0 20px 25px -5px rgb(0 0 0 / 0.1)"}},X={colors:{primary:"#60a5fa",secondary:"#818cf8",accent:"#f472b6",background:"#111827",surface:"#1f2937",text:"#f9fafb",textMuted:"#9ca3af",border:"#374151",error:"#f87171",warning:"#fbbf24",success:"#34d399",info:"#60a5fa"},fonts:h.fonts,spacing:h.spacing,borderRadius:h.borderRadius,shadows:{sm:"0 1px 2px 0 rgb(0 0 0 / 0.3)",md:"0 4px 6px -1px rgb(0 0 0 / 0.4)",lg:"0 10px 15px -3px rgb(0 0 0 / 0.5)",xl:"0 20px 25px -5px rgb(0 0 0 / 0.6)"}},Z={colors:{primary:"#FF6B35",secondary:"#1A1A2E",accent:"#16C79A",background:"#FFFFFF",surface:"#F8F9FA",text:"#1A1A2E",textMuted:"#6B7280",border:"#E5E7EB",error:"#EF4444",warning:"#F59E0B",success:"#16C79A",info:"#3B82F6"},fonts:{sans:'"Inter", "Satoshi", system-ui, sans-serif',serif:'"Playfair Display", Georgia, serif',mono:'"JetBrains Mono", monospace'},spacing:{xs:"0.125rem",sm:"0.25rem",md:"0.5rem",lg:"1rem",xl:"1.5rem","2xl":"2rem","3xl":"3rem","4xl":"4rem"},borderRadius:{sm:"0",md:"0",lg:"0",xl:"0",full:"9999px"},shadows:{sm:"0 1px 2px rgba(0,0,0,0.05)",md:"0 4px 6px rgba(0,0,0,0.07)",lg:"0 10px 15px rgba(0,0,0,0.1)",xl:"0 20px 25px rgba(0,0,0,0.15)"}};function w(r){let n=[];if(r.colors)for(let[e,o]of Object.entries(r.colors))n.push(` --color-${e}: ${o};`);if(r.fonts)for(let[e,o]of Object.entries(r.fonts))n.push(` --font-${e}: ${o};`);if(r.spacing)for(let[e,o]of Object.entries(r.spacing))n.push(` --spacing-${e}: ${o};`);if(r.borderRadius)for(let[e,o]of Object.entries(r.borderRadius))n.push(` --radius-${e}: ${o};`);if(r.shadows)for(let[e,o]of Object.entries(r.shadows))n.push(` --shadow-${e}: ${o};`);return `:root {
99
+ ${n.join(`
100
100
  `)}
101
- }`}function ee(r){let i=w(r.theme||h),e=[];if(r.componentOverrides)for(let[s,t]of Object.entries(r.componentOverrides)){let n=Object.entries(t).map(([a,f])=>` ${a}: ${f};`).join(`
102
- `);e.push(`${s} {
103
- ${n}
101
+ }`}function ee(r){let n=w(r.theme||h),e=[];if(r.componentOverrides)for(let[o,t]of Object.entries(r.componentOverrides)){let i=Object.entries(t).map(([a,f])=>` ${a}: ${f};`).join(`
102
+ `);e.push(`${o} {
103
+ ${i}
104
104
  }`);}return `
105
- ${i}
105
+ ${n}
106
106
  ${r.customStyles||""}
107
107
  ${e.join(`
108
108
  `)}
109
- `}var re={text:{wrapper:{marginBottom:"var(--spacing-md)"},label:{display:"block",marginBottom:"var(--spacing-xs)",fontWeight:"500",color:"var(--color-text)"},input:{width:"100%",padding:"var(--spacing-sm) var(--spacing-md)",border:"1px solid var(--color-border)",borderRadius:"var(--radius-md)",fontSize:"0.875rem"},error:{color:"var(--color-error)",fontSize:"0.75rem",marginTop:"var(--spacing-xs)"}},number:{wrapper:{marginBottom:"var(--spacing-md)"},label:{display:"block",marginBottom:"var(--spacing-xs)",fontWeight:"500"},input:{width:"100%",padding:"var(--spacing-sm) var(--spacing-md)",border:"1px solid var(--color-border)",borderRadius:"var(--radius-md)"}},checkbox:{wrapper:{display:"flex",alignItems:"center",gap:"var(--spacing-sm)"},input:{width:"1rem",height:"1rem"},label:{cursor:"pointer"}},select:{wrapper:{marginBottom:"var(--spacing-md)"},input:{width:"100%",padding:"var(--spacing-sm) var(--spacing-md)",border:"1px solid var(--color-border)",borderRadius:"var(--radius-md)",backgroundColor:"white"}}};function te(r){return {ipAddress:r.headers.get("x-forwarded-for")?.split(",")[0]?.trim()||r.headers.get("x-real-ip")||"unknown",userAgent:r.headers.get("user-agent")||"unknown"}}var v=new Set(["type","admin","label","singularLabel","labelPlural","relationTo","required","hasMany","defaultValue","validate","options","dynamicOptions","filterOptions","hooks","min","max","minLength","maxLength","minRows","maxRows","minDate","maxDate","step","integer","variant","pattern","format","fields","tabs","blocks"]);function C(r){return typeof r!="object"||r===null||Array.isArray(r)?false:Object.keys(r).some(i=>v.has(i))}function F(r,i=""){let e={};for(let[s,t]of Object.entries(r)){let n=i?`${i}.${s}`:s;t&&typeof t=="object"&&!Array.isArray(t)&&!C(t)?Object.assign(e,F(t,n)):e[n]=t;}return e}function y(r,i,e,s=true){let t=i.split(".");if(t.length===0)return false;let n=t[0],a=t.slice(1).join("."),f=n.match(/^(?:tab|tabs)\[(.+?)\]$/i);if(f){let o=f[1].toLowerCase();for(let u of r)if(u.type==="tabs"&&u.tabs&&Array.isArray(u.tabs)){for(let l of u.tabs)if((l.label||l.name||"").toLowerCase()===o&&l.fields&&Array.isArray(l.fields))return y(l.fields,a,e,s)}return false}for(let o of r){if(o.name===n)if(a){if(o.fields&&Array.isArray(o.fields))return y(o.fields,a,e,s);if(o.type==="tabs"&&o.tabs&&Array.isArray(o.tabs)){for(let l of o.tabs)if(l.fields&&Array.isArray(l.fields)&&y(l.fields,a,e,s))return true;return false}if(o.type==="blocks"&&o.blocks&&Array.isArray(o.blocks)){let l=a.split(".")[0],g=a.split(".").slice(1).join(".");if(!g)return false;for(let d of o.blocks)if(d.slug===l&&d.fields&&Array.isArray(d.fields))return y(d.fields,g,e,s);return false}return o.type==="array"&&o.fields&&Array.isArray(o.fields)?y(o.fields,a,e,s):false}else return Object.assign(o,e),true;if(o.type==="blocks"&&o.blocks&&Array.isArray(o.blocks)){for(let l of o.blocks)if(l.slug===n&&l.fields&&Array.isArray(l.fields)&&y(l.fields,a,e,s))return true}if(!o.name||o.type==="tabs"||o.type==="row"||o.type==="collapsible"){if(o.fields&&Array.isArray(o.fields)&&y(o.fields,i,e,false))return true;if(o.type==="tabs"&&o.tabs&&Array.isArray(o.tabs)){for(let l of o.tabs)if(l.fields&&Array.isArray(l.fields)&&y(l.fields,i,e,false))return true}}}return s&&!a&&e&&e.type?(r.push({name:n,...e}),true):false}function T(r,i){if(!i)return;let e=Array.isArray(i)?i:Object.entries(i).map(([t,n])=>({slug:n?.slug||t,...n}));function s(t){for(let n of t){if(n.type==="blocks"){Array.isArray(n.blocks)||(n.blocks=[]);for(let a of e){let f=n.blocks.findIndex(o=>o.slug===a.slug);f>=0?n.blocks[f]={...n.blocks[f],...a}:n.blocks.push(a);}return true}if(n.fields&&Array.isArray(n.fields)&&s(n.fields))return true;if(n.type==="tabs"&&n.tabs&&Array.isArray(n.tabs)){for(let a of n.tabs)if(a.fields&&Array.isArray(a.fields)&&s(a.fields))return true}}return false}s(r);}function R(r,i){if(!i)return;let e=Array.isArray(i)?i:Object.entries(i).map(([t,n])=>({label:n?.label||t,...Array.isArray(n)?{fields:n}:n})),s=r.find(t=>t.type==="tabs");if(s&&Array.isArray(s.tabs))for(let t of e){let n=s.tabs.find(a=>(a.label||a.name||"").toLowerCase()===(t.label||t.name||"").toLowerCase());n?(t.fields&&Array.isArray(t.fields)&&(Array.isArray(n.fields)||(n.fields=[]),n.fields.push(...t.fields)),Object.assign(n,t)):s.tabs.push(t);}else {let t=[...r];r.length=0,r.push({type:"tabs",tabs:[{label:"General",fields:t},...e]});}}function ie(r,i){if(i)for(let e of r){let s=i[e.slug];if(s){let{fields:t,blocks:n,tabs:a,labels:f,label:o,singularLabel:u,labelPlural:l,hidden:g,timestamps:d,versions:b,seo:c,access:p,hooks:m,admin:x,...A}=s;if(o&&(e.label=o),u&&(e.singularLabel=u),l&&(e.labelPlural=l),f&&(f.singular&&(e.singularLabel=f.singular),f.plural&&(e.labelPlural=f.plural)),d!==void 0&&(e.timestamps=d),b!==void 0&&(e.versions={...e.versions,...b}),c!==void 0&&(e.seo=c),p&&(e.access={...e.access,...p}),m&&(e.hooks={...e.hooks,...m}),(x||A)&&(e.admin={...e.admin,...x,...A}),n&&T(e.fields,n),a&&R(e.fields,a),t){let B=F(t);for(let[O,D]of Object.entries(B))y(e.fields,O,D);}}}}function ne(r,i){if(i)for(let e of r){let s=i[e.slug];if(s){let{fields:t,blocks:n,tabs:a,label:f,hidden:o,versions:u,access:l,hooks:g,admin:d,...b}=s;if(f&&(e.label=f),u!==void 0&&(e.versions={...e.versions,...u}),l&&(e.access={...e.access,...l}),g&&(e.hooks={...e.hooks,...g}),(d||b)&&(e.admin={...e.admin,...d,...b}),n&&T(e.fields,n),a&&R(e.fields,a),t){let c=F(t);for(let[p,m]of Object.entries(c))y(e.fields,p,m);}}}}function se(r,i={}){let{idField:e="id",parentField:s="parent",slugField:t="slug",slugPrefix:n=true,basePath:a="",maxDepth:f=10}=i,o=new Map,u=[];for(let g of r){let d=g[e];d!=null&&o.set(d,{doc:g,id:d,slug:g[t],depth:0,path:"",fullPath:"",children:[]});}for(let g of r){let d=g[e],b=o.get(d);if(!b)continue;let c=g[s];c&&typeof c=="object"&&(c=c[e]||c.id||c._id),c&&o.has(c)?o.get(c).children.push(b):u.push(b);}function l(g,d,b){if(!(d>f))for(let c of g){c.depth=d;let p=c.slug||String(c.id),m="";n?m=b?`${b}/${p}`:a?`${a.replace(/\/$/,"")}/${p}`:`/${p}`:m=a?`${a.replace(/\/$/,"")}/${p}`:`/${p}`,c.path=m,c.fullPath=m,c.children.length>0&&l(c.children,d+1,c.path);}}return l(u,0,""),u}function S(r,i,e={}){let s,t;Array.isArray(r)?(s=r,t=i):(t=r,s=i);let{idField:n="id",parentField:a="parent",labelField:f="title",slugField:o="slug",basePath:u=""}=e,l=new Map;for(let p of s){let m=p[n];m!=null&&l.set(m,p);}let g=[],d=t,b=new Set;for(;d!==void 0&&l.has(d)&&!b.has(d);){b.add(d);let p=l.get(d),m=p[f]||p.name||p.label||p[o]||String(d);g.unshift({id:d,label:m,slug:p[o]});let x=p[a];x&&typeof x=="object"&&(x=x[n]||x.id||x._id),d=x;}let c=u?u.replace(/\/$/,""):"";return g.map(p=>{let m=p.slug||String(p.id);return c=`${c}/${m}`,{...p,path:c}})}function oe(r,i,e={}){let s=S(r,i,e);return s[s.length-1]?.path||(e.basePath?e.basePath:"/")}function ae(r){let i=[];function e(s){for(let t of s)i.push({doc:t.doc,id:t.id,depth:t.depth,path:t.path,fullPath:t.fullPath,hasChildren:t.children.length>0}),t.children.length>0&&e(t.children);}return e(r),i}export{j as ALL_FIELD_TYPES,k as CSSGenerator,v as FIELD_DEFINITION_KEYS,T as applyBlocksOverrides,ie as applyCollectionOverrides,ne as applyGlobalOverrides,R as applyTabsOverrides,se as buildDocumentTree,ee as createAdminStyling,te as createAuditContext,X as defaultDarkTheme,re as defaultFieldStyling,h as defaultLightTheme,Z as ecommerce2026Theme,ae as flattenDocumentTree,F as flattenFieldOverrides,w as generateCSSVariables,Q as generateTailwindConfig,S as getBreadcrumbs,oe as getNestedPath,C as isFieldOverrideDefinition,W as renderRichText,J as richTextStyles,y as updateFieldByPath};
109
+ `}var re={text:{wrapper:{marginBottom:"var(--spacing-md)"},label:{display:"block",marginBottom:"var(--spacing-xs)",fontWeight:"500",color:"var(--color-text)"},input:{width:"100%",padding:"var(--spacing-sm) var(--spacing-md)",border:"1px solid var(--color-border)",borderRadius:"var(--radius-md)",fontSize:"0.875rem"},error:{color:"var(--color-error)",fontSize:"0.75rem",marginTop:"var(--spacing-xs)"}},number:{wrapper:{marginBottom:"var(--spacing-md)"},label:{display:"block",marginBottom:"var(--spacing-xs)",fontWeight:"500"},input:{width:"100%",padding:"var(--spacing-sm) var(--spacing-md)",border:"1px solid var(--color-border)",borderRadius:"var(--radius-md)"}},checkbox:{wrapper:{display:"flex",alignItems:"center",gap:"var(--spacing-sm)"},input:{width:"1rem",height:"1rem"},label:{cursor:"pointer"}},select:{wrapper:{marginBottom:"var(--spacing-md)"},input:{width:"100%",padding:"var(--spacing-sm) var(--spacing-md)",border:"1px solid var(--color-border)",borderRadius:"var(--radius-md)",backgroundColor:"white"}}};function te(r){return {ipAddress:r.headers.get("x-forwarded-for")?.split(",")[0]?.trim()||r.headers.get("x-real-ip")||"unknown",userAgent:r.headers.get("user-agent")||"unknown"}}var v=new Set(["type","admin","label","singularLabel","labelPlural","relationTo","required","hasMany","defaultValue","validate","options","dynamicOptions","filterOptions","hooks","min","max","minLength","maxLength","minRows","maxRows","minDate","maxDate","step","integer","variant","pattern","format","fields","tabs","blocks"]);function C(r){return typeof r!="object"||r===null||Array.isArray(r)?false:Object.keys(r).some(n=>v.has(n))}function F(r,n=""){let e={};for(let[o,t]of Object.entries(r)){let i=n?`${n}.${o}`:o;t&&typeof t=="object"&&!Array.isArray(t)&&!C(t)?Object.assign(e,F(t,i)):e[i]=t;}return e}function y(r,n,e,o=true){let t=n.split(".");if(t.length===0)return false;let i=t[0],a=t.slice(1).join("."),f=i.match(/^(?:tab|tabs)\[(.+?)\]$/i);if(f){let s=f[1].toLowerCase();for(let u of r)if(u.type==="tabs"&&u.tabs&&Array.isArray(u.tabs)){for(let l of u.tabs)if((l.label||l.name||"").toLowerCase()===s&&l.fields&&Array.isArray(l.fields))return y(l.fields,a,e,o)}return false}for(let s of r){if(s.name===i)if(a){if(s.fields&&Array.isArray(s.fields))return y(s.fields,a,e,true);if(s.type==="tabs"&&s.tabs&&Array.isArray(s.tabs)){for(let l of s.tabs)if(l.fields&&Array.isArray(l.fields)&&y(l.fields,a,e,true))return true;return false}if(s.type==="blocks"&&s.blocks&&Array.isArray(s.blocks)){let l=a.split(".")[0],g=a.split(".").slice(1).join(".");if(!g)return false;for(let d of s.blocks)if(d.slug===l&&d.fields&&Array.isArray(d.fields))return y(d.fields,g,e,true);return false}return s.type==="array"&&s.fields&&Array.isArray(s.fields)?y(s.fields,a,e,true):false}else return Object.assign(s,e),true;if(s.type==="blocks"&&s.blocks&&Array.isArray(s.blocks)){if(i==="blocks"&&a){let l=a.split(".")[0],g=a.split(".").slice(1).join(".");for(let d of s.blocks)if(d.slug===l&&d.fields&&Array.isArray(d.fields)&&y(d.fields,g,e,true))return true}for(let l of s.blocks)if(l.slug===i&&l.fields&&Array.isArray(l.fields)&&y(l.fields,a,e,true))return true}if(!s.name||s.type==="tabs"||s.type==="row"||s.type==="collapsible"){if(s.fields&&Array.isArray(s.fields)&&y(s.fields,n,e,false))return true;if(s.type==="tabs"&&s.tabs&&Array.isArray(s.tabs)){for(let l of s.tabs)if(l.fields&&Array.isArray(l.fields)&&y(l.fields,n,e,false))return true}}}return o&&!a&&e&&e.type?(r.push({name:i,...e}),true):false}function T(r,n){if(!n)return;let e=Array.isArray(n)?n:Object.entries(n).map(([t,i])=>({slug:i?.slug||t,...i}));function o(t){for(let i of t){if(i.type==="blocks"){Array.isArray(i.blocks)||(i.blocks=[]);for(let a of e){let f=i.blocks.findIndex(s=>s.slug===a.slug);f>=0?i.blocks[f]={...i.blocks[f],...a}:i.blocks.push(a);}return true}if(i.fields&&Array.isArray(i.fields)&&o(i.fields))return true;if(i.type==="tabs"&&i.tabs&&Array.isArray(i.tabs)){for(let a of i.tabs)if(a.fields&&Array.isArray(a.fields)&&o(a.fields))return true}}return false}o(r);}function A(r,n){if(!n)return;let e=Array.isArray(n)?n:Object.entries(n).map(([t,i])=>({label:i?.label||t,...Array.isArray(i)?{fields:i}:i})),o=r.find(t=>t.type==="tabs");if(o&&Array.isArray(o.tabs))for(let t of e){let i=o.tabs.find(a=>(a.label||a.name||"").toLowerCase()===(t.label||t.name||"").toLowerCase());i?(t.fields&&Array.isArray(t.fields)&&(Array.isArray(i.fields)||(i.fields=[]),i.fields.push(...t.fields)),Object.assign(i,t)):o.tabs.push(t);}else {let t=[...r];r.length=0,r.push({type:"tabs",tabs:[{label:"General",fields:t},...e]});}}function ie(r,n){if(n)for(let e of r){let o=n[e.slug];if(o){let{fields:t,blocks:i,tabs:a,labels:f,label:s,singularLabel:u,labelPlural:l,hidden:g,timestamps:d,versions:b,seo:c,access:p,hooks:m,admin:x,...R}=o;if(s&&(e.label=s),u&&(e.singularLabel=u),l&&(e.labelPlural=l),f&&(f.singular&&(e.singularLabel=f.singular),f.plural&&(e.labelPlural=f.plural)),d!==void 0&&(e.timestamps=d),b!==void 0&&(e.versions={...e.versions,...b}),c!==void 0&&(e.seo=c),p&&(e.access={...e.access,...p}),m&&(e.hooks={...e.hooks,...m}),(x||R)&&(e.admin={...e.admin,...x,...R}),i&&T(e.fields,i),a&&A(e.fields,a),t){let B=F(t);for(let[O,D]of Object.entries(B))y(e.fields,O,D);}}}}function ne(r,n){if(n)for(let e of r){let o=n[e.slug];if(o){let{fields:t,blocks:i,tabs:a,label:f,hidden:s,versions:u,access:l,hooks:g,admin:d,...b}=o;if(f&&(e.label=f),u!==void 0&&(e.versions={...e.versions,...u}),l&&(e.access={...e.access,...l}),g&&(e.hooks={...e.hooks,...g}),(d||b)&&(e.admin={...e.admin,...d,...b}),i&&T(e.fields,i),a&&A(e.fields,a),t){let c=F(t);for(let[p,m]of Object.entries(c))y(e.fields,p,m);}}}}function se(r,n={}){let{idField:e="id",parentField:o="parent",slugField:t="slug",slugPrefix:i=true,basePath:a="",maxDepth:f=10}=n,s=new Map,u=[];for(let g of r){let d=g[e];d!=null&&s.set(d,{doc:g,id:d,slug:g[t],depth:0,path:"",fullPath:"",children:[]});}for(let g of r){let d=g[e],b=s.get(d);if(!b)continue;let c=g[o];c&&typeof c=="object"&&(c=c[e]||c.id||c._id),c&&s.has(c)?s.get(c).children.push(b):u.push(b);}function l(g,d,b){if(!(d>f))for(let c of g){c.depth=d;let p=c.slug||String(c.id),m="";i?m=b?`${b}/${p}`:a?`${a.replace(/\/$/,"")}/${p}`:`/${p}`:m=a?`${a.replace(/\/$/,"")}/${p}`:`/${p}`,c.path=m,c.fullPath=m,c.children.length>0&&l(c.children,d+1,c.path);}}return l(u,0,""),u}function S(r,n,e={}){let o,t;Array.isArray(r)?(o=r,t=n):(t=r,o=n);let{idField:i="id",parentField:a="parent",labelField:f="title",slugField:s="slug",basePath:u=""}=e,l=new Map;for(let p of o){let m=p[i];m!=null&&l.set(m,p);}let g=[],d=t,b=new Set;for(;d!==void 0&&l.has(d)&&!b.has(d);){b.add(d);let p=l.get(d),m=p[f]||p.name||p.label||p[s]||String(d);g.unshift({id:d,label:m,slug:p[s]});let x=p[a];x&&typeof x=="object"&&(x=x[i]||x.id||x._id),d=x;}let c=u?u.replace(/\/$/,""):"";return g.map(p=>{let m=p.slug||String(p.id);return c=`${c}/${m}`,{...p,path:c}})}function oe(r,n,e={}){let o=S(r,n,e);return o[o.length-1]?.path||(e.basePath?e.basePath:"/")}function ae(r){let n=[];function e(o){for(let t of o)n.push({doc:t.doc,id:t.id,depth:t.depth,path:t.path,fullPath:t.fullPath,hasChildren:t.children.length>0}),t.children.length>0&&e(t.children);}return e(r),n}export{j as ALL_FIELD_TYPES,k as CSSGenerator,v as FIELD_DEFINITION_KEYS,T as applyBlocksOverrides,ie as applyCollectionOverrides,ne as applyGlobalOverrides,A as applyTabsOverrides,se as buildDocumentTree,ee as createAdminStyling,te as createAuditContext,X as defaultDarkTheme,re as defaultFieldStyling,h as defaultLightTheme,Z as ecommerce2026Theme,ae as flattenDocumentTree,F as flattenFieldOverrides,w as generateCSSVariables,Q as generateTailwindConfig,S as getBreadcrumbs,oe as getNestedPath,C as isFieldOverrideDefinition,W as renderRichText,J as richTextStyles,y as updateFieldByPath};
@@ -1,7 +1,7 @@
1
- import { b as AbstractBaseAdapter, c as AuthAdapter, U as UserRole, d as AuthUser, S as Session, a as AuditLogFilter, A as AuditLog } from '../base-CyG7aF1e.cjs';
2
- import { C as CollectionConfig, G as GlobalConfig, F as FindArgs, b as FindResult, c as FindByIDArgs, d as CreateArgs, U as UpdateArgs, D as DeleteArgs, e as FindOneArgs } from '../types-B5Qz1svz.cjs';
1
+ import { b as AbstractBaseAdapter, c as AuthAdapter, U as UserRole, d as AuthUser, S as Session, a as AuditLogFilter, A as AuditLog } from '../base-BaOJ5uWd.cjs';
2
+ import { C as CollectionConfig, G as GlobalConfig, F as FindArgs, b as FindResult, c as FindByIDArgs, d as CreateArgs, U as UpdateArgs, D as DeleteArgs, e as FindOneArgs } from '../types-QglJ7PwT.cjs';
3
3
  import { PostgresJsDatabase } from 'drizzle-orm/postgres-js';
4
- import { F as Field } from '../types-DROqAsr0.cjs';
4
+ import { F as Field } from '../types-DxaK39ix.cjs';
5
5
 
6
6
  declare function fieldToDrizzleType(field: Field, dialect?: 'postgres' | 'sqlite'): string;
7
7
  declare function collectionToDrizzleSchema(collection: CollectionConfig, dialect?: 'postgres' | 'sqlite'): string;
@@ -1,7 +1,7 @@
1
- import { b as AbstractBaseAdapter, c as AuthAdapter, U as UserRole, d as AuthUser, S as Session, a as AuditLogFilter, A as AuditLog } from '../base-CAb9EYQs.js';
2
- import { C as CollectionConfig, G as GlobalConfig, F as FindArgs, b as FindResult, c as FindByIDArgs, d as CreateArgs, U as UpdateArgs, D as DeleteArgs, e as FindOneArgs } from '../types-C4wXHImf.js';
1
+ import { b as AbstractBaseAdapter, c as AuthAdapter, U as UserRole, d as AuthUser, S as Session, a as AuditLogFilter, A as AuditLog } from '../base-OYfoYPYP.js';
2
+ import { C as CollectionConfig, G as GlobalConfig, F as FindArgs, b as FindResult, c as FindByIDArgs, d as CreateArgs, U as UpdateArgs, D as DeleteArgs, e as FindOneArgs } from '../types-BCOhfwHC.js';
3
3
  import { PostgresJsDatabase } from 'drizzle-orm/postgres-js';
4
- import { F as Field } from '../types-DROqAsr0.js';
4
+ import { F as Field } from '../types-DxaK39ix.js';
5
5
 
6
6
  declare function fieldToDrizzleType(field: Field, dialect?: 'postgres' | 'sqlite'): string;
7
7
  declare function collectionToDrizzleSchema(collection: CollectionConfig, dialect?: 'postgres' | 'sqlite'): string;
@@ -1,5 +1,5 @@
1
- import { F as Field } from '../types-DROqAsr0.cjs';
2
- export { A as ALL_FIELD_TYPES, a as ActionField, b as ArrayField, B as BaseField, c as Block, d as BlockAdmin, e as BlockImage, f as BlocksField, g as ButtonField, C as COMPLEX_FIELD_TYPES, h as CheckboxField, i as CodeField, j as CollapsibleField, k as ColorField, D as DateField, l as DeclarativeCondition, E as EmailField, m as EmbeddingField, n as FieldAccess, o as FieldAdmin, p as FieldType, G as GroupField, H as Hook, I as IconField, q as ImageField, J as JSONField, L as LAYOUT_FIELD_TYPES, r as ListField, M as MarkdownField, N as NumberField, P as PRIMITIVE_FIELD_TYPES, s as PasswordField, R as RELATIONAL_FIELD_TYPES, t as RadioField, u as RelationshipField, v as RichTextBlock, w as RichTextField, x as RowField, S as SecretField, y as SelectField, T as TabsField, z as TextField, K as TextFieldVariant, O as TextareaField, U as UploadField, V as ValidateOptions, Q as createRelationshipFieldConfig, W as isArrayField, X as isBlocksField, Y as isEmbeddingField, Z as isGroupField, _ as isIconField, $ as isImageField, a0 as isLayoutField, a1 as isNumberField, a2 as isRelationshipField, a3 as isRichTextField, a4 as isSelectField, a5 as isTextField, a6 as isUploadField } from '../types-DROqAsr0.cjs';
1
+ import { F as Field } from '../types-DxaK39ix.cjs';
2
+ export { A as ALL_FIELD_TYPES, a as ActionField, b as ArrayField, B as BaseField, c as Block, d as BlockAdmin, e as BlockImage, f as BlocksField, g as ButtonField, C as COMPLEX_FIELD_TYPES, h as CheckboxField, i as CodeField, j as CollapsibleField, k as ColorField, D as DateField, l as DeclarativeCondition, E as EmailField, m as EmbeddingField, n as FieldAccess, o as FieldAdmin, p as FieldType, G as GroupField, H as Hook, I as IconField, q as ImageField, J as JSONField, L as LAYOUT_FIELD_TYPES, r as ListField, M as MarkdownField, N as NumberField, P as PRIMITIVE_FIELD_TYPES, s as PasswordField, R as RELATIONAL_FIELD_TYPES, t as RadioField, u as RelationshipField, v as RichTextBlock, w as RichTextField, x as RowField, S as SecretField, y as SelectField, T as TabsField, z as TextField, K as TextFieldVariant, O as TextareaField, U as UploadField, V as ValidateOptions, Q as createRelationshipFieldConfig, W as isArrayField, X as isBlocksField, Y as isEmbeddingField, Z as isGroupField, _ as isIconField, $ as isImageField, a0 as isLayoutField, a1 as isNumberField, a2 as isRelationshipField, a3 as isRichTextField, a4 as isSelectField, a5 as isTextField, a6 as isUploadField } from '../types-DxaK39ix.cjs';
3
3
  export { n as normalizeRichTextValue, r as renderRichText, a as richTextStyles } from '../richtext-DrhORshE.cjs';
4
4
 
5
5
  declare function generateSEOFields(): Field;
@@ -1,5 +1,5 @@
1
- import { F as Field } from '../types-DROqAsr0.js';
2
- export { A as ALL_FIELD_TYPES, a as ActionField, b as ArrayField, B as BaseField, c as Block, d as BlockAdmin, e as BlockImage, f as BlocksField, g as ButtonField, C as COMPLEX_FIELD_TYPES, h as CheckboxField, i as CodeField, j as CollapsibleField, k as ColorField, D as DateField, l as DeclarativeCondition, E as EmailField, m as EmbeddingField, n as FieldAccess, o as FieldAdmin, p as FieldType, G as GroupField, H as Hook, I as IconField, q as ImageField, J as JSONField, L as LAYOUT_FIELD_TYPES, r as ListField, M as MarkdownField, N as NumberField, P as PRIMITIVE_FIELD_TYPES, s as PasswordField, R as RELATIONAL_FIELD_TYPES, t as RadioField, u as RelationshipField, v as RichTextBlock, w as RichTextField, x as RowField, S as SecretField, y as SelectField, T as TabsField, z as TextField, K as TextFieldVariant, O as TextareaField, U as UploadField, V as ValidateOptions, Q as createRelationshipFieldConfig, W as isArrayField, X as isBlocksField, Y as isEmbeddingField, Z as isGroupField, _ as isIconField, $ as isImageField, a0 as isLayoutField, a1 as isNumberField, a2 as isRelationshipField, a3 as isRichTextField, a4 as isSelectField, a5 as isTextField, a6 as isUploadField } from '../types-DROqAsr0.js';
1
+ import { F as Field } from '../types-DxaK39ix.js';
2
+ export { A as ALL_FIELD_TYPES, a as ActionField, b as ArrayField, B as BaseField, c as Block, d as BlockAdmin, e as BlockImage, f as BlocksField, g as ButtonField, C as COMPLEX_FIELD_TYPES, h as CheckboxField, i as CodeField, j as CollapsibleField, k as ColorField, D as DateField, l as DeclarativeCondition, E as EmailField, m as EmbeddingField, n as FieldAccess, o as FieldAdmin, p as FieldType, G as GroupField, H as Hook, I as IconField, q as ImageField, J as JSONField, L as LAYOUT_FIELD_TYPES, r as ListField, M as MarkdownField, N as NumberField, P as PRIMITIVE_FIELD_TYPES, s as PasswordField, R as RELATIONAL_FIELD_TYPES, t as RadioField, u as RelationshipField, v as RichTextBlock, w as RichTextField, x as RowField, S as SecretField, y as SelectField, T as TabsField, z as TextField, K as TextFieldVariant, O as TextareaField, U as UploadField, V as ValidateOptions, Q as createRelationshipFieldConfig, W as isArrayField, X as isBlocksField, Y as isEmbeddingField, Z as isGroupField, _ as isIconField, $ as isImageField, a0 as isLayoutField, a1 as isNumberField, a2 as isRelationshipField, a3 as isRichTextField, a4 as isSelectField, a5 as isTextField, a6 as isUploadField } from '../types-DxaK39ix.js';
3
3
  export { n as normalizeRichTextValue, r as renderRichText, a as richTextStyles } from '../richtext-DrhORshE.js';
4
4
 
5
5
  declare function generateSEOFields(): Field;
@@ -1,8 +1,8 @@
1
1
  import { GraphQLSchema } from 'graphql';
2
2
  export { printSchema } from 'graphql';
3
- import { B as BaseAdapter, i as User, R as Request } from '../types-B5Qz1svz.cjs';
4
- import { R as Registry } from '../index-BMcYFpTv.cjs';
5
- import '../types-DROqAsr0.cjs';
3
+ import { B as BaseAdapter, i as User, R as Request } from '../types-QglJ7PwT.cjs';
4
+ import { R as Registry } from '../index-Zrg3sZ6R.cjs';
5
+ import '../types-DxaK39ix.cjs';
6
6
  import 'zod';
7
7
 
8
8
  interface LoaderOptions {
@@ -1,8 +1,8 @@
1
1
  import { GraphQLSchema } from 'graphql';
2
2
  export { printSchema } from 'graphql';
3
- import { B as BaseAdapter, i as User, R as Request } from '../types-C4wXHImf.js';
4
- import { R as Registry } from '../index-CxA9uOv0.js';
5
- import '../types-DROqAsr0.js';
3
+ import { B as BaseAdapter, i as User, R as Request } from '../types-BCOhfwHC.js';
4
+ import { R as Registry } from '../index-NGnJpSgf.js';
5
+ import '../types-DxaK39ix.js';
6
6
  import 'zod';
7
7
 
8
8
  interface LoaderOptions {
@@ -0,0 +1,105 @@
1
+ import { S as StorageConfig, a as StorageProvider, C as CollectionConfig, G as GlobalConfig, K as KyroPlugin } from './types-CORUQhY-.js';
2
+ import { F as Field } from './types-DROqAsr0.js';
3
+ import { ZodTypeAny } from 'zod';
4
+
5
+ interface StorageProviderRegistration {
6
+ type: string;
7
+ displayName: string;
8
+ pluginName?: string;
9
+ configFields: Field[];
10
+ configKey?: string;
11
+ extractConfig: (storageConfig: StorageConfig, configKey: string) => any;
12
+ extractRawConfig: (config: any) => any;
13
+ factory: (config: any) => StorageProvider;
14
+ }
15
+ declare class StorageProviderRegistry {
16
+ private providers;
17
+ private providerToPlugin;
18
+ private disabledPlugins;
19
+ constructor();
20
+ private registerLocal;
21
+ private registerImgix;
22
+ private registerBunny;
23
+ private registerCloudflareR2;
24
+ private registerCloudflareS3;
25
+ register(registration: StorageProviderRegistration): void;
26
+ unregister(type: string): void;
27
+ get(type: string): StorageProviderRegistration | undefined;
28
+ getAll(): StorageProviderRegistration[];
29
+ getAllAvailable(isPluginEnabled?: (name: string) => boolean): StorageProviderRegistration[];
30
+ has(type: string): boolean;
31
+ resolve(type: string, storageConfig: StorageConfig): Promise<StorageProvider>;
32
+ resolveWithConfig(type: string, config: any): Promise<StorageProvider>;
33
+ getProviderPluginName(type: string): string | undefined;
34
+ getAllPluginNames(): string[];
35
+ setPluginEnabled(name: string, enabled: boolean): void;
36
+ isPluginEnabled(name: string): boolean;
37
+ }
38
+
39
+ declare class Registry {
40
+ storageProviders: StorageProviderRegistry;
41
+ private collections;
42
+ private globals;
43
+ private plugins;
44
+ private schemaCache;
45
+ private initialized;
46
+ addCollection(config: CollectionConfig): void;
47
+ addCollections(configs: CollectionConfig[]): void;
48
+ getCollection(slug: string): CollectionConfig | undefined;
49
+ getCollections(): CollectionConfig[];
50
+ getCollectionSlugs(): string[];
51
+ hasCollection(slug: string): boolean;
52
+ removeCollection(slug: string): boolean;
53
+ addGlobal(config: GlobalConfig): void;
54
+ /**
55
+ * Add a global after the registry is already initialized.
56
+ * Only for internal use (e.g. storage settings form built at startup).
57
+ */
58
+ addGlobalPostInit(config: GlobalConfig): void;
59
+ private _addGlobalUnsafe;
60
+ addGlobals(configs: GlobalConfig[]): void;
61
+ getGlobal(slug: string): GlobalConfig | undefined;
62
+ getGlobals(): GlobalConfig[];
63
+ getGlobalSlugs(): string[];
64
+ hasGlobal(slug: string): boolean;
65
+ removeGlobal(slug: string): boolean;
66
+ addPlugin(plugin: KyroPlugin): void;
67
+ getPlugins(): KyroPlugin[];
68
+ getZodSchema(slug: string): ZodTypeAny;
69
+ getCreateZodSchema(slug: string): ZodTypeAny;
70
+ getUpdateZodSchema(slug: string): ZodTypeAny;
71
+ getWhereZodSchema(slug: string): ZodTypeAny;
72
+ getFieldZodSchema(field: Field): ZodTypeAny;
73
+ private clearSchemaCache;
74
+ private applyFieldDefaults;
75
+ getFields(slug: string): Field[];
76
+ getFieldMap(slug: string): Map<string, Field>;
77
+ getVisibleFields(slug: string): Field[];
78
+ validate(): void;
79
+ init(kyroInstance?: any): Promise<void>;
80
+ isInitialized(): boolean;
81
+ getPaginationDefaults(slug: string): {
82
+ defaultLimit: number;
83
+ limits: number[];
84
+ };
85
+ getDefaultSort(slug: string): string;
86
+ getDefaultColumns(slug: string): string[];
87
+ getAdminTitle(slug: string): string;
88
+ getAdminLabel(slug: string): string;
89
+ getAdminGroup(slug: string): string | undefined;
90
+ getStats(): {
91
+ collections: number;
92
+ globals: number;
93
+ plugins: number;
94
+ fields: number;
95
+ };
96
+ toJSON(): {
97
+ collections: CollectionConfig[];
98
+ globals: GlobalConfig[];
99
+ };
100
+ }
101
+ declare function getRegistry(): Registry;
102
+ declare function resetRegistry(): void;
103
+ declare function createRegistry(): Registry;
104
+
105
+ export { Registry as R, createRegistry as c, getRegistry as g, resetRegistry as r };
@@ -0,0 +1,105 @@
1
+ import { S as StorageConfig, a as StorageProvider, C as CollectionConfig, G as GlobalConfig, K as KyroPlugin } from './types-IeKFn7Ky.js';
2
+ import { F as Field } from './types-B9oXBEKI.js';
3
+ import { ZodTypeAny } from 'zod';
4
+
5
+ interface StorageProviderRegistration {
6
+ type: string;
7
+ displayName: string;
8
+ pluginName?: string;
9
+ configFields: Field[];
10
+ configKey?: string;
11
+ extractConfig: (storageConfig: StorageConfig, configKey: string) => any;
12
+ extractRawConfig: (config: any) => any;
13
+ factory: (config: any) => StorageProvider;
14
+ }
15
+ declare class StorageProviderRegistry {
16
+ private providers;
17
+ private providerToPlugin;
18
+ private disabledPlugins;
19
+ constructor();
20
+ private registerLocal;
21
+ private registerImgix;
22
+ private registerBunny;
23
+ private registerCloudflareR2;
24
+ private registerCloudflareS3;
25
+ register(registration: StorageProviderRegistration): void;
26
+ unregister(type: string): void;
27
+ get(type: string): StorageProviderRegistration | undefined;
28
+ getAll(): StorageProviderRegistration[];
29
+ getAllAvailable(isPluginEnabled?: (name: string) => boolean): StorageProviderRegistration[];
30
+ has(type: string): boolean;
31
+ resolve(type: string, storageConfig: StorageConfig): Promise<StorageProvider>;
32
+ resolveWithConfig(type: string, config: any): Promise<StorageProvider>;
33
+ getProviderPluginName(type: string): string | undefined;
34
+ getAllPluginNames(): string[];
35
+ setPluginEnabled(name: string, enabled: boolean): void;
36
+ isPluginEnabled(name: string): boolean;
37
+ }
38
+
39
+ declare class Registry {
40
+ storageProviders: StorageProviderRegistry;
41
+ private collections;
42
+ private globals;
43
+ private plugins;
44
+ private schemaCache;
45
+ private initialized;
46
+ addCollection(config: CollectionConfig): void;
47
+ addCollections(configs: CollectionConfig[]): void;
48
+ getCollection(slug: string): CollectionConfig | undefined;
49
+ getCollections(): CollectionConfig[];
50
+ getCollectionSlugs(): string[];
51
+ hasCollection(slug: string): boolean;
52
+ removeCollection(slug: string): boolean;
53
+ addGlobal(config: GlobalConfig): void;
54
+ /**
55
+ * Add a global after the registry is already initialized.
56
+ * Only for internal use (e.g. storage settings form built at startup).
57
+ */
58
+ addGlobalPostInit(config: GlobalConfig): void;
59
+ private _addGlobalUnsafe;
60
+ addGlobals(configs: GlobalConfig[]): void;
61
+ getGlobal(slug: string): GlobalConfig | undefined;
62
+ getGlobals(): GlobalConfig[];
63
+ getGlobalSlugs(): string[];
64
+ hasGlobal(slug: string): boolean;
65
+ removeGlobal(slug: string): boolean;
66
+ addPlugin(plugin: KyroPlugin): void;
67
+ getPlugins(): KyroPlugin[];
68
+ getZodSchema(slug: string): ZodTypeAny;
69
+ getCreateZodSchema(slug: string): ZodTypeAny;
70
+ getUpdateZodSchema(slug: string): ZodTypeAny;
71
+ getWhereZodSchema(slug: string): ZodTypeAny;
72
+ getFieldZodSchema(field: Field): ZodTypeAny;
73
+ private clearSchemaCache;
74
+ private applyFieldDefaults;
75
+ getFields(slug: string): Field[];
76
+ getFieldMap(slug: string): Map<string, Field>;
77
+ getVisibleFields(slug: string): Field[];
78
+ validate(): void;
79
+ init(kyroInstance?: any): Promise<void>;
80
+ isInitialized(): boolean;
81
+ getPaginationDefaults(slug: string): {
82
+ defaultLimit: number;
83
+ limits: number[];
84
+ };
85
+ getDefaultSort(slug: string): string;
86
+ getDefaultColumns(slug: string): string[];
87
+ getAdminTitle(slug: string): string;
88
+ getAdminLabel(slug: string): string;
89
+ getAdminGroup(slug: string): string | undefined;
90
+ getStats(): {
91
+ collections: number;
92
+ globals: number;
93
+ plugins: number;
94
+ fields: number;
95
+ };
96
+ toJSON(): {
97
+ collections: CollectionConfig[];
98
+ globals: GlobalConfig[];
99
+ };
100
+ }
101
+ declare function getRegistry(): Registry;
102
+ declare function resetRegistry(): void;
103
+ declare function createRegistry(): Registry;
104
+
105
+ export { Registry as R, createRegistry as c, getRegistry as g, resetRegistry as r };