@upstart.gg/sdk 0.0.134 → 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 (589) hide show
  1. package/dist/shared/ai/schemas.d.ts +11 -3
  2. package/dist/shared/ai/schemas.d.ts.map +1 -1
  3. package/dist/shared/ai/schemas.js +63 -1
  4. package/dist/shared/ai/schemas.js.map +1 -1
  5. package/dist/shared/ai/types.d.ts +138 -64
  6. package/dist/shared/ai/types.d.ts.map +1 -1
  7. package/dist/shared/ajv.js +6861 -1
  8. package/dist/shared/ajv.js.map +1 -1
  9. package/dist/shared/analytics/init.js +20 -1
  10. package/dist/shared/analytics/init.js.map +1 -1
  11. package/dist/shared/analytics/track.js +24 -1
  12. package/dist/shared/analytics/track.js.map +1 -1
  13. package/dist/shared/attributes.d.ts +99 -30
  14. package/dist/shared/attributes.d.ts.map +1 -1
  15. package/dist/shared/attributes.js +46 -1
  16. package/dist/shared/brick-manifest.d.ts +1 -1
  17. package/dist/shared/brick-manifest.js +26 -1
  18. package/dist/shared/bricks/manifests/_types.d.ts +9 -0
  19. package/dist/shared/bricks/manifests/_types.d.ts.map +1 -0
  20. package/dist/shared/bricks/{props/enum.js → manifests/_types.js} +1 -2
  21. package/dist/shared/bricks/manifests/accordion.manifest.d.ts +4 -8
  22. package/dist/shared/bricks/manifests/accordion.manifest.d.ts.map +1 -1
  23. package/dist/shared/bricks/manifests/accordion.manifest.js +29 -1
  24. package/dist/shared/bricks/manifests/all-manifests.d.ts.map +1 -1
  25. package/dist/shared/bricks/manifests/all-manifests.js +59 -1
  26. package/dist/shared/bricks/manifests/box.manifest.d.ts +4 -8
  27. package/dist/shared/bricks/manifests/box.manifest.d.ts.map +1 -1
  28. package/dist/shared/bricks/manifests/box.manifest.js +28 -1
  29. package/dist/shared/bricks/manifests/button.manifest.d.ts +4 -8
  30. package/dist/shared/bricks/manifests/button.manifest.d.ts.map +1 -1
  31. package/dist/shared/bricks/manifests/button.manifest.js +28 -1
  32. package/dist/shared/bricks/manifests/card.manifest.d.ts +10 -9
  33. package/dist/shared/bricks/manifests/card.manifest.d.ts.map +1 -1
  34. package/dist/shared/bricks/manifests/card.manifest.js +28 -1
  35. package/dist/shared/bricks/manifests/carousel.manifest.d.ts +4 -8
  36. package/dist/shared/bricks/manifests/carousel.manifest.d.ts.map +1 -1
  37. package/dist/shared/bricks/manifests/carousel.manifest.js +28 -1
  38. package/dist/shared/bricks/manifests/footer.manifest.d.ts +6 -10
  39. package/dist/shared/bricks/manifests/footer.manifest.d.ts.map +1 -1
  40. package/dist/shared/bricks/manifests/footer.manifest.js +30 -1
  41. package/dist/shared/bricks/manifests/form.manifest.d.ts +5 -9
  42. package/dist/shared/bricks/manifests/form.manifest.d.ts.map +1 -1
  43. package/dist/shared/bricks/manifests/form.manifest.js +29 -1
  44. package/dist/shared/bricks/manifests/hero.manifest.d.ts +4 -8
  45. package/dist/shared/bricks/manifests/hero.manifest.d.ts.map +1 -1
  46. package/dist/shared/bricks/manifests/hero.manifest.js +28 -1
  47. package/dist/shared/bricks/manifests/html.manifest.d.ts +4 -8
  48. package/dist/shared/bricks/manifests/html.manifest.d.ts.map +1 -1
  49. package/dist/shared/bricks/manifests/html.manifest.js +28 -1
  50. package/dist/shared/bricks/manifests/icon.manifest.d.ts +4 -8
  51. package/dist/shared/bricks/manifests/icon.manifest.d.ts.map +1 -1
  52. package/dist/shared/bricks/manifests/icon.manifest.js +28 -1
  53. package/dist/shared/bricks/manifests/image.manifest.d.ts +3 -2
  54. package/dist/shared/bricks/manifests/image.manifest.d.ts.map +1 -1
  55. package/dist/shared/bricks/manifests/image.manifest.js +28 -1
  56. package/dist/shared/bricks/manifests/images-gallery.manifest.d.ts +4 -8
  57. package/dist/shared/bricks/manifests/images-gallery.manifest.d.ts.map +1 -1
  58. package/dist/shared/bricks/manifests/images-gallery.manifest.js +28 -1
  59. package/dist/shared/bricks/manifests/map.manifest.d.ts +4 -8
  60. package/dist/shared/bricks/manifests/map.manifest.d.ts.map +1 -1
  61. package/dist/shared/bricks/manifests/map.manifest.js +31 -1
  62. package/dist/shared/bricks/manifests/navbar.manifest.d.ts +6 -10
  63. package/dist/shared/bricks/manifests/navbar.manifest.d.ts.map +1 -1
  64. package/dist/shared/bricks/manifests/navbar.manifest.js +31 -1
  65. package/dist/shared/bricks/manifests/sidebar.manifest.d.ts +4 -8
  66. package/dist/shared/bricks/manifests/sidebar.manifest.d.ts.map +1 -1
  67. package/dist/shared/bricks/manifests/sidebar.manifest.js +29 -1
  68. package/dist/shared/bricks/manifests/social-links.manifest.d.ts +4 -8
  69. package/dist/shared/bricks/manifests/social-links.manifest.d.ts.map +1 -1
  70. package/dist/shared/bricks/manifests/social-links.manifest.js +28 -1
  71. package/dist/shared/bricks/manifests/spacer.manifest.d.ts +4 -8
  72. package/dist/shared/bricks/manifests/spacer.manifest.d.ts.map +1 -1
  73. package/dist/shared/bricks/manifests/spacer.manifest.js +28 -1
  74. package/dist/shared/bricks/manifests/table.manifest.d.ts +87 -0
  75. package/dist/shared/bricks/manifests/table.manifest.d.ts.map +1 -0
  76. package/dist/shared/bricks/manifests/table.manifest.js +31 -0
  77. package/dist/shared/bricks/manifests/table.manifest.js.map +1 -0
  78. package/dist/shared/bricks/manifests/tabs.manifest.d.ts +86 -0
  79. package/dist/shared/bricks/manifests/tabs.manifest.d.ts.map +1 -0
  80. package/dist/shared/bricks/manifests/tabs.manifest.js +31 -0
  81. package/dist/shared/bricks/manifests/tabs.manifest.js.map +1 -0
  82. package/dist/shared/bricks/manifests/testimonials.manifest.d.ts +4 -8
  83. package/dist/shared/bricks/manifests/testimonials.manifest.d.ts.map +1 -1
  84. package/dist/shared/bricks/manifests/testimonials.manifest.js +28 -1
  85. package/dist/shared/bricks/manifests/text.manifest.d.ts +4 -8
  86. package/dist/shared/bricks/manifests/text.manifest.d.ts.map +1 -1
  87. package/dist/shared/bricks/manifests/text.manifest.js +28 -1
  88. package/dist/shared/bricks/manifests/timeline.manifest.d.ts +97 -0
  89. package/dist/shared/bricks/manifests/timeline.manifest.d.ts.map +1 -0
  90. package/dist/shared/bricks/manifests/timeline.manifest.js +31 -0
  91. package/dist/shared/bricks/manifests/timeline.manifest.js.map +1 -0
  92. package/dist/shared/bricks/manifests/video.manifest.d.ts +4 -8
  93. package/dist/shared/bricks/manifests/video.manifest.d.ts.map +1 -1
  94. package/dist/shared/bricks/manifests/video.manifest.js +28 -1
  95. package/dist/shared/bricks/props/align.d.ts +2 -2
  96. package/dist/shared/bricks/props/align.js +19 -1
  97. package/dist/shared/bricks/props/background.d.ts +4 -4
  98. package/dist/shared/bricks/props/background.js +15 -1
  99. package/dist/shared/bricks/props/boolean.js +7 -1
  100. package/dist/shared/bricks/props/border.js +16 -1
  101. package/dist/shared/bricks/props/color-preset.d.ts.map +1 -1
  102. package/dist/shared/bricks/props/color-preset.js +13 -1
  103. package/dist/shared/bricks/props/color.js +14 -1
  104. package/dist/shared/bricks/props/common.d.ts +2 -2
  105. package/dist/shared/bricks/props/common.js +13 -1
  106. package/dist/shared/bricks/props/css-length.js +14 -1
  107. package/dist/shared/bricks/props/datarecord.js +7 -1
  108. package/dist/shared/bricks/props/datasource.d.ts +1 -1
  109. package/dist/shared/bricks/props/datasource.js +86 -1
  110. package/dist/shared/bricks/props/datasource.js.map +1 -1
  111. package/dist/shared/bricks/props/date.js +9 -1
  112. package/dist/shared/bricks/props/direction.js +11 -1
  113. package/dist/shared/bricks/props/dynamic.d.ts.map +1 -1
  114. package/dist/shared/bricks/props/dynamic.js +30 -1
  115. package/dist/shared/bricks/props/effects.js +17 -1
  116. package/dist/shared/bricks/props/file.js +15 -1
  117. package/dist/shared/bricks/props/file.js.map +1 -1
  118. package/dist/shared/bricks/props/geolocation.js +44 -1
  119. package/dist/shared/bricks/props/geolocation.js.map +1 -1
  120. package/dist/shared/bricks/props/helpers.d.ts +1 -1
  121. package/dist/shared/bricks/props/helpers.js +18 -1
  122. package/dist/shared/bricks/props/image.js +11 -1
  123. package/dist/shared/bricks/props/number.js +7 -1
  124. package/dist/shared/bricks/props/position.js +7 -1
  125. package/dist/shared/bricks/props/string.js +18 -1
  126. package/dist/shared/bricks/props/tags.js +10 -1
  127. package/dist/shared/bricks/props/text.js +19 -1
  128. package/dist/shared/bricks.d.ts +59 -45
  129. package/dist/shared/bricks.d.ts.map +1 -1
  130. package/dist/shared/bricks.js +81 -1
  131. package/dist/shared/chunk-2BPYOTKA.js +21 -0
  132. package/dist/shared/{chunk-WHTPGWUV.js.map → chunk-2BPYOTKA.js.map} +1 -1
  133. package/dist/shared/chunk-2IHKVMKW.js +105 -0
  134. package/dist/shared/chunk-2IHKVMKW.js.map +1 -0
  135. package/dist/shared/chunk-2RK3CPYJ.js +74 -0
  136. package/dist/shared/{chunk-W33JMRRN.js.map → chunk-2RK3CPYJ.js.map} +1 -1
  137. package/dist/shared/chunk-2VDR4ZYY.js +230 -0
  138. package/dist/shared/chunk-2VDR4ZYY.js.map +1 -0
  139. package/dist/shared/chunk-36PLZKMW.js +538 -0
  140. package/dist/shared/chunk-36PLZKMW.js.map +1 -0
  141. package/dist/shared/chunk-3ZDN5BWN.js +18 -0
  142. package/dist/shared/{chunk-OIY3EPHO.js.map → chunk-3ZDN5BWN.js.map} +1 -1
  143. package/dist/shared/chunk-42OUNI7C.js +366 -0
  144. package/dist/shared/chunk-42OUNI7C.js.map +1 -0
  145. package/dist/shared/chunk-4MNWMEMM.js +422 -0
  146. package/dist/shared/chunk-4MNWMEMM.js.map +1 -0
  147. package/dist/shared/chunk-55C6MTX2.js +21 -0
  148. package/dist/shared/{chunk-KBHDY425.js.map → chunk-55C6MTX2.js.map} +1 -1
  149. package/dist/shared/chunk-6TVVKUWM.js +15 -0
  150. package/dist/shared/{chunk-4WDWJA3N.js.map → chunk-6TVVKUWM.js.map} +1 -1
  151. package/dist/shared/chunk-6WIMWLCJ.js +17 -0
  152. package/dist/shared/{chunk-KYY3PHP7.js.map → chunk-6WIMWLCJ.js.map} +1 -1
  153. package/dist/shared/chunk-7LAWWRU7.js +21 -0
  154. package/dist/shared/{chunk-IUXCWWGO.js.map → chunk-7LAWWRU7.js.map} +1 -1
  155. package/dist/shared/chunk-A2QPY54H.js +13 -0
  156. package/dist/shared/{chunk-KFM6KXSE.js.map → chunk-A2QPY54H.js.map} +1 -1
  157. package/dist/shared/chunk-BHC2A43S.js +67 -0
  158. package/dist/shared/{chunk-3YVJ2ELD.js.map → chunk-BHC2A43S.js.map} +1 -1
  159. package/dist/shared/chunk-BPBKHEQ5.js +39 -0
  160. package/dist/shared/{chunk-OHNYCXPX.js.map → chunk-BPBKHEQ5.js.map} +1 -1
  161. package/dist/shared/chunk-CRS7QCPZ.js +308 -0
  162. package/dist/shared/chunk-CRS7QCPZ.js.map +1 -0
  163. package/dist/shared/chunk-CSF2WQX2.js +60 -0
  164. package/dist/shared/{chunk-GLS7HPIZ.js.map → chunk-CSF2WQX2.js.map} +1 -1
  165. package/dist/shared/chunk-DFAFDBYZ.js +462 -0
  166. package/dist/shared/chunk-DFAFDBYZ.js.map +1 -0
  167. package/dist/shared/chunk-DV3G7X34.js +244 -0
  168. package/dist/shared/chunk-DV3G7X34.js.map +1 -0
  169. package/dist/shared/chunk-EVLRH6VG.js +56 -0
  170. package/dist/shared/{chunk-RJYZ5FAR.js.map → chunk-EVLRH6VG.js.map} +1 -1
  171. package/dist/shared/chunk-F22LDHEO.js +105 -0
  172. package/dist/shared/{chunk-5YRC3IT3.js.map → chunk-F22LDHEO.js.map} +1 -1
  173. package/dist/shared/chunk-F247VKAE.js +131 -0
  174. package/dist/shared/chunk-F247VKAE.js.map +1 -0
  175. package/dist/shared/chunk-FOGAVJC2.js +59 -0
  176. package/dist/shared/chunk-FOGAVJC2.js.map +1 -0
  177. package/dist/shared/chunk-FQDR2BBZ.js +30 -0
  178. package/dist/shared/chunk-FQDR2BBZ.js.map +1 -0
  179. package/dist/shared/chunk-GFAQWQER.js +618 -0
  180. package/dist/shared/chunk-GFAQWQER.js.map +1 -0
  181. package/dist/shared/chunk-GIGFNQBO.js +129 -0
  182. package/dist/shared/chunk-GIGFNQBO.js.map +1 -0
  183. package/dist/shared/chunk-GQTZPN5D.js +519 -0
  184. package/dist/shared/chunk-GQTZPN5D.js.map +1 -0
  185. package/dist/shared/chunk-H5JM2M2T.js +515 -0
  186. package/dist/shared/chunk-H5JM2M2T.js.map +1 -0
  187. package/dist/shared/chunk-HPCCD6V5.js +17 -0
  188. package/dist/shared/{chunk-6I3ONVU6.js.map → chunk-HPCCD6V5.js.map} +1 -1
  189. package/dist/shared/chunk-HTUSL2U7.js +260 -0
  190. package/dist/shared/chunk-HTUSL2U7.js.map +1 -0
  191. package/dist/shared/chunk-IQIISR22.js +794 -0
  192. package/dist/shared/chunk-IQIISR22.js.map +1 -0
  193. package/dist/shared/chunk-JK2FWFJU.js +15 -0
  194. package/dist/shared/{chunk-JMN3HTZU.js.map → chunk-JK2FWFJU.js.map} +1 -1
  195. package/dist/shared/chunk-KEM5N6GJ.js +505 -0
  196. package/dist/shared/chunk-KEM5N6GJ.js.map +1 -0
  197. package/dist/shared/chunk-KIDICX3Y.js +278 -0
  198. package/dist/shared/chunk-KIDICX3Y.js.map +1 -0
  199. package/dist/shared/chunk-KILJYJFE.js +354 -0
  200. package/dist/shared/chunk-KILJYJFE.js.map +1 -0
  201. package/dist/shared/chunk-KNREHAPN.js +13 -0
  202. package/dist/shared/{chunk-KSEURRVZ.js.map → chunk-KNREHAPN.js.map} +1 -1
  203. package/dist/shared/chunk-KT7SSWMM.js +24 -0
  204. package/dist/shared/{chunk-KO5FPOWZ.js.map → chunk-KT7SSWMM.js.map} +1 -1
  205. package/dist/shared/chunk-L6C7HUSA.js +850 -0
  206. package/dist/shared/chunk-L6C7HUSA.js.map +1 -0
  207. package/dist/shared/chunk-LCJ2VFPM.js +837 -0
  208. package/dist/shared/chunk-LCJ2VFPM.js.map +1 -0
  209. package/dist/shared/chunk-LLNPH3XR.js +148 -0
  210. package/dist/shared/chunk-LLNPH3XR.js.map +1 -0
  211. package/dist/shared/chunk-LTIJI7Y3.js +368 -0
  212. package/dist/shared/chunk-LTIJI7Y3.js.map +1 -0
  213. package/dist/shared/chunk-MFNHFN2B.js +103 -0
  214. package/dist/shared/{chunk-ZA3GAB4H.js.map → chunk-MFNHFN2B.js.map} +1 -1
  215. package/dist/shared/chunk-N3BEBLWF.js +213 -0
  216. package/dist/shared/chunk-N3BEBLWF.js.map +1 -0
  217. package/dist/shared/chunk-N3ZTQD5I.js +70 -0
  218. package/dist/shared/chunk-N3ZTQD5I.js.map +1 -0
  219. package/dist/shared/chunk-NTLAKMMQ.js +94 -0
  220. package/dist/shared/{chunk-ZTZJHY4E.js.map → chunk-NTLAKMMQ.js.map} +1 -1
  221. package/dist/shared/chunk-O5PQISX4.js +51 -0
  222. package/dist/shared/{chunk-VEDQV5XO.js.map → chunk-O5PQISX4.js.map} +1 -1
  223. package/dist/shared/chunk-OJP4HMJT.js +22 -0
  224. package/dist/shared/{chunk-6HLU4UI2.js.map → chunk-OJP4HMJT.js.map} +1 -1
  225. package/dist/shared/chunk-OSJ6KGPX.js +16 -0
  226. package/dist/shared/{chunk-GPEMPZXK.js.map → chunk-OSJ6KGPX.js.map} +1 -1
  227. package/dist/shared/chunk-OXYXZHP2.js +48 -0
  228. package/dist/shared/{chunk-5O4Z3YQY.js.map → chunk-OXYXZHP2.js.map} +1 -1
  229. package/dist/shared/chunk-Q4NPPLEU.js +34 -0
  230. package/dist/shared/{chunk-QWGUMKZC.js.map → chunk-Q4NPPLEU.js.map} +1 -1
  231. package/dist/shared/chunk-QLQVDZIL.js +11 -0
  232. package/dist/shared/{chunk-KLD3P5XH.js.map → chunk-QLQVDZIL.js.map} +1 -1
  233. package/dist/shared/chunk-RV7AYVFV.js +75 -0
  234. package/dist/shared/{chunk-DHI3IBOD.js.map → chunk-RV7AYVFV.js.map} +1 -1
  235. package/dist/shared/chunk-SE6O65HC.js +44 -0
  236. package/dist/shared/{chunk-NM5MMPCF.js.map → chunk-SE6O65HC.js.map} +1 -1
  237. package/dist/shared/chunk-TFGGYU6Y.js +394 -0
  238. package/dist/shared/{chunk-CZRCW5EN.js.map → chunk-TFGGYU6Y.js.map} +1 -1
  239. package/dist/shared/chunk-TKMWY2VN.js +18 -0
  240. package/dist/shared/{chunk-RDZK73KV.js.map → chunk-TKMWY2VN.js.map} +1 -1
  241. package/dist/shared/chunk-TNMNMYOB.js +69 -0
  242. package/dist/shared/{chunk-4BTB3MU2.js.map → chunk-TNMNMYOB.js.map} +1 -1
  243. package/dist/shared/chunk-TNTFKLCR.js +1225 -0
  244. package/dist/shared/chunk-TNTFKLCR.js.map +1 -0
  245. package/dist/shared/chunk-U5ZECCJM.js +464 -0
  246. package/dist/shared/chunk-U5ZECCJM.js.map +1 -0
  247. package/dist/shared/chunk-UXTASZ23.js +419 -0
  248. package/dist/shared/chunk-UXTASZ23.js.map +1 -0
  249. package/dist/shared/chunk-W6MRYRGJ.js +100 -0
  250. package/dist/shared/{chunk-CCI4C3TM.js.map → chunk-W6MRYRGJ.js.map} +1 -1
  251. package/dist/shared/chunk-WKN566LN.js +29 -0
  252. package/dist/shared/{chunk-Q4H4QEMB.js.map → chunk-WKN566LN.js.map} +1 -1
  253. package/dist/shared/chunk-XCWMZVF5.js +89 -0
  254. package/dist/shared/{chunk-ZFCUSWMT.js.map → chunk-XCWMZVF5.js.map} +1 -1
  255. package/dist/shared/chunk-XCZVD5H6.js +13 -0
  256. package/dist/shared/{chunk-HAGKVQOW.js.map → chunk-XCZVD5H6.js.map} +1 -1
  257. package/dist/shared/chunk-XZ6WJZHN.js +10 -0
  258. package/dist/shared/{chunk-DCH4ZKWT.js.map → chunk-XZ6WJZHN.js.map} +1 -1
  259. package/dist/shared/chunk-Y74LZNND.js +30 -0
  260. package/dist/shared/{chunk-GACHLACT.js.map → chunk-Y74LZNND.js.map} +1 -1
  261. package/dist/shared/chunk-YWOTQWIQ.js +572 -0
  262. package/dist/shared/chunk-YWOTQWIQ.js.map +1 -0
  263. package/dist/shared/chunk-ZEFOWKYP.js +44 -0
  264. package/dist/shared/{chunk-DQ7PRWTG.js.map → chunk-ZEFOWKYP.js.map} +1 -1
  265. package/dist/shared/chunk-ZGQ3AQBG.js +33 -0
  266. package/dist/shared/chunk-ZGQ3AQBG.js.map +1 -0
  267. package/dist/shared/chunk-ZLYIRH2B.js +68 -0
  268. package/dist/shared/{chunk-SWLUQVK7.js.map → chunk-ZLYIRH2B.js.map} +1 -1
  269. package/dist/shared/chunk-ZR6R6Z6O.js +496 -0
  270. package/dist/shared/chunk-ZR6R6Z6O.js.map +1 -0
  271. package/dist/shared/chunk-ZRRAK5NS.js +432 -0
  272. package/dist/shared/chunk-ZRRAK5NS.js.map +1 -0
  273. package/dist/shared/context.d.ts +1 -0
  274. package/dist/shared/context.d.ts.map +1 -1
  275. package/dist/shared/datarecords/external/airtable/handler.js +377 -1
  276. package/dist/shared/datarecords/external/airtable/handler.js.map +1 -1
  277. package/dist/shared/datarecords/external/airtable/oauth/config.js +15 -1
  278. package/dist/shared/datarecords/external/airtable/oauth/config.js.map +1 -1
  279. package/dist/shared/datarecords/external/airtable/types.js +11 -1
  280. package/dist/shared/datarecords/external/generic-webhook/handler.js +14 -1
  281. package/dist/shared/datarecords/external/generic-webhook/handler.js.map +1 -1
  282. package/dist/shared/datarecords/external/generic-webhook/options.js +16 -1
  283. package/dist/shared/datarecords/external/generic-webhook/options.js.map +1 -1
  284. package/dist/shared/datarecords/external/google/oauth/config.js +35 -1
  285. package/dist/shared/datarecords/external/google/oauth/config.js.map +1 -1
  286. package/dist/shared/datarecords/external/google/sheets/client.js +7 -1
  287. package/dist/shared/datarecords/external/google/sheets/handler.js +184 -5
  288. package/dist/shared/datarecords/external/google/sheets/handler.js.map +1 -1
  289. package/dist/shared/datarecords/external/google/sheets/types.js +7 -1
  290. package/dist/shared/datarecords/external/notion/handler.js +397 -1
  291. package/dist/shared/datarecords/external/notion/handler.js.map +1 -1
  292. package/dist/shared/datarecords/external/notion/oauth/config.js +11 -1
  293. package/dist/shared/datarecords/external/notion/oauth/config.js.map +1 -1
  294. package/dist/shared/datarecords/external/notion/types.js +7 -1
  295. package/dist/shared/datarecords/types.d.ts +6 -59
  296. package/dist/shared/datarecords/types.d.ts.map +1 -1
  297. package/dist/shared/datarecords/types.js +14 -1
  298. package/dist/shared/datarecords.js +9 -1
  299. package/dist/shared/datarecords.js.map +1 -1
  300. package/dist/shared/datasources/external/facebook/posts/fetcher.js +49 -1
  301. package/dist/shared/datasources/external/facebook/posts/fetcher.js.map +1 -1
  302. package/dist/shared/datasources/external/facebook/posts/schema.js +36 -1
  303. package/dist/shared/datasources/external/facebook/posts/schema.js.map +1 -1
  304. package/dist/shared/datasources/external/http-json/fetcher.js +29 -1
  305. package/dist/shared/datasources/external/http-json/fetcher.js.map +1 -1
  306. package/dist/shared/datasources/external/http-json/options.js +11 -1
  307. package/dist/shared/datasources/external/http-json/options.js.map +1 -1
  308. package/dist/shared/datasources/external/http-json/schema.js +10 -1
  309. package/dist/shared/datasources/external/http-json/schema.js.map +1 -1
  310. package/dist/shared/datasources/external/instagram/feed/fetcher.js +29 -1
  311. package/dist/shared/datasources/external/instagram/feed/fetcher.js.map +1 -1
  312. package/dist/shared/datasources/external/instagram/feed/schema.js +26 -1
  313. package/dist/shared/datasources/external/instagram/feed/schema.js.map +1 -1
  314. package/dist/shared/datasources/external/mastodon/account/fetcher.js +7 -1
  315. package/dist/shared/datasources/external/mastodon/account/schema.js +7 -1
  316. package/dist/shared/datasources/external/mastodon/options.js +10 -1
  317. package/dist/shared/datasources/external/mastodon/options.js.map +1 -1
  318. package/dist/shared/datasources/external/mastodon/status/fetcher.js +31 -1
  319. package/dist/shared/datasources/external/mastodon/status/fetcher.js.map +1 -1
  320. package/dist/shared/datasources/external/mastodon/status/sample.array.js +61 -1
  321. package/dist/shared/datasources/external/mastodon/status/sample.array.js.map +1 -1
  322. package/dist/shared/datasources/external/mastodon/status/sample.single.js +59 -1
  323. package/dist/shared/datasources/external/mastodon/status/sample.single.js.map +1 -1
  324. package/dist/shared/datasources/external/mastodon/status/schema.js +125 -1
  325. package/dist/shared/datasources/external/mastodon/status/schema.js.map +1 -1
  326. package/dist/shared/datasources/external/meta/oauth/config.js +17 -1
  327. package/dist/shared/datasources/external/meta/oauth/config.js.map +1 -1
  328. package/dist/shared/datasources/external/meta/options.js +10 -1
  329. package/dist/shared/datasources/external/meta/options.js.map +1 -1
  330. package/dist/shared/datasources/external/rss/fetcher.js +26 -1
  331. package/dist/shared/datasources/external/rss/fetcher.js.map +1 -1
  332. package/dist/shared/datasources/external/rss/options.js +10 -1
  333. package/dist/shared/datasources/external/rss/options.js.map +1 -1
  334. package/dist/shared/datasources/external/rss/schema.js +7 -1
  335. package/dist/shared/datasources/external/threads/media/fetcher.js +47 -1
  336. package/dist/shared/datasources/external/threads/media/fetcher.js.map +1 -1
  337. package/dist/shared/datasources/external/threads/media/schema.js +40 -1
  338. package/dist/shared/datasources/external/threads/media/schema.js.map +1 -1
  339. package/dist/shared/datasources/external/tiktok/oauth/config.js +18 -1
  340. package/dist/shared/datasources/external/tiktok/oauth/config.js.map +1 -1
  341. package/dist/shared/datasources/external/tiktok/video/fetcher.js +34 -1
  342. package/dist/shared/datasources/external/tiktok/video/fetcher.js.map +1 -1
  343. package/dist/shared/datasources/external/tiktok/video/options.js +11 -1
  344. package/dist/shared/datasources/external/tiktok/video/options.js.map +1 -1
  345. package/dist/shared/datasources/external/tiktok/video/schema.js +30 -1
  346. package/dist/shared/datasources/external/tiktok/video/schema.js.map +1 -1
  347. package/dist/shared/datasources/external/youtube/list/fetcher.js +32 -1
  348. package/dist/shared/datasources/external/youtube/list/fetcher.js.map +1 -1
  349. package/dist/shared/datasources/external/youtube/list/options.js +14 -1
  350. package/dist/shared/datasources/external/youtube/list/options.js.map +1 -1
  351. package/dist/shared/datasources/external/youtube/list/schema.js +7 -1
  352. package/dist/shared/datasources/external/youtube/oauth/config.js +18 -1
  353. package/dist/shared/datasources/external/youtube/oauth/config.js.map +1 -1
  354. package/dist/shared/datasources/internal/blog/schema.js +72 -1
  355. package/dist/shared/datasources/internal/blog/schema.js.map +1 -1
  356. package/dist/shared/datasources/internal/changelog/schema.js +51 -1
  357. package/dist/shared/datasources/internal/changelog/schema.js.map +1 -1
  358. package/dist/shared/datasources/internal/contact-info/schema.js +25 -1
  359. package/dist/shared/datasources/internal/contact-info/schema.js.map +1 -1
  360. package/dist/shared/datasources/internal/cv/schema.js +222 -1
  361. package/dist/shared/datasources/internal/cv/schema.js.map +1 -1
  362. package/dist/shared/datasources/internal/faq/schema.js +30 -1
  363. package/dist/shared/datasources/internal/faq/schema.js.map +1 -1
  364. package/dist/shared/datasources/internal/job-board/schema.js +224 -1
  365. package/dist/shared/datasources/internal/job-board/schema.js.map +1 -1
  366. package/dist/shared/datasources/internal/links/schema.js +7 -1
  367. package/dist/shared/datasources/internal/recipes/schema.js +45 -1
  368. package/dist/shared/datasources/internal/recipes/schema.js.map +1 -1
  369. package/dist/shared/datasources/internal/restaurant/schema.js +226 -1
  370. package/dist/shared/datasources/internal/restaurant/schema.js.map +1 -1
  371. package/dist/shared/datasources/samples.js +69 -1
  372. package/dist/shared/datasources/samples.js.map +1 -1
  373. package/dist/shared/datasources/schemas.js +34 -1
  374. package/dist/shared/datasources/schemas.js.map +1 -1
  375. package/dist/shared/datasources/types.d.ts +1 -1
  376. package/dist/shared/datasources/types.d.ts.map +1 -1
  377. package/dist/shared/datasources/types.js +32 -1
  378. package/dist/shared/datasources/utils.js +11 -1
  379. package/dist/shared/datasources.d.ts +1 -1
  380. package/dist/shared/datasources.d.ts.map +1 -1
  381. package/dist/shared/datasources.js +49 -1
  382. package/dist/shared/datasources.js.map +1 -1
  383. package/dist/shared/errors.js +7 -1
  384. package/dist/shared/images.d.ts +4 -4
  385. package/dist/shared/images.d.ts.map +1 -1
  386. package/dist/shared/images.js +44 -1
  387. package/dist/shared/images.js.map +1 -1
  388. package/dist/shared/index.js +9 -1
  389. package/dist/shared/index.js.map +1 -1
  390. package/dist/shared/layout-constants.js +14 -1
  391. package/dist/shared/layout-constants.js.map +1 -1
  392. package/dist/shared/manifest.js +52 -1
  393. package/dist/shared/manifest.js.map +1 -1
  394. package/dist/shared/oauth.js +8 -1
  395. package/dist/shared/page.d.ts +12 -126
  396. package/dist/shared/page.d.ts.map +1 -1
  397. package/dist/shared/page.js +58 -1
  398. package/dist/shared/prompt.js +7 -1
  399. package/dist/shared/responsive.js +10 -1
  400. package/dist/shared/responsive.js.map +1 -1
  401. package/dist/shared/site.d.ts +34 -31
  402. package/dist/shared/site.d.ts.map +1 -1
  403. package/dist/shared/site.js +127 -1
  404. package/dist/shared/site.js.map +1 -1
  405. package/dist/shared/sitemap.d.ts +13 -12
  406. package/dist/shared/sitemap.d.ts.map +1 -1
  407. package/dist/shared/sitemap.js +69 -1
  408. package/dist/shared/social-icons.js +312 -1
  409. package/dist/shared/social-icons.js.map +1 -1
  410. package/dist/shared/tests/schema-registry.test.d.ts +2 -0
  411. package/dist/shared/tests/schema-registry.test.d.ts.map +1 -0
  412. package/dist/shared/theme.d.ts +1 -1
  413. package/dist/shared/theme.d.ts.map +1 -1
  414. package/dist/shared/theme.js +35 -1
  415. package/dist/shared/themes/color-system.js +103 -1
  416. package/dist/shared/themes/color-system.js.map +1 -1
  417. package/dist/shared/utils/canvas-data-uri.js +7 -1
  418. package/dist/shared/utils/canvas-data-uri.js.map +1 -1
  419. package/dist/shared/utils/invariant.js +7 -1
  420. package/dist/shared/utils/json-date.js +7 -1
  421. package/dist/shared/utils/llm.d.ts +2 -3
  422. package/dist/shared/utils/llm.d.ts.map +1 -1
  423. package/dist/shared/utils/llm.js +24 -1
  424. package/dist/shared/utils/merge.js +7 -1
  425. package/dist/shared/utils/object-hash.js +13 -1
  426. package/dist/shared/utils/object-hash.js.map +1 -1
  427. package/dist/shared/utils/schema-registry.d.ts +5 -0
  428. package/dist/shared/utils/schema-registry.d.ts.map +1 -0
  429. package/dist/shared/utils/schema-registry.js +29 -0
  430. package/dist/shared/utils/schema-registry.js.map +1 -0
  431. package/dist/shared/utils/schema.d.ts +2 -1
  432. package/dist/shared/utils/schema.d.ts.map +1 -1
  433. package/dist/shared/utils/schema.js +31 -1
  434. package/dist/shared/utils/string-enum.js +7 -1
  435. package/dist/shared/utils/tests/schema-registry.test.d.ts +2 -0
  436. package/dist/shared/utils/tests/schema-registry.test.d.ts.map +1 -0
  437. package/dist/shared/utils/try-catch.js +13 -1
  438. package/dist/shared/utils/try-catch.js.map +1 -1
  439. package/dist/shared/utils/typed-ref.js +7 -1
  440. package/package.json +9 -10
  441. package/src/shared/ai/schemas.ts +44 -12
  442. package/src/shared/ai/types.ts +135 -59
  443. package/src/shared/attributes.ts +37 -27
  444. package/src/shared/bricks/manifests/_types.ts +9 -0
  445. package/src/shared/bricks/manifests/accordion.manifest.ts +128 -161
  446. package/src/shared/bricks/manifests/all-manifests.ts +16 -0
  447. package/src/shared/bricks/manifests/box.manifest.ts +195 -129
  448. package/src/shared/bricks/manifests/button.manifest.ts +158 -71
  449. package/src/shared/bricks/manifests/card.manifest.ts +200 -28
  450. package/src/shared/bricks/manifests/carousel.manifest.ts +154 -22
  451. package/src/shared/bricks/manifests/footer.manifest.ts +38 -32
  452. package/src/shared/bricks/manifests/form.manifest.ts +122 -7
  453. package/src/shared/bricks/manifests/hero.manifest.ts +103 -18
  454. package/src/shared/bricks/manifests/html.manifest.ts +2 -5
  455. package/src/shared/bricks/manifests/icon.manifest.ts +216 -36
  456. package/src/shared/bricks/manifests/image.manifest.ts +103 -2
  457. package/src/shared/bricks/manifests/images-gallery.manifest.ts +2 -5
  458. package/src/shared/bricks/manifests/map.manifest.ts +2 -5
  459. package/src/shared/bricks/manifests/navbar.manifest.ts +3 -8
  460. package/src/shared/bricks/manifests/sidebar.manifest.ts +2 -5
  461. package/src/shared/bricks/manifests/social-links.manifest.ts +2 -5
  462. package/src/shared/bricks/manifests/spacer.manifest.ts +2 -5
  463. package/src/shared/bricks/manifests/table.manifest.ts +440 -0
  464. package/src/shared/bricks/manifests/tabs.manifest.ts +573 -0
  465. package/src/shared/bricks/manifests/testimonials.manifest.ts +2 -5
  466. package/src/shared/bricks/manifests/text.manifest.ts +31 -10
  467. package/src/shared/bricks/manifests/timeline.manifest.ts +438 -0
  468. package/src/shared/bricks/manifests/video.manifest.ts +2 -5
  469. package/src/shared/bricks/props/color-preset.ts +3 -1
  470. package/src/shared/bricks/props/dynamic.ts +0 -1
  471. package/src/shared/bricks/props/string.ts +1 -1
  472. package/src/shared/bricks.ts +61 -49
  473. package/src/shared/context.ts +1 -0
  474. package/src/shared/datarecords/types.ts +47 -37
  475. package/src/shared/datasources/types.ts +1 -5
  476. package/src/shared/datasources.ts +2 -4
  477. package/src/shared/images.ts +10 -8
  478. package/src/shared/page.ts +0 -5
  479. package/src/shared/site.ts +3 -3
  480. package/src/shared/sitemap.ts +14 -16
  481. package/src/shared/tests/schema-registry.test.ts +12 -0
  482. package/src/shared/theme.ts +1 -4
  483. package/src/shared/utils/llm.ts +13 -12
  484. package/src/shared/utils/schema-registry.ts +82 -0
  485. package/src/shared/utils/schema.ts +18 -3
  486. package/src/shared/utils/tests/schema-registry.test.ts +13 -0
  487. package/src/shared/utils/tests/schema.test.ts +124 -56
  488. package/dist/shared/bricks/props/enum.d.ts +0 -13
  489. package/dist/shared/bricks/props/enum.d.ts.map +0 -1
  490. package/dist/shared/chunk-3YVJ2ELD.js +0 -4
  491. package/dist/shared/chunk-4BTB3MU2.js +0 -4
  492. package/dist/shared/chunk-4WDWJA3N.js +0 -4
  493. package/dist/shared/chunk-5O4Z3YQY.js +0 -4
  494. package/dist/shared/chunk-5YRC3IT3.js +0 -4
  495. package/dist/shared/chunk-6HLU4UI2.js +0 -4
  496. package/dist/shared/chunk-6I3ONVU6.js +0 -4
  497. package/dist/shared/chunk-7A2JNQX3.js +0 -4
  498. package/dist/shared/chunk-7A2JNQX3.js.map +0 -1
  499. package/dist/shared/chunk-A3GF4PYW.js +0 -4
  500. package/dist/shared/chunk-A3GF4PYW.js.map +0 -1
  501. package/dist/shared/chunk-A3K4NUVP.js +0 -4
  502. package/dist/shared/chunk-A3K4NUVP.js.map +0 -1
  503. package/dist/shared/chunk-AFVJZPLS.js +0 -4
  504. package/dist/shared/chunk-AFVJZPLS.js.map +0 -1
  505. package/dist/shared/chunk-AI4GHU7R.js +0 -4
  506. package/dist/shared/chunk-AI4GHU7R.js.map +0 -1
  507. package/dist/shared/chunk-B3EATRFX.js +0 -4
  508. package/dist/shared/chunk-B3EATRFX.js.map +0 -1
  509. package/dist/shared/chunk-CCI4C3TM.js +0 -4
  510. package/dist/shared/chunk-CFF6Q7O7.js +0 -7
  511. package/dist/shared/chunk-CFF6Q7O7.js.map +0 -1
  512. package/dist/shared/chunk-CZRCW5EN.js +0 -4
  513. package/dist/shared/chunk-DCH4ZKWT.js +0 -4
  514. package/dist/shared/chunk-DHI3IBOD.js +0 -4
  515. package/dist/shared/chunk-DQ7PRWTG.js +0 -4
  516. package/dist/shared/chunk-E6XEI7IK.js +0 -4
  517. package/dist/shared/chunk-E6XEI7IK.js.map +0 -1
  518. package/dist/shared/chunk-FLOMNC6J.js +0 -4
  519. package/dist/shared/chunk-FLOMNC6J.js.map +0 -1
  520. package/dist/shared/chunk-G5CJU6RD.js +0 -7
  521. package/dist/shared/chunk-G5CJU6RD.js.map +0 -1
  522. package/dist/shared/chunk-GACHLACT.js +0 -4
  523. package/dist/shared/chunk-GLS7HPIZ.js +0 -4
  524. package/dist/shared/chunk-GOMXZC4B.js +0 -35
  525. package/dist/shared/chunk-GOMXZC4B.js.map +0 -1
  526. package/dist/shared/chunk-GPEMPZXK.js +0 -4
  527. package/dist/shared/chunk-HAGKVQOW.js +0 -4
  528. package/dist/shared/chunk-I3VL6SRH.js +0 -9
  529. package/dist/shared/chunk-I3VL6SRH.js.map +0 -1
  530. package/dist/shared/chunk-IKC3FK7L.js +0 -4
  531. package/dist/shared/chunk-IKC3FK7L.js.map +0 -1
  532. package/dist/shared/chunk-IKHZD2JH.js +0 -4
  533. package/dist/shared/chunk-IKHZD2JH.js.map +0 -1
  534. package/dist/shared/chunk-IUXCWWGO.js +0 -4
  535. package/dist/shared/chunk-JMN3HTZU.js +0 -4
  536. package/dist/shared/chunk-KBHDY425.js +0 -4
  537. package/dist/shared/chunk-KFM6KXSE.js +0 -4
  538. package/dist/shared/chunk-KLD3P5XH.js +0 -4
  539. package/dist/shared/chunk-KO5FPOWZ.js +0 -4
  540. package/dist/shared/chunk-KSEURRVZ.js +0 -4
  541. package/dist/shared/chunk-KYY3PHP7.js +0 -4
  542. package/dist/shared/chunk-NJGXC7D6.js +0 -4
  543. package/dist/shared/chunk-NJGXC7D6.js.map +0 -1
  544. package/dist/shared/chunk-NM5MMPCF.js +0 -4
  545. package/dist/shared/chunk-OGBMYMZD.js +0 -4
  546. package/dist/shared/chunk-OGBMYMZD.js.map +0 -1
  547. package/dist/shared/chunk-OHNYCXPX.js +0 -4
  548. package/dist/shared/chunk-OIY3EPHO.js +0 -4
  549. package/dist/shared/chunk-PIG623TZ.js +0 -4
  550. package/dist/shared/chunk-PIG623TZ.js.map +0 -1
  551. package/dist/shared/chunk-PLSV746R.js +0 -4
  552. package/dist/shared/chunk-PLSV746R.js.map +0 -1
  553. package/dist/shared/chunk-PSCN3VVA.js +0 -4
  554. package/dist/shared/chunk-PSCN3VVA.js.map +0 -1
  555. package/dist/shared/chunk-PSTFJ5IJ.js +0 -4
  556. package/dist/shared/chunk-PSTFJ5IJ.js.map +0 -1
  557. package/dist/shared/chunk-PXI7AHWS.js +0 -4
  558. package/dist/shared/chunk-PXI7AHWS.js.map +0 -1
  559. package/dist/shared/chunk-Q4H4QEMB.js +0 -4
  560. package/dist/shared/chunk-QGYZ7CG5.js +0 -4
  561. package/dist/shared/chunk-QGYZ7CG5.js.map +0 -1
  562. package/dist/shared/chunk-QWGUMKZC.js +0 -4
  563. package/dist/shared/chunk-QX6OGRRT.js +0 -5
  564. package/dist/shared/chunk-QX6OGRRT.js.map +0 -1
  565. package/dist/shared/chunk-R6ATC4TC.js +0 -4
  566. package/dist/shared/chunk-R6ATC4TC.js.map +0 -1
  567. package/dist/shared/chunk-RDZK73KV.js +0 -4
  568. package/dist/shared/chunk-RJYZ5FAR.js +0 -4
  569. package/dist/shared/chunk-SQ5T4AT5.js +0 -6
  570. package/dist/shared/chunk-SQ5T4AT5.js.map +0 -1
  571. package/dist/shared/chunk-SWLUQVK7.js +0 -4
  572. package/dist/shared/chunk-SXHDQ64Z.js +0 -5
  573. package/dist/shared/chunk-SXHDQ64Z.js.map +0 -1
  574. package/dist/shared/chunk-SY6DZLTC.js +0 -4
  575. package/dist/shared/chunk-SY6DZLTC.js.map +0 -1
  576. package/dist/shared/chunk-VEDQV5XO.js +0 -4
  577. package/dist/shared/chunk-W33JMRRN.js +0 -4
  578. package/dist/shared/chunk-WBZW5LVH.js +0 -4
  579. package/dist/shared/chunk-WBZW5LVH.js.map +0 -1
  580. package/dist/shared/chunk-WHTPGWUV.js +0 -4
  581. package/dist/shared/chunk-WYVJE6J5.js +0 -4
  582. package/dist/shared/chunk-WYVJE6J5.js.map +0 -1
  583. package/dist/shared/chunk-ZA3GAB4H.js +0 -9
  584. package/dist/shared/chunk-ZFCUSWMT.js +0 -4
  585. package/dist/shared/chunk-ZQPXQCY2.js +0 -4
  586. package/dist/shared/chunk-ZQPXQCY2.js.map +0 -1
  587. package/dist/shared/chunk-ZTZJHY4E.js +0 -4
  588. package/src/shared/bricks/props/enum.ts +0 -38
  589. /package/dist/shared/bricks/{props/enum.js.map → manifests/_types.js.map} +0 -0
@@ -0,0 +1,618 @@
1
+ /*! Upstart.gg - Copyright (C) 2024 Flippable - https://github.com/upstart-gg/upstart/blob/main/LICENSE */
2
+
3
+ import {
4
+ defineProps
5
+ } from "./chunk-BHC2A43S.js";
6
+ import {
7
+ defineBrickManifest
8
+ } from "./chunk-EVLRH6VG.js";
9
+ import {
10
+ loopRef
11
+ } from "./chunk-IQIISR22.js";
12
+ import {
13
+ directionRef
14
+ } from "./chunk-Y74LZNND.js";
15
+ import {
16
+ shadowRef
17
+ } from "./chunk-TNMNMYOB.js";
18
+ import {
19
+ borderRef,
20
+ roundingRef
21
+ } from "./chunk-NTLAKMMQ.js";
22
+ import {
23
+ colorPresetRef
24
+ } from "./chunk-TFGGYU6Y.js";
25
+ import {
26
+ cssLengthRef
27
+ } from "./chunk-BPBKHEQ5.js";
28
+ import {
29
+ alignItemsRef,
30
+ justifyContentRef
31
+ } from "./chunk-ZLYIRH2B.js";
32
+
33
+ // src/shared/bricks/manifests/box.manifest.ts
34
+ import { Type } from "@sinclair/typebox";
35
+ import { RxBox } from "react-icons/rx";
36
+ var manifest = defineBrickManifest({
37
+ type: "box",
38
+ category: "container",
39
+ name: "Box",
40
+ description: "A container for stacking bricks horizontally or vertically.",
41
+ aiInstructions: `Use the box component as a flexible container for organizing and arranging multiple bricks in horizontal or vertical layouts.
42
+
43
+ WHEN TO USE:
44
+ - Grouping related content elements (text + image + button)
45
+ - Creating card-like layouts with multiple components
46
+ - Building responsive grid systems with wrapping
47
+ - Organizing form elements or input groups
48
+ - Displaying repeated data from queries (products, team members, blog posts)
49
+ - Creating structured layouts with consistent spacing
50
+
51
+ LAYOUT GUIDELINES:
52
+ - direction: "flex-col" for vertical stacking, "flex-row" for horizontal arrangement
53
+ - gap: "0.5rem" for tight spacing, "1rem" for standard, "2rem" for spacious layouts
54
+ - padding: "1rem" for standard padding, "2rem" for generous spacing, "0" for edge-to-edge
55
+ - wrap: true for responsive grids that wrap on smaller screens, false for fixed layouts
56
+ - justifyContent: "justify-start" for left-align, "justify-center" for center, "justify-between" for space-between
57
+ - alignItems: "items-stretch" for equal heights, "items-center" for center-align, "items-start" for top-align
58
+
59
+ STYLING OPTIONS:
60
+ - colorPreset: Use light backgrounds like "primary-50", "neutral-100", "secondary-100" for content containers
61
+ - rounding: "rounded-md" for standard, "rounded-lg" for friendly, "rounded-xl"/"rounded-2xl" for modern
62
+ - border: Add subtle borders with "border" width and colors like "border-gray-200", "border-primary-300"
63
+ - shadow: "shadow-sm" for subtle depth, "shadow-md" for cards, "shadow-lg" for prominence
64
+
65
+ CONTENT RULES:
66
+ - Must contain at least 2 child bricks to be useful
67
+ - Cannot contain other box components as direct children
68
+ - Commonly contains: text, image, button, icon combinations
69
+ - Perfect for repeating patterns using loop data
70
+
71
+ DYNAMIC CONTENT:
72
+ - Use loop property to repeat the box itself over data queries
73
+ - Template variables work in all child components: "{{ product.name}}", "{{user.email}}"
74
+ - Great for: product catalogs, team directories, blog listings
75
+
76
+ AVOID:
77
+ - Single child elements (use individual brick instead)
78
+ - Nesting boxes inside boxes (use single box with proper layout)
79
+ - Complex nested structures (break into separate boxes)`,
80
+ isContainer: true,
81
+ defaultWidth: {
82
+ desktop: "auto",
83
+ mobile: "100%"
84
+ },
85
+ defaultHeight: {
86
+ desktop: "auto"
87
+ },
88
+ icon: RxBox,
89
+ props: defineProps({
90
+ colorPreset: Type.Optional(
91
+ colorPresetRef({
92
+ title: "Color"
93
+ })
94
+ ),
95
+ direction: directionRef({
96
+ default: "flex-col",
97
+ title: "Direction",
98
+ description: "Direction of the box layout"
99
+ }),
100
+ justifyContent: Type.Optional(
101
+ justifyContentRef({
102
+ default: "justify-center"
103
+ })
104
+ ),
105
+ alignItems: Type.Optional(
106
+ alignItemsRef({
107
+ default: "items-stretch"
108
+ })
109
+ ),
110
+ gap: Type.Optional(
111
+ cssLengthRef({
112
+ title: "Gap",
113
+ default: "1rem",
114
+ description: "Gap between children bricks.",
115
+ "ai:instructions": "Can be a tailwind gap class like 'gap-1' or 'gap-2', or a custom value like '10px'",
116
+ "ui:placeholder": "Not specified",
117
+ "ui:styleId": "styles:gap"
118
+ })
119
+ ),
120
+ padding: Type.Optional(
121
+ cssLengthRef({
122
+ default: "1rem",
123
+ description: "Padding inside the box.",
124
+ "ai:instructions": "Use only a single value like '1rem' or '10px'",
125
+ title: "Padding",
126
+ "ui:placeholder": "Not specified",
127
+ "ui:styleId": "styles:padding"
128
+ })
129
+ ),
130
+ wrap: Type.Optional(
131
+ Type.Boolean({
132
+ title: "Wrap",
133
+ description: "Wrap bricks if they overflow the section.",
134
+ default: false,
135
+ "ui:styleId": "styles:wrap"
136
+ })
137
+ ),
138
+ rounding: Type.Optional(
139
+ roundingRef({
140
+ default: "rounded-md"
141
+ })
142
+ ),
143
+ border: Type.Optional(borderRef()),
144
+ shadow: Type.Optional(shadowRef()),
145
+ loop: Type.Optional(loopRef()),
146
+ $children: Type.Array(Type.Any(), {
147
+ "ui:field": "hidden",
148
+ description: "List of nested bricks",
149
+ default: [],
150
+ examples: [
151
+ [
152
+ {
153
+ type: "text",
154
+ props: {
155
+ content: "Hello World"
156
+ }
157
+ },
158
+ {
159
+ type: "image",
160
+ props: {
161
+ src: "https://via.placeholder.com/150",
162
+ alt: "Placeholder Image"
163
+ }
164
+ }
165
+ ]
166
+ ]
167
+ })
168
+ })
169
+ });
170
+ var examples = [
171
+ // BASIC LAYOUTS
172
+ {
173
+ description: "Simple vertical layout - Basic text and image combination",
174
+ type: "box",
175
+ props: {
176
+ direction: "flex-col",
177
+ gap: "1rem",
178
+ padding: "1.5rem",
179
+ $children: [
180
+ {
181
+ type: "text",
182
+ props: {
183
+ content: "<h3>Welcome to Our Service</h3><p>We provide innovative solutions for modern businesses.</p>"
184
+ }
185
+ },
186
+ {
187
+ type: "image",
188
+ props: {
189
+ src: "https://via.placeholder.com/300x200",
190
+ alt: "Service showcase"
191
+ }
192
+ },
193
+ {
194
+ type: "button",
195
+ props: {
196
+ label: "Learn More",
197
+ link: "/services"
198
+ }
199
+ }
200
+ ]
201
+ }
202
+ },
203
+ {
204
+ description: "Horizontal layout with wrapping - Perfect for responsive image galleries",
205
+ type: "box",
206
+ props: {
207
+ direction: "flex-row",
208
+ gap: "1rem",
209
+ wrap: true,
210
+ justifyContent: "justify-center",
211
+ padding: "1rem",
212
+ $children: [
213
+ {
214
+ type: "image",
215
+ props: {
216
+ src: "https://via.placeholder.com/150",
217
+ alt: "Gallery image 1"
218
+ }
219
+ },
220
+ {
221
+ type: "image",
222
+ props: {
223
+ src: "https://via.placeholder.com/150",
224
+ alt: "Gallery image 2"
225
+ }
226
+ },
227
+ {
228
+ type: "image",
229
+ props: {
230
+ src: "https://via.placeholder.com/150",
231
+ alt: "Gallery image 3"
232
+ }
233
+ },
234
+ {
235
+ type: "image",
236
+ props: {
237
+ src: "https://via.placeholder.com/150",
238
+ alt: "Gallery image 4"
239
+ }
240
+ }
241
+ ]
242
+ }
243
+ },
244
+ // STYLED CONTAINERS
245
+ {
246
+ description: "Content card with background and border - Professional presentation style",
247
+ type: "box",
248
+ props: {
249
+ direction: "flex-col",
250
+ gap: "1rem",
251
+ padding: "2rem",
252
+ colorPreset: { color: "primary-50" },
253
+ border: { width: "border", color: "border-primary-200" },
254
+ rounding: "rounded-lg",
255
+ shadow: "shadow-md",
256
+ $children: [
257
+ {
258
+ type: "text",
259
+ props: {
260
+ content: "<h3>Featured Article</h3><p>Discover the latest trends in technology and innovation that are shaping our future.</p>"
261
+ }
262
+ },
263
+ {
264
+ type: "image",
265
+ props: {
266
+ src: "https://via.placeholder.com/400x250",
267
+ alt: "Technology trends"
268
+ }
269
+ },
270
+ {
271
+ type: "button",
272
+ props: {
273
+ label: "Read Full Article",
274
+ link: "/articles/tech-trends"
275
+ }
276
+ }
277
+ ]
278
+ }
279
+ },
280
+ // DYNAMIC CONTENT EXAMPLES
281
+ {
282
+ description: "Employee directory using dynamic data - Shows team member profiles",
283
+ type: "box",
284
+ props: {
285
+ direction: "flex-col",
286
+ gap: "1.5rem",
287
+ padding: "2rem",
288
+ colorPreset: { color: "neutral-100" },
289
+ rounding: "rounded-lg",
290
+ border: { width: "border", color: "border-neutral-300" },
291
+ loop: { over: "allEmployees" },
292
+ $children: [
293
+ {
294
+ type: "image",
295
+ props: {
296
+ src: "{{allEmployees.photo}}",
297
+ alt: "Photo of {{allEmployees.name}}"
298
+ }
299
+ },
300
+ {
301
+ type: "text",
302
+ props: {
303
+ content: "<h3>{{allEmployees.name}}</h3><p><strong>{{allEmployees.position}}</strong></p><p>{{allEmployees.department}} \u2022 {{allEmployees.email}}</p>"
304
+ }
305
+ },
306
+ {
307
+ type: "button",
308
+ props: {
309
+ label: "Contact {{allEmployees.name}}",
310
+ link: "mailto:{{allEmployees.email}}"
311
+ }
312
+ }
313
+ ]
314
+ }
315
+ },
316
+ {
317
+ description: "Blog post cards with horizontal layout - Great for article previews",
318
+ type: "box",
319
+ props: {
320
+ direction: "flex-row",
321
+ gap: "2rem",
322
+ padding: "1.5rem",
323
+ justifyContent: "justify-start",
324
+ alignItems: "items-stretch",
325
+ colorPreset: { color: "secondary-50" },
326
+ rounding: "rounded-lg",
327
+ shadow: "shadow-sm",
328
+ loop: { over: "blogPosts" },
329
+ $children: [
330
+ {
331
+ type: "image",
332
+ props: {
333
+ src: "{{blogPosts.featuredImage}}",
334
+ alt: "{{blogPosts.title}}"
335
+ }
336
+ },
337
+ {
338
+ type: "text",
339
+ props: {
340
+ content: "<h4>{{blogPosts.title}}</h4><p>{{blogPosts.excerpt}}</p><p><em>By {{blogPosts.author}} \u2022 {{blogPosts.publishDate}}</em></p>"
341
+ }
342
+ },
343
+ {
344
+ type: "button",
345
+ props: {
346
+ label: "Read More",
347
+ link: "/blog/{{blogPosts.slug}}"
348
+ }
349
+ }
350
+ ]
351
+ }
352
+ },
353
+ {
354
+ description: "Product showcase cards with pricing - Perfect for e-commerce displays",
355
+ type: "box",
356
+ props: {
357
+ direction: "flex-col",
358
+ gap: "1rem",
359
+ padding: "1.5rem",
360
+ justifyContent: "justify-center",
361
+ alignItems: "items-center",
362
+ colorPreset: { color: "accent-50" },
363
+ border: { width: "border-2", color: "border-accent-200" },
364
+ rounding: "rounded-xl",
365
+ shadow: "shadow-md",
366
+ loop: { over: "featuredProducts" },
367
+ $children: [
368
+ {
369
+ type: "image",
370
+ props: {
371
+ src: "{{featuredProducts.image}}",
372
+ alt: "{{featuredProducts.name}}"
373
+ }
374
+ },
375
+ {
376
+ type: "text",
377
+ props: {
378
+ content: "<h3>{{featuredProducts.name}}</h3><p>{{featuredProducts.description}}</p><p><strong>${{featuredProducts.price}}</strong></p>"
379
+ }
380
+ },
381
+ {
382
+ type: "button",
383
+ props: {
384
+ label: "Add to Cart",
385
+ link: "/cart/add/{{featuredProducts.id}}"
386
+ }
387
+ }
388
+ ]
389
+ }
390
+ },
391
+ // RESPONSIVE GRID LAYOUTS
392
+ {
393
+ description: "Team members with wrapping - Responsive grid that adapts to screen size",
394
+ type: "box",
395
+ props: {
396
+ direction: "flex-row",
397
+ gap: "2rem",
398
+ padding: "2rem",
399
+ wrap: true,
400
+ justifyContent: "justify-center",
401
+ alignItems: "items-start",
402
+ colorPreset: { color: "secondary-100" },
403
+ rounding: "rounded-lg",
404
+ loop: { over: "teamMembers" },
405
+ $children: [
406
+ {
407
+ type: "image",
408
+ props: {
409
+ src: "{{teamMembers.avatar}}",
410
+ alt: "{{teamMembers.fullName}}"
411
+ }
412
+ },
413
+ {
414
+ type: "text",
415
+ props: {
416
+ content: "<h4>{{teamMembers.fullName}}</h4><p><strong>{{teamMembers.role}}</strong></p><p>{{teamMembers.bio}}</p>"
417
+ }
418
+ },
419
+ {
420
+ type: "button",
421
+ props: {
422
+ label: "View Profile",
423
+ link: "/team/{{teamMembers.slug}}"
424
+ }
425
+ }
426
+ ]
427
+ }
428
+ },
429
+ {
430
+ description: "Event listings with accent styling - Prominent call-to-action design",
431
+ type: "box",
432
+ props: {
433
+ direction: "flex-col",
434
+ gap: "1.25rem",
435
+ padding: "2.5rem",
436
+ alignItems: "items-center",
437
+ colorPreset: { color: "accent-100" },
438
+ border: { width: "border-2", color: "border-accent-300" },
439
+ rounding: "rounded-lg",
440
+ shadow: "shadow-lg",
441
+ loop: { over: "upcomingEvents" },
442
+ $children: [
443
+ {
444
+ type: "icon",
445
+ props: {
446
+ icon: "mdi:calendar-event",
447
+ size: "2rem",
448
+ color: "#f59e0b"
449
+ }
450
+ },
451
+ {
452
+ type: "text",
453
+ props: {
454
+ content: "<h3>{{upcomingEvents.title}}</h3><p><strong>{{upcomingEvents.date}} at {{upcomingEvents.time}}</strong></p><p>{{upcomingEvents.venue}} \u2022 {{upcomingEvents.city}}</p><p>{{upcomingEvents.description}}</p>"
455
+ }
456
+ },
457
+ {
458
+ type: "button",
459
+ props: {
460
+ label: "Register Now",
461
+ link: "/events/{{upcomingEvents.slug}}/register"
462
+ }
463
+ }
464
+ ]
465
+ }
466
+ },
467
+ // TESTIMONIALS & REVIEWS
468
+ {
469
+ description: "Customer testimonials with star ratings - Social proof presentation",
470
+ type: "box",
471
+ props: {
472
+ direction: "flex-col",
473
+ gap: "1rem",
474
+ padding: "3rem",
475
+ justifyContent: "justify-center",
476
+ alignItems: "items-center",
477
+ colorPreset: { color: "neutral-50" },
478
+ shadow: "shadow-lg",
479
+ rounding: "rounded-2xl",
480
+ loop: { over: "customerTestimonials" },
481
+ $children: [
482
+ {
483
+ type: "icon",
484
+ props: {
485
+ icon: "mdi:format-quote-open",
486
+ size: "2rem",
487
+ color: "#6b7280"
488
+ }
489
+ },
490
+ {
491
+ type: "text",
492
+ props: {
493
+ content: '<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}} \u2022 {{customerTestimonials.position}}</p>'
494
+ }
495
+ },
496
+ {
497
+ type: "icon",
498
+ props: {
499
+ icon: "mdi:star",
500
+ size: "1.5rem",
501
+ color: "#fbbf24"
502
+ }
503
+ }
504
+ ]
505
+ }
506
+ },
507
+ {
508
+ description: "Portfolio project showcase - Creative work presentation with client details",
509
+ type: "box",
510
+ props: {
511
+ direction: "flex-row",
512
+ gap: "1.5rem",
513
+ padding: "2rem",
514
+ alignItems: "items-start",
515
+ justifyContent: "justify-start",
516
+ colorPreset: { color: "primary-50" },
517
+ border: { width: "border", color: "border-primary-200" },
518
+ rounding: "rounded-lg",
519
+ loop: { over: "portfolioProjects" },
520
+ $children: [
521
+ {
522
+ type: "image",
523
+ props: {
524
+ src: "{{portfolioProjects.thumbnail}}",
525
+ alt: "{{portfolioProjects.projectName}}"
526
+ }
527
+ },
528
+ {
529
+ type: "text",
530
+ props: {
531
+ content: "<h4>{{portfolioProjects.projectName}}</h4><p><strong>{{portfolioProjects.client}}</strong></p><p>{{portfolioProjects.category}} \u2022 {{portfolioProjects.year}}</p><p>{{portfolioProjects.shortDescription}}</p>"
532
+ }
533
+ },
534
+ {
535
+ type: "button",
536
+ props: {
537
+ label: "View Project",
538
+ link: "/portfolio/{{portfolioProjects.slug}}"
539
+ }
540
+ }
541
+ ]
542
+ }
543
+ },
544
+ // NEWS & ARTICLES
545
+ {
546
+ description: "News article previews with categories - Clean editorial layout",
547
+ type: "box",
548
+ props: {
549
+ direction: "flex-col",
550
+ gap: "1.5rem",
551
+ padding: "2rem",
552
+ colorPreset: { color: "neutral-100" },
553
+ border: { width: "border", color: "border-neutral-300" },
554
+ rounding: "rounded-md",
555
+ loop: { over: "latestNews" },
556
+ $children: [
557
+ {
558
+ type: "text",
559
+ props: {
560
+ content: "<h3>{{latestNews.headline}}</h3><p><strong>{{latestNews.category}}</strong> \u2022 {{latestNews.publishedDate}}</p><p>{{latestNews.summary}}</p>"
561
+ }
562
+ },
563
+ {
564
+ type: "button",
565
+ props: {
566
+ label: "Read Full Article",
567
+ link: "/news/{{latestNews.slug}}"
568
+ }
569
+ }
570
+ ]
571
+ }
572
+ },
573
+ // SERVICE OFFERINGS
574
+ {
575
+ description: "Service packages with icons and pricing - Professional service presentation",
576
+ type: "box",
577
+ props: {
578
+ direction: "flex-col",
579
+ gap: "1rem",
580
+ padding: "2rem",
581
+ justifyContent: "justify-center",
582
+ alignItems: "items-center",
583
+ colorPreset: { color: "secondary-200" },
584
+ rounding: "rounded-xl",
585
+ shadow: "shadow-md",
586
+ loop: { over: "companyServices" },
587
+ $children: [
588
+ {
589
+ type: "icon",
590
+ props: {
591
+ icon: "{{companyServices.iconName}}",
592
+ size: "2.5rem",
593
+ color: "{{companyServices.iconColor}}"
594
+ }
595
+ },
596
+ {
597
+ type: "text",
598
+ props: {
599
+ content: "<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>"
600
+ }
601
+ },
602
+ {
603
+ type: "button",
604
+ props: {
605
+ label: "Learn More",
606
+ link: "/services/{{companyServices.serviceSlug}}"
607
+ }
608
+ }
609
+ ]
610
+ }
611
+ }
612
+ ];
613
+
614
+ export {
615
+ manifest,
616
+ examples
617
+ };
618
+ //# sourceMappingURL=chunk-GFAQWQER.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/shared/bricks/manifests/box.manifest.ts"],"sourcesContent":["import { defineBrickManifest } from \"~/shared/brick-manifest\";\nimport { defineProps } from \"../props/helpers\";\nimport { Type } from \"@sinclair/typebox\";\nimport { borderRef, roundingRef } from \"../props/border\";\nimport { shadowRef } from \"../props/effects\";\nimport { cssLengthRef } from \"../props/css-length\";\nimport { directionRef } from \"../props/direction\";\nimport { RxBox } from \"react-icons/rx\";\nimport { alignItemsRef, justifyContentRef } from \"../props/align\";\nimport { colorPresetRef } from \"../props/color-preset\";\nimport { loopRef } from \"../props/dynamic\";\nimport type { BrickExample } from \"./_types\";\n\n// Generic container can hold any type of array data source\nexport const manifest = defineBrickManifest({\n type: \"box\",\n category: \"container\",\n name: \"Box\",\n description: \"A container for stacking bricks horizontally or vertically.\",\n aiInstructions: `Use the box component as a flexible container for organizing and arranging multiple bricks in horizontal or vertical layouts.\n\nWHEN TO USE:\n- Grouping related content elements (text + image + button)\n- Creating card-like layouts with multiple components\n- Building responsive grid systems with wrapping\n- Organizing form elements or input groups\n- Displaying repeated data from queries (products, team members, blog posts)\n- Creating structured layouts with consistent spacing\n\nLAYOUT GUIDELINES:\n- direction: \"flex-col\" for vertical stacking, \"flex-row\" for horizontal arrangement\n- gap: \"0.5rem\" for tight spacing, \"1rem\" for standard, \"2rem\" for spacious layouts\n- padding: \"1rem\" for standard padding, \"2rem\" for generous spacing, \"0\" for edge-to-edge\n- wrap: true for responsive grids that wrap on smaller screens, false for fixed layouts\n- justifyContent: \"justify-start\" for left-align, \"justify-center\" for center, \"justify-between\" for space-between\n- alignItems: \"items-stretch\" for equal heights, \"items-center\" for center-align, \"items-start\" for top-align\n\nSTYLING OPTIONS:\n- colorPreset: Use light backgrounds like \"primary-50\", \"neutral-100\", \"secondary-100\" for content containers\n- rounding: \"rounded-md\" for standard, \"rounded-lg\" for friendly, \"rounded-xl\"/\"rounded-2xl\" for modern\n- border: Add subtle borders with \"border\" width and colors like \"border-gray-200\", \"border-primary-300\"\n- shadow: \"shadow-sm\" for subtle depth, \"shadow-md\" for cards, \"shadow-lg\" for prominence\n\nCONTENT RULES:\n- Must contain at least 2 child bricks to be useful\n- Cannot contain other box components as direct children\n- Commonly contains: text, image, button, icon combinations\n- Perfect for repeating patterns using loop data\n\nDYNAMIC CONTENT:\n- Use loop property to repeat the box itself over data queries\n- Template variables work in all child components: \"{{ product.name}}\", \"{{user.email}}\"\n- Great for: product catalogs, team directories, blog listings\n\nAVOID:\n- Single child elements (use individual brick instead)\n- Nesting boxes inside boxes (use single box with proper layout)\n- Complex nested structures (break into separate boxes)`,\n isContainer: true,\n defaultWidth: {\n desktop: \"auto\",\n mobile: \"100%\",\n },\n defaultHeight: {\n desktop: \"auto\",\n },\n icon: RxBox,\n props: defineProps({\n colorPreset: Type.Optional(\n colorPresetRef({\n title: \"Color\",\n }),\n ),\n direction: directionRef({\n default: \"flex-col\",\n title: \"Direction\",\n description: \"Direction of the box layout\",\n }),\n justifyContent: Type.Optional(\n justifyContentRef({\n default: \"justify-center\",\n }),\n ),\n alignItems: Type.Optional(\n alignItemsRef({\n default: \"items-stretch\",\n }),\n ),\n gap: Type.Optional(\n cssLengthRef({\n title: \"Gap\",\n default: \"1rem\",\n description: \"Gap between children bricks.\",\n \"ai:instructions\":\n \"Can be a tailwind gap class like 'gap-1' or 'gap-2', or a custom value like '10px'\",\n \"ui:placeholder\": \"Not specified\",\n \"ui:styleId\": \"styles:gap\",\n }),\n ),\n padding: Type.Optional(\n cssLengthRef({\n default: \"1rem\",\n description: \"Padding inside the box.\",\n \"ai:instructions\": \"Use only a single value like '1rem' or '10px'\",\n title: \"Padding\",\n \"ui:placeholder\": \"Not specified\",\n \"ui:styleId\": \"styles:padding\",\n }),\n ),\n wrap: Type.Optional(\n Type.Boolean({\n title: \"Wrap\",\n description: \"Wrap bricks if they overflow the section.\",\n default: false,\n \"ui:styleId\": \"styles:wrap\",\n }),\n ),\n rounding: Type.Optional(\n roundingRef({\n default: \"rounded-md\",\n }),\n ),\n border: Type.Optional(borderRef()),\n shadow: Type.Optional(shadowRef()),\n loop: Type.Optional(loopRef()),\n $children: Type.Array(Type.Any(), {\n \"ui:field\": \"hidden\",\n description: \"List of nested bricks\",\n default: [],\n examples: [\n [\n {\n type: \"text\",\n props: {\n content: \"Hello World\",\n },\n },\n {\n type: \"image\",\n props: {\n src: \"https://via.placeholder.com/150\",\n alt: \"Placeholder Image\",\n },\n },\n ],\n ],\n }),\n }),\n});\n\nexport type Manifest = typeof manifest;\n\nexport const examples: BrickExample<Manifest>[] = [\n // BASIC LAYOUTS\n {\n description: \"Simple vertical layout - Basic text and image combination\",\n type: \"box\",\n props: {\n direction: \"flex-col\",\n gap: \"1rem\",\n padding: \"1.5rem\",\n $children: [\n {\n type: \"text\",\n props: {\n content:\n \"<h3>Welcome to Our Service</h3><p>We provide innovative solutions for modern businesses.</p>\",\n },\n },\n {\n type: \"image\",\n props: {\n src: \"https://via.placeholder.com/300x200\",\n alt: \"Service showcase\",\n },\n },\n {\n type: \"button\",\n props: {\n label: \"Learn More\",\n link: \"/services\",\n },\n },\n ],\n },\n },\n\n {\n description: \"Horizontal layout with wrapping - Perfect for responsive image galleries\",\n type: \"box\",\n props: {\n direction: \"flex-row\",\n gap: \"1rem\",\n wrap: true,\n justifyContent: \"justify-center\",\n padding: \"1rem\",\n $children: [\n {\n type: \"image\",\n props: {\n src: \"https://via.placeholder.com/150\",\n alt: \"Gallery image 1\",\n },\n },\n {\n type: \"image\",\n props: {\n src: \"https://via.placeholder.com/150\",\n alt: \"Gallery image 2\",\n },\n },\n {\n type: \"image\",\n props: {\n src: \"https://via.placeholder.com/150\",\n alt: \"Gallery image 3\",\n },\n },\n {\n type: \"image\",\n props: {\n src: \"https://via.placeholder.com/150\",\n alt: \"Gallery image 4\",\n },\n },\n ],\n },\n },\n\n // STYLED CONTAINERS\n {\n description: \"Content card with background and border - Professional presentation style\",\n type: \"box\",\n props: {\n direction: \"flex-col\",\n gap: \"1rem\",\n padding: \"2rem\",\n colorPreset: { color: \"primary-50\" },\n border: { width: \"border\", color: \"border-primary-200\" },\n rounding: \"rounded-lg\",\n shadow: \"shadow-md\",\n $children: [\n {\n type: \"text\",\n props: {\n content:\n \"<h3>Featured Article</h3><p>Discover the latest trends in technology and innovation that are shaping our future.</p>\",\n },\n },\n {\n type: \"image\",\n props: {\n src: \"https://via.placeholder.com/400x250\",\n alt: \"Technology trends\",\n },\n },\n {\n type: \"button\",\n props: {\n label: \"Read Full Article\",\n link: \"/articles/tech-trends\",\n },\n },\n ],\n },\n },\n\n // DYNAMIC CONTENT EXAMPLES\n {\n description: \"Employee directory using dynamic data - Shows team member profiles\",\n type: \"box\",\n props: {\n direction: \"flex-col\",\n gap: \"1.5rem\",\n padding: \"2rem\",\n colorPreset: { color: \"neutral-100\" },\n rounding: \"rounded-lg\",\n border: { width: \"border\", color: \"border-neutral-300\" },\n loop: { over: \"allEmployees\" },\n $children: [\n {\n type: \"image\",\n props: {\n src: \"{{allEmployees.photo}}\",\n alt: \"Photo of {{allEmployees.name}}\",\n },\n },\n {\n type: \"text\",\n props: {\n content:\n \"<h3>{{allEmployees.name}}</h3><p><strong>{{allEmployees.position}}</strong></p><p>{{allEmployees.department}} • {{allEmployees.email}}</p>\",\n },\n },\n {\n type: \"button\",\n props: {\n label: \"Contact {{allEmployees.name}}\",\n link: \"mailto:{{allEmployees.email}}\",\n },\n },\n ],\n },\n },\n\n {\n description: \"Blog post cards with horizontal layout - Great for article previews\",\n type: \"box\",\n props: {\n direction: \"flex-row\",\n gap: \"2rem\",\n padding: \"1.5rem\",\n justifyContent: \"justify-start\",\n alignItems: \"items-stretch\",\n colorPreset: { color: \"secondary-50\" },\n rounding: \"rounded-lg\",\n shadow: \"shadow-sm\",\n loop: { over: \"blogPosts\" },\n $children: [\n {\n type: \"image\",\n props: {\n src: \"{{blogPosts.featuredImage}}\",\n alt: \"{{blogPosts.title}}\",\n },\n },\n {\n type: \"text\",\n props: {\n content:\n \"<h4>{{blogPosts.title}}</h4><p>{{blogPosts.excerpt}}</p><p><em>By {{blogPosts.author}} • {{blogPosts.publishDate}}</em></p>\",\n },\n },\n {\n type: \"button\",\n props: {\n label: \"Read More\",\n link: \"/blog/{{blogPosts.slug}}\",\n },\n },\n ],\n },\n },\n\n {\n description: \"Product showcase cards with pricing - Perfect for e-commerce displays\",\n type: \"box\",\n props: {\n direction: \"flex-col\",\n gap: \"1rem\",\n padding: \"1.5rem\",\n justifyContent: \"justify-center\",\n alignItems: \"items-center\",\n colorPreset: { color: \"accent-50\" },\n border: { width: \"border-2\", color: \"border-accent-200\" },\n rounding: \"rounded-xl\",\n shadow: \"shadow-md\",\n loop: { over: \"featuredProducts\" },\n $children: [\n {\n type: \"image\",\n props: {\n src: \"{{featuredProducts.image}}\",\n alt: \"{{featuredProducts.name}}\",\n },\n },\n {\n type: \"text\",\n props: {\n content:\n \"<h3>{{featuredProducts.name}}</h3><p>{{featuredProducts.description}}</p><p><strong>${{featuredProducts.price}}</strong></p>\",\n },\n },\n {\n type: \"button\",\n props: {\n label: \"Add to Cart\",\n link: \"/cart/add/{{featuredProducts.id}}\",\n },\n },\n ],\n },\n },\n\n // RESPONSIVE GRID LAYOUTS\n {\n description: \"Team members with wrapping - Responsive grid that adapts to screen size\",\n type: \"box\",\n props: {\n direction: \"flex-row\",\n gap: \"2rem\",\n padding: \"2rem\",\n wrap: true,\n justifyContent: \"justify-center\",\n alignItems: \"items-start\",\n colorPreset: { color: \"secondary-100\" },\n rounding: \"rounded-lg\",\n loop: { over: \"teamMembers\" },\n $children: [\n {\n type: \"image\",\n props: {\n src: \"{{teamMembers.avatar}}\",\n alt: \"{{teamMembers.fullName}}\",\n },\n },\n {\n type: \"text\",\n props: {\n content:\n \"<h4>{{teamMembers.fullName}}</h4><p><strong>{{teamMembers.role}}</strong></p><p>{{teamMembers.bio}}</p>\",\n },\n },\n {\n type: \"button\",\n props: {\n label: \"View Profile\",\n link: \"/team/{{teamMembers.slug}}\",\n },\n },\n ],\n },\n },\n\n {\n description: \"Event listings with accent styling - Prominent call-to-action design\",\n type: \"box\",\n props: {\n direction: \"flex-col\",\n gap: \"1.25rem\",\n padding: \"2.5rem\",\n alignItems: \"items-center\",\n colorPreset: { color: \"accent-100\" },\n border: { width: \"border-2\", color: \"border-accent-300\" },\n rounding: \"rounded-lg\",\n shadow: \"shadow-lg\",\n loop: { over: \"upcomingEvents\" },\n $children: [\n {\n type: \"icon\",\n props: {\n icon: \"mdi:calendar-event\",\n size: \"2rem\",\n color: \"#f59e0b\",\n },\n },\n {\n type: \"text\",\n props: {\n content:\n \"<h3>{{upcomingEvents.title}}</h3><p><strong>{{upcomingEvents.date}} at {{upcomingEvents.time}}</strong></p><p>{{upcomingEvents.venue}} • {{upcomingEvents.city}}</p><p>{{upcomingEvents.description}}</p>\",\n },\n },\n {\n type: \"button\",\n props: {\n label: \"Register Now\",\n link: \"/events/{{upcomingEvents.slug}}/register\",\n },\n },\n ],\n },\n },\n\n // TESTIMONIALS & REVIEWS\n {\n description: \"Customer testimonials with star ratings - Social proof presentation\",\n type: \"box\",\n props: {\n direction: \"flex-col\",\n gap: \"1rem\",\n padding: \"3rem\",\n justifyContent: \"justify-center\",\n alignItems: \"items-center\",\n colorPreset: { color: \"neutral-50\" },\n shadow: \"shadow-lg\",\n rounding: \"rounded-2xl\",\n loop: { over: \"customerTestimonials\" },\n $children: [\n {\n type: \"icon\",\n props: {\n icon: \"mdi:format-quote-open\",\n size: \"2rem\",\n color: \"#6b7280\",\n },\n },\n {\n type: \"text\",\n props: {\n content:\n '<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>',\n },\n },\n {\n type: \"icon\",\n props: {\n icon: \"mdi:star\",\n size: \"1.5rem\",\n color: \"#fbbf24\",\n },\n },\n ],\n },\n },\n\n {\n description: \"Portfolio project showcase - Creative work presentation with client details\",\n type: \"box\",\n props: {\n direction: \"flex-row\",\n gap: \"1.5rem\",\n padding: \"2rem\",\n alignItems: \"items-start\",\n justifyContent: \"justify-start\",\n colorPreset: { color: \"primary-50\" },\n border: { width: \"border\", color: \"border-primary-200\" },\n rounding: \"rounded-lg\",\n loop: { over: \"portfolioProjects\" },\n $children: [\n {\n type: \"image\",\n props: {\n src: \"{{portfolioProjects.thumbnail}}\",\n alt: \"{{portfolioProjects.projectName}}\",\n },\n },\n {\n type: \"text\",\n props: {\n content:\n \"<h4>{{portfolioProjects.projectName}}</h4><p><strong>{{portfolioProjects.client}}</strong></p><p>{{portfolioProjects.category}} • {{portfolioProjects.year}}</p><p>{{portfolioProjects.shortDescription}}</p>\",\n },\n },\n {\n type: \"button\",\n props: {\n label: \"View Project\",\n link: \"/portfolio/{{portfolioProjects.slug}}\",\n },\n },\n ],\n },\n },\n\n // NEWS & ARTICLES\n {\n description: \"News article previews with categories - Clean editorial layout\",\n type: \"box\",\n props: {\n direction: \"flex-col\",\n gap: \"1.5rem\",\n padding: \"2rem\",\n colorPreset: { color: \"neutral-100\" },\n border: { width: \"border\", color: \"border-neutral-300\" },\n rounding: \"rounded-md\",\n loop: { over: \"latestNews\" },\n $children: [\n {\n type: \"text\",\n props: {\n content:\n \"<h3>{{latestNews.headline}}</h3><p><strong>{{latestNews.category}}</strong> • {{latestNews.publishedDate}}</p><p>{{latestNews.summary}}</p>\",\n },\n },\n {\n type: \"button\",\n props: {\n label: \"Read Full Article\",\n link: \"/news/{{latestNews.slug}}\",\n },\n },\n ],\n },\n },\n\n // SERVICE OFFERINGS\n {\n description: \"Service packages with icons and pricing - Professional service presentation\",\n type: \"box\",\n props: {\n direction: \"flex-col\",\n gap: \"1rem\",\n padding: \"2rem\",\n justifyContent: \"justify-center\",\n alignItems: \"items-center\",\n colorPreset: { color: \"secondary-200\" },\n rounding: \"rounded-xl\",\n shadow: \"shadow-md\",\n loop: { over: \"companyServices\" },\n $children: [\n {\n type: \"icon\",\n props: {\n icon: \"{{companyServices.iconName}}\",\n size: \"2.5rem\",\n color: \"{{companyServices.iconColor}}\",\n },\n },\n {\n type: \"text\",\n props: {\n content:\n \"<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>\",\n },\n },\n {\n type: \"button\",\n props: {\n label: \"Learn More\",\n link: \"/services/{{companyServices.serviceSlug}}\",\n },\n },\n ],\n },\n },\n];\n"],"mappings":"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","names":[]}