@upstart.gg/sdk 0.0.136 → 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 (447) hide show
  1. package/dist/shared/ai/schemas.d.ts.map +1 -1
  2. package/dist/shared/ai/schemas.js +24 -29
  3. package/dist/shared/ai/schemas.js.map +1 -1
  4. package/dist/shared/ai/types.d.ts +13 -61
  5. package/dist/shared/ai/types.d.ts.map +1 -1
  6. package/dist/shared/ajv.js +33 -32
  7. package/dist/shared/ajv.js.map +1 -1
  8. package/dist/shared/attributes.d.ts +83 -85
  9. package/dist/shared/attributes.d.ts.map +1 -1
  10. package/dist/shared/attributes.js +20 -23
  11. package/dist/shared/brick-manifest.d.ts +8 -5
  12. package/dist/shared/brick-manifest.d.ts.map +1 -1
  13. package/dist/shared/brick-manifest.js +3 -18
  14. package/dist/shared/bricks/manifests/accordion.manifest.d.ts +2 -2
  15. package/dist/shared/bricks/manifests/accordion.manifest.d.ts.map +1 -1
  16. package/dist/shared/bricks/manifests/accordion.manifest.js +13 -20
  17. package/dist/shared/bricks/manifests/all-manifests.js +44 -43
  18. package/dist/shared/bricks/manifests/all-props.d.ts +1501 -0
  19. package/dist/shared/bricks/manifests/all-props.d.ts.map +1 -0
  20. package/dist/shared/bricks/manifests/all-props.js +243 -0
  21. package/dist/shared/bricks/manifests/all-props.js.map +1 -0
  22. package/dist/shared/bricks/manifests/box.manifest.d.ts +2 -2
  23. package/dist/shared/bricks/manifests/box.manifest.d.ts.map +1 -1
  24. package/dist/shared/bricks/manifests/box.manifest.js +16 -20
  25. package/dist/shared/bricks/manifests/button.manifest.d.ts +3 -6
  26. package/dist/shared/bricks/manifests/button.manifest.d.ts.map +1 -1
  27. package/dist/shared/bricks/manifests/button.manifest.js +13 -20
  28. package/dist/shared/bricks/manifests/card.manifest.d.ts +3 -3
  29. package/dist/shared/bricks/manifests/card.manifest.d.ts.map +1 -1
  30. package/dist/shared/bricks/manifests/card.manifest.js +18 -20
  31. package/dist/shared/bricks/manifests/carousel.manifest.d.ts +2 -2
  32. package/dist/shared/bricks/manifests/carousel.manifest.d.ts.map +1 -1
  33. package/dist/shared/bricks/manifests/carousel.manifest.js +15 -20
  34. package/dist/shared/bricks/manifests/footer.manifest.d.ts +3 -3
  35. package/dist/shared/bricks/manifests/footer.manifest.d.ts.map +1 -1
  36. package/dist/shared/bricks/manifests/footer.manifest.js +13 -20
  37. package/dist/shared/bricks/manifests/form.manifest.d.ts +3 -3
  38. package/dist/shared/bricks/manifests/form.manifest.d.ts.map +1 -1
  39. package/dist/shared/bricks/manifests/form.manifest.js +13 -20
  40. package/dist/shared/bricks/manifests/hero.manifest.d.ts +2 -2
  41. package/dist/shared/bricks/manifests/hero.manifest.d.ts.map +1 -1
  42. package/dist/shared/bricks/manifests/hero.manifest.js +13 -20
  43. package/dist/shared/bricks/manifests/html.manifest.d.ts +1 -1
  44. package/dist/shared/bricks/manifests/html.manifest.d.ts.map +1 -1
  45. package/dist/shared/bricks/manifests/html.manifest.js +8 -20
  46. package/dist/shared/bricks/manifests/icon.manifest.d.ts +1 -1
  47. package/dist/shared/bricks/manifests/icon.manifest.d.ts.map +1 -1
  48. package/dist/shared/bricks/manifests/icon.manifest.js +13 -20
  49. package/dist/shared/bricks/manifests/image.manifest.d.ts +2 -2
  50. package/dist/shared/bricks/manifests/image.manifest.d.ts.map +1 -1
  51. package/dist/shared/bricks/manifests/image.manifest.js +16 -20
  52. package/dist/shared/bricks/manifests/images-gallery.manifest.d.ts +2 -2
  53. package/dist/shared/bricks/manifests/images-gallery.manifest.d.ts.map +1 -1
  54. package/dist/shared/bricks/manifests/images-gallery.manifest.js +15 -20
  55. package/dist/shared/bricks/manifests/map.manifest.d.ts +1 -1
  56. package/dist/shared/bricks/manifests/map.manifest.d.ts.map +1 -1
  57. package/dist/shared/bricks/manifests/map.manifest.js +11 -20
  58. package/dist/shared/bricks/manifests/navbar.manifest.d.ts +5 -5
  59. package/dist/shared/bricks/manifests/navbar.manifest.d.ts.map +1 -1
  60. package/dist/shared/bricks/manifests/navbar.manifest.js +15 -20
  61. package/dist/shared/bricks/manifests/sidebar.manifest.d.ts +1 -1
  62. package/dist/shared/bricks/manifests/sidebar.manifest.d.ts.map +1 -1
  63. package/dist/shared/bricks/manifests/sidebar.manifest.js +13 -20
  64. package/dist/shared/bricks/manifests/social-links.manifest.d.ts +2 -2
  65. package/dist/shared/bricks/manifests/social-links.manifest.d.ts.map +1 -1
  66. package/dist/shared/bricks/manifests/social-links.manifest.js +14 -20
  67. package/dist/shared/bricks/manifests/spacer.manifest.d.ts +1 -1
  68. package/dist/shared/bricks/manifests/spacer.manifest.d.ts.map +1 -1
  69. package/dist/shared/bricks/manifests/spacer.manifest.js +8 -20
  70. package/dist/shared/bricks/manifests/table.manifest.d.ts +4 -4
  71. package/dist/shared/bricks/manifests/table.manifest.d.ts.map +1 -1
  72. package/dist/shared/bricks/manifests/table.manifest.js +15 -20
  73. package/dist/shared/bricks/manifests/tabs.manifest.d.ts +4 -4
  74. package/dist/shared/bricks/manifests/tabs.manifest.d.ts.map +1 -1
  75. package/dist/shared/bricks/manifests/tabs.manifest.js +15 -20
  76. package/dist/shared/bricks/manifests/testimonials.manifest.d.ts +2 -2
  77. package/dist/shared/bricks/manifests/testimonials.manifest.d.ts.map +1 -1
  78. package/dist/shared/bricks/manifests/testimonials.manifest.js +18 -20
  79. package/dist/shared/bricks/manifests/text.manifest.d.ts +2 -6
  80. package/dist/shared/bricks/manifests/text.manifest.d.ts.map +1 -1
  81. package/dist/shared/bricks/manifests/text.manifest.js +13 -20
  82. package/dist/shared/bricks/manifests/timeline.manifest.d.ts +7 -7
  83. package/dist/shared/bricks/manifests/timeline.manifest.d.ts.map +1 -1
  84. package/dist/shared/bricks/manifests/timeline.manifest.js +15 -20
  85. package/dist/shared/bricks/manifests/video.manifest.d.ts +1 -1
  86. package/dist/shared/bricks/manifests/video.manifest.d.ts.map +1 -1
  87. package/dist/shared/bricks/manifests/video.manifest.js +11 -20
  88. package/dist/shared/bricks/props/align.d.ts +0 -3
  89. package/dist/shared/bricks/props/align.d.ts.map +1 -1
  90. package/dist/shared/bricks/props/align.js +4 -11
  91. package/dist/shared/bricks/props/background.d.ts +2 -8
  92. package/dist/shared/bricks/props/background.d.ts.map +1 -1
  93. package/dist/shared/bricks/props/background.js +4 -9
  94. package/dist/shared/bricks/props/border.d.ts +0 -7
  95. package/dist/shared/bricks/props/border.d.ts.map +1 -1
  96. package/dist/shared/bricks/props/border.js +5 -10
  97. package/dist/shared/bricks/props/color-preset.d.ts +316 -6
  98. package/dist/shared/bricks/props/color-preset.d.ts.map +1 -1
  99. package/dist/shared/bricks/props/color-preset.js +2 -5
  100. package/dist/shared/bricks/props/color.d.ts +3 -5
  101. package/dist/shared/bricks/props/color.d.ts.map +1 -1
  102. package/dist/shared/bricks/props/color.js +3 -8
  103. package/dist/shared/bricks/props/common.d.ts.map +1 -1
  104. package/dist/shared/bricks/props/common.js +4 -5
  105. package/dist/shared/bricks/props/css-length.d.ts +0 -1
  106. package/dist/shared/bricks/props/css-length.d.ts.map +1 -1
  107. package/dist/shared/bricks/props/css-length.js +1 -4
  108. package/dist/shared/bricks/props/datasource.d.ts +3 -3
  109. package/dist/shared/bricks/props/datasource.d.ts.map +1 -1
  110. package/dist/shared/bricks/props/datasource.js +74 -76
  111. package/dist/shared/bricks/props/datasource.js.map +1 -1
  112. package/dist/shared/bricks/props/date.js +21 -4
  113. package/dist/shared/bricks/props/date.js.map +1 -1
  114. package/dist/shared/bricks/props/direction.d.ts +1 -2
  115. package/dist/shared/bricks/props/direction.d.ts.map +1 -1
  116. package/dist/shared/bricks/props/direction.js +4 -7
  117. package/dist/shared/bricks/props/dynamic.d.ts +5 -67
  118. package/dist/shared/bricks/props/dynamic.d.ts.map +1 -1
  119. package/dist/shared/bricks/props/dynamic.js +6 -24
  120. package/dist/shared/bricks/props/effects.d.ts +1 -3
  121. package/dist/shared/bricks/props/effects.d.ts.map +1 -1
  122. package/dist/shared/bricks/props/effects.js +4 -9
  123. package/dist/shared/bricks/props/geolocation.d.ts.map +1 -1
  124. package/dist/shared/bricks/props/geolocation.js +3 -6
  125. package/dist/shared/bricks/props/geolocation.js.map +1 -1
  126. package/dist/shared/bricks/props/helpers.js +5 -6
  127. package/dist/shared/bricks/props/image.d.ts +2 -8
  128. package/dist/shared/bricks/props/image.d.ts.map +1 -1
  129. package/dist/shared/bricks/props/image.js +4 -7
  130. package/dist/shared/bricks/props/string.d.ts +2 -5
  131. package/dist/shared/bricks/props/string.d.ts.map +1 -1
  132. package/dist/shared/bricks/props/string.js +3 -10
  133. package/dist/shared/bricks/props/tags.d.ts +0 -1
  134. package/dist/shared/bricks/props/tags.d.ts.map +1 -1
  135. package/dist/shared/bricks/props/tags.js +3 -6
  136. package/dist/shared/bricks/props/text.d.ts +0 -3
  137. package/dist/shared/bricks/props/text.d.ts.map +1 -1
  138. package/dist/shared/bricks/props/text.js +4 -11
  139. package/dist/shared/bricks/props/types.d.ts +2 -2
  140. package/dist/shared/bricks/props/types.d.ts.map +1 -1
  141. package/dist/shared/bricks.d.ts +64 -154
  142. package/dist/shared/bricks.d.ts.map +1 -1
  143. package/dist/shared/bricks.js +47 -52
  144. package/dist/shared/chunk-2O5HVPID.js +41 -0
  145. package/dist/shared/chunk-2O5HVPID.js.map +1 -0
  146. package/dist/shared/{chunk-F22LDHEO.js → chunk-2U5U3CCJ.js} +3 -18
  147. package/dist/shared/chunk-2U5U3CCJ.js.map +1 -0
  148. package/dist/shared/{chunk-LTIJI7Y3.js → chunk-4KY7OZWD.js} +35 -35
  149. package/dist/shared/chunk-4KY7OZWD.js.map +1 -0
  150. package/dist/shared/{chunk-TNMNMYOB.js → chunk-5RCC2STG.js} +2 -13
  151. package/dist/shared/chunk-5RCC2STG.js.map +1 -0
  152. package/dist/shared/{chunk-KIDICX3Y.js → chunk-6AE7UD73.js} +27 -33
  153. package/dist/shared/chunk-6AE7UD73.js.map +1 -0
  154. package/dist/shared/{chunk-CRS7QCPZ.js → chunk-7U5WPHXB.js} +65 -27
  155. package/dist/shared/chunk-7U5WPHXB.js.map +1 -0
  156. package/dist/shared/{chunk-Q4NPPLEU.js → chunk-BHARJBEK.js} +2 -9
  157. package/dist/shared/chunk-BHARJBEK.js.map +1 -0
  158. package/dist/shared/{chunk-H5JM2M2T.js → chunk-BZTWZC77.js} +46 -31
  159. package/dist/shared/chunk-BZTWZC77.js.map +1 -0
  160. package/dist/shared/{chunk-LLNPH3XR.js → chunk-DCM4732T.js} +6 -8
  161. package/dist/shared/chunk-DCM4732T.js.map +1 -0
  162. package/dist/shared/{chunk-W6MRYRGJ.js → chunk-DRQKKPTX.js} +6 -20
  163. package/dist/shared/chunk-DRQKKPTX.js.map +1 -0
  164. package/dist/shared/{chunk-CSF2WQX2.js → chunk-EID5HPF3.js} +15 -12
  165. package/dist/shared/chunk-EID5HPF3.js.map +1 -0
  166. package/dist/shared/chunk-EMF5TCPX.js +389 -0
  167. package/dist/shared/chunk-EMF5TCPX.js.map +1 -0
  168. package/dist/shared/chunk-FD7YYFRI.js +225 -0
  169. package/dist/shared/chunk-FD7YYFRI.js.map +1 -0
  170. package/dist/shared/{chunk-36PLZKMW.js → chunk-FHA4DFIM.js} +26 -27
  171. package/dist/shared/chunk-FHA4DFIM.js.map +1 -0
  172. package/dist/shared/{chunk-L6C7HUSA.js → chunk-FUUSAMN3.js} +21 -24
  173. package/dist/shared/chunk-FUUSAMN3.js.map +1 -0
  174. package/dist/shared/chunk-GDYCCB3B.js +22 -0
  175. package/dist/shared/chunk-GDYCCB3B.js.map +1 -0
  176. package/dist/shared/chunk-GLV6QIIM.js +41 -0
  177. package/dist/shared/chunk-GLV6QIIM.js.map +1 -0
  178. package/dist/shared/chunk-H6TMBELF.js +374 -0
  179. package/dist/shared/chunk-H6TMBELF.js.map +1 -0
  180. package/dist/shared/{chunk-YWOTQWIQ.js → chunk-HUWMIXNN.js} +26 -28
  181. package/dist/shared/chunk-HUWMIXNN.js.map +1 -0
  182. package/dist/shared/chunk-HY7JOP3J.js +150 -0
  183. package/dist/shared/chunk-HY7JOP3J.js.map +1 -0
  184. package/dist/shared/{chunk-TFGGYU6Y.js → chunk-IEMCCHM4.js} +7 -12
  185. package/dist/shared/chunk-IEMCCHM4.js.map +1 -0
  186. package/dist/shared/{chunk-EVLRH6VG.js → chunk-J45LSQT6.js} +2 -2
  187. package/dist/shared/chunk-J45LSQT6.js.map +1 -0
  188. package/dist/shared/{chunk-DFAFDBYZ.js → chunk-JF52BBFD.js} +27 -28
  189. package/dist/shared/chunk-JF52BBFD.js.map +1 -0
  190. package/dist/shared/{chunk-ZR6R6Z6O.js → chunk-JLDAS3VE.js} +34 -32
  191. package/dist/shared/chunk-JLDAS3VE.js.map +1 -0
  192. package/dist/shared/{chunk-SE6O65HC.js → chunk-JSDKK5QN.js} +10 -23
  193. package/dist/shared/chunk-JSDKK5QN.js.map +1 -0
  194. package/dist/shared/{chunk-KILJYJFE.js → chunk-JW7MQAU4.js} +19 -19
  195. package/dist/shared/chunk-JW7MQAU4.js.map +1 -0
  196. package/dist/shared/{chunk-RV7AYVFV.js → chunk-KKWT3OXF.js} +4 -19
  197. package/dist/shared/chunk-KKWT3OXF.js.map +1 -0
  198. package/dist/shared/{chunk-N3BEBLWF.js → chunk-KQH6V22E.js} +34 -34
  199. package/dist/shared/{chunk-GFAQWQER.js → chunk-LGDDJJHK.js} +33 -35
  200. package/dist/shared/chunk-LGDDJJHK.js.map +1 -0
  201. package/dist/shared/{chunk-FOGAVJC2.js → chunk-LGGPCCCY.js} +3 -3
  202. package/dist/shared/{chunk-4MNWMEMM.js → chunk-LPAQ47C6.js} +23 -23
  203. package/dist/shared/chunk-LPAQ47C6.js.map +1 -0
  204. package/dist/shared/chunk-MO6CRLQA.js +73 -0
  205. package/dist/shared/chunk-MO6CRLQA.js.map +1 -0
  206. package/dist/shared/{chunk-GQTZPN5D.js → chunk-MYOLWTB2.js} +29 -32
  207. package/dist/shared/chunk-MYOLWTB2.js.map +1 -0
  208. package/dist/shared/{chunk-KEM5N6GJ.js → chunk-O24RDXZS.js} +34 -34
  209. package/dist/shared/chunk-O24RDXZS.js.map +1 -0
  210. package/dist/shared/{chunk-BPBKHEQ5.js → chunk-OJ6KL7FU.js} +1 -8
  211. package/dist/shared/chunk-OJ6KL7FU.js.map +1 -0
  212. package/dist/shared/{chunk-LCJ2VFPM.js → chunk-PF75LW33.js} +24 -27
  213. package/dist/shared/chunk-PF75LW33.js.map +1 -0
  214. package/dist/shared/{chunk-U5ZECCJM.js → chunk-QEJGPYTB.js} +32 -34
  215. package/dist/shared/chunk-QEJGPYTB.js.map +1 -0
  216. package/dist/shared/{chunk-2VDR4ZYY.js → chunk-SK2O7GFC.js} +17 -18
  217. package/dist/shared/chunk-SK2O7GFC.js.map +1 -0
  218. package/dist/shared/{chunk-N3ZTQD5I.js → chunk-SQXZNGQF.js} +8 -23
  219. package/dist/shared/chunk-SQXZNGQF.js.map +1 -0
  220. package/dist/shared/{chunk-NTLAKMMQ.js → chunk-SRYBJ6NQ.js} +6 -17
  221. package/dist/shared/chunk-SRYBJ6NQ.js.map +1 -0
  222. package/dist/shared/{chunk-UXTASZ23.js → chunk-T6C3NG2L.js} +66 -63
  223. package/dist/shared/chunk-T6C3NG2L.js.map +1 -0
  224. package/dist/shared/{chunk-ZRRAK5NS.js → chunk-TBT2PTGB.js} +41 -33
  225. package/dist/shared/chunk-TBT2PTGB.js.map +1 -0
  226. package/dist/shared/{chunk-2IHKVMKW.js → chunk-U4KZUX37.js} +18 -19
  227. package/dist/shared/chunk-U4KZUX37.js.map +1 -0
  228. package/dist/shared/{chunk-FQDR2BBZ.js → chunk-VSLRTXLF.js} +11 -4
  229. package/dist/shared/chunk-VSLRTXLF.js.map +1 -0
  230. package/dist/shared/{chunk-BHC2A43S.js → chunk-VTCHJT4O.js} +3 -3
  231. package/dist/shared/{chunk-BHC2A43S.js.map → chunk-VTCHJT4O.js.map} +1 -1
  232. package/dist/shared/{chunk-GIGFNQBO.js → chunk-W2RFDII5.js} +3 -3
  233. package/dist/shared/{chunk-Y74LZNND.js → chunk-WPZV3LYL.js} +4 -10
  234. package/dist/shared/chunk-WPZV3LYL.js.map +1 -0
  235. package/dist/shared/chunk-XFZQGRRL.js +101 -0
  236. package/dist/shared/chunk-XFZQGRRL.js.map +1 -0
  237. package/dist/shared/{chunk-42OUNI7C.js → chunk-XK2CERPB.js} +27 -29
  238. package/dist/shared/chunk-XK2CERPB.js.map +1 -0
  239. package/dist/shared/chunk-XNRSL6FL.js +78 -0
  240. package/dist/shared/chunk-XNRSL6FL.js.map +1 -0
  241. package/dist/shared/{chunk-2RK3CPYJ.js → chunk-XXPSM6UA.js} +9 -12
  242. package/dist/shared/chunk-XXPSM6UA.js.map +1 -0
  243. package/dist/shared/{chunk-ZLYIRH2B.js → chunk-ZRBTAC3G.js} +3 -18
  244. package/dist/shared/chunk-ZRBTAC3G.js.map +1 -0
  245. package/dist/shared/{chunk-F247VKAE.js → chunk-ZVJNRKT4.js} +18 -20
  246. package/dist/shared/chunk-ZVJNRKT4.js.map +1 -0
  247. package/dist/shared/context.d.ts +402 -23
  248. package/dist/shared/context.d.ts.map +1 -1
  249. package/dist/shared/context.js +93 -0
  250. package/dist/shared/context.js.map +1 -1
  251. package/dist/shared/datarecords/external/airtable/types.d.ts +1 -1
  252. package/dist/shared/datarecords/external/airtable/types.d.ts.map +1 -1
  253. package/dist/shared/datarecords/external/airtable/types.js +2 -1
  254. package/dist/shared/datarecords/types.d.ts +3 -3
  255. package/dist/shared/datarecords/types.d.ts.map +1 -1
  256. package/dist/shared/datarecords/types.js +3 -2
  257. package/dist/shared/datasources/external/instagram/feed/schema.d.ts +1 -1
  258. package/dist/shared/datasources/external/instagram/feed/schema.d.ts.map +1 -1
  259. package/dist/shared/datasources/external/instagram/feed/schema.js +4 -1
  260. package/dist/shared/datasources/external/instagram/feed/schema.js.map +1 -1
  261. package/dist/shared/datasources/external/mastodon/status/schema.d.ts +6 -6
  262. package/dist/shared/datasources/external/mastodon/status/schema.d.ts.map +1 -1
  263. package/dist/shared/datasources/external/mastodon/status/schema.js +6 -19
  264. package/dist/shared/datasources/external/mastodon/status/schema.js.map +1 -1
  265. package/dist/shared/datasources/external/meta/oauth/config.d.ts +2 -2
  266. package/dist/shared/datasources/external/meta/oauth/config.d.ts.map +1 -1
  267. package/dist/shared/datasources/external/meta/oauth/config.js +4 -1
  268. package/dist/shared/datasources/external/meta/oauth/config.js.map +1 -1
  269. package/dist/shared/datasources/external/threads/media/schema.d.ts +1 -1
  270. package/dist/shared/datasources/external/threads/media/schema.d.ts.map +1 -1
  271. package/dist/shared/datasources/external/threads/media/schema.js +4 -8
  272. package/dist/shared/datasources/external/threads/media/schema.js.map +1 -1
  273. package/dist/shared/datasources/internal/blog/schema.d.ts +1 -1
  274. package/dist/shared/datasources/internal/blog/schema.d.ts.map +1 -1
  275. package/dist/shared/datasources/internal/blog/schema.js +4 -1
  276. package/dist/shared/datasources/internal/blog/schema.js.map +1 -1
  277. package/dist/shared/datasources/types.d.ts +25 -25
  278. package/dist/shared/datasources/types.d.ts.map +1 -1
  279. package/dist/shared/datasources/types.js +3 -16
  280. package/dist/shared/images.d.ts +1 -1
  281. package/dist/shared/images.d.ts.map +1 -1
  282. package/dist/shared/images.js +4 -38
  283. package/dist/shared/images.js.map +1 -1
  284. package/dist/shared/page.d.ts +139 -22
  285. package/dist/shared/page.d.ts.map +1 -1
  286. package/dist/shared/page.js +51 -49
  287. package/dist/shared/responsive.js +1 -1
  288. package/dist/shared/site.d.ts +74 -191
  289. package/dist/shared/site.d.ts.map +1 -1
  290. package/dist/shared/site.js +55 -114
  291. package/dist/shared/site.js.map +1 -1
  292. package/dist/shared/sitemap.d.ts +4 -326
  293. package/dist/shared/sitemap.d.ts.map +1 -1
  294. package/dist/shared/sitemap.js +50 -58
  295. package/dist/shared/theme.d.ts +0 -37
  296. package/dist/shared/theme.d.ts.map +1 -1
  297. package/dist/shared/theme.js +4 -21
  298. package/dist/shared/utils/llm.d.ts +1 -10
  299. package/dist/shared/utils/llm.d.ts.map +1 -1
  300. package/dist/shared/utils/llm.js +1 -18
  301. package/dist/shared/utils/schema.d.ts +3 -2
  302. package/dist/shared/utils/schema.d.ts.map +1 -1
  303. package/dist/shared/utils/schema.js +2 -17
  304. package/dist/shared/utils/string-enum.d.ts +9 -3
  305. package/dist/shared/utils/string-enum.d.ts.map +1 -1
  306. package/dist/shared/utils/string-enum.js +1 -1
  307. package/package.json +21 -5
  308. package/src/shared/ai/schemas.ts +24 -29
  309. package/src/shared/ai/types.ts +22 -88
  310. package/src/shared/attributes.ts +53 -51
  311. package/src/shared/brick-manifest.ts +5 -6
  312. package/src/shared/bricks/manifests/accordion.manifest.ts +11 -11
  313. package/src/shared/bricks/manifests/all-props.ts +165 -0
  314. package/src/shared/bricks/manifests/box.manifest.ts +19 -21
  315. package/src/shared/bricks/manifests/button.manifest.ts +54 -16
  316. package/src/shared/bricks/manifests/card.manifest.ts +32 -18
  317. package/src/shared/bricks/manifests/carousel.manifest.ts +11 -13
  318. package/src/shared/bricks/manifests/footer.manifest.ts +16 -15
  319. package/src/shared/bricks/manifests/form.manifest.ts +14 -15
  320. package/src/shared/bricks/manifests/hero.manifest.ts +18 -20
  321. package/src/shared/bricks/manifests/icon.manifest.ts +9 -10
  322. package/src/shared/bricks/manifests/image.manifest.ts +22 -19
  323. package/src/shared/bricks/manifests/images-gallery.manifest.ts +13 -15
  324. package/src/shared/bricks/manifests/map.manifest.ts +10 -10
  325. package/src/shared/bricks/manifests/navbar.manifest.ts +20 -21
  326. package/src/shared/bricks/manifests/sidebar.manifest.ts +9 -9
  327. package/src/shared/bricks/manifests/social-links.manifest.ts +17 -19
  328. package/src/shared/bricks/manifests/table.manifest.ts +15 -15
  329. package/src/shared/bricks/manifests/tabs.manifest.ts +14 -16
  330. package/src/shared/bricks/manifests/testimonials.manifest.ts +21 -20
  331. package/src/shared/bricks/manifests/text.manifest.ts +16 -19
  332. package/src/shared/bricks/manifests/timeline.manifest.ts +29 -24
  333. package/src/shared/bricks/manifests/video.manifest.ts +9 -10
  334. package/src/shared/bricks/props/align.ts +0 -13
  335. package/src/shared/bricks/props/background.ts +1 -14
  336. package/src/shared/bricks/props/border.ts +2 -13
  337. package/src/shared/bricks/props/color-preset.ts +9 -10
  338. package/src/shared/bricks/props/color.ts +7 -18
  339. package/src/shared/bricks/props/common.ts +6 -7
  340. package/src/shared/bricks/props/css-length.ts +0 -5
  341. package/src/shared/bricks/props/datasource.ts +72 -74
  342. package/src/shared/bricks/props/direction.ts +1 -5
  343. package/src/shared/bricks/props/dynamic.ts +0 -11
  344. package/src/shared/bricks/props/effects.ts +0 -9
  345. package/src/shared/bricks/props/geolocation.ts +3 -3
  346. package/src/shared/bricks/props/helpers.ts +1 -1
  347. package/src/shared/bricks/props/image.ts +4 -16
  348. package/src/shared/bricks/props/string.ts +5 -18
  349. package/src/shared/bricks/props/tags.ts +0 -5
  350. package/src/shared/bricks/props/tests/background.test.ts +1 -15
  351. package/src/shared/bricks/props/tests/image.test.ts +3 -9
  352. package/src/shared/bricks/props/tests/string.test.ts +2 -26
  353. package/src/shared/bricks/props/text.ts +0 -12
  354. package/src/shared/bricks/props/types.ts +4 -3
  355. package/src/shared/bricks.ts +156 -1020
  356. package/src/shared/context.ts +24 -24
  357. package/src/shared/datarecords/external/airtable/types.ts +12 -11
  358. package/src/shared/datarecords/types.ts +2 -34
  359. package/src/shared/datasources/external/instagram/feed/schema.ts +2 -1
  360. package/src/shared/datasources/external/mastodon/status/schema.ts +4 -19
  361. package/src/shared/datasources/external/meta/oauth/config.ts +2 -1
  362. package/src/shared/datasources/external/threads/media/schema.ts +2 -8
  363. package/src/shared/datasources/internal/blog/schema.ts +2 -1
  364. package/src/shared/datasources/types.ts +64 -79
  365. package/src/shared/images.ts +12 -18
  366. package/src/shared/page.ts +9 -1
  367. package/src/shared/sitemap.ts +3 -70
  368. package/src/shared/tests/attributes.test.ts +2 -0
  369. package/src/shared/theme.ts +81 -96
  370. package/src/shared/utils/llm.ts +5 -191
  371. package/src/shared/utils/schema.ts +71 -244
  372. package/src/shared/utils/string-enum.ts +25 -4
  373. package/src/shared/utils/tests/schema.test.ts +70 -313
  374. package/dist/shared/chunk-2IHKVMKW.js.map +0 -1
  375. package/dist/shared/chunk-2RK3CPYJ.js.map +0 -1
  376. package/dist/shared/chunk-2VDR4ZYY.js.map +0 -1
  377. package/dist/shared/chunk-36PLZKMW.js.map +0 -1
  378. package/dist/shared/chunk-42OUNI7C.js.map +0 -1
  379. package/dist/shared/chunk-4MNWMEMM.js.map +0 -1
  380. package/dist/shared/chunk-A2QPY54H.js +0 -13
  381. package/dist/shared/chunk-A2QPY54H.js.map +0 -1
  382. package/dist/shared/chunk-BPBKHEQ5.js.map +0 -1
  383. package/dist/shared/chunk-CRS7QCPZ.js.map +0 -1
  384. package/dist/shared/chunk-CSF2WQX2.js.map +0 -1
  385. package/dist/shared/chunk-DFAFDBYZ.js.map +0 -1
  386. package/dist/shared/chunk-DV3G7X34.js +0 -244
  387. package/dist/shared/chunk-DV3G7X34.js.map +0 -1
  388. package/dist/shared/chunk-EVLRH6VG.js.map +0 -1
  389. package/dist/shared/chunk-F22LDHEO.js.map +0 -1
  390. package/dist/shared/chunk-F247VKAE.js.map +0 -1
  391. package/dist/shared/chunk-FQDR2BBZ.js.map +0 -1
  392. package/dist/shared/chunk-GFAQWQER.js.map +0 -1
  393. package/dist/shared/chunk-GQTZPN5D.js.map +0 -1
  394. package/dist/shared/chunk-H5JM2M2T.js.map +0 -1
  395. package/dist/shared/chunk-HTUSL2U7.js +0 -260
  396. package/dist/shared/chunk-HTUSL2U7.js.map +0 -1
  397. package/dist/shared/chunk-IQIISR22.js +0 -794
  398. package/dist/shared/chunk-IQIISR22.js.map +0 -1
  399. package/dist/shared/chunk-JK2FWFJU.js +0 -15
  400. package/dist/shared/chunk-JK2FWFJU.js.map +0 -1
  401. package/dist/shared/chunk-KEM5N6GJ.js.map +0 -1
  402. package/dist/shared/chunk-KIDICX3Y.js.map +0 -1
  403. package/dist/shared/chunk-KILJYJFE.js.map +0 -1
  404. package/dist/shared/chunk-L6C7HUSA.js.map +0 -1
  405. package/dist/shared/chunk-LCJ2VFPM.js.map +0 -1
  406. package/dist/shared/chunk-LLNPH3XR.js.map +0 -1
  407. package/dist/shared/chunk-LTIJI7Y3.js.map +0 -1
  408. package/dist/shared/chunk-MFNHFN2B.js +0 -103
  409. package/dist/shared/chunk-MFNHFN2B.js.map +0 -1
  410. package/dist/shared/chunk-N3ZTQD5I.js.map +0 -1
  411. package/dist/shared/chunk-NTLAKMMQ.js.map +0 -1
  412. package/dist/shared/chunk-Q4NPPLEU.js.map +0 -1
  413. package/dist/shared/chunk-RV7AYVFV.js.map +0 -1
  414. package/dist/shared/chunk-SE6O65HC.js.map +0 -1
  415. package/dist/shared/chunk-TFGGYU6Y.js.map +0 -1
  416. package/dist/shared/chunk-TNMNMYOB.js.map +0 -1
  417. package/dist/shared/chunk-TNTFKLCR.js +0 -1225
  418. package/dist/shared/chunk-TNTFKLCR.js.map +0 -1
  419. package/dist/shared/chunk-U5ZECCJM.js.map +0 -1
  420. package/dist/shared/chunk-UXTASZ23.js.map +0 -1
  421. package/dist/shared/chunk-W6MRYRGJ.js.map +0 -1
  422. package/dist/shared/chunk-WKN566LN.js +0 -29
  423. package/dist/shared/chunk-WKN566LN.js.map +0 -1
  424. package/dist/shared/chunk-Y74LZNND.js.map +0 -1
  425. package/dist/shared/chunk-YWOTQWIQ.js.map +0 -1
  426. package/dist/shared/chunk-ZLYIRH2B.js.map +0 -1
  427. package/dist/shared/chunk-ZR6R6Z6O.js.map +0 -1
  428. package/dist/shared/chunk-ZRRAK5NS.js.map +0 -1
  429. package/dist/shared/tests/schema-registry.test.d.ts +0 -2
  430. package/dist/shared/tests/schema-registry.test.d.ts.map +0 -1
  431. package/dist/shared/utils/schema-registry.d.ts +0 -5
  432. package/dist/shared/utils/schema-registry.d.ts.map +0 -1
  433. package/dist/shared/utils/schema-registry.js +0 -29
  434. package/dist/shared/utils/schema-registry.js.map +0 -1
  435. package/dist/shared/utils/tests/schema-registry.test.d.ts +0 -2
  436. package/dist/shared/utils/tests/schema-registry.test.d.ts.map +0 -1
  437. package/dist/shared/utils/typed-ref.d.ts +0 -43
  438. package/dist/shared/utils/typed-ref.d.ts.map +0 -1
  439. package/dist/shared/utils/typed-ref.js +0 -10
  440. package/dist/shared/utils/typed-ref.js.map +0 -1
  441. package/src/shared/tests/schema-registry.test.ts +0 -12
  442. package/src/shared/utils/schema-registry.ts +0 -82
  443. package/src/shared/utils/tests/schema-registry.test.ts +0 -13
  444. package/src/shared/utils/typed-ref.ts +0 -53
  445. /package/dist/shared/{chunk-N3BEBLWF.js.map → chunk-KQH6V22E.js.map} +0 -0
  446. /package/dist/shared/{chunk-FOGAVJC2.js.map → chunk-LGGPCCCY.js.map} +0 -0
  447. /package/dist/shared/{chunk-GIGFNQBO.js.map → chunk-W2RFDII5.js.map} +0 -0
@@ -2,15 +2,15 @@ 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
14
  import type { BrickExample } from "./_types";
15
15
 
16
16
  export const manifest = defineBrickManifest({
@@ -26,13 +26,13 @@ Optionally either use an avatar or a social icon but not both at the same time.`
26
26
  props: defineProps(
27
27
  {
28
28
  colorPreset: Type.Optional(
29
- colorPresetRef({
29
+ colorPreset({
30
30
  title: "Color",
31
31
  default: "base-100",
32
32
  }),
33
33
  ),
34
34
  border: Type.Optional(
35
- borderRef({
35
+ border({
36
36
  title: "Border",
37
37
  description: "Customize the border of the testimonial cards.",
38
38
  default: {
@@ -42,12 +42,12 @@ Optionally either use an avatar or a social icon but not both at the same time.`
42
42
  }),
43
43
  ),
44
44
  fontSize: Type.Optional(
45
- fontSizeRef({
45
+ fontSize({
46
46
  "ui:no-extra-large-sizes": true,
47
47
  }),
48
48
  ),
49
49
  padding: Type.Optional(
50
- cssLengthRef({
50
+ cssLength({
51
51
  default: "1rem",
52
52
  description: "Padding inside the main container.",
53
53
  "ai:instructions": "Use only a single value like '1rem' or '10px'",
@@ -58,7 +58,7 @@ Optionally either use an avatar or a social icon but not both at the same time.`
58
58
  }),
59
59
  ),
60
60
  gap: Type.Optional(
61
- cssLengthRef({
61
+ cssLength({
62
62
  title: "Gap",
63
63
  default: "26px",
64
64
  description: "Space between bricks.",
@@ -68,9 +68,9 @@ Optionally either use an avatar or a social icon but not both at the same time.`
68
68
  "ui:styleId": "styles:gap",
69
69
  }),
70
70
  ),
71
- shadow: Type.Optional(shadowRef()),
71
+ shadow: Type.Optional(shadow()),
72
72
  loop: Type.Optional(
73
- loopRef({
73
+ loop({
74
74
  // title: "Use dynamic content",
75
75
  description:
76
76
  "If enabled, each row from the query result will be used to create a testimonial. Otherwise, the testimonials will be static.",
@@ -80,21 +80,22 @@ Optionally either use an avatar or a social icon but not both at the same time.`
80
80
  testimonials: Type.Optional(
81
81
  Type.Array(
82
82
  Type.Object({
83
- text: string("Text", {
83
+ text: Type.String({
84
+ title: "Text",
84
85
  default: "Amazing product!",
85
86
  "ui:multiline": true,
86
87
  "ui:textarea-class": "h-20",
87
88
  }),
88
- author: string("Author", { default: "John Doe" }),
89
- company: Type.Optional(string("Company")),
89
+ author: Type.String({ title: "Author", default: "John Doe" }),
90
+ company: Type.Optional(Type.String({ title: "Company" })),
90
91
  avatar: Type.Optional(
91
- imageRef({
92
+ image({
92
93
  title: "Avatar",
93
94
  "ui:placeholder": "https://via.placeholder.com/80x80.png?text=JD",
94
95
  noObjectOptions: true,
95
96
  }),
96
97
  ),
97
- socialIcon: Type.Optional(iconRef()),
98
+ socialIcon: Type.Optional(icon()),
98
99
  }),
99
100
  {
100
101
  title: "Testimonials",
@@ -1,14 +1,14 @@
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
6
  import { Type } from "@sinclair/typebox";
7
- import { alignItemsRef } from "../props/align";
8
- import { shadowRef } from "../props/effects";
9
- import { colorPresetRef } from "../props/color-preset";
10
- import { loopRef } from "../props/dynamic";
11
- 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
12
  import type { BrickExample } from "./_types";
13
13
 
14
14
  export const manifest = defineBrickManifest({
@@ -56,24 +56,24 @@ BEST PRACTICES:
56
56
  icon: RxTextAlignLeft,
57
57
  props: defineProps({
58
58
  colorPreset: Type.Optional(
59
- colorPresetRef({
59
+ colorPreset({
60
60
  title: "Color",
61
61
  }),
62
62
  ),
63
- content: textContentRef({
63
+ content: textContent({
64
64
  title: "Content",
65
65
  // metadata: {
66
66
  // category: "content",
67
67
  // },
68
68
  }),
69
69
  verticalAlign: Type.Optional(
70
- alignItemsRef({
70
+ alignItems({
71
71
  default: "items-center",
72
72
  title: "Align",
73
73
  }),
74
74
  ),
75
75
  padding: Type.Optional(
76
- cssLengthRef({
76
+ cssLength({
77
77
  default: "2rem",
78
78
  description: "Padding inside the text.",
79
79
  "ai:instructions": "Use only a single value like '1rem' or '10px'",
@@ -83,14 +83,11 @@ BEST PRACTICES:
83
83
  "ui:styleId": "styles:padding",
84
84
  }),
85
85
  ),
86
- rounding: Type.Optional(
87
- roundingRef({
88
- default: "rounded-md",
89
- }),
90
- ),
91
- border: Type.Optional(borderRef()),
92
- shadow: Type.Optional(shadowRef()),
93
- loop: Type.Optional(loopRef()),
86
+ rounding: rounding({
87
+ default: "rounded-md",
88
+ }),
89
+ border: Type.Optional(border()),
90
+ shadow: Type.Optional(shadow()),
94
91
  }),
95
92
  });
96
93
 
@@ -1,14 +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
11
  import type { BrickExample } from "./_types";
12
+ import { StringEnum } from "~/shared/utils/string-enum";
12
13
 
13
14
  const timelineItemSchema = Type.Object({
14
15
  id: Type.Optional(Type.String({ title: "ID" })),
@@ -41,7 +42,8 @@ const timelineItemSchema = Type.Object({
41
42
  }),
42
43
  ),
43
44
  status: Type.Optional(
44
- Type.Union([Type.Literal("completed"), Type.Literal("current"), Type.Literal("upcoming")], {
45
+ StringEnum(["completed", "current", "upcoming"], {
46
+ enumNames: ["Completed", "Current", "Upcoming"],
45
47
  title: "Status",
46
48
  description: "Timeline item status for visual styling",
47
49
  }),
@@ -55,6 +57,7 @@ export const manifest = defineBrickManifest({
55
57
  description:
56
58
  "A vertical timeline component to display chronological events, milestones, or processes with optional content for each item",
57
59
  icon: BsListCheck,
60
+ consumesMultipleQueryRows: true,
58
61
  props: defineProps({
59
62
  items: Type.Array(timelineItemSchema, {
60
63
  title: "Timeline Items",
@@ -75,7 +78,8 @@ export const manifest = defineBrickManifest({
75
78
 
76
79
  // Layout options
77
80
  layout: Type.Optional(
78
- Type.Union([Type.Literal("left"), Type.Literal("right"), Type.Literal("alternating")], {
81
+ StringEnum(["left", "right", "alternating"], {
82
+ enumNames: ["Left", "Right", "Alternating"],
79
83
  title: "Layout",
80
84
  description: "Timeline layout style",
81
85
  default: "left",
@@ -91,7 +95,7 @@ export const manifest = defineBrickManifest({
91
95
  ),
92
96
 
93
97
  connectorColor: Type.Optional(
94
- colorPresetRef({
98
+ colorPreset({
95
99
  title: "Connector Color",
96
100
  description: "Color of the timeline connector line",
97
101
  }),
@@ -99,7 +103,7 @@ export const manifest = defineBrickManifest({
99
103
 
100
104
  // Timeline item styling
101
105
  itemSpacing: Type.Optional(
102
- cssLengthRef({
106
+ cssLength({
103
107
  title: "Item Spacing",
104
108
  description: "Vertical spacing between timeline items",
105
109
  default: "2rem",
@@ -113,9 +117,9 @@ export const manifest = defineBrickManifest({
113
117
  default: true,
114
118
  }),
115
119
  ),
116
-
117
120
  iconSize: Type.Optional(
118
- Type.Union([Type.Literal("sm"), Type.Literal("md"), Type.Literal("lg")], {
121
+ StringEnum(["sm", "md", "lg"], {
122
+ enumNames: ["Small", "Medium", "Large"],
119
123
  title: "Icon Size",
120
124
  description: "Size of timeline item icons",
121
125
  default: "md",
@@ -131,7 +135,8 @@ export const manifest = defineBrickManifest({
131
135
  ),
132
136
 
133
137
  datePosition: Type.Optional(
134
- Type.Union([Type.Literal("top"), Type.Literal("bottom"), Type.Literal("inline")], {
138
+ StringEnum(["top", "bottom", "inline"], {
139
+ enumNames: ["Top", "Bottom", "Inline"],
135
140
  title: "Date Position",
136
141
  description: "Position of dates relative to content",
137
142
  default: "top",
@@ -140,42 +145,42 @@ export const manifest = defineBrickManifest({
140
145
 
141
146
  // Styling
142
147
  colorPreset: Type.Optional(
143
- colorPresetRef({
148
+ colorPreset({
144
149
  title: "Color Preset",
145
150
  description: "Color theme for the timeline",
146
151
  }),
147
152
  ),
148
153
 
149
154
  padding: Type.Optional(
150
- cssLengthRef({
155
+ cssLength({
151
156
  title: "Padding",
152
157
  description: "Internal padding for the timeline container",
153
158
  }),
154
159
  ),
155
160
 
156
161
  border: Type.Optional(
157
- borderRef({
162
+ border({
158
163
  title: "Border",
159
164
  description: "Border styling for the timeline container",
160
165
  }),
161
166
  ),
162
167
 
163
168
  shadow: Type.Optional(
164
- shadowRef({
169
+ shadow({
165
170
  title: "Shadow",
166
171
  description: "Shadow effect for the timeline container",
167
172
  }),
168
173
  ),
169
174
 
170
175
  rounding: Type.Optional(
171
- roundingRef({
176
+ rounding({
172
177
  title: "Rounding",
173
178
  description: "Corner rounding for the timeline container",
174
179
  }),
175
180
  ),
176
181
 
177
182
  // Content loop support
178
- loop: Type.Optional(loopRef()),
183
+ loop: Type.Optional(loop()),
179
184
  }),
180
185
  });
181
186
 
@@ -254,8 +259,8 @@ export const examples: BrickExample<Manifest>[] = [
254
259
  },
255
260
  ],
256
261
  layout: "alternating",
257
- colorPreset: { color: "blue-500" },
258
- connectorColor: { color: "blue-300" },
262
+ colorPreset: { color: "primary-500" },
263
+ connectorColor: { color: "primary-300" },
259
264
  itemSpacing: "3rem",
260
265
  },
261
266
  },
@@ -382,8 +387,8 @@ export const examples: BrickExample<Manifest>[] = [
382
387
  },
383
388
  ],
384
389
  layout: "right",
385
- colorPreset: { color: "green-500" },
386
- border: { width: "border", color: "gray-200" },
390
+ colorPreset: { color: "secondary-500" },
391
+ border: { width: "border", color: "secondary-200" },
387
392
  rounding: "rounded-lg",
388
393
  padding: "2rem",
389
394
  },
@@ -426,13 +431,13 @@ export const examples: BrickExample<Manifest>[] = [
426
431
  description: "Create comprehensive usage documentation",
427
432
  },
428
433
  ],
429
- colorPreset: { color: "purple-500" },
434
+ colorPreset: { color: "secondary-500" },
430
435
  shadow: "shadow-lg",
431
436
  border: { width: "border", color: "purple-200" },
432
437
  rounding: "rounded-xl",
433
438
  padding: "2.5rem",
434
439
  itemSpacing: "2.5rem",
435
- connectorColor: { color: "purple-300" },
440
+ connectorColor: { color: "secondary-300" },
436
441
  },
437
442
  },
438
443
  ];
@@ -1,12 +1,10 @@
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";
10
8
  import type { BrickExample } from "./_types";
11
9
 
12
10
  export const manifest = defineBrickManifest({
@@ -32,7 +30,8 @@ export const manifest = defineBrickManifest({
32
30
  desktop: 360, // 16:9 aspect ratio
33
31
  },
34
32
  props: defineProps({
35
- url: string("Video URL", {
33
+ url: Type.String({
34
+ title: "Video URL",
36
35
  description:
37
36
  "URL of the video to embed. It can be a YouTube link or an embed link. It also supports Vimeo and Wistia links.",
38
37
  default: "https://www.youtube.com/watch?v=dQw4w9WgXcQ",
@@ -42,7 +41,7 @@ export const manifest = defineBrickManifest({
42
41
  },
43
42
  }),
44
43
  padding: Type.Optional(
45
- cssLengthRef({
44
+ cssLength({
46
45
  description: "Padding inside the video player.",
47
46
  "ai:instructions": "Use only a single value like '1rem' or '10px'",
48
47
  title: "Padding",
@@ -52,12 +51,12 @@ export const manifest = defineBrickManifest({
52
51
  }),
53
52
  ),
54
53
  rounding: Type.Optional(
55
- roundingRef({
54
+ rounding({
56
55
  default: "rounded-md",
57
56
  }),
58
57
  ),
59
- border: Type.Optional(borderRef()),
60
- shadow: Type.Optional(shadowRef()),
58
+ border: Type.Optional(border()),
59
+ shadow: Type.Optional(shadow()),
61
60
  }),
62
61
  });
63
62
 
@@ -1,6 +1,5 @@
1
1
  import type { Static, StringOptions } from "@sinclair/typebox";
2
2
  import { StringEnum } from "~/shared/utils/string-enum";
3
- import { typedRef } from "~/shared/utils/typed-ref";
4
3
 
5
4
  export function justifyContent(options: StringOptions = {}) {
6
5
  return StringEnum(
@@ -20,10 +19,6 @@ export function justifyContent(options: StringOptions = {}) {
20
19
 
21
20
  export type JustifyContentSettings = Static<ReturnType<typeof justifyContent>>;
22
21
 
23
- export function justifyContentRef(options: StringOptions = {}) {
24
- return typedRef("styles:justifyContent", options);
25
- }
26
-
27
22
  export function alignItems(options: StringOptions = {}) {
28
23
  return StringEnum(["items-start", "items-center", "items-end", "items-stretch"], {
29
24
  enumNames: ["Start", "Center", "End", "Stretch"],
@@ -39,10 +34,6 @@ export function alignItems(options: StringOptions = {}) {
39
34
 
40
35
  export type AlignItemsSettings = Static<ReturnType<typeof alignItems>>;
41
36
 
42
- export function alignItemsRef(options: StringOptions = {}) {
43
- return typedRef("styles:alignItems", options);
44
- }
45
-
46
37
  export function alignSelf(options: StringOptions = {}) {
47
38
  return StringEnum(["self-auto", "self-start", "self-center", "self-end", "self-stretch"], {
48
39
  enumNames: ["Auto", "Start", "Center", "End", "Stretch"],
@@ -57,7 +48,3 @@ export function alignSelf(options: StringOptions = {}) {
57
48
  }
58
49
 
59
50
  export type AlignSelfSettings = Static<ReturnType<typeof alignSelf>>;
60
-
61
- export function alignSelfRef(options: StringOptions = {}) {
62
- return typedRef("styles:alignSelf", options);
63
- }
@@ -1,7 +1,6 @@
1
1
  import { type SchemaOptions, Type, type Static } from "@sinclair/typebox";
2
2
  import type { ElementColorType } from "~/shared/themes/color-system";
3
3
  import { StringEnum } from "~/shared/utils/string-enum";
4
- import { typedRef } from "~/shared/utils/typed-ref";
5
4
 
6
5
  type BackgroundOptions = {
7
6
  title?: string;
@@ -14,7 +13,6 @@ type BackgroundOptions = {
14
13
  };
15
14
 
16
15
  export function background(opts: BackgroundOptions = {}) {
17
- const { default: defValue, ...restOpts } = opts;
18
16
  return Type.Object(
19
17
  {
20
18
  image: Type.String({
@@ -26,14 +24,12 @@ export function background(opts: BackgroundOptions = {}) {
26
24
  size: Type.Optional(
27
25
  StringEnum(["auto", "cover", "contain"], {
28
26
  enumNames: ["Auto", "Cover", "Contain"],
29
- default: defValue?.size ?? "auto",
30
27
  "ai:instructions": "Only use this when the image is set.",
31
28
  }),
32
29
  ),
33
30
  repeat: Type.Optional(
34
31
  StringEnum(["no-repeat", "repeat", "repeat-x", "repeat-y", "space", "round"], {
35
32
  enumNames: ["No repeat", "Repeat", "Repeat horizontally", "Repeat vertically", "Space", "Round"],
36
- default: defValue?.repeat ?? "no-repeat",
37
33
  "ai:instructions": "Only use this when the image is set.",
38
34
  }),
39
35
  ),
@@ -45,18 +41,13 @@ export function background(opts: BackgroundOptions = {}) {
45
41
  title: "Background image",
46
42
  // disable for now
47
43
  // "ui:show-img-search": true,
48
- default: defValue,
49
- ...restOpts,
44
+ ...opts,
50
45
  },
51
46
  );
52
47
  }
53
48
 
54
49
  export type BackgroundSettings = Static<ReturnType<typeof background>>;
55
50
 
56
- export function backgroundRef(options: SchemaOptions = {}) {
57
- return typedRef("styles:background", options);
58
- }
59
-
60
51
  export function backgroundColor(options: SchemaOptions = {}) {
61
52
  return Type.String({
62
53
  title: "Background color",
@@ -73,7 +64,3 @@ export function backgroundColor(options: SchemaOptions = {}) {
73
64
  }
74
65
 
75
66
  export type BackgroundColorSettings = Static<ReturnType<typeof backgroundColor>>;
76
-
77
- export function backgroundColorRef(options: SchemaOptions = {}) {
78
- return typedRef("styles:backgroundColor", options);
79
- }
@@ -1,7 +1,6 @@
1
1
  import { type ObjectOptions, Type, type Static, type StringOptions } from "@sinclair/typebox";
2
- import { typedRef } from "~/shared/utils/typed-ref";
3
2
  import { StringEnum } from "~/shared/utils/string-enum";
4
- import { borderColorRef } from "./color";
3
+ import { borderColor } from "./color";
5
4
 
6
5
  export function border(opts: ObjectOptions = {}) {
7
6
  return Type.Object(
@@ -15,7 +14,7 @@ export function border(opts: ObjectOptions = {}) {
15
14
  "ui:placeholder": "None",
16
15
  default: "border-0",
17
16
  }),
18
- color: borderColorRef({
17
+ color: borderColor({
19
18
  title: "Color",
20
19
  description: "The color of the border.",
21
20
  default: "border-current",
@@ -48,12 +47,6 @@ export function border(opts: ObjectOptions = {}) {
48
47
 
49
48
  export type BorderSettings = Static<ReturnType<typeof border>>;
50
49
 
51
- export function borderRef(
52
- options: Omit<ObjectOptions, "default"> & { default?: Partial<BorderSettings> } = {},
53
- ) {
54
- return typedRef("styles:border", options);
55
- }
56
-
57
50
  export function rounding(opts: StringOptions = {}) {
58
51
  return Type.Optional(
59
52
  StringEnum(
@@ -80,7 +73,3 @@ export function rounding(opts: StringOptions = {}) {
80
73
  }
81
74
 
82
75
  export type RoundingSettings = Static<ReturnType<typeof rounding>>;
83
-
84
- export function roundingRef(options: StringOptions = {}) {
85
- return typedRef("styles:rounding", options);
86
- }
@@ -1,13 +1,12 @@
1
1
  import { type Static, type ObjectOptions, Type, type StringOptions, TObject } from "@sinclair/typebox";
2
2
  import { StringEnum } from "~/shared/utils/string-enum";
3
- import { typedRef } from "~/shared/utils/typed-ref";
4
3
 
5
4
  type ColorPresetOptions = ObjectOptions & {
6
5
  "ui:presets"?: Record<string, { className: string; label: string }>;
7
6
  "ui:default-gradient-direction"?: string;
8
7
  };
9
8
 
10
- export const colorPresets: NonNullable<ColorPresetOptions["ui:presets"]> = {
9
+ export const colorPresets = {
11
10
  "primary-50": {
12
11
  className: "bg-primary-50 text-primary-50-content",
13
12
  label: "Primary 50",
@@ -320,21 +319,25 @@ export const colorPresets: NonNullable<ColorPresetOptions["ui:presets"]> = {
320
319
  className: "",
321
320
  label: "None",
322
321
  },
323
- };
322
+ } as const;
323
+
324
+ export type ColorPreset = keyof typeof colorPresets;
324
325
 
325
326
  export function colorPreset(options: ColorPresetOptions = {}) {
326
327
  return Type.Object(
327
328
  {
328
- color: StringEnum(Object.keys(colorPresets), {
329
+ color: StringEnum(Object.keys(colorPresets) as Array<ColorPreset>, {
329
330
  title: "Color preset",
330
331
  description: "Color preset to apply to background and text",
331
- enumNames: Object.keys(colorPresets).map((key) => colorPresets[key].label),
332
+ enumNames: Object.keys(colorPresets).map(
333
+ (key) => colorPresets[key as keyof typeof colorPresets].label,
334
+ ),
332
335
  "ai:instructions": `Presets are predefined color combinations of background and text colors that can be applied to elements.
333
336
  The possible semantic colors are primary, secondary, accent, neutral, and base, each declined in various shades from 50 to 900. (except base which has only 100, 200, and 300).
334
337
  You can use gradients using color gradient variations (e.g. primary-gradient-100, secondary-gradient-200, etc.). In this case, you will also need to set the gradient direction.`,
335
338
  "ui:styleId": "presets:color",
336
339
  "ui:responsive": true,
337
- default: options.default?.color,
340
+ default: options.default?.color ?? "none",
338
341
  }),
339
342
  gradientDirection: Type.Optional(gradientDirection(options)),
340
343
  },
@@ -356,10 +359,6 @@ You can use gradients using color gradient variations (e.g. primary-gradient-100
356
359
 
357
360
  export type ColorPresetSettings = Static<ReturnType<typeof colorPreset>>;
358
361
 
359
- export function colorPresetRef(options: ColorPresetOptions = {}) {
360
- return typedRef("presets:color", options);
361
- }
362
-
363
362
  function gradientDirection(options: StringOptions = {}) {
364
363
  return StringEnum(
365
364
  [
@@ -1,40 +1,29 @@
1
- import { type SchemaOptions, type Static, type StringOptions, type TObject, Type } from "@sinclair/typebox";
2
- import { typedRef } from "~/shared/utils/typed-ref";
1
+ import { type Static, type StringOptions, Type } from "@sinclair/typebox";
3
2
 
4
- export function color(defaultValue?: string, title = "Text color") {
3
+ export function color(options: StringOptions = {}) {
5
4
  return Type.String({
6
- title,
7
- // $id: "styles:color",
5
+ title: "Text color",
8
6
  "ai:instructions":
9
7
  "hex/rgb/rgba color or classes like `text-<variant>-<shade>`, variants being `primary`, `secondary`, `accent` and `neutral`, and shades between 50 and 900",
10
- default: defaultValue,
11
8
  "ui:styleId": "styles:color",
12
9
  "ui:field": "color",
13
10
  "ui:color-type": "text",
11
+ ...options,
14
12
  });
15
13
  }
16
14
 
17
15
  export type ColorSettings = Static<ReturnType<typeof color>>;
18
16
 
19
- export function colorRef(options: SchemaOptions = {}) {
20
- return typedRef("styles:color", { ...options, "ui:styleId": "styles:color" });
21
- }
22
-
23
- export function borderColor(defaultValue?: string, title = "Border color") {
17
+ export function borderColor(options: StringOptions = {}) {
24
18
  return Type.String({
25
- title,
26
- // $id: "styles:borderColor",
19
+ title: "Border color",
27
20
  "ai:instructions":
28
21
  "hex/rgb/rgba color or classes like `border-<variant>-<shade>`, variants being `primary`, `secondary`, `accent` and `neutral`, and shades between 50 and 900",
29
- default: defaultValue,
30
22
  "ui:styleId": "styles:borderColor",
31
23
  "ui:field": "color",
32
24
  "ui:color-type": "border",
25
+ ...options,
33
26
  });
34
27
  }
35
28
 
36
29
  export type BorderColorSettings = Static<ReturnType<typeof borderColor>>;
37
-
38
- export function borderColorRef(options: SchemaOptions = {}) {
39
- return typedRef("styles:borderColor", { ...options, "ui:styleId": "styles:borderColor" });
40
- }