convex-cms 0.0.5-alpha.5 → 0.0.7-alpha.0

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 (296) hide show
  1. package/README.md +59 -97
  2. package/admin/src/components/ContentEntryEditor.tsx +2 -2
  3. package/admin/src/components/ContentTypeFormModal.tsx +121 -81
  4. package/admin/src/components/fields/ReferenceField.tsx +9 -9
  5. package/admin/src/pages/ContentPage.tsx +11 -19
  6. package/admin/src/pages/ContentTypesPage.tsx +62 -16
  7. package/admin/src/routes/entries/$entryId.tsx +1 -1
  8. package/admin/src/routes/entries/type/$contentTypeId.tsx +1 -1
  9. package/admin-dist/nitro.json +1 -1
  10. package/admin-dist/public/assets/CmsEmptyState-CXVkI3FZ.js +1 -0
  11. package/admin-dist/public/assets/CmsPageHeader-DU9fD34s.js +1 -0
  12. package/admin-dist/public/assets/{CmsStatusBadge-Dd9uToHE.js → CmsStatusBadge-nZ9TeLBL.js} +1 -1
  13. package/admin-dist/public/assets/{CmsSurface-DBy5Lumx.js → CmsSurface-DF7OcKg_.js} +1 -1
  14. package/admin-dist/public/assets/CmsToolbar-5S8FQrSx.js +1 -0
  15. package/admin-dist/public/assets/ContentEntryEditor-BDb44eTo.js +4 -0
  16. package/admin-dist/public/assets/TaxonomyFilter-DEN2Q9Lo.js +1 -0
  17. package/admin-dist/public/assets/_contentTypeId-Ba5iowxH.js +1 -0
  18. package/admin-dist/public/assets/_entryId-OY3sLz6O.js +1 -0
  19. package/admin-dist/public/assets/alert-BbW1Q9CR.js +1 -0
  20. package/admin-dist/public/assets/badge-DdM8Eua8.js +1 -0
  21. package/admin-dist/public/assets/{circle-check-big-CpLxAvEj.js → circle-check-big-B7eCOM8r.js} +1 -1
  22. package/admin-dist/public/assets/command-BIjzeKOv.js +1 -0
  23. package/admin-dist/public/assets/content-BV3YeSSW.js +1 -0
  24. package/admin-dist/public/assets/content-types-Bm4b2tf8.js +1 -0
  25. package/admin-dist/public/assets/globals-D41WzvyZ.css +1 -0
  26. package/admin-dist/public/assets/index-DnJ5Twlv.js +1 -0
  27. package/admin-dist/public/assets/main-BZB1uYTH.js +102 -0
  28. package/admin-dist/public/assets/media-BIMN5jXt.js +1 -0
  29. package/admin-dist/public/assets/new._contentTypeId-DTWb8ZDl.js +1 -0
  30. package/admin-dist/public/assets/pencil-BDQ1ZWRw.js +1 -0
  31. package/admin-dist/public/assets/{rotate-ccw-BZpZtw0N.js → rotate-ccw-BWblSIsl.js} +1 -1
  32. package/admin-dist/public/assets/scroll-area-BoaB6x8v.js +1 -0
  33. package/admin-dist/public/assets/{search-BvgYr-c9.js → search-CYMIpd39.js} +1 -1
  34. package/admin-dist/public/assets/settings-DaNDUtr5.js +1 -0
  35. package/admin-dist/public/assets/switch-DN7TOCa5.js +1 -0
  36. package/admin-dist/public/assets/tabs-RN__emeJ.js +1 -0
  37. package/admin-dist/public/assets/tanstack-adapter-DQcKErwf.js +1 -0
  38. package/admin-dist/public/assets/taxonomies-DylY9HE1.js +1 -0
  39. package/admin-dist/public/assets/trash-Dp_a2mpb.js +1 -0
  40. package/admin-dist/public/assets/{useBreadcrumbLabel-D00rvqjw.js → useBreadcrumbLabel-BQ9dJI6T.js} +1 -1
  41. package/admin-dist/public/assets/usePermissions-WUBNg_Id.js +1 -0
  42. package/admin-dist/server/_chunks/_libs/@date-fns/tz.mjs +2 -2
  43. package/admin-dist/server/_chunks/_libs/@radix-ui/react-avatar.mjs +1 -1
  44. package/admin-dist/server/_chunks/_libs/@radix-ui/react-collection.mjs +1 -1
  45. package/admin-dist/server/_chunks/_libs/@radix-ui/react-context.mjs +2 -2
  46. package/admin-dist/server/_chunks/_libs/@radix-ui/react-dialog.mjs +2 -2
  47. package/admin-dist/server/_chunks/_libs/@radix-ui/react-label.mjs +1 -1
  48. package/admin-dist/server/_chunks/_libs/@radix-ui/react-menu.mjs +1 -1
  49. package/admin-dist/server/_chunks/_libs/@radix-ui/react-popover.mjs +1 -1
  50. package/admin-dist/server/_chunks/_libs/@radix-ui/react-primitive.mjs +6 -72
  51. package/admin-dist/server/_chunks/_libs/@radix-ui/react-select.mjs +1 -1
  52. package/admin-dist/server/_chunks/_libs/@radix-ui/react-separator.mjs +1 -1
  53. package/admin-dist/server/_chunks/_libs/@radix-ui/react-slot.mjs +20 -435
  54. package/admin-dist/server/_chunks/_libs/@radix-ui/react-visually-hidden.mjs +30 -3
  55. package/admin-dist/server/_chunks/_libs/@tanstack/history.mjs +0 -376
  56. package/admin-dist/server/_chunks/_libs/@tanstack/react-router.mjs +168 -383
  57. package/admin-dist/server/_chunks/_libs/@tanstack/router-core.mjs +451 -1195
  58. package/admin-dist/server/_chunks/_libs/react-dom.mjs +5 -5
  59. package/admin-dist/server/_chunks/_libs/react.mjs +2 -2
  60. package/admin-dist/server/_libs/cmdk.mjs +1 -1
  61. package/admin-dist/server/_libs/convex.mjs +3 -3
  62. package/admin-dist/server/_libs/cookie-es.mjs +1 -58
  63. package/admin-dist/server/_libs/date-fns.mjs +1 -1
  64. package/admin-dist/server/_libs/lucide-react.mjs +110 -103
  65. package/admin-dist/server/_libs/seroval-plugins.mjs +1 -58
  66. package/admin-dist/server/_libs/seroval.mjs +1 -1765
  67. package/admin-dist/server/_libs/zod.mjs +1 -1
  68. package/admin-dist/server/_ssr/CmsEmptyState-DYh_PPQE.mjs +38 -0
  69. package/admin-dist/server/_ssr/{CmsPageHeader-ClNPU7Up.mjs → CmsPageHeader-BcniLh49.mjs} +1 -1
  70. package/admin-dist/server/_ssr/{CmsStatusBadge-CojMbrY7.mjs → CmsStatusBadge-BShWDxwE.mjs} +2 -2
  71. package/admin-dist/server/_ssr/{CmsSurface-Dcv440rp.mjs → CmsSurface-CHEv-Kba.mjs} +1 -1
  72. package/admin-dist/server/_ssr/{CmsToolbar-BKv1nL6u.mjs → CmsToolbar-Dqqb216_.mjs} +2 -3
  73. package/admin-dist/server/_ssr/{ContentEntryEditor-weiXSBdZ.mjs → ContentEntryEditor-DOIAyWME.mjs} +18 -21
  74. package/admin-dist/server/_ssr/{TaxonomyFilter-BPQ57Mwk.mjs → TaxonomyFilter-BfsPAZ-Y.mjs} +4 -5
  75. package/admin-dist/server/_ssr/{_contentTypeId-DyyauLOs.mjs → _contentTypeId-CPjmri90.mjs} +34 -43
  76. package/admin-dist/server/_ssr/{_entryId-9Cafwxmw.mjs → _entryId-D0yu8HuP.mjs} +35 -47
  77. package/admin-dist/server/_ssr/_tanstack-start-manifest_v-DgCpSt_y.mjs +4 -0
  78. package/admin-dist/server/_ssr/badge-Cp61aQNc.mjs +39 -0
  79. package/admin-dist/server/_ssr/{command-CEf8YBxY.mjs → command-BfjE1WJf.mjs} +2 -2
  80. package/admin-dist/server/_ssr/{config.server-D7JHDcDv.mjs → config.server-BOr7Jxr4.mjs} +5 -14
  81. package/admin-dist/server/_ssr/{content-ZFWVzO25.mjs → content-DrODe6sA.mjs} +40 -49
  82. package/admin-dist/server/_ssr/content-types-BPgMwxiT.mjs +459 -0
  83. package/admin-dist/server/_ssr/{index-BlSIlH4Z.mjs → index-BTHmIC9W.mjs} +26 -28
  84. package/admin-dist/server/_ssr/index.mjs +3459 -62
  85. package/admin-dist/server/_ssr/{media-CD2_NUMw.mjs → media-DkvBfmD9.mjs} +31 -43
  86. package/admin-dist/server/_ssr/{new._contentTypeId-dmZy6PBX.mjs → new._contentTypeId-Co_73sDJ.mjs} +33 -45
  87. package/admin-dist/server/_ssr/router-CaDgRHfQ.mjs +3031 -0
  88. package/admin-dist/server/_ssr/{scroll-area-BH_1K-WT.mjs → scroll-area-D3v-O_jk.mjs} +1 -1
  89. package/admin-dist/server/_ssr/{settings-DVdsoWoh.mjs → settings-MaEXh2Hz.mjs} +30 -39
  90. package/admin-dist/server/_ssr/{switch-DX_X8vZl.mjs → switch-DmbR03dm.mjs} +1 -1
  91. package/admin-dist/server/_ssr/{tabs-4FWM0sn8.mjs → tabs-5oFlAGLz.mjs} +2 -3
  92. package/admin-dist/server/_ssr/{tanstack-adapter-D3ZcKtbY.mjs → tanstack-adapter-DNaUioIZ.mjs} +1 -1
  93. package/admin-dist/server/_ssr/{taxonomies-BHFfO9Yr.mjs → taxonomies-D3xMK23a.mjs} +30 -39
  94. package/admin-dist/server/_ssr/{trash-9tUB2KwI.mjs → trash-CNw1mtF1.mjs} +30 -39
  95. package/admin-dist/server/_ssr/{useBreadcrumbLabel-DVme3DSb.mjs → useBreadcrumbLabel-BQGjOTcy.mjs} +1 -1
  96. package/admin-dist/server/_ssr/{usePermissions-zAQj-ruE.mjs → usePermissions-D0qtvmNi.mjs} +1 -1
  97. package/admin-dist/server/index.mjs +162 -204
  98. package/dist/cli/templates/cmsClient.d.ts +1 -1
  99. package/dist/cli/templates/cmsClient.d.ts.map +1 -1
  100. package/dist/cli/templates/cmsClient.js +30 -11
  101. package/dist/cli/templates/cmsClient.js.map +1 -1
  102. package/dist/cli/templates/cmsConfig.d.ts +1 -1
  103. package/dist/cli/templates/cmsConfig.d.ts.map +1 -1
  104. package/dist/cli/templates/cmsConfig.js +3 -3
  105. package/dist/client/admin/contentLock.d.ts +4 -4
  106. package/dist/client/admin/contentLock.d.ts.map +1 -1
  107. package/dist/client/admin/contentLock.js +1 -1
  108. package/dist/client/admin/contentLock.js.map +1 -1
  109. package/dist/client/admin/contentTypes.d.ts +303 -290
  110. package/dist/client/admin/contentTypes.d.ts.map +1 -1
  111. package/dist/client/admin/contentTypes.js +101 -9
  112. package/dist/client/admin/contentTypes.js.map +1 -1
  113. package/dist/client/admin/entries.d.ts +18 -19
  114. package/dist/client/admin/entries.d.ts.map +1 -1
  115. package/dist/client/admin/entries.js +6 -8
  116. package/dist/client/admin/entries.js.map +1 -1
  117. package/dist/client/admin/index.d.ts +690 -642
  118. package/dist/client/admin/index.d.ts.map +1 -1
  119. package/dist/client/admin/index.js +29 -5
  120. package/dist/client/admin/index.js.map +1 -1
  121. package/dist/client/admin/media.d.ts.map +1 -1
  122. package/dist/client/admin/taxonomies.d.ts.map +1 -1
  123. package/dist/client/admin/trash.d.ts +3 -4
  124. package/dist/client/admin/trash.d.ts.map +1 -1
  125. package/dist/client/admin/types.d.ts +181 -4
  126. package/dist/client/admin/types.d.ts.map +1 -1
  127. package/dist/client/admin/validators.d.ts +2009 -25
  128. package/dist/client/admin/validators.d.ts.map +1 -1
  129. package/dist/client/admin/validators.js +15 -4
  130. package/dist/client/admin/validators.js.map +1 -1
  131. package/dist/client/admin/versions.d.ts +1 -1
  132. package/dist/client/admin/versions.d.ts.map +1 -1
  133. package/dist/client/agentTools.d.ts +1 -4
  134. package/dist/client/agentTools.d.ts.map +1 -1
  135. package/dist/client/agentTools.js +9 -21
  136. package/dist/client/agentTools.js.map +1 -1
  137. package/dist/client/config.d.ts +10 -0
  138. package/dist/client/config.d.ts.map +1 -1
  139. package/dist/client/config.js +1 -0
  140. package/dist/client/config.js.map +1 -1
  141. package/dist/client/defineContent.d.ts +338 -0
  142. package/dist/client/defineContent.d.ts.map +1 -0
  143. package/dist/client/defineContent.js +368 -0
  144. package/dist/client/defineContent.js.map +1 -0
  145. package/dist/client/index.d.ts +2 -0
  146. package/dist/client/index.d.ts.map +1 -1
  147. package/dist/client/index.js +2 -0
  148. package/dist/client/index.js.map +1 -1
  149. package/dist/client/queryBuilder.d.ts +0 -15
  150. package/dist/client/queryBuilder.d.ts.map +1 -1
  151. package/dist/client/queryBuilder.js +0 -23
  152. package/dist/client/queryBuilder.js.map +1 -1
  153. package/dist/client/registry.d.ts +77 -0
  154. package/dist/client/registry.d.ts.map +1 -0
  155. package/dist/client/registry.js +95 -0
  156. package/dist/client/registry.js.map +1 -0
  157. package/dist/client/schema/defineContentType.d.ts +36 -24
  158. package/dist/client/schema/defineContentType.d.ts.map +1 -1
  159. package/dist/client/schema/defineContentType.js +77 -48
  160. package/dist/client/schema/defineContentType.js.map +1 -1
  161. package/dist/client/schema/typedClient.d.ts.map +1 -1
  162. package/dist/client/schema/typedClient.js +2 -10
  163. package/dist/client/schema/typedClient.js.map +1 -1
  164. package/dist/client/schema/types.d.ts +16 -9
  165. package/dist/client/schema/types.d.ts.map +1 -1
  166. package/dist/client/schema/types.js.map +1 -1
  167. package/dist/client/utils/toSlug.d.ts +60 -0
  168. package/dist/client/utils/toSlug.d.ts.map +1 -0
  169. package/dist/client/utils/toSlug.js +31 -0
  170. package/dist/client/utils/toSlug.js.map +1 -0
  171. package/dist/client/wrapper.d.ts +2 -2
  172. package/dist/client/wrapper.d.ts.map +1 -1
  173. package/dist/client/wrapper.js +22 -30
  174. package/dist/client/wrapper.js.map +1 -1
  175. package/dist/component/_generated/component.d.ts +24 -28
  176. package/dist/component/_generated/component.d.ts.map +1 -1
  177. package/dist/component/authorizationHooks.d.ts +1 -1
  178. package/dist/component/authorizationHooks.d.ts.map +1 -1
  179. package/dist/component/authorizationHooks.js +2 -2
  180. package/dist/component/authorizationHooks.js.map +1 -1
  181. package/dist/component/bulkOperations.d.ts.map +1 -1
  182. package/dist/component/bulkOperations.js +7 -4
  183. package/dist/component/bulkOperations.js.map +1 -1
  184. package/dist/component/contentEntries.d.ts +18 -56
  185. package/dist/component/contentEntries.d.ts.map +1 -1
  186. package/dist/component/contentEntries.js +45 -137
  187. package/dist/component/contentEntries.js.map +1 -1
  188. package/dist/component/contentEntryMutations.d.ts +14 -14
  189. package/dist/component/contentEntryMutations.d.ts.map +1 -1
  190. package/dist/component/contentEntryMutations.js +40 -43
  191. package/dist/component/contentEntryMutations.js.map +1 -1
  192. package/dist/component/contentEntryValidation.d.ts +3 -3
  193. package/dist/component/contentEntryValidation.js +6 -9
  194. package/dist/component/contentEntryValidation.js.map +1 -1
  195. package/dist/component/contentLock.d.ts +7 -7
  196. package/dist/component/contentLock.js +3 -3
  197. package/dist/component/contentLock.js.map +1 -1
  198. package/dist/component/contentTypeMigration.d.ts +1 -1
  199. package/dist/component/contentTypeMigration.js +2 -2
  200. package/dist/component/contentTypeMigration.js.map +1 -1
  201. package/dist/component/contentTypeMutations.js +2 -2
  202. package/dist/component/contentTypeMutations.js.map +1 -1
  203. package/dist/component/convex.config.d.ts.map +1 -1
  204. package/dist/component/convex.config.js +1 -1
  205. package/dist/component/convex.config.js.map +1 -1
  206. package/dist/component/eventEmitter.d.ts +0 -1
  207. package/dist/component/eventEmitter.d.ts.map +1 -1
  208. package/dist/component/eventEmitter.js.map +1 -1
  209. package/dist/component/exportImport.d.ts +37 -37
  210. package/dist/component/exportImport.d.ts.map +1 -1
  211. package/dist/component/exportImport.js +34 -34
  212. package/dist/component/exportImport.js.map +1 -1
  213. package/dist/component/lib/deepReferenceResolver.d.ts +2 -2
  214. package/dist/component/lib/deepReferenceResolver.d.ts.map +1 -1
  215. package/dist/component/lib/deepReferenceResolver.js +13 -8
  216. package/dist/component/lib/deepReferenceResolver.js.map +1 -1
  217. package/dist/component/lib/ragContentChunker.d.ts +3 -3
  218. package/dist/component/lib/ragContentChunker.d.ts.map +1 -1
  219. package/dist/component/lib/ragContentChunker.js +4 -4
  220. package/dist/component/lib/ragContentChunker.js.map +1 -1
  221. package/dist/component/lib/referenceResolver.d.ts.map +1 -1
  222. package/dist/component/lib/referenceResolver.js +10 -17
  223. package/dist/component/lib/referenceResolver.js.map +1 -1
  224. package/dist/component/mediaAssetMutations.js +4 -4
  225. package/dist/component/mediaAssetMutations.js.map +1 -1
  226. package/dist/component/ragContentIndexer.d.ts +2 -2
  227. package/dist/component/ragContentIndexer.d.ts.map +1 -1
  228. package/dist/component/ragContentIndexer.js +44 -48
  229. package/dist/component/ragContentIndexer.js.map +1 -1
  230. package/dist/component/roles.d.ts +3 -3
  231. package/dist/component/scheduledPublish.d.ts +4 -4
  232. package/dist/component/scheduledPublish.js +3 -3
  233. package/dist/component/scheduledPublish.js.map +1 -1
  234. package/dist/component/schema.d.ts +18 -18
  235. package/dist/component/schema.js +5 -5
  236. package/dist/component/schema.js.map +1 -1
  237. package/dist/component/trash.d.ts +6 -9
  238. package/dist/component/trash.d.ts.map +1 -1
  239. package/dist/component/trash.js +12 -36
  240. package/dist/component/trash.js.map +1 -1
  241. package/dist/component/userContext.d.ts +1 -2
  242. package/dist/component/userContext.d.ts.map +1 -1
  243. package/dist/component/userContext.js +1 -2
  244. package/dist/component/userContext.js.map +1 -1
  245. package/dist/component/validators.d.ts +27 -33
  246. package/dist/component/validators.d.ts.map +1 -1
  247. package/dist/component/validators.js +3 -5
  248. package/dist/component/validators.js.map +1 -1
  249. package/dist/component/versionMutations.d.ts +1 -1
  250. package/dist/component/webhookTrigger.d.ts +14 -14
  251. package/dist/test.d.ts +30 -30
  252. package/dist/test.d.ts.map +1 -1
  253. package/dist/test.js +24 -24
  254. package/dist/test.js.map +1 -1
  255. package/package.json +1 -1
  256. package/admin-dist/public/assets/CmsEmptyState-Do_erIgn.js +0 -5
  257. package/admin-dist/public/assets/CmsPageHeader-qDwPGi48.js +0 -1
  258. package/admin-dist/public/assets/CmsToolbar-D1-Y-7SK.js +0 -1
  259. package/admin-dist/public/assets/ContentEntryEditor-CWBiIx52.js +0 -4
  260. package/admin-dist/public/assets/TaxonomyFilter-CdYQawxb.js +0 -1
  261. package/admin-dist/public/assets/_contentTypeId-D9VMP6Gs.js +0 -1
  262. package/admin-dist/public/assets/_entryId-2FlCfqE7.js +0 -1
  263. package/admin-dist/public/assets/alert-GxZx0y5c.js +0 -1
  264. package/admin-dist/public/assets/badge-BAlGIjop.js +0 -1
  265. package/admin-dist/public/assets/command-di7XCqcv.js +0 -1
  266. package/admin-dist/public/assets/content-D8zELsDG.js +0 -1
  267. package/admin-dist/public/assets/content-types-BmzD0krT.js +0 -2
  268. package/admin-dist/public/assets/globals-BvFfH-v9.css +0 -1
  269. package/admin-dist/public/assets/index-zqfj4T_v.js +0 -1
  270. package/admin-dist/public/assets/label-B6PPtKR5.js +0 -1
  271. package/admin-dist/public/assets/link-2-W2fVnVOf.js +0 -1
  272. package/admin-dist/public/assets/list-F8O0lZXC.js +0 -1
  273. package/admin-dist/public/assets/main-dZT72bAG.js +0 -97
  274. package/admin-dist/public/assets/media-CETueFbV.js +0 -1
  275. package/admin-dist/public/assets/new._contentTypeId-BV2-TyyR.js +0 -1
  276. package/admin-dist/public/assets/plus-AABQIF0N.js +0 -1
  277. package/admin-dist/public/assets/scroll-area-CDfk-zrz.js +0 -1
  278. package/admin-dist/public/assets/select-BuiHcMzS.js +0 -1
  279. package/admin-dist/public/assets/settings-DBxbYDvn.js +0 -1
  280. package/admin-dist/public/assets/switch-DiJvolcs.js +0 -1
  281. package/admin-dist/public/assets/tabs-Cgz6G_Xy.js +0 -1
  282. package/admin-dist/public/assets/tanstack-adapter-BknsSgra.js +0 -1
  283. package/admin-dist/public/assets/taxonomies-DOErsLl5.js +0 -1
  284. package/admin-dist/public/assets/textarea-CgggMxUX.js +0 -1
  285. package/admin-dist/public/assets/trash-BU4ANuaW.js +0 -1
  286. package/admin-dist/public/assets/triangle-alert-lvCbwp0s.js +0 -1
  287. package/admin-dist/public/assets/usePermissions-D7tQowaF.js +0 -1
  288. package/admin-dist/server/_libs/h3-v2.mjs +0 -277
  289. package/admin-dist/server/_ssr/CmsButton-DbzfJru_.mjs +0 -125
  290. package/admin-dist/server/_ssr/CmsEmptyState-CuvcXr3Z.mjs +0 -290
  291. package/admin-dist/server/_ssr/_tanstack-start-manifest_v-Dk-FIYPN.mjs +0 -4
  292. package/admin-dist/server/_ssr/content-types-D25lUE-j.mjs +0 -1312
  293. package/admin-dist/server/_ssr/label-PblVvdRv.mjs +0 -22
  294. package/admin-dist/server/_ssr/router-x6Ab8T4s.mjs +0 -1622
  295. package/admin-dist/server/_ssr/select-CrfEkFJw.mjs +0 -142
  296. package/admin-dist/server/_ssr/textarea-CZVaroMc.mjs +0 -18
@@ -0,0 +1,338 @@
1
+ /**
2
+ * defineContent API
3
+ *
4
+ * Creates type-safe content type definitions with typed helper methods.
5
+ * This is the core of the "no-sync" architecture - types live in code,
6
+ * not in the database.
7
+ *
8
+ * @example
9
+ * ```typescript
10
+ * // convex/cms.ts
11
+ * import { createCms } from "convex-cms";
12
+ * import { components } from "./_generated/api";
13
+ * import { v } from "convex/values";
14
+ * import cmsConfig from "./cms.config";
15
+ *
16
+ * const cms = createCms(components.convexCms, cmsConfig);
17
+ *
18
+ * export const blogPost = cms.defineContent({
19
+ * name: "Blog Post",
20
+ * fields: v.object({
21
+ * title: v.string(),
22
+ * content: v.string(),
23
+ * }),
24
+ * display: {
25
+ * titleField: "title",
26
+ * icon: "📝",
27
+ * },
28
+ * });
29
+ *
30
+ * // Export admin API for the admin UI
31
+ * export const admin = cms.admin;
32
+ *
33
+ * // Usage in Convex functions:
34
+ * const post = await blogPost.get(ctx, { id: "..." });
35
+ * post.data.title; // ✅ Typed as string
36
+ *
37
+ * await blogPost.create(ctx, {
38
+ * data: { title: "Hello", content: "World" },
39
+ * slug: "hello-world",
40
+ * });
41
+ * ```
42
+ */
43
+ import type { Infer, Validator } from "convex/values";
44
+ import type { GenericMutationCtx, GenericQueryCtx, GenericDataModel } from "convex/server";
45
+ import type { ComponentApi as GeneratedComponentApi } from "../component/_generated/component.js";
46
+ import type { ContentTypeMeta, FieldMeta } from "./schema/types.js";
47
+ import type { ComponentConfig, ResolvedComponentConfig, FeatureFlags, LocaleCode } from "./types.js";
48
+ import type { UnifiedCmsConfig } from "./config.js";
49
+ import { defineContentType } from "./schema/defineContentType.js";
50
+ import { defineAdminAPI } from "./admin/index.js";
51
+ import type { CmsClient, ContentTypesApi, ContentEntriesApi, VersionsApi, MediaAssetsApi, MediaFoldersApi, MediaVariantsApi } from "./wrapper.js";
52
+ type QueryCtx = Pick<GenericQueryCtx<GenericDataModel>, "runQuery">;
53
+ type MutationCtx = Pick<GenericMutationCtx<GenericDataModel>, "runMutation" | "runQuery">;
54
+ /**
55
+ * Display configuration for a content type.
56
+ */
57
+ export interface ContentDisplayConfig<TFieldNames extends string = string> {
58
+ titleField?: TFieldNames;
59
+ slugField?: TFieldNames;
60
+ icon?: string;
61
+ description?: string;
62
+ singleton?: boolean;
63
+ sortOrder?: number;
64
+ fields?: Partial<Record<TFieldNames, FieldMeta>>;
65
+ }
66
+ /**
67
+ * Configuration for defineContent.
68
+ */
69
+ export interface DefineContentConfig<TValidator extends Validator<Record<string, unknown>, "required", string>> {
70
+ name: string;
71
+ fields: TValidator;
72
+ display?: ContentDisplayConfig<TValidator extends Validator<infer T, "required", string> ? T extends Record<string, unknown> ? keyof T & string : string : string>;
73
+ }
74
+ /**
75
+ * A content entry with typed data.
76
+ */
77
+ export interface ContentEntryWithData<TData> {
78
+ _id: string;
79
+ _creationTime: number;
80
+ contentTypeName: string;
81
+ slug: string;
82
+ status: "draft" | "published" | "archived" | "scheduled";
83
+ data: TData;
84
+ version: number;
85
+ locale?: string;
86
+ createdBy?: string;
87
+ updatedBy?: string;
88
+ firstPublishedAt?: number;
89
+ lastPublishedAt?: number;
90
+ scheduledPublishAt?: number;
91
+ deletedAt?: number;
92
+ }
93
+ /**
94
+ * Pagination options for list operations.
95
+ */
96
+ export interface DefineContentListOptions {
97
+ paginationOpts?: {
98
+ numItems: number;
99
+ cursor: string | null;
100
+ };
101
+ status?: "draft" | "published" | "archived" | "scheduled";
102
+ locale?: string;
103
+ includeDeleted?: boolean;
104
+ }
105
+ /**
106
+ * Pagination result for list operations.
107
+ */
108
+ export interface DefineContentPaginatedResult<T> {
109
+ page: T[];
110
+ continueCursor: string | null;
111
+ isDone: boolean;
112
+ }
113
+ /**
114
+ * Content type helpers returned by defineContent.
115
+ */
116
+ export interface ContentTypeHelpers<TData extends Record<string, unknown>> {
117
+ readonly name: string;
118
+ readonly slug: string;
119
+ readonly definition: ReturnType<typeof defineContentType>;
120
+ get(ctx: QueryCtx | MutationCtx, args: {
121
+ id: string;
122
+ }): Promise<ContentEntryWithData<TData> | null>;
123
+ getBySlug(ctx: QueryCtx | MutationCtx, args: {
124
+ slug: string;
125
+ status?: string;
126
+ }): Promise<ContentEntryWithData<TData> | null>;
127
+ list(ctx: QueryCtx | MutationCtx, args?: DefineContentListOptions): Promise<DefineContentPaginatedResult<ContentEntryWithData<TData>>>;
128
+ create(ctx: MutationCtx, args: {
129
+ data: TData;
130
+ slug?: string;
131
+ status?: "draft" | "published";
132
+ locale?: string;
133
+ createdBy?: string;
134
+ }): Promise<ContentEntryWithData<TData>>;
135
+ update(ctx: MutationCtx, args: {
136
+ id: string;
137
+ data?: Partial<TData>;
138
+ slug?: string;
139
+ updatedBy?: string;
140
+ }): Promise<ContentEntryWithData<TData>>;
141
+ publish(ctx: MutationCtx, args: {
142
+ id: string;
143
+ updatedBy?: string;
144
+ }): Promise<ContentEntryWithData<TData>>;
145
+ unpublish(ctx: MutationCtx, args: {
146
+ id: string;
147
+ updatedBy?: string;
148
+ }): Promise<ContentEntryWithData<TData>>;
149
+ delete(ctx: MutationCtx, args: {
150
+ id: string;
151
+ deletedBy?: string;
152
+ hardDelete?: boolean;
153
+ }): Promise<ContentEntryWithData<TData>>;
154
+ }
155
+ /**
156
+ * Admin API type returned by defineAdminAPI.
157
+ */
158
+ export type AdminApi = ReturnType<typeof defineAdminAPI>;
159
+ /**
160
+ * CMS instance created by createCms.
161
+ *
162
+ * Provides a unified API for:
163
+ * - Defining content types with `defineContent()`
164
+ * - Admin API operations via `admin`
165
+ * - Direct access to CmsClient namespaces (contentTypes, contentEntries, etc.)
166
+ * - Locale configuration via `locale`
167
+ * - Configuration access via `config`
168
+ */
169
+ export interface CmsInstance {
170
+ /**
171
+ * Define a content type with type-safe helpers.
172
+ *
173
+ * The content type is automatically registered in the in-memory registry
174
+ * and will be available in the admin API.
175
+ */
176
+ defineContent<TValidator extends Validator<Record<string, unknown>, "required", string>>(config: DefineContentConfig<TValidator>): ContentTypeHelpers<Infer<TValidator>>;
177
+ /**
178
+ * Admin API for the admin UI.
179
+ *
180
+ * Export this from your cms.ts file to make admin operations available:
181
+ * ```typescript
182
+ * export const admin = cms.admin;
183
+ * ```
184
+ */
185
+ readonly admin: AdminApi;
186
+ /**
187
+ * The underlying CmsClient instance.
188
+ *
189
+ * Use this for advanced operations or when you need direct access
190
+ * to CmsClient methods.
191
+ */
192
+ readonly client: CmsClient;
193
+ /**
194
+ * Content type management operations.
195
+ * Delegated from CmsClient.
196
+ */
197
+ readonly contentTypes: ContentTypesApi;
198
+ /**
199
+ * Content entry CRUD and workflow operations.
200
+ * Delegated from CmsClient.
201
+ */
202
+ readonly contentEntries: ContentEntriesApi;
203
+ /**
204
+ * Content version history operations.
205
+ * Delegated from CmsClient.
206
+ */
207
+ readonly versions: VersionsApi;
208
+ /**
209
+ * Media asset management operations.
210
+ * Delegated from CmsClient.
211
+ */
212
+ readonly mediaAssets: MediaAssetsApi;
213
+ /**
214
+ * Media folder organization operations.
215
+ * Delegated from CmsClient.
216
+ */
217
+ readonly mediaFolders: MediaFoldersApi;
218
+ /**
219
+ * Media variant operations (thumbnails, responsive sizes, format conversions).
220
+ * Delegated from CmsClient.
221
+ */
222
+ readonly mediaVariants: MediaVariantsApi;
223
+ /**
224
+ * The resolved configuration for this CMS instance.
225
+ */
226
+ readonly config: ResolvedComponentConfig;
227
+ /**
228
+ * Check if a specific feature is enabled.
229
+ */
230
+ isFeatureEnabled(feature: keyof FeatureFlags): boolean;
231
+ /**
232
+ * Check if a locale is supported by this configuration.
233
+ */
234
+ isLocaleSupported(locale: LocaleCode): boolean;
235
+ }
236
+ /**
237
+ * Creates a unified CMS instance with all functionality.
238
+ *
239
+ * This is the main entry point for using convex-cms. It provides:
240
+ * - `defineContent()` for type-safe content type definitions
241
+ * - `admin` for admin UI operations
242
+ * - All CmsClient namespaces (contentTypes, contentEntries, etc.)
243
+ *
244
+ * @param componentApi - The CMS component API from components.convexCms
245
+ * @param config - Optional unified CMS configuration
246
+ * @returns A unified CMS instance
247
+ *
248
+ * @example
249
+ * ```typescript
250
+ * // convex/cms.ts
251
+ * import { createCms } from "convex-cms";
252
+ * import { components } from "./_generated/api";
253
+ * import cmsConfig from "./cms.config";
254
+ *
255
+ * const cms = createCms(components.convexCms, cmsConfig);
256
+ *
257
+ * export const blogPost = cms.defineContent({
258
+ * name: "Blog Post",
259
+ * fields: v.object({ title: v.string(), content: v.string() }),
260
+ * display: { titleField: "title" },
261
+ * });
262
+ *
263
+ * // Export admin API for the admin UI
264
+ * export const admin = cms.admin;
265
+ * ```
266
+ */
267
+ export declare function createCms(componentApi: GeneratedComponentApi, config?: ComponentConfig | UnifiedCmsConfig): CmsInstance;
268
+ /**
269
+ * Infer the data type from a ContentTypeDefinition's validator.
270
+ */
271
+ type InferDefinitionData<T> = T extends {
272
+ validator: Validator<infer D, "required", string>;
273
+ } ? D : Record<string, unknown>;
274
+ /**
275
+ * Typed helpers for a collection of content type definitions.
276
+ */
277
+ export type TypedHelpersResult<T extends Record<string, {
278
+ slug: string;
279
+ validator: Validator<Record<string, unknown>, "required", string>;
280
+ }>> = {
281
+ [K in keyof T]: ContentTypeHelpers<InferDefinitionData<T[K]>>;
282
+ };
283
+ /**
284
+ * Creates typed CRUD helpers from content type definitions.
285
+ *
286
+ * This bridges `defineContentType()` definitions with type-safe helper methods.
287
+ * Use this when you want type-safe data access without using `createCms().defineContent()`.
288
+ *
289
+ * @example
290
+ * ```typescript
291
+ * // convex/cms.ts
292
+ * import { defineContentType, createTypedHelpers } from "convex-cms";
293
+ * import { components } from "./_generated/api";
294
+ * import { v } from "convex/values";
295
+ *
296
+ * // Define content types (for admin API and type info)
297
+ * export const roadmapItem = defineContentType({
298
+ * name: "Roadmap Item",
299
+ * validator: v.object({
300
+ * title: v.string(),
301
+ * status: v.union(v.literal("planned"), v.literal("completed")),
302
+ * }),
303
+ * meta: { titleField: "title" },
304
+ * });
305
+ *
306
+ * export const changelogEntry = defineContentType({
307
+ * name: "Changelog Entry",
308
+ * validator: v.object({
309
+ * title: v.string(),
310
+ * version: v.string(),
311
+ * }),
312
+ * meta: { titleField: "title" },
313
+ * });
314
+ *
315
+ * // Create typed helpers for programmatic access
316
+ * export const content = createTypedHelpers(components.cms, {
317
+ * roadmap: roadmapItem,
318
+ * changelog: changelogEntry,
319
+ * });
320
+ *
321
+ * // Usage in Convex functions:
322
+ * const items = await content.roadmap.list(ctx, { status: "published" });
323
+ * items.page[0].data.title; // ✅ Typed as string
324
+ * items.page[0].data.status; // ✅ Typed as "planned" | "completed"
325
+ * ```
326
+ *
327
+ * @param componentApi - The CMS component API (components.cms)
328
+ * @param definitions - A record of content type definitions
329
+ * @returns An object with typed helper methods for each content type
330
+ */
331
+ export declare function createTypedHelpers<T extends Record<string, {
332
+ slug: string;
333
+ validator: Validator<Record<string, unknown>, "required", string>;
334
+ name: string;
335
+ meta: ContentTypeMeta;
336
+ }>>(componentApi: GeneratedComponentApi, definitions: T): TypedHelpersResult<T>;
337
+ export {};
338
+ //# sourceMappingURL=defineContent.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"defineContent.d.ts","sourceRoot":"","sources":["../../src/client/defineContent.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AACtD,OAAO,KAAK,EACV,kBAAkB,EAClB,eAAe,EACf,gBAAgB,EACjB,MAAM,eAAe,CAAC;AACvB,OAAO,KAAK,EAAE,YAAY,IAAI,qBAAqB,EAAE,MAAM,sCAAsC,CAAC;AAClG,OAAO,KAAK,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AACpE,OAAO,KAAK,EAAE,eAAe,EAAE,uBAAuB,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACrG,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAGlE,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,KAAK,EACV,SAAS,EACT,eAAe,EACf,iBAAiB,EACjB,WAAW,EACX,cAAc,EACd,eAAe,EACf,gBAAgB,EACjB,MAAM,cAAc,CAAC;AAEtB,KAAK,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,gBAAgB,CAAC,EAAE,UAAU,CAAC,CAAC;AACpE,KAAK,WAAW,GAAG,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,EAAE,aAAa,GAAG,UAAU,CAAC,CAAC;AAE1F;;GAEG;AACH,MAAM,WAAW,oBAAoB,CAAC,WAAW,SAAS,MAAM,GAAG,MAAM;IACvE,UAAU,CAAC,EAAE,WAAW,CAAC;IACzB,SAAS,CAAC,EAAE,WAAW,CAAC;IACxB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC,CAAC;CAClD;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB,CAClC,UAAU,SAAS,SAAS,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,UAAU,EAAE,MAAM,CAAC;IAEzE,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,UAAU,CAAC;IACnB,OAAO,CAAC,EAAE,oBAAoB,CAC5B,UAAU,SAAS,SAAS,CAAC,MAAM,CAAC,EAAE,UAAU,EAAE,MAAM,CAAC,GACrD,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC/B,MAAM,CAAC,GAAG,MAAM,GAChB,MAAM,GACR,MAAM,CACX,CAAC;CACH;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB,CAAC,KAAK;IACzC,GAAG,EAAE,MAAM,CAAC;IACZ,aAAa,EAAE,MAAM,CAAC;IACtB,eAAe,EAAE,MAAM,CAAC;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,OAAO,GAAG,WAAW,GAAG,UAAU,GAAG,WAAW,CAAC;IACzD,IAAI,EAAE,KAAK,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC,cAAc,CAAC,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC;IAC7D,MAAM,CAAC,EAAE,OAAO,GAAG,WAAW,GAAG,UAAU,GAAG,WAAW,CAAC;IAC1D,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,4BAA4B,CAAC,CAAC;IAC7C,IAAI,EAAE,CAAC,EAAE,CAAC;IACV,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,MAAM,EAAE,OAAO,CAAC;CACjB;AASD;;GAEG;AACH,MAAM,WAAW,kBAAkB,CAAC,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IACvE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC,OAAO,iBAAiB,CAAC,CAAC;IAE1D,GAAG,CACD,GAAG,EAAE,QAAQ,GAAG,WAAW,EAC3B,IAAI,EAAE;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,GACnB,OAAO,CAAC,oBAAoB,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC;IAE/C,SAAS,CACP,GAAG,EAAE,QAAQ,GAAG,WAAW,EAC3B,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,GACtC,OAAO,CAAC,oBAAoB,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC;IAE/C,IAAI,CACF,GAAG,EAAE,QAAQ,GAAG,WAAW,EAC3B,IAAI,CAAC,EAAE,wBAAwB,GAC9B,OAAO,CAAC,4BAA4B,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAEtE,MAAM,CACJ,GAAG,EAAE,WAAW,EAChB,IAAI,EAAE;QACJ,IAAI,EAAE,KAAK,CAAC;QACZ,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,MAAM,CAAC,EAAE,OAAO,GAAG,WAAW,CAAC;QAC/B,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,GACA,OAAO,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC,CAAC;IAExC,MAAM,CACJ,GAAG,EAAE,WAAW,EAChB,IAAI,EAAE;QACJ,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;QACtB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,GACA,OAAO,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC,CAAC;IAExC,OAAO,CACL,GAAG,EAAE,WAAW,EAChB,IAAI,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,GACvC,OAAO,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC,CAAC;IAExC,SAAS,CACP,GAAG,EAAE,WAAW,EAChB,IAAI,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,GACvC,OAAO,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC,CAAC;IAExC,MAAM,CACJ,GAAG,EAAE,WAAW,EAChB,IAAI,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,OAAO,CAAA;KAAE,GAC7D,OAAO,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC,CAAC;CACzC;AAED;;GAEG;AACH,MAAM,MAAM,QAAQ,GAAG,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC;AAEzD;;;;;;;;;GASG;AACH,MAAM,WAAW,WAAW;IAC1B;;;;;OAKG;IACH,aAAa,CACX,UAAU,SAAS,SAAS,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,UAAU,EAAE,MAAM,CAAC,EAEzE,MAAM,EAAE,mBAAmB,CAAC,UAAU,CAAC,GACtC,kBAAkB,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC;IAEzC;;;;;;;OAOG;IACH,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC;IAEzB;;;;;OAKG;IACH,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC;IAE3B;;;OAGG;IACH,QAAQ,CAAC,YAAY,EAAE,eAAe,CAAC;IAEvC;;;OAGG;IACH,QAAQ,CAAC,cAAc,EAAE,iBAAiB,CAAC;IAE3C;;;OAGG;IACH,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAC;IAE/B;;;OAGG;IACH,QAAQ,CAAC,WAAW,EAAE,cAAc,CAAC;IAErC;;;OAGG;IACH,QAAQ,CAAC,YAAY,EAAE,eAAe,CAAC;IAEvC;;;OAGG;IACH,QAAQ,CAAC,aAAa,EAAE,gBAAgB,CAAC;IAEzC;;OAEG;IACH,QAAQ,CAAC,MAAM,EAAE,uBAAuB,CAAC;IAEzC;;OAEG;IACH,gBAAgB,CAAC,OAAO,EAAE,MAAM,YAAY,GAAG,OAAO,CAAC;IAEvD;;OAEG;IACH,iBAAiB,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC;CAChD;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,wBAAgB,SAAS,CACvB,YAAY,EAAE,qBAAqB,EACnC,MAAM,CAAC,EAAE,eAAe,GAAG,gBAAgB,GAC1C,WAAW,CAuMb;AAMD;;GAEG;AACH,KAAK,mBAAmB,CAAC,CAAC,IAAI,CAAC,SAAS;IAAE,SAAS,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,UAAU,EAAE,MAAM,CAAC,CAAA;CAAE,GACzF,CAAC,GACD,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAE5B;;GAEG;AACH,MAAM,MAAM,kBAAkB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,SAAS,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,UAAU,EAAE,MAAM,CAAC,CAAA;CAAE,CAAC,IAAI;KAC7I,CAAC,IAAI,MAAM,CAAC,GAAG,kBAAkB,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAC9D,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+CG;AACH,wBAAgB,kBAAkB,CAChC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,SAAS,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,eAAe,CAAA;CAAE,CAAC,EAElJ,YAAY,EAAE,qBAAqB,EACnC,WAAW,EAAE,CAAC,GACb,kBAAkB,CAAC,CAAC,CAAC,CAmGvB"}