@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
@@ -7,13 +7,57 @@ import { Type } from "@sinclair/typebox";
7
7
  import { cssLengthRef } from "../props/css-length";
8
8
  import { colorRef } from "../props/color";
9
9
  import { loopRef } from "../props/dynamic";
10
+ import type { BrickExample } from "./_types";
10
11
 
11
12
  export const manifest = defineBrickManifest({
12
13
  type: "icon",
13
14
  name: "Icon",
14
15
  category: "basic",
15
16
  description: "An icon.",
16
- aiInstructions: "Uses iconify references",
17
+ aiInstructions: `Use the icon component for adding visual symbols and interactive elements throughout your design.
18
+
19
+ WHEN TO USE:
20
+ - Navigation elements (menu, close, arrow buttons)
21
+ - Social media links (Facebook, Twitter, Instagram, LinkedIn)
22
+ - Contact information (email, phone, location markers)
23
+ - User interface actions (search, shopping cart, download)
24
+ - Status indicators (success, warning, error, info)
25
+ - Content enhancement (stars, hearts, thumbs up)
26
+ - Feature highlights (checkmarks, shields, awards)
27
+
28
+ ICON SELECTION:
29
+ - Use Iconify format: "mdi:icon-name", "lucide:icon-name", "heroicons:icon-name"
30
+ - Examples: "mdi:heart", "lucide:star", "heroicons:envelope", "mdi:facebook"
31
+
32
+ SIZING GUIDELINES:
33
+ - size: "1em" for inline text icons, "1.5em" for buttons, "2em" for headers
34
+ - Common sizes: "16px", "20px", "24px", "32px" for pixel precision
35
+ - Use "em" units to scale with text, "px" for fixed sizes
36
+ - Large decorative icons: "3em", "4em", or "48px", "64px"
37
+
38
+ COLOR OPTIONS:
39
+ - color: "currentColor" inherits text color (default)
40
+ - Hex colors: "#1877f2" (Facebook blue), "#ff0000" (red), "#10b981" (green)
41
+ - Use brand colors for social media icons
42
+ - Match color scheme: warnings (orange/yellow), errors (red), success (green)
43
+
44
+ INTERACTIVE ICONS:
45
+ - Add link property for clickable icons
46
+ - External links: "https://facebook.com/yourpage"
47
+ - Email links: "mailto:contact@example.com"
48
+ - Phone links: "tel:+1234567890"
49
+ - Internal pages: "/contact", "/about"
50
+
51
+ DYNAMIC CONTENT:
52
+ - Use template variables: icon: "{{ service.iconName }}"
53
+ - Dynamic colors: color: "{{ brand.primaryColor }}"
54
+ - Loop over data for icon lists or social media sets
55
+
56
+ AVOID:
57
+ - Oversized icons that dominate content
58
+ - Poor contrast (light icons on light backgrounds)
59
+ - Inconsistent icon styles within the same design
60
+ - Missing alt text context when icons convey important information`,
17
61
  resizable: false,
18
62
  staticClasses: "!grow-0",
19
63
  icon: PiConfetti,
@@ -47,28 +91,66 @@ export const manifest = defineBrickManifest({
47
91
 
48
92
  export type Manifest = typeof manifest;
49
93
 
50
- export const examples: {
51
- description: string;
52
- type: string;
53
- props: BrickProps<Manifest>["brick"]["props"];
54
- }[] = [
94
+ export const examples: BrickExample<Manifest>[] = [
95
+ // BASIC ICONS
55
96
  {
56
- description: "Large heart icon with inherited color and size",
97
+ description: "Heart icon with default styling - Inherits text color and size",
57
98
  type: "icon",
58
99
  props: {
59
100
  icon: "mdi:heart",
60
101
  },
61
102
  },
62
103
  {
63
- description: "Shopping cart icon",
104
+ description: "Star icon with gold color - Perfect for ratings and reviews",
64
105
  type: "icon",
65
106
  props: {
66
- icon: "mdi:cart",
107
+ icon: "mdi:star",
67
108
  size: "1.2em",
109
+ color: "#fbbf24",
110
+ },
111
+ },
112
+
113
+ // NAVIGATION ICONS
114
+ {
115
+ description: "Menu hamburger icon - Mobile navigation toggle",
116
+ type: "icon",
117
+ props: {
118
+ icon: "mdi:menu",
119
+ size: "1.8em",
120
+ color: "#374151",
121
+ },
122
+ },
123
+ {
124
+ description: "Search icon - Search functionality indicator",
125
+ type: "icon",
126
+ props: {
127
+ icon: "mdi:magnify",
128
+ size: "1.2em",
129
+ color: "#6b7280",
130
+ },
131
+ },
132
+ {
133
+ description: "Shopping cart icon - E-commerce navigation",
134
+ type: "icon",
135
+ props: {
136
+ icon: "mdi:cart",
137
+ size: "1.4em",
138
+ color: "#059669",
68
139
  },
69
140
  },
70
141
  {
71
- description: "Social media icon with blue color and link",
142
+ description: "Arrow right icon - Navigation and call-to-action",
143
+ type: "icon",
144
+ props: {
145
+ icon: "mdi:arrow-right",
146
+ size: "1.1em",
147
+ color: "currentColor",
148
+ },
149
+ },
150
+
151
+ // SOCIAL MEDIA ICONS
152
+ {
153
+ description: "Facebook icon with official brand color and link",
72
154
  type: "icon",
73
155
  props: {
74
156
  icon: "mdi:facebook",
@@ -78,16 +160,39 @@ export const examples: {
78
160
  },
79
161
  },
80
162
  {
81
- description: "Warning icon with orange color for alerts",
163
+ description: "Twitter/X icon with link - Social media engagement",
82
164
  type: "icon",
83
165
  props: {
84
- icon: "mdi:alert-triangle",
85
- size: "1.8em",
86
- color: "#f59e0b",
166
+ icon: "mdi:twitter",
167
+ size: "1.5em",
168
+ color: "#000000",
169
+ link: "https://x.com/yourhandle",
170
+ },
171
+ },
172
+ {
173
+ description: "Instagram icon with gradient-inspired color",
174
+ type: "icon",
175
+ props: {
176
+ icon: "mdi:instagram",
177
+ size: "1.5em",
178
+ color: "#e1306c",
179
+ link: "https://instagram.com/yourprofile",
180
+ },
181
+ },
182
+ {
183
+ description: "LinkedIn icon with professional blue",
184
+ type: "icon",
185
+ props: {
186
+ icon: "mdi:linkedin",
187
+ size: "1.5em",
188
+ color: "#0077b5",
189
+ link: "https://linkedin.com/company/yourcompany",
87
190
  },
88
191
  },
192
+
193
+ // CONTACT INFORMATION ICONS
89
194
  {
90
- description: "Email contact icon with link",
195
+ description: "Email icon with link - Contact information",
91
196
  type: "icon",
92
197
  props: {
93
198
  icon: "mdi:email",
@@ -97,68 +202,143 @@ export const examples: {
97
202
  },
98
203
  },
99
204
  {
100
- description: "Phone icon with green color",
205
+ description: "Phone icon with clickable link - Direct calling",
101
206
  type: "icon",
102
207
  props: {
103
208
  icon: "mdi:phone",
104
209
  size: "1.4em",
105
210
  color: "#10b981",
211
+ link: "tel:+1234567890",
106
212
  },
107
213
  },
108
214
  {
109
- description: "Location pin icon with red color",
215
+ description: "Location marker icon - Address and directions",
110
216
  type: "icon",
111
217
  props: {
112
218
  icon: "mdi:map-marker",
113
- size: "2.2em",
219
+ size: "1.6em",
114
220
  color: "#ef4444",
115
221
  },
116
222
  },
223
+
224
+ // STATUS & FEEDBACK ICONS
117
225
  {
118
- description: "Twitter/X icon with custom color and link",
226
+ description: "Success checkmark icon - Confirmation and completion",
119
227
  type: "icon",
120
228
  props: {
121
- icon: "mdi:twitter",
122
- size: "1.6em",
123
- color: "#000000",
124
- link: "https://x.com/yourhandle",
229
+ icon: "mdi:check-circle",
230
+ size: "1.5em",
231
+ color: "#10b981",
125
232
  },
126
233
  },
127
234
  {
128
- description: "Star rating icon with gold color",
235
+ description: "Warning icon - Alerts and cautions",
129
236
  type: "icon",
130
237
  props: {
131
- icon: "mdi:star",
132
- size: "1.2em",
133
- color: "#fbbf24",
238
+ icon: "mdi:alert-triangle",
239
+ size: "1.5em",
240
+ color: "#f59e0b",
134
241
  },
135
242
  },
136
243
  {
137
- description: "Download icon with link and purple color",
244
+ description: "Error icon - Problems and failures",
138
245
  type: "icon",
139
246
  props: {
140
- icon: "mdi:download",
247
+ icon: "mdi:alert-circle",
141
248
  size: "1.5em",
249
+ color: "#ef4444",
250
+ },
251
+ },
252
+ {
253
+ description: "Information icon - Help and guidance",
254
+ type: "icon",
255
+ props: {
256
+ icon: "mdi:information",
257
+ size: "1.4em",
258
+ color: "#3b82f6",
259
+ },
260
+ },
261
+
262
+ // ACTION ICONS
263
+ {
264
+ description: "Download icon with link - File downloads",
265
+ type: "icon",
266
+ props: {
267
+ icon: "mdi:download",
268
+ size: "1.4em",
142
269
  color: "#8b5cf6",
143
270
  link: "/files/brochure.pdf",
144
271
  },
145
272
  },
146
273
  {
147
- description: "Menu hamburger icon for navigation",
274
+ description: "Share icon - Content sharing functionality",
148
275
  type: "icon",
149
276
  props: {
150
- icon: "mdi:menu",
151
- size: "1.8em",
277
+ icon: "mdi:share-variant",
278
+ size: "1.2em",
279
+ color: "#6b7280",
280
+ },
281
+ },
282
+ {
283
+ description: "Print icon - Document printing",
284
+ type: "icon",
285
+ props: {
286
+ icon: "mdi:printer",
287
+ size: "1.3em",
152
288
  color: "#374151",
153
289
  },
154
290
  },
291
+
292
+ // LARGE DECORATIVE ICONS
155
293
  {
156
- description: "Search icon with dark color",
294
+ description: "Large security shield icon - Trust and safety messaging",
157
295
  type: "icon",
158
296
  props: {
159
- icon: "mdi:magnify",
160
- size: "1.1em",
161
- color: "#1f2937",
297
+ icon: "mdi:shield-check",
298
+ size: "3em",
299
+ color: "#10b981",
300
+ },
301
+ },
302
+ {
303
+ description: "Large rocket icon - Innovation and growth themes",
304
+ type: "icon",
305
+ props: {
306
+ icon: "mdi:rocket",
307
+ size: "2.5em",
308
+ color: "#f59e0b",
309
+ },
310
+ },
311
+
312
+ // DYNAMIC CONTENT EXAMPLES
313
+ {
314
+ description: "Dynamic service icon using template variables - Data-driven icons",
315
+ type: "icon",
316
+ props: {
317
+ icon: "{{service.iconName}}",
318
+ size: "2em",
319
+ color: "{{service.brandColor}}",
320
+ link: "/services/{{service.slug}}",
321
+ },
322
+ },
323
+ {
324
+ description: "Dynamic social media icon with loop - Multiple social platforms",
325
+ type: "icon",
326
+ props: {
327
+ icon: "{{socialLinks.iconName}}",
328
+ size: "1.6em",
329
+ color: "{{socialLinks.brandColor}}",
330
+ link: "{{socialLinks.url}}",
331
+ loop: { over: "socialLinks" },
332
+ },
333
+ },
334
+ {
335
+ description: "Team member contact icon - Dynamic contact information",
336
+ type: "icon",
337
+ props: {
338
+ icon: "mdi:email",
339
+ size: "1.2em",
340
+ color: "#4f46e5",
341
+ link: "mailto:{{teamMember.email}}",
162
342
  },
163
343
  },
164
344
  ];
@@ -17,8 +17,42 @@ export const manifest = defineBrickManifest({
17
17
  name: "Image",
18
18
  category: "media",
19
19
  description: "An image brick",
20
- aiInstructions:
21
- "An image brick that can display an image with optional styling such as padding, border radius, and shadow. It supports giving credit to the image author and specifying the image provider.",
20
+ aiInstructions: `PURPOSE
21
+ Display a single image with optional framing (padding, rounding, border, shadow, colorPreset) and attribution (author/provider). Can also loop over a dataset showing one image per item.
22
+
23
+ REQUIRED
24
+ • 'image.src' and 'image.alt' (alt must be meaningful, not empty; may interpolate page queries fields).
25
+
26
+ COLOR & BACKGROUND
27
+ • colorPreset is optional – use when you need a frame or tone behind the image (neutral / accent / primary / secondary / base or gradient variants). Omit to keep a transparent/inherited background.
28
+ • Only use gradientDirection when the preset is a gradient token (e.g. primary-gradient-400).
29
+
30
+ STYLING
31
+ • padding should be a single css length value (like '1rem' or '0.75rem').
32
+ • rounding defaults to a modest radius; override for circular avatars (rounded-full) or strong accent (rounded-xl).
33
+ • border optional: keep subtle (border / border-2) unless emphasis required.
34
+ • Use shadow sparingly (shadow-sm / shadow-md); large (shadow-xl) for hero or banner impact.
35
+
36
+ ATTRIBUTION
37
+ • If using external photography include author { name, url } and provider (e.g. 'unsplash'). Omit provider if internal asset.
38
+
39
+ DYNAMIC DATA
40
+ • Interpolate dataset fields with {{dataset.field}} in src and alt.
41
+ • For lists: use loop.over = "datasetName". Provide exactly one example object (this component itself) when looping (do not replicate multiple objects).
42
+
43
+ RESPONSIVE
44
+ • mobileProps may reduce padding or alter rounding only if it materially improves mobile layout. Always repeat required fields (image.src, image.alt) if providing mobileProps.
45
+
46
+ DON'TS
47
+ ✗ Don't add unrelated props.
48
+ ✗ Don't fabricate color tokens (no success-, warning-, danger- etc.).
49
+ ✗ Don't use HTML markup inside alt.
50
+
51
+ DO
52
+ ✓ Provide descriptive alt text (<125 chars) describing content or function.
53
+ ✓ Use semantic color presets consistently.
54
+ ✓ Add author/provider when you have them.
55
+ `,
22
56
  defaultWidth: { desktop: "auto", mobile: "100%" },
23
57
  icon: RxImage,
24
58
  props: defineProps({
@@ -82,6 +116,7 @@ export const examples: {
82
116
  description: string;
83
117
  type: string;
84
118
  props: BrickProps<Manifest>["brick"]["props"];
119
+ mobileProps?: BrickProps<Manifest>["brick"]["props"];
85
120
  }[] = [
86
121
  {
87
122
  description: "Hero landscape image with large shadow",
@@ -94,6 +129,20 @@ export const examples: {
94
129
  shadow: "shadow-lg",
95
130
  },
96
131
  },
132
+ {
133
+ description: "Framed image with accent gradient background and padding",
134
+ type: "image",
135
+ props: {
136
+ image: {
137
+ src: "https://via.placeholder.com/640x360.png?text=Showcase",
138
+ alt: "Showcase screenshot inside accent gradient frame",
139
+ },
140
+ colorPreset: { color: "accent-gradient-400", gradientDirection: "bg-gradient-to-br" },
141
+ padding: "1rem",
142
+ rounding: "rounded-xl",
143
+ shadow: "shadow-md",
144
+ },
145
+ },
97
146
  {
98
147
  description: "Team member profile photo, full rounded",
99
148
  type: "image",
@@ -146,6 +195,21 @@ export const examples: {
146
195
  shadow: "shadow-sm",
147
196
  },
148
197
  },
198
+ {
199
+ description: "Dark framed image with neutral-800 background and subtle border",
200
+ type: "image",
201
+ props: {
202
+ image: {
203
+ src: "https://via.placeholder.com/500x300.png?text=Dark+Mode",
204
+ alt: "Interface preview in dark mode",
205
+ },
206
+ colorPreset: { color: "neutral-800" },
207
+ padding: "1rem",
208
+ border: { width: "border", color: "border-neutral-700" },
209
+ rounding: "rounded-lg",
210
+ shadow: "shadow-md",
211
+ },
212
+ },
149
213
  {
150
214
  description: "Testimonial customer photo with large shadow and small padding",
151
215
  type: "image",
@@ -199,6 +263,29 @@ export const examples: {
199
263
  blurHash: "L6PZfSi_.AyE_3t7t7R**0o#DgR4",
200
264
  },
201
265
  },
266
+ {
267
+ description: "Responsive image with reduced mobile padding",
268
+ type: "image",
269
+ props: {
270
+ image: {
271
+ src: "https://via.placeholder.com/640x360.png?text=Responsive",
272
+ alt: "Responsive framed screenshot",
273
+ },
274
+ padding: "2rem",
275
+ colorPreset: { color: "primary-50" },
276
+ rounding: "rounded-xl",
277
+ shadow: "shadow-sm",
278
+ },
279
+ mobileProps: {
280
+ image: {
281
+ src: "https://via.placeholder.com/640x360.png?text=Responsive",
282
+ alt: "Responsive framed screenshot",
283
+ },
284
+ padding: "1rem",
285
+ colorPreset: { color: "primary-50" },
286
+ rounding: "rounded-lg",
287
+ },
288
+ },
202
289
  {
203
290
  description: "Dynamic employee photo using employee query",
204
291
  type: "image",
@@ -259,6 +346,20 @@ export const examples: {
259
346
  provider: "event-photography",
260
347
  },
261
348
  },
349
+ {
350
+ description: "Loop template: product gallery (one definition, repeated by loop.over)",
351
+ type: "image",
352
+ props: {
353
+ image: {
354
+ src: "{{products.mainImage}}",
355
+ alt: "{{products.name}} – {{products.category}}",
356
+ },
357
+ rounding: "rounded-md",
358
+ padding: "0.5rem",
359
+ shadow: "shadow-sm",
360
+ loop: { over: "products" },
361
+ },
362
+ },
262
363
  {
263
364
  description: "Dynamic article featured image using article query",
264
365
  type: "image",
@@ -9,6 +9,7 @@ import { colorPresetRef } from "../props/color-preset";
9
9
  import { borderRef, roundingRef } from "../props/border";
10
10
  import { loopRef } from "../props/dynamic";
11
11
  import { cssLengthRef } from "../props/css-length";
12
+ import type { BrickExample } from "./_types";
12
13
 
13
14
  export const manifest = defineBrickManifest({
14
15
  type: "images-gallery",
@@ -110,11 +111,7 @@ export const manifest = defineBrickManifest({
110
111
 
111
112
  export type Manifest = typeof manifest;
112
113
 
113
- export const examples: {
114
- description: string;
115
- type: string;
116
- props: BrickProps<Manifest>["brick"]["props"];
117
- }[] = [
114
+ export const examples: BrickExample<Manifest>[] = [
118
115
  {
119
116
  description: "Product portfolio gallery (3-column grid)",
120
117
  type: "images-gallery",
@@ -7,6 +7,7 @@ import type { BrickProps } from "../props/types";
7
7
  import { Type } from "@sinclair/typebox";
8
8
  import { number } from "../props/number";
9
9
  import { string } from "../props/string";
10
+ import type { BrickExample } from "./_types";
10
11
 
11
12
  export const DEFAULTS = {
12
13
  lat: 48.8566, // Default latitude (Paris)
@@ -78,11 +79,7 @@ export const manifest = defineBrickManifest({
78
79
 
79
80
  export type Manifest = typeof manifest;
80
81
 
81
- export const examples: {
82
- description: string;
83
- type: string;
84
- props: BrickProps<Manifest>["brick"]["props"];
85
- }[] = [
82
+ export const examples: BrickExample<Manifest>[] = [
86
83
  {
87
84
  description: "Map showing a specific location",
88
85
  type: "map",
@@ -11,6 +11,7 @@ import type { BrickProps } from "../props/types";
11
11
  import { colorPresetRef } from "../props/color-preset";
12
12
  import { tagsRef } from "../props/tags";
13
13
  import { toLLMSchema } from "~/shared/utils/llm";
14
+ import type { BrickExample } from "./_types";
14
15
 
15
16
  export const manifest = defineBrickManifest({
16
17
  type: "navbar",
@@ -127,15 +128,9 @@ export const manifest = defineBrickManifest({
127
128
  export type Manifest = typeof manifest;
128
129
  export type NavbarProps = Static<Manifest["props"]>;
129
130
 
130
- export function getNavbarSchemaForLLM() {
131
- return toLLMSchema(manifest.props);
132
- }
131
+ export const navbarSchemaPropsLLM = toLLMSchema(manifest.props);
133
132
 
134
- export const examples: {
135
- description: string;
136
- type: string;
137
- props: BrickProps<Manifest>["brick"]["props"];
138
- }[] = [
133
+ export const examples: BrickExample<Manifest>[] = [
139
134
  {
140
135
  description:
141
136
  "Corporate technology company navbar featuring company logo with right-aligned navigation links filtered by navbar and featured tags",
@@ -8,6 +8,7 @@ import { borderRef } from "../props/border";
8
8
  import { fixedPositioned } from "../props/position";
9
9
  import type { BrickProps } from "../props/types";
10
10
  import { shadowRef } from "../props/effects";
11
+ import type { BrickExample } from "./_types";
11
12
 
12
13
  export const manifest = defineBrickManifest({
13
14
  type: "sidebar",
@@ -60,11 +61,7 @@ export const manifest = defineBrickManifest({
60
61
 
61
62
  export type Manifest = typeof manifest;
62
63
 
63
- export const examples: {
64
- description: string;
65
- type: string;
66
- props: BrickProps<Manifest>["brick"]["props"];
67
- }[] = [
64
+ export const examples: BrickExample<Manifest>[] = [
68
65
  {
69
66
  description: "Standard sidebar with navigation links base on site pages",
70
67
  type: "sidebar",
@@ -9,6 +9,7 @@ import { directionRef } from "../props/direction";
9
9
  import { colorPresetRef } from "../props/color-preset";
10
10
  import { borderRef, roundingRef } from "../props/border";
11
11
  import { cssLengthRef } from "../props/css-length";
12
+ import type { BrickExample } from "./_types";
12
13
 
13
14
  export const manifest = defineBrickManifest({
14
15
  type: "social-links",
@@ -100,11 +101,7 @@ export const manifest = defineBrickManifest({
100
101
 
101
102
  export type Manifest = typeof manifest;
102
103
 
103
- export const examples: {
104
- description: string;
105
- type: string;
106
- props: BrickProps<Manifest>["brick"]["props"];
107
- }[] = [
104
+ export const examples: BrickExample<Manifest>[] = [
108
105
  {
109
106
  description: "Social icons displayed horizontally, without labels",
110
107
  type: "social-links",
@@ -2,6 +2,7 @@ import { defineBrickManifest } from "~/shared/brick-manifest";
2
2
  import { defineProps } from "../props/helpers";
3
3
  import type { BrickProps } from "../props/types";
4
4
  import { CgSpaceBetween } from "react-icons/cg";
5
+ import type { BrickExample } from "./_types";
5
6
 
6
7
  export const manifest = defineBrickManifest({
7
8
  type: "spacer",
@@ -25,11 +26,7 @@ export const manifest = defineBrickManifest({
25
26
 
26
27
  export type Manifest = typeof manifest;
27
28
 
28
- export const examples: {
29
- description: string;
30
- type: string;
31
- props: BrickProps<Manifest>["brick"]["props"];
32
- }[] = [
29
+ export const examples: BrickExample<Manifest>[] = [
33
30
  {
34
31
  description: "Transparent spacer of 100px wide",
35
32
  type: "spacer",