@upstart.gg/sdk 0.0.134 → 0.0.135

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 (524) hide show
  1. package/dist/shared/ai/schemas.d.ts +1 -2
  2. package/dist/shared/ai/schemas.d.ts.map +1 -1
  3. package/dist/shared/ai/schemas.js +28 -1
  4. package/dist/shared/ai/schemas.js.map +1 -1
  5. package/dist/shared/ai/types.d.ts +15 -1
  6. package/dist/shared/ai/types.d.ts.map +1 -1
  7. package/dist/shared/ajv.js +6861 -1
  8. package/dist/shared/ajv.js.map +1 -1
  9. package/dist/shared/analytics/init.js +20 -1
  10. package/dist/shared/analytics/init.js.map +1 -1
  11. package/dist/shared/analytics/track.js +24 -1
  12. package/dist/shared/analytics/track.js.map +1 -1
  13. package/dist/shared/attributes.d.ts +97 -30
  14. package/dist/shared/attributes.d.ts.map +1 -1
  15. package/dist/shared/attributes.js +46 -1
  16. package/dist/shared/brick-manifest.d.ts +1 -1
  17. package/dist/shared/brick-manifest.js +26 -1
  18. package/dist/shared/bricks/manifests/accordion.manifest.d.ts +2 -2
  19. package/dist/shared/bricks/manifests/accordion.manifest.js +29 -1
  20. package/dist/shared/bricks/manifests/all-manifests.d.ts.map +1 -1
  21. package/dist/shared/bricks/manifests/all-manifests.js +59 -1
  22. package/dist/shared/bricks/manifests/box.manifest.d.ts +2 -2
  23. package/dist/shared/bricks/manifests/box.manifest.js +28 -1
  24. package/dist/shared/bricks/manifests/button.manifest.d.ts +2 -2
  25. package/dist/shared/bricks/manifests/button.manifest.js +28 -1
  26. package/dist/shared/bricks/manifests/card.manifest.d.ts +3 -3
  27. package/dist/shared/bricks/manifests/card.manifest.js +28 -1
  28. package/dist/shared/bricks/manifests/carousel.manifest.d.ts +2 -2
  29. package/dist/shared/bricks/manifests/carousel.manifest.js +28 -1
  30. package/dist/shared/bricks/manifests/footer.manifest.d.ts +4 -4
  31. package/dist/shared/bricks/manifests/footer.manifest.d.ts.map +1 -1
  32. package/dist/shared/bricks/manifests/footer.manifest.js +30 -1
  33. package/dist/shared/bricks/manifests/form.manifest.d.ts +3 -3
  34. package/dist/shared/bricks/manifests/form.manifest.js +29 -1
  35. package/dist/shared/bricks/manifests/hero.manifest.d.ts +2 -2
  36. package/dist/shared/bricks/manifests/hero.manifest.js +28 -1
  37. package/dist/shared/bricks/manifests/html.manifest.d.ts +2 -2
  38. package/dist/shared/bricks/manifests/html.manifest.js +28 -1
  39. package/dist/shared/bricks/manifests/icon.manifest.d.ts +2 -2
  40. package/dist/shared/bricks/manifests/icon.manifest.js +28 -1
  41. package/dist/shared/bricks/manifests/image.manifest.d.ts +2 -2
  42. package/dist/shared/bricks/manifests/image.manifest.js +28 -1
  43. package/dist/shared/bricks/manifests/images-gallery.manifest.d.ts +2 -2
  44. package/dist/shared/bricks/manifests/images-gallery.manifest.js +28 -1
  45. package/dist/shared/bricks/manifests/map.manifest.d.ts +2 -2
  46. package/dist/shared/bricks/manifests/map.manifest.js +31 -1
  47. package/dist/shared/bricks/manifests/navbar.manifest.d.ts +4 -4
  48. package/dist/shared/bricks/manifests/navbar.manifest.d.ts.map +1 -1
  49. package/dist/shared/bricks/manifests/navbar.manifest.js +31 -1
  50. package/dist/shared/bricks/manifests/sidebar.manifest.d.ts +2 -2
  51. package/dist/shared/bricks/manifests/sidebar.manifest.js +29 -1
  52. package/dist/shared/bricks/manifests/social-links.manifest.d.ts +2 -2
  53. package/dist/shared/bricks/manifests/social-links.manifest.js +28 -1
  54. package/dist/shared/bricks/manifests/spacer.manifest.d.ts +2 -2
  55. package/dist/shared/bricks/manifests/spacer.manifest.js +28 -1
  56. package/dist/shared/bricks/manifests/table.manifest.d.ts +91 -0
  57. package/dist/shared/bricks/manifests/table.manifest.d.ts.map +1 -0
  58. package/dist/shared/bricks/manifests/table.manifest.js +31 -0
  59. package/dist/shared/bricks/manifests/tabs.manifest.d.ts +90 -0
  60. package/dist/shared/bricks/manifests/tabs.manifest.d.ts.map +1 -0
  61. package/dist/shared/bricks/manifests/tabs.manifest.js +31 -0
  62. package/dist/shared/bricks/manifests/tabs.manifest.js.map +1 -0
  63. package/dist/shared/bricks/manifests/testimonials.manifest.d.ts +2 -2
  64. package/dist/shared/bricks/manifests/testimonials.manifest.js +28 -1
  65. package/dist/shared/bricks/manifests/text.manifest.d.ts +2 -2
  66. package/dist/shared/bricks/manifests/text.manifest.js +28 -1
  67. package/dist/shared/bricks/manifests/timeline.manifest.d.ts +101 -0
  68. package/dist/shared/bricks/manifests/timeline.manifest.d.ts.map +1 -0
  69. package/dist/shared/bricks/manifests/timeline.manifest.js +31 -0
  70. package/dist/shared/bricks/manifests/timeline.manifest.js.map +1 -0
  71. package/dist/shared/bricks/manifests/video.manifest.d.ts +2 -2
  72. package/dist/shared/bricks/manifests/video.manifest.js +28 -1
  73. package/dist/shared/bricks/props/align.d.ts +2 -2
  74. package/dist/shared/bricks/props/align.js +19 -1
  75. package/dist/shared/bricks/props/background.d.ts +4 -4
  76. package/dist/shared/bricks/props/background.js +15 -1
  77. package/dist/shared/bricks/props/boolean.js +7 -1
  78. package/dist/shared/bricks/props/border.js +16 -1
  79. package/dist/shared/bricks/props/color-preset.d.ts.map +1 -1
  80. package/dist/shared/bricks/props/color-preset.js +13 -1
  81. package/dist/shared/bricks/props/color.js +14 -1
  82. package/dist/shared/bricks/props/common.d.ts +2 -2
  83. package/dist/shared/bricks/props/common.js +13 -1
  84. package/dist/shared/bricks/props/css-length.js +14 -1
  85. package/dist/shared/bricks/props/datarecord.js +7 -1
  86. package/dist/shared/bricks/props/datasource.d.ts +1 -1
  87. package/dist/shared/bricks/props/datasource.js +86 -1
  88. package/dist/shared/bricks/props/datasource.js.map +1 -1
  89. package/dist/shared/bricks/props/date.js +9 -1
  90. package/dist/shared/bricks/props/direction.js +11 -1
  91. package/dist/shared/bricks/props/dynamic.d.ts.map +1 -1
  92. package/dist/shared/bricks/props/dynamic.js +30 -1
  93. package/dist/shared/bricks/props/effects.js +17 -1
  94. package/dist/shared/bricks/props/file.js +15 -1
  95. package/dist/shared/bricks/props/file.js.map +1 -1
  96. package/dist/shared/bricks/props/geolocation.js +44 -1
  97. package/dist/shared/bricks/props/geolocation.js.map +1 -1
  98. package/dist/shared/bricks/props/helpers.d.ts +1 -1
  99. package/dist/shared/bricks/props/helpers.js +18 -1
  100. package/dist/shared/bricks/props/image.js +11 -1
  101. package/dist/shared/bricks/props/number.js +7 -1
  102. package/dist/shared/bricks/props/position.js +7 -1
  103. package/dist/shared/bricks/props/string.js +18 -1
  104. package/dist/shared/bricks/props/tags.js +10 -1
  105. package/dist/shared/bricks/props/text.js +19 -1
  106. package/dist/shared/bricks.d.ts +56 -44
  107. package/dist/shared/bricks.d.ts.map +1 -1
  108. package/dist/shared/bricks.js +79 -1
  109. package/dist/shared/chunk-2BPYOTKA.js +21 -0
  110. package/dist/shared/{chunk-WHTPGWUV.js.map → chunk-2BPYOTKA.js.map} +1 -1
  111. package/dist/shared/chunk-2HO4FHLM.js +456 -0
  112. package/dist/shared/{chunk-I3VL6SRH.js.map → chunk-2HO4FHLM.js.map} +1 -1
  113. package/dist/shared/chunk-2RK3CPYJ.js +74 -0
  114. package/dist/shared/{chunk-W33JMRRN.js.map → chunk-2RK3CPYJ.js.map} +1 -1
  115. package/dist/shared/chunk-3KLRW4I2.js +560 -0
  116. package/dist/shared/{chunk-B3EATRFX.js.map → chunk-3KLRW4I2.js.map} +1 -1
  117. package/dist/shared/chunk-3ZDN5BWN.js +18 -0
  118. package/dist/shared/{chunk-OIY3EPHO.js.map → chunk-3ZDN5BWN.js.map} +1 -1
  119. package/dist/shared/chunk-4WI23M7W.js +30 -0
  120. package/dist/shared/chunk-4WI23M7W.js.map +1 -0
  121. package/dist/shared/chunk-55C6MTX2.js +21 -0
  122. package/dist/shared/{chunk-KBHDY425.js.map → chunk-55C6MTX2.js.map} +1 -1
  123. package/dist/shared/chunk-6E42XWFH.js +103 -0
  124. package/dist/shared/{chunk-ZA3GAB4H.js.map → chunk-6E42XWFH.js.map} +1 -1
  125. package/dist/shared/chunk-6TVVKUWM.js +15 -0
  126. package/dist/shared/{chunk-4WDWJA3N.js.map → chunk-6TVVKUWM.js.map} +1 -1
  127. package/dist/shared/chunk-6WIMWLCJ.js +17 -0
  128. package/dist/shared/{chunk-KYY3PHP7.js.map → chunk-6WIMWLCJ.js.map} +1 -1
  129. package/dist/shared/chunk-7LAWWRU7.js +21 -0
  130. package/dist/shared/{chunk-IUXCWWGO.js.map → chunk-7LAWWRU7.js.map} +1 -1
  131. package/dist/shared/chunk-A2QPY54H.js +13 -0
  132. package/dist/shared/{chunk-KFM6KXSE.js.map → chunk-A2QPY54H.js.map} +1 -1
  133. package/dist/shared/chunk-BHC2A43S.js +67 -0
  134. package/dist/shared/{chunk-3YVJ2ELD.js.map → chunk-BHC2A43S.js.map} +1 -1
  135. package/dist/shared/chunk-BMWRR4DI.js +572 -0
  136. package/dist/shared/chunk-BMWRR4DI.js.map +1 -0
  137. package/dist/shared/chunk-BPBKHEQ5.js +39 -0
  138. package/dist/shared/{chunk-OHNYCXPX.js.map → chunk-BPBKHEQ5.js.map} +1 -1
  139. package/dist/shared/chunk-BW6EFRSF.js +794 -0
  140. package/dist/shared/chunk-BW6EFRSF.js.map +1 -0
  141. package/dist/shared/chunk-CKFRSHR2.js +105 -0
  142. package/dist/shared/{chunk-CFF6Q7O7.js.map → chunk-CKFRSHR2.js.map} +1 -1
  143. package/dist/shared/chunk-CSF2WQX2.js +60 -0
  144. package/dist/shared/{chunk-GLS7HPIZ.js.map → chunk-CSF2WQX2.js.map} +1 -1
  145. package/dist/shared/chunk-D4YQ6ABM.js +338 -0
  146. package/dist/shared/{chunk-PXI7AHWS.js.map → chunk-D4YQ6ABM.js.map} +1 -1
  147. package/dist/shared/chunk-DRTGM2UJ.js +129 -0
  148. package/dist/shared/{chunk-FLOMNC6J.js.map → chunk-DRTGM2UJ.js.map} +1 -1
  149. package/dist/shared/chunk-EQMU6NIU.js +1222 -0
  150. package/dist/shared/chunk-EQMU6NIU.js.map +1 -0
  151. package/dist/shared/chunk-EWSPTRDL.js +378 -0
  152. package/dist/shared/{chunk-QX6OGRRT.js.map → chunk-EWSPTRDL.js.map} +1 -1
  153. package/dist/shared/chunk-F22LDHEO.js +105 -0
  154. package/dist/shared/{chunk-5YRC3IT3.js.map → chunk-F22LDHEO.js.map} +1 -1
  155. package/dist/shared/chunk-FVU5PXRC.js +244 -0
  156. package/dist/shared/chunk-FVU5PXRC.js.map +1 -0
  157. package/dist/shared/chunk-GCQURRVB.js +837 -0
  158. package/dist/shared/{chunk-WYVJE6J5.js.map → chunk-GCQURRVB.js.map} +1 -1
  159. package/dist/shared/chunk-GPCI2N2A.js +395 -0
  160. package/dist/shared/{chunk-WBZW5LVH.js.map → chunk-GPCI2N2A.js.map} +1 -1
  161. package/dist/shared/chunk-GRMY35BU.js +722 -0
  162. package/dist/shared/{chunk-NJGXC7D6.js.map → chunk-GRMY35BU.js.map} +1 -1
  163. package/dist/shared/chunk-HPCCD6V5.js +17 -0
  164. package/dist/shared/{chunk-6I3ONVU6.js.map → chunk-HPCCD6V5.js.map} +1 -1
  165. package/dist/shared/chunk-JK2FWFJU.js +15 -0
  166. package/dist/shared/{chunk-JMN3HTZU.js.map → chunk-JK2FWFJU.js.map} +1 -1
  167. package/dist/shared/chunk-KNREHAPN.js +13 -0
  168. package/dist/shared/{chunk-KSEURRVZ.js.map → chunk-KNREHAPN.js.map} +1 -1
  169. package/dist/shared/chunk-KT7SSWMM.js +24 -0
  170. package/dist/shared/{chunk-KO5FPOWZ.js.map → chunk-KT7SSWMM.js.map} +1 -1
  171. package/dist/shared/chunk-LXAO3JA6.js +368 -0
  172. package/dist/shared/chunk-LXAO3JA6.js.map +1 -0
  173. package/dist/shared/chunk-MLZT7MRQ.js +538 -0
  174. package/dist/shared/chunk-MLZT7MRQ.js.map +1 -0
  175. package/dist/shared/chunk-NT3IW52F.js +260 -0
  176. package/dist/shared/chunk-NT3IW52F.js.map +1 -0
  177. package/dist/shared/chunk-NTLAKMMQ.js +94 -0
  178. package/dist/shared/{chunk-ZTZJHY4E.js.map → chunk-NTLAKMMQ.js.map} +1 -1
  179. package/dist/shared/chunk-O5PLB3YB.js +413 -0
  180. package/dist/shared/chunk-O5PLB3YB.js.map +1 -0
  181. package/dist/shared/chunk-O5PQISX4.js +51 -0
  182. package/dist/shared/{chunk-VEDQV5XO.js.map → chunk-O5PQISX4.js.map} +1 -1
  183. package/dist/shared/chunk-OJP4HMJT.js +22 -0
  184. package/dist/shared/{chunk-6HLU4UI2.js.map → chunk-OJP4HMJT.js.map} +1 -1
  185. package/dist/shared/chunk-OSJ6KGPX.js +16 -0
  186. package/dist/shared/{chunk-GPEMPZXK.js.map → chunk-OSJ6KGPX.js.map} +1 -1
  187. package/dist/shared/chunk-OXYXZHP2.js +48 -0
  188. package/dist/shared/{chunk-5O4Z3YQY.js.map → chunk-OXYXZHP2.js.map} +1 -1
  189. package/dist/shared/chunk-P3RH5URN.js +230 -0
  190. package/dist/shared/{chunk-R6ATC4TC.js.map → chunk-P3RH5URN.js.map} +1 -1
  191. package/dist/shared/chunk-Q4NPPLEU.js +34 -0
  192. package/dist/shared/{chunk-QWGUMKZC.js.map → chunk-Q4NPPLEU.js.map} +1 -1
  193. package/dist/shared/chunk-QL3T5HJQ.js +59 -0
  194. package/dist/shared/{chunk-E6XEI7IK.js.map → chunk-QL3T5HJQ.js.map} +1 -1
  195. package/dist/shared/chunk-QLQVDZIL.js +11 -0
  196. package/dist/shared/{chunk-KLD3P5XH.js.map → chunk-QLQVDZIL.js.map} +1 -1
  197. package/dist/shared/chunk-QQQ3FYPG.js +248 -0
  198. package/dist/shared/{chunk-SXHDQ64Z.js.map → chunk-QQQ3FYPG.js.map} +1 -1
  199. package/dist/shared/chunk-QSND5IWT.js +165 -0
  200. package/dist/shared/{chunk-ZQPXQCY2.js.map → chunk-QSND5IWT.js.map} +1 -1
  201. package/dist/shared/chunk-RV7AYVFV.js +75 -0
  202. package/dist/shared/{chunk-DHI3IBOD.js.map → chunk-RV7AYVFV.js.map} +1 -1
  203. package/dist/shared/chunk-SE6O65HC.js +44 -0
  204. package/dist/shared/{chunk-NM5MMPCF.js.map → chunk-SE6O65HC.js.map} +1 -1
  205. package/dist/shared/chunk-SHUGHJ7V.js +519 -0
  206. package/dist/shared/{chunk-IKC3FK7L.js.map → chunk-SHUGHJ7V.js.map} +1 -1
  207. package/dist/shared/chunk-TB3X4LRQ.js +56 -0
  208. package/dist/shared/{chunk-RJYZ5FAR.js.map → chunk-TB3X4LRQ.js.map} +1 -1
  209. package/dist/shared/chunk-TEO6TJOM.js +212 -0
  210. package/dist/shared/chunk-TEO6TJOM.js.map +1 -0
  211. package/dist/shared/chunk-TFGGYU6Y.js +394 -0
  212. package/dist/shared/{chunk-CZRCW5EN.js.map → chunk-TFGGYU6Y.js.map} +1 -1
  213. package/dist/shared/chunk-TKMWY2VN.js +18 -0
  214. package/dist/shared/{chunk-RDZK73KV.js.map → chunk-TKMWY2VN.js.map} +1 -1
  215. package/dist/shared/chunk-TNMNMYOB.js +69 -0
  216. package/dist/shared/{chunk-4BTB3MU2.js.map → chunk-TNMNMYOB.js.map} +1 -1
  217. package/dist/shared/chunk-U7TVEPKA.js +432 -0
  218. package/dist/shared/chunk-U7TVEPKA.js.map +1 -0
  219. package/dist/shared/chunk-UQF52PWK.js +70 -0
  220. package/dist/shared/{chunk-A3GF4PYW.js.map → chunk-UQF52PWK.js.map} +1 -1
  221. package/dist/shared/chunk-V3UA3LRK.js +253 -0
  222. package/dist/shared/{chunk-G5CJU6RD.js.map → chunk-V3UA3LRK.js.map} +1 -1
  223. package/dist/shared/chunk-W6MRYRGJ.js +100 -0
  224. package/dist/shared/{chunk-CCI4C3TM.js.map → chunk-W6MRYRGJ.js.map} +1 -1
  225. package/dist/shared/chunk-WGDUJSSS.js +462 -0
  226. package/dist/shared/chunk-WGDUJSSS.js.map +1 -0
  227. package/dist/shared/chunk-WKN566LN.js +29 -0
  228. package/dist/shared/{chunk-Q4H4QEMB.js.map → chunk-WKN566LN.js.map} +1 -1
  229. package/dist/shared/chunk-X6N463D4.js +222 -0
  230. package/dist/shared/{chunk-IKHZD2JH.js.map → chunk-X6N463D4.js.map} +1 -1
  231. package/dist/shared/chunk-X75YV73Q.js +178 -0
  232. package/dist/shared/{chunk-PLSV746R.js.map → chunk-X75YV73Q.js.map} +1 -1
  233. package/dist/shared/chunk-XCWMZVF5.js +89 -0
  234. package/dist/shared/{chunk-ZFCUSWMT.js.map → chunk-XCWMZVF5.js.map} +1 -1
  235. package/dist/shared/chunk-XCZVD5H6.js +13 -0
  236. package/dist/shared/{chunk-HAGKVQOW.js.map → chunk-XCZVD5H6.js.map} +1 -1
  237. package/dist/shared/chunk-XZ6WJZHN.js +10 -0
  238. package/dist/shared/{chunk-DCH4ZKWT.js.map → chunk-XZ6WJZHN.js.map} +1 -1
  239. package/dist/shared/chunk-Y74LZNND.js +30 -0
  240. package/dist/shared/{chunk-GACHLACT.js.map → chunk-Y74LZNND.js.map} +1 -1
  241. package/dist/shared/chunk-Z2NTDFB4.js +505 -0
  242. package/dist/shared/{chunk-SQ5T4AT5.js.map → chunk-Z2NTDFB4.js.map} +1 -1
  243. package/dist/shared/chunk-Z35I5JM5.js +131 -0
  244. package/dist/shared/{chunk-PSTFJ5IJ.js.map → chunk-Z35I5JM5.js.map} +1 -1
  245. package/dist/shared/chunk-ZEFOWKYP.js +44 -0
  246. package/dist/shared/{chunk-DQ7PRWTG.js.map → chunk-ZEFOWKYP.js.map} +1 -1
  247. package/dist/shared/chunk-ZGQ3AQBG.js +33 -0
  248. package/dist/shared/chunk-ZGQ3AQBG.js.map +1 -0
  249. package/dist/shared/chunk-ZLYIRH2B.js +68 -0
  250. package/dist/shared/{chunk-SWLUQVK7.js.map → chunk-ZLYIRH2B.js.map} +1 -1
  251. package/dist/shared/datarecords/external/airtable/handler.js +377 -1
  252. package/dist/shared/datarecords/external/airtable/handler.js.map +1 -1
  253. package/dist/shared/datarecords/external/airtable/oauth/config.js +15 -1
  254. package/dist/shared/datarecords/external/airtable/oauth/config.js.map +1 -1
  255. package/dist/shared/datarecords/external/airtable/types.js +11 -1
  256. package/dist/shared/datarecords/external/generic-webhook/handler.js +14 -1
  257. package/dist/shared/datarecords/external/generic-webhook/handler.js.map +1 -1
  258. package/dist/shared/datarecords/external/generic-webhook/options.js +16 -1
  259. package/dist/shared/datarecords/external/generic-webhook/options.js.map +1 -1
  260. package/dist/shared/datarecords/external/google/oauth/config.js +35 -1
  261. package/dist/shared/datarecords/external/google/oauth/config.js.map +1 -1
  262. package/dist/shared/datarecords/external/google/sheets/client.js +7 -1
  263. package/dist/shared/datarecords/external/google/sheets/handler.js +184 -5
  264. package/dist/shared/datarecords/external/google/sheets/handler.js.map +1 -1
  265. package/dist/shared/datarecords/external/google/sheets/types.js +7 -1
  266. package/dist/shared/datarecords/external/notion/handler.js +397 -1
  267. package/dist/shared/datarecords/external/notion/handler.js.map +1 -1
  268. package/dist/shared/datarecords/external/notion/oauth/config.js +11 -1
  269. package/dist/shared/datarecords/external/notion/oauth/config.js.map +1 -1
  270. package/dist/shared/datarecords/external/notion/types.js +7 -1
  271. package/dist/shared/datarecords/types.d.ts +3 -3
  272. package/dist/shared/datarecords/types.js +16 -1
  273. package/dist/shared/datarecords.js +9 -1
  274. package/dist/shared/datarecords.js.map +1 -1
  275. package/dist/shared/datasources/external/facebook/posts/fetcher.js +49 -1
  276. package/dist/shared/datasources/external/facebook/posts/fetcher.js.map +1 -1
  277. package/dist/shared/datasources/external/facebook/posts/schema.js +36 -1
  278. package/dist/shared/datasources/external/facebook/posts/schema.js.map +1 -1
  279. package/dist/shared/datasources/external/http-json/fetcher.js +29 -1
  280. package/dist/shared/datasources/external/http-json/fetcher.js.map +1 -1
  281. package/dist/shared/datasources/external/http-json/options.js +11 -1
  282. package/dist/shared/datasources/external/http-json/options.js.map +1 -1
  283. package/dist/shared/datasources/external/http-json/schema.js +10 -1
  284. package/dist/shared/datasources/external/http-json/schema.js.map +1 -1
  285. package/dist/shared/datasources/external/instagram/feed/fetcher.js +29 -1
  286. package/dist/shared/datasources/external/instagram/feed/fetcher.js.map +1 -1
  287. package/dist/shared/datasources/external/instagram/feed/schema.js +26 -1
  288. package/dist/shared/datasources/external/instagram/feed/schema.js.map +1 -1
  289. package/dist/shared/datasources/external/mastodon/account/fetcher.js +7 -1
  290. package/dist/shared/datasources/external/mastodon/account/schema.js +7 -1
  291. package/dist/shared/datasources/external/mastodon/options.js +10 -1
  292. package/dist/shared/datasources/external/mastodon/options.js.map +1 -1
  293. package/dist/shared/datasources/external/mastodon/status/fetcher.js +31 -1
  294. package/dist/shared/datasources/external/mastodon/status/fetcher.js.map +1 -1
  295. package/dist/shared/datasources/external/mastodon/status/sample.array.js +61 -1
  296. package/dist/shared/datasources/external/mastodon/status/sample.array.js.map +1 -1
  297. package/dist/shared/datasources/external/mastodon/status/sample.single.js +59 -1
  298. package/dist/shared/datasources/external/mastodon/status/sample.single.js.map +1 -1
  299. package/dist/shared/datasources/external/mastodon/status/schema.js +125 -1
  300. package/dist/shared/datasources/external/mastodon/status/schema.js.map +1 -1
  301. package/dist/shared/datasources/external/meta/oauth/config.js +17 -1
  302. package/dist/shared/datasources/external/meta/oauth/config.js.map +1 -1
  303. package/dist/shared/datasources/external/meta/options.js +10 -1
  304. package/dist/shared/datasources/external/meta/options.js.map +1 -1
  305. package/dist/shared/datasources/external/rss/fetcher.js +26 -1
  306. package/dist/shared/datasources/external/rss/fetcher.js.map +1 -1
  307. package/dist/shared/datasources/external/rss/options.js +10 -1
  308. package/dist/shared/datasources/external/rss/options.js.map +1 -1
  309. package/dist/shared/datasources/external/rss/schema.js +7 -1
  310. package/dist/shared/datasources/external/threads/media/fetcher.js +47 -1
  311. package/dist/shared/datasources/external/threads/media/fetcher.js.map +1 -1
  312. package/dist/shared/datasources/external/threads/media/schema.js +40 -1
  313. package/dist/shared/datasources/external/threads/media/schema.js.map +1 -1
  314. package/dist/shared/datasources/external/tiktok/oauth/config.js +18 -1
  315. package/dist/shared/datasources/external/tiktok/oauth/config.js.map +1 -1
  316. package/dist/shared/datasources/external/tiktok/video/fetcher.js +34 -1
  317. package/dist/shared/datasources/external/tiktok/video/fetcher.js.map +1 -1
  318. package/dist/shared/datasources/external/tiktok/video/options.js +11 -1
  319. package/dist/shared/datasources/external/tiktok/video/options.js.map +1 -1
  320. package/dist/shared/datasources/external/tiktok/video/schema.js +30 -1
  321. package/dist/shared/datasources/external/tiktok/video/schema.js.map +1 -1
  322. package/dist/shared/datasources/external/youtube/list/fetcher.js +32 -1
  323. package/dist/shared/datasources/external/youtube/list/fetcher.js.map +1 -1
  324. package/dist/shared/datasources/external/youtube/list/options.js +14 -1
  325. package/dist/shared/datasources/external/youtube/list/options.js.map +1 -1
  326. package/dist/shared/datasources/external/youtube/list/schema.js +7 -1
  327. package/dist/shared/datasources/external/youtube/oauth/config.js +18 -1
  328. package/dist/shared/datasources/external/youtube/oauth/config.js.map +1 -1
  329. package/dist/shared/datasources/internal/blog/schema.js +72 -1
  330. package/dist/shared/datasources/internal/blog/schema.js.map +1 -1
  331. package/dist/shared/datasources/internal/changelog/schema.js +51 -1
  332. package/dist/shared/datasources/internal/changelog/schema.js.map +1 -1
  333. package/dist/shared/datasources/internal/contact-info/schema.js +25 -1
  334. package/dist/shared/datasources/internal/contact-info/schema.js.map +1 -1
  335. package/dist/shared/datasources/internal/cv/schema.js +222 -1
  336. package/dist/shared/datasources/internal/cv/schema.js.map +1 -1
  337. package/dist/shared/datasources/internal/faq/schema.js +30 -1
  338. package/dist/shared/datasources/internal/faq/schema.js.map +1 -1
  339. package/dist/shared/datasources/internal/job-board/schema.js +224 -1
  340. package/dist/shared/datasources/internal/job-board/schema.js.map +1 -1
  341. package/dist/shared/datasources/internal/links/schema.js +7 -1
  342. package/dist/shared/datasources/internal/recipes/schema.js +45 -1
  343. package/dist/shared/datasources/internal/recipes/schema.js.map +1 -1
  344. package/dist/shared/datasources/internal/restaurant/schema.js +226 -1
  345. package/dist/shared/datasources/internal/restaurant/schema.js.map +1 -1
  346. package/dist/shared/datasources/samples.js +69 -1
  347. package/dist/shared/datasources/samples.js.map +1 -1
  348. package/dist/shared/datasources/schemas.js +34 -1
  349. package/dist/shared/datasources/schemas.js.map +1 -1
  350. package/dist/shared/datasources/types.d.ts +1 -1
  351. package/dist/shared/datasources/types.d.ts.map +1 -1
  352. package/dist/shared/datasources/types.js +32 -1
  353. package/dist/shared/datasources/utils.js +11 -1
  354. package/dist/shared/datasources.js +51 -1
  355. package/dist/shared/datasources.js.map +1 -1
  356. package/dist/shared/errors.js +7 -1
  357. package/dist/shared/images.d.ts +4 -4
  358. package/dist/shared/images.d.ts.map +1 -1
  359. package/dist/shared/images.js +44 -1
  360. package/dist/shared/images.js.map +1 -1
  361. package/dist/shared/index.js +9 -1
  362. package/dist/shared/index.js.map +1 -1
  363. package/dist/shared/layout-constants.js +14 -1
  364. package/dist/shared/layout-constants.js.map +1 -1
  365. package/dist/shared/manifest.js +52 -1
  366. package/dist/shared/manifest.js.map +1 -1
  367. package/dist/shared/oauth.js +8 -1
  368. package/dist/shared/page.d.ts +12 -126
  369. package/dist/shared/page.d.ts.map +1 -1
  370. package/dist/shared/page.js +58 -1
  371. package/dist/shared/prompt.js +7 -1
  372. package/dist/shared/responsive.js +10 -1
  373. package/dist/shared/responsive.js.map +1 -1
  374. package/dist/shared/schema-registry.d.ts +5 -0
  375. package/dist/shared/schema-registry.d.ts.map +1 -0
  376. package/dist/shared/schema-registry.js +119 -0
  377. package/dist/shared/schema-registry.js.map +1 -0
  378. package/dist/shared/site.d.ts +36 -33
  379. package/dist/shared/site.d.ts.map +1 -1
  380. package/dist/shared/site.js +127 -1
  381. package/dist/shared/site.js.map +1 -1
  382. package/dist/shared/sitemap.d.ts +17 -17
  383. package/dist/shared/sitemap.d.ts.map +1 -1
  384. package/dist/shared/sitemap.js +69 -1
  385. package/dist/shared/social-icons.js +312 -1
  386. package/dist/shared/social-icons.js.map +1 -1
  387. package/dist/shared/tests/schema-registry.test.d.ts +2 -0
  388. package/dist/shared/tests/schema-registry.test.d.ts.map +1 -0
  389. package/dist/shared/theme.d.ts +1 -1
  390. package/dist/shared/theme.d.ts.map +1 -1
  391. package/dist/shared/theme.js +35 -1
  392. package/dist/shared/themes/color-system.js +103 -1
  393. package/dist/shared/themes/color-system.js.map +1 -1
  394. package/dist/shared/utils/canvas-data-uri.js +7 -1
  395. package/dist/shared/utils/canvas-data-uri.js.map +1 -1
  396. package/dist/shared/utils/invariant.js +7 -1
  397. package/dist/shared/utils/json-date.js +7 -1
  398. package/dist/shared/utils/llm.d.ts +2 -3
  399. package/dist/shared/utils/llm.d.ts.map +1 -1
  400. package/dist/shared/utils/llm.js +24 -1
  401. package/dist/shared/utils/merge.js +7 -1
  402. package/dist/shared/utils/object-hash.js +13 -1
  403. package/dist/shared/utils/object-hash.js.map +1 -1
  404. package/dist/shared/utils/schema-registry.d.ts +5 -0
  405. package/dist/shared/utils/schema-registry.d.ts.map +1 -0
  406. package/dist/shared/utils/schema-registry.js +29 -0
  407. package/dist/shared/utils/schema-registry.js.map +1 -0
  408. package/dist/shared/utils/schema.d.ts +2 -1
  409. package/dist/shared/utils/schema.d.ts.map +1 -1
  410. package/dist/shared/utils/schema.js +31 -1
  411. package/dist/shared/utils/string-enum.js +7 -1
  412. package/dist/shared/utils/tests/schema-registry.test.d.ts +2 -0
  413. package/dist/shared/utils/tests/schema-registry.test.d.ts.map +1 -0
  414. package/dist/shared/utils/try-catch.js +13 -1
  415. package/dist/shared/utils/try-catch.js.map +1 -1
  416. package/dist/shared/utils/typed-ref.js +7 -1
  417. package/package.json +9 -10
  418. package/src/shared/ai/schemas.ts +4 -8
  419. package/src/shared/ai/types.ts +9 -1
  420. package/src/shared/attributes.ts +27 -25
  421. package/src/shared/bricks/manifests/all-manifests.ts +15 -0
  422. package/src/shared/bricks/manifests/footer.manifest.ts +36 -27
  423. package/src/shared/bricks/manifests/navbar.manifest.ts +1 -3
  424. package/src/shared/bricks/manifests/table.manifest.ts +443 -0
  425. package/src/shared/bricks/manifests/tabs.manifest.ts +576 -0
  426. package/src/shared/bricks/manifests/timeline.manifest.ts +441 -0
  427. package/src/shared/bricks/props/color-preset.ts +3 -1
  428. package/src/shared/bricks/props/dynamic.ts +0 -1
  429. package/src/shared/bricks.ts +54 -45
  430. package/src/shared/datasources/types.ts +1 -5
  431. package/src/shared/images.ts +10 -8
  432. package/src/shared/page.ts +0 -4
  433. package/src/shared/schema-registry.ts +82 -0
  434. package/src/shared/sitemap.ts +12 -16
  435. package/src/shared/tests/schema-registry.test.ts +14 -0
  436. package/src/shared/theme.ts +1 -4
  437. package/src/shared/utils/llm.ts +13 -12
  438. package/src/shared/utils/schema-registry.ts +82 -0
  439. package/src/shared/utils/schema.ts +18 -3
  440. package/src/shared/utils/tests/schema-registry.test.ts +13 -0
  441. package/src/shared/utils/tests/schema.test.ts +82 -55
  442. package/dist/shared/bricks/props/enum.d.ts +0 -13
  443. package/dist/shared/bricks/props/enum.d.ts.map +0 -1
  444. package/dist/shared/bricks/props/enum.js +0 -4
  445. package/dist/shared/chunk-3YVJ2ELD.js +0 -4
  446. package/dist/shared/chunk-4BTB3MU2.js +0 -4
  447. package/dist/shared/chunk-4WDWJA3N.js +0 -4
  448. package/dist/shared/chunk-5O4Z3YQY.js +0 -4
  449. package/dist/shared/chunk-5YRC3IT3.js +0 -4
  450. package/dist/shared/chunk-6HLU4UI2.js +0 -4
  451. package/dist/shared/chunk-6I3ONVU6.js +0 -4
  452. package/dist/shared/chunk-7A2JNQX3.js +0 -4
  453. package/dist/shared/chunk-7A2JNQX3.js.map +0 -1
  454. package/dist/shared/chunk-A3GF4PYW.js +0 -4
  455. package/dist/shared/chunk-A3K4NUVP.js +0 -4
  456. package/dist/shared/chunk-A3K4NUVP.js.map +0 -1
  457. package/dist/shared/chunk-AFVJZPLS.js +0 -4
  458. package/dist/shared/chunk-AFVJZPLS.js.map +0 -1
  459. package/dist/shared/chunk-AI4GHU7R.js +0 -4
  460. package/dist/shared/chunk-AI4GHU7R.js.map +0 -1
  461. package/dist/shared/chunk-B3EATRFX.js +0 -4
  462. package/dist/shared/chunk-CCI4C3TM.js +0 -4
  463. package/dist/shared/chunk-CFF6Q7O7.js +0 -7
  464. package/dist/shared/chunk-CZRCW5EN.js +0 -4
  465. package/dist/shared/chunk-DCH4ZKWT.js +0 -4
  466. package/dist/shared/chunk-DHI3IBOD.js +0 -4
  467. package/dist/shared/chunk-DQ7PRWTG.js +0 -4
  468. package/dist/shared/chunk-E6XEI7IK.js +0 -4
  469. package/dist/shared/chunk-FLOMNC6J.js +0 -4
  470. package/dist/shared/chunk-G5CJU6RD.js +0 -7
  471. package/dist/shared/chunk-GACHLACT.js +0 -4
  472. package/dist/shared/chunk-GLS7HPIZ.js +0 -4
  473. package/dist/shared/chunk-GOMXZC4B.js +0 -35
  474. package/dist/shared/chunk-GOMXZC4B.js.map +0 -1
  475. package/dist/shared/chunk-GPEMPZXK.js +0 -4
  476. package/dist/shared/chunk-HAGKVQOW.js +0 -4
  477. package/dist/shared/chunk-I3VL6SRH.js +0 -9
  478. package/dist/shared/chunk-IKC3FK7L.js +0 -4
  479. package/dist/shared/chunk-IKHZD2JH.js +0 -4
  480. package/dist/shared/chunk-IUXCWWGO.js +0 -4
  481. package/dist/shared/chunk-JMN3HTZU.js +0 -4
  482. package/dist/shared/chunk-KBHDY425.js +0 -4
  483. package/dist/shared/chunk-KFM6KXSE.js +0 -4
  484. package/dist/shared/chunk-KLD3P5XH.js +0 -4
  485. package/dist/shared/chunk-KO5FPOWZ.js +0 -4
  486. package/dist/shared/chunk-KSEURRVZ.js +0 -4
  487. package/dist/shared/chunk-KYY3PHP7.js +0 -4
  488. package/dist/shared/chunk-NJGXC7D6.js +0 -4
  489. package/dist/shared/chunk-NM5MMPCF.js +0 -4
  490. package/dist/shared/chunk-OGBMYMZD.js +0 -4
  491. package/dist/shared/chunk-OGBMYMZD.js.map +0 -1
  492. package/dist/shared/chunk-OHNYCXPX.js +0 -4
  493. package/dist/shared/chunk-OIY3EPHO.js +0 -4
  494. package/dist/shared/chunk-PIG623TZ.js +0 -4
  495. package/dist/shared/chunk-PIG623TZ.js.map +0 -1
  496. package/dist/shared/chunk-PLSV746R.js +0 -4
  497. package/dist/shared/chunk-PSCN3VVA.js +0 -4
  498. package/dist/shared/chunk-PSCN3VVA.js.map +0 -1
  499. package/dist/shared/chunk-PSTFJ5IJ.js +0 -4
  500. package/dist/shared/chunk-PXI7AHWS.js +0 -4
  501. package/dist/shared/chunk-Q4H4QEMB.js +0 -4
  502. package/dist/shared/chunk-QGYZ7CG5.js +0 -4
  503. package/dist/shared/chunk-QGYZ7CG5.js.map +0 -1
  504. package/dist/shared/chunk-QWGUMKZC.js +0 -4
  505. package/dist/shared/chunk-QX6OGRRT.js +0 -5
  506. package/dist/shared/chunk-R6ATC4TC.js +0 -4
  507. package/dist/shared/chunk-RDZK73KV.js +0 -4
  508. package/dist/shared/chunk-RJYZ5FAR.js +0 -4
  509. package/dist/shared/chunk-SQ5T4AT5.js +0 -6
  510. package/dist/shared/chunk-SWLUQVK7.js +0 -4
  511. package/dist/shared/chunk-SXHDQ64Z.js +0 -5
  512. package/dist/shared/chunk-SY6DZLTC.js +0 -4
  513. package/dist/shared/chunk-SY6DZLTC.js.map +0 -1
  514. package/dist/shared/chunk-VEDQV5XO.js +0 -4
  515. package/dist/shared/chunk-W33JMRRN.js +0 -4
  516. package/dist/shared/chunk-WBZW5LVH.js +0 -4
  517. package/dist/shared/chunk-WHTPGWUV.js +0 -4
  518. package/dist/shared/chunk-WYVJE6J5.js +0 -4
  519. package/dist/shared/chunk-ZA3GAB4H.js +0 -9
  520. package/dist/shared/chunk-ZFCUSWMT.js +0 -4
  521. package/dist/shared/chunk-ZQPXQCY2.js +0 -4
  522. package/dist/shared/chunk-ZTZJHY4E.js +0 -4
  523. package/src/shared/bricks/props/enum.ts +0 -38
  524. /package/dist/shared/bricks/{props/enum.js.map → manifests/table.manifest.js.map} +0 -0
@@ -0,0 +1,576 @@
1
+ import { defineBrickManifest } from "~/shared/brick-manifest";
2
+ import { defineProps } from "../props/helpers";
3
+ import { Type } from "@sinclair/typebox";
4
+ import { borderRef, roundingRef } from "../props/border";
5
+ import { shadowRef } from "../props/effects";
6
+ import type { BrickProps } from "../props/types";
7
+ import { cssLengthRef } from "../props/css-length";
8
+ import { HiOutlineViewColumns } from "react-icons/hi2";
9
+ import { colorPresetRef } from "../props/color-preset";
10
+ import { loopRef } from "../props/dynamic";
11
+ import { StringEnum } from "~/shared/utils/string-enum";
12
+
13
+ // Tab configuration schema
14
+ const tabRef = Type.Object({
15
+ label: Type.String({
16
+ title: "Tab Label",
17
+ description: "The text shown on the tab button",
18
+ "ai:instructions": "Use a short, descriptive label for the tab",
19
+ }),
20
+ id: Type.Optional(
21
+ Type.String({
22
+ title: "Tab ID",
23
+ description: "Unique identifier for the tab (auto-generated if not provided)",
24
+ }),
25
+ ),
26
+ });
27
+
28
+ export const manifest = defineBrickManifest({
29
+ type: "tabs",
30
+ category: "container",
31
+ name: "Tabs",
32
+ description: "A tabbed container that displays different content panels based on the selected tab.",
33
+ aiInstructions:
34
+ "Tabs are containers for organizing content into multiple panels. Each tab has a label and contains child bricks. Users can click tab buttons to switch between different content panels. Ideal for organizing related content, settings panels, or product information.",
35
+ isContainer: true,
36
+ defaultWidth: {
37
+ desktop: "100%",
38
+ mobile: "100%",
39
+ },
40
+ defaultHeight: {
41
+ desktop: "auto",
42
+ },
43
+ icon: HiOutlineViewColumns,
44
+ props: defineProps({
45
+ colorPreset: Type.Optional(
46
+ colorPresetRef({
47
+ title: "Color",
48
+ }),
49
+ ),
50
+ tabs: Type.Array(tabRef, {
51
+ title: "Tabs",
52
+ description: "List of tab configurations",
53
+ default: [{ label: "Tab 1" }, { label: "Tab 2" }],
54
+ "ai:instructions":
55
+ "Each tab should have a descriptive label. Content for each tab is defined in the $children array.",
56
+ examples: [
57
+ [{ label: "Overview" }, { label: "Features" }, { label: "Pricing" }],
58
+ [{ label: "About" }, { label: "Services" }, { label: "Contact" }],
59
+ ],
60
+ }),
61
+ defaultTab: Type.Optional(
62
+ Type.Number({
63
+ title: "Default Tab",
64
+ description: "Index of the tab to show by default (0-based)",
65
+ default: 0,
66
+ minimum: 0,
67
+ "ai:instructions": "Use 0 for the first tab, 1 for the second tab, etc.",
68
+ }),
69
+ ),
70
+ tabPosition: Type.Optional(
71
+ StringEnum(["top", "bottom"], {
72
+ title: "Tab Position",
73
+ description: "Position of the tab buttons relative to content",
74
+ default: "top",
75
+ "ai:instructions":
76
+ "Use 'top' for tabs above content (most common) or 'bottom' for tabs below content",
77
+ }),
78
+ ),
79
+ tabStyle: Type.Optional(
80
+ StringEnum(["pills", "underline", "bordered"], {
81
+ title: "Tab Style",
82
+ description: "Visual style of the tab buttons",
83
+ default: "underline",
84
+ "ai:instructions":
85
+ "Pills are rounded buttons, underline shows a line under active tab, bordered shows tabs with borders",
86
+ }),
87
+ ),
88
+ fullWidth: Type.Optional(
89
+ Type.Boolean({
90
+ title: "Full Width Tabs",
91
+ description: "Make tab buttons span the full width of the container",
92
+ default: false,
93
+ "ai:instructions": "Enable this to make tab buttons evenly distribute across the full width",
94
+ }),
95
+ ),
96
+ padding: Type.Optional(
97
+ cssLengthRef({
98
+ default: "1.5rem",
99
+ description: "Padding inside each tab panel.",
100
+ "ai:instructions": "Use values like '1rem', '1.5rem', or '2rem' for tab content padding",
101
+ title: "Content Padding",
102
+ "ui:placeholder": "Not specified",
103
+ "ui:styleId": "styles:padding",
104
+ }),
105
+ ),
106
+ gap: Type.Optional(
107
+ cssLengthRef({
108
+ title: "Tab Gap",
109
+ default: "0.5rem",
110
+ description: "Gap between tab buttons.",
111
+ "ai:instructions": "Small values like '0.25rem' or '0.5rem' work best for tab spacing",
112
+ "ui:placeholder": "Not specified",
113
+ "ui:styleId": "styles:gap",
114
+ }),
115
+ ),
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()),
124
+ $children: Type.Array(Type.Array(Type.Any()), {
125
+ "ui:field": "hidden",
126
+ description: "Array of child brick arrays - each sub-array represents the content for one tab",
127
+ default: [[], []],
128
+ examples: [
129
+ [
130
+ // Tab 1 content
131
+ [
132
+ {
133
+ type: "text",
134
+ props: {
135
+ content: "<h3>Overview</h3><p>This is the overview tab content.</p>",
136
+ },
137
+ },
138
+ ],
139
+ // Tab 2 content
140
+ [
141
+ {
142
+ type: "text",
143
+ props: {
144
+ content: "<h3>Features</h3><p>Here are our key features.</p>",
145
+ },
146
+ },
147
+ {
148
+ type: "button",
149
+ props: {
150
+ text: "Learn More",
151
+ link: "/features",
152
+ },
153
+ },
154
+ ],
155
+ ],
156
+ ],
157
+ }),
158
+ }),
159
+ });
160
+
161
+ export type Manifest = typeof manifest;
162
+
163
+ export const examples: {
164
+ description: string;
165
+ type: string;
166
+ props: BrickProps<Manifest>["brick"]["props"];
167
+ }[] = [
168
+ {
169
+ description: "Simple tabs with basic content in each panel",
170
+ type: "tabs",
171
+ props: {
172
+ tabs: [{ label: "About" }, { label: "Services" }, { label: "Contact" }],
173
+ defaultTab: 0,
174
+ tabStyle: "underline",
175
+ $children: [
176
+ [
177
+ {
178
+ type: "text",
179
+ props: {
180
+ content: "<h3>About Us</h3><p>We are a company focused on delivering exceptional results.</p>",
181
+ },
182
+ },
183
+ ],
184
+ [
185
+ {
186
+ type: "text",
187
+ props: {
188
+ content: "<h3>Our Services</h3><p>We offer a wide range of professional services.</p>",
189
+ },
190
+ },
191
+ {
192
+ type: "button",
193
+ props: {
194
+ text: "View All Services",
195
+ link: "/services",
196
+ },
197
+ },
198
+ ],
199
+ [
200
+ {
201
+ type: "text",
202
+ props: {
203
+ content:
204
+ "<h3>Contact Information</h3><p>Email: hello@company.com</p><p>Phone: (555) 123-4567</p>",
205
+ },
206
+ },
207
+ ],
208
+ ],
209
+ },
210
+ },
211
+ {
212
+ description: "Product information tabs with pills style and custom styling",
213
+ type: "tabs",
214
+ props: {
215
+ tabs: [{ label: "Overview" }, { label: "Specifications" }, { label: "Reviews" }, { label: "Support" }],
216
+ defaultTab: 0,
217
+ tabStyle: "pills",
218
+ fullWidth: true,
219
+ colorPreset: {
220
+ color: "primary-50",
221
+ },
222
+ border: {
223
+ width: "border",
224
+ color: "border-primary-200",
225
+ },
226
+ rounding: "rounded-lg",
227
+ padding: "2rem",
228
+ $children: [
229
+ [
230
+ {
231
+ type: "text",
232
+ props: {
233
+ content: "<h3>Product Overview</h3><p>This product revolutionizes the way you work.</p>",
234
+ },
235
+ },
236
+ {
237
+ type: "image",
238
+ props: {
239
+ src: "https://via.placeholder.com/400x200",
240
+ alt: "Product image",
241
+ },
242
+ },
243
+ ],
244
+ [
245
+ {
246
+ type: "text",
247
+ props: {
248
+ content:
249
+ '<h3>Technical Specifications</h3><ul><li>Weight: 2.5 lbs</li><li>Dimensions: 12" x 8" x 2"</li><li>Battery: 8 hours</li></ul>',
250
+ },
251
+ },
252
+ ],
253
+ [
254
+ {
255
+ type: "text",
256
+ props: {
257
+ content:
258
+ '<h3>Customer Reviews</h3><p>★★★★★ "Amazing product, highly recommend!"</p><p>★★★★☆ "Great value for money."</p>',
259
+ },
260
+ },
261
+ ],
262
+ [
263
+ {
264
+ type: "text",
265
+ props: {
266
+ content: "<h3>Support</h3><p>Need help? Contact our support team.</p>",
267
+ },
268
+ },
269
+ {
270
+ type: "button",
271
+ props: {
272
+ text: "Contact Support",
273
+ link: "/support",
274
+ },
275
+ },
276
+ ],
277
+ ],
278
+ },
279
+ },
280
+ {
281
+ description: "Portfolio sections with bordered tabs",
282
+ type: "tabs",
283
+ props: {
284
+ tabs: [{ label: "Web Design" }, { label: "Mobile Apps" }, { label: "Branding" }],
285
+ defaultTab: 0,
286
+ tabStyle: "bordered",
287
+ shadow: "shadow-md",
288
+ rounding: "rounded-xl",
289
+ $children: [
290
+ [
291
+ {
292
+ type: "text",
293
+ props: {
294
+ content: "<h3>Web Design Projects</h3><p>Beautiful, responsive websites that convert.</p>",
295
+ },
296
+ },
297
+ {
298
+ type: "image",
299
+ props: {
300
+ src: "https://via.placeholder.com/600x300",
301
+ alt: "Web design portfolio",
302
+ },
303
+ },
304
+ ],
305
+ [
306
+ {
307
+ type: "text",
308
+ props: {
309
+ content: "<h3>Mobile Applications</h3><p>Native and cross-platform mobile solutions.</p>",
310
+ },
311
+ },
312
+ {
313
+ type: "image",
314
+ props: {
315
+ src: "https://via.placeholder.com/300x500",
316
+ alt: "Mobile app portfolio",
317
+ },
318
+ },
319
+ ],
320
+ [
321
+ {
322
+ type: "text",
323
+ props: {
324
+ content:
325
+ "<h3>Brand Identity</h3><p>Comprehensive branding solutions for modern businesses.</p>",
326
+ },
327
+ },
328
+ {
329
+ type: "image",
330
+ props: {
331
+ src: "https://via.placeholder.com/500x400",
332
+ alt: "Branding portfolio",
333
+ },
334
+ },
335
+ ],
336
+ ],
337
+ },
338
+ },
339
+ {
340
+ description: "FAQ sections with bottom-positioned tabs",
341
+ type: "tabs",
342
+ props: {
343
+ tabs: [{ label: "General" }, { label: "Billing" }, { label: "Technical" }],
344
+ defaultTab: 0,
345
+ tabPosition: "bottom",
346
+ tabStyle: "underline",
347
+ padding: "1.5rem",
348
+ $children: [
349
+ [
350
+ {
351
+ type: "text",
352
+ props: {
353
+ content:
354
+ "<h3>General Questions</h3><p><strong>What is your company about?</strong></p><p>We provide excellent services to our customers.</p><p><strong>Where are you located?</strong></p><p>We have offices worldwide.</p>",
355
+ },
356
+ },
357
+ ],
358
+ [
359
+ {
360
+ type: "text",
361
+ props: {
362
+ content:
363
+ "<h3>Billing Questions</h3><p><strong>How does billing work?</strong></p><p>We bill monthly based on usage.</p><p><strong>Can I change my plan?</strong></p><p>Yes, you can upgrade or downgrade anytime.</p>",
364
+ },
365
+ },
366
+ ],
367
+ [
368
+ {
369
+ type: "text",
370
+ props: {
371
+ content:
372
+ "<h3>Technical Support</h3><p><strong>How do I reset my password?</strong></p><p>Use the forgot password link on the login page.</p><p><strong>Is there an API?</strong></p><p>Yes, we have a comprehensive REST API.</p>",
373
+ },
374
+ },
375
+ ],
376
+ ],
377
+ },
378
+ },
379
+ {
380
+ description: "Team member profiles using teamMembers query with dynamic tabs",
381
+ type: "tabs",
382
+ props: {
383
+ loop: {
384
+ over: "teamMembers",
385
+ },
386
+ tabs: [{ label: "{{teamMembers.name}}" }],
387
+ tabStyle: "pills",
388
+ fullWidth: false,
389
+ colorPreset: {
390
+ color: "secondary-100",
391
+ },
392
+ padding: "2rem",
393
+ $children: [
394
+ [
395
+ {
396
+ type: "image",
397
+ props: {
398
+ src: "{{teamMembers.photo}}",
399
+ alt: "{{teamMembers.name}}",
400
+ },
401
+ },
402
+ {
403
+ type: "text",
404
+ props: {
405
+ content:
406
+ "<h3>{{teamMembers.name}}</h3><p><strong>{{teamMembers.position}}</strong></p><p>{{teamMembers.bio}}</p><p>Email: {{teamMembers.email}}</p>",
407
+ },
408
+ },
409
+ ],
410
+ ],
411
+ },
412
+ },
413
+ {
414
+ description: "Product categories using productCategories query",
415
+ type: "tabs",
416
+ props: {
417
+ loop: {
418
+ over: "productCategories",
419
+ },
420
+ tabs: [{ label: "{{productCategories.categoryName}}" }],
421
+ tabStyle: "bordered",
422
+ fullWidth: true,
423
+ border: {
424
+ width: "border-2",
425
+ color: "border-primary-300",
426
+ },
427
+ rounding: "rounded-lg",
428
+ shadow: "shadow-lg",
429
+ $children: [
430
+ [
431
+ {
432
+ type: "text",
433
+ props: {
434
+ content:
435
+ "<h3>{{productCategories.categoryName}}</h3><p>{{productCategories.description}}</p><p>{{productCategories.productCount}} products available</p>",
436
+ },
437
+ },
438
+ {
439
+ type: "button",
440
+ props: {
441
+ text: "Browse {{productCategories.categoryName}}",
442
+ link: "/products/{{productCategories.slug}}",
443
+ },
444
+ },
445
+ ],
446
+ ],
447
+ },
448
+ },
449
+ {
450
+ description: "Service packages with pricing information",
451
+ type: "tabs",
452
+ props: {
453
+ tabs: [{ label: "Basic" }, { label: "Professional" }, { label: "Enterprise" }],
454
+ defaultTab: 1,
455
+ tabStyle: "pills",
456
+ fullWidth: true,
457
+ colorPreset: {
458
+ color: "accent-50",
459
+ },
460
+ border: {
461
+ width: "border",
462
+ color: "border-accent-200",
463
+ },
464
+ rounding: "rounded-xl",
465
+ shadow: "shadow-md",
466
+ padding: "2.5rem",
467
+ $children: [
468
+ [
469
+ {
470
+ type: "text",
471
+ props: {
472
+ content:
473
+ "<h3>Basic Package</h3><p><strong>$99/month</strong></p><ul><li>5 Projects</li><li>10GB Storage</li><li>Email Support</li></ul>",
474
+ },
475
+ },
476
+ {
477
+ type: "button",
478
+ props: {
479
+ text: "Choose Basic",
480
+ link: "/pricing/basic",
481
+ },
482
+ },
483
+ ],
484
+ [
485
+ {
486
+ type: "text",
487
+ props: {
488
+ content:
489
+ "<h3>Professional Package</h3><p><strong>$199/month</strong></p><ul><li>25 Projects</li><li>100GB Storage</li><li>Priority Support</li><li>Advanced Analytics</li></ul>",
490
+ },
491
+ },
492
+ {
493
+ type: "button",
494
+ props: {
495
+ text: "Choose Professional",
496
+ link: "/pricing/professional",
497
+ },
498
+ },
499
+ ],
500
+ [
501
+ {
502
+ type: "text",
503
+ props: {
504
+ content:
505
+ "<h3>Enterprise Package</h3><p><strong>$499/month</strong></p><ul><li>Unlimited Projects</li><li>1TB Storage</li><li>24/7 Phone Support</li><li>Custom Integrations</li><li>Dedicated Account Manager</li></ul>",
506
+ },
507
+ },
508
+ {
509
+ type: "button",
510
+ props: {
511
+ text: "Contact Sales",
512
+ link: "/contact/enterprise",
513
+ },
514
+ },
515
+ ],
516
+ ],
517
+ },
518
+ },
519
+ {
520
+ description: "Documentation sections with technical content",
521
+ type: "tabs",
522
+ props: {
523
+ tabs: [
524
+ { label: "Getting Started" },
525
+ { label: "API Reference" },
526
+ { label: "Examples" },
527
+ { label: "Troubleshooting" },
528
+ ],
529
+ defaultTab: 0,
530
+ tabStyle: "underline",
531
+ tabPosition: "top",
532
+ padding: "1.5rem",
533
+ colorPreset: {
534
+ color: "neutral-50",
535
+ },
536
+ $children: [
537
+ [
538
+ {
539
+ type: "text",
540
+ props: {
541
+ content:
542
+ "<h3>Getting Started</h3><p>Welcome to our platform! Here's how to get started:</p><ol><li>Create an account</li><li>Set up your first project</li><li>Invite team members</li></ol>",
543
+ },
544
+ },
545
+ ],
546
+ [
547
+ {
548
+ type: "text",
549
+ props: {
550
+ content:
551
+ "<h3>API Reference</h3><p>Our REST API provides programmatic access to all features:</p><pre>GET /api/v1/projects</pre><pre>POST /api/v1/projects</pre>",
552
+ },
553
+ },
554
+ ],
555
+ [
556
+ {
557
+ type: "text",
558
+ props: {
559
+ content:
560
+ "<h3>Code Examples</h3><p>Here are some common use cases:</p><pre>curl -X GET https://api.example.com/projects</pre>",
561
+ },
562
+ },
563
+ ],
564
+ [
565
+ {
566
+ type: "text",
567
+ props: {
568
+ content:
569
+ "<h3>Troubleshooting</h3><p><strong>Issue:</strong> Cannot connect to API</p><p><strong>Solution:</strong> Check your API key and network connection.</p>",
570
+ },
571
+ },
572
+ ],
573
+ ],
574
+ },
575
+ },
576
+ ];