@upstart.gg/sdk 0.0.135 → 0.0.137

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 (473) 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 +38 -8
  4. package/dist/shared/ai/schemas.js.map +1 -1
  5. package/dist/shared/ai/types.d.ts +93 -81
  6. package/dist/shared/ai/types.d.ts.map +1 -1
  7. package/dist/shared/ajv.js +33 -32
  8. package/dist/shared/ajv.js.map +1 -1
  9. package/dist/shared/attributes.d.ts +86 -86
  10. package/dist/shared/attributes.d.ts.map +1 -1
  11. package/dist/shared/attributes.js +22 -25
  12. package/dist/shared/brick-manifest.d.ts +8 -5
  13. package/dist/shared/brick-manifest.d.ts.map +1 -1
  14. package/dist/shared/brick-manifest.js +3 -18
  15. package/dist/shared/bricks/manifests/_types.d.ts +9 -0
  16. package/dist/shared/bricks/manifests/_types.d.ts.map +1 -0
  17. package/dist/shared/bricks/manifests/_types.js +3 -0
  18. package/dist/shared/bricks/manifests/accordion.manifest.d.ts +4 -8
  19. package/dist/shared/bricks/manifests/accordion.manifest.d.ts.map +1 -1
  20. package/dist/shared/bricks/manifests/accordion.manifest.js +13 -20
  21. package/dist/shared/bricks/manifests/all-manifests.d.ts.map +1 -1
  22. package/dist/shared/bricks/manifests/all-manifests.js +44 -43
  23. package/dist/shared/bricks/manifests/all-props.d.ts +1501 -0
  24. package/dist/shared/bricks/manifests/all-props.d.ts.map +1 -0
  25. package/dist/shared/bricks/manifests/all-props.js +243 -0
  26. package/dist/shared/bricks/manifests/all-props.js.map +1 -0
  27. package/dist/shared/bricks/manifests/box.manifest.d.ts +4 -8
  28. package/dist/shared/bricks/manifests/box.manifest.d.ts.map +1 -1
  29. package/dist/shared/bricks/manifests/box.manifest.js +16 -20
  30. package/dist/shared/bricks/manifests/button.manifest.d.ts +5 -12
  31. package/dist/shared/bricks/manifests/button.manifest.d.ts.map +1 -1
  32. package/dist/shared/bricks/manifests/button.manifest.js +13 -20
  33. package/dist/shared/bricks/manifests/card.manifest.d.ts +10 -9
  34. package/dist/shared/bricks/manifests/card.manifest.d.ts.map +1 -1
  35. package/dist/shared/bricks/manifests/card.manifest.js +18 -20
  36. package/dist/shared/bricks/manifests/carousel.manifest.d.ts +4 -8
  37. package/dist/shared/bricks/manifests/carousel.manifest.d.ts.map +1 -1
  38. package/dist/shared/bricks/manifests/carousel.manifest.js +15 -20
  39. package/dist/shared/bricks/manifests/footer.manifest.d.ts +5 -9
  40. package/dist/shared/bricks/manifests/footer.manifest.d.ts.map +1 -1
  41. package/dist/shared/bricks/manifests/footer.manifest.js +13 -20
  42. package/dist/shared/bricks/manifests/form.manifest.d.ts +5 -9
  43. package/dist/shared/bricks/manifests/form.manifest.d.ts.map +1 -1
  44. package/dist/shared/bricks/manifests/form.manifest.js +13 -20
  45. package/dist/shared/bricks/manifests/hero.manifest.d.ts +4 -8
  46. package/dist/shared/bricks/manifests/hero.manifest.d.ts.map +1 -1
  47. package/dist/shared/bricks/manifests/hero.manifest.js +13 -20
  48. package/dist/shared/bricks/manifests/html.manifest.d.ts +3 -7
  49. package/dist/shared/bricks/manifests/html.manifest.d.ts.map +1 -1
  50. package/dist/shared/bricks/manifests/html.manifest.js +8 -20
  51. package/dist/shared/bricks/manifests/icon.manifest.d.ts +3 -7
  52. package/dist/shared/bricks/manifests/icon.manifest.d.ts.map +1 -1
  53. package/dist/shared/bricks/manifests/icon.manifest.js +13 -20
  54. package/dist/shared/bricks/manifests/image.manifest.d.ts +3 -2
  55. package/dist/shared/bricks/manifests/image.manifest.d.ts.map +1 -1
  56. package/dist/shared/bricks/manifests/image.manifest.js +16 -20
  57. package/dist/shared/bricks/manifests/images-gallery.manifest.d.ts +4 -8
  58. package/dist/shared/bricks/manifests/images-gallery.manifest.d.ts.map +1 -1
  59. package/dist/shared/bricks/manifests/images-gallery.manifest.js +15 -20
  60. package/dist/shared/bricks/manifests/map.manifest.d.ts +3 -7
  61. package/dist/shared/bricks/manifests/map.manifest.d.ts.map +1 -1
  62. package/dist/shared/bricks/manifests/map.manifest.js +11 -20
  63. package/dist/shared/bricks/manifests/navbar.manifest.d.ts +7 -11
  64. package/dist/shared/bricks/manifests/navbar.manifest.d.ts.map +1 -1
  65. package/dist/shared/bricks/manifests/navbar.manifest.js +15 -20
  66. package/dist/shared/bricks/manifests/sidebar.manifest.d.ts +3 -7
  67. package/dist/shared/bricks/manifests/sidebar.manifest.d.ts.map +1 -1
  68. package/dist/shared/bricks/manifests/sidebar.manifest.js +13 -20
  69. package/dist/shared/bricks/manifests/social-links.manifest.d.ts +4 -8
  70. package/dist/shared/bricks/manifests/social-links.manifest.d.ts.map +1 -1
  71. package/dist/shared/bricks/manifests/social-links.manifest.js +14 -20
  72. package/dist/shared/bricks/manifests/spacer.manifest.d.ts +3 -7
  73. package/dist/shared/bricks/manifests/spacer.manifest.d.ts.map +1 -1
  74. package/dist/shared/bricks/manifests/spacer.manifest.js +8 -20
  75. package/dist/shared/bricks/manifests/table.manifest.d.ts +6 -10
  76. package/dist/shared/bricks/manifests/table.manifest.d.ts.map +1 -1
  77. package/dist/shared/bricks/manifests/table.manifest.js +15 -20
  78. package/dist/shared/bricks/manifests/tabs.manifest.d.ts +6 -10
  79. package/dist/shared/bricks/manifests/tabs.manifest.d.ts.map +1 -1
  80. package/dist/shared/bricks/manifests/tabs.manifest.js +15 -20
  81. package/dist/shared/bricks/manifests/testimonials.manifest.d.ts +4 -8
  82. package/dist/shared/bricks/manifests/testimonials.manifest.d.ts.map +1 -1
  83. package/dist/shared/bricks/manifests/testimonials.manifest.js +18 -20
  84. package/dist/shared/bricks/manifests/text.manifest.d.ts +4 -12
  85. package/dist/shared/bricks/manifests/text.manifest.d.ts.map +1 -1
  86. package/dist/shared/bricks/manifests/text.manifest.js +13 -20
  87. package/dist/shared/bricks/manifests/timeline.manifest.d.ts +9 -13
  88. package/dist/shared/bricks/manifests/timeline.manifest.d.ts.map +1 -1
  89. package/dist/shared/bricks/manifests/timeline.manifest.js +15 -20
  90. package/dist/shared/bricks/manifests/video.manifest.d.ts +3 -7
  91. package/dist/shared/bricks/manifests/video.manifest.d.ts.map +1 -1
  92. package/dist/shared/bricks/manifests/video.manifest.js +11 -20
  93. package/dist/shared/bricks/props/align.d.ts +0 -3
  94. package/dist/shared/bricks/props/align.d.ts.map +1 -1
  95. package/dist/shared/bricks/props/align.js +4 -11
  96. package/dist/shared/bricks/props/background.d.ts +2 -8
  97. package/dist/shared/bricks/props/background.d.ts.map +1 -1
  98. package/dist/shared/bricks/props/background.js +4 -9
  99. package/dist/shared/bricks/props/border.d.ts +0 -7
  100. package/dist/shared/bricks/props/border.d.ts.map +1 -1
  101. package/dist/shared/bricks/props/border.js +5 -10
  102. package/dist/shared/bricks/props/color-preset.d.ts +316 -6
  103. package/dist/shared/bricks/props/color-preset.d.ts.map +1 -1
  104. package/dist/shared/bricks/props/color-preset.js +2 -5
  105. package/dist/shared/bricks/props/color.d.ts +3 -5
  106. package/dist/shared/bricks/props/color.d.ts.map +1 -1
  107. package/dist/shared/bricks/props/color.js +3 -8
  108. package/dist/shared/bricks/props/common.d.ts.map +1 -1
  109. package/dist/shared/bricks/props/common.js +4 -5
  110. package/dist/shared/bricks/props/css-length.d.ts +0 -1
  111. package/dist/shared/bricks/props/css-length.d.ts.map +1 -1
  112. package/dist/shared/bricks/props/css-length.js +1 -4
  113. package/dist/shared/bricks/props/datasource.d.ts +3 -3
  114. package/dist/shared/bricks/props/datasource.d.ts.map +1 -1
  115. package/dist/shared/bricks/props/datasource.js +74 -76
  116. package/dist/shared/bricks/props/datasource.js.map +1 -1
  117. package/dist/shared/bricks/props/date.js +21 -4
  118. package/dist/shared/bricks/props/date.js.map +1 -1
  119. package/dist/shared/bricks/props/direction.d.ts +1 -2
  120. package/dist/shared/bricks/props/direction.d.ts.map +1 -1
  121. package/dist/shared/bricks/props/direction.js +4 -7
  122. package/dist/shared/bricks/props/dynamic.d.ts +5 -67
  123. package/dist/shared/bricks/props/dynamic.d.ts.map +1 -1
  124. package/dist/shared/bricks/props/dynamic.js +6 -24
  125. package/dist/shared/bricks/props/effects.d.ts +1 -3
  126. package/dist/shared/bricks/props/effects.d.ts.map +1 -1
  127. package/dist/shared/bricks/props/effects.js +4 -9
  128. package/dist/shared/bricks/props/geolocation.d.ts.map +1 -1
  129. package/dist/shared/bricks/props/geolocation.js +3 -6
  130. package/dist/shared/bricks/props/geolocation.js.map +1 -1
  131. package/dist/shared/bricks/props/helpers.js +5 -6
  132. package/dist/shared/bricks/props/image.d.ts +2 -8
  133. package/dist/shared/bricks/props/image.d.ts.map +1 -1
  134. package/dist/shared/bricks/props/image.js +4 -7
  135. package/dist/shared/bricks/props/string.d.ts +2 -5
  136. package/dist/shared/bricks/props/string.d.ts.map +1 -1
  137. package/dist/shared/bricks/props/string.js +3 -10
  138. package/dist/shared/bricks/props/tags.d.ts +0 -1
  139. package/dist/shared/bricks/props/tags.d.ts.map +1 -1
  140. package/dist/shared/bricks/props/tags.js +3 -6
  141. package/dist/shared/bricks/props/text.d.ts +0 -3
  142. package/dist/shared/bricks/props/text.d.ts.map +1 -1
  143. package/dist/shared/bricks/props/text.js +4 -11
  144. package/dist/shared/bricks/props/types.d.ts +2 -2
  145. package/dist/shared/bricks/props/types.d.ts.map +1 -1
  146. package/dist/shared/bricks.d.ts +64 -152
  147. package/dist/shared/bricks.d.ts.map +1 -1
  148. package/dist/shared/bricks.js +49 -52
  149. package/dist/shared/chunk-2O5HVPID.js +41 -0
  150. package/dist/shared/chunk-2O5HVPID.js.map +1 -0
  151. package/dist/shared/{chunk-F22LDHEO.js → chunk-2U5U3CCJ.js} +3 -18
  152. package/dist/shared/chunk-2U5U3CCJ.js.map +1 -0
  153. package/dist/shared/{chunk-LXAO3JA6.js → chunk-4KY7OZWD.js} +35 -35
  154. package/dist/shared/chunk-4KY7OZWD.js.map +1 -0
  155. package/dist/shared/{chunk-TNMNMYOB.js → chunk-5RCC2STG.js} +2 -13
  156. package/dist/shared/chunk-5RCC2STG.js.map +1 -0
  157. package/dist/shared/{chunk-V3UA3LRK.js → chunk-6AE7UD73.js} +56 -37
  158. package/dist/shared/chunk-6AE7UD73.js.map +1 -0
  159. package/dist/shared/chunk-7U5WPHXB.js +346 -0
  160. package/dist/shared/chunk-7U5WPHXB.js.map +1 -0
  161. package/dist/shared/{chunk-Q4NPPLEU.js → chunk-BHARJBEK.js} +2 -9
  162. package/dist/shared/chunk-BHARJBEK.js.map +1 -0
  163. package/dist/shared/chunk-BZTWZC77.js +530 -0
  164. package/dist/shared/chunk-BZTWZC77.js.map +1 -0
  165. package/dist/shared/{chunk-QSND5IWT.js → chunk-DCM4732T.js} +24 -43
  166. package/dist/shared/chunk-DCM4732T.js.map +1 -0
  167. package/dist/shared/{chunk-W6MRYRGJ.js → chunk-DRQKKPTX.js} +6 -20
  168. package/dist/shared/chunk-DRQKKPTX.js.map +1 -0
  169. package/dist/shared/{chunk-CSF2WQX2.js → chunk-EID5HPF3.js} +15 -12
  170. package/dist/shared/chunk-EID5HPF3.js.map +1 -0
  171. package/dist/shared/chunk-EMF5TCPX.js +389 -0
  172. package/dist/shared/chunk-EMF5TCPX.js.map +1 -0
  173. package/dist/shared/chunk-FD7YYFRI.js +225 -0
  174. package/dist/shared/chunk-FD7YYFRI.js.map +1 -0
  175. package/dist/shared/{chunk-MLZT7MRQ.js → chunk-FHA4DFIM.js} +26 -27
  176. package/dist/shared/chunk-FHA4DFIM.js.map +1 -0
  177. package/dist/shared/{chunk-GRMY35BU.js → chunk-FUUSAMN3.js} +165 -40
  178. package/dist/shared/chunk-FUUSAMN3.js.map +1 -0
  179. package/dist/shared/chunk-GDYCCB3B.js +22 -0
  180. package/dist/shared/chunk-GDYCCB3B.js.map +1 -0
  181. package/dist/shared/chunk-GLV6QIIM.js +41 -0
  182. package/dist/shared/chunk-GLV6QIIM.js.map +1 -0
  183. package/dist/shared/chunk-H6TMBELF.js +374 -0
  184. package/dist/shared/chunk-H6TMBELF.js.map +1 -0
  185. package/dist/shared/{chunk-BMWRR4DI.js → chunk-HUWMIXNN.js} +26 -28
  186. package/dist/shared/chunk-HUWMIXNN.js.map +1 -0
  187. package/dist/shared/chunk-HY7JOP3J.js +150 -0
  188. package/dist/shared/chunk-HY7JOP3J.js.map +1 -0
  189. package/dist/shared/{chunk-TFGGYU6Y.js → chunk-IEMCCHM4.js} +7 -12
  190. package/dist/shared/chunk-IEMCCHM4.js.map +1 -0
  191. package/dist/shared/{chunk-TB3X4LRQ.js → chunk-J45LSQT6.js} +2 -2
  192. package/dist/shared/chunk-J45LSQT6.js.map +1 -0
  193. package/dist/shared/{chunk-WGDUJSSS.js → chunk-JF52BBFD.js} +27 -28
  194. package/dist/shared/chunk-JF52BBFD.js.map +1 -0
  195. package/dist/shared/{chunk-GPCI2N2A.js → chunk-JLDAS3VE.js} +136 -33
  196. package/dist/shared/chunk-JLDAS3VE.js.map +1 -0
  197. package/dist/shared/{chunk-SE6O65HC.js → chunk-JSDKK5QN.js} +10 -23
  198. package/dist/shared/chunk-JSDKK5QN.js.map +1 -0
  199. package/dist/shared/chunk-JW7MQAU4.js +354 -0
  200. package/dist/shared/chunk-JW7MQAU4.js.map +1 -0
  201. package/dist/shared/{chunk-RV7AYVFV.js → chunk-KKWT3OXF.js} +4 -19
  202. package/dist/shared/chunk-KKWT3OXF.js.map +1 -0
  203. package/dist/shared/{chunk-TEO6TJOM.js → chunk-KQH6V22E.js} +36 -35
  204. package/dist/shared/{chunk-TEO6TJOM.js.map → chunk-KQH6V22E.js.map} +1 -1
  205. package/dist/shared/{chunk-3KLRW4I2.js → chunk-LGDDJJHK.js} +212 -156
  206. package/dist/shared/chunk-LGDDJJHK.js.map +1 -0
  207. package/dist/shared/{chunk-QL3T5HJQ.js → chunk-LGGPCCCY.js} +3 -3
  208. package/dist/shared/chunk-LGGPCCCY.js.map +1 -0
  209. package/dist/shared/{chunk-2HO4FHLM.js → chunk-LPAQ47C6.js} +137 -171
  210. package/dist/shared/chunk-LPAQ47C6.js.map +1 -0
  211. package/dist/shared/chunk-MO6CRLQA.js +73 -0
  212. package/dist/shared/chunk-MO6CRLQA.js.map +1 -0
  213. package/dist/shared/{chunk-SHUGHJ7V.js → chunk-MYOLWTB2.js} +29 -32
  214. package/dist/shared/chunk-MYOLWTB2.js.map +1 -0
  215. package/dist/shared/{chunk-Z2NTDFB4.js → chunk-O24RDXZS.js} +34 -34
  216. package/dist/shared/chunk-O24RDXZS.js.map +1 -0
  217. package/dist/shared/{chunk-BPBKHEQ5.js → chunk-OJ6KL7FU.js} +1 -8
  218. package/dist/shared/chunk-OJ6KL7FU.js.map +1 -0
  219. package/dist/shared/{chunk-GCQURRVB.js → chunk-PF75LW33.js} +24 -27
  220. package/dist/shared/chunk-PF75LW33.js.map +1 -0
  221. package/dist/shared/{chunk-EWSPTRDL.js → chunk-QEJGPYTB.js} +132 -48
  222. package/dist/shared/chunk-QEJGPYTB.js.map +1 -0
  223. package/dist/shared/{chunk-P3RH5URN.js → chunk-SK2O7GFC.js} +17 -18
  224. package/dist/shared/chunk-SK2O7GFC.js.map +1 -0
  225. package/dist/shared/{chunk-UQF52PWK.js → chunk-SQXZNGQF.js} +8 -23
  226. package/dist/shared/chunk-SQXZNGQF.js.map +1 -0
  227. package/dist/shared/{chunk-NTLAKMMQ.js → chunk-SRYBJ6NQ.js} +6 -17
  228. package/dist/shared/chunk-SRYBJ6NQ.js.map +1 -0
  229. package/dist/shared/{chunk-O5PLB3YB.js → chunk-T6C3NG2L.js} +68 -59
  230. package/dist/shared/chunk-T6C3NG2L.js.map +1 -0
  231. package/dist/shared/{chunk-U7TVEPKA.js → chunk-TBT2PTGB.js} +41 -33
  232. package/dist/shared/chunk-TBT2PTGB.js.map +1 -0
  233. package/dist/shared/{chunk-CKFRSHR2.js → chunk-U4KZUX37.js} +18 -19
  234. package/dist/shared/chunk-U4KZUX37.js.map +1 -0
  235. package/dist/shared/{chunk-4WI23M7W.js → chunk-VSLRTXLF.js} +11 -4
  236. package/dist/shared/chunk-VSLRTXLF.js.map +1 -0
  237. package/dist/shared/{chunk-BHC2A43S.js → chunk-VTCHJT4O.js} +3 -3
  238. package/dist/shared/{chunk-BHC2A43S.js.map → chunk-VTCHJT4O.js.map} +1 -1
  239. package/dist/shared/{chunk-DRTGM2UJ.js → chunk-W2RFDII5.js} +3 -3
  240. package/dist/shared/chunk-W2RFDII5.js.map +1 -0
  241. package/dist/shared/{chunk-Y74LZNND.js → chunk-WPZV3LYL.js} +4 -10
  242. package/dist/shared/chunk-WPZV3LYL.js.map +1 -0
  243. package/dist/shared/chunk-XFZQGRRL.js +101 -0
  244. package/dist/shared/chunk-XFZQGRRL.js.map +1 -0
  245. package/dist/shared/{chunk-QQQ3FYPG.js → chunk-XK2CERPB.js} +147 -31
  246. package/dist/shared/chunk-XK2CERPB.js.map +1 -0
  247. package/dist/shared/chunk-XNRSL6FL.js +78 -0
  248. package/dist/shared/chunk-XNRSL6FL.js.map +1 -0
  249. package/dist/shared/{chunk-2RK3CPYJ.js → chunk-XXPSM6UA.js} +9 -12
  250. package/dist/shared/chunk-XXPSM6UA.js.map +1 -0
  251. package/dist/shared/{chunk-ZLYIRH2B.js → chunk-ZRBTAC3G.js} +3 -18
  252. package/dist/shared/chunk-ZRBTAC3G.js.map +1 -0
  253. package/dist/shared/{chunk-Z35I5JM5.js → chunk-ZVJNRKT4.js} +18 -20
  254. package/dist/shared/chunk-ZVJNRKT4.js.map +1 -0
  255. package/dist/shared/context.d.ts +402 -22
  256. package/dist/shared/context.d.ts.map +1 -1
  257. package/dist/shared/context.js +93 -0
  258. package/dist/shared/context.js.map +1 -1
  259. package/dist/shared/datarecords/external/airtable/types.d.ts +1 -1
  260. package/dist/shared/datarecords/external/airtable/types.d.ts.map +1 -1
  261. package/dist/shared/datarecords/external/airtable/types.js +2 -1
  262. package/dist/shared/datarecords/types.d.ts +10 -63
  263. package/dist/shared/datarecords/types.d.ts.map +1 -1
  264. package/dist/shared/datarecords/types.js +5 -6
  265. package/dist/shared/datasources/external/instagram/feed/schema.d.ts +1 -1
  266. package/dist/shared/datasources/external/instagram/feed/schema.d.ts.map +1 -1
  267. package/dist/shared/datasources/external/instagram/feed/schema.js +4 -1
  268. package/dist/shared/datasources/external/instagram/feed/schema.js.map +1 -1
  269. package/dist/shared/datasources/external/mastodon/status/schema.d.ts +6 -6
  270. package/dist/shared/datasources/external/mastodon/status/schema.d.ts.map +1 -1
  271. package/dist/shared/datasources/external/mastodon/status/schema.js +6 -19
  272. package/dist/shared/datasources/external/mastodon/status/schema.js.map +1 -1
  273. package/dist/shared/datasources/external/meta/oauth/config.d.ts +2 -2
  274. package/dist/shared/datasources/external/meta/oauth/config.d.ts.map +1 -1
  275. package/dist/shared/datasources/external/meta/oauth/config.js +4 -1
  276. package/dist/shared/datasources/external/meta/oauth/config.js.map +1 -1
  277. package/dist/shared/datasources/external/threads/media/fetcher.js +3 -3
  278. package/dist/shared/datasources/external/threads/media/schema.d.ts +1 -1
  279. package/dist/shared/datasources/external/threads/media/schema.d.ts.map +1 -1
  280. package/dist/shared/datasources/external/threads/media/schema.js +4 -8
  281. package/dist/shared/datasources/external/threads/media/schema.js.map +1 -1
  282. package/dist/shared/datasources/internal/blog/schema.d.ts +1 -1
  283. package/dist/shared/datasources/internal/blog/schema.d.ts.map +1 -1
  284. package/dist/shared/datasources/internal/blog/schema.js +4 -1
  285. package/dist/shared/datasources/internal/blog/schema.js.map +1 -1
  286. package/dist/shared/datasources/types.d.ts +25 -25
  287. package/dist/shared/datasources/types.d.ts.map +1 -1
  288. package/dist/shared/datasources/types.js +3 -16
  289. package/dist/shared/datasources.d.ts +1 -1
  290. package/dist/shared/datasources.d.ts.map +1 -1
  291. package/dist/shared/datasources.js +1 -3
  292. package/dist/shared/datasources.js.map +1 -1
  293. package/dist/shared/images.d.ts +1 -1
  294. package/dist/shared/images.d.ts.map +1 -1
  295. package/dist/shared/images.js +4 -38
  296. package/dist/shared/images.js.map +1 -1
  297. package/dist/shared/page.d.ts +139 -22
  298. package/dist/shared/page.d.ts.map +1 -1
  299. package/dist/shared/page.js +51 -49
  300. package/dist/shared/responsive.js +1 -1
  301. package/dist/shared/site.d.ts +80 -197
  302. package/dist/shared/site.d.ts.map +1 -1
  303. package/dist/shared/site.js +55 -114
  304. package/dist/shared/site.js.map +1 -1
  305. package/dist/shared/sitemap.d.ts +6 -327
  306. package/dist/shared/sitemap.d.ts.map +1 -1
  307. package/dist/shared/sitemap.js +50 -58
  308. package/dist/shared/theme.d.ts +0 -37
  309. package/dist/shared/theme.d.ts.map +1 -1
  310. package/dist/shared/theme.js +4 -21
  311. package/dist/shared/utils/llm.d.ts +1 -10
  312. package/dist/shared/utils/llm.d.ts.map +1 -1
  313. package/dist/shared/utils/llm.js +1 -18
  314. package/dist/shared/utils/schema.d.ts +3 -2
  315. package/dist/shared/utils/schema.d.ts.map +1 -1
  316. package/dist/shared/utils/schema.js +2 -17
  317. package/dist/shared/utils/string-enum.d.ts +9 -3
  318. package/dist/shared/utils/string-enum.d.ts.map +1 -1
  319. package/dist/shared/utils/string-enum.js +1 -1
  320. package/package.json +21 -5
  321. package/src/shared/ai/schemas.ts +41 -10
  322. package/src/shared/ai/types.ts +78 -76
  323. package/src/shared/attributes.ts +56 -46
  324. package/src/shared/brick-manifest.ts +5 -6
  325. package/src/shared/bricks/manifests/_types.ts +9 -0
  326. package/src/shared/bricks/manifests/accordion.manifest.ts +138 -171
  327. package/src/shared/bricks/manifests/all-manifests.ts +1 -0
  328. package/src/shared/bricks/manifests/all-props.ts +165 -0
  329. package/src/shared/bricks/manifests/box.manifest.ts +214 -150
  330. package/src/shared/bricks/manifests/button.manifest.ts +204 -79
  331. package/src/shared/bricks/manifests/card.manifest.ts +229 -43
  332. package/src/shared/bricks/manifests/carousel.manifest.ts +165 -35
  333. package/src/shared/bricks/manifests/footer.manifest.ts +18 -20
  334. package/src/shared/bricks/manifests/form.manifest.ts +136 -22
  335. package/src/shared/bricks/manifests/hero.manifest.ts +121 -38
  336. package/src/shared/bricks/manifests/html.manifest.ts +2 -5
  337. package/src/shared/bricks/manifests/icon.manifest.ts +225 -46
  338. package/src/shared/bricks/manifests/image.manifest.ts +125 -21
  339. package/src/shared/bricks/manifests/images-gallery.manifest.ts +15 -20
  340. package/src/shared/bricks/manifests/map.manifest.ts +12 -15
  341. package/src/shared/bricks/manifests/navbar.manifest.ts +22 -26
  342. package/src/shared/bricks/manifests/sidebar.manifest.ts +11 -14
  343. package/src/shared/bricks/manifests/social-links.manifest.ts +19 -24
  344. package/src/shared/bricks/manifests/spacer.manifest.ts +2 -5
  345. package/src/shared/bricks/manifests/table.manifest.ts +17 -20
  346. package/src/shared/bricks/manifests/tabs.manifest.ts +16 -21
  347. package/src/shared/bricks/manifests/testimonials.manifest.ts +23 -25
  348. package/src/shared/bricks/manifests/text.manifest.ts +47 -29
  349. package/src/shared/bricks/manifests/timeline.manifest.ts +31 -29
  350. package/src/shared/bricks/manifests/video.manifest.ts +11 -15
  351. package/src/shared/bricks/props/align.ts +0 -13
  352. package/src/shared/bricks/props/background.ts +1 -14
  353. package/src/shared/bricks/props/border.ts +2 -13
  354. package/src/shared/bricks/props/color-preset.ts +9 -10
  355. package/src/shared/bricks/props/color.ts +7 -18
  356. package/src/shared/bricks/props/common.ts +6 -7
  357. package/src/shared/bricks/props/css-length.ts +0 -5
  358. package/src/shared/bricks/props/datasource.ts +72 -74
  359. package/src/shared/bricks/props/direction.ts +1 -5
  360. package/src/shared/bricks/props/dynamic.ts +0 -11
  361. package/src/shared/bricks/props/effects.ts +0 -9
  362. package/src/shared/bricks/props/geolocation.ts +3 -3
  363. package/src/shared/bricks/props/helpers.ts +1 -1
  364. package/src/shared/bricks/props/image.ts +4 -16
  365. package/src/shared/bricks/props/string.ts +6 -19
  366. package/src/shared/bricks/props/tags.ts +0 -5
  367. package/src/shared/bricks/props/tests/background.test.ts +1 -15
  368. package/src/shared/bricks/props/tests/image.test.ts +3 -9
  369. package/src/shared/bricks/props/tests/string.test.ts +2 -26
  370. package/src/shared/bricks/props/text.ts +0 -12
  371. package/src/shared/bricks/props/types.ts +4 -3
  372. package/src/shared/bricks.ts +164 -1025
  373. package/src/shared/context.ts +24 -23
  374. package/src/shared/datarecords/external/airtable/types.ts +12 -11
  375. package/src/shared/datarecords/types.ts +22 -44
  376. package/src/shared/datasources/external/instagram/feed/schema.ts +2 -1
  377. package/src/shared/datasources/external/mastodon/status/schema.ts +4 -19
  378. package/src/shared/datasources/external/meta/oauth/config.ts +2 -1
  379. package/src/shared/datasources/external/threads/media/schema.ts +2 -8
  380. package/src/shared/datasources/internal/blog/schema.ts +2 -1
  381. package/src/shared/datasources/types.ts +64 -79
  382. package/src/shared/datasources.ts +2 -4
  383. package/src/shared/images.ts +12 -18
  384. package/src/shared/page.ts +9 -2
  385. package/src/shared/site.ts +3 -3
  386. package/src/shared/sitemap.ts +3 -68
  387. package/src/shared/tests/attributes.test.ts +2 -0
  388. package/src/shared/theme.ts +81 -96
  389. package/src/shared/utils/llm.ts +5 -191
  390. package/src/shared/utils/schema.ts +71 -244
  391. package/src/shared/utils/string-enum.ts +25 -4
  392. package/src/shared/utils/tests/schema.test.ts +112 -314
  393. package/dist/shared/chunk-2HO4FHLM.js.map +0 -1
  394. package/dist/shared/chunk-2RK3CPYJ.js.map +0 -1
  395. package/dist/shared/chunk-3KLRW4I2.js.map +0 -1
  396. package/dist/shared/chunk-4WI23M7W.js.map +0 -1
  397. package/dist/shared/chunk-6E42XWFH.js +0 -103
  398. package/dist/shared/chunk-6E42XWFH.js.map +0 -1
  399. package/dist/shared/chunk-A2QPY54H.js +0 -13
  400. package/dist/shared/chunk-A2QPY54H.js.map +0 -1
  401. package/dist/shared/chunk-BMWRR4DI.js.map +0 -1
  402. package/dist/shared/chunk-BPBKHEQ5.js.map +0 -1
  403. package/dist/shared/chunk-BW6EFRSF.js +0 -794
  404. package/dist/shared/chunk-BW6EFRSF.js.map +0 -1
  405. package/dist/shared/chunk-CKFRSHR2.js.map +0 -1
  406. package/dist/shared/chunk-CSF2WQX2.js.map +0 -1
  407. package/dist/shared/chunk-D4YQ6ABM.js +0 -338
  408. package/dist/shared/chunk-D4YQ6ABM.js.map +0 -1
  409. package/dist/shared/chunk-DRTGM2UJ.js.map +0 -1
  410. package/dist/shared/chunk-EQMU6NIU.js +0 -1222
  411. package/dist/shared/chunk-EQMU6NIU.js.map +0 -1
  412. package/dist/shared/chunk-EWSPTRDL.js.map +0 -1
  413. package/dist/shared/chunk-F22LDHEO.js.map +0 -1
  414. package/dist/shared/chunk-FVU5PXRC.js +0 -244
  415. package/dist/shared/chunk-FVU5PXRC.js.map +0 -1
  416. package/dist/shared/chunk-GCQURRVB.js.map +0 -1
  417. package/dist/shared/chunk-GPCI2N2A.js.map +0 -1
  418. package/dist/shared/chunk-GRMY35BU.js.map +0 -1
  419. package/dist/shared/chunk-JK2FWFJU.js +0 -15
  420. package/dist/shared/chunk-JK2FWFJU.js.map +0 -1
  421. package/dist/shared/chunk-LXAO3JA6.js.map +0 -1
  422. package/dist/shared/chunk-MLZT7MRQ.js.map +0 -1
  423. package/dist/shared/chunk-NT3IW52F.js +0 -260
  424. package/dist/shared/chunk-NT3IW52F.js.map +0 -1
  425. package/dist/shared/chunk-NTLAKMMQ.js.map +0 -1
  426. package/dist/shared/chunk-O5PLB3YB.js.map +0 -1
  427. package/dist/shared/chunk-P3RH5URN.js.map +0 -1
  428. package/dist/shared/chunk-Q4NPPLEU.js.map +0 -1
  429. package/dist/shared/chunk-QL3T5HJQ.js.map +0 -1
  430. package/dist/shared/chunk-QQQ3FYPG.js.map +0 -1
  431. package/dist/shared/chunk-QSND5IWT.js.map +0 -1
  432. package/dist/shared/chunk-RV7AYVFV.js.map +0 -1
  433. package/dist/shared/chunk-SE6O65HC.js.map +0 -1
  434. package/dist/shared/chunk-SHUGHJ7V.js.map +0 -1
  435. package/dist/shared/chunk-TB3X4LRQ.js.map +0 -1
  436. package/dist/shared/chunk-TFGGYU6Y.js.map +0 -1
  437. package/dist/shared/chunk-TNMNMYOB.js.map +0 -1
  438. package/dist/shared/chunk-U7TVEPKA.js.map +0 -1
  439. package/dist/shared/chunk-UQF52PWK.js.map +0 -1
  440. package/dist/shared/chunk-V3UA3LRK.js.map +0 -1
  441. package/dist/shared/chunk-W6MRYRGJ.js.map +0 -1
  442. package/dist/shared/chunk-WGDUJSSS.js.map +0 -1
  443. package/dist/shared/chunk-WKN566LN.js +0 -29
  444. package/dist/shared/chunk-WKN566LN.js.map +0 -1
  445. package/dist/shared/chunk-X6N463D4.js +0 -222
  446. package/dist/shared/chunk-X6N463D4.js.map +0 -1
  447. package/dist/shared/chunk-X75YV73Q.js +0 -178
  448. package/dist/shared/chunk-X75YV73Q.js.map +0 -1
  449. package/dist/shared/chunk-Y74LZNND.js.map +0 -1
  450. package/dist/shared/chunk-Z2NTDFB4.js.map +0 -1
  451. package/dist/shared/chunk-Z35I5JM5.js.map +0 -1
  452. package/dist/shared/chunk-ZLYIRH2B.js.map +0 -1
  453. package/dist/shared/schema-registry.d.ts +0 -5
  454. package/dist/shared/schema-registry.d.ts.map +0 -1
  455. package/dist/shared/schema-registry.js +0 -119
  456. package/dist/shared/schema-registry.js.map +0 -1
  457. package/dist/shared/tests/schema-registry.test.d.ts +0 -2
  458. package/dist/shared/tests/schema-registry.test.d.ts.map +0 -1
  459. package/dist/shared/utils/schema-registry.d.ts +0 -5
  460. package/dist/shared/utils/schema-registry.d.ts.map +0 -1
  461. package/dist/shared/utils/schema-registry.js +0 -29
  462. package/dist/shared/utils/tests/schema-registry.test.d.ts +0 -2
  463. package/dist/shared/utils/tests/schema-registry.test.d.ts.map +0 -1
  464. package/dist/shared/utils/typed-ref.d.ts +0 -43
  465. package/dist/shared/utils/typed-ref.d.ts.map +0 -1
  466. package/dist/shared/utils/typed-ref.js +0 -10
  467. package/dist/shared/utils/typed-ref.js.map +0 -1
  468. package/src/shared/schema-registry.ts +0 -82
  469. package/src/shared/tests/schema-registry.test.ts +0 -14
  470. package/src/shared/utils/schema-registry.ts +0 -82
  471. package/src/shared/utils/tests/schema-registry.test.ts +0 -13
  472. package/src/shared/utils/typed-ref.ts +0 -53
  473. /package/dist/shared/{utils/schema-registry.js.map → bricks/manifests/_types.js.map} +0 -0
@@ -1,15 +1,15 @@
1
1
  import { defineBrickManifest } from "~/shared/brick-manifest";
2
2
  import { defineProps } from "../props/helpers";
3
3
  import { Type } from "@sinclair/typebox";
4
- import { borderRef, roundingRef } from "../props/border";
5
- import { shadowRef } from "../props/effects";
6
- import type { BrickProps } from "../props/types";
7
- import { cssLengthRef } from "../props/css-length";
8
- import { directionRef } from "../props/direction";
4
+ import { border, rounding } from "../props/border";
5
+ import { shadow } from "../props/effects";
6
+ import { cssLength } from "../props/css-length";
7
+ import { direction } from "../props/direction";
9
8
  import { RxBox } from "react-icons/rx";
10
- import { alignItemsRef, justifyContentRef } from "../props/align";
11
- import { colorPresetRef } from "../props/color-preset";
12
- import { loopRef } from "../props/dynamic";
9
+ import { alignItems, justifyContent } from "../props/align";
10
+ import { colorPreset } from "../props/color-preset";
11
+ import { loop } from "../props/dynamic";
12
+ import type { BrickExample } from "./_types";
13
13
 
14
14
  // Generic container can hold any type of array data source
15
15
  export const manifest = defineBrickManifest({
@@ -17,8 +17,45 @@ export const manifest = defineBrickManifest({
17
17
  category: "container",
18
18
  name: "Box",
19
19
  description: "A container for stacking bricks horizontally or vertically.",
20
- aiInstructions:
21
- "A box is a container for other bricks. A box cannot contain other boxes as children. A box should contain at least 2 bricks to be useful, otherwise use a simple brick instead.",
20
+ aiInstructions: `Use the box component as a flexible container for organizing and arranging multiple bricks in horizontal or vertical layouts.
21
+
22
+ WHEN TO USE:
23
+ - Grouping related content elements (text + image + button)
24
+ - Creating card-like layouts with multiple components
25
+ - Building responsive grid systems with wrapping
26
+ - Organizing form elements or input groups
27
+ - Displaying repeated data from queries (products, team members, blog posts)
28
+ - Creating structured layouts with consistent spacing
29
+
30
+ LAYOUT GUIDELINES:
31
+ - direction: "flex-col" for vertical stacking, "flex-row" for horizontal arrangement
32
+ - gap: "0.5rem" for tight spacing, "1rem" for standard, "2rem" for spacious layouts
33
+ - padding: "1rem" for standard padding, "2rem" for generous spacing, "0" for edge-to-edge
34
+ - wrap: true for responsive grids that wrap on smaller screens, false for fixed layouts
35
+ - justifyContent: "justify-start" for left-align, "justify-center" for center, "justify-between" for space-between
36
+ - alignItems: "items-stretch" for equal heights, "items-center" for center-align, "items-start" for top-align
37
+
38
+ STYLING OPTIONS:
39
+ - colorPreset: Use light backgrounds like "primary-50", "neutral-100", "secondary-100" for content containers
40
+ - rounding: "rounded-md" for standard, "rounded-lg" for friendly, "rounded-xl"/"rounded-2xl" for modern
41
+ - border: Add subtle borders with "border" width and colors like "border-gray-200", "border-primary-300"
42
+ - shadow: "shadow-sm" for subtle depth, "shadow-md" for cards, "shadow-lg" for prominence
43
+
44
+ CONTENT RULES:
45
+ - Must contain at least 2 child bricks to be useful
46
+ - Cannot contain other box components as direct children
47
+ - Commonly contains: text, image, button, icon combinations
48
+ - Perfect for repeating patterns using loop data
49
+
50
+ DYNAMIC CONTENT:
51
+ - Use loop property to repeat the box itself over data queries
52
+ - Template variables work in all child components: "{{ product.name}}", "{{user.email}}"
53
+ - Great for: product catalogs, team directories, blog listings
54
+
55
+ AVOID:
56
+ - Single child elements (use individual brick instead)
57
+ - Nesting boxes inside boxes (use single box with proper layout)
58
+ - Complex nested structures (break into separate boxes)`,
22
59
  isContainer: true,
23
60
  defaultWidth: {
24
61
  desktop: "auto",
@@ -30,27 +67,27 @@ export const manifest = defineBrickManifest({
30
67
  icon: RxBox,
31
68
  props: defineProps({
32
69
  colorPreset: Type.Optional(
33
- colorPresetRef({
70
+ colorPreset({
34
71
  title: "Color",
35
72
  }),
36
73
  ),
37
- direction: directionRef({
74
+ direction: direction({
38
75
  default: "flex-col",
39
76
  title: "Direction",
40
77
  description: "Direction of the box layout",
41
78
  }),
42
79
  justifyContent: Type.Optional(
43
- justifyContentRef({
80
+ justifyContent({
44
81
  default: "justify-center",
45
82
  }),
46
83
  ),
47
84
  alignItems: Type.Optional(
48
- alignItemsRef({
85
+ alignItems({
49
86
  default: "items-stretch",
50
87
  }),
51
88
  ),
52
89
  gap: Type.Optional(
53
- cssLengthRef({
90
+ cssLength({
54
91
  title: "Gap",
55
92
  default: "1rem",
56
93
  description: "Gap between children bricks.",
@@ -61,7 +98,7 @@ export const manifest = defineBrickManifest({
61
98
  }),
62
99
  ),
63
100
  padding: Type.Optional(
64
- cssLengthRef({
101
+ cssLength({
65
102
  default: "1rem",
66
103
  description: "Padding inside the box.",
67
104
  "ai:instructions": "Use only a single value like '1rem' or '10px'",
@@ -78,14 +115,12 @@ export const manifest = defineBrickManifest({
78
115
  "ui:styleId": "styles:wrap",
79
116
  }),
80
117
  ),
81
- rounding: Type.Optional(
82
- roundingRef({
83
- default: "rounded-md",
84
- }),
85
- ),
86
- border: Type.Optional(borderRef()),
87
- shadow: Type.Optional(shadowRef()),
88
- loop: Type.Optional(loopRef()),
118
+ rounding: rounding({
119
+ default: "rounded-md",
120
+ }),
121
+ border: Type.Optional(border()),
122
+ shadow: Type.Optional(shadow()),
123
+ loop: Type.Optional(loop()),
89
124
  $children: Type.Array(Type.Any(), {
90
125
  "ui:field": "hidden",
91
126
  description: "List of nested bricks",
@@ -113,130 +148,141 @@ export const manifest = defineBrickManifest({
113
148
 
114
149
  export type Manifest = typeof manifest;
115
150
 
116
- export const examples: {
117
- description: string;
118
- type: string;
119
- props: BrickProps<Manifest>["brick"]["props"];
120
- }[] = [
151
+ export const examples: BrickExample<Manifest>[] = [
152
+ // BASIC LAYOUTS
121
153
  {
122
- description: "A simple box with 2 text bricks aligned vertically",
154
+ description: "Simple vertical layout - Basic text and image combination",
123
155
  type: "box",
124
156
  props: {
125
157
  direction: "flex-col",
126
158
  gap: "1rem",
159
+ padding: "1.5rem",
127
160
  $children: [
128
161
  {
129
162
  type: "text",
130
163
  props: {
131
- $children: [
132
- {
133
- type: "text",
134
- props: {
135
- content: "Hello World",
136
- },
137
- },
138
- {
139
- type: "text",
140
- props: {
141
- content: "Hello World",
142
- },
143
- },
144
- ],
164
+ content:
165
+ "<h3>Welcome to Our Service</h3><p>We provide innovative solutions for modern businesses.</p>",
166
+ },
167
+ },
168
+ {
169
+ type: "image",
170
+ props: {
171
+ src: "https://via.placeholder.com/300x200",
172
+ alt: "Service showcase",
173
+ },
174
+ },
175
+ {
176
+ type: "button",
177
+ props: {
178
+ label: "Learn More",
179
+ link: "/services",
145
180
  },
146
181
  },
147
182
  ],
148
183
  },
149
184
  },
185
+
150
186
  {
151
- description: "A horizontal box with wrapping enabled - images will wrap to new rows if they overflow",
187
+ description: "Horizontal layout with wrapping - Perfect for responsive image galleries",
152
188
  type: "box",
153
189
  props: {
154
190
  direction: "flex-row",
155
191
  gap: "1rem",
156
192
  wrap: true,
193
+ justifyContent: "justify-center",
194
+ padding: "1rem",
157
195
  $children: [
158
196
  {
159
197
  type: "image",
160
198
  props: {
161
199
  src: "https://via.placeholder.com/150",
162
- alt: "Placeholder Image",
163
- },
164
- },
165
- {
166
- type: "image",
167
- props: {
168
- src: "https://via.placeholder.com/150",
169
- alt: "Placeholder Image",
200
+ alt: "Gallery image 1",
170
201
  },
171
202
  },
172
203
  {
173
204
  type: "image",
174
205
  props: {
175
206
  src: "https://via.placeholder.com/150",
176
- alt: "Placeholder Image",
207
+ alt: "Gallery image 2",
177
208
  },
178
209
  },
179
210
  {
180
211
  type: "image",
181
212
  props: {
182
213
  src: "https://via.placeholder.com/150",
183
- alt: "Placeholder Image",
214
+ alt: "Gallery image 3",
184
215
  },
185
216
  },
186
217
  {
187
218
  type: "image",
188
219
  props: {
189
220
  src: "https://via.placeholder.com/150",
190
- alt: "Placeholder Image",
221
+ alt: "Gallery image 4",
191
222
  },
192
223
  },
193
224
  ],
194
225
  },
195
226
  },
227
+
228
+ // STYLED CONTAINERS
196
229
  {
197
- description: "A vertical box with 2 text bricks and 1 image",
230
+ description: "Content card with background and border - Professional presentation style",
198
231
  type: "box",
199
232
  props: {
200
233
  direction: "flex-col",
201
234
  gap: "1rem",
235
+ padding: "2rem",
236
+ colorPreset: { color: "primary-50" },
237
+ border: { width: "border", color: "border-primary-200" },
238
+ rounding: "rounded-lg",
239
+ shadow: "shadow-md",
202
240
  $children: [
203
241
  {
204
242
  type: "text",
205
243
  props: {
206
- content: "Hello World",
244
+ content:
245
+ "<h3>Featured Article</h3><p>Discover the latest trends in technology and innovation that are shaping our future.</p>",
207
246
  },
208
247
  },
209
248
  {
210
249
  type: "image",
211
250
  props: {
212
- src: "https://via.placeholder.com/150",
213
- alt: "Placeholder Image",
251
+ src: "https://via.placeholder.com/400x250",
252
+ alt: "Technology trends",
214
253
  },
215
254
  },
216
255
  {
217
- type: "text",
256
+ type: "button",
218
257
  props: {
219
- content: "Hello World",
258
+ label: "Read Full Article",
259
+ link: "/articles/tech-trends",
220
260
  },
221
261
  },
222
262
  ],
223
263
  },
224
264
  },
265
+
266
+ // DYNAMIC CONTENT EXAMPLES
225
267
  {
226
- description: "Employee directory using allEmployees query with vertical layout",
268
+ description: "Employee directory using dynamic data - Shows team member profiles",
227
269
  type: "box",
228
270
  props: {
229
271
  direction: "flex-col",
230
272
  gap: "1.5rem",
231
273
  padding: "2rem",
232
- colorPreset: {
233
- color: "neutral-100",
234
- },
274
+ colorPreset: { color: "neutral-100" },
235
275
  rounding: "rounded-lg",
236
- loop: {
237
- over: "allEmployees",
238
- },
276
+ border: { width: "border", color: "border-neutral-300" },
277
+ loop: { over: "allEmployees" },
239
278
  $children: [
279
+ {
280
+ type: "image",
281
+ props: {
282
+ src: "{{allEmployees.photo}}",
283
+ alt: "Photo of {{allEmployees.name}}",
284
+ },
285
+ },
240
286
  {
241
287
  type: "text",
242
288
  props: {
@@ -245,27 +291,29 @@ export const examples: {
245
291
  },
246
292
  },
247
293
  {
248
- type: "image",
294
+ type: "button",
249
295
  props: {
250
- src: "{{allEmployees.photo}}",
251
- alt: "Photo of {{allEmployees.name}}",
296
+ label: "Contact {{allEmployees.name}}",
297
+ link: "mailto:{{allEmployees.email}}",
252
298
  },
253
299
  },
254
300
  ],
255
301
  },
256
302
  },
303
+
257
304
  {
258
- description: "Blog posts grid using blogPosts query with horizontal cards",
305
+ description: "Blog post cards with horizontal layout - Great for article previews",
259
306
  type: "box",
260
307
  props: {
261
308
  direction: "flex-row",
262
309
  gap: "2rem",
263
- padding: "1rem",
310
+ padding: "1.5rem",
264
311
  justifyContent: "justify-start",
265
312
  alignItems: "items-stretch",
266
- loop: {
267
- over: "blogPosts",
268
- },
313
+ colorPreset: { color: "secondary-50" },
314
+ rounding: "rounded-lg",
315
+ shadow: "shadow-sm",
316
+ loop: { over: "blogPosts" },
269
317
  $children: [
270
318
  {
271
319
  type: "image",
@@ -281,28 +329,31 @@ export const examples: {
281
329
  "<h4>{{blogPosts.title}}</h4><p>{{blogPosts.excerpt}}</p><p><em>By {{blogPosts.author}} • {{blogPosts.publishDate}}</em></p>",
282
330
  },
283
331
  },
332
+ {
333
+ type: "button",
334
+ props: {
335
+ label: "Read More",
336
+ link: "/blog/{{blogPosts.slug}}",
337
+ },
338
+ },
284
339
  ],
285
340
  },
286
341
  },
342
+
287
343
  {
288
- description: "Featured products showcase using featuredProducts query",
344
+ description: "Product showcase cards with pricing - Perfect for e-commerce displays",
289
345
  type: "box",
290
346
  props: {
291
347
  direction: "flex-col",
292
348
  gap: "1rem",
293
349
  padding: "1.5rem",
294
- colorPreset: {
295
- color: "primary-50",
296
- },
297
- border: {
298
- width: "border",
299
- color: "border-primary-200",
300
- },
350
+ justifyContent: "justify-center",
351
+ alignItems: "items-center",
352
+ colorPreset: { color: "accent-50" },
353
+ border: { width: "border-2", color: "border-accent-200" },
301
354
  rounding: "rounded-xl",
302
355
  shadow: "shadow-md",
303
- loop: {
304
- over: "featuredProducts",
305
- },
356
+ loop: { over: "featuredProducts" },
306
357
  $children: [
307
358
  {
308
359
  type: "image",
@@ -321,16 +372,17 @@ export const examples: {
321
372
  {
322
373
  type: "button",
323
374
  props: {
324
- text: "Add to Cart",
375
+ label: "Add to Cart",
325
376
  link: "/cart/add/{{featuredProducts.id}}",
326
377
  },
327
378
  },
328
379
  ],
329
380
  },
330
381
  },
382
+
383
+ // RESPONSIVE GRID LAYOUTS
331
384
  {
332
- description:
333
- "Team members horizontal layout with wrapping - members will wrap to multiple rows on smaller screens",
385
+ description: "Team members with wrapping - Responsive grid that adapts to screen size",
334
386
  type: "box",
335
387
  props: {
336
388
  direction: "flex-row",
@@ -338,13 +390,10 @@ export const examples: {
338
390
  padding: "2rem",
339
391
  wrap: true,
340
392
  justifyContent: "justify-center",
341
- alignItems: "items-center",
342
- colorPreset: {
343
- color: "secondary-100",
344
- },
345
- loop: {
346
- over: "teamMembers",
347
- },
393
+ alignItems: "items-start",
394
+ colorPreset: { color: "secondary-100" },
395
+ rounding: "rounded-lg",
396
+ loop: { over: "teamMembers" },
348
397
  $children: [
349
398
  {
350
399
  type: "image",
@@ -356,31 +405,43 @@ export const examples: {
356
405
  {
357
406
  type: "text",
358
407
  props: {
359
- content: "<h4>{{teamMembers.fullName}}</h4><p>{{teamMembers.role}}</p><p>{{teamMembers.bio}}</p>",
408
+ content:
409
+ "<h4>{{teamMembers.fullName}}</h4><p><strong>{{teamMembers.role}}</strong></p><p>{{teamMembers.bio}}</p>",
410
+ },
411
+ },
412
+ {
413
+ type: "button",
414
+ props: {
415
+ label: "View Profile",
416
+ link: "/team/{{teamMembers.slug}}",
360
417
  },
361
418
  },
362
419
  ],
363
420
  },
364
421
  },
422
+
365
423
  {
366
- description: "Event listings using upcomingEvents query with accent styling",
424
+ description: "Event listings with accent styling - Prominent call-to-action design",
367
425
  type: "box",
368
426
  props: {
369
427
  direction: "flex-col",
370
428
  gap: "1.25rem",
371
429
  padding: "2.5rem",
372
- colorPreset: {
373
- color: "accent-100",
374
- },
375
- border: {
376
- width: "border-2",
377
- color: "border-accent-300",
378
- },
430
+ alignItems: "items-center",
431
+ colorPreset: { color: "accent-100" },
432
+ border: { width: "border-2", color: "border-accent-300" },
379
433
  rounding: "rounded-lg",
380
- loop: {
381
- over: "upcomingEvents",
382
- },
434
+ shadow: "shadow-lg",
435
+ loop: { over: "upcomingEvents" },
383
436
  $children: [
437
+ {
438
+ type: "icon",
439
+ props: {
440
+ icon: "mdi:calendar-event",
441
+ size: "2rem",
442
+ color: "#f59e0b",
443
+ },
444
+ },
384
445
  {
385
446
  type: "text",
386
447
  props: {
@@ -391,15 +452,17 @@ export const examples: {
391
452
  {
392
453
  type: "button",
393
454
  props: {
394
- text: "Register Now",
455
+ label: "Register Now",
395
456
  link: "/events/{{upcomingEvents.slug}}/register",
396
457
  },
397
458
  },
398
459
  ],
399
460
  },
400
461
  },
462
+
463
+ // TESTIMONIALS & REVIEWS
401
464
  {
402
- description: "Testimonials carousel using customerTestimonials query",
465
+ description: "Customer testimonials with star ratings - Social proof presentation",
403
466
  type: "box",
404
467
  props: {
405
468
  direction: "flex-col",
@@ -407,20 +470,24 @@ export const examples: {
407
470
  padding: "3rem",
408
471
  justifyContent: "justify-center",
409
472
  alignItems: "items-center",
410
- colorPreset: {
411
- color: "neutral-50",
412
- },
473
+ colorPreset: { color: "neutral-50" },
413
474
  shadow: "shadow-lg",
414
475
  rounding: "rounded-2xl",
415
- loop: {
416
- over: "customerTestimonials",
417
- },
476
+ loop: { over: "customerTestimonials" },
418
477
  $children: [
478
+ {
479
+ type: "icon",
480
+ props: {
481
+ icon: "mdi:format-quote-open",
482
+ size: "2rem",
483
+ color: "#6b7280",
484
+ },
485
+ },
419
486
  {
420
487
  type: "text",
421
488
  props: {
422
489
  content:
423
- '<blockquote>"{{customerTestimonials.quote}}"</blockquote><p><strong>{{customerTestimonials.customerName}}</strong></p><p>{{customerTestimonials.company}} • {{customerTestimonials.position}}</p>',
490
+ '<p style="text-align: center"><em>"{{customerTestimonials.quote}}"</em></p><p style="text-align: center"><strong>{{customerTestimonials.customerName}}</strong></p><p style="text-align: center">{{customerTestimonials.company}} • {{customerTestimonials.position}}</p>',
424
491
  },
425
492
  },
426
493
  {
@@ -434,18 +501,20 @@ export const examples: {
434
501
  ],
435
502
  },
436
503
  },
504
+
437
505
  {
438
- description: "Portfolio projects using portfolioProjects query with horizontal layout",
506
+ description: "Portfolio project showcase - Creative work presentation with client details",
439
507
  type: "box",
440
508
  props: {
441
509
  direction: "flex-row",
442
510
  gap: "1.5rem",
443
- padding: "1rem",
511
+ padding: "2rem",
444
512
  alignItems: "items-start",
445
513
  justifyContent: "justify-start",
446
- loop: {
447
- over: "portfolioProjects",
448
- },
514
+ colorPreset: { color: "primary-50" },
515
+ border: { width: "border", color: "border-primary-200" },
516
+ rounding: "rounded-lg",
517
+ loop: { over: "portfolioProjects" },
449
518
  $children: [
450
519
  {
451
520
  type: "image",
@@ -458,36 +527,32 @@ export const examples: {
458
527
  type: "text",
459
528
  props: {
460
529
  content:
461
- "<h4>{{portfolioProjects.projectName}}</h4><p>{{portfolioProjects.client}}</p><p>{{portfolioProjects.category}} • {{portfolioProjects.year}}</p><p>{{portfolioProjects.shortDescription}}</p>",
530
+ "<h4>{{portfolioProjects.projectName}}</h4><p><strong>{{portfolioProjects.client}}</strong></p><p>{{portfolioProjects.category}} • {{portfolioProjects.year}}</p><p>{{portfolioProjects.shortDescription}}</p>",
462
531
  },
463
532
  },
464
533
  {
465
534
  type: "button",
466
535
  props: {
467
- text: "View Project",
536
+ label: "View Project",
468
537
  link: "/portfolio/{{portfolioProjects.slug}}",
469
538
  },
470
539
  },
471
540
  ],
472
541
  },
473
542
  },
543
+
544
+ // NEWS & ARTICLES
474
545
  {
475
- description: "News articles using latestNews query with vertical stacking",
546
+ description: "News article previews with categories - Clean editorial layout",
476
547
  type: "box",
477
548
  props: {
478
549
  direction: "flex-col",
479
- gap: "2rem",
550
+ gap: "1.5rem",
480
551
  padding: "2rem",
481
- colorPreset: {
482
- color: "primary-100",
483
- },
484
- border: {
485
- width: "border",
486
- color: "border-primary-300",
487
- },
488
- loop: {
489
- over: "latestNews",
490
- },
552
+ colorPreset: { color: "neutral-100" },
553
+ border: { width: "border", color: "border-neutral-300" },
554
+ rounding: "rounded-md",
555
+ loop: { over: "latestNews" },
491
556
  $children: [
492
557
  {
493
558
  type: "text",
@@ -497,16 +562,19 @@ export const examples: {
497
562
  },
498
563
  },
499
564
  {
500
- type: "text",
565
+ type: "button",
501
566
  props: {
502
- content: "<a href='/news/{{latestNews.slug}}'>Read full article →</a>",
567
+ label: "Read Full Article",
568
+ link: "/news/{{latestNews.slug}}",
503
569
  },
504
570
  },
505
571
  ],
506
572
  },
507
573
  },
574
+
575
+ // SERVICE OFFERINGS
508
576
  {
509
- description: "Service offerings using companyServices query with centered layout",
577
+ description: "Service packages with icons and pricing - Professional service presentation",
510
578
  type: "box",
511
579
  props: {
512
580
  direction: "flex-col",
@@ -514,20 +582,16 @@ export const examples: {
514
582
  padding: "2rem",
515
583
  justifyContent: "justify-center",
516
584
  alignItems: "items-center",
517
- colorPreset: {
518
- color: "secondary-200",
519
- },
585
+ colorPreset: { color: "secondary-200" },
520
586
  rounding: "rounded-xl",
521
587
  shadow: "shadow-md",
522
- loop: {
523
- over: "companyServices",
524
- },
588
+ loop: { over: "companyServices" },
525
589
  $children: [
526
590
  {
527
591
  type: "icon",
528
592
  props: {
529
593
  icon: "{{companyServices.iconName}}",
530
- size: "2rem",
594
+ size: "2.5rem",
531
595
  color: "{{companyServices.iconColor}}",
532
596
  },
533
597
  },
@@ -535,13 +599,13 @@ export const examples: {
535
599
  type: "text",
536
600
  props: {
537
601
  content:
538
- "<h4>{{companyServices.serviceName}}</h4><p>{{companyServices.description}}</p><p><strong>Starting at ${{companyServices.price}}</strong></p>",
602
+ "<h4 style='text-align: center'>{{companyServices.serviceName}}</h4><p style='text-align: center'>{{companyServices.description}}</p><p style='text-align: center'><strong>Starting at ${{companyServices.price}}</strong></p>",
539
603
  },
540
604
  },
541
605
  {
542
606
  type: "button",
543
607
  props: {
544
- text: "Learn More",
608
+ label: "Learn More",
545
609
  link: "/services/{{companyServices.serviceSlug}}",
546
610
  },
547
611
  },