@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
@@ -2,14 +2,13 @@ import { Type } from "@sinclair/typebox";
2
2
  import { RiTable2 } from "react-icons/ri";
3
3
  import { defineBrickManifest } from "~/shared/brick-manifest";
4
4
  import { defineProps } from "../props/helpers";
5
- import { string } from "../props/string";
6
- import type { BrickProps } from "../props/types";
7
- import { colorPresetRef } from "../props/color-preset";
8
- import { borderRef, roundingRef } from "../props/border";
9
- import { loopRef } from "../props/dynamic";
10
- import { cssLengthRef } from "../props/css-length";
11
- import { fontSizeRef } from "../props/text";
5
+ import { colorPreset } from "../props/color-preset";
6
+ import { border, rounding } from "../props/border";
7
+ import { loop } from "../props/dynamic";
8
+ import { cssLength } from "../props/css-length";
9
+ import { fontSize } from "../props/text";
12
10
  import { StringEnum } from "~/shared/utils/string-enum";
11
+ import type { BrickExample } from "./_types";
13
12
 
14
13
  export const manifest = defineBrickManifest({
15
14
  type: "table",
@@ -34,18 +33,20 @@ export const manifest = defineBrickManifest({
34
33
  icon: RiTable2,
35
34
  props: defineProps({
36
35
  colorPreset: Type.Optional(
37
- colorPresetRef({
36
+ colorPreset({
38
37
  title: "Color",
39
38
  }),
40
39
  ),
41
- loop: Type.Optional(loopRef()),
40
+ loop: Type.Optional(loop()),
42
41
  columns: Type.Array(
43
42
  Type.Object({
44
- header: string("Header", {
43
+ header: Type.String({
44
+ title: "Header",
45
45
  default: "Column Header",
46
46
  metadata: { category: "content" },
47
47
  }),
48
- field: string("Field", {
48
+ field: Type.String({
49
+ title: "Field",
49
50
  default: "fieldName",
50
51
  description: "The field name from the data source or static content",
51
52
  metadata: { category: "content" },
@@ -124,14 +125,14 @@ export const manifest = defineBrickManifest({
124
125
  }),
125
126
  ),
126
127
  fontSize: Type.Optional(
127
- fontSizeRef({
128
+ fontSize({
128
129
  title: "Font Size",
129
130
  description: "Text size for table content",
130
131
  default: "text-sm",
131
132
  }),
132
133
  ),
133
134
  padding: Type.Optional(
134
- cssLengthRef({
135
+ cssLength({
135
136
  default: "1rem",
136
137
  description: "Padding inside table cells",
137
138
  title: "Cell Padding",
@@ -141,12 +142,12 @@ export const manifest = defineBrickManifest({
141
142
  }),
142
143
  ),
143
144
  rounding: Type.Optional(
144
- roundingRef({
145
+ rounding({
145
146
  default: "rounded-lg",
146
147
  }),
147
148
  ),
148
149
  border: Type.Optional(
149
- borderRef({
150
+ border({
150
151
  default: { width: "border", color: "border-gray-200" },
151
152
  }),
152
153
  ),
@@ -155,11 +156,7 @@ export const manifest = defineBrickManifest({
155
156
 
156
157
  export type Manifest = typeof manifest;
157
158
 
158
- export const examples: {
159
- description: string;
160
- type: string;
161
- props: BrickProps<Manifest>["brick"]["props"];
162
- }[] = [
159
+ export const examples: BrickExample<Manifest>[] = [
163
160
  {
164
161
  description: "Team members table with basic information",
165
162
  type: "table",
@@ -1,14 +1,15 @@
1
1
  import { defineBrickManifest } from "~/shared/brick-manifest";
2
2
  import { defineProps } from "../props/helpers";
3
3
  import { Type } from "@sinclair/typebox";
4
- import { borderRef, roundingRef } from "../props/border";
5
- import { shadowRef } from "../props/effects";
4
+ import { border, rounding } from "../props/border";
5
+ import { shadow } from "../props/effects";
6
6
  import type { BrickProps } from "../props/types";
7
- import { cssLengthRef } from "../props/css-length";
7
+ import { cssLength } from "../props/css-length";
8
8
  import { HiOutlineViewColumns } from "react-icons/hi2";
9
- import { colorPresetRef } from "../props/color-preset";
10
- import { loopRef } from "../props/dynamic";
9
+ import { colorPreset } from "../props/color-preset";
10
+ import { loop } from "../props/dynamic";
11
11
  import { StringEnum } from "~/shared/utils/string-enum";
12
+ import type { BrickExample } from "./_types";
12
13
 
13
14
  // Tab configuration schema
14
15
  const tabRef = Type.Object({
@@ -43,7 +44,7 @@ export const manifest = defineBrickManifest({
43
44
  icon: HiOutlineViewColumns,
44
45
  props: defineProps({
45
46
  colorPreset: Type.Optional(
46
- colorPresetRef({
47
+ colorPreset({
47
48
  title: "Color",
48
49
  }),
49
50
  ),
@@ -94,7 +95,7 @@ export const manifest = defineBrickManifest({
94
95
  }),
95
96
  ),
96
97
  padding: Type.Optional(
97
- cssLengthRef({
98
+ cssLength({
98
99
  default: "1.5rem",
99
100
  description: "Padding inside each tab panel.",
100
101
  "ai:instructions": "Use values like '1rem', '1.5rem', or '2rem' for tab content padding",
@@ -104,7 +105,7 @@ export const manifest = defineBrickManifest({
104
105
  }),
105
106
  ),
106
107
  gap: Type.Optional(
107
- cssLengthRef({
108
+ cssLength({
108
109
  title: "Tab Gap",
109
110
  default: "0.5rem",
110
111
  description: "Gap between tab buttons.",
@@ -113,14 +114,12 @@ export const manifest = defineBrickManifest({
113
114
  "ui:styleId": "styles:gap",
114
115
  }),
115
116
  ),
116
- rounding: Type.Optional(
117
- roundingRef({
118
- default: "rounded-md",
119
- }),
120
- ),
121
- border: Type.Optional(borderRef()),
122
- shadow: Type.Optional(shadowRef()),
123
- loop: Type.Optional(loopRef()),
117
+ rounding: rounding({
118
+ default: "rounded-md",
119
+ }),
120
+ border: Type.Optional(border()),
121
+ shadow: Type.Optional(shadow()),
122
+ loop: Type.Optional(loop()),
124
123
  $children: Type.Array(Type.Array(Type.Any()), {
125
124
  "ui:field": "hidden",
126
125
  description: "Array of child brick arrays - each sub-array represents the content for one tab",
@@ -160,11 +159,7 @@ export const manifest = defineBrickManifest({
160
159
 
161
160
  export type Manifest = typeof manifest;
162
161
 
163
- export const examples: {
164
- description: string;
165
- type: string;
166
- props: BrickProps<Manifest>["brick"]["props"];
167
- }[] = [
162
+ export const examples: BrickExample<Manifest>[] = [
168
163
  {
169
164
  description: "Simple tabs with basic content in each panel",
170
165
  type: "tabs",
@@ -2,15 +2,16 @@ import { type Static, type TObject, Type } from "@sinclair/typebox";
2
2
  import { HiOutlineChatBubbleBottomCenter } from "react-icons/hi2";
3
3
  import { defineBrickManifest } from "~/shared/brick-manifest";
4
4
  import { defineProps } from "../props/helpers";
5
- import { imageRef } from "../props/image";
6
- import { iconRef, string } from "../props/string";
5
+ import { image } from "../props/image";
6
+ import { icon } from "../props/string";
7
7
  import type { BrickProps } from "../props/types";
8
- import { fontSizeRef } from "../props/text";
9
- import { colorPresetRef } from "../props/color-preset";
10
- import { cssLengthRef } from "../props/css-length";
11
- import { loopRef } from "../props/dynamic";
12
- import { borderRef } from "../props/border";
13
- import { shadowRef } from "../props/effects";
8
+ import { fontSize } from "../props/text";
9
+ import { colorPreset } from "../props/color-preset";
10
+ import { cssLength } from "../props/css-length";
11
+ import { loop } from "../props/dynamic";
12
+ import { border } from "../props/border";
13
+ import { shadow } from "../props/effects";
14
+ import type { BrickExample } from "./_types";
14
15
 
15
16
  export const manifest = defineBrickManifest({
16
17
  type: "testimonials",
@@ -25,13 +26,13 @@ Optionally either use an avatar or a social icon but not both at the same time.`
25
26
  props: defineProps(
26
27
  {
27
28
  colorPreset: Type.Optional(
28
- colorPresetRef({
29
+ colorPreset({
29
30
  title: "Color",
30
31
  default: "base-100",
31
32
  }),
32
33
  ),
33
34
  border: Type.Optional(
34
- borderRef({
35
+ border({
35
36
  title: "Border",
36
37
  description: "Customize the border of the testimonial cards.",
37
38
  default: {
@@ -41,12 +42,12 @@ Optionally either use an avatar or a social icon but not both at the same time.`
41
42
  }),
42
43
  ),
43
44
  fontSize: Type.Optional(
44
- fontSizeRef({
45
+ fontSize({
45
46
  "ui:no-extra-large-sizes": true,
46
47
  }),
47
48
  ),
48
49
  padding: Type.Optional(
49
- cssLengthRef({
50
+ cssLength({
50
51
  default: "1rem",
51
52
  description: "Padding inside the main container.",
52
53
  "ai:instructions": "Use only a single value like '1rem' or '10px'",
@@ -57,7 +58,7 @@ Optionally either use an avatar or a social icon but not both at the same time.`
57
58
  }),
58
59
  ),
59
60
  gap: Type.Optional(
60
- cssLengthRef({
61
+ cssLength({
61
62
  title: "Gap",
62
63
  default: "26px",
63
64
  description: "Space between bricks.",
@@ -67,9 +68,9 @@ Optionally either use an avatar or a social icon but not both at the same time.`
67
68
  "ui:styleId": "styles:gap",
68
69
  }),
69
70
  ),
70
- shadow: Type.Optional(shadowRef()),
71
+ shadow: Type.Optional(shadow()),
71
72
  loop: Type.Optional(
72
- loopRef({
73
+ loop({
73
74
  // title: "Use dynamic content",
74
75
  description:
75
76
  "If enabled, each row from the query result will be used to create a testimonial. Otherwise, the testimonials will be static.",
@@ -79,21 +80,22 @@ Optionally either use an avatar or a social icon but not both at the same time.`
79
80
  testimonials: Type.Optional(
80
81
  Type.Array(
81
82
  Type.Object({
82
- text: string("Text", {
83
+ text: Type.String({
84
+ title: "Text",
83
85
  default: "Amazing product!",
84
86
  "ui:multiline": true,
85
87
  "ui:textarea-class": "h-20",
86
88
  }),
87
- author: string("Author", { default: "John Doe" }),
88
- company: Type.Optional(string("Company")),
89
+ author: Type.String({ title: "Author", default: "John Doe" }),
90
+ company: Type.Optional(Type.String({ title: "Company" })),
89
91
  avatar: Type.Optional(
90
- imageRef({
92
+ image({
91
93
  title: "Avatar",
92
94
  "ui:placeholder": "https://via.placeholder.com/80x80.png?text=JD",
93
95
  noObjectOptions: true,
94
96
  }),
95
97
  ),
96
- socialIcon: Type.Optional(iconRef()),
98
+ socialIcon: Type.Optional(icon()),
97
99
  }),
98
100
  {
99
101
  title: "Testimonials",
@@ -134,11 +136,7 @@ Optionally either use an avatar or a social icon but not both at the same time.`
134
136
 
135
137
  export type Manifest = typeof manifest;
136
138
 
137
- export const examples: {
138
- description: string;
139
- type: string;
140
- props: BrickProps<Manifest>["brick"]["props"];
141
- }[] = [
139
+ export const examples: BrickExample<Manifest>[] = [
142
140
  {
143
141
  description: "SaaS platform testimonials with avatars",
144
142
  type: "testimonials",
@@ -1,25 +1,50 @@
1
1
  import { defineBrickManifest } from "~/shared/brick-manifest";
2
- import { textContentRef } from "../props/text";
2
+ import { textContent } from "../props/text";
3
3
  import { defineProps } from "../props/helpers";
4
- import { borderRef, roundingRef } from "../props/border";
4
+ import { border, rounding } from "../props/border";
5
5
  import { RxTextAlignLeft } from "react-icons/rx";
6
- import type { BrickProps } from "../props/types";
7
6
  import { Type } from "@sinclair/typebox";
8
- import { alignItemsRef } from "../props/align";
9
- import { shadowRef } from "../props/effects";
10
- import { colorPresetRef } from "../props/color-preset";
11
- import { loopRef } from "../props/dynamic";
12
- import { cssLengthRef } from "../props/css-length";
7
+ import { alignItems } from "../props/align";
8
+ import { shadow } from "../props/effects";
9
+ import { colorPreset } from "../props/color-preset";
10
+ import { loop } from "../props/dynamic";
11
+ import { cssLength } from "../props/css-length";
12
+ import type { BrickExample } from "./_types";
13
13
 
14
14
  export const manifest = defineBrickManifest({
15
15
  type: "text",
16
16
  category: "basic",
17
17
  name: "Text",
18
18
  description: "Text with formatting options",
19
- aiInstructions: `Text "content" can contain minimal HTML tags like <strong>, <em>, <br> and <a> as well as <h1>, <h2>, <h3>, <h4>, <p> and <span> and lists.
20
- Only 'align' is supported as an inline style, so don't use other inline styles like 'font-size' or 'color' in the content prop.
21
- You may simply omit the "colorPreset" property so that the brick will inherit the default color from its parent container.
22
- `,
19
+ aiInstructions: `Use the text component for rich content blocks, announcements, descriptions, and formatted text throughout your site.
20
+
21
+ CONTENT FORMATTING:
22
+ - Supports HTML tags: <h1>, <h2>, <h3>, <h4>, <p>, <span>, <strong>, <em>, <br>, <a>, <ul>, <li>, <ol>
23
+ - Only 'text-align' style is supported (center, left, right) - avoid other inline styles
24
+ - Use <strong> for emphasis, <em> for italics, <br> for line breaks
25
+ - Links: <a href="/page">Internal</a> or <a href="https://external.com">External</a>
26
+ - Lists: <ul><li>Item 1</li><li>Item 2</li></ul>
27
+
28
+ STYLING OPTIONS:
29
+ - colorPreset: Leave empty to inherit parent colors, or use "primary-100", "secondary-200", "neutral-50", "accent-100" for backgrounds
30
+ - padding: Use CSS values like "1rem", "2rem", "24px" for internal spacing
31
+ - rounding: "rounded-none" (sharp), "rounded-md" (standard), "rounded-lg" (friendly), "rounded-xl" (soft)
32
+ - border: Add borders with width ("border", "border-2") and color ("border-gray-300", "border-primary-500")
33
+ - shadow: Add depth with "shadow-sm", "shadow-md", "shadow-lg"
34
+
35
+ WHEN TO USE:
36
+ - Rich content sections (About Us, Service descriptions)
37
+ - Announcements and notices
38
+ - Product descriptions with formatting
39
+ - Quotes and testimonials
40
+ - FAQ content and detailed explanations
41
+ - Footer information and legal text
42
+
43
+ BEST PRACTICES:
44
+ - Keep HTML minimal - complex layouts should use multiple components
45
+ - Use semantic headings (h2, h3, h4) for proper hierarchy
46
+ - Center-align for quotes/testimonials, left-align for body text
47
+ - Choose background colors that provide good contrast, or no background for inline text`,
23
48
  defaultWidth: {
24
49
  mobile: "100%",
25
50
  },
@@ -31,24 +56,24 @@ You may simply omit the "colorPreset" property so that the brick will inherit th
31
56
  icon: RxTextAlignLeft,
32
57
  props: defineProps({
33
58
  colorPreset: Type.Optional(
34
- colorPresetRef({
59
+ colorPreset({
35
60
  title: "Color",
36
61
  }),
37
62
  ),
38
- content: textContentRef({
63
+ content: textContent({
39
64
  title: "Content",
40
65
  // metadata: {
41
66
  // category: "content",
42
67
  // },
43
68
  }),
44
69
  verticalAlign: Type.Optional(
45
- alignItemsRef({
70
+ alignItems({
46
71
  default: "items-center",
47
72
  title: "Align",
48
73
  }),
49
74
  ),
50
75
  padding: Type.Optional(
51
- cssLengthRef({
76
+ cssLength({
52
77
  default: "2rem",
53
78
  description: "Padding inside the text.",
54
79
  "ai:instructions": "Use only a single value like '1rem' or '10px'",
@@ -58,24 +83,17 @@ You may simply omit the "colorPreset" property so that the brick will inherit th
58
83
  "ui:styleId": "styles:padding",
59
84
  }),
60
85
  ),
61
- rounding: Type.Optional(
62
- roundingRef({
63
- default: "rounded-md",
64
- }),
65
- ),
66
- border: Type.Optional(borderRef()),
67
- shadow: Type.Optional(shadowRef()),
68
- loop: Type.Optional(loopRef()),
86
+ rounding: rounding({
87
+ default: "rounded-md",
88
+ }),
89
+ border: Type.Optional(border()),
90
+ shadow: Type.Optional(shadow()),
69
91
  }),
70
92
  });
71
93
 
72
94
  export type Manifest = typeof manifest;
73
95
 
74
- export const examples: {
75
- description: string;
76
- type: string;
77
- props: BrickProps<Manifest>["brick"]["props"];
78
- }[] = [
96
+ export const examples: BrickExample<Manifest>[] = [
79
97
  {
80
98
  description: "Welcome paragraph with emphasis and padding",
81
99
  type: "text",
@@ -1,13 +1,15 @@
1
1
  import { Type } from "@sinclair/typebox";
2
2
  import { defineBrickManifest } from "~/shared/brick-manifest";
3
3
  import { defineProps } from "../props/helpers";
4
- import { colorPresetRef } from "../props/color-preset";
5
- import { cssLengthRef } from "../props/css-length";
6
- import { borderRef, roundingRef } from "../props/border";
7
- import { shadowRef } from "../props/effects";
4
+ import { colorPreset } from "../props/color-preset";
5
+ import { cssLength } from "../props/css-length";
6
+ import { border, rounding } from "../props/border";
7
+ import { shadow } from "../props/effects";
8
8
  import { BsListCheck } from "react-icons/bs";
9
- import { loopRef } from "../props/dynamic";
9
+ import { loop } from "../props/dynamic";
10
10
  import type { BrickProps } from "../props/types";
11
+ import type { BrickExample } from "./_types";
12
+ import { StringEnum } from "~/shared/utils/string-enum";
11
13
 
12
14
  const timelineItemSchema = Type.Object({
13
15
  id: Type.Optional(Type.String({ title: "ID" })),
@@ -40,7 +42,8 @@ const timelineItemSchema = Type.Object({
40
42
  }),
41
43
  ),
42
44
  status: Type.Optional(
43
- Type.Union([Type.Literal("completed"), Type.Literal("current"), Type.Literal("upcoming")], {
45
+ StringEnum(["completed", "current", "upcoming"], {
46
+ enumNames: ["Completed", "Current", "Upcoming"],
44
47
  title: "Status",
45
48
  description: "Timeline item status for visual styling",
46
49
  }),
@@ -54,6 +57,7 @@ export const manifest = defineBrickManifest({
54
57
  description:
55
58
  "A vertical timeline component to display chronological events, milestones, or processes with optional content for each item",
56
59
  icon: BsListCheck,
60
+ consumesMultipleQueryRows: true,
57
61
  props: defineProps({
58
62
  items: Type.Array(timelineItemSchema, {
59
63
  title: "Timeline Items",
@@ -74,7 +78,8 @@ export const manifest = defineBrickManifest({
74
78
 
75
79
  // Layout options
76
80
  layout: Type.Optional(
77
- Type.Union([Type.Literal("left"), Type.Literal("right"), Type.Literal("alternating")], {
81
+ StringEnum(["left", "right", "alternating"], {
82
+ enumNames: ["Left", "Right", "Alternating"],
78
83
  title: "Layout",
79
84
  description: "Timeline layout style",
80
85
  default: "left",
@@ -90,7 +95,7 @@ export const manifest = defineBrickManifest({
90
95
  ),
91
96
 
92
97
  connectorColor: Type.Optional(
93
- colorPresetRef({
98
+ colorPreset({
94
99
  title: "Connector Color",
95
100
  description: "Color of the timeline connector line",
96
101
  }),
@@ -98,7 +103,7 @@ export const manifest = defineBrickManifest({
98
103
 
99
104
  // Timeline item styling
100
105
  itemSpacing: Type.Optional(
101
- cssLengthRef({
106
+ cssLength({
102
107
  title: "Item Spacing",
103
108
  description: "Vertical spacing between timeline items",
104
109
  default: "2rem",
@@ -112,9 +117,9 @@ export const manifest = defineBrickManifest({
112
117
  default: true,
113
118
  }),
114
119
  ),
115
-
116
120
  iconSize: Type.Optional(
117
- Type.Union([Type.Literal("sm"), Type.Literal("md"), Type.Literal("lg")], {
121
+ StringEnum(["sm", "md", "lg"], {
122
+ enumNames: ["Small", "Medium", "Large"],
118
123
  title: "Icon Size",
119
124
  description: "Size of timeline item icons",
120
125
  default: "md",
@@ -130,7 +135,8 @@ export const manifest = defineBrickManifest({
130
135
  ),
131
136
 
132
137
  datePosition: Type.Optional(
133
- Type.Union([Type.Literal("top"), Type.Literal("bottom"), Type.Literal("inline")], {
138
+ StringEnum(["top", "bottom", "inline"], {
139
+ enumNames: ["Top", "Bottom", "Inline"],
134
140
  title: "Date Position",
135
141
  description: "Position of dates relative to content",
136
142
  default: "top",
@@ -139,52 +145,48 @@ export const manifest = defineBrickManifest({
139
145
 
140
146
  // Styling
141
147
  colorPreset: Type.Optional(
142
- colorPresetRef({
148
+ colorPreset({
143
149
  title: "Color Preset",
144
150
  description: "Color theme for the timeline",
145
151
  }),
146
152
  ),
147
153
 
148
154
  padding: Type.Optional(
149
- cssLengthRef({
155
+ cssLength({
150
156
  title: "Padding",
151
157
  description: "Internal padding for the timeline container",
152
158
  }),
153
159
  ),
154
160
 
155
161
  border: Type.Optional(
156
- borderRef({
162
+ border({
157
163
  title: "Border",
158
164
  description: "Border styling for the timeline container",
159
165
  }),
160
166
  ),
161
167
 
162
168
  shadow: Type.Optional(
163
- shadowRef({
169
+ shadow({
164
170
  title: "Shadow",
165
171
  description: "Shadow effect for the timeline container",
166
172
  }),
167
173
  ),
168
174
 
169
175
  rounding: Type.Optional(
170
- roundingRef({
176
+ rounding({
171
177
  title: "Rounding",
172
178
  description: "Corner rounding for the timeline container",
173
179
  }),
174
180
  ),
175
181
 
176
182
  // Content loop support
177
- loop: Type.Optional(loopRef()),
183
+ loop: Type.Optional(loop()),
178
184
  }),
179
185
  });
180
186
 
181
187
  export type Manifest = typeof manifest;
182
188
 
183
- export const examples: {
184
- description: string;
185
- type: string;
186
- props: BrickProps<Manifest>["brick"]["props"];
187
- }[] = [
189
+ export const examples: BrickExample<Manifest>[] = [
188
190
  {
189
191
  description: "Basic timeline with milestones",
190
192
  type: "timeline",
@@ -257,8 +259,8 @@ export const examples: {
257
259
  },
258
260
  ],
259
261
  layout: "alternating",
260
- colorPreset: { color: "blue-500" },
261
- connectorColor: { color: "blue-300" },
262
+ colorPreset: { color: "primary-500" },
263
+ connectorColor: { color: "primary-300" },
262
264
  itemSpacing: "3rem",
263
265
  },
264
266
  },
@@ -385,8 +387,8 @@ export const examples: {
385
387
  },
386
388
  ],
387
389
  layout: "right",
388
- colorPreset: { color: "green-500" },
389
- border: { width: "border", color: "gray-200" },
390
+ colorPreset: { color: "secondary-500" },
391
+ border: { width: "border", color: "secondary-200" },
390
392
  rounding: "rounded-lg",
391
393
  padding: "2rem",
392
394
  },
@@ -429,13 +431,13 @@ export const examples: {
429
431
  description: "Create comprehensive usage documentation",
430
432
  },
431
433
  ],
432
- colorPreset: { color: "purple-500" },
434
+ colorPreset: { color: "secondary-500" },
433
435
  shadow: "shadow-lg",
434
436
  border: { width: "border", color: "purple-200" },
435
437
  rounding: "rounded-xl",
436
438
  padding: "2.5rem",
437
439
  itemSpacing: "2.5rem",
438
- connectorColor: { color: "purple-300" },
440
+ connectorColor: { color: "secondary-300" },
439
441
  },
440
442
  },
441
443
  ];
@@ -1,12 +1,11 @@
1
1
  import { defineBrickManifest } from "~/shared/brick-manifest";
2
2
  import { defineProps } from "../props/helpers";
3
3
  import { RxVideo } from "react-icons/rx";
4
- import { string } from "../props/string";
5
- import type { BrickProps } from "../props/types";
6
- import { borderRef, roundingRef } from "../props/border";
7
- import { shadowRef } from "../props/effects";
4
+ import { border, rounding } from "../props/border";
5
+ import { shadow } from "../props/effects";
8
6
  import { Type } from "@sinclair/typebox";
9
- import { cssLengthRef } from "../props/css-length";
7
+ import { cssLength } from "../props/css-length";
8
+ import type { BrickExample } from "./_types";
10
9
 
11
10
  export const manifest = defineBrickManifest({
12
11
  type: "video",
@@ -31,7 +30,8 @@ export const manifest = defineBrickManifest({
31
30
  desktop: 360, // 16:9 aspect ratio
32
31
  },
33
32
  props: defineProps({
34
- url: string("Video URL", {
33
+ url: Type.String({
34
+ title: "Video URL",
35
35
  description:
36
36
  "URL of the video to embed. It can be a YouTube link or an embed link. It also supports Vimeo and Wistia links.",
37
37
  default: "https://www.youtube.com/watch?v=dQw4w9WgXcQ",
@@ -41,7 +41,7 @@ export const manifest = defineBrickManifest({
41
41
  },
42
42
  }),
43
43
  padding: Type.Optional(
44
- cssLengthRef({
44
+ cssLength({
45
45
  description: "Padding inside the video player.",
46
46
  "ai:instructions": "Use only a single value like '1rem' or '10px'",
47
47
  title: "Padding",
@@ -51,22 +51,18 @@ export const manifest = defineBrickManifest({
51
51
  }),
52
52
  ),
53
53
  rounding: Type.Optional(
54
- roundingRef({
54
+ rounding({
55
55
  default: "rounded-md",
56
56
  }),
57
57
  ),
58
- border: Type.Optional(borderRef()),
59
- shadow: Type.Optional(shadowRef()),
58
+ border: Type.Optional(border()),
59
+ shadow: Type.Optional(shadow()),
60
60
  }),
61
61
  });
62
62
 
63
63
  export type Manifest = typeof manifest;
64
64
 
65
- export const examples: {
66
- description: string;
67
- type: string;
68
- props: BrickProps<Manifest>["brick"]["props"];
69
- }[] = [
65
+ export const examples: BrickExample<Manifest>[] = [
70
66
  {
71
67
  description: "A YouTube video",
72
68
  type: "video",