@upstart.gg/sdk 0.0.135 → 0.0.137

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (473) hide show
  1. package/dist/shared/ai/schemas.d.ts +11 -2
  2. package/dist/shared/ai/schemas.d.ts.map +1 -1
  3. package/dist/shared/ai/schemas.js +38 -8
  4. package/dist/shared/ai/schemas.js.map +1 -1
  5. package/dist/shared/ai/types.d.ts +93 -81
  6. package/dist/shared/ai/types.d.ts.map +1 -1
  7. package/dist/shared/ajv.js +33 -32
  8. package/dist/shared/ajv.js.map +1 -1
  9. package/dist/shared/attributes.d.ts +86 -86
  10. package/dist/shared/attributes.d.ts.map +1 -1
  11. package/dist/shared/attributes.js +22 -25
  12. package/dist/shared/brick-manifest.d.ts +8 -5
  13. package/dist/shared/brick-manifest.d.ts.map +1 -1
  14. package/dist/shared/brick-manifest.js +3 -18
  15. package/dist/shared/bricks/manifests/_types.d.ts +9 -0
  16. package/dist/shared/bricks/manifests/_types.d.ts.map +1 -0
  17. package/dist/shared/bricks/manifests/_types.js +3 -0
  18. package/dist/shared/bricks/manifests/accordion.manifest.d.ts +4 -8
  19. package/dist/shared/bricks/manifests/accordion.manifest.d.ts.map +1 -1
  20. package/dist/shared/bricks/manifests/accordion.manifest.js +13 -20
  21. package/dist/shared/bricks/manifests/all-manifests.d.ts.map +1 -1
  22. package/dist/shared/bricks/manifests/all-manifests.js +44 -43
  23. package/dist/shared/bricks/manifests/all-props.d.ts +1501 -0
  24. package/dist/shared/bricks/manifests/all-props.d.ts.map +1 -0
  25. package/dist/shared/bricks/manifests/all-props.js +243 -0
  26. package/dist/shared/bricks/manifests/all-props.js.map +1 -0
  27. package/dist/shared/bricks/manifests/box.manifest.d.ts +4 -8
  28. package/dist/shared/bricks/manifests/box.manifest.d.ts.map +1 -1
  29. package/dist/shared/bricks/manifests/box.manifest.js +16 -20
  30. package/dist/shared/bricks/manifests/button.manifest.d.ts +5 -12
  31. package/dist/shared/bricks/manifests/button.manifest.d.ts.map +1 -1
  32. package/dist/shared/bricks/manifests/button.manifest.js +13 -20
  33. package/dist/shared/bricks/manifests/card.manifest.d.ts +10 -9
  34. package/dist/shared/bricks/manifests/card.manifest.d.ts.map +1 -1
  35. package/dist/shared/bricks/manifests/card.manifest.js +18 -20
  36. package/dist/shared/bricks/manifests/carousel.manifest.d.ts +4 -8
  37. package/dist/shared/bricks/manifests/carousel.manifest.d.ts.map +1 -1
  38. package/dist/shared/bricks/manifests/carousel.manifest.js +15 -20
  39. package/dist/shared/bricks/manifests/footer.manifest.d.ts +5 -9
  40. package/dist/shared/bricks/manifests/footer.manifest.d.ts.map +1 -1
  41. package/dist/shared/bricks/manifests/footer.manifest.js +13 -20
  42. package/dist/shared/bricks/manifests/form.manifest.d.ts +5 -9
  43. package/dist/shared/bricks/manifests/form.manifest.d.ts.map +1 -1
  44. package/dist/shared/bricks/manifests/form.manifest.js +13 -20
  45. package/dist/shared/bricks/manifests/hero.manifest.d.ts +4 -8
  46. package/dist/shared/bricks/manifests/hero.manifest.d.ts.map +1 -1
  47. package/dist/shared/bricks/manifests/hero.manifest.js +13 -20
  48. package/dist/shared/bricks/manifests/html.manifest.d.ts +3 -7
  49. package/dist/shared/bricks/manifests/html.manifest.d.ts.map +1 -1
  50. package/dist/shared/bricks/manifests/html.manifest.js +8 -20
  51. package/dist/shared/bricks/manifests/icon.manifest.d.ts +3 -7
  52. package/dist/shared/bricks/manifests/icon.manifest.d.ts.map +1 -1
  53. package/dist/shared/bricks/manifests/icon.manifest.js +13 -20
  54. package/dist/shared/bricks/manifests/image.manifest.d.ts +3 -2
  55. package/dist/shared/bricks/manifests/image.manifest.d.ts.map +1 -1
  56. package/dist/shared/bricks/manifests/image.manifest.js +16 -20
  57. package/dist/shared/bricks/manifests/images-gallery.manifest.d.ts +4 -8
  58. package/dist/shared/bricks/manifests/images-gallery.manifest.d.ts.map +1 -1
  59. package/dist/shared/bricks/manifests/images-gallery.manifest.js +15 -20
  60. package/dist/shared/bricks/manifests/map.manifest.d.ts +3 -7
  61. package/dist/shared/bricks/manifests/map.manifest.d.ts.map +1 -1
  62. package/dist/shared/bricks/manifests/map.manifest.js +11 -20
  63. package/dist/shared/bricks/manifests/navbar.manifest.d.ts +7 -11
  64. package/dist/shared/bricks/manifests/navbar.manifest.d.ts.map +1 -1
  65. package/dist/shared/bricks/manifests/navbar.manifest.js +15 -20
  66. package/dist/shared/bricks/manifests/sidebar.manifest.d.ts +3 -7
  67. package/dist/shared/bricks/manifests/sidebar.manifest.d.ts.map +1 -1
  68. package/dist/shared/bricks/manifests/sidebar.manifest.js +13 -20
  69. package/dist/shared/bricks/manifests/social-links.manifest.d.ts +4 -8
  70. package/dist/shared/bricks/manifests/social-links.manifest.d.ts.map +1 -1
  71. package/dist/shared/bricks/manifests/social-links.manifest.js +14 -20
  72. package/dist/shared/bricks/manifests/spacer.manifest.d.ts +3 -7
  73. package/dist/shared/bricks/manifests/spacer.manifest.d.ts.map +1 -1
  74. package/dist/shared/bricks/manifests/spacer.manifest.js +8 -20
  75. package/dist/shared/bricks/manifests/table.manifest.d.ts +6 -10
  76. package/dist/shared/bricks/manifests/table.manifest.d.ts.map +1 -1
  77. package/dist/shared/bricks/manifests/table.manifest.js +15 -20
  78. package/dist/shared/bricks/manifests/tabs.manifest.d.ts +6 -10
  79. package/dist/shared/bricks/manifests/tabs.manifest.d.ts.map +1 -1
  80. package/dist/shared/bricks/manifests/tabs.manifest.js +15 -20
  81. package/dist/shared/bricks/manifests/testimonials.manifest.d.ts +4 -8
  82. package/dist/shared/bricks/manifests/testimonials.manifest.d.ts.map +1 -1
  83. package/dist/shared/bricks/manifests/testimonials.manifest.js +18 -20
  84. package/dist/shared/bricks/manifests/text.manifest.d.ts +4 -12
  85. package/dist/shared/bricks/manifests/text.manifest.d.ts.map +1 -1
  86. package/dist/shared/bricks/manifests/text.manifest.js +13 -20
  87. package/dist/shared/bricks/manifests/timeline.manifest.d.ts +9 -13
  88. package/dist/shared/bricks/manifests/timeline.manifest.d.ts.map +1 -1
  89. package/dist/shared/bricks/manifests/timeline.manifest.js +15 -20
  90. package/dist/shared/bricks/manifests/video.manifest.d.ts +3 -7
  91. package/dist/shared/bricks/manifests/video.manifest.d.ts.map +1 -1
  92. package/dist/shared/bricks/manifests/video.manifest.js +11 -20
  93. package/dist/shared/bricks/props/align.d.ts +0 -3
  94. package/dist/shared/bricks/props/align.d.ts.map +1 -1
  95. package/dist/shared/bricks/props/align.js +4 -11
  96. package/dist/shared/bricks/props/background.d.ts +2 -8
  97. package/dist/shared/bricks/props/background.d.ts.map +1 -1
  98. package/dist/shared/bricks/props/background.js +4 -9
  99. package/dist/shared/bricks/props/border.d.ts +0 -7
  100. package/dist/shared/bricks/props/border.d.ts.map +1 -1
  101. package/dist/shared/bricks/props/border.js +5 -10
  102. package/dist/shared/bricks/props/color-preset.d.ts +316 -6
  103. package/dist/shared/bricks/props/color-preset.d.ts.map +1 -1
  104. package/dist/shared/bricks/props/color-preset.js +2 -5
  105. package/dist/shared/bricks/props/color.d.ts +3 -5
  106. package/dist/shared/bricks/props/color.d.ts.map +1 -1
  107. package/dist/shared/bricks/props/color.js +3 -8
  108. package/dist/shared/bricks/props/common.d.ts.map +1 -1
  109. package/dist/shared/bricks/props/common.js +4 -5
  110. package/dist/shared/bricks/props/css-length.d.ts +0 -1
  111. package/dist/shared/bricks/props/css-length.d.ts.map +1 -1
  112. package/dist/shared/bricks/props/css-length.js +1 -4
  113. package/dist/shared/bricks/props/datasource.d.ts +3 -3
  114. package/dist/shared/bricks/props/datasource.d.ts.map +1 -1
  115. package/dist/shared/bricks/props/datasource.js +74 -76
  116. package/dist/shared/bricks/props/datasource.js.map +1 -1
  117. package/dist/shared/bricks/props/date.js +21 -4
  118. package/dist/shared/bricks/props/date.js.map +1 -1
  119. package/dist/shared/bricks/props/direction.d.ts +1 -2
  120. package/dist/shared/bricks/props/direction.d.ts.map +1 -1
  121. package/dist/shared/bricks/props/direction.js +4 -7
  122. package/dist/shared/bricks/props/dynamic.d.ts +5 -67
  123. package/dist/shared/bricks/props/dynamic.d.ts.map +1 -1
  124. package/dist/shared/bricks/props/dynamic.js +6 -24
  125. package/dist/shared/bricks/props/effects.d.ts +1 -3
  126. package/dist/shared/bricks/props/effects.d.ts.map +1 -1
  127. package/dist/shared/bricks/props/effects.js +4 -9
  128. package/dist/shared/bricks/props/geolocation.d.ts.map +1 -1
  129. package/dist/shared/bricks/props/geolocation.js +3 -6
  130. package/dist/shared/bricks/props/geolocation.js.map +1 -1
  131. package/dist/shared/bricks/props/helpers.js +5 -6
  132. package/dist/shared/bricks/props/image.d.ts +2 -8
  133. package/dist/shared/bricks/props/image.d.ts.map +1 -1
  134. package/dist/shared/bricks/props/image.js +4 -7
  135. package/dist/shared/bricks/props/string.d.ts +2 -5
  136. package/dist/shared/bricks/props/string.d.ts.map +1 -1
  137. package/dist/shared/bricks/props/string.js +3 -10
  138. package/dist/shared/bricks/props/tags.d.ts +0 -1
  139. package/dist/shared/bricks/props/tags.d.ts.map +1 -1
  140. package/dist/shared/bricks/props/tags.js +3 -6
  141. package/dist/shared/bricks/props/text.d.ts +0 -3
  142. package/dist/shared/bricks/props/text.d.ts.map +1 -1
  143. package/dist/shared/bricks/props/text.js +4 -11
  144. package/dist/shared/bricks/props/types.d.ts +2 -2
  145. package/dist/shared/bricks/props/types.d.ts.map +1 -1
  146. package/dist/shared/bricks.d.ts +64 -152
  147. package/dist/shared/bricks.d.ts.map +1 -1
  148. package/dist/shared/bricks.js +49 -52
  149. package/dist/shared/chunk-2O5HVPID.js +41 -0
  150. package/dist/shared/chunk-2O5HVPID.js.map +1 -0
  151. package/dist/shared/{chunk-F22LDHEO.js → chunk-2U5U3CCJ.js} +3 -18
  152. package/dist/shared/chunk-2U5U3CCJ.js.map +1 -0
  153. package/dist/shared/{chunk-LXAO3JA6.js → chunk-4KY7OZWD.js} +35 -35
  154. package/dist/shared/chunk-4KY7OZWD.js.map +1 -0
  155. package/dist/shared/{chunk-TNMNMYOB.js → chunk-5RCC2STG.js} +2 -13
  156. package/dist/shared/chunk-5RCC2STG.js.map +1 -0
  157. package/dist/shared/{chunk-V3UA3LRK.js → chunk-6AE7UD73.js} +56 -37
  158. package/dist/shared/chunk-6AE7UD73.js.map +1 -0
  159. package/dist/shared/chunk-7U5WPHXB.js +346 -0
  160. package/dist/shared/chunk-7U5WPHXB.js.map +1 -0
  161. package/dist/shared/{chunk-Q4NPPLEU.js → chunk-BHARJBEK.js} +2 -9
  162. package/dist/shared/chunk-BHARJBEK.js.map +1 -0
  163. package/dist/shared/chunk-BZTWZC77.js +530 -0
  164. package/dist/shared/chunk-BZTWZC77.js.map +1 -0
  165. package/dist/shared/{chunk-QSND5IWT.js → chunk-DCM4732T.js} +24 -43
  166. package/dist/shared/chunk-DCM4732T.js.map +1 -0
  167. package/dist/shared/{chunk-W6MRYRGJ.js → chunk-DRQKKPTX.js} +6 -20
  168. package/dist/shared/chunk-DRQKKPTX.js.map +1 -0
  169. package/dist/shared/{chunk-CSF2WQX2.js → chunk-EID5HPF3.js} +15 -12
  170. package/dist/shared/chunk-EID5HPF3.js.map +1 -0
  171. package/dist/shared/chunk-EMF5TCPX.js +389 -0
  172. package/dist/shared/chunk-EMF5TCPX.js.map +1 -0
  173. package/dist/shared/chunk-FD7YYFRI.js +225 -0
  174. package/dist/shared/chunk-FD7YYFRI.js.map +1 -0
  175. package/dist/shared/{chunk-MLZT7MRQ.js → chunk-FHA4DFIM.js} +26 -27
  176. package/dist/shared/chunk-FHA4DFIM.js.map +1 -0
  177. package/dist/shared/{chunk-GRMY35BU.js → chunk-FUUSAMN3.js} +165 -40
  178. package/dist/shared/chunk-FUUSAMN3.js.map +1 -0
  179. package/dist/shared/chunk-GDYCCB3B.js +22 -0
  180. package/dist/shared/chunk-GDYCCB3B.js.map +1 -0
  181. package/dist/shared/chunk-GLV6QIIM.js +41 -0
  182. package/dist/shared/chunk-GLV6QIIM.js.map +1 -0
  183. package/dist/shared/chunk-H6TMBELF.js +374 -0
  184. package/dist/shared/chunk-H6TMBELF.js.map +1 -0
  185. package/dist/shared/{chunk-BMWRR4DI.js → chunk-HUWMIXNN.js} +26 -28
  186. package/dist/shared/chunk-HUWMIXNN.js.map +1 -0
  187. package/dist/shared/chunk-HY7JOP3J.js +150 -0
  188. package/dist/shared/chunk-HY7JOP3J.js.map +1 -0
  189. package/dist/shared/{chunk-TFGGYU6Y.js → chunk-IEMCCHM4.js} +7 -12
  190. package/dist/shared/chunk-IEMCCHM4.js.map +1 -0
  191. package/dist/shared/{chunk-TB3X4LRQ.js → chunk-J45LSQT6.js} +2 -2
  192. package/dist/shared/chunk-J45LSQT6.js.map +1 -0
  193. package/dist/shared/{chunk-WGDUJSSS.js → chunk-JF52BBFD.js} +27 -28
  194. package/dist/shared/chunk-JF52BBFD.js.map +1 -0
  195. package/dist/shared/{chunk-GPCI2N2A.js → chunk-JLDAS3VE.js} +136 -33
  196. package/dist/shared/chunk-JLDAS3VE.js.map +1 -0
  197. package/dist/shared/{chunk-SE6O65HC.js → chunk-JSDKK5QN.js} +10 -23
  198. package/dist/shared/chunk-JSDKK5QN.js.map +1 -0
  199. package/dist/shared/chunk-JW7MQAU4.js +354 -0
  200. package/dist/shared/chunk-JW7MQAU4.js.map +1 -0
  201. package/dist/shared/{chunk-RV7AYVFV.js → chunk-KKWT3OXF.js} +4 -19
  202. package/dist/shared/chunk-KKWT3OXF.js.map +1 -0
  203. package/dist/shared/{chunk-TEO6TJOM.js → chunk-KQH6V22E.js} +36 -35
  204. package/dist/shared/{chunk-TEO6TJOM.js.map → chunk-KQH6V22E.js.map} +1 -1
  205. package/dist/shared/{chunk-3KLRW4I2.js → chunk-LGDDJJHK.js} +212 -156
  206. package/dist/shared/chunk-LGDDJJHK.js.map +1 -0
  207. package/dist/shared/{chunk-QL3T5HJQ.js → chunk-LGGPCCCY.js} +3 -3
  208. package/dist/shared/chunk-LGGPCCCY.js.map +1 -0
  209. package/dist/shared/{chunk-2HO4FHLM.js → chunk-LPAQ47C6.js} +137 -171
  210. package/dist/shared/chunk-LPAQ47C6.js.map +1 -0
  211. package/dist/shared/chunk-MO6CRLQA.js +73 -0
  212. package/dist/shared/chunk-MO6CRLQA.js.map +1 -0
  213. package/dist/shared/{chunk-SHUGHJ7V.js → chunk-MYOLWTB2.js} +29 -32
  214. package/dist/shared/chunk-MYOLWTB2.js.map +1 -0
  215. package/dist/shared/{chunk-Z2NTDFB4.js → chunk-O24RDXZS.js} +34 -34
  216. package/dist/shared/chunk-O24RDXZS.js.map +1 -0
  217. package/dist/shared/{chunk-BPBKHEQ5.js → chunk-OJ6KL7FU.js} +1 -8
  218. package/dist/shared/chunk-OJ6KL7FU.js.map +1 -0
  219. package/dist/shared/{chunk-GCQURRVB.js → chunk-PF75LW33.js} +24 -27
  220. package/dist/shared/chunk-PF75LW33.js.map +1 -0
  221. package/dist/shared/{chunk-EWSPTRDL.js → chunk-QEJGPYTB.js} +132 -48
  222. package/dist/shared/chunk-QEJGPYTB.js.map +1 -0
  223. package/dist/shared/{chunk-P3RH5URN.js → chunk-SK2O7GFC.js} +17 -18
  224. package/dist/shared/chunk-SK2O7GFC.js.map +1 -0
  225. package/dist/shared/{chunk-UQF52PWK.js → chunk-SQXZNGQF.js} +8 -23
  226. package/dist/shared/chunk-SQXZNGQF.js.map +1 -0
  227. package/dist/shared/{chunk-NTLAKMMQ.js → chunk-SRYBJ6NQ.js} +6 -17
  228. package/dist/shared/chunk-SRYBJ6NQ.js.map +1 -0
  229. package/dist/shared/{chunk-O5PLB3YB.js → chunk-T6C3NG2L.js} +68 -59
  230. package/dist/shared/chunk-T6C3NG2L.js.map +1 -0
  231. package/dist/shared/{chunk-U7TVEPKA.js → chunk-TBT2PTGB.js} +41 -33
  232. package/dist/shared/chunk-TBT2PTGB.js.map +1 -0
  233. package/dist/shared/{chunk-CKFRSHR2.js → chunk-U4KZUX37.js} +18 -19
  234. package/dist/shared/chunk-U4KZUX37.js.map +1 -0
  235. package/dist/shared/{chunk-4WI23M7W.js → chunk-VSLRTXLF.js} +11 -4
  236. package/dist/shared/chunk-VSLRTXLF.js.map +1 -0
  237. package/dist/shared/{chunk-BHC2A43S.js → chunk-VTCHJT4O.js} +3 -3
  238. package/dist/shared/{chunk-BHC2A43S.js.map → chunk-VTCHJT4O.js.map} +1 -1
  239. package/dist/shared/{chunk-DRTGM2UJ.js → chunk-W2RFDII5.js} +3 -3
  240. package/dist/shared/chunk-W2RFDII5.js.map +1 -0
  241. package/dist/shared/{chunk-Y74LZNND.js → chunk-WPZV3LYL.js} +4 -10
  242. package/dist/shared/chunk-WPZV3LYL.js.map +1 -0
  243. package/dist/shared/chunk-XFZQGRRL.js +101 -0
  244. package/dist/shared/chunk-XFZQGRRL.js.map +1 -0
  245. package/dist/shared/{chunk-QQQ3FYPG.js → chunk-XK2CERPB.js} +147 -31
  246. package/dist/shared/chunk-XK2CERPB.js.map +1 -0
  247. package/dist/shared/chunk-XNRSL6FL.js +78 -0
  248. package/dist/shared/chunk-XNRSL6FL.js.map +1 -0
  249. package/dist/shared/{chunk-2RK3CPYJ.js → chunk-XXPSM6UA.js} +9 -12
  250. package/dist/shared/chunk-XXPSM6UA.js.map +1 -0
  251. package/dist/shared/{chunk-ZLYIRH2B.js → chunk-ZRBTAC3G.js} +3 -18
  252. package/dist/shared/chunk-ZRBTAC3G.js.map +1 -0
  253. package/dist/shared/{chunk-Z35I5JM5.js → chunk-ZVJNRKT4.js} +18 -20
  254. package/dist/shared/chunk-ZVJNRKT4.js.map +1 -0
  255. package/dist/shared/context.d.ts +402 -22
  256. package/dist/shared/context.d.ts.map +1 -1
  257. package/dist/shared/context.js +93 -0
  258. package/dist/shared/context.js.map +1 -1
  259. package/dist/shared/datarecords/external/airtable/types.d.ts +1 -1
  260. package/dist/shared/datarecords/external/airtable/types.d.ts.map +1 -1
  261. package/dist/shared/datarecords/external/airtable/types.js +2 -1
  262. package/dist/shared/datarecords/types.d.ts +10 -63
  263. package/dist/shared/datarecords/types.d.ts.map +1 -1
  264. package/dist/shared/datarecords/types.js +5 -6
  265. package/dist/shared/datasources/external/instagram/feed/schema.d.ts +1 -1
  266. package/dist/shared/datasources/external/instagram/feed/schema.d.ts.map +1 -1
  267. package/dist/shared/datasources/external/instagram/feed/schema.js +4 -1
  268. package/dist/shared/datasources/external/instagram/feed/schema.js.map +1 -1
  269. package/dist/shared/datasources/external/mastodon/status/schema.d.ts +6 -6
  270. package/dist/shared/datasources/external/mastodon/status/schema.d.ts.map +1 -1
  271. package/dist/shared/datasources/external/mastodon/status/schema.js +6 -19
  272. package/dist/shared/datasources/external/mastodon/status/schema.js.map +1 -1
  273. package/dist/shared/datasources/external/meta/oauth/config.d.ts +2 -2
  274. package/dist/shared/datasources/external/meta/oauth/config.d.ts.map +1 -1
  275. package/dist/shared/datasources/external/meta/oauth/config.js +4 -1
  276. package/dist/shared/datasources/external/meta/oauth/config.js.map +1 -1
  277. package/dist/shared/datasources/external/threads/media/fetcher.js +3 -3
  278. package/dist/shared/datasources/external/threads/media/schema.d.ts +1 -1
  279. package/dist/shared/datasources/external/threads/media/schema.d.ts.map +1 -1
  280. package/dist/shared/datasources/external/threads/media/schema.js +4 -8
  281. package/dist/shared/datasources/external/threads/media/schema.js.map +1 -1
  282. package/dist/shared/datasources/internal/blog/schema.d.ts +1 -1
  283. package/dist/shared/datasources/internal/blog/schema.d.ts.map +1 -1
  284. package/dist/shared/datasources/internal/blog/schema.js +4 -1
  285. package/dist/shared/datasources/internal/blog/schema.js.map +1 -1
  286. package/dist/shared/datasources/types.d.ts +25 -25
  287. package/dist/shared/datasources/types.d.ts.map +1 -1
  288. package/dist/shared/datasources/types.js +3 -16
  289. package/dist/shared/datasources.d.ts +1 -1
  290. package/dist/shared/datasources.d.ts.map +1 -1
  291. package/dist/shared/datasources.js +1 -3
  292. package/dist/shared/datasources.js.map +1 -1
  293. package/dist/shared/images.d.ts +1 -1
  294. package/dist/shared/images.d.ts.map +1 -1
  295. package/dist/shared/images.js +4 -38
  296. package/dist/shared/images.js.map +1 -1
  297. package/dist/shared/page.d.ts +139 -22
  298. package/dist/shared/page.d.ts.map +1 -1
  299. package/dist/shared/page.js +51 -49
  300. package/dist/shared/responsive.js +1 -1
  301. package/dist/shared/site.d.ts +80 -197
  302. package/dist/shared/site.d.ts.map +1 -1
  303. package/dist/shared/site.js +55 -114
  304. package/dist/shared/site.js.map +1 -1
  305. package/dist/shared/sitemap.d.ts +6 -327
  306. package/dist/shared/sitemap.d.ts.map +1 -1
  307. package/dist/shared/sitemap.js +50 -58
  308. package/dist/shared/theme.d.ts +0 -37
  309. package/dist/shared/theme.d.ts.map +1 -1
  310. package/dist/shared/theme.js +4 -21
  311. package/dist/shared/utils/llm.d.ts +1 -10
  312. package/dist/shared/utils/llm.d.ts.map +1 -1
  313. package/dist/shared/utils/llm.js +1 -18
  314. package/dist/shared/utils/schema.d.ts +3 -2
  315. package/dist/shared/utils/schema.d.ts.map +1 -1
  316. package/dist/shared/utils/schema.js +2 -17
  317. package/dist/shared/utils/string-enum.d.ts +9 -3
  318. package/dist/shared/utils/string-enum.d.ts.map +1 -1
  319. package/dist/shared/utils/string-enum.js +1 -1
  320. package/package.json +21 -5
  321. package/src/shared/ai/schemas.ts +41 -10
  322. package/src/shared/ai/types.ts +78 -76
  323. package/src/shared/attributes.ts +56 -46
  324. package/src/shared/brick-manifest.ts +5 -6
  325. package/src/shared/bricks/manifests/_types.ts +9 -0
  326. package/src/shared/bricks/manifests/accordion.manifest.ts +138 -171
  327. package/src/shared/bricks/manifests/all-manifests.ts +1 -0
  328. package/src/shared/bricks/manifests/all-props.ts +165 -0
  329. package/src/shared/bricks/manifests/box.manifest.ts +214 -150
  330. package/src/shared/bricks/manifests/button.manifest.ts +204 -79
  331. package/src/shared/bricks/manifests/card.manifest.ts +229 -43
  332. package/src/shared/bricks/manifests/carousel.manifest.ts +165 -35
  333. package/src/shared/bricks/manifests/footer.manifest.ts +18 -20
  334. package/src/shared/bricks/manifests/form.manifest.ts +136 -22
  335. package/src/shared/bricks/manifests/hero.manifest.ts +121 -38
  336. package/src/shared/bricks/manifests/html.manifest.ts +2 -5
  337. package/src/shared/bricks/manifests/icon.manifest.ts +225 -46
  338. package/src/shared/bricks/manifests/image.manifest.ts +125 -21
  339. package/src/shared/bricks/manifests/images-gallery.manifest.ts +15 -20
  340. package/src/shared/bricks/manifests/map.manifest.ts +12 -15
  341. package/src/shared/bricks/manifests/navbar.manifest.ts +22 -26
  342. package/src/shared/bricks/manifests/sidebar.manifest.ts +11 -14
  343. package/src/shared/bricks/manifests/social-links.manifest.ts +19 -24
  344. package/src/shared/bricks/manifests/spacer.manifest.ts +2 -5
  345. package/src/shared/bricks/manifests/table.manifest.ts +17 -20
  346. package/src/shared/bricks/manifests/tabs.manifest.ts +16 -21
  347. package/src/shared/bricks/manifests/testimonials.manifest.ts +23 -25
  348. package/src/shared/bricks/manifests/text.manifest.ts +47 -29
  349. package/src/shared/bricks/manifests/timeline.manifest.ts +31 -29
  350. package/src/shared/bricks/manifests/video.manifest.ts +11 -15
  351. package/src/shared/bricks/props/align.ts +0 -13
  352. package/src/shared/bricks/props/background.ts +1 -14
  353. package/src/shared/bricks/props/border.ts +2 -13
  354. package/src/shared/bricks/props/color-preset.ts +9 -10
  355. package/src/shared/bricks/props/color.ts +7 -18
  356. package/src/shared/bricks/props/common.ts +6 -7
  357. package/src/shared/bricks/props/css-length.ts +0 -5
  358. package/src/shared/bricks/props/datasource.ts +72 -74
  359. package/src/shared/bricks/props/direction.ts +1 -5
  360. package/src/shared/bricks/props/dynamic.ts +0 -11
  361. package/src/shared/bricks/props/effects.ts +0 -9
  362. package/src/shared/bricks/props/geolocation.ts +3 -3
  363. package/src/shared/bricks/props/helpers.ts +1 -1
  364. package/src/shared/bricks/props/image.ts +4 -16
  365. package/src/shared/bricks/props/string.ts +6 -19
  366. package/src/shared/bricks/props/tags.ts +0 -5
  367. package/src/shared/bricks/props/tests/background.test.ts +1 -15
  368. package/src/shared/bricks/props/tests/image.test.ts +3 -9
  369. package/src/shared/bricks/props/tests/string.test.ts +2 -26
  370. package/src/shared/bricks/props/text.ts +0 -12
  371. package/src/shared/bricks/props/types.ts +4 -3
  372. package/src/shared/bricks.ts +164 -1025
  373. package/src/shared/context.ts +24 -23
  374. package/src/shared/datarecords/external/airtable/types.ts +12 -11
  375. package/src/shared/datarecords/types.ts +22 -44
  376. package/src/shared/datasources/external/instagram/feed/schema.ts +2 -1
  377. package/src/shared/datasources/external/mastodon/status/schema.ts +4 -19
  378. package/src/shared/datasources/external/meta/oauth/config.ts +2 -1
  379. package/src/shared/datasources/external/threads/media/schema.ts +2 -8
  380. package/src/shared/datasources/internal/blog/schema.ts +2 -1
  381. package/src/shared/datasources/types.ts +64 -79
  382. package/src/shared/datasources.ts +2 -4
  383. package/src/shared/images.ts +12 -18
  384. package/src/shared/page.ts +9 -2
  385. package/src/shared/site.ts +3 -3
  386. package/src/shared/sitemap.ts +3 -68
  387. package/src/shared/tests/attributes.test.ts +2 -0
  388. package/src/shared/theme.ts +81 -96
  389. package/src/shared/utils/llm.ts +5 -191
  390. package/src/shared/utils/schema.ts +71 -244
  391. package/src/shared/utils/string-enum.ts +25 -4
  392. package/src/shared/utils/tests/schema.test.ts +112 -314
  393. package/dist/shared/chunk-2HO4FHLM.js.map +0 -1
  394. package/dist/shared/chunk-2RK3CPYJ.js.map +0 -1
  395. package/dist/shared/chunk-3KLRW4I2.js.map +0 -1
  396. package/dist/shared/chunk-4WI23M7W.js.map +0 -1
  397. package/dist/shared/chunk-6E42XWFH.js +0 -103
  398. package/dist/shared/chunk-6E42XWFH.js.map +0 -1
  399. package/dist/shared/chunk-A2QPY54H.js +0 -13
  400. package/dist/shared/chunk-A2QPY54H.js.map +0 -1
  401. package/dist/shared/chunk-BMWRR4DI.js.map +0 -1
  402. package/dist/shared/chunk-BPBKHEQ5.js.map +0 -1
  403. package/dist/shared/chunk-BW6EFRSF.js +0 -794
  404. package/dist/shared/chunk-BW6EFRSF.js.map +0 -1
  405. package/dist/shared/chunk-CKFRSHR2.js.map +0 -1
  406. package/dist/shared/chunk-CSF2WQX2.js.map +0 -1
  407. package/dist/shared/chunk-D4YQ6ABM.js +0 -338
  408. package/dist/shared/chunk-D4YQ6ABM.js.map +0 -1
  409. package/dist/shared/chunk-DRTGM2UJ.js.map +0 -1
  410. package/dist/shared/chunk-EQMU6NIU.js +0 -1222
  411. package/dist/shared/chunk-EQMU6NIU.js.map +0 -1
  412. package/dist/shared/chunk-EWSPTRDL.js.map +0 -1
  413. package/dist/shared/chunk-F22LDHEO.js.map +0 -1
  414. package/dist/shared/chunk-FVU5PXRC.js +0 -244
  415. package/dist/shared/chunk-FVU5PXRC.js.map +0 -1
  416. package/dist/shared/chunk-GCQURRVB.js.map +0 -1
  417. package/dist/shared/chunk-GPCI2N2A.js.map +0 -1
  418. package/dist/shared/chunk-GRMY35BU.js.map +0 -1
  419. package/dist/shared/chunk-JK2FWFJU.js +0 -15
  420. package/dist/shared/chunk-JK2FWFJU.js.map +0 -1
  421. package/dist/shared/chunk-LXAO3JA6.js.map +0 -1
  422. package/dist/shared/chunk-MLZT7MRQ.js.map +0 -1
  423. package/dist/shared/chunk-NT3IW52F.js +0 -260
  424. package/dist/shared/chunk-NT3IW52F.js.map +0 -1
  425. package/dist/shared/chunk-NTLAKMMQ.js.map +0 -1
  426. package/dist/shared/chunk-O5PLB3YB.js.map +0 -1
  427. package/dist/shared/chunk-P3RH5URN.js.map +0 -1
  428. package/dist/shared/chunk-Q4NPPLEU.js.map +0 -1
  429. package/dist/shared/chunk-QL3T5HJQ.js.map +0 -1
  430. package/dist/shared/chunk-QQQ3FYPG.js.map +0 -1
  431. package/dist/shared/chunk-QSND5IWT.js.map +0 -1
  432. package/dist/shared/chunk-RV7AYVFV.js.map +0 -1
  433. package/dist/shared/chunk-SE6O65HC.js.map +0 -1
  434. package/dist/shared/chunk-SHUGHJ7V.js.map +0 -1
  435. package/dist/shared/chunk-TB3X4LRQ.js.map +0 -1
  436. package/dist/shared/chunk-TFGGYU6Y.js.map +0 -1
  437. package/dist/shared/chunk-TNMNMYOB.js.map +0 -1
  438. package/dist/shared/chunk-U7TVEPKA.js.map +0 -1
  439. package/dist/shared/chunk-UQF52PWK.js.map +0 -1
  440. package/dist/shared/chunk-V3UA3LRK.js.map +0 -1
  441. package/dist/shared/chunk-W6MRYRGJ.js.map +0 -1
  442. package/dist/shared/chunk-WGDUJSSS.js.map +0 -1
  443. package/dist/shared/chunk-WKN566LN.js +0 -29
  444. package/dist/shared/chunk-WKN566LN.js.map +0 -1
  445. package/dist/shared/chunk-X6N463D4.js +0 -222
  446. package/dist/shared/chunk-X6N463D4.js.map +0 -1
  447. package/dist/shared/chunk-X75YV73Q.js +0 -178
  448. package/dist/shared/chunk-X75YV73Q.js.map +0 -1
  449. package/dist/shared/chunk-Y74LZNND.js.map +0 -1
  450. package/dist/shared/chunk-Z2NTDFB4.js.map +0 -1
  451. package/dist/shared/chunk-Z35I5JM5.js.map +0 -1
  452. package/dist/shared/chunk-ZLYIRH2B.js.map +0 -1
  453. package/dist/shared/schema-registry.d.ts +0 -5
  454. package/dist/shared/schema-registry.d.ts.map +0 -1
  455. package/dist/shared/schema-registry.js +0 -119
  456. package/dist/shared/schema-registry.js.map +0 -1
  457. package/dist/shared/tests/schema-registry.test.d.ts +0 -2
  458. package/dist/shared/tests/schema-registry.test.d.ts.map +0 -1
  459. package/dist/shared/utils/schema-registry.d.ts +0 -5
  460. package/dist/shared/utils/schema-registry.d.ts.map +0 -1
  461. package/dist/shared/utils/schema-registry.js +0 -29
  462. package/dist/shared/utils/tests/schema-registry.test.d.ts +0 -2
  463. package/dist/shared/utils/tests/schema-registry.test.d.ts.map +0 -1
  464. package/dist/shared/utils/typed-ref.d.ts +0 -43
  465. package/dist/shared/utils/typed-ref.d.ts.map +0 -1
  466. package/dist/shared/utils/typed-ref.js +0 -10
  467. package/dist/shared/utils/typed-ref.js.map +0 -1
  468. package/src/shared/schema-registry.ts +0 -82
  469. package/src/shared/tests/schema-registry.test.ts +0 -14
  470. package/src/shared/utils/schema-registry.ts +0 -82
  471. package/src/shared/utils/tests/schema-registry.test.ts +0 -13
  472. package/src/shared/utils/typed-ref.ts +0 -53
  473. /package/dist/shared/{utils/schema-registry.js.map → bricks/manifests/_types.js.map} +0 -0
@@ -1,35 +1,67 @@
1
1
  import { defineBrickManifest } from "~/shared/brick-manifest";
2
2
  import { defineProps } from "../props/helpers";
3
- import { imageRef } from "../props/image";
4
- import { shadowRef } from "../props/effects";
3
+ import { image } from "../props/image";
4
+ import { shadow } from "../props/effects";
5
5
  import { RxImage } from "react-icons/rx";
6
- import { string } from "../props/string";
7
6
  import { Type } from "@sinclair/typebox";
8
7
  import type { BrickProps } from "../props/types";
9
- import { backgroundColorRef } from "../props/background";
10
- import { borderRef, roundingRef } from "../props/border";
11
- import { loopRef } from "../props/dynamic";
12
- import { colorPresetRef } from "../props/color-preset";
13
- import { cssLengthRef } from "../props/css-length";
8
+ import { border, rounding } from "../props/border";
9
+ import { loop } from "../props/dynamic";
10
+ import { cssLength } from "../props/css-length";
11
+ import { colorPreset } from "../props/color-preset";
14
12
 
15
13
  export const manifest = defineBrickManifest({
16
14
  type: "image",
17
15
  name: "Image",
18
16
  category: "media",
19
17
  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.",
18
+ aiInstructions: `PURPOSE
19
+ 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.
20
+
21
+ REQUIRED
22
+ • 'image.src' and 'image.alt' (alt must be meaningful, not empty; may interpolate page queries fields).
23
+
24
+ COLOR & BACKGROUND
25
+ • 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.
26
+ • Only use gradientDirection when the preset is a gradient token (e.g. primary-gradient-400).
27
+
28
+ STYLING
29
+ • padding should be a single css length value (like '1rem' or '0.75rem').
30
+ • rounding defaults to a modest radius; override for circular avatars (rounded-full) or strong accent (rounded-xl).
31
+ • border optional: keep subtle (border / border-2) unless emphasis required.
32
+ • Use shadow sparingly (shadow-sm / shadow-md); large (shadow-xl) for hero or banner impact.
33
+
34
+ ATTRIBUTION
35
+ • If using external photography include author { name, url } and provider (e.g. 'unsplash'). Omit provider if internal asset.
36
+
37
+ DYNAMIC DATA
38
+ • Interpolate dataset fields with {{dataset.field}} in src and alt.
39
+ • For lists: use loop.over = "datasetName". Provide exactly one example object (this component itself) when looping (do not replicate multiple objects).
40
+
41
+ RESPONSIVE
42
+ • 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.
43
+
44
+ DON'TS
45
+ ✗ Don't add unrelated props.
46
+ ✗ Don't fabricate color tokens (no success-, warning-, danger- etc.).
47
+ ✗ Don't use HTML markup inside alt.
48
+
49
+ DO
50
+ ✓ Provide descriptive alt text (<125 chars) describing content or function.
51
+ ✓ Use semantic color presets consistently.
52
+ ✓ Add author/provider when you have them.
53
+ `,
22
54
  defaultWidth: { desktop: "auto", mobile: "100%" },
23
55
  icon: RxImage,
24
56
  props: defineProps({
25
- image: imageRef({
57
+ image: image({
26
58
  metadata: {
27
59
  category: "content",
28
60
  },
29
61
  }),
30
- colorPreset: Type.Optional(colorPresetRef()),
62
+ colorPreset: Type.Optional(colorPreset()),
31
63
  padding: Type.Optional(
32
- cssLengthRef({
64
+ cssLength({
33
65
  description: "Padding inside the image.",
34
66
  title: "Padding",
35
67
  "ai:instructions": "Use only a single value like '1rem' or '10px'",
@@ -39,14 +71,15 @@ export const manifest = defineBrickManifest({
39
71
  }),
40
72
  ),
41
73
  rounding: Type.Optional(
42
- roundingRef({
74
+ rounding({
43
75
  default: "rounded-md",
44
76
  }),
45
77
  ),
46
- border: Type.Optional(borderRef()),
47
- shadow: Type.Optional(shadowRef()),
78
+ border: Type.Optional(border()),
79
+ shadow: Type.Optional(shadow()),
48
80
  blurHash: Type.Optional(
49
- string("Blur Hash", {
81
+ Type.String({
82
+ title: "Blur hash",
50
83
  "ui:field": "hidden",
51
84
  description: "A placeholder for the image while it is loading. Use a blur hash string.",
52
85
  }),
@@ -54,10 +87,13 @@ export const manifest = defineBrickManifest({
54
87
  author: Type.Optional(
55
88
  Type.Object(
56
89
  {
57
- name: string("Image Author", {
90
+ name: Type.String({
91
+ title: "Image Author",
58
92
  description: "Image author. Use this to give credit to the author",
59
93
  }),
60
- url: string("Image Author URL", {
94
+ url: Type.String({
95
+ title: "Image Author URL",
96
+ format: "uri",
61
97
  description: "Image author URL. Use this to give credit to the author",
62
98
  }),
63
99
  },
@@ -67,12 +103,13 @@ export const manifest = defineBrickManifest({
67
103
  ),
68
104
  ),
69
105
  provider: Type.Optional(
70
- string("Image Provider", {
106
+ Type.String({
107
+ title: "Image Provider",
71
108
  "ui:field": "hidden",
72
109
  "ai:instructions": "The provider of the image, e.g. 'unsplash', 'pexels', etc.",
73
110
  }),
74
111
  ),
75
- loop: Type.Optional(loopRef()),
112
+ loop: Type.Optional(loop()),
76
113
  }),
77
114
  });
78
115
 
@@ -82,6 +119,7 @@ export const examples: {
82
119
  description: string;
83
120
  type: string;
84
121
  props: BrickProps<Manifest>["brick"]["props"];
122
+ mobileProps?: BrickProps<Manifest>["brick"]["props"];
85
123
  }[] = [
86
124
  {
87
125
  description: "Hero landscape image with large shadow",
@@ -94,6 +132,20 @@ export const examples: {
94
132
  shadow: "shadow-lg",
95
133
  },
96
134
  },
135
+ {
136
+ description: "Framed image with accent gradient background and padding",
137
+ type: "image",
138
+ props: {
139
+ image: {
140
+ src: "https://via.placeholder.com/640x360.png?text=Showcase",
141
+ alt: "Showcase screenshot inside accent gradient frame",
142
+ },
143
+ colorPreset: { color: "accent-gradient-400", gradientDirection: "bg-gradient-to-br" },
144
+ padding: "1rem",
145
+ rounding: "rounded-xl",
146
+ shadow: "shadow-md",
147
+ },
148
+ },
97
149
  {
98
150
  description: "Team member profile photo, full rounded",
99
151
  type: "image",
@@ -146,6 +198,21 @@ export const examples: {
146
198
  shadow: "shadow-sm",
147
199
  },
148
200
  },
201
+ {
202
+ description: "Dark framed image with neutral-800 background and subtle border",
203
+ type: "image",
204
+ props: {
205
+ image: {
206
+ src: "https://via.placeholder.com/500x300.png?text=Dark+Mode",
207
+ alt: "Interface preview in dark mode",
208
+ },
209
+ colorPreset: { color: "neutral-800" },
210
+ padding: "1rem",
211
+ border: { width: "border", color: "border-neutral-700" },
212
+ rounding: "rounded-lg",
213
+ shadow: "shadow-md",
214
+ },
215
+ },
149
216
  {
150
217
  description: "Testimonial customer photo with large shadow and small padding",
151
218
  type: "image",
@@ -199,6 +266,29 @@ export const examples: {
199
266
  blurHash: "L6PZfSi_.AyE_3t7t7R**0o#DgR4",
200
267
  },
201
268
  },
269
+ {
270
+ description: "Responsive image with reduced mobile padding",
271
+ type: "image",
272
+ props: {
273
+ image: {
274
+ src: "https://via.placeholder.com/640x360.png?text=Responsive",
275
+ alt: "Responsive framed screenshot",
276
+ },
277
+ padding: "2rem",
278
+ colorPreset: { color: "primary-50" },
279
+ rounding: "rounded-xl",
280
+ shadow: "shadow-sm",
281
+ },
282
+ mobileProps: {
283
+ image: {
284
+ src: "https://via.placeholder.com/640x360.png?text=Responsive",
285
+ alt: "Responsive framed screenshot",
286
+ },
287
+ padding: "1rem",
288
+ colorPreset: { color: "primary-50" },
289
+ rounding: "rounded-lg",
290
+ },
291
+ },
202
292
  {
203
293
  description: "Dynamic employee photo using employee query",
204
294
  type: "image",
@@ -259,6 +349,20 @@ export const examples: {
259
349
  provider: "event-photography",
260
350
  },
261
351
  },
352
+ {
353
+ description: "Loop template: product gallery (one definition, repeated by loop.over)",
354
+ type: "image",
355
+ props: {
356
+ image: {
357
+ src: "{{products.mainImage}}",
358
+ alt: "{{products.name}} – {{products.category}}",
359
+ },
360
+ rounding: "rounded-md",
361
+ padding: "0.5rem",
362
+ shadow: "shadow-sm",
363
+ loop: { over: "products" },
364
+ },
365
+ },
262
366
  {
263
367
  description: "Dynamic article featured image using article query",
264
368
  type: "image",
@@ -2,13 +2,12 @@ import { Type } from "@sinclair/typebox";
2
2
  import { IoGridOutline } from "react-icons/io5";
3
3
  import { defineBrickManifest } from "~/shared/brick-manifest";
4
4
  import { defineProps } from "../props/helpers";
5
- import { imageRef } from "../props/image";
6
- import { string } from "../props/string";
7
- import type { BrickProps } from "../props/types";
8
- import { colorPresetRef } from "../props/color-preset";
9
- import { borderRef, roundingRef } from "../props/border";
10
- import { loopRef } from "../props/dynamic";
11
- import { cssLengthRef } from "../props/css-length";
5
+ import { image } from "../props/image";
6
+ import { colorPreset } from "../props/color-preset";
7
+ import { border, rounding } from "../props/border";
8
+ import { loop } from "../props/dynamic";
9
+ import { cssLength } from "../props/css-length";
10
+ import type { BrickExample } from "./_types";
12
11
 
13
12
  export const manifest = defineBrickManifest({
14
13
  type: "images-gallery",
@@ -33,20 +32,20 @@ export const manifest = defineBrickManifest({
33
32
  icon: IoGridOutline,
34
33
  props: defineProps({
35
34
  colorPreset: Type.Optional(
36
- colorPresetRef({
35
+ colorPreset({
37
36
  title: "Color",
38
37
  }),
39
38
  ),
40
- loop: Type.Optional(loopRef()),
39
+ loop: Type.Optional(loop()),
41
40
  images: Type.Array(
42
41
  Type.Object({
43
- image: imageRef({
42
+ image: image({
44
43
  "ui:responsive": "desktop",
45
44
  "ui:no-alt-text": true,
46
45
  "ui:no-object-options": true,
47
46
  "ui:placeholder": "https://example.com/image.jpg",
48
47
  }),
49
- legend: Type.Optional(string("Legend")),
48
+ legend: Type.Optional(Type.String({ title: "Legend" })),
50
49
  }),
51
50
  {
52
51
  title: "Images",
@@ -85,7 +84,7 @@ export const manifest = defineBrickManifest({
85
84
  }),
86
85
  ),
87
86
  gap: Type.Optional(
88
- cssLengthRef({
87
+ cssLength({
89
88
  title: "Gap",
90
89
  description: "The gap between the images.",
91
90
  default: "1rem",
@@ -93,7 +92,7 @@ export const manifest = defineBrickManifest({
93
92
  }),
94
93
  ),
95
94
  padding: Type.Optional(
96
- cssLengthRef({
95
+ cssLength({
97
96
  default: "3rem",
98
97
  description: "Padding inside the gallery.",
99
98
  "ai:instructions": "Use only a single value like '1rem' or '10px'",
@@ -103,18 +102,14 @@ export const manifest = defineBrickManifest({
103
102
  "ui:styleId": "styles:padding",
104
103
  }),
105
104
  ),
106
- rounding: Type.Optional(roundingRef()),
107
- border: Type.Optional(borderRef()),
105
+ rounding: rounding(),
106
+ border: Type.Optional(border()),
108
107
  }),
109
108
  });
110
109
 
111
110
  export type Manifest = typeof manifest;
112
111
 
113
- export const examples: {
114
- description: string;
115
- type: string;
116
- props: BrickProps<Manifest>["brick"]["props"];
117
- }[] = [
112
+ export const examples: BrickExample<Manifest>[] = [
118
113
  {
119
114
  description: "Product portfolio gallery (3-column grid)",
120
115
  type: "images-gallery",
@@ -1,12 +1,11 @@
1
1
  import { defineBrickManifest } from "~/shared/brick-manifest";
2
2
  import { defineProps } from "../props/helpers";
3
3
  import { LiaMapMarkedAltSolid } from "react-icons/lia";
4
- import { roundingRef } from "../props/border";
5
- import { shadowRef } from "../props/effects";
6
- import type { BrickProps } from "../props/types";
4
+ import { rounding } from "../props/border";
5
+ import { shadow } from "../props/effects";
7
6
  import { Type } from "@sinclair/typebox";
8
7
  import { number } from "../props/number";
9
- import { string } from "../props/string";
8
+ import type { BrickExample } from "./_types";
10
9
 
11
10
  export const DEFAULTS = {
12
11
  lat: 48.8566, // Default latitude (Paris)
@@ -39,16 +38,18 @@ export const manifest = defineBrickManifest({
39
38
  icon: LiaMapMarkedAltSolid,
40
39
  props: defineProps({
41
40
  // location: geolocation({ defaultZoom: DEFAULTS.zoom }),
42
- lat: string("Latitude", { "ui:field": "hidden" }),
43
- lng: string("Longitude", { "ui:field": "hidden" }),
44
- address: string("Address", {
41
+ lat: Type.String({ title: "Latitude", "ui:field": "hidden" }),
42
+ lng: Type.String({ title: "Longitude", "ui:field": "hidden" }),
43
+ address: Type.String({
44
+ title: "Address",
45
45
  "ui:field": "geoaddress",
46
46
  metadata: {
47
47
  category: "content",
48
48
  },
49
49
  }),
50
50
  tooltip: Type.Optional(
51
- string("Tooltip", {
51
+ Type.String({
52
+ title: "Tooltip",
52
53
  metadata: {
53
54
  category: "content",
54
55
  },
@@ -68,21 +69,17 @@ export const manifest = defineBrickManifest({
68
69
  }),
69
70
  ),
70
71
  rounding: Type.Optional(
71
- roundingRef({
72
+ rounding({
72
73
  default: "rounded-xl",
73
74
  }),
74
75
  ),
75
- shadow: Type.Optional(shadowRef()),
76
+ shadow: Type.Optional(shadow()),
76
77
  }),
77
78
  });
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",
@@ -1,16 +1,18 @@
1
1
  import { type Static, type TObject, Type } from "@sinclair/typebox";
2
2
  import { defineBrickManifest } from "~/shared/brick-manifest";
3
3
  import { defineProps } from "../props/helpers";
4
- import { string, urlOrPageIdRef } from "../props/string";
5
- import { imageRef } from "../props/image";
6
- import { textContentRef } from "../props/text";
7
- import { shadowRef } from "../props/effects";
4
+ import { urlOrPageId } from "../props/string";
5
+ import { image } from "../props/image";
6
+ import { textContent } from "../props/text";
7
+ import { shadow } from "../props/effects";
8
8
  import { boolean } from "../props/boolean";
9
9
  import { VscLayoutPanelOff } from "react-icons/vsc";
10
10
  import type { BrickProps } from "../props/types";
11
- import { colorPresetRef } from "../props/color-preset";
12
- import { tagsRef } from "../props/tags";
11
+ import { colorPreset } from "../props/color-preset";
12
+ import { tags } from "../props/tags";
13
13
  import { toLLMSchema } from "~/shared/utils/llm";
14
+ import type { BrickExample } from "./_types";
15
+ import { StringEnum } from "~/shared/utils/string-enum";
14
16
 
15
17
  export const manifest = defineBrickManifest({
16
18
  type: "navbar",
@@ -31,14 +33,14 @@ export const manifest = defineBrickManifest({
31
33
  props: defineProps(
32
34
  {
33
35
  colorPreset: Type.Optional(
34
- colorPresetRef({
36
+ colorPreset({
35
37
  title: "Color",
36
38
  default: { color: "primary-500" },
37
39
  examples: [{ color: "primary-500" }, { color: "neutral-900" }, { color: "secondary-200" }],
38
40
  }),
39
41
  ),
40
42
  brand: Type.Optional(
41
- textContentRef({
43
+ textContent({
42
44
  title: "Brand name",
43
45
  default: "Acme Inc.",
44
46
  disableSizing: true,
@@ -51,7 +53,7 @@ export const manifest = defineBrickManifest({
51
53
  }),
52
54
  ),
53
55
  logo: Type.Optional(
54
- imageRef({
56
+ image({
55
57
  title: "Logo",
56
58
  "ui:show-img-search": false,
57
59
  "ui:no-object-options": true,
@@ -74,7 +76,7 @@ export const manifest = defineBrickManifest({
74
76
  }),
75
77
  ),
76
78
  linksTagsFilter: Type.Optional(
77
- tagsRef({
79
+ tags({
78
80
  title: "Pages tags",
79
81
  description: "Filter pages links in the navbar by tags. Only pages with these tags will be shown.",
80
82
  default: ["navbar"],
@@ -87,8 +89,8 @@ export const manifest = defineBrickManifest({
87
89
  staticNavItems: Type.Optional(
88
90
  Type.Array(
89
91
  Type.Object({
90
- urlOrPageId: urlOrPageIdRef(),
91
- label: Type.Optional(string("Label")),
92
+ urlOrPageId: urlOrPageId(),
93
+ label: Type.Optional(Type.String({ title: "Label" })),
92
94
  }),
93
95
  {
94
96
  title: "Static links",
@@ -109,16 +111,14 @@ export const manifest = defineBrickManifest({
109
111
  ),
110
112
  ),
111
113
  linksPosition: Type.Optional(
112
- Type.Union(
113
- [
114
- Type.Literal("left", { title: "Left" }),
115
- Type.Literal("center", { title: "Center" }),
116
- Type.Literal("right", { title: "Right" }),
117
- ],
118
- { title: "Links position", default: "right", "ui:responsive": "desktop" },
119
- ),
114
+ StringEnum(["left", "center", "right"], {
115
+ enumNames: ["Left", "Center", "Right"],
116
+ title: "Links position",
117
+ default: "right",
118
+ "ui:responsive": "desktop",
119
+ }),
120
120
  ),
121
- shadow: Type.Optional(shadowRef()),
121
+ shadow: Type.Optional(shadow()),
122
122
  },
123
123
  { noAlignSelf: true, noGrow: true },
124
124
  ),
@@ -129,11 +129,7 @@ export type NavbarProps = Static<Manifest["props"]>;
129
129
 
130
130
  export const navbarSchemaPropsLLM = toLLMSchema(manifest.props);
131
131
 
132
- export const examples: {
133
- description: string;
134
- type: string;
135
- props: BrickProps<Manifest>["brick"]["props"];
136
- }[] = [
132
+ export const examples: BrickExample<Manifest>[] = [
137
133
  {
138
134
  description:
139
135
  "Corporate technology company navbar featuring company logo with right-aligned navigation links filtered by navbar and featured tags",
@@ -2,12 +2,13 @@ import { defineBrickManifest } from "~/shared/brick-manifest";
2
2
  import { defineProps, group } from "../props/helpers";
3
3
  import { VscLayoutSidebarLeftOff } from "react-icons/vsc";
4
4
  import { Type } from "@sinclair/typebox";
5
- import { string, urlOrPageIdRef } from "../props/string";
6
- import { backgroundColorRef } from "../props/background";
7
- import { borderRef } from "../props/border";
5
+ import { urlOrPageId } from "../props/string";
6
+ import { backgroundColor } from "../props/background";
7
+ import { border } from "../props/border";
8
8
  import { fixedPositioned } from "../props/position";
9
9
  import type { BrickProps } from "../props/types";
10
- import { shadowRef } from "../props/effects";
10
+ import { shadow } from "../props/effects";
11
+ import type { BrickExample } from "./_types";
11
12
 
12
13
  export const manifest = defineBrickManifest({
13
14
  type: "sidebar",
@@ -29,9 +30,9 @@ export const manifest = defineBrickManifest({
29
30
  group({
30
31
  title: "Main element",
31
32
  children: {
32
- backgroundColor: Type.Optional(backgroundColorRef()),
33
- border: Type.Optional(borderRef()),
34
- shadow: Type.Optional(shadowRef()),
33
+ backgroundColor: Type.Optional(backgroundColor()),
34
+ border: Type.Optional(border()),
35
+ shadow: Type.Optional(shadow()),
35
36
  fixedPositioned: Type.Optional(fixedPositioned()),
36
37
  },
37
38
  metadata: {
@@ -46,8 +47,8 @@ export const manifest = defineBrickManifest({
46
47
  navItems: Type.Optional(
47
48
  Type.Array(
48
49
  Type.Object({
49
- urlOrPageId: urlOrPageIdRef(),
50
- label: Type.Optional(string("Label")),
50
+ urlOrPageId: urlOrPageId(),
51
+ label: Type.Optional(Type.String({ title: "Label" })),
51
52
  }),
52
53
  { title: "Navigation items", default: [] },
53
54
  ),
@@ -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",
@@ -2,13 +2,14 @@ import { Type } from "@sinclair/typebox";
2
2
  import { TiSocialFlickr } from "react-icons/ti";
3
3
  import { defineBrickManifest } from "~/shared/brick-manifest";
4
4
  import { defineProps } from "../props/helpers";
5
- import { iconRef, string } from "../props/string";
5
+ import { icon } from "../props/string";
6
6
  import type { BrickProps } from "../props/types";
7
- import { fontSizeRef } from "../props/text";
8
- import { directionRef } from "../props/direction";
9
- import { colorPresetRef } from "../props/color-preset";
10
- import { borderRef, roundingRef } from "../props/border";
11
- import { cssLengthRef } from "../props/css-length";
7
+ import { fontSize } from "../props/text";
8
+ import { direction } from "../props/direction";
9
+ import { colorPreset } from "../props/color-preset";
10
+ import { border, rounding } from "../props/border";
11
+ import { cssLength } from "../props/css-length";
12
+ import type { BrickExample } from "./_types";
12
13
 
13
14
  export const manifest = defineBrickManifest({
14
15
  type: "social-links",
@@ -20,19 +21,19 @@ export const manifest = defineBrickManifest({
20
21
  },
21
22
  props: defineProps({
22
23
  colorPreset: Type.Optional(
23
- colorPresetRef({
24
+ colorPreset({
24
25
  title: "Color",
25
26
  }),
26
27
  ),
27
28
  links: Type.Array(
28
29
  Type.Object({
29
30
  icon: Type.Optional(
30
- iconRef({
31
+ icon({
31
32
  "ui:default-icon-collection": "cib",
32
33
  }),
33
34
  ),
34
- label: Type.Optional(string("Label")),
35
- href: string("Link"),
35
+ label: Type.Optional(Type.String({ title: "Label" })),
36
+ href: Type.String({ title: "Link" }),
36
37
  }),
37
38
  {
38
39
  title: "Social Links",
@@ -67,13 +68,13 @@ export const manifest = defineBrickManifest({
67
68
  },
68
69
  ),
69
70
  direction: Type.Optional(
70
- directionRef({
71
+ direction({
71
72
  default: "flex-row",
72
73
  }),
73
74
  ),
74
- fontSize: Type.Optional(fontSizeRef()),
75
+ fontSize: Type.Optional(fontSize()),
75
76
  padding: Type.Optional(
76
- cssLengthRef({
77
+ cssLength({
77
78
  default: "2rem",
78
79
  description: "Padding.",
79
80
  "ai:instructions": "Use only a single value like '1rem' or '10px'",
@@ -83,12 +84,10 @@ export const manifest = defineBrickManifest({
83
84
  "ui:styleId": "styles:padding",
84
85
  }),
85
86
  ),
86
- rounding: Type.Optional(
87
- roundingRef({
88
- default: "rounded-md",
89
- }),
90
- ),
91
- border: Type.Optional(borderRef()),
87
+ rounding: rounding({
88
+ default: "rounded-md",
89
+ }),
90
+ border: Type.Optional(border()),
92
91
  iconOnly: Type.Optional(
93
92
  Type.Boolean({
94
93
  title: "Only icons",
@@ -100,11 +99,7 @@ export const manifest = defineBrickManifest({
100
99
 
101
100
  export type Manifest = typeof manifest;
102
101
 
103
- export const examples: {
104
- description: string;
105
- type: string;
106
- props: BrickProps<Manifest>["brick"]["props"];
107
- }[] = [
102
+ export const examples: BrickExample<Manifest>[] = [
108
103
  {
109
104
  description: "Social icons displayed horizontally, without labels",
110
105
  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",