@upstart.gg/sdk 0.0.135 → 0.0.136

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 (258) hide show
  1. package/dist/shared/ai/schemas.d.ts +11 -2
  2. package/dist/shared/ai/schemas.d.ts.map +1 -1
  3. package/dist/shared/ai/schemas.js +43 -8
  4. package/dist/shared/ai/schemas.js.map +1 -1
  5. package/dist/shared/ai/types.d.ts +125 -65
  6. package/dist/shared/ai/types.d.ts.map +1 -1
  7. package/dist/shared/ajv.js +2 -2
  8. package/dist/shared/attributes.d.ts +3 -1
  9. package/dist/shared/attributes.d.ts.map +1 -1
  10. package/dist/shared/attributes.js +9 -9
  11. package/dist/shared/brick-manifest.js +4 -4
  12. package/dist/shared/bricks/manifests/_types.d.ts +9 -0
  13. package/dist/shared/bricks/manifests/_types.d.ts.map +1 -0
  14. package/dist/shared/bricks/manifests/_types.js +3 -0
  15. package/dist/shared/bricks/manifests/_types.js.map +1 -0
  16. package/dist/shared/bricks/manifests/accordion.manifest.d.ts +2 -6
  17. package/dist/shared/bricks/manifests/accordion.manifest.d.ts.map +1 -1
  18. package/dist/shared/bricks/manifests/accordion.manifest.js +5 -5
  19. package/dist/shared/bricks/manifests/all-manifests.d.ts.map +1 -1
  20. package/dist/shared/bricks/manifests/all-manifests.js +28 -28
  21. package/dist/shared/bricks/manifests/box.manifest.d.ts +2 -6
  22. package/dist/shared/bricks/manifests/box.manifest.d.ts.map +1 -1
  23. package/dist/shared/bricks/manifests/box.manifest.js +5 -5
  24. package/dist/shared/bricks/manifests/button.manifest.d.ts +2 -6
  25. package/dist/shared/bricks/manifests/button.manifest.d.ts.map +1 -1
  26. package/dist/shared/bricks/manifests/button.manifest.js +5 -5
  27. package/dist/shared/bricks/manifests/card.manifest.d.ts +8 -7
  28. package/dist/shared/bricks/manifests/card.manifest.d.ts.map +1 -1
  29. package/dist/shared/bricks/manifests/card.manifest.js +5 -5
  30. package/dist/shared/bricks/manifests/carousel.manifest.d.ts +2 -6
  31. package/dist/shared/bricks/manifests/carousel.manifest.d.ts.map +1 -1
  32. package/dist/shared/bricks/manifests/carousel.manifest.js +5 -5
  33. package/dist/shared/bricks/manifests/footer.manifest.d.ts +2 -6
  34. package/dist/shared/bricks/manifests/footer.manifest.d.ts.map +1 -1
  35. package/dist/shared/bricks/manifests/footer.manifest.js +5 -5
  36. package/dist/shared/bricks/manifests/form.manifest.d.ts +2 -6
  37. package/dist/shared/bricks/manifests/form.manifest.d.ts.map +1 -1
  38. package/dist/shared/bricks/manifests/form.manifest.js +5 -5
  39. package/dist/shared/bricks/manifests/hero.manifest.d.ts +2 -6
  40. package/dist/shared/bricks/manifests/hero.manifest.d.ts.map +1 -1
  41. package/dist/shared/bricks/manifests/hero.manifest.js +5 -5
  42. package/dist/shared/bricks/manifests/html.manifest.d.ts +2 -6
  43. package/dist/shared/bricks/manifests/html.manifest.d.ts.map +1 -1
  44. package/dist/shared/bricks/manifests/html.manifest.js +5 -5
  45. package/dist/shared/bricks/manifests/icon.manifest.d.ts +2 -6
  46. package/dist/shared/bricks/manifests/icon.manifest.d.ts.map +1 -1
  47. package/dist/shared/bricks/manifests/icon.manifest.js +5 -5
  48. package/dist/shared/bricks/manifests/image.manifest.d.ts +1 -0
  49. package/dist/shared/bricks/manifests/image.manifest.d.ts.map +1 -1
  50. package/dist/shared/bricks/manifests/image.manifest.js +5 -5
  51. package/dist/shared/bricks/manifests/images-gallery.manifest.d.ts +2 -6
  52. package/dist/shared/bricks/manifests/images-gallery.manifest.d.ts.map +1 -1
  53. package/dist/shared/bricks/manifests/images-gallery.manifest.js +5 -5
  54. package/dist/shared/bricks/manifests/map.manifest.d.ts +2 -6
  55. package/dist/shared/bricks/manifests/map.manifest.d.ts.map +1 -1
  56. package/dist/shared/bricks/manifests/map.manifest.js +5 -5
  57. package/dist/shared/bricks/manifests/navbar.manifest.d.ts +2 -6
  58. package/dist/shared/bricks/manifests/navbar.manifest.d.ts.map +1 -1
  59. package/dist/shared/bricks/manifests/navbar.manifest.js +5 -5
  60. package/dist/shared/bricks/manifests/sidebar.manifest.d.ts +2 -6
  61. package/dist/shared/bricks/manifests/sidebar.manifest.d.ts.map +1 -1
  62. package/dist/shared/bricks/manifests/sidebar.manifest.js +5 -5
  63. package/dist/shared/bricks/manifests/social-links.manifest.d.ts +2 -6
  64. package/dist/shared/bricks/manifests/social-links.manifest.d.ts.map +1 -1
  65. package/dist/shared/bricks/manifests/social-links.manifest.js +5 -5
  66. package/dist/shared/bricks/manifests/spacer.manifest.d.ts +2 -6
  67. package/dist/shared/bricks/manifests/spacer.manifest.d.ts.map +1 -1
  68. package/dist/shared/bricks/manifests/spacer.manifest.js +5 -5
  69. package/dist/shared/bricks/manifests/table.manifest.d.ts +2 -6
  70. package/dist/shared/bricks/manifests/table.manifest.d.ts.map +1 -1
  71. package/dist/shared/bricks/manifests/table.manifest.js +5 -5
  72. package/dist/shared/bricks/manifests/tabs.manifest.d.ts +2 -6
  73. package/dist/shared/bricks/manifests/tabs.manifest.d.ts.map +1 -1
  74. package/dist/shared/bricks/manifests/tabs.manifest.js +5 -5
  75. package/dist/shared/bricks/manifests/testimonials.manifest.d.ts +2 -6
  76. package/dist/shared/bricks/manifests/testimonials.manifest.d.ts.map +1 -1
  77. package/dist/shared/bricks/manifests/testimonials.manifest.js +5 -5
  78. package/dist/shared/bricks/manifests/text.manifest.d.ts +2 -6
  79. package/dist/shared/bricks/manifests/text.manifest.d.ts.map +1 -1
  80. package/dist/shared/bricks/manifests/text.manifest.js +5 -5
  81. package/dist/shared/bricks/manifests/timeline.manifest.d.ts +2 -6
  82. package/dist/shared/bricks/manifests/timeline.manifest.d.ts.map +1 -1
  83. package/dist/shared/bricks/manifests/timeline.manifest.js +5 -5
  84. package/dist/shared/bricks/manifests/video.manifest.d.ts +2 -6
  85. package/dist/shared/bricks/manifests/video.manifest.d.ts.map +1 -1
  86. package/dist/shared/bricks/manifests/video.manifest.js +5 -5
  87. package/dist/shared/bricks/props/dynamic.js +2 -2
  88. package/dist/shared/bricks/props/geolocation.js +1 -1
  89. package/dist/shared/bricks/props/string.js +1 -1
  90. package/dist/shared/bricks.d.ts +5 -3
  91. package/dist/shared/bricks.d.ts.map +1 -1
  92. package/dist/shared/bricks.js +31 -29
  93. package/dist/shared/{chunk-CKFRSHR2.js → chunk-2IHKVMKW.js} +3 -3
  94. package/dist/shared/chunk-2IHKVMKW.js.map +1 -0
  95. package/dist/shared/{chunk-P3RH5URN.js → chunk-2VDR4ZYY.js} +3 -3
  96. package/dist/shared/chunk-2VDR4ZYY.js.map +1 -0
  97. package/dist/shared/{chunk-MLZT7MRQ.js → chunk-36PLZKMW.js} +4 -4
  98. package/dist/shared/chunk-36PLZKMW.js.map +1 -0
  99. package/dist/shared/{chunk-QQQ3FYPG.js → chunk-42OUNI7C.js} +123 -5
  100. package/dist/shared/chunk-42OUNI7C.js.map +1 -0
  101. package/dist/shared/{chunk-2HO4FHLM.js → chunk-4MNWMEMM.js} +118 -152
  102. package/dist/shared/chunk-4MNWMEMM.js.map +1 -0
  103. package/dist/shared/chunk-CRS7QCPZ.js +308 -0
  104. package/dist/shared/chunk-CRS7QCPZ.js.map +1 -0
  105. package/dist/shared/{chunk-WGDUJSSS.js → chunk-DFAFDBYZ.js} +4 -4
  106. package/dist/shared/chunk-DFAFDBYZ.js.map +1 -0
  107. package/dist/shared/{chunk-FVU5PXRC.js → chunk-DV3G7X34.js} +2 -2
  108. package/dist/shared/{chunk-TB3X4LRQ.js → chunk-EVLRH6VG.js} +2 -2
  109. package/dist/shared/{chunk-Z35I5JM5.js → chunk-F247VKAE.js} +3 -3
  110. package/dist/shared/chunk-F247VKAE.js.map +1 -0
  111. package/dist/shared/{chunk-QL3T5HJQ.js → chunk-FOGAVJC2.js} +2 -2
  112. package/dist/shared/chunk-FOGAVJC2.js.map +1 -0
  113. package/dist/shared/{chunk-4WI23M7W.js → chunk-FQDR2BBZ.js} +3 -3
  114. package/dist/shared/chunk-FQDR2BBZ.js.map +1 -0
  115. package/dist/shared/{chunk-3KLRW4I2.js → chunk-GFAQWQER.js} +182 -124
  116. package/dist/shared/chunk-GFAQWQER.js.map +1 -0
  117. package/dist/shared/{chunk-DRTGM2UJ.js → chunk-GIGFNQBO.js} +2 -2
  118. package/dist/shared/chunk-GIGFNQBO.js.map +1 -0
  119. package/dist/shared/{chunk-SHUGHJ7V.js → chunk-GQTZPN5D.js} +3 -3
  120. package/dist/shared/chunk-GQTZPN5D.js.map +1 -0
  121. package/dist/shared/{chunk-D4YQ6ABM.js → chunk-H5JM2M2T.js} +211 -34
  122. package/dist/shared/chunk-H5JM2M2T.js.map +1 -0
  123. package/dist/shared/{chunk-NT3IW52F.js → chunk-HTUSL2U7.js} +2 -2
  124. package/dist/shared/{chunk-BW6EFRSF.js → chunk-IQIISR22.js} +2 -2
  125. package/dist/shared/{chunk-BW6EFRSF.js.map → chunk-IQIISR22.js.map} +1 -1
  126. package/dist/shared/{chunk-Z2NTDFB4.js → chunk-KEM5N6GJ.js} +4 -4
  127. package/dist/shared/chunk-KEM5N6GJ.js.map +1 -0
  128. package/dist/shared/{chunk-V3UA3LRK.js → chunk-KIDICX3Y.js} +32 -7
  129. package/dist/shared/chunk-KIDICX3Y.js.map +1 -0
  130. package/dist/shared/chunk-KILJYJFE.js +354 -0
  131. package/dist/shared/chunk-KILJYJFE.js.map +1 -0
  132. package/dist/shared/{chunk-GRMY35BU.js → chunk-L6C7HUSA.js} +148 -20
  133. package/dist/shared/chunk-L6C7HUSA.js.map +1 -0
  134. package/dist/shared/{chunk-GCQURRVB.js → chunk-LCJ2VFPM.js} +4 -4
  135. package/dist/shared/chunk-LCJ2VFPM.js.map +1 -0
  136. package/dist/shared/{chunk-QSND5IWT.js → chunk-LLNPH3XR.js} +19 -36
  137. package/dist/shared/chunk-LLNPH3XR.js.map +1 -0
  138. package/dist/shared/{chunk-LXAO3JA6.js → chunk-LTIJI7Y3.js} +4 -4
  139. package/dist/shared/chunk-LTIJI7Y3.js.map +1 -0
  140. package/dist/shared/{chunk-6E42XWFH.js → chunk-MFNHFN2B.js} +3 -3
  141. package/dist/shared/{chunk-6E42XWFH.js.map → chunk-MFNHFN2B.js.map} +1 -1
  142. package/dist/shared/{chunk-TEO6TJOM.js → chunk-N3BEBLWF.js} +27 -26
  143. package/dist/shared/{chunk-TEO6TJOM.js.map → chunk-N3BEBLWF.js.map} +1 -1
  144. package/dist/shared/{chunk-UQF52PWK.js → chunk-N3ZTQD5I.js} +2 -2
  145. package/dist/shared/chunk-N3ZTQD5I.js.map +1 -0
  146. package/dist/shared/{chunk-EQMU6NIU.js → chunk-TNTFKLCR.js} +16 -13
  147. package/dist/shared/chunk-TNTFKLCR.js.map +1 -0
  148. package/dist/shared/{chunk-EWSPTRDL.js → chunk-U5ZECCJM.js} +102 -16
  149. package/dist/shared/chunk-U5ZECCJM.js.map +1 -0
  150. package/dist/shared/{chunk-O5PLB3YB.js → chunk-UXTASZ23.js} +16 -10
  151. package/dist/shared/chunk-UXTASZ23.js.map +1 -0
  152. package/dist/shared/{chunk-BMWRR4DI.js → chunk-YWOTQWIQ.js} +3 -3
  153. package/dist/shared/chunk-YWOTQWIQ.js.map +1 -0
  154. package/dist/shared/{chunk-GPCI2N2A.js → chunk-ZR6R6Z6O.js} +106 -5
  155. package/dist/shared/chunk-ZR6R6Z6O.js.map +1 -0
  156. package/dist/shared/{chunk-U7TVEPKA.js → chunk-ZRRAK5NS.js} +3 -3
  157. package/dist/shared/chunk-ZRRAK5NS.js.map +1 -0
  158. package/dist/shared/context.d.ts +1 -0
  159. package/dist/shared/context.d.ts.map +1 -1
  160. package/dist/shared/datarecords/types.d.ts +7 -60
  161. package/dist/shared/datarecords/types.d.ts.map +1 -1
  162. package/dist/shared/datarecords/types.js +3 -5
  163. package/dist/shared/datasources/external/threads/media/fetcher.js +3 -3
  164. package/dist/shared/datasources/types.js +2 -2
  165. package/dist/shared/datasources.d.ts +1 -1
  166. package/dist/shared/datasources.d.ts.map +1 -1
  167. package/dist/shared/datasources.js +1 -3
  168. package/dist/shared/datasources.js.map +1 -1
  169. package/dist/shared/page.d.ts.map +1 -1
  170. package/dist/shared/page.js +31 -31
  171. package/dist/shared/site.d.ts +6 -6
  172. package/dist/shared/site.js +36 -36
  173. package/dist/shared/site.js.map +1 -1
  174. package/dist/shared/sitemap.d.ts +6 -5
  175. package/dist/shared/sitemap.d.ts.map +1 -1
  176. package/dist/shared/sitemap.js +32 -32
  177. package/dist/shared/theme.js +3 -3
  178. package/dist/shared/utils/llm.js +2 -2
  179. package/dist/shared/utils/schema-registry.js +2 -2
  180. package/dist/shared/utils/schema.js +3 -3
  181. package/package.json +2 -2
  182. package/src/shared/ai/schemas.ts +46 -10
  183. package/src/shared/ai/types.ts +128 -60
  184. package/src/shared/attributes.ts +11 -3
  185. package/src/shared/bricks/manifests/_types.ts +9 -0
  186. package/src/shared/bricks/manifests/accordion.manifest.ts +128 -161
  187. package/src/shared/bricks/manifests/all-manifests.ts +1 -0
  188. package/src/shared/bricks/manifests/box.manifest.ts +195 -129
  189. package/src/shared/bricks/manifests/button.manifest.ts +158 -71
  190. package/src/shared/bricks/manifests/card.manifest.ts +200 -28
  191. package/src/shared/bricks/manifests/carousel.manifest.ts +154 -22
  192. package/src/shared/bricks/manifests/footer.manifest.ts +2 -5
  193. package/src/shared/bricks/manifests/form.manifest.ts +122 -7
  194. package/src/shared/bricks/manifests/hero.manifest.ts +103 -18
  195. package/src/shared/bricks/manifests/html.manifest.ts +2 -5
  196. package/src/shared/bricks/manifests/icon.manifest.ts +216 -36
  197. package/src/shared/bricks/manifests/image.manifest.ts +103 -2
  198. package/src/shared/bricks/manifests/images-gallery.manifest.ts +2 -5
  199. package/src/shared/bricks/manifests/map.manifest.ts +2 -5
  200. package/src/shared/bricks/manifests/navbar.manifest.ts +2 -5
  201. package/src/shared/bricks/manifests/sidebar.manifest.ts +2 -5
  202. package/src/shared/bricks/manifests/social-links.manifest.ts +2 -5
  203. package/src/shared/bricks/manifests/spacer.manifest.ts +2 -5
  204. package/src/shared/bricks/manifests/table.manifest.ts +2 -5
  205. package/src/shared/bricks/manifests/tabs.manifest.ts +2 -5
  206. package/src/shared/bricks/manifests/testimonials.manifest.ts +2 -5
  207. package/src/shared/bricks/manifests/text.manifest.ts +31 -10
  208. package/src/shared/bricks/manifests/timeline.manifest.ts +2 -5
  209. package/src/shared/bricks/manifests/video.manifest.ts +2 -5
  210. package/src/shared/bricks/props/string.ts +1 -1
  211. package/src/shared/bricks.ts +12 -9
  212. package/src/shared/context.ts +1 -0
  213. package/src/shared/datarecords/types.ts +47 -37
  214. package/src/shared/datasources.ts +2 -4
  215. package/src/shared/page.ts +0 -1
  216. package/src/shared/site.ts +3 -3
  217. package/src/shared/sitemap.ts +2 -0
  218. package/src/shared/tests/schema-registry.test.ts +0 -2
  219. package/src/shared/utils/schema-registry.ts +5 -5
  220. package/src/shared/utils/tests/schema.test.ts +43 -2
  221. package/dist/shared/chunk-2HO4FHLM.js.map +0 -1
  222. package/dist/shared/chunk-3KLRW4I2.js.map +0 -1
  223. package/dist/shared/chunk-4WI23M7W.js.map +0 -1
  224. package/dist/shared/chunk-BMWRR4DI.js.map +0 -1
  225. package/dist/shared/chunk-CKFRSHR2.js.map +0 -1
  226. package/dist/shared/chunk-D4YQ6ABM.js.map +0 -1
  227. package/dist/shared/chunk-DRTGM2UJ.js.map +0 -1
  228. package/dist/shared/chunk-EQMU6NIU.js.map +0 -1
  229. package/dist/shared/chunk-EWSPTRDL.js.map +0 -1
  230. package/dist/shared/chunk-GCQURRVB.js.map +0 -1
  231. package/dist/shared/chunk-GPCI2N2A.js.map +0 -1
  232. package/dist/shared/chunk-GRMY35BU.js.map +0 -1
  233. package/dist/shared/chunk-LXAO3JA6.js.map +0 -1
  234. package/dist/shared/chunk-MLZT7MRQ.js.map +0 -1
  235. package/dist/shared/chunk-O5PLB3YB.js.map +0 -1
  236. package/dist/shared/chunk-P3RH5URN.js.map +0 -1
  237. package/dist/shared/chunk-QL3T5HJQ.js.map +0 -1
  238. package/dist/shared/chunk-QQQ3FYPG.js.map +0 -1
  239. package/dist/shared/chunk-QSND5IWT.js.map +0 -1
  240. package/dist/shared/chunk-SHUGHJ7V.js.map +0 -1
  241. package/dist/shared/chunk-U7TVEPKA.js.map +0 -1
  242. package/dist/shared/chunk-UQF52PWK.js.map +0 -1
  243. package/dist/shared/chunk-V3UA3LRK.js.map +0 -1
  244. package/dist/shared/chunk-WGDUJSSS.js.map +0 -1
  245. package/dist/shared/chunk-X6N463D4.js +0 -222
  246. package/dist/shared/chunk-X6N463D4.js.map +0 -1
  247. package/dist/shared/chunk-X75YV73Q.js +0 -178
  248. package/dist/shared/chunk-X75YV73Q.js.map +0 -1
  249. package/dist/shared/chunk-Z2NTDFB4.js.map +0 -1
  250. package/dist/shared/chunk-Z35I5JM5.js.map +0 -1
  251. package/dist/shared/schema-registry.d.ts +0 -5
  252. package/dist/shared/schema-registry.d.ts.map +0 -1
  253. package/dist/shared/schema-registry.js +0 -119
  254. package/dist/shared/schema-registry.js.map +0 -1
  255. package/src/shared/schema-registry.ts +0 -82
  256. /package/dist/shared/{chunk-FVU5PXRC.js.map → chunk-DV3G7X34.js.map} +0 -0
  257. /package/dist/shared/{chunk-TB3X4LRQ.js.map → chunk-EVLRH6VG.js.map} +0 -0
  258. /package/dist/shared/{chunk-NT3IW52F.js.map → chunk-HTUSL2U7.js.map} +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/shared/bricks/manifests/carousel.manifest.ts"],"sourcesContent":["import { Type } from \"@sinclair/typebox\";\nimport { TbCarouselHorizontal } from \"react-icons/tb\";\nimport { defineBrickManifest } from \"~/shared/brick-manifest\";\nimport { defineProps } from \"../props/helpers\";\nimport { imageRef } from \"../props/image\";\nimport { string } from \"../props/string\";\nimport type { BrickProps } from \"../props/types\";\nimport { roundingRef } from \"../props/border\";\nimport { colorPresetRef } from \"../props/color-preset\";\nimport { loopRef } from \"../props/dynamic\";\nimport { cssLengthRef } from \"../props/css-length\";\nimport type { BrickExample } from \"./_types\";\n\nexport const manifest = defineBrickManifest({\n type: \"carousel\",\n name: \"Carousel\",\n description: \"An image carousel with navigation arrows and dots or numbers indicator\",\n aiInstructions: `Use the carousel component for showcasing sequential visual content with smooth navigation between images.\n\nWHEN TO USE:\n- Product galleries with multiple angles or variations\n- Portfolio showcases with project images\n- Step-by-step tutorials or processes (recipes, instructions)\n- Before/after comparisons or transformations\n- Team member profiles with photos\n- Event photo galleries or highlights\n- Feature demonstrations or software screenshots\n- Travel destinations or location showcases\n\nCONTENT GUIDELINES:\n- Optimal range: 2-8 images for best user engagement (max 12 supported)\n- Single image allowed only as placeholder for future expansion\n- Each image needs: { src: { src, alt }, legend }\n- Alt text MUST be descriptive and never empty\n- Legend text should be concise (≤90 characters) and informative\n- Use empty string (\"\") for legend only when no caption is intentionally desired\n\nIMAGE CONSISTENCY:\n- Keep aspect ratios similar across slides to prevent layout jumps\n- Avoid mixing very tall portrait with very wide landscape images\n- Use consistent image quality and style throughout carousel\n- Consider loading performance with image optimization\n\nSTYLING OPTIONS:\n- padding: \"0\" for edge-to-edge, \"1rem\" for standard, \"2rem+\" for generous spacing\n- borderRadius: \"rounded-none\" for sharp/modern, \"rounded-md\" for standard, \"rounded-xl\" for friendly, \"rounded-full\" for circular (avatars)\n- colorPreset: Use sparingly - \"neutral-50\"/\"primary-50\" for subtle framing, gradients for premium feel\n\nDYNAMIC CONTENT:\n- Use loop property with single template object for data-driven carousels\n- Template variables in src and legend: \"{{product.image}}\", \"{{team.name}} - {{team.role}}\"\n- Perfect for: product catalogs, team directories, portfolio projects, event galleries\n\nAVOID:\n- Including unrelated properties (buttons, titles outside legend)\n- Heavy background colors that distract from images\n- Inconsistent aspect ratios that cause jarring transitions\n- More than 12 images (reduces focus and performance)\n- Empty or placeholder alt text (accessibility requirement)`,\n category: \"media\",\n defaultInspectorTab: \"content\",\n consumesMultipleQueryRows: true,\n minHeight: {\n desktop: 200,\n },\n minWidth: {\n desktop: 300,\n },\n icon: TbCarouselHorizontal,\n props: defineProps({\n colorPreset: Type.Optional(\n colorPresetRef({\n title: \"Color\",\n }),\n ),\n padding: Type.Optional(\n cssLengthRef({\n default: \"1rem\",\n description: \"Padding inside the carousel.\",\n \"ai:instructions\": \"Use only a single value like '1rem' or '10px'\",\n title: \"Padding\",\n \"ui:responsive\": true,\n \"ui:placeholder\": \"Not specified\",\n \"ui:styleId\": \"styles:padding\",\n }),\n ),\n images: Type.Optional(\n Type.Array(\n Type.Object({\n src: imageRef({\n \"ui:responsive\": \"desktop\",\n \"ui:no-alt-text\": true,\n \"ui:no-object-options\": true,\n }),\n legend: string(\"Legend\"),\n }),\n {\n title: \"Images\",\n default: [],\n maxItems: 12,\n metadata: {\n category: \"content\",\n },\n },\n ),\n ),\n borderRadius: Type.Optional(\n roundingRef({\n default: \"rounded-md\",\n }),\n ),\n loop: Type.Optional(loopRef()),\n }),\n});\n\nexport type Manifest = typeof manifest;\n\nexport const examples: BrickExample<Manifest>[] = [\n // BASIC CAROUSEL EXAMPLES\n {\n description: \"Basic image carousel with legends - Simple content showcase\",\n type: \"carousel\",\n props: {\n images: [\n {\n src: {\n src: \"https://via.placeholder.com/800x400.png?text=Slide+1\",\n alt: \"First slide\",\n },\n legend: \"Beautiful landscape\",\n },\n {\n src: {\n src: \"https://via.placeholder.com/800x400.png?text=Slide+2\",\n alt: \"Second slide\",\n },\n legend: \"Amazing architecture\",\n },\n {\n src: {\n src: \"https://via.placeholder.com/800x400.png?text=Slide+3\",\n alt: \"Third slide\",\n },\n legend: \"Stunning nature\",\n },\n ],\n },\n },\n\n // PRODUCT & COMMERCIAL\n {\n description: \"Product showcase carousel with rounded corners and padding - E-commerce gallery style\",\n type: \"carousel\",\n props: {\n images: [\n {\n src: {\n src: \"https://via.placeholder.com/600x400.png?text=Product+1\",\n alt: \"Product 1\",\n },\n legend: \"Premium Headphones - $199\",\n },\n {\n src: {\n src: \"https://via.placeholder.com/600x400.png?text=Product+2\",\n alt: \"Product 2\",\n },\n legend: \"Wireless Speaker - $149\",\n },\n {\n src: {\n src: \"https://via.placeholder.com/600x400.png?text=Product+3\",\n alt: \"Product 3\",\n },\n legend: \"Smart Watch - $299\",\n },\n {\n src: {\n src: \"https://via.placeholder.com/600x400.png?text=Product+4\",\n alt: \"Product 4\",\n },\n legend: \"Laptop Stand - $79\",\n },\n ],\n borderRadius: \"rounded-xl\",\n padding: \"2rem\",\n colorPreset: { color: \"neutral-50\" },\n },\n },\n\n // PORTFOLIO & CREATIVE\n {\n description: \"Portfolio carousel with minimal styling - Clean professional presentation\",\n type: \"carousel\",\n props: {\n images: [\n {\n src: {\n src: \"https://via.placeholder.com/900x600.png?text=Portfolio+1\",\n alt: \"Portfolio piece 1\",\n },\n legend: \"Web Design Project\",\n },\n {\n src: {\n src: \"https://via.placeholder.com/900x600.png?text=Portfolio+2\",\n alt: \"Portfolio piece 2\",\n },\n legend: \"Brand Identity Design\",\n },\n {\n src: {\n src: \"https://via.placeholder.com/900x600.png?text=Portfolio+3\",\n alt: \"Portfolio piece 3\",\n },\n legend: \"Mobile App Interface\",\n },\n ],\n borderRadius: \"rounded-none\",\n padding: \"0\",\n },\n },\n\n // EVENTS & EXPERIENCES\n {\n description: \"Event photos carousel with primary color theme - Conference or gathering highlights\",\n type: \"carousel\",\n props: {\n images: [\n {\n src: {\n src: \"https://via.placeholder.com/800x500.png?text=Event+Photo+1\",\n alt: \"Event photo 1\",\n },\n legend: \"Opening Ceremony\",\n },\n {\n src: {\n src: \"https://via.placeholder.com/800x500.png?text=Event+Photo+2\",\n alt: \"Event photo 2\",\n },\n legend: \"Keynote Speaker\",\n },\n {\n src: {\n src: \"https://via.placeholder.com/800x500.png?text=Event+Photo+3\",\n alt: \"Event photo 3\",\n },\n legend: \"Networking Session\",\n },\n {\n src: {\n src: \"https://via.placeholder.com/800x500.png?text=Event+Photo+4\",\n alt: \"Event photo 4\",\n },\n legend: \"Award Ceremony\",\n },\n {\n src: {\n src: \"https://via.placeholder.com/800x500.png?text=Event+Photo+5\",\n alt: \"Event photo 5\",\n },\n legend: \"Closing Remarks\",\n },\n ],\n colorPreset: { color: \"primary-100\" },\n borderRadius: \"rounded-lg\",\n padding: \"1.5rem\",\n },\n },\n {\n description: \"Travel destinations carousel without legends\",\n type: \"carousel\",\n props: {\n images: [\n {\n src: {\n src: \"https://via.placeholder.com/700x450.png?text=Paris\",\n alt: \"Paris cityscape\",\n },\n legend: \"\",\n },\n {\n src: {\n src: \"https://via.placeholder.com/700x450.png?text=Tokyo\",\n alt: \"Tokyo skyline\",\n },\n legend: \"\",\n },\n {\n src: {\n src: \"https://via.placeholder.com/700x450.png?text=New+York\",\n alt: \"New York streets\",\n },\n legend: \"\",\n },\n {\n src: {\n src: \"https://via.placeholder.com/700x450.png?text=London\",\n alt: \"London landmarks\",\n },\n legend: \"\",\n },\n ],\n borderRadius: \"rounded-2xl\",\n padding: \"1rem\",\n },\n },\n\n // TEAM & PEOPLE\n {\n description: \"Team members carousel with circular images - Professional team showcase\",\n type: \"carousel\",\n props: {\n images: [\n {\n src: {\n src: \"https://via.placeholder.com/400x400.png?text=Team+1\",\n alt: \"Team member 1\",\n },\n legend: \"John Smith - CEO\",\n },\n {\n src: {\n src: \"https://via.placeholder.com/400x400.png?text=Team+2\",\n alt: \"Team member 2\",\n },\n legend: \"Sarah Johnson - CTO\",\n },\n {\n src: {\n src: \"https://via.placeholder.com/400x400.png?text=Team+3\",\n alt: \"Team member 3\",\n },\n legend: \"Mike Davis - Design Lead\",\n },\n {\n src: {\n src: \"https://via.placeholder.com/400x400.png?text=Team+4\",\n alt: \"Team member 4\",\n },\n legend: \"Emily Chen - Marketing Director\",\n },\n ],\n colorPreset: { color: \"primary-50\" },\n borderRadius: \"rounded-full\",\n padding: \"2rem\",\n },\n },\n\n // TUTORIALS & PROCESSES\n {\n description: \"Recipe steps carousel with detailed descriptions - Step-by-step instructional content\",\n type: \"carousel\",\n props: {\n images: [\n {\n src: {\n src: \"https://via.placeholder.com/600x400.png?text=Step+1\",\n alt: \"Recipe step 1\",\n },\n legend: \"Step 1: Prepare all ingredients\",\n },\n {\n src: {\n src: \"https://via.placeholder.com/600x400.png?text=Step+2\",\n alt: \"Recipe step 2\",\n },\n legend: \"Step 2: Heat oil in a large pan\",\n },\n {\n src: {\n src: \"https://via.placeholder.com/600x400.png?text=Step+3\",\n alt: \"Recipe step 3\",\n },\n legend: \"Step 3: Add vegetables and sauté\",\n },\n {\n src: {\n src: \"https://via.placeholder.com/600x400.png?text=Step+4\",\n alt: \"Recipe step 4\",\n },\n legend: \"Step 4: Season and serve hot\",\n },\n ],\n colorPreset: { color: \"accent-50\" },\n borderRadius: \"rounded-md\",\n padding: \"1.5rem\",\n },\n },\n {\n description: \"Before and after comparison carousel\",\n type: \"carousel\",\n props: {\n images: [\n {\n src: {\n src: \"https://via.placeholder.com/800x400.png?text=Before+1\",\n alt: \"Before renovation 1\",\n },\n legend: \"Kitchen - Before Renovation\",\n },\n {\n src: {\n src: \"https://via.placeholder.com/800x400.png?text=After+1\",\n alt: \"After renovation 1\",\n },\n legend: \"Kitchen - After Renovation\",\n },\n {\n src: {\n src: \"https://via.placeholder.com/800x400.png?text=Before+2\",\n alt: \"Before renovation 2\",\n },\n legend: \"Living Room - Before\",\n },\n {\n src: {\n src: \"https://via.placeholder.com/800x400.png?text=After+2\",\n alt: \"After renovation 2\",\n },\n legend: \"Living Room - After\",\n },\n ],\n colorPreset: { color: \"accent-100\" },\n borderRadius: \"rounded-lg\",\n padding: \"1rem\",\n },\n },\n {\n description: \"Art gallery carousel with dramatic styling\",\n type: \"carousel\",\n props: {\n images: [\n {\n src: {\n src: \"https://via.placeholder.com/600x800.png?text=Artwork+1\",\n alt: \"Abstract painting 1\",\n },\n legend: \"Abstract Composition #1 - 2023\",\n },\n {\n src: {\n src: \"https://via.placeholder.com/600x800.png?text=Artwork+2\",\n alt: \"Abstract painting 2\",\n },\n legend: \"Urban Landscape - 2023\",\n },\n {\n src: {\n src: \"https://via.placeholder.com/600x800.png?text=Artwork+3\",\n alt: \"Abstract painting 3\",\n },\n legend: \"Color Study #7 - 2024\",\n },\n ],\n colorPreset: { color: \"neutral-900\" },\n borderRadius: \"rounded-sm\",\n padding: \"3rem\",\n },\n },\n {\n description: \"Fashion lookbook carousel with purple theme\",\n type: \"carousel\",\n props: {\n images: [\n {\n src: {\n src: \"https://via.placeholder.com/500x700.png?text=Look+1\",\n alt: \"Fashion look 1\",\n },\n legend: \"Spring Collection - Casual Chic\",\n },\n {\n src: {\n src: \"https://via.placeholder.com/500x700.png?text=Look+2\",\n alt: \"Fashion look 2\",\n },\n legend: \"Summer Vibes - Beach Ready\",\n },\n {\n src: {\n src: \"https://via.placeholder.com/500x700.png?text=Look+3\",\n alt: \"Fashion look 3\",\n },\n legend: \"Autumn Elegance - Business\",\n },\n {\n src: {\n src: \"https://via.placeholder.com/500x700.png?text=Look+4\",\n alt: \"Fashion look 4\",\n },\n legend: \"Winter Style - Cozy Comfort\",\n },\n {\n src: {\n src: \"https://via.placeholder.com/500x700.png?text=Look+5\",\n alt: \"Fashion look 5\",\n },\n legend: \"Evening Wear - Formal Event\",\n },\n {\n src: {\n src: \"https://via.placeholder.com/500x700.png?text=Look+6\",\n alt: \"Fashion look 6\",\n },\n legend: \"Weekend Casual - Relaxed Fit\",\n },\n ],\n colorPreset: { color: \"secondary-100\" },\n borderRadius: \"rounded-xl\",\n padding: \"2rem\",\n },\n },\n {\n description: \"Car showcase carousel with compact design\",\n type: \"carousel\",\n props: {\n images: [\n {\n src: {\n src: \"https://via.placeholder.com/800x450.png?text=Car+1\",\n alt: \"Sports car 1\",\n },\n legend: \"2024 Sports Coupe\",\n },\n {\n src: {\n src: \"https://via.placeholder.com/800x450.png?text=Car+2\",\n alt: \"SUV model\",\n },\n legend: \"Family SUV\",\n },\n {\n src: {\n src: \"https://via.placeholder.com/800x450.png?text=Car+3\",\n alt: \"Electric vehicle\",\n },\n legend: \"Electric Sedan\",\n },\n ],\n colorPreset: { color: \"accent-50\" },\n borderRadius: \"rounded-lg\",\n padding: \"0.5rem\",\n },\n },\n {\n description: \"Software features carousel with large padding\",\n type: \"carousel\",\n props: {\n images: [\n {\n src: {\n src: \"https://via.placeholder.com/900x500.png?text=Feature+1\",\n alt: \"Software feature 1\",\n },\n legend: \"Dashboard Analytics - Real-time insights\",\n },\n {\n src: {\n src: \"https://via.placeholder.com/900x500.png?text=Feature+2\",\n alt: \"Software feature 2\",\n },\n legend: \"Team Collaboration - Work together seamlessly\",\n },\n {\n src: {\n src: \"https://via.placeholder.com/900x500.png?text=Feature+3\",\n alt: \"Software feature 3\",\n },\n legend: \"Mobile App - Access anywhere, anytime\",\n },\n {\n src: {\n src: \"https://via.placeholder.com/900x500.png?text=Feature+4\",\n alt: \"Software feature 4\",\n },\n legend: \"Security - Enterprise-grade protection\",\n },\n ],\n colorPreset: { color: \"primary-50\" },\n borderRadius: \"rounded-2xl\",\n padding: \"4rem\",\n },\n },\n {\n description: \"Dynamic product gallery using products query - Data-driven product showcase\",\n type: \"carousel\",\n props: {\n images: [\n {\n src: {\n src: \"{{products.image}}\",\n alt: \"{{products.name}}\",\n },\n legend: \"{{products.name}} - ${{products.price}}\",\n },\n ],\n colorPreset: { color: \"primary-50\" },\n borderRadius: \"rounded-lg\",\n padding: \"1.5rem\",\n loop: {\n over: \"products\",\n },\n },\n },\n\n // DYNAMIC CONTENT EXAMPLES\n {\n description: \"Loop template for portfolioProjects query (one object will repeat per row)\",\n type: \"carousel\",\n props: {\n images: [\n {\n src: {\n src: \"{{portfolioProjects.featuredImage}}\",\n alt: \"{{portfolioProjects.projectName}} featured image\",\n },\n legend:\n \"{{portfolioProjects.projectName}} – {{portfolioProjects.clientName}} ({{portfolioProjects.year}})\",\n },\n ],\n colorPreset: { color: \"neutral-50\" },\n borderRadius: \"rounded-md\",\n padding: \"1rem\",\n loop: {\n over: \"portfolioProjects\",\n },\n },\n },\n\n // SPECIAL STYLING VARIATIONS\n {\n description: \"Showcase carousel with subtle gradient background frame\",\n type: \"carousel\",\n props: {\n images: [\n {\n src: { src: \"https://via.placeholder.com/900x500.png?text=Showcase+1\", alt: \"Showcase slide 1\" },\n legend: \"Launch Dashboard\",\n },\n {\n src: { src: \"https://via.placeholder.com/900x500.png?text=Showcase+2\", alt: \"Showcase slide 2\" },\n legend: \"Collaboration Tools\",\n },\n {\n src: { src: \"https://via.placeholder.com/900x500.png?text=Showcase+3\", alt: \"Showcase slide 3\" },\n legend: \"Usage Analytics\",\n },\n ],\n colorPreset: { color: \"primary-gradient-300\", gradientDirection: \"bg-gradient-to-br\" },\n borderRadius: \"rounded-xl\",\n padding: \"2rem\",\n },\n },\n // MINIMAL EDGE (no padding, square corners)\n {\n description: \"Minimal edge-to-edge carousel (no padding, no rounding)\",\n type: \"carousel\",\n props: {\n images: [\n {\n src: { src: \"https://via.placeholder.com/800x400.png?text=Edge+1\", alt: \"Edge slide 1\" },\n legend: \"\",\n },\n {\n src: { src: \"https://via.placeholder.com/800x400.png?text=Edge+2\", alt: \"Edge slide 2\" },\n legend: \"\",\n },\n ],\n borderRadius: \"rounded-none\",\n padding: \"0\",\n },\n },\n // SINGLE IMAGE (acts as prepared placeholder carousel)\n {\n description: \"Single-image carousel (placeholder for future expansion)\",\n type: \"carousel\",\n props: {\n images: [\n {\n src: { src: \"https://via.placeholder.com/1000x420.png?text=Banner\", alt: \"Promotional banner\" },\n legend: \"Early Access Program\",\n },\n ],\n colorPreset: { color: \"secondary-50\" },\n borderRadius: \"rounded-lg\",\n padding: \"1.25rem\",\n },\n },\n {\n description: \"Team member carousel using teamMembers query with roles and departments\",\n type: \"carousel\",\n props: {\n images: [\n {\n src: {\n src: \"{{teamMembers.photo}}\",\n alt: \"{{teamMembers.fullName}}\",\n },\n legend: \"{{teamMembers.fullName}} - {{teamMembers.position}}, {{teamMembers.department}}\",\n },\n ],\n colorPreset: { color: \"secondary-100\" },\n borderRadius: \"rounded-xl\",\n padding: \"2rem\",\n loop: {\n over: \"teamMembers\",\n },\n },\n },\n {\n description: \"Portfolio showcase using portfolioProjects query with client information\",\n type: \"carousel\",\n props: {\n images: [\n {\n src: {\n src: \"{{portfolioProjects.featuredImage}}\",\n alt: \"{{portfolioProjects.projectName}}\",\n },\n legend:\n \"{{portfolioProjects.projectName}} - {{portfolioProjects.clientName}} ({{portfolioProjects.year}})\",\n },\n ],\n colorPreset: { color: \"neutral-100\" },\n borderRadius: \"rounded-md\",\n padding: \"1rem\",\n loop: {\n over: \"portfolioProjects\",\n },\n },\n },\n {\n description: \"Event photo gallery using eventPhotos query with captions and dates\",\n type: \"carousel\",\n props: {\n images: [\n {\n src: {\n src: \"{{eventPhotos.imageUrl}}\",\n alt: \"{{eventPhotos.caption}}\",\n },\n legend: \"{{eventPhotos.caption}} - {{eventPhotos.eventDate}}\",\n },\n ],\n colorPreset: { color: \"accent-50\" },\n borderRadius: \"rounded-lg\",\n padding: \"2rem\",\n loop: {\n over: \"eventPhotos\",\n },\n },\n },\n {\n description: \"Property listings carousel using realEstateProperties query with pricing\",\n type: \"carousel\",\n props: {\n images: [\n {\n src: {\n src: \"{{realEstateProperties.mainPhoto}}\",\n alt: \"{{realEstateProperties.address}}\",\n },\n legend:\n \"{{realEstateProperties.address}} - ${{realEstateProperties.price}} • {{realEstateProperties.bedrooms}}BR/{{realEstateProperties.bathrooms}}BA\",\n },\n ],\n colorPreset: { color: \"primary-100\" },\n borderRadius: \"rounded-xl\",\n padding: \"1.5rem\",\n loop: {\n over: \"realEstateProperties\",\n },\n },\n },\n {\n description: \"Restaurant menu carousel using menuItems query with categories and prices\",\n type: \"carousel\",\n props: {\n images: [\n {\n src: {\n src: \"{{menuItems.photo}}\",\n alt: \"{{menuItems.dishName}}\",\n },\n legend: \"{{menuItems.dishName}} - {{menuItems.category}} • ${{menuItems.price}}\",\n },\n ],\n colorPreset: { color: \"neutral-50\" },\n borderRadius: \"rounded-lg\",\n padding: \"1rem\",\n loop: {\n over: \"menuItems\",\n },\n },\n },\n {\n description: \"Travel destinations carousel using destinations query with country information\",\n type: \"carousel\",\n props: {\n images: [\n {\n src: {\n src: \"{{destinations.heroImage}}\",\n alt: \"{{destinations.cityName}}\",\n },\n legend: \"{{destinations.cityName}}, {{destinations.country}} - {{destinations.bestTimeToVisit}}\",\n },\n ],\n colorPreset: { color: \"secondary-50\" },\n borderRadius: \"rounded-2xl\",\n padding: \"2.5rem\",\n loop: {\n over: \"destinations\",\n },\n },\n },\n {\n description: \"Art collection carousel using artworks query with artist and year information\",\n type: \"carousel\",\n props: {\n images: [\n {\n src: {\n src: \"{{artworks.imageUrl}}\",\n alt: \"{{artworks.title}}\",\n },\n legend: \"{{artworks.title}} by {{artworks.artist}} ({{artworks.year}}) - {{artworks.medium}}\",\n },\n ],\n colorPreset: { color: \"accent-100\" },\n borderRadius: \"rounded-sm\",\n padding: \"3rem\",\n loop: {\n over: \"artworks\",\n },\n },\n },\n];\n"],"mappings":"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","names":[]}
@@ -5,13 +5,13 @@ import {
5
5
  } from "./chunk-BHC2A43S.js";
6
6
  import {
7
7
  defineBrickManifest
8
- } from "./chunk-TB3X4LRQ.js";
8
+ } from "./chunk-EVLRH6VG.js";
9
9
  import {
10
10
  loopRef
11
- } from "./chunk-BW6EFRSF.js";
11
+ } from "./chunk-IQIISR22.js";
12
12
  import {
13
13
  string
14
- } from "./chunk-UQF52PWK.js";
14
+ } from "./chunk-N3ZTQD5I.js";
15
15
  import {
16
16
  imageRef
17
17
  } from "./chunk-W6MRYRGJ.js";
@@ -834,4 +834,4 @@ export {
834
834
  manifest,
835
835
  examples
836
836
  };
837
- //# sourceMappingURL=chunk-GCQURRVB.js.map
837
+ //# sourceMappingURL=chunk-LCJ2VFPM.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/shared/bricks/manifests/images-gallery.manifest.ts"],"sourcesContent":["import { Type } from \"@sinclair/typebox\";\nimport { IoGridOutline } from \"react-icons/io5\";\nimport { defineBrickManifest } from \"~/shared/brick-manifest\";\nimport { defineProps } from \"../props/helpers\";\nimport { imageRef } from \"../props/image\";\nimport { string } from \"../props/string\";\nimport type { BrickProps } from \"../props/types\";\nimport { colorPresetRef } from \"../props/color-preset\";\nimport { borderRef, roundingRef } from \"../props/border\";\nimport { loopRef } from \"../props/dynamic\";\nimport { cssLengthRef } from \"../props/css-length\";\nimport type { BrickExample } from \"./_types\";\n\nexport const manifest = defineBrickManifest({\n type: \"images-gallery\",\n name: \"Gallery\",\n category: \"media\",\n description: \"Displays an images collection.\",\n aiInstructions:\n \"This brick should mostly be used for image galleries. Prefer using card bricks for product showcases, articles lists with images, or other collections.\",\n consumesMultipleQueryRows: true,\n defaultInspectorTab: \"content\",\n isContainer: false,\n minHeight: {\n desktop: 200,\n },\n minWidth: {\n desktop: 300,\n },\n defaultWidth: {\n desktop: \"400px\",\n mobile: \"100%\",\n },\n icon: IoGridOutline,\n props: defineProps({\n colorPreset: Type.Optional(\n colorPresetRef({\n title: \"Color\",\n }),\n ),\n loop: Type.Optional(loopRef()),\n images: Type.Array(\n Type.Object({\n image: imageRef({\n \"ui:responsive\": \"desktop\",\n \"ui:no-alt-text\": true,\n \"ui:no-object-options\": true,\n \"ui:placeholder\": \"https://example.com/image.jpg\",\n }),\n legend: Type.Optional(string(\"Legend\")),\n }),\n {\n title: \"Images\",\n default: [],\n maxItems: 12,\n metadata: {\n category: \"content\",\n consumeQuery: true,\n },\n examples: [\n {\n image: { src: \"https://via.placeholder.com/300x200.png?text=Image+1\" },\n legend: \"Image 1\",\n },\n {\n image: { src: \"https://via.placeholder.com/300x200.png?text=Image+2\" },\n legend: \"Image 2\",\n },\n {\n image: { src: \"https://via.placeholder.com/300x200.png?text=Image+3\" },\n legend: \"Image 3\",\n },\n ],\n },\n ),\n columns: Type.Optional(\n Type.Number({\n title: \"Columns\",\n description:\n \"Number of columns. Only applies to desktop screens. On mobile, it will always display 1 column.\",\n minimum: 1,\n maximum: 6,\n default: 3,\n \"ui:field\": \"slider\",\n \"ui:responsive\": \"desktop\",\n }),\n ),\n gap: Type.Optional(\n cssLengthRef({\n title: \"Gap\",\n description: \"The gap between the images.\",\n default: \"1rem\",\n \"ui:styleId\": \"styles:gap\",\n }),\n ),\n padding: Type.Optional(\n cssLengthRef({\n default: \"3rem\",\n description: \"Padding inside the gallery.\",\n \"ai:instructions\": \"Use only a single value like '1rem' or '10px'\",\n title: \"Padding\",\n \"ui:responsive\": true,\n \"ui:placeholder\": \"Not specified\",\n \"ui:styleId\": \"styles:padding\",\n }),\n ),\n rounding: Type.Optional(roundingRef()),\n border: Type.Optional(borderRef()),\n }),\n});\n\nexport type Manifest = typeof manifest;\n\nexport const examples: BrickExample<Manifest>[] = [\n {\n description: \"Product portfolio gallery (3-column grid)\",\n type: \"images-gallery\",\n props: {\n columns: 3,\n gap: \"2.5rem\",\n padding: \"p-4\",\n images: [\n {\n image: {\n src: \"https://via.placeholder.com/400x400.png?text=Product+1\",\n },\n legend: \"Premium wireless headphones\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/400x400.png?text=Product+2\",\n },\n legend: \"Bluetooth speaker\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/400x400.png?text=Product+3\",\n },\n legend: \"Smart fitness tracker\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/400x400.png?text=Product+4\",\n },\n legend: \"Wireless charging pad\",\n },\n ],\n },\n },\n {\n description: \"Team photos gallery (4-column grid), light neutral background\",\n type: \"images-gallery\",\n props: {\n columns: 4,\n gap: \"1rem\",\n padding: \"p-6\",\n images: [\n {\n image: {\n src: \"https://via.placeholder.com/300x300.png?text=CEO\",\n },\n legend: \"Sarah Johnson - Chief Executive Officer\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/300x300.png?text=CTO\",\n },\n legend: \"Mike Chen - Chief Technology Officer\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/300x300.png?text=Design\",\n },\n legend: \"Emily Rodriguez - Head of Design\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/300x300.png?text=Marketing\",\n },\n legend: \"David Park - Marketing Director\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/300x300.png?text=Sales\",\n },\n legend: \"Lisa Wong - Sales Manager\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/300x300.png?text=Support\",\n },\n legend: \"Alex Thompson - Customer Support Lead\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/300x300.png?text=Dev\",\n },\n legend: \"Carlos Martinez - Senior Developer\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/300x300.png?text=HR\",\n },\n legend: \"Jennifer Adams - HR Specialist\",\n },\n ],\n colorPreset: {\n color: \"neutral-100\",\n },\n },\n },\n {\n description: \"Project showcase (2-column grid with larger spacing)\",\n type: \"images-gallery\",\n props: {\n columns: 2,\n gap: \"1rem\",\n padding: \"p-6\",\n images: [\n {\n image: {\n src: \"https://via.placeholder.com/600x400.png?text=Website+Redesign\",\n },\n legend: \"Modern e-commerce website redesign project\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/600x400.png?text=Mobile+App\",\n },\n legend: \"iOS and Android mobile application\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/600x400.png?text=Brand+Identity\",\n },\n legend: \"Complete brand identity design package\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/600x400.png?text=Dashboard+UI\",\n },\n legend: \"Analytics dashboard user interface\",\n },\n ],\n },\n },\n {\n description: \"Event photos gallery with tight spacing and minimal padding\",\n type: \"images-gallery\",\n props: {\n columns: 4,\n gap: \"1rem\",\n padding: \"p-6\",\n images: [\n {\n image: {\n src: \"https://via.placeholder.com/250x180.png?text=Opening\",\n },\n legend: \"Conference opening ceremony\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/250x180.png?text=Keynote\",\n },\n legend: \"Keynote presentation\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/250x180.png?text=Workshop\",\n },\n legend: \"Technical workshop session\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/250x180.png?text=Networking\",\n },\n legend: \"Networking lunch break\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/250x180.png?text=Panel\",\n },\n legend: \"Expert panel discussion\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/250x180.png?text=Awards\",\n },\n legend: \"Awards ceremony\",\n },\n ],\n },\n },\n {\n description: \"Photography portfolio with single column layout and primary background\",\n type: \"images-gallery\",\n props: {\n columns: 1,\n gap: \"3rem\",\n padding: \"4rem\",\n colorPreset: {\n color: \"primary-50\",\n },\n rounding: \"rounded-lg\",\n images: [\n {\n image: {\n src: \"https://via.placeholder.com/800x600.png?text=Landscape+1\",\n },\n legend: \"Mountain sunrise landscape photography\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/800x600.png?text=Portrait+1\",\n },\n legend: \"Professional business portrait session\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/800x600.png?text=Architecture+1\",\n },\n legend: \"Modern architectural photography\",\n },\n ],\n },\n },\n {\n description: \"Real estate property gallery with secondary colors and borders\",\n type: \"images-gallery\",\n props: {\n columns: 3,\n gap: \"1.5rem\",\n padding: \"2rem\",\n colorPreset: {\n color: \"secondary-100\",\n },\n border: {\n width: \"border\",\n color: \"border-secondary-300\",\n },\n rounding: \"rounded-xl\",\n images: [\n {\n image: {\n src: \"https://via.placeholder.com/400x300.png?text=Living+Room\",\n },\n legend: \"Spacious living room with natural light\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/400x300.png?text=Kitchen\",\n },\n legend: \"Modern kitchen with granite countertops\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/400x300.png?text=Master+Bedroom\",\n },\n legend: \"Master bedroom with walk-in closet\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/400x300.png?text=Bathroom\",\n },\n legend: \"Luxury bathroom with marble finishes\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/400x300.png?text=Backyard\",\n },\n legend: \"Private backyard with pool\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/400x300.png?text=Garage\",\n },\n legend: \"Two-car garage with storage\",\n },\n ],\n },\n },\n {\n description: \"Restaurant food gallery with 5-column grid and accent colors\",\n type: \"images-gallery\",\n props: {\n columns: 5,\n gap: \"0.75rem\",\n padding: \"1.5rem\",\n colorPreset: {\n color: \"accent-200\",\n },\n rounding: \"rounded-md\",\n images: [\n {\n image: {\n src: \"https://via.placeholder.com/300x300.png?text=Appetizer\",\n },\n legend: \"Bruschetta with fresh tomatoes\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/300x300.png?text=Soup\",\n },\n legend: \"Creamy mushroom bisque\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/300x300.png?text=Salad\",\n },\n legend: \"Mediterranean quinoa salad\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/300x300.png?text=Main+Course\",\n },\n legend: \"Grilled salmon with herbs\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/300x300.png?text=Dessert\",\n },\n legend: \"Chocolate lava cake\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/300x300.png?text=Beverage\",\n },\n legend: \"Artisan coffee selection\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/300x300.png?text=Pasta\",\n },\n legend: \"Homemade fettuccine alfredo\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/300x300.png?text=Pizza\",\n },\n legend: \"Wood-fired margherita pizza\",\n },\n ],\n },\n },\n {\n description: \"Art gallery exhibition with 6-column grid and minimal styling\",\n type: \"images-gallery\",\n props: {\n columns: 6,\n gap: \"0.5rem\",\n padding: \"1rem\",\n images: [\n {\n image: {\n src: \"https://via.placeholder.com/200x250.png?text=Abstract+1\",\n },\n legend: \"Abstract composition #1\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/200x250.png?text=Portrait+Art\",\n },\n legend: \"Contemporary portrait\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/200x250.png?text=Landscape+Art\",\n },\n legend: \"Impressionist landscape\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/200x250.png?text=Still+Life\",\n },\n legend: \"Modern still life\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/200x250.png?text=Sculpture\",\n },\n legend: \"Bronze sculpture piece\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/200x250.png?text=Digital+Art\",\n },\n legend: \"Digital artwork collection\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/200x250.png?text=Mixed+Media\",\n },\n legend: \"Mixed media installation\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/200x250.png?text=Photography\",\n },\n legend: \"Fine art photography\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/200x250.png?text=Watercolor\",\n },\n legend: \"Watercolor painting\",\n },\n ],\n },\n },\n {\n description: \"Fashion lookbook with 2-column layout and neutral dark theme\",\n type: \"images-gallery\",\n props: {\n columns: 2,\n gap: \"2rem\",\n padding: \"3rem\",\n colorPreset: {\n color: \"neutral-800\",\n },\n border: {\n width: \"border-2\",\n color: \"border-neutral-600\",\n },\n rounding: \"rounded-2xl\",\n images: [\n {\n image: {\n src: \"https://via.placeholder.com/400x600.png?text=Spring+Look\",\n },\n legend: \"Spring casual collection 2024\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/400x600.png?text=Summer+Look\",\n },\n legend: \"Summer evening wear\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/400x600.png?text=Business+Look\",\n },\n legend: \"Professional business attire\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/400x600.png?text=Weekend+Look\",\n },\n legend: \"Weekend comfort style\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/400x600.png?text=Formal+Look\",\n },\n legend: \"Formal evening collection\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/400x600.png?text=Street+Style\",\n },\n legend: \"Urban street fashion\",\n },\n ],\n },\n },\n {\n description: \"Travel destinations gallery with 3-column grid and no legends\",\n type: \"images-gallery\",\n props: {\n columns: 3,\n gap: \"1.25rem\",\n padding: \"2.5rem\",\n colorPreset: {\n color: \"primary-100\",\n },\n rounding: \"rounded-lg\",\n border: {\n width: \"border\",\n color: \"border-primary-200\",\n },\n images: [\n {\n image: {\n src: \"https://via.placeholder.com/350x250.png?text=Paris\",\n },\n },\n {\n image: {\n src: \"https://via.placeholder.com/350x250.png?text=Tokyo\",\n },\n },\n {\n image: {\n src: \"https://via.placeholder.com/350x250.png?text=New+York\",\n },\n },\n {\n image: {\n src: \"https://via.placeholder.com/350x250.png?text=London\",\n },\n },\n {\n image: {\n src: \"https://via.placeholder.com/350x250.png?text=Rome\",\n },\n },\n {\n image: {\n src: \"https://via.placeholder.com/350x250.png?text=Barcelona\",\n },\n },\n ],\n },\n },\n {\n description: \"Technical equipment gallery with 4-column grid and accent styling\",\n type: \"images-gallery\",\n props: {\n columns: 4,\n gap: \"1rem\",\n padding: \"2rem\",\n colorPreset: {\n color: \"accent-100\",\n },\n border: {\n width: \"border-4\",\n color: \"border-accent-400\",\n },\n rounding: \"rounded-xl\",\n images: [\n {\n image: {\n src: \"https://via.placeholder.com/300x300.png?text=Camera\",\n },\n legend: \"Professional DSLR camera\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/300x300.png?text=Laptop\",\n },\n legend: \"High-performance laptop\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/300x300.png?text=Microphone\",\n },\n legend: \"Studio recording microphone\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/300x300.png?text=Monitor\",\n },\n legend: \"4K professional monitor\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/300x300.png?text=Tablet\",\n },\n legend: \"Digital drawing tablet\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/300x300.png?text=Speakers\",\n },\n legend: \"Studio monitor speakers\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/300x300.png?text=Keyboard\",\n },\n legend: \"Mechanical keyboard\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/300x300.png?text=Mouse\",\n },\n legend: \"Precision gaming mouse\",\n },\n ],\n },\n },\n {\n description: \"Minimal product showcase with large gaps and no padding\",\n type: \"images-gallery\",\n props: {\n columns: 3,\n gap: \"4rem\",\n padding: \"0rem\",\n images: [\n {\n image: {\n src: \"https://via.placeholder.com/400x400.png?text=Watch\",\n },\n legend: \"Luxury Swiss timepiece\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/400x400.png?text=Jewelry\",\n },\n legend: \"Handcrafted gold necklace\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/400x400.png?text=Sunglasses\",\n },\n legend: \"Designer sunglasses collection\",\n },\n ],\n },\n },\n {\n description: \"Dynamic product gallery using products query with loop\",\n type: \"images-gallery\",\n props: {\n columns: 4,\n gap: \"1.5rem\",\n padding: \"2rem\",\n colorPreset: {\n color: \"primary-50\",\n },\n rounding: \"rounded-lg\",\n border: {\n width: \"border\",\n color: \"border-primary-200\",\n },\n images: [\n {\n image: {\n src: \"{{products.image}}\",\n },\n legend: \"{{products.name}} - ${{products.price}}\",\n },\n ],\n loop: {\n over: \"products\",\n },\n },\n },\n {\n description: \"Portfolio showcase using portfolioProjects query with loop\",\n type: \"images-gallery\",\n props: {\n columns: 3,\n gap: \"2rem\",\n padding: \"3rem\",\n colorPreset: {\n color: \"secondary-100\",\n },\n rounding: \"rounded-xl\",\n images: [\n {\n image: {\n src: \"{{portfolioProjects.thumbnail}}\",\n },\n legend:\n \"{{portfolioProjects.projectName}} - {{portfolioProjects.clientName}} ({{portfolioProjects.year}})\",\n },\n ],\n loop: {\n over: \"portfolioProjects\",\n },\n },\n },\n {\n description: \"Event photo gallery using eventPhotos query with loop\",\n type: \"images-gallery\",\n props: {\n columns: 5,\n gap: \"1rem\",\n padding: \"1.5rem\",\n colorPreset: {\n color: \"accent-50\",\n },\n border: {\n width: \"border-2\",\n color: \"border-accent-300\",\n },\n rounding: \"rounded-md\",\n images: [\n {\n image: {\n src: \"{{eventPhotos.imageUrl}}\",\n },\n legend: \"{{eventPhotos.caption}} - {{eventPhotos.eventDate}}\",\n },\n ],\n loop: {\n over: \"eventPhotos\",\n },\n },\n },\n {\n description: \"Team member gallery using teamMembers query with loop\",\n type: \"images-gallery\",\n props: {\n columns: 6,\n gap: \"0.75rem\",\n padding: \"2.5rem\",\n colorPreset: {\n color: \"neutral-100\",\n },\n rounding: \"rounded-lg\",\n border: {\n width: \"border\",\n color: \"border-neutral-300\",\n },\n images: [\n {\n image: {\n src: \"{{teamMembers.profilePhoto}}\",\n },\n legend: \"{{teamMembers.fullName}} - {{teamMembers.position}}\",\n },\n ],\n loop: {\n over: \"teamMembers\",\n },\n },\n },\n];\n"],"mappings":"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","names":[]}
@@ -16,8 +16,6 @@ var connectorSchema = Type.Union([
16
16
  Type.Literal("airtable"),
17
17
  Type.Literal("google-sheets"),
18
18
  Type.Literal("notion"),
19
- // Type.Literal("generic-webhook"),
20
- // saved to Upstart platform
21
19
  Type.Literal("internal")
22
20
  ]);
23
21
  var internalDatarecord = Type.Object(
@@ -110,56 +108,41 @@ var commonDatarecordSchema = Type.Object({
110
108
  ]
111
109
  })
112
110
  });
113
- var datarecordsConnectors = Type.Union([
114
- Type.Composite([
111
+ var commonDatarecordMetadata = Type.Object({
112
+ id: Type.String({
113
+ title: "Datarecord ID",
114
+ comment: "A unique identifier for the datarecord, e.g., 'newsletter_subscriptions'"
115
+ }),
116
+ label: Type.String({
117
+ title: "Name of the datarecord",
118
+ comment: "For example, 'Newsletter Subscriptions'"
119
+ }),
120
+ description: Type.Optional(Type.String({ title: "Description of the datarecord" }))
121
+ });
122
+ var genericDatarecord = Type.Composite([
123
+ Type.Union([
115
124
  Type.Object({
116
125
  provider: Type.Literal("airtable"),
117
126
  options: airtableOptions
118
127
  }),
119
- commonDatarecordSchema
120
- ]),
121
- Type.Composite([
122
128
  Type.Object({
123
129
  provider: Type.Literal("google-sheets"),
124
130
  options: googleSheetsOptions
125
131
  }),
126
- commonDatarecordSchema
127
- ]),
128
- Type.Composite([
129
132
  Type.Object({
130
133
  provider: Type.Literal("notion"),
131
134
  options: notionOptions
132
135
  }),
133
- commonDatarecordSchema
136
+ internalDatarecord
134
137
  ]),
135
- // Type.Composite([
136
- // Type.Object({
137
- // provider: Type.Literal("generic-webhook"),
138
- // options: genericWebhookOptions,
139
- // }),
140
- // commonDatarecordSchema,
141
- // ]),
142
- internalDatarecord
138
+ commonDatarecordMetadata,
139
+ commonDatarecordSchema
143
140
  ]);
144
- var datarecordMetadata = Type.Object({
145
- id: Type.String({
146
- title: "Datarecord ID",
147
- comment: "A unique identifier for the datarecord, e.g., 'newsletter_subscriptions'"
148
- }),
149
- label: Type.String({
150
- title: "Name of the datarecord",
151
- comment: "For example, 'Newsletter Subscriptions'"
152
- }),
153
- description: Type.Optional(Type.String({ title: "Description of the datarecord" }))
154
- });
155
- var datarecordManifest = Type.Composite([datarecordsConnectors, datarecordMetadata]);
156
- var internalDatarecordManifest = Type.Composite([datarecordMetadata, internalDatarecord]);
157
- var datarecordsList = Type.Array(datarecordManifest);
141
+ var datarecordsList = Type.Array(genericDatarecord);
158
142
 
159
143
  export {
160
144
  connectorSchema,
161
- datarecordsConnectors,
162
- internalDatarecordManifest,
145
+ genericDatarecord,
163
146
  datarecordsList
164
147
  };
165
- //# sourceMappingURL=chunk-QSND5IWT.js.map
148
+ //# sourceMappingURL=chunk-LLNPH3XR.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/shared/datarecords/types.ts"],"sourcesContent":["import { Type, type Static } from \"@sinclair/typebox\";\nimport { airtableOptions } from \"./external/airtable/types\";\nimport { googleSheetsOptions } from \"./external/google/sheets/types\";\nimport { notionOptions } from \"./external/notion/types\";\n\nexport const connectorSchema = Type.Union([\n Type.Literal(\"airtable\"),\n Type.Literal(\"google-sheets\"),\n Type.Literal(\"notion\"),\n Type.Literal(\"internal\"),\n]);\n\nexport type DatarecordConnector = Static<typeof connectorSchema>;\n\nconst internalDatarecord = Type.Object(\n {\n provider: Type.Literal(\"internal\"),\n // options: Type.Optional(Type.Any()),\n schema: Type.Any({\n title: \"Schema\",\n description:\n \"JSON Schema of the datarecord. Always of type 'object' and representing a row that will be saved in the database.\",\n examples: [\n {\n type: \"object\",\n properties: {\n firstname: { type: \"string\", title: \"Firstname\" },\n lastname: { type: \"string\", title: \"Lastname\" },\n email: { type: \"string\", format: \"email\", title: \"Email\" },\n },\n required: [\"email\"],\n title: \"Newsletter Subscription\",\n },\n ],\n }),\n indexes: Type.Array(\n Type.Object(\n {\n name: Type.String({ title: \"Index name\" }),\n fields: Type.Array(Type.String(), { title: \"Fields to index\" }),\n unique: Type.Optional(Type.Boolean({ title: \"Unique index\", default: false })),\n },\n {\n examples: [\n {\n name: \"unique_email_index\",\n fields: [\"email\"],\n unique: true,\n },\n {\n name: \"lastname_index\",\n fields: [\"lastname\"],\n },\n ],\n },\n ),\n {\n title: \"Indexes\",\n description:\n \"IMPORTANT: Indexes to create on the datarecord. use it to enforce uniqueness or improve query performance.\",\n },\n ),\n },\n {\n examples: [\n {\n provider: \"internal\",\n schema: {\n type: \"object\",\n properties: {\n firstname: { type: \"string\", title: \"Firstname\" },\n lastname: { type: \"string\", title: \"Lastname\" },\n email: { type: \"string\", format: \"email\", title: \"Email\" },\n },\n required: [\"email\"],\n title: \"Newsletter Subscription\",\n },\n indexes: [\n {\n name: \"email_index\",\n fields: [\"email\"],\n unique: true,\n },\n ],\n },\n ],\n },\n);\n\n// Schema commun à tous les datarecords\nconst commonDatarecordSchema = Type.Object({\n schema: Type.Any({\n title: \"Schema\",\n description:\n \"JSON Schema of the datarecord. Always of type 'object' and representing a row that will be saved.\",\n examples: [\n {\n type: \"object\",\n properties: {\n firstname: { type: \"string\", title: \"Firstname\" },\n lastname: { type: \"string\", title: \"Lastname\" },\n email: { type: \"string\", format: \"email\", title: \"Email\" },\n },\n required: [\"email\"],\n title: \"Newsletter Subscription\",\n },\n ],\n }),\n});\n\nconst commonDatarecordMetadata = Type.Object({\n id: Type.String({\n title: \"Datarecord ID\",\n comment: \"A unique identifier for the datarecord, e.g., 'newsletter_subscriptions'\",\n }),\n label: Type.String({\n title: \"Name of the datarecord\",\n comment: \"For example, 'Newsletter Subscriptions'\",\n }),\n description: Type.Optional(Type.String({ title: \"Description of the datarecord\" })),\n});\n\nexport const genericDatarecord = Type.Composite([\n Type.Union([\n Type.Object({\n provider: Type.Literal(\"airtable\"),\n options: airtableOptions,\n }),\n Type.Object({\n provider: Type.Literal(\"google-sheets\"),\n options: googleSheetsOptions,\n }),\n Type.Object({\n provider: Type.Literal(\"notion\"),\n options: notionOptions,\n }),\n internalDatarecord,\n ]),\n commonDatarecordMetadata,\n commonDatarecordSchema,\n]);\n\n// export const genericDatarecord = Type.Union([\n// Type.Composite([\n// Type.Object({\n// provider: Type.Literal(\"airtable\"),\n// options: airtableOptions,\n// }),\n// commonDatarecordMetadata,\n// commonDatarecordSchema,\n// ]),\n// Type.Composite([\n// Type.Object({\n// provider: Type.Literal(\"google-sheets\"),\n// options: googleSheetsOptions,\n// }),\n// commonDatarecordMetadata,\n// commonDatarecordSchema,\n// ]),\n// Type.Composite([\n// Type.Object({\n// provider: Type.Literal(\"notion\"),\n// options: notionOptions,\n// }),\n// commonDatarecordMetadata,\n// commonDatarecordSchema,\n// ]),\n// Type.Composite([internalDatarecord, commonDatarecordMetadata, commonDatarecordSchema]),\n// ]);\n\nexport type Datarecord = Static<typeof genericDatarecord>;\nexport type InternalDatarecord = Extract<Datarecord, { provider: \"internal\" }>;\n\nexport const datarecordsList = Type.Array(genericDatarecord);\nexport type DatarecordsList = Static<typeof datarecordsList>;\n"],"mappings":"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","names":[]}
@@ -8,10 +8,10 @@ import {
8
8
  } from "./chunk-BHC2A43S.js";
9
9
  import {
10
10
  defineBrickManifest
11
- } from "./chunk-TB3X4LRQ.js";
11
+ } from "./chunk-EVLRH6VG.js";
12
12
  import {
13
13
  toLLMSchema
14
- } from "./chunk-BW6EFRSF.js";
14
+ } from "./chunk-IQIISR22.js";
15
15
  import {
16
16
  tagsRef
17
17
  } from "./chunk-Q4NPPLEU.js";
@@ -24,7 +24,7 @@ import {
24
24
  import {
25
25
  string,
26
26
  urlOrPageIdRef
27
- } from "./chunk-UQF52PWK.js";
27
+ } from "./chunk-N3ZTQD5I.js";
28
28
  import {
29
29
  imageRef
30
30
  } from "./chunk-W6MRYRGJ.js";
@@ -365,4 +365,4 @@ export {
365
365
  navbarSchemaPropsLLM,
366
366
  examples
367
367
  };
368
- //# sourceMappingURL=chunk-LXAO3JA6.js.map
368
+ //# sourceMappingURL=chunk-LTIJI7Y3.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/shared/bricks/manifests/navbar.manifest.ts"],"sourcesContent":["import { type Static, type TObject, Type } from \"@sinclair/typebox\";\nimport { defineBrickManifest } from \"~/shared/brick-manifest\";\nimport { defineProps } from \"../props/helpers\";\nimport { string, urlOrPageIdRef } from \"../props/string\";\nimport { imageRef } from \"../props/image\";\nimport { textContentRef } from \"../props/text\";\nimport { shadowRef } from \"../props/effects\";\nimport { boolean } from \"../props/boolean\";\nimport { VscLayoutPanelOff } from \"react-icons/vsc\";\nimport type { BrickProps } from \"../props/types\";\nimport { colorPresetRef } from \"../props/color-preset\";\nimport { tagsRef } from \"../props/tags\";\nimport { toLLMSchema } from \"~/shared/utils/llm\";\nimport type { BrickExample } from \"./_types\";\n\nexport const manifest = defineBrickManifest({\n type: \"navbar\",\n name: \"Navbar\",\n category: \"layout\",\n description: \"A navigation bar with logo and navigation\",\n aiInstructions: \"This brick should be used on most sites/pages. It must be placed on its own section.\",\n isGlobalBrick: true,\n duplicatable: false,\n resizable: false,\n movable: false,\n hideInLibrary: true,\n staticClasses: \"flex-grow\",\n defaultWidth: { mobile: \"100%\" },\n defaultHeight: { mobile: \"60px\", desktop: \"60px\" },\n icon: VscLayoutPanelOff,\n iconClassName: \"rotate-180\",\n props: defineProps(\n {\n colorPreset: Type.Optional(\n colorPresetRef({\n title: \"Color\",\n default: { color: \"primary-500\" },\n examples: [{ color: \"primary-500\" }, { color: \"neutral-900\" }, { color: \"secondary-200\" }],\n }),\n ),\n brand: Type.Optional(\n textContentRef({\n title: \"Brand name\",\n default: \"Acme Inc.\",\n disableSizing: true,\n \"ai:instructions\":\n \"The brand name of the website, for example the company name. Please provide it even if optional.\",\n metadata: {\n category: \"content\",\n },\n examples: [\"Acme Inc.\", \"TechCorp Solutions\", \"ShopEasy\", \"Bella Vista\"],\n }),\n ),\n logo: Type.Optional(\n imageRef({\n title: \"Logo\",\n \"ui:show-img-search\": false,\n \"ui:no-object-options\": true,\n \"ui:no-dynamic\": true,\n \"ui:placeholder\": \"https://example.com/logo.png\",\n metadata: {\n category: \"content\",\n },\n \"ai:hidden\": true, // Hide from AI as it should always be provided if available\n }),\n ),\n hideBrand: Type.Optional(\n boolean(\"Hide brand name\", undefined, {\n \"ai:hidden\": true,\n metadata: {\n filter: (manifestProps: TObject, formData: Static<Manifest[\"props\"]>) => {\n return !!formData.logo; // Enable this field only if logo is set\n },\n },\n }),\n ),\n linksTagsFilter: Type.Optional(\n tagsRef({\n title: \"Pages tags\",\n description: \"Filter pages links in the navbar by tags. Only pages with these tags will be shown.\",\n default: [\"navbar\"],\n metadata: {\n category: \"content\",\n },\n examples: [[\"navbar\", \"main\"], [\"top-menu\"], [\"important-link\", \"navbar\"]],\n }),\n ),\n staticNavItems: Type.Optional(\n Type.Array(\n Type.Object({\n urlOrPageId: urlOrPageIdRef(),\n label: Type.Optional(string(\"Label\")),\n }),\n {\n title: \"Static links\",\n description: \"Additional static navigation links to show in the navbar\",\n \"ai:instructions\": \"Don't include pages already included by the tags filter.\",\n default: [],\n metadata: {\n category: \"content\",\n },\n examples: [\n [\n { urlOrPageId: \"http://example.com/\", label: \"Other site\" },\n { urlOrPageId: \"https://docs.example.com/\", label: \"External docs\" },\n ],\n [{ urlOrPageId: \"https://www.amazon.com/our-brand\", label: \"Buy our brand on Amazon\" }],\n ],\n },\n ),\n ),\n linksPosition: Type.Optional(\n Type.Union(\n [\n Type.Literal(\"left\", { title: \"Left\" }),\n Type.Literal(\"center\", { title: \"Center\" }),\n Type.Literal(\"right\", { title: \"Right\" }),\n ],\n { title: \"Links position\", default: \"right\", \"ui:responsive\": \"desktop\" },\n ),\n ),\n shadow: Type.Optional(shadowRef()),\n },\n { noAlignSelf: true, noGrow: true },\n ),\n});\n\nexport type Manifest = typeof manifest;\nexport type NavbarProps = Static<Manifest[\"props\"]>;\n\nexport const navbarSchemaPropsLLM = toLLMSchema(manifest.props);\n\nexport const examples: BrickExample<Manifest>[] = [\n {\n description:\n \"Corporate technology company navbar featuring company logo with right-aligned navigation links filtered by navbar and featured tags\",\n type: \"navbar\",\n props: {\n logo: {\n src: \"https://via.placeholder.com/120x40.png?text=TechCorp\",\n alt: \"TechCorp Solutions logo\",\n },\n linksPosition: \"right\",\n linksTagsFilter: [\"navbar\", \"featured\"],\n },\n },\n {\n description:\n \"Dark-themed professional navbar with centered brand text and navigation, including external site link for service companies\",\n type: \"navbar\",\n props: {\n brand: \"TechCorp Solutions\",\n linksPosition: \"center\",\n linksTagsFilter: [\"navbar\", \"featured\"],\n staticNavItems: [{ urlOrPageId: \"http://example.com/\", label: \"Other site\" }],\n },\n },\n {\n description:\n \"E-commerce store navbar with primary blue branding, medium shadow effect, and right-aligned cart/account links for online shopping sites\",\n type: \"navbar\",\n props: {\n brand: \"ShopEasy\",\n colorPreset: {\n color: \"primary-500\",\n },\n linksPosition: \"right\",\n linksTagsFilter: [\"main\", \"shop\"],\n shadow: \"shadow-md\",\n staticNavItems: [\n { urlOrPageId: \"cart\", label: \"Cart\" },\n { urlOrPageId: \"account\", label: \"Account\" },\n ],\n },\n },\n {\n description:\n \"Restaurant navbar with logo and hidden brand text, featuring secondary color scheme and left-aligned navigation with reservation booking and phone contact\",\n type: \"navbar\",\n props: {\n logo: {\n src: \"https://via.placeholder.com/100x50.png?text=Bella+Vista\",\n alt: \"Bella Vista Restaurant logo\",\n },\n brand: \"Bella Vista\",\n hideBrand: true,\n linksPosition: \"left\",\n linksTagsFilter: [\"navbar\"],\n colorPreset: {\n color: \"secondary-200\",\n },\n staticNavItems: [\n { urlOrPageId: \"reservations\", label: \"Reservations\" },\n { urlOrPageId: \"tel:+1234567890\", label: \"Call Us\" },\n ],\n },\n },\n {\n description:\n \"Clean minimalist design navbar with neutral light background, centered navigation links, and subtle shadow for creative agencies and design studios\",\n type: \"navbar\",\n props: {\n brand: \"Minimal Studio\",\n colorPreset: {\n color: \"neutral-100\",\n },\n linksPosition: \"center\",\n linksTagsFilter: [\"main\"],\n shadow: \"shadow-sm\",\n },\n },\n {\n description:\n \"Creative portfolio navbar with dark neutral background, compact logo, and external social media links to showcase professional work and attract clients\",\n type: \"navbar\",\n props: {\n logo: {\n src: \"https://via.placeholder.com/80x40.png?text=Portfolio\",\n alt: \"Creative Portfolio logo\",\n },\n brand: \"Creative Portfolio\",\n colorPreset: {\n color: \"neutral-900\",\n },\n linksPosition: \"right\",\n linksTagsFilter: [\"portfolio\", \"main\"],\n staticNavItems: [\n { urlOrPageId: \"https://dribbble.com/mywork\", label: \"Dribbble\" },\n { urlOrPageId: \"https://behance.net/mywork\", label: \"Behance\" },\n { urlOrPageId: \"contact\", label: \"Hire Me\" },\n ],\n },\n },\n {\n description:\n \"Digital marketing agency navbar with horizontal gradient background, large shadow, and external consultation booking integration for lead generation\",\n type: \"navbar\",\n props: {\n brand: \"Digital Agency\",\n colorPreset: {\n color: \"primary-600\",\n gradientDirection: \"bg-gradient-to-r\",\n },\n linksPosition: \"right\",\n linksTagsFilter: [\"services\", \"navbar\"],\n shadow: \"shadow-lg\",\n staticNavItems: [\n { urlOrPageId: \"https://calendar.com/book\", label: \"Book Consultation\" },\n { urlOrPageId: \"case-studies\", label: \"Case Studies\" },\n ],\n },\n },\n {\n description:\n \"SaaS application navbar with accent color scheme, company logo, and essential user authentication links for software platforms\",\n type: \"navbar\",\n props: {\n logo: {\n src: \"https://via.placeholder.com/120x35.png?text=CloudApp\",\n alt: \"CloudApp SaaS logo\",\n },\n brand: \"CloudApp\",\n colorPreset: {\n color: \"accent-500\",\n },\n linksPosition: \"right\",\n linksTagsFilter: [\"features\", \"navbar\"],\n staticNavItems: [\n { urlOrPageId: \"pricing\", label: \"Pricing\" },\n { urlOrPageId: \"login\", label: \"Login\" },\n { urlOrPageId: \"signup\", label: \"Sign Up\" },\n ],\n },\n },\n {\n description:\n \"Nonprofit organization navbar with warm accent color, centered navigation, and donation call-to-action links for charitable foundations\",\n type: \"navbar\",\n props: {\n brand: \"Hope Foundation\",\n colorPreset: {\n color: \"accent-400\",\n },\n linksPosition: \"center\",\n linksTagsFilter: [\"about\", \"programs\"],\n shadow: \"shadow-md\",\n staticNavItems: [\n { urlOrPageId: \"donate\", label: \"Donate Now\" },\n { urlOrPageId: \"volunteer\", label: \"Volunteer\" },\n ],\n },\n },\n {\n description:\n \"Professional law firm navbar with dark authoritative styling, professional logo, and client consultation contact information for legal services\",\n type: \"navbar\",\n props: {\n logo: {\n src: \"https://via.placeholder.com/110x45.png?text=LawFirm\",\n alt: \"Professional Law Firm logo\",\n },\n brand: \"Smith & Associates\",\n colorPreset: {\n color: \"neutral-800\",\n },\n linksPosition: \"right\",\n linksTagsFilter: [\"practice-areas\", \"navbar\"],\n staticNavItems: [\n { urlOrPageId: \"consultation\", label: \"Free Consultation\" },\n { urlOrPageId: \"tel:+1234567890\", label: \"(123) 456-7890\" },\n ],\n },\n },\n {\n description:\n \"Event management company navbar with bold primary red gradient background, left-aligned navigation, and ticket purchasing links for entertainment venues\",\n type: \"navbar\",\n props: {\n brand: \"Event Masters\",\n colorPreset: {\n color: \"primary-500\",\n gradientDirection: \"bg-gradient-to-br\",\n },\n linksPosition: \"left\",\n linksTagsFilter: [\"events\", \"upcoming\"],\n shadow: \"shadow-xl\",\n staticNavItems: [\n { urlOrPageId: \"tickets\", label: \"Buy Tickets\" },\n { urlOrPageId: \"venues\", label: \"Venues\" },\n ],\n },\n },\n {\n description:\n \"Fitness studio navbar with secondary purple color scheme, visible brand name alongside logo, and centered class booking navigation for health and wellness businesses\",\n type: \"navbar\",\n props: {\n logo: {\n src: \"https://via.placeholder.com/90x50.png?text=FitStudio\",\n alt: \"Fitness Studio logo\",\n },\n brand: \"Peak Fitness\",\n hideBrand: false,\n colorPreset: {\n color: \"secondary-600\",\n },\n linksPosition: \"center\",\n linksTagsFilter: [\"classes\", \"membership\"],\n staticNavItems: [\n { urlOrPageId: \"book-class\", label: \"Book Class\" },\n { urlOrPageId: \"membership\", label: \"Join Now\" },\n { urlOrPageId: \"trainers\", label: \"Personal Training\" },\n ],\n },\n },\n];\n"],"mappings":"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","names":[]}
@@ -2,10 +2,10 @@
2
2
 
3
3
  import {
4
4
  pageSchema
5
- } from "./chunk-4WI23M7W.js";
5
+ } from "./chunk-FQDR2BBZ.js";
6
6
  import {
7
7
  toLLMSchema
8
- } from "./chunk-BW6EFRSF.js";
8
+ } from "./chunk-IQIISR22.js";
9
9
  import {
10
10
  StringEnum
11
11
  } from "./chunk-JK2FWFJU.js";
@@ -100,4 +100,4 @@ export {
100
100
  sitemapSchemaLLM,
101
101
  sitemapSchemaNoPlansLLM
102
102
  };
103
- //# sourceMappingURL=chunk-6E42XWFH.js.map
103
+ //# sourceMappingURL=chunk-MFNHFN2B.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/shared/sitemap.ts"],"sourcesContent":["import { Type, type Static } from \"@sinclair/typebox\";\nimport { StringEnum } from \"./utils/string-enum\";\nimport { pageSchema } from \"./page\";\nimport { toLLMSchema } from \"./utils/llm\";\n\nexport const sitemapPageEntry = Type.Pick(pageSchema, [\"id\", \"label\", \"path\", \"attributes\"]);\nexport type SitemapPageEntry = Static<typeof sitemapPageEntry>;\n\nexport const sectionsPlanSchema = Type.Array(\n Type.Object(\n {\n id: Type.String({\n title: \"Section ID\",\n examples: [\"header-section\", \"hero-section\", \"features-section\"],\n format: \"slug\",\n }),\n name: Type.String({ title: \"Section name\", examples: [\"Header\", \"Hero\", \"Features\"] }),\n description: Type.String({\n title: \"A long description of the section\",\n description: `You must elaborate a clear and detailled plan that describes:\n- The section purpose in the page, in detail.\n- The section structure, look & feel, and structural/design organization, in detail\n- the types of bricks (e.g. \"container\", \"text\", \"video\", \"carousel\", etc) that will be used and their purpose, in detail\n\nIMPORTANT: be very descriptive and precise in your plan. The more details you provide, the better the generated page will be.`,\n\n examples: [\n \"This section contains a `hero` and a call-to-action `button`. All of theme aligned horizontally. The section should market a coffee shop.\",\n \"This section should contain a `hero` text and an `image`.\",\n ],\n }),\n },\n { additionalProperties: false },\n ),\n {\n title: \"Sections plan\",\n description: \"A plan for the sections of the page. Used to generate the page content.\",\n examples: [\n [\n {\n id: \"header-section\",\n name: \"Header\",\n description: \"This section only contains a header brick\",\n },\n {\n id: \"hero-section\",\n name: \"Hero\",\n description:\n \"This is the hero section of the page. It should display a marketing message using a hero brick, as well as a button (CTA). The section should center bricks horizontally.\",\n },\n ],\n ],\n },\n);\n\nexport const sitemapEntry = Type.Composite(\n [\n sitemapPageEntry,\n Type.Object({\n status: Type.Optional(\n StringEnum([\"draft\", \"published\"], {\n title: \"Page status\",\n enumNames: [\"Draft\", \"Published\"],\n default: \"draft\",\n \"ai:hidden\": true,\n description:\n \"The status of the page. Can be draft or published. [AI instructions: Dont generate this.]\",\n \"ai:instructions\": \"Upsie: Never generate this optional field.\",\n }),\n ),\n }),\n ],\n {\n description: \"Pages map. The complete list of site pages & their metadata\",\n additionalProperties: false,\n },\n);\n\nexport const sitemapSchema = Type.Array(sitemapEntry);\nexport type Sitemap = Static<typeof sitemapSchema>;\n\nexport const sitemapSchemaLLM = toLLMSchema(\n Type.Array(\n Type.Composite([\n sitemapEntry,\n Type.Object({\n // Sections plan helps agents to the structure and content of the page\n sectionsPlan: sectionsPlanSchema,\n }),\n ]),\n ),\n);\n\nexport const sitemapSchemaNoPlansLLM = toLLMSchema(sitemapSchema);\n"],"mappings":";;;;;;;;;;;;;AAAA,SAAS,YAAyB;AAK3B,IAAM,mBAAmB,KAAK,KAAK,YAAY,CAAC,MAAM,SAAS,QAAQ,YAAY,CAAC;AAGpF,IAAM,qBAAqB,KAAK;AAAA,EACrC,KAAK;AAAA,IACH;AAAA,MACE,IAAI,KAAK,OAAO;AAAA,QACd,OAAO;AAAA,QACP,UAAU,CAAC,kBAAkB,gBAAgB,kBAAkB;AAAA,QAC/D,QAAQ;AAAA,MACV,CAAC;AAAA,MACD,MAAM,KAAK,OAAO,EAAE,OAAO,gBAAgB,UAAU,CAAC,UAAU,QAAQ,UAAU,EAAE,CAAC;AAAA,MACrF,aAAa,KAAK,OAAO;AAAA,QACvB,OAAO;AAAA,QACP,aAAa;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,QAOb,UAAU;AAAA,UACR;AAAA,UACA;AAAA,QACF;AAAA,MACF,CAAC;AAAA,IACH;AAAA,IACA,EAAE,sBAAsB,MAAM;AAAA,EAChC;AAAA,EACA;AAAA,IACE,OAAO;AAAA,IACP,aAAa;AAAA,IACb,UAAU;AAAA,MACR;AAAA,QACE;AAAA,UACE,IAAI;AAAA,UACJ,MAAM;AAAA,UACN,aAAa;AAAA,QACf;AAAA,QACA;AAAA,UACE,IAAI;AAAA,UACJ,MAAM;AAAA,UACN,aACE;AAAA,QACJ;AAAA,MACF;AAAA,IACF;AAAA,EACF;AACF;AAEO,IAAM,eAAe,KAAK;AAAA,EAC/B;AAAA,IACE;AAAA,IACA,KAAK,OAAO;AAAA,MACV,QAAQ,KAAK;AAAA,QACX,WAAW,CAAC,SAAS,WAAW,GAAG;AAAA,UACjC,OAAO;AAAA,UACP,WAAW,CAAC,SAAS,WAAW;AAAA,UAChC,SAAS;AAAA,UACT,aAAa;AAAA,UACb,aACE;AAAA,UACF,mBAAmB;AAAA,QACrB,CAAC;AAAA,MACH;AAAA,IACF,CAAC;AAAA,EACH;AAAA,EACA;AAAA,IACE,aAAa;AAAA,IACb,sBAAsB;AAAA,EACxB;AACF;AAEO,IAAM,gBAAgB,KAAK,MAAM,YAAY;AAG7C,IAAM,mBAAmB;AAAA,EAC9B,KAAK;AAAA,IACH,KAAK,UAAU;AAAA,MACb;AAAA,MACA,KAAK,OAAO;AAAA;AAAA,QAEV,cAAc;AAAA,MAChB,CAAC;AAAA,IACH,CAAC;AAAA,EACH;AACF;AAEO,IAAM,0BAA0B,YAAY,aAAa;","names":[]}
1
+ {"version":3,"sources":["../../src/shared/sitemap.ts"],"sourcesContent":["import { Type, type Static } from \"@sinclair/typebox\";\nimport { StringEnum } from \"./utils/string-enum\";\nimport { pageSchema } from \"./page\";\nimport { toLLMSchema } from \"./utils/llm\";\n\nexport const sitemapPageEntry = Type.Pick(pageSchema, [\"id\", \"label\", \"path\", \"attributes\"]);\nexport type SitemapPageEntry = Static<typeof sitemapPageEntry>;\n\nexport const sectionsPlanSchema = Type.Array(\n Type.Object(\n {\n id: Type.String({\n title: \"Section ID\",\n examples: [\"header-section\", \"hero-section\", \"features-section\"],\n format: \"slug\",\n }),\n name: Type.String({ title: \"Section name\", examples: [\"Header\", \"Hero\", \"Features\"] }),\n description: Type.String({\n title: \"A long description of the section\",\n description: `You must elaborate a clear and detailled plan that describes:\n- The section purpose in the page, in detail.\n- The section structure, look & feel, and structural/design organization, in detail\n- the types of bricks (e.g. \"container\", \"text\", \"video\", \"carousel\", etc) that will be used and their purpose, in detail\n\nIMPORTANT: be very descriptive and precise in your plan. The more details you provide, the better the generated page will be.`,\n\n examples: [\n \"This section contains a `hero` and a call-to-action `button`. All of theme aligned horizontally. The section should market a coffee shop.\",\n \"This section should contain a `hero` text and an `image`.\",\n ],\n }),\n },\n { additionalProperties: false },\n ),\n {\n title: \"Sections plan\",\n description: \"A plan for the sections of the page. Used to generate the page content.\",\n examples: [\n [\n {\n id: \"header-section\",\n name: \"Header\",\n description: \"This section only contains a header brick\",\n },\n {\n id: \"hero-section\",\n name: \"Hero\",\n description:\n \"This is the hero section of the page. It should display a marketing message using a hero brick, as well as a button (CTA). The section should center bricks horizontally.\",\n },\n ],\n ],\n },\n);\n\nexport const sitemapEntry = Type.Composite(\n [\n sitemapPageEntry,\n Type.Object({\n status: Type.Optional(\n StringEnum([\"draft\", \"published\"], {\n title: \"Page status\",\n enumNames: [\"Draft\", \"Published\"],\n default: \"draft\",\n \"ai:hidden\": true,\n description:\n \"The status of the page. Can be draft or published. [AI instructions: Dont generate this.]\",\n \"ai:instructions\": \"Upsie: Never generate this optional field.\",\n }),\n ),\n }),\n ],\n {\n description: \"Pages map. The complete list of site pages & their metadata\",\n additionalProperties: false,\n },\n);\n\nexport const sitemapSchema = Type.Array(sitemapEntry);\nexport type Sitemap = Static<typeof sitemapSchema>;\n\nexport const sitemapSchemaLLM = toLLMSchema(\n Type.Array(\n Type.Composite([\n sitemapEntry,\n Type.Object({\n // Sections plan helps agents to the structure and content of the page\n sectionsPlan: sectionsPlanSchema,\n }),\n ]),\n ),\n);\n\nexport type SitemapWithPlans = Static<typeof sitemapSchemaLLM>;\n\nexport const sitemapSchemaNoPlansLLM = toLLMSchema(sitemapSchema);\n"],"mappings":";;;;;;;;;;;;;AAAA,SAAS,YAAyB;AAK3B,IAAM,mBAAmB,KAAK,KAAK,YAAY,CAAC,MAAM,SAAS,QAAQ,YAAY,CAAC;AAGpF,IAAM,qBAAqB,KAAK;AAAA,EACrC,KAAK;AAAA,IACH;AAAA,MACE,IAAI,KAAK,OAAO;AAAA,QACd,OAAO;AAAA,QACP,UAAU,CAAC,kBAAkB,gBAAgB,kBAAkB;AAAA,QAC/D,QAAQ;AAAA,MACV,CAAC;AAAA,MACD,MAAM,KAAK,OAAO,EAAE,OAAO,gBAAgB,UAAU,CAAC,UAAU,QAAQ,UAAU,EAAE,CAAC;AAAA,MACrF,aAAa,KAAK,OAAO;AAAA,QACvB,OAAO;AAAA,QACP,aAAa;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,QAOb,UAAU;AAAA,UACR;AAAA,UACA;AAAA,QACF;AAAA,MACF,CAAC;AAAA,IACH;AAAA,IACA,EAAE,sBAAsB,MAAM;AAAA,EAChC;AAAA,EACA;AAAA,IACE,OAAO;AAAA,IACP,aAAa;AAAA,IACb,UAAU;AAAA,MACR;AAAA,QACE;AAAA,UACE,IAAI;AAAA,UACJ,MAAM;AAAA,UACN,aAAa;AAAA,QACf;AAAA,QACA;AAAA,UACE,IAAI;AAAA,UACJ,MAAM;AAAA,UACN,aACE;AAAA,QACJ;AAAA,MACF;AAAA,IACF;AAAA,EACF;AACF;AAEO,IAAM,eAAe,KAAK;AAAA,EAC/B;AAAA,IACE;AAAA,IACA,KAAK,OAAO;AAAA,MACV,QAAQ,KAAK;AAAA,QACX,WAAW,CAAC,SAAS,WAAW,GAAG;AAAA,UACjC,OAAO;AAAA,UACP,WAAW,CAAC,SAAS,WAAW;AAAA,UAChC,SAAS;AAAA,UACT,aAAa;AAAA,UACb,aACE;AAAA,UACF,mBAAmB;AAAA,QACrB,CAAC;AAAA,MACH;AAAA,IACF,CAAC;AAAA,EACH;AAAA,EACA;AAAA,IACE,aAAa;AAAA,IACb,sBAAsB;AAAA,EACxB;AACF;AAEO,IAAM,gBAAgB,KAAK,MAAM,YAAY;AAG7C,IAAM,mBAAmB;AAAA,EAC9B,KAAK;AAAA,IACH,KAAK,UAAU;AAAA,MACb;AAAA,MACA,KAAK,OAAO;AAAA;AAAA,QAEV,cAAc;AAAA,MAChB,CAAC;AAAA,IACH,CAAC;AAAA,EACH;AACF;AAIO,IAAM,0BAA0B,YAAY,aAAa;","names":[]}
@@ -3,98 +3,98 @@
3
3
  import {
4
4
  examples as examples22,
5
5
  manifest as manifest22
6
- } from "./chunk-BMWRR4DI.js";
6
+ } from "./chunk-YWOTQWIQ.js";
7
7
  import {
8
8
  examples as examples17,
9
9
  manifest as manifest17
10
- } from "./chunk-Z2NTDFB4.js";
10
+ } from "./chunk-KEM5N6GJ.js";
11
11
  import {
12
12
  examples as examples18,
13
13
  manifest as manifest18
14
- } from "./chunk-V3UA3LRK.js";
14
+ } from "./chunk-KIDICX3Y.js";
15
15
  import {
16
16
  examples as examples23,
17
17
  manifest as manifest23
18
- } from "./chunk-U7TVEPKA.js";
18
+ } from "./chunk-ZRRAK5NS.js";
19
19
  import {
20
20
  examples as examples19,
21
21
  manifest as manifest19
22
- } from "./chunk-Z35I5JM5.js";
22
+ } from "./chunk-F247VKAE.js";
23
23
  import {
24
24
  examples as examples11,
25
25
  manifest as manifest11
26
- } from "./chunk-GPCI2N2A.js";
26
+ } from "./chunk-ZR6R6Z6O.js";
27
27
  import {
28
28
  examples as examples12,
29
29
  manifest as manifest12
30
- } from "./chunk-GCQURRVB.js";
30
+ } from "./chunk-LCJ2VFPM.js";
31
31
  import {
32
32
  examples as examples13,
33
33
  manifest as manifest13
34
- } from "./chunk-P3RH5URN.js";
34
+ } from "./chunk-2VDR4ZYY.js";
35
35
  import {
36
36
  examples as examples14,
37
37
  manifest as manifest14
38
- } from "./chunk-CKFRSHR2.js";
38
+ } from "./chunk-2IHKVMKW.js";
39
39
  import {
40
40
  examples as examples15,
41
41
  manifest as manifest15
42
- } from "./chunk-SHUGHJ7V.js";
42
+ } from "./chunk-GQTZPN5D.js";
43
43
  import {
44
44
  examples as examples16,
45
45
  manifest as manifest16
46
- } from "./chunk-QL3T5HJQ.js";
46
+ } from "./chunk-FOGAVJC2.js";
47
47
  import {
48
48
  examples as examples21,
49
49
  manifest as manifest21
50
- } from "./chunk-WGDUJSSS.js";
50
+ } from "./chunk-DFAFDBYZ.js";
51
51
  import {
52
52
  examples as examples5,
53
53
  manifest as manifest5
54
- } from "./chunk-X6N463D4.js";
54
+ } from "./chunk-CRS7QCPZ.js";
55
55
  import {
56
56
  examples as examples6,
57
57
  manifest as manifest6
58
- } from "./chunk-D4YQ6ABM.js";
58
+ } from "./chunk-H5JM2M2T.js";
59
59
  import {
60
60
  examples as examples7,
61
61
  manifest as manifest7
62
- } from "./chunk-GRMY35BU.js";
62
+ } from "./chunk-L6C7HUSA.js";
63
63
  import {
64
64
  examples as examples8,
65
65
  manifest as manifest8
66
- } from "./chunk-QQQ3FYPG.js";
66
+ } from "./chunk-42OUNI7C.js";
67
67
  import {
68
68
  examples as examples9,
69
69
  manifest as manifest9
70
- } from "./chunk-EWSPTRDL.js";
70
+ } from "./chunk-U5ZECCJM.js";
71
71
  import {
72
72
  examples as examples20,
73
73
  manifest as manifest20
74
- } from "./chunk-DRTGM2UJ.js";
74
+ } from "./chunk-GIGFNQBO.js";
75
75
  import {
76
76
  examples as examples10,
77
77
  manifest as manifest10
78
- } from "./chunk-X75YV73Q.js";
78
+ } from "./chunk-KILJYJFE.js";
79
79
  import {
80
80
  examples as examples3,
81
81
  manifest as manifest3
82
- } from "./chunk-2HO4FHLM.js";
82
+ } from "./chunk-4MNWMEMM.js";
83
83
  import {
84
84
  examples as examples4,
85
85
  manifest as manifest4
86
- } from "./chunk-3KLRW4I2.js";
86
+ } from "./chunk-GFAQWQER.js";
87
87
  import {
88
88
  examples,
89
89
  manifest
90
- } from "./chunk-LXAO3JA6.js";
90
+ } from "./chunk-LTIJI7Y3.js";
91
91
  import {
92
92
  examples as examples2,
93
93
  manifest as manifest2
94
- } from "./chunk-MLZT7MRQ.js";
94
+ } from "./chunk-36PLZKMW.js";
95
95
  import {
96
96
  getBrickManifestDefaults
97
- } from "./chunk-TB3X4LRQ.js";
97
+ } from "./chunk-EVLRH6VG.js";
98
98
  import {
99
99
  StringEnum
100
100
  } from "./chunk-JK2FWFJU.js";
@@ -174,7 +174,8 @@ var brickTypes = StringEnum(
174
174
  manifest23.type
175
175
  ],
176
176
  {
177
- title: "Brick type"
177
+ title: "Brick type",
178
+ description: "The type of brick"
178
179
  }
179
180
  );
180
181
  var examples24 = {
@@ -209,4 +210,4 @@ export {
209
210
  brickTypes,
210
211
  examples24 as examples
211
212
  };
212
- //# sourceMappingURL=chunk-TEO6TJOM.js.map
213
+ //# sourceMappingURL=chunk-N3BEBLWF.js.map