@upstart.gg/sdk 0.0.136 → 0.0.138

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 (461) hide show
  1. package/dist/shared/ai/schemas.d.ts.map +1 -1
  2. package/dist/shared/ai/schemas.js +26 -31
  3. package/dist/shared/ai/schemas.js.map +1 -1
  4. package/dist/shared/ai/types.d.ts +14 -62
  5. package/dist/shared/ai/types.d.ts.map +1 -1
  6. package/dist/shared/ajv.js +33 -31
  7. package/dist/shared/ajv.js.map +1 -1
  8. package/dist/shared/attributes.d.ts +91 -85
  9. package/dist/shared/attributes.d.ts.map +1 -1
  10. package/dist/shared/attributes.js +21 -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 +14 -20
  17. package/dist/shared/bricks/manifests/all-manifests.js +45 -43
  18. package/dist/shared/bricks/manifests/all-props.d.ts +1511 -0
  19. package/dist/shared/bricks/manifests/all-props.d.ts.map +1 -0
  20. package/dist/shared/bricks/manifests/all-props.js +244 -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 +17 -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 +14 -20
  28. package/dist/shared/bricks/manifests/card.manifest.d.ts +5 -3
  29. package/dist/shared/bricks/manifests/card.manifest.d.ts.map +1 -1
  30. package/dist/shared/bricks/manifests/card.manifest.js +19 -20
  31. package/dist/shared/bricks/manifests/carousel.manifest.d.ts +3 -2
  32. package/dist/shared/bricks/manifests/carousel.manifest.d.ts.map +1 -1
  33. package/dist/shared/bricks/manifests/carousel.manifest.js +16 -20
  34. package/dist/shared/bricks/manifests/footer.manifest.d.ts +5 -3
  35. package/dist/shared/bricks/manifests/footer.manifest.d.ts.map +1 -1
  36. package/dist/shared/bricks/manifests/footer.manifest.js +14 -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 +14 -20
  40. package/dist/shared/bricks/manifests/hero.manifest.d.ts +3 -5
  41. package/dist/shared/bricks/manifests/hero.manifest.d.ts.map +1 -1
  42. package/dist/shared/bricks/manifests/hero.manifest.js +14 -20
  43. package/dist/shared/bricks/manifests/html.manifest.d.ts +2 -1
  44. package/dist/shared/bricks/manifests/html.manifest.d.ts.map +1 -1
  45. package/dist/shared/bricks/manifests/html.manifest.js +9 -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 +14 -20
  49. package/dist/shared/bricks/manifests/image.manifest.d.ts +3 -2
  50. package/dist/shared/bricks/manifests/image.manifest.d.ts.map +1 -1
  51. package/dist/shared/bricks/manifests/image.manifest.js +17 -20
  52. package/dist/shared/bricks/manifests/images-gallery.manifest.d.ts +4 -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 +16 -20
  55. package/dist/shared/bricks/manifests/map.manifest.d.ts +2 -1
  56. package/dist/shared/bricks/manifests/map.manifest.d.ts.map +1 -1
  57. package/dist/shared/bricks/manifests/map.manifest.js +12 -20
  58. package/dist/shared/bricks/manifests/navbar.manifest.d.ts +7 -5
  59. package/dist/shared/bricks/manifests/navbar.manifest.d.ts.map +1 -1
  60. package/dist/shared/bricks/manifests/navbar.manifest.js +16 -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 +14 -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 +15 -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 +9 -20
  70. package/dist/shared/bricks/manifests/table.manifest.d.ts +5 -4
  71. package/dist/shared/bricks/manifests/table.manifest.d.ts.map +1 -1
  72. package/dist/shared/bricks/manifests/table.manifest.js +16 -20
  73. package/dist/shared/bricks/manifests/tabs.manifest.d.ts +5 -5
  74. package/dist/shared/bricks/manifests/tabs.manifest.d.ts.map +1 -1
  75. package/dist/shared/bricks/manifests/tabs.manifest.js +16 -20
  76. package/dist/shared/bricks/manifests/testimonials.manifest.d.ts +5 -3
  77. package/dist/shared/bricks/manifests/testimonials.manifest.d.ts.map +1 -1
  78. package/dist/shared/bricks/manifests/testimonials.manifest.js +19 -20
  79. package/dist/shared/bricks/manifests/text.manifest.d.ts +3 -10
  80. package/dist/shared/bricks/manifests/text.manifest.d.ts.map +1 -1
  81. package/dist/shared/bricks/manifests/text.manifest.js +14 -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 +16 -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 +12 -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 +5 -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/grow.d.ts +3 -0
  127. package/dist/shared/bricks/props/grow.d.ts.map +1 -0
  128. package/dist/shared/{utils/typed-ref.js → bricks/props/grow.js} +5 -5
  129. package/dist/shared/bricks/props/helpers.js +6 -6
  130. package/dist/shared/bricks/props/image.d.ts +3 -8
  131. package/dist/shared/bricks/props/image.d.ts.map +1 -1
  132. package/dist/shared/bricks/props/image.js +4 -7
  133. package/dist/shared/bricks/props/string.d.ts +2 -5
  134. package/dist/shared/bricks/props/string.d.ts.map +1 -1
  135. package/dist/shared/bricks/props/string.js +3 -10
  136. package/dist/shared/bricks/props/tags.d.ts +0 -1
  137. package/dist/shared/bricks/props/tags.d.ts.map +1 -1
  138. package/dist/shared/bricks/props/tags.js +3 -6
  139. package/dist/shared/bricks/props/text.d.ts +0 -3
  140. package/dist/shared/bricks/props/text.d.ts.map +1 -1
  141. package/dist/shared/bricks/props/text.js +4 -11
  142. package/dist/shared/bricks/props/types.d.ts +2 -2
  143. package/dist/shared/bricks/props/types.d.ts.map +1 -1
  144. package/dist/shared/bricks.d.ts +65 -154
  145. package/dist/shared/bricks.d.ts.map +1 -1
  146. package/dist/shared/bricks.js +48 -52
  147. package/dist/shared/chunk-2EOCK66Z.js +19 -0
  148. package/dist/shared/chunk-2EOCK66Z.js.map +1 -0
  149. package/dist/shared/{chunk-F22LDHEO.js → chunk-2U5U3CCJ.js} +3 -18
  150. package/dist/shared/chunk-2U5U3CCJ.js.map +1 -0
  151. package/dist/shared/{chunk-2RK3CPYJ.js → chunk-2UEPTT5J.js} +12 -19
  152. package/dist/shared/chunk-2UEPTT5J.js.map +1 -0
  153. package/dist/shared/{chunk-W6MRYRGJ.js → chunk-2Z5WOCFS.js} +46 -20
  154. package/dist/shared/chunk-2Z5WOCFS.js.map +1 -0
  155. package/dist/shared/{chunk-CRS7QCPZ.js → chunk-34IUWNRX.js} +65 -27
  156. package/dist/shared/chunk-34IUWNRX.js.map +1 -0
  157. package/dist/shared/chunk-57NRTXRA.js +309 -0
  158. package/dist/shared/chunk-57NRTXRA.js.map +1 -0
  159. package/dist/shared/{chunk-UXTASZ23.js → chunk-5HJT5NJ3.js} +66 -63
  160. package/dist/shared/chunk-5HJT5NJ3.js.map +1 -0
  161. package/dist/shared/{chunk-H5JM2M2T.js → chunk-5J4Y43RM.js} +58 -185
  162. package/dist/shared/chunk-5J4Y43RM.js.map +1 -0
  163. package/dist/shared/{chunk-RV7AYVFV.js → chunk-5OVOXUFX.js} +6 -20
  164. package/dist/shared/chunk-5OVOXUFX.js.map +1 -0
  165. package/dist/shared/{chunk-TNMNMYOB.js → chunk-5RCC2STG.js} +2 -13
  166. package/dist/shared/chunk-5RCC2STG.js.map +1 -0
  167. package/dist/shared/{chunk-42OUNI7C.js → chunk-5SNSUC6Q.js} +27 -29
  168. package/dist/shared/chunk-5SNSUC6Q.js.map +1 -0
  169. package/dist/shared/{chunk-ZR6R6Z6O.js → chunk-B5T2LFV2.js} +34 -36
  170. package/dist/shared/chunk-B5T2LFV2.js.map +1 -0
  171. package/dist/shared/{chunk-Q4NPPLEU.js → chunk-BHARJBEK.js} +2 -9
  172. package/dist/shared/chunk-BHARJBEK.js.map +1 -0
  173. package/dist/shared/{chunk-LLNPH3XR.js → chunk-DCM4732T.js} +6 -8
  174. package/dist/shared/chunk-DCM4732T.js.map +1 -0
  175. package/dist/shared/{chunk-LCJ2VFPM.js → chunk-E3ZW57HF.js} +32 -26
  176. package/dist/shared/chunk-E3ZW57HF.js.map +1 -0
  177. package/dist/shared/{chunk-CSF2WQX2.js → chunk-EID5HPF3.js} +15 -12
  178. package/dist/shared/chunk-EID5HPF3.js.map +1 -0
  179. package/dist/shared/chunk-EMF5TCPX.js +389 -0
  180. package/dist/shared/chunk-EMF5TCPX.js.map +1 -0
  181. package/dist/shared/chunk-EUFVTHAG.js +33 -0
  182. package/dist/shared/chunk-EUFVTHAG.js.map +1 -0
  183. package/dist/shared/{chunk-2IHKVMKW.js → chunk-FC52EHCC.js} +18 -19
  184. package/dist/shared/chunk-FC52EHCC.js.map +1 -0
  185. package/dist/shared/chunk-FD7YYFRI.js +225 -0
  186. package/dist/shared/chunk-FD7YYFRI.js.map +1 -0
  187. package/dist/shared/{chunk-KILJYJFE.js → chunk-FVV27R73.js} +20 -105
  188. package/dist/shared/chunk-FVV27R73.js.map +1 -0
  189. package/dist/shared/{chunk-N3ZTQD5I.js → chunk-FYGFB5U5.js} +10 -23
  190. package/dist/shared/chunk-FYGFB5U5.js.map +1 -0
  191. package/dist/shared/chunk-GDYCCB3B.js +22 -0
  192. package/dist/shared/chunk-GDYCCB3B.js.map +1 -0
  193. package/dist/shared/chunk-GLV6QIIM.js +41 -0
  194. package/dist/shared/chunk-GLV6QIIM.js.map +1 -0
  195. package/dist/shared/{chunk-EVLRH6VG.js → chunk-GNTJT7MR.js} +2 -2
  196. package/dist/shared/chunk-GNTJT7MR.js.map +1 -0
  197. package/dist/shared/chunk-HHUFGV7J.js +259 -0
  198. package/dist/shared/chunk-HHUFGV7J.js.map +1 -0
  199. package/dist/shared/{chunk-TFGGYU6Y.js → chunk-IEMCCHM4.js} +7 -12
  200. package/dist/shared/chunk-IEMCCHM4.js.map +1 -0
  201. package/dist/shared/{chunk-GIGFNQBO.js → chunk-IMDOF55E.js} +12 -4
  202. package/dist/shared/chunk-IMDOF55E.js.map +1 -0
  203. package/dist/shared/{chunk-N3BEBLWF.js → chunk-IPWYNE6Y.js} +34 -34
  204. package/dist/shared/chunk-J6R3GSKS.js +386 -0
  205. package/dist/shared/chunk-J6R3GSKS.js.map +1 -0
  206. package/dist/shared/{chunk-ZRRAK5NS.js → chunk-KRODRZNS.js} +41 -33
  207. package/dist/shared/chunk-KRODRZNS.js.map +1 -0
  208. package/dist/shared/chunk-KTA7XES3.js +168 -0
  209. package/dist/shared/chunk-KTA7XES3.js.map +1 -0
  210. package/dist/shared/{chunk-2VDR4ZYY.js → chunk-L4W4B2RQ.js} +26 -82
  211. package/dist/shared/chunk-L4W4B2RQ.js.map +1 -0
  212. package/dist/shared/chunk-MO6CRLQA.js +73 -0
  213. package/dist/shared/chunk-MO6CRLQA.js.map +1 -0
  214. package/dist/shared/{chunk-GQTZPN5D.js → chunk-NTP6BKRU.js} +29 -32
  215. package/dist/shared/chunk-NTP6BKRU.js.map +1 -0
  216. package/dist/shared/{chunk-DFAFDBYZ.js → chunk-O53V22BK.js} +34 -27
  217. package/dist/shared/chunk-O53V22BK.js.map +1 -0
  218. package/dist/shared/{chunk-BPBKHEQ5.js → chunk-OJ6KL7FU.js} +1 -8
  219. package/dist/shared/chunk-OJ6KL7FU.js.map +1 -0
  220. package/dist/shared/{chunk-F247VKAE.js → chunk-ORIUCOED.js} +18 -20
  221. package/dist/shared/chunk-ORIUCOED.js.map +1 -0
  222. package/dist/shared/{chunk-GFAQWQER.js → chunk-PFZMRSHJ.js} +33 -35
  223. package/dist/shared/chunk-PFZMRSHJ.js.map +1 -0
  224. package/dist/shared/{chunk-KIDICX3Y.js → chunk-QHKOAIOK.js} +43 -78
  225. package/dist/shared/chunk-QHKOAIOK.js.map +1 -0
  226. package/dist/shared/{chunk-4MNWMEMM.js → chunk-RDOCVLCF.js} +21 -21
  227. package/dist/shared/chunk-RDOCVLCF.js.map +1 -0
  228. package/dist/shared/{chunk-FQDR2BBZ.js → chunk-RFH7PEVS.js} +13 -5
  229. package/dist/shared/chunk-RFH7PEVS.js.map +1 -0
  230. package/dist/shared/chunk-T3UPW5OW.js +79 -0
  231. package/dist/shared/chunk-T3UPW5OW.js.map +1 -0
  232. package/dist/shared/{chunk-L6C7HUSA.js → chunk-TGKNA2JS.js} +21 -24
  233. package/dist/shared/chunk-TGKNA2JS.js.map +1 -0
  234. package/dist/shared/chunk-TZ6X7ZM5.js +158 -0
  235. package/dist/shared/chunk-TZ6X7ZM5.js.map +1 -0
  236. package/dist/shared/{chunk-BHC2A43S.js → chunk-UC75KRLX.js} +3 -3
  237. package/dist/shared/{chunk-BHC2A43S.js.map → chunk-UC75KRLX.js.map} +1 -1
  238. package/dist/shared/{chunk-LTIJI7Y3.js → chunk-VMIJ6MG5.js} +34 -34
  239. package/dist/shared/chunk-VMIJ6MG5.js.map +1 -0
  240. package/dist/shared/{chunk-NTLAKMMQ.js → chunk-VYA2FCTY.js} +6 -17
  241. package/dist/shared/chunk-VYA2FCTY.js.map +1 -0
  242. package/dist/shared/{chunk-Y74LZNND.js → chunk-WPZV3LYL.js} +4 -10
  243. package/dist/shared/chunk-WPZV3LYL.js.map +1 -0
  244. package/dist/shared/chunk-XFZQGRRL.js +101 -0
  245. package/dist/shared/chunk-XFZQGRRL.js.map +1 -0
  246. package/dist/shared/{chunk-FOGAVJC2.js → chunk-XYWSIMZ6.js} +3 -3
  247. package/dist/shared/chunk-XYWSIMZ6.js.map +1 -0
  248. package/dist/shared/{chunk-ZLYIRH2B.js → chunk-ZRBTAC3G.js} +3 -18
  249. package/dist/shared/chunk-ZRBTAC3G.js.map +1 -0
  250. package/dist/shared/{chunk-36PLZKMW.js → chunk-ZYQZUWF7.js} +26 -27
  251. package/dist/shared/chunk-ZYQZUWF7.js.map +1 -0
  252. package/dist/shared/chunk-ZZVYD4BG.js +41 -0
  253. package/dist/shared/chunk-ZZVYD4BG.js.map +1 -0
  254. package/dist/shared/context.d.ts +406 -23
  255. package/dist/shared/context.d.ts.map +1 -1
  256. package/dist/shared/context.js +94 -0
  257. package/dist/shared/context.js.map +1 -1
  258. package/dist/shared/datarecords/external/airtable/types.d.ts +1 -1
  259. package/dist/shared/datarecords/external/airtable/types.d.ts.map +1 -1
  260. package/dist/shared/datarecords/external/airtable/types.js +2 -1
  261. package/dist/shared/datarecords/types.d.ts +3 -3
  262. package/dist/shared/datarecords/types.d.ts.map +1 -1
  263. package/dist/shared/datarecords/types.js +3 -2
  264. package/dist/shared/datasources/external/instagram/feed/schema.d.ts +1 -1
  265. package/dist/shared/datasources/external/instagram/feed/schema.d.ts.map +1 -1
  266. package/dist/shared/datasources/external/instagram/feed/schema.js +4 -1
  267. package/dist/shared/datasources/external/instagram/feed/schema.js.map +1 -1
  268. package/dist/shared/datasources/external/mastodon/status/schema.d.ts +6 -6
  269. package/dist/shared/datasources/external/mastodon/status/schema.d.ts.map +1 -1
  270. package/dist/shared/datasources/external/mastodon/status/schema.js +6 -19
  271. package/dist/shared/datasources/external/mastodon/status/schema.js.map +1 -1
  272. package/dist/shared/datasources/external/meta/oauth/config.d.ts +2 -2
  273. package/dist/shared/datasources/external/meta/oauth/config.d.ts.map +1 -1
  274. package/dist/shared/datasources/external/meta/oauth/config.js +4 -1
  275. package/dist/shared/datasources/external/meta/oauth/config.js.map +1 -1
  276. package/dist/shared/datasources/external/threads/media/schema.d.ts +1 -1
  277. package/dist/shared/datasources/external/threads/media/schema.d.ts.map +1 -1
  278. package/dist/shared/datasources/external/threads/media/schema.js +4 -8
  279. package/dist/shared/datasources/external/threads/media/schema.js.map +1 -1
  280. package/dist/shared/datasources/internal/blog/schema.d.ts +1 -1
  281. package/dist/shared/datasources/internal/blog/schema.d.ts.map +1 -1
  282. package/dist/shared/datasources/internal/blog/schema.js +4 -1
  283. package/dist/shared/datasources/internal/blog/schema.js.map +1 -1
  284. package/dist/shared/datasources/types.d.ts +25 -25
  285. package/dist/shared/datasources/types.d.ts.map +1 -1
  286. package/dist/shared/datasources/types.js +3 -16
  287. package/dist/shared/images.d.ts +1 -1
  288. package/dist/shared/images.d.ts.map +1 -1
  289. package/dist/shared/images.js +4 -38
  290. package/dist/shared/images.js.map +1 -1
  291. package/dist/shared/page.d.ts +141 -22
  292. package/dist/shared/page.d.ts.map +1 -1
  293. package/dist/shared/page.js +52 -49
  294. package/dist/shared/responsive.js +1 -1
  295. package/dist/shared/site.d.ts +81 -191
  296. package/dist/shared/site.d.ts.map +1 -1
  297. package/dist/shared/site.js +56 -114
  298. package/dist/shared/site.js.map +1 -1
  299. package/dist/shared/sitemap.d.ts +4 -326
  300. package/dist/shared/sitemap.d.ts.map +1 -1
  301. package/dist/shared/sitemap.js +51 -58
  302. package/dist/shared/theme.d.ts +0 -37
  303. package/dist/shared/theme.d.ts.map +1 -1
  304. package/dist/shared/theme.js +4 -21
  305. package/dist/shared/utils/llm.d.ts +1 -10
  306. package/dist/shared/utils/llm.d.ts.map +1 -1
  307. package/dist/shared/utils/llm.js +1 -18
  308. package/dist/shared/utils/schema.d.ts +3 -7
  309. package/dist/shared/utils/schema.d.ts.map +1 -1
  310. package/dist/shared/utils/schema.js +2 -19
  311. package/dist/shared/utils/string-enum.d.ts +9 -3
  312. package/dist/shared/utils/string-enum.d.ts.map +1 -1
  313. package/dist/shared/utils/string-enum.js +1 -1
  314. package/package.json +21 -5
  315. package/src/shared/ai/schemas.ts +25 -30
  316. package/src/shared/ai/types.ts +23 -89
  317. package/src/shared/attributes.ts +53 -51
  318. package/src/shared/brick-manifest.ts +5 -6
  319. package/src/shared/bricks/manifests/accordion.manifest.ts +11 -11
  320. package/src/shared/bricks/manifests/all-props.ts +165 -0
  321. package/src/shared/bricks/manifests/box.manifest.ts +19 -21
  322. package/src/shared/bricks/manifests/button.manifest.ts +54 -16
  323. package/src/shared/bricks/manifests/card.manifest.ts +45 -174
  324. package/src/shared/bricks/manifests/carousel.manifest.ts +11 -13
  325. package/src/shared/bricks/manifests/footer.manifest.ts +16 -15
  326. package/src/shared/bricks/manifests/form.manifest.ts +14 -15
  327. package/src/shared/bricks/manifests/hero.manifest.ts +58 -265
  328. package/src/shared/bricks/manifests/html.manifest.ts +6 -0
  329. package/src/shared/bricks/manifests/icon.manifest.ts +10 -99
  330. package/src/shared/bricks/manifests/image.manifest.ts +22 -23
  331. package/src/shared/bricks/manifests/images-gallery.manifest.ts +21 -15
  332. package/src/shared/bricks/manifests/map.manifest.ts +19 -75
  333. package/src/shared/bricks/manifests/navbar.manifest.ts +20 -21
  334. package/src/shared/bricks/manifests/sidebar.manifest.ts +9 -10
  335. package/src/shared/bricks/manifests/social-links.manifest.ts +17 -20
  336. package/src/shared/bricks/manifests/spacer.manifest.ts +0 -1
  337. package/src/shared/bricks/manifests/table.manifest.ts +21 -15
  338. package/src/shared/bricks/manifests/tabs.manifest.ts +26 -445
  339. package/src/shared/bricks/manifests/testimonials.manifest.ts +47 -244
  340. package/src/shared/bricks/manifests/text.manifest.ts +28 -59
  341. package/src/shared/bricks/manifests/timeline.manifest.ts +29 -24
  342. package/src/shared/bricks/manifests/video.manifest.ts +9 -10
  343. package/src/shared/bricks/props/align.ts +0 -13
  344. package/src/shared/bricks/props/background.ts +3 -15
  345. package/src/shared/bricks/props/border.ts +2 -13
  346. package/src/shared/bricks/props/color-preset.ts +9 -10
  347. package/src/shared/bricks/props/color.ts +12 -20
  348. package/src/shared/bricks/props/common.ts +8 -15
  349. package/src/shared/bricks/props/css-length.ts +0 -5
  350. package/src/shared/bricks/props/datasource.ts +72 -74
  351. package/src/shared/bricks/props/direction.ts +1 -5
  352. package/src/shared/bricks/props/dynamic.ts +0 -11
  353. package/src/shared/bricks/props/effects.ts +0 -9
  354. package/src/shared/bricks/props/geolocation.ts +3 -3
  355. package/src/shared/bricks/props/grow.ts +11 -0
  356. package/src/shared/bricks/props/helpers.ts +1 -1
  357. package/src/shared/bricks/props/image.ts +44 -16
  358. package/src/shared/bricks/props/string.ts +7 -18
  359. package/src/shared/bricks/props/tags.ts +0 -5
  360. package/src/shared/bricks/props/tests/background.test.ts +1 -15
  361. package/src/shared/bricks/props/tests/image.test.ts +3 -9
  362. package/src/shared/bricks/props/tests/string.test.ts +2 -26
  363. package/src/shared/bricks/props/text.ts +0 -12
  364. package/src/shared/bricks/props/types.ts +4 -3
  365. package/src/shared/bricks.ts +166 -1020
  366. package/src/shared/context.ts +24 -24
  367. package/src/shared/datarecords/external/airtable/types.ts +12 -11
  368. package/src/shared/datarecords/types.ts +2 -34
  369. package/src/shared/datasources/external/instagram/feed/schema.ts +2 -1
  370. package/src/shared/datasources/external/mastodon/status/schema.ts +4 -19
  371. package/src/shared/datasources/external/meta/oauth/config.ts +2 -1
  372. package/src/shared/datasources/external/threads/media/schema.ts +2 -8
  373. package/src/shared/datasources/internal/blog/schema.ts +2 -1
  374. package/src/shared/datasources/types.ts +64 -79
  375. package/src/shared/images.ts +12 -18
  376. package/src/shared/page.ts +10 -1
  377. package/src/shared/site.ts +1 -0
  378. package/src/shared/sitemap.ts +3 -70
  379. package/src/shared/tests/attributes.test.ts +2 -0
  380. package/src/shared/theme.ts +81 -96
  381. package/src/shared/utils/llm.ts +5 -191
  382. package/src/shared/utils/schema.ts +95 -258
  383. package/src/shared/utils/string-enum.ts +25 -4
  384. package/src/shared/utils/tests/schema.test.ts +278 -314
  385. package/dist/shared/chunk-2IHKVMKW.js.map +0 -1
  386. package/dist/shared/chunk-2RK3CPYJ.js.map +0 -1
  387. package/dist/shared/chunk-2VDR4ZYY.js.map +0 -1
  388. package/dist/shared/chunk-36PLZKMW.js.map +0 -1
  389. package/dist/shared/chunk-42OUNI7C.js.map +0 -1
  390. package/dist/shared/chunk-4MNWMEMM.js.map +0 -1
  391. package/dist/shared/chunk-A2QPY54H.js +0 -13
  392. package/dist/shared/chunk-A2QPY54H.js.map +0 -1
  393. package/dist/shared/chunk-BPBKHEQ5.js.map +0 -1
  394. package/dist/shared/chunk-CRS7QCPZ.js.map +0 -1
  395. package/dist/shared/chunk-CSF2WQX2.js.map +0 -1
  396. package/dist/shared/chunk-DFAFDBYZ.js.map +0 -1
  397. package/dist/shared/chunk-DV3G7X34.js +0 -244
  398. package/dist/shared/chunk-DV3G7X34.js.map +0 -1
  399. package/dist/shared/chunk-EVLRH6VG.js.map +0 -1
  400. package/dist/shared/chunk-F22LDHEO.js.map +0 -1
  401. package/dist/shared/chunk-F247VKAE.js.map +0 -1
  402. package/dist/shared/chunk-FOGAVJC2.js.map +0 -1
  403. package/dist/shared/chunk-FQDR2BBZ.js.map +0 -1
  404. package/dist/shared/chunk-GFAQWQER.js.map +0 -1
  405. package/dist/shared/chunk-GIGFNQBO.js.map +0 -1
  406. package/dist/shared/chunk-GQTZPN5D.js.map +0 -1
  407. package/dist/shared/chunk-H5JM2M2T.js.map +0 -1
  408. package/dist/shared/chunk-HTUSL2U7.js +0 -260
  409. package/dist/shared/chunk-HTUSL2U7.js.map +0 -1
  410. package/dist/shared/chunk-IQIISR22.js +0 -794
  411. package/dist/shared/chunk-IQIISR22.js.map +0 -1
  412. package/dist/shared/chunk-JK2FWFJU.js +0 -15
  413. package/dist/shared/chunk-JK2FWFJU.js.map +0 -1
  414. package/dist/shared/chunk-KEM5N6GJ.js +0 -505
  415. package/dist/shared/chunk-KEM5N6GJ.js.map +0 -1
  416. package/dist/shared/chunk-KIDICX3Y.js.map +0 -1
  417. package/dist/shared/chunk-KILJYJFE.js.map +0 -1
  418. package/dist/shared/chunk-L6C7HUSA.js.map +0 -1
  419. package/dist/shared/chunk-LCJ2VFPM.js.map +0 -1
  420. package/dist/shared/chunk-LLNPH3XR.js.map +0 -1
  421. package/dist/shared/chunk-LTIJI7Y3.js.map +0 -1
  422. package/dist/shared/chunk-MFNHFN2B.js +0 -103
  423. package/dist/shared/chunk-MFNHFN2B.js.map +0 -1
  424. package/dist/shared/chunk-N3ZTQD5I.js.map +0 -1
  425. package/dist/shared/chunk-NTLAKMMQ.js.map +0 -1
  426. package/dist/shared/chunk-Q4NPPLEU.js.map +0 -1
  427. package/dist/shared/chunk-RV7AYVFV.js.map +0 -1
  428. package/dist/shared/chunk-SE6O65HC.js +0 -44
  429. package/dist/shared/chunk-SE6O65HC.js.map +0 -1
  430. package/dist/shared/chunk-TFGGYU6Y.js.map +0 -1
  431. package/dist/shared/chunk-TNMNMYOB.js.map +0 -1
  432. package/dist/shared/chunk-TNTFKLCR.js +0 -1225
  433. package/dist/shared/chunk-TNTFKLCR.js.map +0 -1
  434. package/dist/shared/chunk-U5ZECCJM.js +0 -464
  435. package/dist/shared/chunk-U5ZECCJM.js.map +0 -1
  436. package/dist/shared/chunk-UXTASZ23.js.map +0 -1
  437. package/dist/shared/chunk-W6MRYRGJ.js.map +0 -1
  438. package/dist/shared/chunk-WKN566LN.js +0 -29
  439. package/dist/shared/chunk-WKN566LN.js.map +0 -1
  440. package/dist/shared/chunk-Y74LZNND.js.map +0 -1
  441. package/dist/shared/chunk-YWOTQWIQ.js +0 -572
  442. package/dist/shared/chunk-YWOTQWIQ.js.map +0 -1
  443. package/dist/shared/chunk-ZLYIRH2B.js.map +0 -1
  444. package/dist/shared/chunk-ZR6R6Z6O.js.map +0 -1
  445. package/dist/shared/chunk-ZRRAK5NS.js.map +0 -1
  446. package/dist/shared/tests/schema-registry.test.d.ts +0 -2
  447. package/dist/shared/tests/schema-registry.test.d.ts.map +0 -1
  448. package/dist/shared/utils/schema-registry.d.ts +0 -5
  449. package/dist/shared/utils/schema-registry.d.ts.map +0 -1
  450. package/dist/shared/utils/schema-registry.js +0 -29
  451. package/dist/shared/utils/tests/schema-registry.test.d.ts +0 -2
  452. package/dist/shared/utils/tests/schema-registry.test.d.ts.map +0 -1
  453. package/dist/shared/utils/typed-ref.d.ts +0 -43
  454. package/dist/shared/utils/typed-ref.d.ts.map +0 -1
  455. package/dist/shared/utils/typed-ref.js.map +0 -1
  456. package/src/shared/tests/schema-registry.test.ts +0 -12
  457. package/src/shared/utils/schema-registry.ts +0 -82
  458. package/src/shared/utils/tests/schema-registry.test.ts +0 -13
  459. package/src/shared/utils/typed-ref.ts +0 -53
  460. /package/dist/shared/{utils/schema-registry.js.map → bricks/props/grow.js.map} +0 -0
  461. /package/dist/shared/{chunk-N3BEBLWF.js.map → chunk-IPWYNE6Y.js.map} +0 -0
@@ -0,0 +1,168 @@
1
+ /*! Upstart.gg - Copyright (C) 2024 Flippable - https://github.com/upstart-gg/upstart/blob/main/LICENSE */
2
+
3
+ import {
4
+ border,
5
+ rounding
6
+ } from "./chunk-VYA2FCTY.js";
7
+ import {
8
+ defineProps
9
+ } from "./chunk-UC75KRLX.js";
10
+ import {
11
+ shadow
12
+ } from "./chunk-5RCC2STG.js";
13
+ import {
14
+ loop
15
+ } from "./chunk-XFZQGRRL.js";
16
+ import {
17
+ colorPreset
18
+ } from "./chunk-IEMCCHM4.js";
19
+ import {
20
+ cssLength
21
+ } from "./chunk-OJ6KL7FU.js";
22
+ import {
23
+ defineBrickManifest
24
+ } from "./chunk-GNTJT7MR.js";
25
+ import {
26
+ StringEnum
27
+ } from "./chunk-GDYCCB3B.js";
28
+
29
+ // src/shared/bricks/manifests/tabs.manifest.ts
30
+ import { Type } from "@sinclair/typebox";
31
+ import { TfiLayoutTabWindow } from "react-icons/tfi";
32
+ var tabRef = Type.Object({
33
+ label: Type.String({
34
+ title: "Tab Label",
35
+ description: "The text shown on the tab button",
36
+ "ai:instructions": "Use a short, descriptive label for the tab"
37
+ }),
38
+ id: Type.Optional(
39
+ Type.String({
40
+ title: "Tab ID",
41
+ description: "Unique identifier for the tab (auto-generated if not provided)"
42
+ })
43
+ )
44
+ });
45
+ var manifest = defineBrickManifest({
46
+ type: "tabs",
47
+ category: "container",
48
+ name: "Tabs",
49
+ description: "A tabbed container that displays different content panels based on the selected tab.",
50
+ aiInstructions: "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.",
51
+ isContainer: true,
52
+ consumesMultipleQueryRows: true,
53
+ defaultWidth: {
54
+ desktop: "100%",
55
+ mobile: "100%"
56
+ },
57
+ defaultHeight: {
58
+ desktop: "auto"
59
+ },
60
+ icon: TfiLayoutTabWindow,
61
+ props: defineProps({
62
+ colorPreset: Type.Optional(
63
+ colorPreset({
64
+ title: "Color"
65
+ })
66
+ ),
67
+ tabs: Type.Array(tabRef, {
68
+ title: "Tabs",
69
+ description: "List of tab configurations",
70
+ default: [{ label: "Tab 1" }, { label: "Tab 2" }],
71
+ "ai:instructions": "Each tab should have a descriptive label. Content for each tab is defined in the $children array.",
72
+ examples: [
73
+ [{ label: "Overview" }, { label: "Features" }, { label: "Pricing" }],
74
+ [{ label: "About" }, { label: "Services" }, { label: "Contact" }]
75
+ ]
76
+ }),
77
+ defaultTab: Type.Optional(
78
+ Type.Number({
79
+ title: "Default Tab",
80
+ description: "Index of the tab to show by default (0-based)",
81
+ default: 0,
82
+ minimum: 0,
83
+ "ai:instructions": "Use 0 for the first tab, 1 for the second tab, etc."
84
+ })
85
+ ),
86
+ tabPosition: Type.Optional(
87
+ StringEnum(["top", "bottom"], {
88
+ title: "Tab Position",
89
+ description: "Position of the tab buttons relative to content",
90
+ default: "top",
91
+ "ai:instructions": "Use 'top' for tabs above content (most common) or 'bottom' for tabs below content"
92
+ })
93
+ ),
94
+ tabStyle: Type.Optional(
95
+ StringEnum(["pills", "underline", "bordered"], {
96
+ title: "Tab Style",
97
+ description: "Visual style of the tab buttons",
98
+ default: "underline",
99
+ "ai:instructions": "Pills are rounded buttons, underline shows a line under active tab, bordered shows tabs with borders"
100
+ })
101
+ ),
102
+ fullWidth: Type.Optional(
103
+ Type.Boolean({
104
+ title: "Full Width Tabs",
105
+ description: "Make tab buttons span the full width of the container",
106
+ default: false,
107
+ "ai:instructions": "Enable this to make tab buttons evenly distribute across the full width"
108
+ })
109
+ ),
110
+ padding: Type.Optional(
111
+ cssLength({
112
+ default: "1.5rem",
113
+ description: "Padding inside each tab panel.",
114
+ "ai:instructions": "Use values like '1rem', '1.5rem', or '2rem' for tab content padding",
115
+ title: "Content Padding",
116
+ "ui:placeholder": "Not specified",
117
+ "ui:styleId": "styles:padding"
118
+ })
119
+ ),
120
+ gap: Type.Optional(
121
+ cssLength({
122
+ title: "Tab Gap",
123
+ default: "0.5rem",
124
+ description: "Gap between tab buttons.",
125
+ "ai:instructions": "Small values like '0.25rem' or '0.5rem' work best for tab spacing",
126
+ "ui:placeholder": "Not specified",
127
+ "ui:styleId": "styles:gap"
128
+ })
129
+ ),
130
+ rounding: rounding({
131
+ default: "rounded-md"
132
+ }),
133
+ border: Type.Optional(border()),
134
+ shadow: Type.Optional(shadow()),
135
+ loop: Type.Optional(loop()),
136
+ $children: Type.Array(Type.Any(), {
137
+ "ui:field": "hidden",
138
+ description: "Array of child bricks - each item represents the content for one tab. If you want multiple bricks in one tab, use a 'box' brick as the single child for that tab.",
139
+ examples: [
140
+ [
141
+ // Tab 1 content
142
+ {
143
+ type: "text",
144
+ props: {
145
+ content: "<h3>Overview</h3><p>This is the overview tab content.</p>"
146
+ }
147
+ },
148
+ // Tab 2 content
149
+ [
150
+ {
151
+ type: "text",
152
+ props: {
153
+ content: "<h3>Features</h3><p>Here are our key features.</p>"
154
+ }
155
+ }
156
+ ]
157
+ ]
158
+ ]
159
+ })
160
+ })
161
+ });
162
+ var examples = [];
163
+
164
+ export {
165
+ manifest,
166
+ examples
167
+ };
168
+ //# sourceMappingURL=chunk-KTA7XES3.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/shared/bricks/manifests/tabs.manifest.ts"],"sourcesContent":["import { defineBrickManifest } from \"~/shared/brick-manifest\";\nimport { defineProps } from \"../props/helpers\";\nimport { Type } from \"@sinclair/typebox\";\nimport { border, rounding } from \"../props/border\";\nimport { shadow } from \"../props/effects\";\nimport { cssLength } from \"../props/css-length\";\nimport { HiOutlineViewColumns } from \"react-icons/hi2\";\nimport { colorPreset } from \"../props/color-preset\";\nimport { loop } from \"../props/dynamic\";\nimport { StringEnum } from \"~/shared/utils/string-enum\";\nimport type { BrickExample } from \"./_types\";\nimport { TfiLayoutTabWindow } from \"react-icons/tfi\";\n\n// Tab configuration schema\nconst tabRef = Type.Object({\n label: Type.String({\n title: \"Tab Label\",\n description: \"The text shown on the tab button\",\n \"ai:instructions\": \"Use a short, descriptive label for the tab\",\n }),\n id: Type.Optional(\n Type.String({\n title: \"Tab ID\",\n description: \"Unique identifier for the tab (auto-generated if not provided)\",\n }),\n ),\n});\n\nexport const manifest = defineBrickManifest({\n type: \"tabs\",\n category: \"container\",\n name: \"Tabs\",\n description: \"A tabbed container that displays different content panels based on the selected tab.\",\n aiInstructions:\n \"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.\",\n isContainer: true,\n consumesMultipleQueryRows: true,\n defaultWidth: {\n desktop: \"100%\",\n mobile: \"100%\",\n },\n defaultHeight: {\n desktop: \"auto\",\n },\n icon: TfiLayoutTabWindow,\n props: defineProps({\n colorPreset: Type.Optional(\n colorPreset({\n title: \"Color\",\n }),\n ),\n tabs: Type.Array(tabRef, {\n title: \"Tabs\",\n description: \"List of tab configurations\",\n default: [{ label: \"Tab 1\" }, { label: \"Tab 2\" }],\n \"ai:instructions\":\n \"Each tab should have a descriptive label. Content for each tab is defined in the $children array.\",\n examples: [\n [{ label: \"Overview\" }, { label: \"Features\" }, { label: \"Pricing\" }],\n [{ label: \"About\" }, { label: \"Services\" }, { label: \"Contact\" }],\n ],\n }),\n defaultTab: Type.Optional(\n Type.Number({\n title: \"Default Tab\",\n description: \"Index of the tab to show by default (0-based)\",\n default: 0,\n minimum: 0,\n \"ai:instructions\": \"Use 0 for the first tab, 1 for the second tab, etc.\",\n }),\n ),\n tabPosition: Type.Optional(\n StringEnum([\"top\", \"bottom\"], {\n title: \"Tab Position\",\n description: \"Position of the tab buttons relative to content\",\n default: \"top\",\n \"ai:instructions\":\n \"Use 'top' for tabs above content (most common) or 'bottom' for tabs below content\",\n }),\n ),\n tabStyle: Type.Optional(\n StringEnum([\"pills\", \"underline\", \"bordered\"], {\n title: \"Tab Style\",\n description: \"Visual style of the tab buttons\",\n default: \"underline\",\n \"ai:instructions\":\n \"Pills are rounded buttons, underline shows a line under active tab, bordered shows tabs with borders\",\n }),\n ),\n fullWidth: Type.Optional(\n Type.Boolean({\n title: \"Full Width Tabs\",\n description: \"Make tab buttons span the full width of the container\",\n default: false,\n \"ai:instructions\": \"Enable this to make tab buttons evenly distribute across the full width\",\n }),\n ),\n padding: Type.Optional(\n cssLength({\n default: \"1.5rem\",\n description: \"Padding inside each tab panel.\",\n \"ai:instructions\": \"Use values like '1rem', '1.5rem', or '2rem' for tab content padding\",\n title: \"Content Padding\",\n \"ui:placeholder\": \"Not specified\",\n \"ui:styleId\": \"styles:padding\",\n }),\n ),\n gap: Type.Optional(\n cssLength({\n title: \"Tab Gap\",\n default: \"0.5rem\",\n description: \"Gap between tab buttons.\",\n \"ai:instructions\": \"Small values like '0.25rem' or '0.5rem' work best for tab spacing\",\n \"ui:placeholder\": \"Not specified\",\n \"ui:styleId\": \"styles:gap\",\n }),\n ),\n rounding: rounding({\n default: \"rounded-md\",\n }),\n border: Type.Optional(border()),\n shadow: Type.Optional(shadow()),\n loop: Type.Optional(loop()),\n $children: Type.Array(Type.Any(), {\n \"ui:field\": \"hidden\",\n description:\n \"Array of child bricks - each item represents the content for one tab. If you want multiple bricks in one tab, use a 'box' brick as the single child for that tab.\",\n examples: [\n [\n // Tab 1 content\n {\n type: \"text\",\n props: {\n content: \"<h3>Overview</h3><p>This is the overview tab content.</p>\",\n },\n },\n // Tab 2 content\n [\n {\n type: \"text\",\n props: {\n content: \"<h3>Features</h3><p>Here are our key features.</p>\",\n },\n },\n ],\n ],\n ],\n }),\n }),\n});\n\nexport type Manifest = typeof manifest;\n\nexport const examples: BrickExample<Manifest>[] = [];\n"],"mappings":"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","names":[]}
@@ -4,20 +4,20 @@ import {
4
4
  number
5
5
  } from "./chunk-XCZVD5H6.js";
6
6
  import {
7
- defineProps
8
- } from "./chunk-BHC2A43S.js";
7
+ rounding
8
+ } from "./chunk-VYA2FCTY.js";
9
9
  import {
10
- defineBrickManifest
11
- } from "./chunk-EVLRH6VG.js";
10
+ defineProps
11
+ } from "./chunk-UC75KRLX.js";
12
12
  import {
13
- shadowRef
14
- } from "./chunk-TNMNMYOB.js";
13
+ shadow
14
+ } from "./chunk-5RCC2STG.js";
15
15
  import {
16
- string
17
- } from "./chunk-N3ZTQD5I.js";
16
+ grow
17
+ } from "./chunk-2EOCK66Z.js";
18
18
  import {
19
- roundingRef
20
- } from "./chunk-NTLAKMMQ.js";
19
+ defineBrickManifest
20
+ } from "./chunk-GNTJT7MR.js";
21
21
 
22
22
  // src/shared/bricks/manifests/map.manifest.ts
23
23
  import { LiaMapMarkedAltSolid } from "react-icons/lia";
@@ -54,16 +54,18 @@ var manifest = defineBrickManifest({
54
54
  icon: LiaMapMarkedAltSolid,
55
55
  props: defineProps({
56
56
  // location: geolocation({ defaultZoom: DEFAULTS.zoom }),
57
- lat: string("Latitude", { "ui:field": "hidden" }),
58
- lng: string("Longitude", { "ui:field": "hidden" }),
59
- address: string("Address", {
57
+ lat: Type.String({ title: "Latitude", "ui:field": "hidden" }),
58
+ lng: Type.String({ title: "Longitude", "ui:field": "hidden" }),
59
+ address: Type.String({
60
+ title: "Address",
60
61
  "ui:field": "geoaddress",
61
62
  metadata: {
62
63
  category: "content"
63
64
  }
64
65
  }),
65
66
  tooltip: Type.Optional(
66
- string("Tooltip", {
67
+ Type.String({
68
+ title: "Tooltip",
67
69
  metadata: {
68
70
  category: "content"
69
71
  }
@@ -83,11 +85,16 @@ var manifest = defineBrickManifest({
83
85
  })
84
86
  ),
85
87
  rounding: Type.Optional(
86
- roundingRef({
88
+ rounding({
87
89
  default: "rounded-xl"
88
90
  })
89
91
  ),
90
- shadow: Type.Optional(shadowRef())
92
+ shadow: Type.Optional(shadow()),
93
+ grow: Type.Optional(
94
+ grow({
95
+ default: true
96
+ })
97
+ )
91
98
  })
92
99
  });
93
100
  var examples = [
@@ -118,7 +125,7 @@ var examples = [
118
125
  }
119
126
  },
120
127
  {
121
- description: "Business location map with high zoom level and rounded corners",
128
+ description: "Business location map with high zoom level and rounded corners, take the full width of its container",
122
129
  type: "map",
123
130
  props: {
124
131
  lat: "34.0522",
@@ -126,6 +133,7 @@ var examples = [
126
133
  address: "Los Angeles, CA",
127
134
  tooltip: "Our Los Angeles Office",
128
135
  zoom: 18,
136
+ grow: true,
129
137
  rounding: "rounded-2xl",
130
138
  shadow: "shadow-xl"
131
139
  }
@@ -155,70 +163,6 @@ var examples = [
155
163
  rounding: "rounded-none",
156
164
  shadow: "shadow-md"
157
165
  }
158
- },
159
- {
160
- description: "Hotel location with low zoom for area overview",
161
- type: "map",
162
- props: {
163
- lat: "36.1699",
164
- lng: "-115.1398",
165
- address: "Las Vegas, NV",
166
- tooltip: "Downtown Las Vegas Hotel",
167
- zoom: 13,
168
- rounding: "rounded-xl",
169
- shadow: "shadow-lg"
170
- }
171
- },
172
- {
173
- description: "Store location with maximum zoom for street view detail",
174
- type: "map",
175
- props: {
176
- lat: "47.6062",
177
- lng: "-122.3321",
178
- address: "Seattle, WA",
179
- tooltip: "Seattle Flagship Store",
180
- zoom: 18,
181
- rounding: "rounded-md",
182
- shadow: "shadow-sm"
183
- }
184
- },
185
- {
186
- description: "Park location with moderate zoom and minimal styling",
187
- type: "map",
188
- props: {
189
- lat: "39.7392",
190
- lng: "-104.9903",
191
- address: "Denver, CO",
192
- tooltip: "City Park Recreation Area",
193
- zoom: 14,
194
- rounding: "rounded-sm"
195
- }
196
- },
197
- {
198
- description: "Dynamic business location using company query",
199
- type: "map",
200
- props: {
201
- lat: "{{company.latitude}}",
202
- lng: "{{company.longitude}}",
203
- address: "{{company.address}}",
204
- tooltip: "{{company.name}} - {{company.address}}",
205
- zoom: 16,
206
- rounding: "rounded-lg",
207
- shadow: "shadow-md"
208
- }
209
- },
210
- {
211
- description: "Dynamic event venue using event query",
212
- type: "map",
213
- props: {
214
- lat: "{{event.venueLatitude}}",
215
- lng: "{{event.venueLongitude}}",
216
- address: "{{event.venueAddress}}",
217
- tooltip: "{{event.title}} - {{event.venueName}}",
218
- zoom: 17,
219
- rounding: "rounded-xl",
220
- shadow: "shadow-lg"
221
- }
222
166
  }
223
167
  ];
224
168
 
@@ -227,4 +171,4 @@ export {
227
171
  manifest,
228
172
  examples
229
173
  };
230
- //# sourceMappingURL=chunk-2VDR4ZYY.js.map
174
+ //# sourceMappingURL=chunk-L4W4B2RQ.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/shared/bricks/manifests/map.manifest.ts"],"sourcesContent":["import { defineBrickManifest } from \"~/shared/brick-manifest\";\nimport { defineProps } from \"../props/helpers\";\nimport { LiaMapMarkedAltSolid } from \"react-icons/lia\";\nimport { rounding } from \"../props/border\";\nimport { shadow } from \"../props/effects\";\nimport { Type } from \"@sinclair/typebox\";\nimport { number } from \"../props/number\";\nimport type { BrickExample } from \"./_types\";\nimport { grow } from \"../props/grow\";\n\nexport const DEFAULTS = {\n lat: 48.8566, // Default latitude (Paris)\n lng: 2.3522, // Default longitude (Paris)\n zoom: 15, // Default zoom level\n};\n\nexport const manifest = defineBrickManifest({\n type: \"map\",\n name: \"Map\",\n description: \"A map element showing a location\",\n aiInstructions:\n \"This brick can be used to show a location on a map. Use the 'location' prop to set the coordinates and an optional tooltip.\",\n minWidth: {\n desktop: 280,\n mobile: 280,\n },\n minHeight: {\n desktop: 200,\n mobile: 120,\n },\n defaultHeight: {\n desktop: \"320px\",\n mobile: \"280px\",\n },\n defaultWidth: {\n desktop: \"380px\",\n mobile: \"100%\",\n },\n icon: LiaMapMarkedAltSolid,\n props: defineProps({\n // location: geolocation({ defaultZoom: DEFAULTS.zoom }),\n lat: Type.String({ title: \"Latitude\", \"ui:field\": \"hidden\" }),\n lng: Type.String({ title: \"Longitude\", \"ui:field\": \"hidden\" }),\n address: Type.String({\n title: \"Address\",\n \"ui:field\": \"geoaddress\",\n metadata: {\n category: \"content\",\n },\n }),\n tooltip: Type.Optional(\n Type.String({\n title: \"Tooltip\",\n metadata: {\n category: \"content\",\n },\n }),\n ),\n zoom: Type.Optional(\n number(\"Zoom\", {\n description: \"Zoom level for the map\",\n \"ui:instructions\": \"The zoom level should be between 0 (world view) and 21 (street view).\",\n \"ui:field\": \"slider\",\n minimum: 12,\n maximum: 18,\n default: DEFAULTS.zoom,\n metadata: {\n category: \"content\",\n },\n }),\n ),\n rounding: Type.Optional(\n rounding({\n default: \"rounded-xl\",\n }),\n ),\n shadow: Type.Optional(shadow()),\n grow: Type.Optional(\n grow({\n default: true,\n }),\n ),\n }),\n});\n\nexport type Manifest = typeof manifest;\n\nexport const examples: BrickExample<Manifest>[] = [\n {\n description: \"Map showing a specific location\",\n type: \"map\",\n props: {\n lat: \"37.7749\",\n lng: \"-122.4194\",\n address: \"San Francisco, CA\",\n tooltip: \"San Francisco, CA\",\n shadow: \"shadow-md\",\n width: \"40%\",\n height: \"250px\",\n },\n },\n {\n description: \"Map with custom styles\",\n type: \"map\",\n props: {\n lat: \"40.7128\",\n lng: \"-74.0060\",\n address: \"New York, NY\",\n tooltip: \"New York, NY\",\n shadow: \"shadow-lg\",\n width: \"100%\",\n height: \"400px\",\n },\n },\n {\n description:\n \"Business location map with high zoom level and rounded corners, take the full width of its container\",\n type: \"map\",\n props: {\n lat: \"34.0522\",\n lng: \"-118.2437\",\n address: \"Los Angeles, CA\",\n tooltip: \"Our Los Angeles Office\",\n zoom: 18,\n grow: true,\n rounding: \"rounded-2xl\",\n shadow: \"shadow-xl\",\n },\n },\n {\n description: \"Event venue map with medium zoom and subtle shadow\",\n type: \"map\",\n props: {\n lat: \"41.8781\",\n lng: \"-87.6298\",\n address: \"Chicago, IL\",\n tooltip: \"Conference Center - Chicago\",\n zoom: 16,\n rounding: \"rounded-lg\",\n shadow: \"shadow-sm\",\n },\n },\n {\n description: \"Restaurant location with default zoom and sharp corners\",\n type: \"map\",\n props: {\n lat: \"25.7617\",\n lng: \"-80.1918\",\n address: \"Miami, FL\",\n tooltip: \"Oceanview Restaurant & Bar\",\n zoom: 15,\n rounding: \"rounded-none\",\n shadow: \"shadow-md\",\n },\n },\n];\n"],"mappings":"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","names":[]}
@@ -0,0 +1,73 @@
1
+ /*! Upstart.gg - Copyright (C) 2024 Flippable - https://github.com/upstart-gg/upstart/blob/main/LICENSE */
2
+
3
+
4
+ // src/shared/utils/llm.ts
5
+ import { Kind } from "@sinclair/typebox";
6
+ function toLLMSchema(schema) {
7
+ return cleanSchemaRecursive(schema);
8
+ }
9
+ function cleanSchemaRecursive(schema) {
10
+ const cleaned = {
11
+ [Kind]: schema[Kind]
12
+ };
13
+ for (const [key, value] of Object.entries(schema)) {
14
+ if (key === "metadata" || key.startsWith("ui:")) {
15
+ continue;
16
+ }
17
+ if (value && typeof value === "object") {
18
+ if (Array.isArray(value)) {
19
+ cleaned[key] = value.map((item) => {
20
+ if (item && typeof item === "object" && isSchemaLike(item)) {
21
+ return cleanSchemaRecursive(item);
22
+ }
23
+ return item;
24
+ });
25
+ } else if (isSchemaLike(value)) {
26
+ cleaned[key] = cleanSchemaRecursive(value);
27
+ } else if (key === "properties" || key === "definitions" || key === "$defs" || key === "patternProperties") {
28
+ const cleanedProps = {};
29
+ for (const [propKey, propValue] of Object.entries(value)) {
30
+ if (propValue && typeof propValue === "object") {
31
+ const propSchema = propValue;
32
+ if (propSchema["ai:hidden"] === true) {
33
+ continue;
34
+ }
35
+ cleanedProps[propKey] = cleanSchemaRecursive(propValue);
36
+ } else {
37
+ cleanedProps[propKey] = propValue;
38
+ }
39
+ }
40
+ cleaned[key] = cleanedProps;
41
+ } else {
42
+ cleaned[key] = value;
43
+ }
44
+ } else {
45
+ cleaned[key] = value;
46
+ }
47
+ }
48
+ return cleaned;
49
+ }
50
+ function isSchemaLike(obj) {
51
+ if (!obj || typeof obj !== "object") {
52
+ return false;
53
+ }
54
+ const schemaKeys = [
55
+ "type",
56
+ "$ref",
57
+ "properties",
58
+ "items",
59
+ "anyOf",
60
+ "oneOf",
61
+ "allOf",
62
+ "not",
63
+ "if",
64
+ "then",
65
+ "else"
66
+ ];
67
+ return schemaKeys.some((key) => key in obj);
68
+ }
69
+
70
+ export {
71
+ toLLMSchema
72
+ };
73
+ //# sourceMappingURL=chunk-MO6CRLQA.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/shared/utils/llm.ts"],"sourcesContent":["import { Kind, type TObject, type TSchema } from \"@sinclair/typebox\";\n\n/**\n * Clean all properties from custom metadata recursively. Custom metadata are key that:\n * - Either with the name \"metadata\"\n * - Or starting with \"ui:\"\n * Also removes properties that have \"ai:hidden\" set to true\n */\nexport function toLLMSchema<T extends TSchema = TObject>(schema: T): T {\n return cleanSchemaRecursive(schema) as T;\n}\n\n/**\n * Recursively removes custom metadata from schema and filters out properties with ai:hidden = true\n */\nfunction cleanSchemaRecursive(schema: TSchema): TSchema {\n // Create a new object without custom metadata properties\n const cleaned: Record<string, unknown> = {\n [Kind]: schema[Kind],\n };\n\n for (const [key, value] of Object.entries(schema)) {\n // Skip metadata properties and ui: properties\n if (key === \"metadata\" || key.startsWith(\"ui:\")) {\n continue;\n }\n\n // Handle nested objects and arrays\n if (value && typeof value === \"object\") {\n if (Array.isArray(value)) {\n // Handle arrays - clean each item if it's a schema\n cleaned[key] = value.map((item) => {\n if (item && typeof item === \"object\" && isSchemaLike(item)) {\n return cleanSchemaRecursive(item as TSchema);\n }\n return item;\n });\n } else if (isSchemaLike(value)) {\n // Handle nested schemas\n cleaned[key] = cleanSchemaRecursive(value as TSchema);\n } else if (\n key === \"properties\" ||\n key === \"definitions\" ||\n key === \"$defs\" ||\n key === \"patternProperties\"\n ) {\n // Handle schema property collections - filter out properties with ai:hidden = true\n const cleanedProps: Record<string, TSchema> = {};\n for (const [propKey, propValue] of Object.entries(value)) {\n if (propValue && typeof propValue === \"object\") {\n // Check if this property should be hidden from AI\n const propSchema = propValue as Record<string, unknown>;\n if (propSchema[\"ai:hidden\"] === true) {\n continue; // Skip this property\n }\n cleanedProps[propKey] = cleanSchemaRecursive(propValue as TSchema);\n } else {\n cleanedProps[propKey] = propValue as TSchema;\n }\n }\n cleaned[key] = cleanedProps;\n } else {\n // For other objects, recursively clean if they look like schemas\n cleaned[key] = value;\n }\n } else {\n // Keep primitive values as-is\n cleaned[key] = value;\n }\n }\n\n return cleaned as TSchema;\n}\n\n/**\n * Helper function to determine if an object looks like a schema\n */\nfunction isSchemaLike(obj: unknown): boolean {\n if (!obj || typeof obj !== \"object\") {\n return false;\n }\n\n const schemaKeys = [\n \"type\",\n \"$ref\",\n \"properties\",\n \"items\",\n \"anyOf\",\n \"oneOf\",\n \"allOf\",\n \"not\",\n \"if\",\n \"then\",\n \"else\",\n ];\n return schemaKeys.some((key) => key in obj);\n}\n"],"mappings":";;;;AAAA,SAAS,YAAwC;AAQ1C,SAAS,YAAyC,QAAc;AACrE,SAAO,qBAAqB,MAAM;AACpC;AAKA,SAAS,qBAAqB,QAA0B;AAEtD,QAAM,UAAmC;AAAA,IACvC,CAAC,IAAI,GAAG,OAAO,IAAI;AAAA,EACrB;AAEA,aAAW,CAAC,KAAK,KAAK,KAAK,OAAO,QAAQ,MAAM,GAAG;AAEjD,QAAI,QAAQ,cAAc,IAAI,WAAW,KAAK,GAAG;AAC/C;AAAA,IACF;AAGA,QAAI,SAAS,OAAO,UAAU,UAAU;AACtC,UAAI,MAAM,QAAQ,KAAK,GAAG;AAExB,gBAAQ,GAAG,IAAI,MAAM,IAAI,CAAC,SAAS;AACjC,cAAI,QAAQ,OAAO,SAAS,YAAY,aAAa,IAAI,GAAG;AAC1D,mBAAO,qBAAqB,IAAe;AAAA,UAC7C;AACA,iBAAO;AAAA,QACT,CAAC;AAAA,MACH,WAAW,aAAa,KAAK,GAAG;AAE9B,gBAAQ,GAAG,IAAI,qBAAqB,KAAgB;AAAA,MACtD,WACE,QAAQ,gBACR,QAAQ,iBACR,QAAQ,WACR,QAAQ,qBACR;AAEA,cAAM,eAAwC,CAAC;AAC/C,mBAAW,CAAC,SAAS,SAAS,KAAK,OAAO,QAAQ,KAAK,GAAG;AACxD,cAAI,aAAa,OAAO,cAAc,UAAU;AAE9C,kBAAM,aAAa;AACnB,gBAAI,WAAW,WAAW,MAAM,MAAM;AACpC;AAAA,YACF;AACA,yBAAa,OAAO,IAAI,qBAAqB,SAAoB;AAAA,UACnE,OAAO;AACL,yBAAa,OAAO,IAAI;AAAA,UAC1B;AAAA,QACF;AACA,gBAAQ,GAAG,IAAI;AAAA,MACjB,OAAO;AAEL,gBAAQ,GAAG,IAAI;AAAA,MACjB;AAAA,IACF,OAAO;AAEL,cAAQ,GAAG,IAAI;AAAA,IACjB;AAAA,EACF;AAEA,SAAO;AACT;AAKA,SAAS,aAAa,KAAuB;AAC3C,MAAI,CAAC,OAAO,OAAO,QAAQ,UAAU;AACnC,WAAO;AAAA,EACT;AAEA,QAAM,aAAa;AAAA,IACjB;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AACA,SAAO,WAAW,KAAK,CAAC,QAAQ,OAAO,GAAG;AAC5C;","names":[]}
@@ -1,31 +1,30 @@
1
1
  /*! Upstart.gg - Copyright (C) 2024 Flippable - https://github.com/upstart-gg/upstart/blob/main/LICENSE */
2
2
 
3
3
  import {
4
- defineProps
5
- } from "./chunk-BHC2A43S.js";
4
+ direction
5
+ } from "./chunk-WPZV3LYL.js";
6
6
  import {
7
- defineBrickManifest
8
- } from "./chunk-EVLRH6VG.js";
7
+ border,
8
+ rounding
9
+ } from "./chunk-VYA2FCTY.js";
9
10
  import {
10
- fontSizeRef
11
- } from "./chunk-F22LDHEO.js";
11
+ defineProps
12
+ } from "./chunk-UC75KRLX.js";
12
13
  import {
13
- directionRef
14
- } from "./chunk-Y74LZNND.js";
14
+ icon
15
+ } from "./chunk-FYGFB5U5.js";
15
16
  import {
16
- iconRef,
17
- string
18
- } from "./chunk-N3ZTQD5I.js";
17
+ fontSize
18
+ } from "./chunk-2U5U3CCJ.js";
19
19
  import {
20
- borderRef,
21
- roundingRef
22
- } from "./chunk-NTLAKMMQ.js";
20
+ colorPreset
21
+ } from "./chunk-IEMCCHM4.js";
23
22
  import {
24
- colorPresetRef
25
- } from "./chunk-TFGGYU6Y.js";
23
+ cssLength
24
+ } from "./chunk-OJ6KL7FU.js";
26
25
  import {
27
- cssLengthRef
28
- } from "./chunk-BPBKHEQ5.js";
26
+ defineBrickManifest
27
+ } from "./chunk-GNTJT7MR.js";
29
28
 
30
29
  // src/shared/bricks/manifests/social-links.manifest.ts
31
30
  import { Type } from "@sinclair/typebox";
@@ -40,19 +39,19 @@ var manifest = defineBrickManifest({
40
39
  },
41
40
  props: defineProps({
42
41
  colorPreset: Type.Optional(
43
- colorPresetRef({
42
+ colorPreset({
44
43
  title: "Color"
45
44
  })
46
45
  ),
47
46
  links: Type.Array(
48
47
  Type.Object({
49
48
  icon: Type.Optional(
50
- iconRef({
49
+ icon({
51
50
  "ui:default-icon-collection": "cib"
52
51
  })
53
52
  ),
54
- label: Type.Optional(string("Label")),
55
- href: string("Link")
53
+ label: Type.Optional(Type.String({ title: "Label" })),
54
+ href: Type.String({ title: "Link" })
56
55
  }),
57
56
  {
58
57
  title: "Social Links",
@@ -90,13 +89,13 @@ var manifest = defineBrickManifest({
90
89
  }
91
90
  ),
92
91
  direction: Type.Optional(
93
- directionRef({
92
+ direction({
94
93
  default: "flex-row"
95
94
  })
96
95
  ),
97
- fontSize: Type.Optional(fontSizeRef()),
96
+ fontSize: Type.Optional(fontSize()),
98
97
  padding: Type.Optional(
99
- cssLengthRef({
98
+ cssLength({
100
99
  default: "2rem",
101
100
  description: "Padding.",
102
101
  "ai:instructions": "Use only a single value like '1rem' or '10px'",
@@ -106,12 +105,10 @@ var manifest = defineBrickManifest({
106
105
  "ui:styleId": "styles:padding"
107
106
  })
108
107
  ),
109
- rounding: Type.Optional(
110
- roundingRef({
111
- default: "rounded-md"
112
- })
113
- ),
114
- border: Type.Optional(borderRef()),
108
+ rounding: rounding({
109
+ default: "rounded-md"
110
+ }),
111
+ border: Type.Optional(border()),
115
112
  iconOnly: Type.Optional(
116
113
  Type.Boolean({
117
114
  title: "Only icons",
@@ -516,4 +513,4 @@ export {
516
513
  manifest,
517
514
  examples
518
515
  };
519
- //# sourceMappingURL=chunk-GQTZPN5D.js.map
516
+ //# sourceMappingURL=chunk-NTP6BKRU.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/shared/bricks/manifests/social-links.manifest.ts"],"sourcesContent":["import { Type } from \"@sinclair/typebox\";\nimport { TiSocialFlickr } from \"react-icons/ti\";\nimport { defineBrickManifest } from \"~/shared/brick-manifest\";\nimport { defineProps } from \"../props/helpers\";\nimport { icon } from \"../props/string\";\nimport { fontSize } from \"../props/text\";\nimport { direction } from \"../props/direction\";\nimport { colorPreset } from \"../props/color-preset\";\nimport { border, rounding } from \"../props/border\";\nimport { cssLength } from \"../props/css-length\";\nimport type { BrickExample } from \"./_types\";\n\nexport const manifest = defineBrickManifest({\n type: \"social-links\",\n name: \"Social links\",\n description: \"A list of social media links\",\n icon: TiSocialFlickr,\n defaultWidth: {\n mobile: \"100%\",\n },\n props: defineProps({\n colorPreset: Type.Optional(\n colorPreset({\n title: \"Color\",\n }),\n ),\n links: Type.Array(\n Type.Object({\n icon: Type.Optional(\n icon({\n \"ui:default-icon-collection\": \"cib\",\n }),\n ),\n label: Type.Optional(Type.String({ title: \"Label\" })),\n href: Type.String({ title: \"Link\" }),\n }),\n {\n title: \"Social Links\",\n description: \"List of social media links\",\n default: [\n {\n href: \"https://facebook.com/company\",\n label: \"Facebook\",\n icon: \"mdi:facebook\",\n },\n {\n href: \"https://twitter.com/company\",\n label: \"Twitter\",\n icon: \"mdi:twitter\",\n },\n {\n href: \"https://instagram.com/company\",\n label: \"Instagram\",\n icon: \"mdi:instagram\",\n },\n ],\n \"ui:widget\": \"array\",\n \"ui:displayField\": \"label\",\n \"ui:options\": {\n orderable: true, // Enable drag & drop reordering\n removable: true, // Enable delete button\n addable: true, // Enable add button\n },\n metadata: {\n category: \"content\",\n },\n },\n ),\n direction: Type.Optional(\n direction({\n default: \"flex-row\",\n }),\n ),\n fontSize: Type.Optional(fontSize()),\n padding: Type.Optional(\n cssLength({\n default: \"2rem\",\n description: \"Padding.\",\n \"ai:instructions\": \"Use only a single value like '1rem' or '10px'\",\n title: \"Padding\",\n \"ui:responsive\": true,\n \"ui:placeholder\": \"Not specified\",\n \"ui:styleId\": \"styles:padding\",\n }),\n ),\n rounding: rounding({\n default: \"rounded-md\",\n }),\n border: Type.Optional(border()),\n iconOnly: Type.Optional(\n Type.Boolean({\n title: \"Only icons\",\n description: \"If set, the brick will only display the icons without labels.\",\n }),\n ),\n }),\n});\n\nexport type Manifest = typeof manifest;\n\nexport const examples: BrickExample<Manifest>[] = [\n {\n description: \"Social icons displayed horizontally, without labels\",\n type: \"social-links\",\n props: {\n iconOnly: true,\n links: [\n {\n href: \"https://facebook.com/company\",\n label: \"Facebook\",\n icon: \"mdi:facebook\",\n },\n {\n href: \"https://twitter.com/company\",\n label: \"Twitter\",\n icon: \"mdi:twitter\",\n },\n {\n href: \"https://instagram.com/company\",\n label: \"Instagram\",\n icon: \"mdi:instagram\",\n },\n ],\n },\n },\n {\n description: \"Social icons displayed vertically, without labels\",\n type: \"social-links\",\n props: {\n iconOnly: true,\n direction: \"flex-col\",\n links: [\n {\n href: \"https://facebook.com/company\",\n label: \"Facebook\",\n icon: \"mdi:facebook\",\n },\n {\n href: \"https://twitter.com/company\",\n label: \"Twitter\",\n icon: \"mdi:twitter\",\n },\n {\n href: \"https://instagram.com/company\",\n label: \"Instagram\",\n icon: \"mdi:instagram\",\n },\n ],\n },\n },\n {\n description: \"Social icons displayed horizontally, with labels\",\n type: \"social-links\",\n props: {\n iconOnly: false,\n links: [\n {\n href: \"https://facebook.com/company\",\n label: \"Facebook\",\n icon: \"mdi:facebook\",\n },\n {\n href: \"https://twitter.com/company\",\n label: \"Twitter\",\n icon: \"mdi:twitter\",\n },\n {\n href: \"https://instagram.com/company\",\n label: \"Instagram\",\n icon: \"mdi:instagram\",\n },\n {\n href: \"https://linkedin.com/company/company\",\n label: \"LinkedIn\",\n icon: \"mdi:linkedin\",\n },\n ],\n },\n },\n {\n description: \"Social icons displayed vertically, with labels\",\n type: \"social-links\",\n props: {\n iconOnly: false,\n direction: \"flex-col\",\n links: [\n {\n href: \"https://facebook.com/company\",\n label: \"Facebook\",\n icon: \"mdi:facebook\",\n },\n {\n href: \"https://twitter.com/company\",\n label: \"Twitter\",\n icon: \"mdi:twitter\",\n },\n {\n href: \"https://instagram.com/company\",\n label: \"Instagram\",\n icon: \"mdi:instagram\",\n },\n {\n href: \"https://linkedin.com/company/company\",\n label: \"LinkedIn\",\n icon: \"mdi:linkedin\",\n },\n ],\n },\n },\n {\n description: \"Professional social links with labels\",\n type: \"social-links\",\n props: {\n iconOnly: false,\n links: [\n {\n href: \"https://linkedin.com/in/johndoe\",\n label: \"Connect on LinkedIn\",\n icon: \"mdi:linkedin\",\n },\n {\n href: \"https://github.com/johndoe\",\n label: \"View GitHub Profile\",\n icon: \"mdi:github\",\n },\n {\n href: \"https://twitter.com/johndoe\",\n label: \"Follow on Twitter\",\n icon: \"mdi:twitter\",\n },\n {\n href: \"mailto:john@example.com\",\n label: \"Send Email\",\n icon: \"mdi:email\",\n },\n ],\n },\n },\n {\n description: \"Creative portfolio social links (icon-only inline)\",\n type: \"social-links\",\n props: {\n iconOnly: true,\n links: [\n {\n href: \"https://dribbble.com/designer\",\n label: \"Dribbble\",\n icon: \"mdi:dribbble\",\n },\n {\n href: \"https://behance.net/designer\",\n label: \"Behance\",\n icon: \"mdi:behance\",\n },\n {\n href: \"https://instagram.com/designer\",\n label: \"Instagram\",\n icon: \"mdi:instagram\",\n },\n {\n href: \"https://pinterest.com/designer\",\n label: \"Pinterest\",\n icon: \"mdi:pinterest\",\n },\n {\n href: \"https://youtube.com/designer\",\n label: \"YouTube\",\n icon: \"mdi:youtube\",\n },\n ],\n },\n },\n {\n description: \"Developer/tech social links with labels\",\n type: \"social-links\",\n props: {\n iconOnly: false,\n direction: \"flex-col\",\n links: [\n {\n href: \"https://github.com/developer\",\n label: \"GitHub\",\n icon: \"mdi:github\",\n },\n {\n href: \"https://stackoverflow.com/users/developer\",\n label: \"Stack Overflow\",\n icon: \"mdi:stack-overflow\",\n },\n {\n href: \"https://dev.to/developer\",\n label: \"Dev.to\",\n icon: \"mdi:dev-to\",\n },\n {\n href: \"https://codepen.io/developer\",\n label: \"CodePen\",\n icon: \"mdi:codepen\",\n },\n ],\n },\n },\n {\n description: \"Music artist social platforms (block layout)\",\n type: \"social-links\",\n props: {\n iconOnly: true,\n direction: \"flex-col\",\n links: [\n {\n href: \"https://spotify.com/artist/musician\",\n label: \"Listen on Spotify\",\n icon: \"mdi:spotify\",\n },\n {\n href: \"https://music.apple.com/artist/musician\",\n label: \"Apple Music\",\n icon: \"mdi:apple\",\n },\n {\n href: \"https://soundcloud.com/musician\",\n label: \"SoundCloud\",\n icon: \"mdi:soundcloud\",\n },\n {\n href: \"https://youtube.com/musician\",\n label: \"YouTube Channel\",\n icon: \"mdi:youtube\",\n },\n {\n href: \"https://bandcamp.com/musician\",\n label: \"Bandcamp\",\n icon: \"mdi:bandcamp\",\n },\n ],\n },\n },\n {\n description: \"Business contact icons only\",\n type: \"social-links\",\n props: {\n iconOnly: true,\n links: [\n {\n href: \"tel:+1234567890\",\n label: \"Phone\",\n icon: \"mdi:phone\",\n },\n {\n href: \"mailto:contact@business.com\",\n label: \"Email\",\n icon: \"mdi:email\",\n },\n {\n href: \"https://maps.google.com/business\",\n label: \"Location\",\n icon: \"mdi:map-marker\",\n },\n {\n href: \"https://business.com\",\n label: \"Website\",\n icon: \"mdi:web\",\n },\n ],\n },\n },\n {\n description: \"Gaming content creator links (inline with labels)\",\n type: \"social-links\",\n props: {\n iconOnly: false,\n links: [\n {\n href: \"https://twitch.tv/gamer\",\n label: \"Twitch\",\n icon: \"mdi:twitch\",\n },\n {\n href: \"https://youtube.com/gamer\",\n label: \"YouTube\",\n icon: \"mdi:youtube\",\n },\n {\n href: \"https://discord.gg/gamer\",\n label: \"Discord\",\n icon: \"mdi:discord\",\n },\n {\n href: \"https://tiktok.com/@gamer\",\n label: \"TikTok\",\n icon: \"mdi:tiktok\",\n },\n ],\n },\n },\n {\n description: \"Restaurant social presence (block layout)\",\n type: \"social-links\",\n props: {\n iconOnly: false,\n direction: \"flex-col\",\n links: [\n {\n href: \"https://facebook.com/restaurant\",\n label: \"Follow us on Facebook\",\n icon: \"mdi:facebook\",\n },\n {\n href: \"https://instagram.com/restaurant\",\n label: \"See photos on Instagram\",\n icon: \"mdi:instagram\",\n },\n {\n href: \"https://yelp.com/restaurant\",\n label: \"Review us on Yelp\",\n icon: \"mdi:yelp\",\n },\n {\n href: \"https://tripadvisor.com/restaurant\",\n label: \"TripAdvisor Reviews\",\n icon: \"mdi:tripadvisor\",\n },\n {\n href: \"tel:+1234567890\",\n label: \"Call for Reservations\",\n icon: \"mdi:phone\",\n },\n ],\n },\n },\n {\n description: \"Minimal footer social icons\",\n type: \"social-links\",\n props: {\n iconOnly: true,\n direction: \"flex-row\",\n links: [\n {\n href: \"https://twitter.com/company\",\n label: \"Twitter\",\n icon: \"mdi:twitter\",\n },\n {\n href: \"https://linkedin.com/company/company\",\n label: \"LinkedIn\",\n icon: \"mdi:linkedin\",\n },\n {\n href: \"mailto:hello@company.com\",\n label: \"Email\",\n icon: \"mdi:email\",\n },\n ],\n },\n },\n {\n description: \"E-commerce store social channels (inline with labels)\",\n type: \"social-links\",\n props: {\n iconOnly: false,\n direction: \"flex-row\",\n links: [\n {\n href: \"https://facebook.com/store\",\n label: \"Facebook\",\n icon: \"mdi:facebook\",\n },\n {\n href: \"https://instagram.com/store\",\n label: \"Instagram\",\n icon: \"mdi:instagram\",\n },\n {\n href: \"https://pinterest.com/store\",\n label: \"Pinterest\",\n icon: \"mdi:pinterest\",\n },\n {\n href: \"https://youtube.com/store\",\n label: \"YouTube\",\n icon: \"mdi:youtube\",\n },\n {\n href: \"https://tiktok.com/@store\",\n label: \"TikTok\",\n icon: \"mdi:tiktok\",\n },\n ],\n },\n },\n];\n"],"mappings":"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","names":[]}