@upstart.gg/sdk 0.0.133 → 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 (527) 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.d.ts +0 -1
  393. package/dist/shared/themes/color-system.d.ts.map +1 -1
  394. package/dist/shared/themes/color-system.js +103 -1
  395. package/dist/shared/themes/color-system.js.map +1 -1
  396. package/dist/shared/utils/canvas-data-uri.js +7 -1
  397. package/dist/shared/utils/canvas-data-uri.js.map +1 -1
  398. package/dist/shared/utils/invariant.js +7 -1
  399. package/dist/shared/utils/json-date.js +7 -1
  400. package/dist/shared/utils/llm.d.ts +2 -3
  401. package/dist/shared/utils/llm.d.ts.map +1 -1
  402. package/dist/shared/utils/llm.js +24 -1
  403. package/dist/shared/utils/merge.js +7 -1
  404. package/dist/shared/utils/object-hash.js +13 -1
  405. package/dist/shared/utils/object-hash.js.map +1 -1
  406. package/dist/shared/utils/schema-registry.d.ts +5 -0
  407. package/dist/shared/utils/schema-registry.d.ts.map +1 -0
  408. package/dist/shared/utils/schema-registry.js +29 -0
  409. package/dist/shared/utils/schema-registry.js.map +1 -0
  410. package/dist/shared/utils/schema.d.ts +2 -1
  411. package/dist/shared/utils/schema.d.ts.map +1 -1
  412. package/dist/shared/utils/schema.js +31 -1
  413. package/dist/shared/utils/string-enum.js +7 -1
  414. package/dist/shared/utils/tests/schema-registry.test.d.ts +2 -0
  415. package/dist/shared/utils/tests/schema-registry.test.d.ts.map +1 -0
  416. package/dist/shared/utils/try-catch.js +13 -1
  417. package/dist/shared/utils/try-catch.js.map +1 -1
  418. package/dist/shared/utils/typed-ref.js +7 -1
  419. package/package.json +12 -13
  420. package/src/shared/ai/schemas.ts +4 -8
  421. package/src/shared/ai/types.ts +9 -1
  422. package/src/shared/attributes.ts +27 -25
  423. package/src/shared/bricks/manifests/all-manifests.ts +15 -0
  424. package/src/shared/bricks/manifests/footer.manifest.ts +36 -27
  425. package/src/shared/bricks/manifests/navbar.manifest.ts +1 -3
  426. package/src/shared/bricks/manifests/table.manifest.ts +443 -0
  427. package/src/shared/bricks/manifests/tabs.manifest.ts +576 -0
  428. package/src/shared/bricks/manifests/timeline.manifest.ts +441 -0
  429. package/src/shared/bricks/props/color-preset.ts +3 -1
  430. package/src/shared/bricks/props/dynamic.ts +0 -1
  431. package/src/shared/bricks.ts +54 -45
  432. package/src/shared/datasources/types.ts +1 -5
  433. package/src/shared/images.ts +10 -8
  434. package/src/shared/page.ts +0 -4
  435. package/src/shared/schema-registry.ts +82 -0
  436. package/src/shared/sitemap.ts +12 -16
  437. package/src/shared/tests/schema-registry.test.ts +14 -0
  438. package/src/shared/theme.ts +1 -4
  439. package/src/shared/themes/color-system.ts +0 -1
  440. package/src/shared/utils/llm.ts +13 -12
  441. package/src/shared/utils/schema-registry.ts +82 -0
  442. package/src/shared/utils/schema.ts +18 -3
  443. package/src/shared/utils/tests/schema-registry.test.ts +13 -0
  444. package/src/shared/utils/tests/schema.test.ts +82 -55
  445. package/dist/shared/bricks/props/enum.d.ts +0 -13
  446. package/dist/shared/bricks/props/enum.d.ts.map +0 -1
  447. package/dist/shared/bricks/props/enum.js +0 -4
  448. package/dist/shared/chunk-3YVJ2ELD.js +0 -4
  449. package/dist/shared/chunk-4BTB3MU2.js +0 -4
  450. package/dist/shared/chunk-4WDWJA3N.js +0 -4
  451. package/dist/shared/chunk-5O4Z3YQY.js +0 -4
  452. package/dist/shared/chunk-5YRC3IT3.js +0 -4
  453. package/dist/shared/chunk-6HLU4UI2.js +0 -4
  454. package/dist/shared/chunk-6I3ONVU6.js +0 -4
  455. package/dist/shared/chunk-7A2JNQX3.js +0 -4
  456. package/dist/shared/chunk-7A2JNQX3.js.map +0 -1
  457. package/dist/shared/chunk-A3GF4PYW.js +0 -4
  458. package/dist/shared/chunk-A3K4NUVP.js +0 -4
  459. package/dist/shared/chunk-A3K4NUVP.js.map +0 -1
  460. package/dist/shared/chunk-AFVJZPLS.js +0 -4
  461. package/dist/shared/chunk-AFVJZPLS.js.map +0 -1
  462. package/dist/shared/chunk-AI4GHU7R.js +0 -4
  463. package/dist/shared/chunk-AI4GHU7R.js.map +0 -1
  464. package/dist/shared/chunk-B3EATRFX.js +0 -4
  465. package/dist/shared/chunk-CCI4C3TM.js +0 -4
  466. package/dist/shared/chunk-CFF6Q7O7.js +0 -7
  467. package/dist/shared/chunk-CZRCW5EN.js +0 -4
  468. package/dist/shared/chunk-DCH4ZKWT.js +0 -4
  469. package/dist/shared/chunk-DHI3IBOD.js +0 -4
  470. package/dist/shared/chunk-DQ7PRWTG.js +0 -4
  471. package/dist/shared/chunk-E6XEI7IK.js +0 -4
  472. package/dist/shared/chunk-FLOMNC6J.js +0 -4
  473. package/dist/shared/chunk-G5CJU6RD.js +0 -7
  474. package/dist/shared/chunk-GACHLACT.js +0 -4
  475. package/dist/shared/chunk-GLS7HPIZ.js +0 -4
  476. package/dist/shared/chunk-GOMXZC4B.js +0 -35
  477. package/dist/shared/chunk-GOMXZC4B.js.map +0 -1
  478. package/dist/shared/chunk-GPEMPZXK.js +0 -4
  479. package/dist/shared/chunk-HAGKVQOW.js +0 -4
  480. package/dist/shared/chunk-I3VL6SRH.js +0 -9
  481. package/dist/shared/chunk-IKC3FK7L.js +0 -4
  482. package/dist/shared/chunk-IKHZD2JH.js +0 -4
  483. package/dist/shared/chunk-IUXCWWGO.js +0 -4
  484. package/dist/shared/chunk-JMN3HTZU.js +0 -4
  485. package/dist/shared/chunk-KBHDY425.js +0 -4
  486. package/dist/shared/chunk-KFM6KXSE.js +0 -4
  487. package/dist/shared/chunk-KLD3P5XH.js +0 -4
  488. package/dist/shared/chunk-KO5FPOWZ.js +0 -4
  489. package/dist/shared/chunk-KSEURRVZ.js +0 -4
  490. package/dist/shared/chunk-KYY3PHP7.js +0 -4
  491. package/dist/shared/chunk-NJGXC7D6.js +0 -4
  492. package/dist/shared/chunk-NM5MMPCF.js +0 -4
  493. package/dist/shared/chunk-OGBMYMZD.js +0 -4
  494. package/dist/shared/chunk-OGBMYMZD.js.map +0 -1
  495. package/dist/shared/chunk-OHNYCXPX.js +0 -4
  496. package/dist/shared/chunk-OIY3EPHO.js +0 -4
  497. package/dist/shared/chunk-PIG623TZ.js +0 -4
  498. package/dist/shared/chunk-PIG623TZ.js.map +0 -1
  499. package/dist/shared/chunk-PLSV746R.js +0 -4
  500. package/dist/shared/chunk-PSCN3VVA.js +0 -4
  501. package/dist/shared/chunk-PSCN3VVA.js.map +0 -1
  502. package/dist/shared/chunk-PSTFJ5IJ.js +0 -4
  503. package/dist/shared/chunk-PXI7AHWS.js +0 -4
  504. package/dist/shared/chunk-Q4H4QEMB.js +0 -4
  505. package/dist/shared/chunk-QGYZ7CG5.js +0 -4
  506. package/dist/shared/chunk-QGYZ7CG5.js.map +0 -1
  507. package/dist/shared/chunk-QWGUMKZC.js +0 -4
  508. package/dist/shared/chunk-QX6OGRRT.js +0 -5
  509. package/dist/shared/chunk-R6ATC4TC.js +0 -4
  510. package/dist/shared/chunk-RDZK73KV.js +0 -4
  511. package/dist/shared/chunk-RJYZ5FAR.js +0 -4
  512. package/dist/shared/chunk-SQ5T4AT5.js +0 -6
  513. package/dist/shared/chunk-SWLUQVK7.js +0 -4
  514. package/dist/shared/chunk-SXHDQ64Z.js +0 -5
  515. package/dist/shared/chunk-SY6DZLTC.js +0 -4
  516. package/dist/shared/chunk-SY6DZLTC.js.map +0 -1
  517. package/dist/shared/chunk-VEDQV5XO.js +0 -4
  518. package/dist/shared/chunk-W33JMRRN.js +0 -4
  519. package/dist/shared/chunk-WBZW5LVH.js +0 -4
  520. package/dist/shared/chunk-WHTPGWUV.js +0 -4
  521. package/dist/shared/chunk-WYVJE6J5.js +0 -4
  522. package/dist/shared/chunk-ZA3GAB4H.js +0 -9
  523. package/dist/shared/chunk-ZFCUSWMT.js +0 -4
  524. package/dist/shared/chunk-ZQPXQCY2.js +0 -4
  525. package/dist/shared/chunk-ZTZJHY4E.js +0 -4
  526. package/src/shared/bricks/props/enum.ts +0 -38
  527. /package/dist/shared/bricks/{props/enum.js.map → manifests/table.manifest.js.map} +0 -0
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/shared/bricks/manifests/images-gallery.manifest.ts"],"sourcesContent":["import { Type } from \"@sinclair/typebox\";\nimport { IoGridOutline } from \"react-icons/io5\";\nimport { defineBrickManifest } from \"~/shared/brick-manifest\";\nimport { defineProps } from \"../props/helpers\";\nimport { imageRef } from \"../props/image\";\nimport { string } from \"../props/string\";\nimport type { BrickProps } from \"../props/types\";\nimport { colorPresetRef } from \"../props/color-preset\";\nimport { borderRef, roundingRef } from \"../props/border\";\nimport { loopRef } from \"../props/dynamic\";\nimport { cssLengthRef } from \"../props/css-length\";\n\nexport const manifest = defineBrickManifest({\n type: \"images-gallery\",\n name: \"Gallery\",\n category: \"media\",\n description: \"Displays an images collection.\",\n aiInstructions:\n \"This brick should mostly be used for image galleries. Prefer using card bricks for product showcases, articles lists with images, or other collections.\",\n consumesMultipleQueryRows: true,\n defaultInspectorTab: \"content\",\n isContainer: false,\n minHeight: {\n desktop: 200,\n },\n minWidth: {\n desktop: 300,\n },\n defaultWidth: {\n desktop: \"400px\",\n mobile: \"100%\",\n },\n icon: IoGridOutline,\n props: defineProps({\n colorPreset: Type.Optional(\n colorPresetRef({\n title: \"Color\",\n }),\n ),\n loop: Type.Optional(loopRef()),\n images: Type.Array(\n Type.Object({\n image: imageRef({\n \"ui:responsive\": \"desktop\",\n \"ui:no-alt-text\": true,\n \"ui:no-object-options\": true,\n \"ui:placeholder\": \"https://example.com/image.jpg\",\n }),\n legend: Type.Optional(string(\"Legend\")),\n }),\n {\n title: \"Images\",\n default: [],\n maxItems: 12,\n metadata: {\n category: \"content\",\n consumeQuery: true,\n },\n examples: [\n {\n image: { src: \"https://via.placeholder.com/300x200.png?text=Image+1\" },\n legend: \"Image 1\",\n },\n {\n image: { src: \"https://via.placeholder.com/300x200.png?text=Image+2\" },\n legend: \"Image 2\",\n },\n {\n image: { src: \"https://via.placeholder.com/300x200.png?text=Image+3\" },\n legend: \"Image 3\",\n },\n ],\n },\n ),\n columns: Type.Optional(\n Type.Number({\n title: \"Columns\",\n description:\n \"Number of columns. Only applies to desktop screens. On mobile, it will always display 1 column.\",\n minimum: 1,\n maximum: 6,\n default: 3,\n \"ui:field\": \"slider\",\n \"ui:responsive\": \"desktop\",\n }),\n ),\n gap: Type.Optional(\n cssLengthRef({\n title: \"Gap\",\n description: \"The gap between the images.\",\n default: \"1rem\",\n \"ui:styleId\": \"styles:gap\",\n }),\n ),\n padding: Type.Optional(\n cssLengthRef({\n default: \"3rem\",\n description: \"Padding inside the gallery.\",\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: Type.Optional(roundingRef()),\n border: Type.Optional(borderRef()),\n }),\n});\n\nexport type Manifest = typeof manifest;\n\nexport const examples: {\n description: string;\n type: string;\n props: BrickProps<Manifest>[\"brick\"][\"props\"];\n}[] = [\n {\n description: \"Product portfolio gallery (3-column grid)\",\n type: \"images-gallery\",\n props: {\n columns: 3,\n gap: \"2.5rem\",\n padding: \"p-4\",\n images: [\n {\n image: {\n src: \"https://via.placeholder.com/400x400.png?text=Product+1\",\n },\n legend: \"Premium wireless headphones\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/400x400.png?text=Product+2\",\n },\n legend: \"Bluetooth speaker\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/400x400.png?text=Product+3\",\n },\n legend: \"Smart fitness tracker\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/400x400.png?text=Product+4\",\n },\n legend: \"Wireless charging pad\",\n },\n ],\n },\n },\n {\n description: \"Team photos gallery (4-column grid), light neutral background\",\n type: \"images-gallery\",\n props: {\n columns: 4,\n gap: \"1rem\",\n padding: \"p-6\",\n images: [\n {\n image: {\n src: \"https://via.placeholder.com/300x300.png?text=CEO\",\n },\n legend: \"Sarah Johnson - Chief Executive Officer\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/300x300.png?text=CTO\",\n },\n legend: \"Mike Chen - Chief Technology Officer\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/300x300.png?text=Design\",\n },\n legend: \"Emily Rodriguez - Head of Design\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/300x300.png?text=Marketing\",\n },\n legend: \"David Park - Marketing Director\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/300x300.png?text=Sales\",\n },\n legend: \"Lisa Wong - Sales Manager\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/300x300.png?text=Support\",\n },\n legend: \"Alex Thompson - Customer Support Lead\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/300x300.png?text=Dev\",\n },\n legend: \"Carlos Martinez - Senior Developer\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/300x300.png?text=HR\",\n },\n legend: \"Jennifer Adams - HR Specialist\",\n },\n ],\n colorPreset: {\n color: \"neutral-100\",\n },\n },\n },\n {\n description: \"Project showcase (2-column grid with larger spacing)\",\n type: \"images-gallery\",\n props: {\n columns: 2,\n gap: \"1rem\",\n padding: \"p-6\",\n images: [\n {\n image: {\n src: \"https://via.placeholder.com/600x400.png?text=Website+Redesign\",\n },\n legend: \"Modern e-commerce website redesign project\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/600x400.png?text=Mobile+App\",\n },\n legend: \"iOS and Android mobile application\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/600x400.png?text=Brand+Identity\",\n },\n legend: \"Complete brand identity design package\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/600x400.png?text=Dashboard+UI\",\n },\n legend: \"Analytics dashboard user interface\",\n },\n ],\n },\n },\n {\n description: \"Event photos gallery with tight spacing and minimal padding\",\n type: \"images-gallery\",\n props: {\n columns: 4,\n gap: \"1rem\",\n padding: \"p-6\",\n images: [\n {\n image: {\n src: \"https://via.placeholder.com/250x180.png?text=Opening\",\n },\n legend: \"Conference opening ceremony\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/250x180.png?text=Keynote\",\n },\n legend: \"Keynote presentation\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/250x180.png?text=Workshop\",\n },\n legend: \"Technical workshop session\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/250x180.png?text=Networking\",\n },\n legend: \"Networking lunch break\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/250x180.png?text=Panel\",\n },\n legend: \"Expert panel discussion\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/250x180.png?text=Awards\",\n },\n legend: \"Awards ceremony\",\n },\n ],\n },\n },\n {\n description: \"Photography portfolio with single column layout and primary background\",\n type: \"images-gallery\",\n props: {\n columns: 1,\n gap: \"3rem\",\n padding: \"4rem\",\n colorPreset: {\n color: \"primary-50\",\n },\n rounding: \"rounded-lg\",\n images: [\n {\n image: {\n src: \"https://via.placeholder.com/800x600.png?text=Landscape+1\",\n },\n legend: \"Mountain sunrise landscape photography\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/800x600.png?text=Portrait+1\",\n },\n legend: \"Professional business portrait session\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/800x600.png?text=Architecture+1\",\n },\n legend: \"Modern architectural photography\",\n },\n ],\n },\n },\n {\n description: \"Real estate property gallery with secondary colors and borders\",\n type: \"images-gallery\",\n props: {\n columns: 3,\n gap: \"1.5rem\",\n padding: \"2rem\",\n colorPreset: {\n color: \"secondary-100\",\n },\n border: {\n width: \"border\",\n color: \"border-secondary-300\",\n },\n rounding: \"rounded-xl\",\n images: [\n {\n image: {\n src: \"https://via.placeholder.com/400x300.png?text=Living+Room\",\n },\n legend: \"Spacious living room with natural light\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/400x300.png?text=Kitchen\",\n },\n legend: \"Modern kitchen with granite countertops\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/400x300.png?text=Master+Bedroom\",\n },\n legend: \"Master bedroom with walk-in closet\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/400x300.png?text=Bathroom\",\n },\n legend: \"Luxury bathroom with marble finishes\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/400x300.png?text=Backyard\",\n },\n legend: \"Private backyard with pool\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/400x300.png?text=Garage\",\n },\n legend: \"Two-car garage with storage\",\n },\n ],\n },\n },\n {\n description: \"Restaurant food gallery with 5-column grid and accent colors\",\n type: \"images-gallery\",\n props: {\n columns: 5,\n gap: \"0.75rem\",\n padding: \"1.5rem\",\n colorPreset: {\n color: \"accent-200\",\n },\n rounding: \"rounded-md\",\n images: [\n {\n image: {\n src: \"https://via.placeholder.com/300x300.png?text=Appetizer\",\n },\n legend: \"Bruschetta with fresh tomatoes\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/300x300.png?text=Soup\",\n },\n legend: \"Creamy mushroom bisque\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/300x300.png?text=Salad\",\n },\n legend: \"Mediterranean quinoa salad\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/300x300.png?text=Main+Course\",\n },\n legend: \"Grilled salmon with herbs\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/300x300.png?text=Dessert\",\n },\n legend: \"Chocolate lava cake\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/300x300.png?text=Beverage\",\n },\n legend: \"Artisan coffee selection\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/300x300.png?text=Pasta\",\n },\n legend: \"Homemade fettuccine alfredo\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/300x300.png?text=Pizza\",\n },\n legend: \"Wood-fired margherita pizza\",\n },\n ],\n },\n },\n {\n description: \"Art gallery exhibition with 6-column grid and minimal styling\",\n type: \"images-gallery\",\n props: {\n columns: 6,\n gap: \"0.5rem\",\n padding: \"1rem\",\n images: [\n {\n image: {\n src: \"https://via.placeholder.com/200x250.png?text=Abstract+1\",\n },\n legend: \"Abstract composition #1\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/200x250.png?text=Portrait+Art\",\n },\n legend: \"Contemporary portrait\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/200x250.png?text=Landscape+Art\",\n },\n legend: \"Impressionist landscape\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/200x250.png?text=Still+Life\",\n },\n legend: \"Modern still life\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/200x250.png?text=Sculpture\",\n },\n legend: \"Bronze sculpture piece\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/200x250.png?text=Digital+Art\",\n },\n legend: \"Digital artwork collection\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/200x250.png?text=Mixed+Media\",\n },\n legend: \"Mixed media installation\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/200x250.png?text=Photography\",\n },\n legend: \"Fine art photography\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/200x250.png?text=Watercolor\",\n },\n legend: \"Watercolor painting\",\n },\n ],\n },\n },\n {\n description: \"Fashion lookbook with 2-column layout and neutral dark theme\",\n type: \"images-gallery\",\n props: {\n columns: 2,\n gap: \"2rem\",\n padding: \"3rem\",\n colorPreset: {\n color: \"neutral-800\",\n },\n border: {\n width: \"border-2\",\n color: \"border-neutral-600\",\n },\n rounding: \"rounded-2xl\",\n images: [\n {\n image: {\n src: \"https://via.placeholder.com/400x600.png?text=Spring+Look\",\n },\n legend: \"Spring casual collection 2024\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/400x600.png?text=Summer+Look\",\n },\n legend: \"Summer evening wear\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/400x600.png?text=Business+Look\",\n },\n legend: \"Professional business attire\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/400x600.png?text=Weekend+Look\",\n },\n legend: \"Weekend comfort style\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/400x600.png?text=Formal+Look\",\n },\n legend: \"Formal evening collection\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/400x600.png?text=Street+Style\",\n },\n legend: \"Urban street fashion\",\n },\n ],\n },\n },\n {\n description: \"Travel destinations gallery with 3-column grid and no legends\",\n type: \"images-gallery\",\n props: {\n columns: 3,\n gap: \"1.25rem\",\n padding: \"2.5rem\",\n colorPreset: {\n color: \"primary-100\",\n },\n rounding: \"rounded-lg\",\n border: {\n width: \"border\",\n color: \"border-primary-200\",\n },\n images: [\n {\n image: {\n src: \"https://via.placeholder.com/350x250.png?text=Paris\",\n },\n },\n {\n image: {\n src: \"https://via.placeholder.com/350x250.png?text=Tokyo\",\n },\n },\n {\n image: {\n src: \"https://via.placeholder.com/350x250.png?text=New+York\",\n },\n },\n {\n image: {\n src: \"https://via.placeholder.com/350x250.png?text=London\",\n },\n },\n {\n image: {\n src: \"https://via.placeholder.com/350x250.png?text=Rome\",\n },\n },\n {\n image: {\n src: \"https://via.placeholder.com/350x250.png?text=Barcelona\",\n },\n },\n ],\n },\n },\n {\n description: \"Technical equipment gallery with 4-column grid and accent styling\",\n type: \"images-gallery\",\n props: {\n columns: 4,\n gap: \"1rem\",\n padding: \"2rem\",\n colorPreset: {\n color: \"accent-100\",\n },\n border: {\n width: \"border-4\",\n color: \"border-accent-400\",\n },\n rounding: \"rounded-xl\",\n images: [\n {\n image: {\n src: \"https://via.placeholder.com/300x300.png?text=Camera\",\n },\n legend: \"Professional DSLR camera\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/300x300.png?text=Laptop\",\n },\n legend: \"High-performance laptop\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/300x300.png?text=Microphone\",\n },\n legend: \"Studio recording microphone\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/300x300.png?text=Monitor\",\n },\n legend: \"4K professional monitor\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/300x300.png?text=Tablet\",\n },\n legend: \"Digital drawing tablet\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/300x300.png?text=Speakers\",\n },\n legend: \"Studio monitor speakers\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/300x300.png?text=Keyboard\",\n },\n legend: \"Mechanical keyboard\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/300x300.png?text=Mouse\",\n },\n legend: \"Precision gaming mouse\",\n },\n ],\n },\n },\n {\n description: \"Minimal product showcase with large gaps and no padding\",\n type: \"images-gallery\",\n props: {\n columns: 3,\n gap: \"4rem\",\n padding: \"0rem\",\n images: [\n {\n image: {\n src: \"https://via.placeholder.com/400x400.png?text=Watch\",\n },\n legend: \"Luxury Swiss timepiece\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/400x400.png?text=Jewelry\",\n },\n legend: \"Handcrafted gold necklace\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/400x400.png?text=Sunglasses\",\n },\n legend: \"Designer sunglasses collection\",\n },\n ],\n },\n },\n {\n description: \"Dynamic product gallery using products query with loop\",\n type: \"images-gallery\",\n props: {\n columns: 4,\n gap: \"1.5rem\",\n padding: \"2rem\",\n colorPreset: {\n color: \"primary-50\",\n },\n rounding: \"rounded-lg\",\n border: {\n width: \"border\",\n color: \"border-primary-200\",\n },\n images: [\n {\n image: {\n src: \"{{products.image}}\",\n },\n legend: \"{{products.name}} - ${{products.price}}\",\n },\n ],\n loop: {\n over: \"products\",\n },\n },\n },\n {\n description: \"Portfolio showcase using portfolioProjects query with loop\",\n type: \"images-gallery\",\n props: {\n columns: 3,\n gap: \"2rem\",\n padding: \"3rem\",\n colorPreset: {\n color: \"secondary-100\",\n },\n rounding: \"rounded-xl\",\n images: [\n {\n image: {\n src: \"{{portfolioProjects.thumbnail}}\",\n },\n legend:\n \"{{portfolioProjects.projectName}} - {{portfolioProjects.clientName}} ({{portfolioProjects.year}})\",\n },\n ],\n loop: {\n over: \"portfolioProjects\",\n },\n },\n },\n {\n description: \"Event photo gallery using eventPhotos query with loop\",\n type: \"images-gallery\",\n props: {\n columns: 5,\n gap: \"1rem\",\n padding: \"1.5rem\",\n colorPreset: {\n color: \"accent-50\",\n },\n border: {\n width: \"border-2\",\n color: \"border-accent-300\",\n },\n rounding: \"rounded-md\",\n images: [\n {\n image: {\n src: \"{{eventPhotos.imageUrl}}\",\n },\n legend: \"{{eventPhotos.caption}} - {{eventPhotos.eventDate}}\",\n },\n ],\n loop: {\n over: \"eventPhotos\",\n },\n },\n },\n {\n description: \"Team member gallery using teamMembers query with loop\",\n type: \"images-gallery\",\n props: {\n columns: 6,\n gap: \"0.75rem\",\n padding: \"2.5rem\",\n colorPreset: {\n color: \"neutral-100\",\n },\n rounding: \"rounded-lg\",\n border: {\n width: \"border\",\n color: \"border-neutral-300\",\n },\n images: [\n {\n image: {\n src: \"{{teamMembers.profilePhoto}}\",\n },\n legend: \"{{teamMembers.fullName}} - {{teamMembers.position}}\",\n },\n ],\n loop: {\n over: \"teamMembers\",\n },\n },\n },\n];\n"],"mappings":";;kUAAA,OAAS,QAAAA,MAAY,oBACrB,OAAS,iBAAAC,MAAqB,kBAWvB,IAAMC,EAAWC,EAAoB,CAC1C,KAAM,iBACN,KAAM,UACN,SAAU,QACV,YAAa,iCACb,eACE,0JACF,0BAA2B,GAC3B,oBAAqB,UACrB,YAAa,GACb,UAAW,CACT,QAAS,GACX,EACA,SAAU,CACR,QAAS,GACX,EACA,aAAc,CACZ,QAAS,QACT,OAAQ,MACV,EACA,KAAMC,EACN,MAAOC,EAAY,CACjB,YAAaC,EAAK,SAChBC,EAAe,CACb,MAAO,OACT,CAAC,CACH,EACA,KAAMD,EAAK,SAASE,EAAQ,CAAC,EAC7B,OAAQF,EAAK,MACXA,EAAK,OAAO,CACV,MAAOG,EAAS,CACd,gBAAiB,UACjB,iBAAkB,GAClB,uBAAwB,GACxB,iBAAkB,+BACpB,CAAC,EACD,OAAQH,EAAK,SAASI,EAAO,QAAQ,CAAC,CACxC,CAAC,EACD,CACE,MAAO,SACP,QAAS,CAAC,EACV,SAAU,GACV,SAAU,CACR,SAAU,UACV,aAAc,EAChB,EACA,SAAU,CACR,CACE,MAAO,CAAE,IAAK,sDAAuD,EACrE,OAAQ,SACV,EACA,CACE,MAAO,CAAE,IAAK,sDAAuD,EACrE,OAAQ,SACV,EACA,CACE,MAAO,CAAE,IAAK,sDAAuD,EACrE,OAAQ,SACV,CACF,CACF,CACF,EACA,QAASJ,EAAK,SACZA,EAAK,OAAO,CACV,MAAO,UACP,YACE,kGACF,QAAS,EACT,QAAS,EACT,QAAS,EACT,WAAY,SACZ,gBAAiB,SACnB,CAAC,CACH,EACA,IAAKA,EAAK,SACRK,EAAa,CACX,MAAO,MACP,YAAa,8BACb,QAAS,OACT,aAAc,YAChB,CAAC,CACH,EACA,QAASL,EAAK,SACZK,EAAa,CACX,QAAS,OACT,YAAa,8BACb,kBAAmB,gDACnB,MAAO,UACP,gBAAiB,GACjB,iBAAkB,gBAClB,aAAc,gBAChB,CAAC,CACH,EACA,SAAUL,EAAK,SAASM,EAAY,CAAC,EACrC,OAAQN,EAAK,SAASO,EAAU,CAAC,CACnC,CAAC,CACH,CAAC,EAIYC,EAIP,CACJ,CACE,YAAa,4CACb,KAAM,iBACN,MAAO,CACL,QAAS,EACT,IAAK,SACL,QAAS,MACT,OAAQ,CACN,CACE,MAAO,CACL,IAAK,wDACP,EACA,OAAQ,6BACV,EACA,CACE,MAAO,CACL,IAAK,wDACP,EACA,OAAQ,mBACV,EACA,CACE,MAAO,CACL,IAAK,wDACP,EACA,OAAQ,uBACV,EACA,CACE,MAAO,CACL,IAAK,wDACP,EACA,OAAQ,uBACV,CACF,CACF,CACF,EACA,CACE,YAAa,gEACb,KAAM,iBACN,MAAO,CACL,QAAS,EACT,IAAK,OACL,QAAS,MACT,OAAQ,CACN,CACE,MAAO,CACL,IAAK,kDACP,EACA,OAAQ,yCACV,EACA,CACE,MAAO,CACL,IAAK,kDACP,EACA,OAAQ,sCACV,EACA,CACE,MAAO,CACL,IAAK,qDACP,EACA,OAAQ,kCACV,EACA,CACE,MAAO,CACL,IAAK,wDACP,EACA,OAAQ,iCACV,EACA,CACE,MAAO,CACL,IAAK,oDACP,EACA,OAAQ,2BACV,EACA,CACE,MAAO,CACL,IAAK,sDACP,EACA,OAAQ,uCACV,EACA,CACE,MAAO,CACL,IAAK,kDACP,EACA,OAAQ,oCACV,EACA,CACE,MAAO,CACL,IAAK,iDACP,EACA,OAAQ,gCACV,CACF,EACA,YAAa,CACX,MAAO,aACT,CACF,CACF,EACA,CACE,YAAa,uDACb,KAAM,iBACN,MAAO,CACL,QAAS,EACT,IAAK,OACL,QAAS,MACT,OAAQ,CACN,CACE,MAAO,CACL,IAAK,+DACP,EACA,OAAQ,4CACV,EACA,CACE,MAAO,CACL,IAAK,yDACP,EACA,OAAQ,oCACV,EACA,CACE,MAAO,CACL,IAAK,6DACP,EACA,OAAQ,wCACV,EACA,CACE,MAAO,CACL,IAAK,2DACP,EACA,OAAQ,oCACV,CACF,CACF,CACF,EACA,CACE,YAAa,8DACb,KAAM,iBACN,MAAO,CACL,QAAS,EACT,IAAK,OACL,QAAS,MACT,OAAQ,CACN,CACE,MAAO,CACL,IAAK,sDACP,EACA,OAAQ,6BACV,EACA,CACE,MAAO,CACL,IAAK,sDACP,EACA,OAAQ,sBACV,EACA,CACE,MAAO,CACL,IAAK,uDACP,EACA,OAAQ,4BACV,EACA,CACE,MAAO,CACL,IAAK,yDACP,EACA,OAAQ,wBACV,EACA,CACE,MAAO,CACL,IAAK,oDACP,EACA,OAAQ,yBACV,EACA,CACE,MAAO,CACL,IAAK,qDACP,EACA,OAAQ,iBACV,CACF,CACF,CACF,EACA,CACE,YAAa,yEACb,KAAM,iBACN,MAAO,CACL,QAAS,EACT,IAAK,OACL,QAAS,OACT,YAAa,CACX,MAAO,YACT,EACA,SAAU,aACV,OAAQ,CACN,CACE,MAAO,CACL,IAAK,0DACP,EACA,OAAQ,wCACV,EACA,CACE,MAAO,CACL,IAAK,yDACP,EACA,OAAQ,wCACV,EACA,CACE,MAAO,CACL,IAAK,6DACP,EACA,OAAQ,kCACV,CACF,CACF,CACF,EACA,CACE,YAAa,iEACb,KAAM,iBACN,MAAO,CACL,QAAS,EACT,IAAK,SACL,QAAS,OACT,YAAa,CACX,MAAO,eACT,EACA,OAAQ,CACN,MAAO,SACP,MAAO,sBACT,EACA,SAAU,aACV,OAAQ,CACN,CACE,MAAO,CACL,IAAK,0DACP,EACA,OAAQ,yCACV,EACA,CACE,MAAO,CACL,IAAK,sDACP,EACA,OAAQ,yCACV,EACA,CACE,MAAO,CACL,IAAK,6DACP,EACA,OAAQ,oCACV,EACA,CACE,MAAO,CACL,IAAK,uDACP,EACA,OAAQ,sCACV,EACA,CACE,MAAO,CACL,IAAK,uDACP,EACA,OAAQ,4BACV,EACA,CACE,MAAO,CACL,IAAK,qDACP,EACA,OAAQ,6BACV,CACF,CACF,CACF,EACA,CACE,YAAa,+DACb,KAAM,iBACN,MAAO,CACL,QAAS,EACT,IAAK,UACL,QAAS,SACT,YAAa,CACX,MAAO,YACT,EACA,SAAU,aACV,OAAQ,CACN,CACE,MAAO,CACL,IAAK,wDACP,EACA,OAAQ,gCACV,EACA,CACE,MAAO,CACL,IAAK,mDACP,EACA,OAAQ,wBACV,EACA,CACE,MAAO,CACL,IAAK,oDACP,EACA,OAAQ,4BACV,EACA,CACE,MAAO,CACL,IAAK,0DACP,EACA,OAAQ,2BACV,EACA,CACE,MAAO,CACL,IAAK,sDACP,EACA,OAAQ,qBACV,EACA,CACE,MAAO,CACL,IAAK,uDACP,EACA,OAAQ,0BACV,EACA,CACE,MAAO,CACL,IAAK,oDACP,EACA,OAAQ,6BACV,EACA,CACE,MAAO,CACL,IAAK,oDACP,EACA,OAAQ,6BACV,CACF,CACF,CACF,EACA,CACE,YAAa,gEACb,KAAM,iBACN,MAAO,CACL,QAAS,EACT,IAAK,SACL,QAAS,OACT,OAAQ,CACN,CACE,MAAO,CACL,IAAK,yDACP,EACA,OAAQ,yBACV,EACA,CACE,MAAO,CACL,IAAK,2DACP,EACA,OAAQ,uBACV,EACA,CACE,MAAO,CACL,IAAK,4DACP,EACA,OAAQ,yBACV,EACA,CACE,MAAO,CACL,IAAK,yDACP,EACA,OAAQ,mBACV,EACA,CACE,MAAO,CACL,IAAK,wDACP,EACA,OAAQ,wBACV,EACA,CACE,MAAO,CACL,IAAK,0DACP,EACA,OAAQ,4BACV,EACA,CACE,MAAO,CACL,IAAK,0DACP,EACA,OAAQ,0BACV,EACA,CACE,MAAO,CACL,IAAK,0DACP,EACA,OAAQ,sBACV,EACA,CACE,MAAO,CACL,IAAK,yDACP,EACA,OAAQ,qBACV,CACF,CACF,CACF,EACA,CACE,YAAa,+DACb,KAAM,iBACN,MAAO,CACL,QAAS,EACT,IAAK,OACL,QAAS,OACT,YAAa,CACX,MAAO,aACT,EACA,OAAQ,CACN,MAAO,WACP,MAAO,oBACT,EACA,SAAU,cACV,OAAQ,CACN,CACE,MAAO,CACL,IAAK,0DACP,EACA,OAAQ,+BACV,EACA,CACE,MAAO,CACL,IAAK,0DACP,EACA,OAAQ,qBACV,EACA,CACE,MAAO,CACL,IAAK,4DACP,EACA,OAAQ,8BACV,EACA,CACE,MAAO,CACL,IAAK,2DACP,EACA,OAAQ,uBACV,EACA,CACE,MAAO,CACL,IAAK,0DACP,EACA,OAAQ,2BACV,EACA,CACE,MAAO,CACL,IAAK,2DACP,EACA,OAAQ,sBACV,CACF,CACF,CACF,EACA,CACE,YAAa,gEACb,KAAM,iBACN,MAAO,CACL,QAAS,EACT,IAAK,UACL,QAAS,SACT,YAAa,CACX,MAAO,aACT,EACA,SAAU,aACV,OAAQ,CACN,MAAO,SACP,MAAO,oBACT,EACA,OAAQ,CACN,CACE,MAAO,CACL,IAAK,oDACP,CACF,EACA,CACE,MAAO,CACL,IAAK,oDACP,CACF,EACA,CACE,MAAO,CACL,IAAK,uDACP,CACF,EACA,CACE,MAAO,CACL,IAAK,qDACP,CACF,EACA,CACE,MAAO,CACL,IAAK,mDACP,CACF,EACA,CACE,MAAO,CACL,IAAK,wDACP,CACF,CACF,CACF,CACF,EACA,CACE,YAAa,oEACb,KAAM,iBACN,MAAO,CACL,QAAS,EACT,IAAK,OACL,QAAS,OACT,YAAa,CACX,MAAO,YACT,EACA,OAAQ,CACN,MAAO,WACP,MAAO,mBACT,EACA,SAAU,aACV,OAAQ,CACN,CACE,MAAO,CACL,IAAK,qDACP,EACA,OAAQ,0BACV,EACA,CACE,MAAO,CACL,IAAK,qDACP,EACA,OAAQ,yBACV,EACA,CACE,MAAO,CACL,IAAK,yDACP,EACA,OAAQ,6BACV,EACA,CACE,MAAO,CACL,IAAK,sDACP,EACA,OAAQ,yBACV,EACA,CACE,MAAO,CACL,IAAK,qDACP,EACA,OAAQ,wBACV,EACA,CACE,MAAO,CACL,IAAK,uDACP,EACA,OAAQ,yBACV,EACA,CACE,MAAO,CACL,IAAK,uDACP,EACA,OAAQ,qBACV,EACA,CACE,MAAO,CACL,IAAK,oDACP,EACA,OAAQ,wBACV,CACF,CACF,CACF,EACA,CACE,YAAa,0DACb,KAAM,iBACN,MAAO,CACL,QAAS,EACT,IAAK,OACL,QAAS,OACT,OAAQ,CACN,CACE,MAAO,CACL,IAAK,oDACP,EACA,OAAQ,wBACV,EACA,CACE,MAAO,CACL,IAAK,sDACP,EACA,OAAQ,2BACV,EACA,CACE,MAAO,CACL,IAAK,yDACP,EACA,OAAQ,gCACV,CACF,CACF,CACF,EACA,CACE,YAAa,yDACb,KAAM,iBACN,MAAO,CACL,QAAS,EACT,IAAK,SACL,QAAS,OACT,YAAa,CACX,MAAO,YACT,EACA,SAAU,aACV,OAAQ,CACN,MAAO,SACP,MAAO,oBACT,EACA,OAAQ,CACN,CACE,MAAO,CACL,IAAK,oBACP,EACA,OAAQ,yCACV,CACF,EACA,KAAM,CACJ,KAAM,UACR,CACF,CACF,EACA,CACE,YAAa,6DACb,KAAM,iBACN,MAAO,CACL,QAAS,EACT,IAAK,OACL,QAAS,OACT,YAAa,CACX,MAAO,eACT,EACA,SAAU,aACV,OAAQ,CACN,CACE,MAAO,CACL,IAAK,iCACP,EACA,OACE,mGACJ,CACF,EACA,KAAM,CACJ,KAAM,mBACR,CACF,CACF,EACA,CACE,YAAa,wDACb,KAAM,iBACN,MAAO,CACL,QAAS,EACT,IAAK,OACL,QAAS,SACT,YAAa,CACX,MAAO,WACT,EACA,OAAQ,CACN,MAAO,WACP,MAAO,mBACT,EACA,SAAU,aACV,OAAQ,CACN,CACE,MAAO,CACL,IAAK,0BACP,EACA,OAAQ,qDACV,CACF,EACA,KAAM,CACJ,KAAM,aACR,CACF,CACF,EACA,CACE,YAAa,wDACb,KAAM,iBACN,MAAO,CACL,QAAS,EACT,IAAK,UACL,QAAS,SACT,YAAa,CACX,MAAO,aACT,EACA,SAAU,aACV,OAAQ,CACN,MAAO,SACP,MAAO,oBACT,EACA,OAAQ,CACN,CACE,MAAO,CACL,IAAK,8BACP,EACA,OAAQ,qDACV,CACF,EACA,KAAM,CACJ,KAAM,aACR,CACF,CACF,CACF","names":["Type","IoGridOutline","manifest","defineBrickManifest","IoGridOutline","defineProps","Type","colorPresetRef","loopRef","imageRef","string","cssLengthRef","roundingRef","borderRef","examples"]}
1
+ {"version":3,"sources":["../../src/shared/bricks/manifests/images-gallery.manifest.ts"],"sourcesContent":["import { Type } from \"@sinclair/typebox\";\nimport { IoGridOutline } from \"react-icons/io5\";\nimport { defineBrickManifest } from \"~/shared/brick-manifest\";\nimport { defineProps } from \"../props/helpers\";\nimport { imageRef } from \"../props/image\";\nimport { string } from \"../props/string\";\nimport type { BrickProps } from \"../props/types\";\nimport { colorPresetRef } from \"../props/color-preset\";\nimport { borderRef, roundingRef } from \"../props/border\";\nimport { loopRef } from \"../props/dynamic\";\nimport { cssLengthRef } from \"../props/css-length\";\n\nexport const manifest = defineBrickManifest({\n type: \"images-gallery\",\n name: \"Gallery\",\n category: \"media\",\n description: \"Displays an images collection.\",\n aiInstructions:\n \"This brick should mostly be used for image galleries. Prefer using card bricks for product showcases, articles lists with images, or other collections.\",\n consumesMultipleQueryRows: true,\n defaultInspectorTab: \"content\",\n isContainer: false,\n minHeight: {\n desktop: 200,\n },\n minWidth: {\n desktop: 300,\n },\n defaultWidth: {\n desktop: \"400px\",\n mobile: \"100%\",\n },\n icon: IoGridOutline,\n props: defineProps({\n colorPreset: Type.Optional(\n colorPresetRef({\n title: \"Color\",\n }),\n ),\n loop: Type.Optional(loopRef()),\n images: Type.Array(\n Type.Object({\n image: imageRef({\n \"ui:responsive\": \"desktop\",\n \"ui:no-alt-text\": true,\n \"ui:no-object-options\": true,\n \"ui:placeholder\": \"https://example.com/image.jpg\",\n }),\n legend: Type.Optional(string(\"Legend\")),\n }),\n {\n title: \"Images\",\n default: [],\n maxItems: 12,\n metadata: {\n category: \"content\",\n consumeQuery: true,\n },\n examples: [\n {\n image: { src: \"https://via.placeholder.com/300x200.png?text=Image+1\" },\n legend: \"Image 1\",\n },\n {\n image: { src: \"https://via.placeholder.com/300x200.png?text=Image+2\" },\n legend: \"Image 2\",\n },\n {\n image: { src: \"https://via.placeholder.com/300x200.png?text=Image+3\" },\n legend: \"Image 3\",\n },\n ],\n },\n ),\n columns: Type.Optional(\n Type.Number({\n title: \"Columns\",\n description:\n \"Number of columns. Only applies to desktop screens. On mobile, it will always display 1 column.\",\n minimum: 1,\n maximum: 6,\n default: 3,\n \"ui:field\": \"slider\",\n \"ui:responsive\": \"desktop\",\n }),\n ),\n gap: Type.Optional(\n cssLengthRef({\n title: \"Gap\",\n description: \"The gap between the images.\",\n default: \"1rem\",\n \"ui:styleId\": \"styles:gap\",\n }),\n ),\n padding: Type.Optional(\n cssLengthRef({\n default: \"3rem\",\n description: \"Padding inside the gallery.\",\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: Type.Optional(roundingRef()),\n border: Type.Optional(borderRef()),\n }),\n});\n\nexport type Manifest = typeof manifest;\n\nexport const examples: {\n description: string;\n type: string;\n props: BrickProps<Manifest>[\"brick\"][\"props\"];\n}[] = [\n {\n description: \"Product portfolio gallery (3-column grid)\",\n type: \"images-gallery\",\n props: {\n columns: 3,\n gap: \"2.5rem\",\n padding: \"p-4\",\n images: [\n {\n image: {\n src: \"https://via.placeholder.com/400x400.png?text=Product+1\",\n },\n legend: \"Premium wireless headphones\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/400x400.png?text=Product+2\",\n },\n legend: \"Bluetooth speaker\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/400x400.png?text=Product+3\",\n },\n legend: \"Smart fitness tracker\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/400x400.png?text=Product+4\",\n },\n legend: \"Wireless charging pad\",\n },\n ],\n },\n },\n {\n description: \"Team photos gallery (4-column grid), light neutral background\",\n type: \"images-gallery\",\n props: {\n columns: 4,\n gap: \"1rem\",\n padding: \"p-6\",\n images: [\n {\n image: {\n src: \"https://via.placeholder.com/300x300.png?text=CEO\",\n },\n legend: \"Sarah Johnson - Chief Executive Officer\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/300x300.png?text=CTO\",\n },\n legend: \"Mike Chen - Chief Technology Officer\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/300x300.png?text=Design\",\n },\n legend: \"Emily Rodriguez - Head of Design\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/300x300.png?text=Marketing\",\n },\n legend: \"David Park - Marketing Director\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/300x300.png?text=Sales\",\n },\n legend: \"Lisa Wong - Sales Manager\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/300x300.png?text=Support\",\n },\n legend: \"Alex Thompson - Customer Support Lead\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/300x300.png?text=Dev\",\n },\n legend: \"Carlos Martinez - Senior Developer\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/300x300.png?text=HR\",\n },\n legend: \"Jennifer Adams - HR Specialist\",\n },\n ],\n colorPreset: {\n color: \"neutral-100\",\n },\n },\n },\n {\n description: \"Project showcase (2-column grid with larger spacing)\",\n type: \"images-gallery\",\n props: {\n columns: 2,\n gap: \"1rem\",\n padding: \"p-6\",\n images: [\n {\n image: {\n src: \"https://via.placeholder.com/600x400.png?text=Website+Redesign\",\n },\n legend: \"Modern e-commerce website redesign project\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/600x400.png?text=Mobile+App\",\n },\n legend: \"iOS and Android mobile application\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/600x400.png?text=Brand+Identity\",\n },\n legend: \"Complete brand identity design package\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/600x400.png?text=Dashboard+UI\",\n },\n legend: \"Analytics dashboard user interface\",\n },\n ],\n },\n },\n {\n description: \"Event photos gallery with tight spacing and minimal padding\",\n type: \"images-gallery\",\n props: {\n columns: 4,\n gap: \"1rem\",\n padding: \"p-6\",\n images: [\n {\n image: {\n src: \"https://via.placeholder.com/250x180.png?text=Opening\",\n },\n legend: \"Conference opening ceremony\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/250x180.png?text=Keynote\",\n },\n legend: \"Keynote presentation\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/250x180.png?text=Workshop\",\n },\n legend: \"Technical workshop session\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/250x180.png?text=Networking\",\n },\n legend: \"Networking lunch break\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/250x180.png?text=Panel\",\n },\n legend: \"Expert panel discussion\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/250x180.png?text=Awards\",\n },\n legend: \"Awards ceremony\",\n },\n ],\n },\n },\n {\n description: \"Photography portfolio with single column layout and primary background\",\n type: \"images-gallery\",\n props: {\n columns: 1,\n gap: \"3rem\",\n padding: \"4rem\",\n colorPreset: {\n color: \"primary-50\",\n },\n rounding: \"rounded-lg\",\n images: [\n {\n image: {\n src: \"https://via.placeholder.com/800x600.png?text=Landscape+1\",\n },\n legend: \"Mountain sunrise landscape photography\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/800x600.png?text=Portrait+1\",\n },\n legend: \"Professional business portrait session\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/800x600.png?text=Architecture+1\",\n },\n legend: \"Modern architectural photography\",\n },\n ],\n },\n },\n {\n description: \"Real estate property gallery with secondary colors and borders\",\n type: \"images-gallery\",\n props: {\n columns: 3,\n gap: \"1.5rem\",\n padding: \"2rem\",\n colorPreset: {\n color: \"secondary-100\",\n },\n border: {\n width: \"border\",\n color: \"border-secondary-300\",\n },\n rounding: \"rounded-xl\",\n images: [\n {\n image: {\n src: \"https://via.placeholder.com/400x300.png?text=Living+Room\",\n },\n legend: \"Spacious living room with natural light\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/400x300.png?text=Kitchen\",\n },\n legend: \"Modern kitchen with granite countertops\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/400x300.png?text=Master+Bedroom\",\n },\n legend: \"Master bedroom with walk-in closet\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/400x300.png?text=Bathroom\",\n },\n legend: \"Luxury bathroom with marble finishes\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/400x300.png?text=Backyard\",\n },\n legend: \"Private backyard with pool\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/400x300.png?text=Garage\",\n },\n legend: \"Two-car garage with storage\",\n },\n ],\n },\n },\n {\n description: \"Restaurant food gallery with 5-column grid and accent colors\",\n type: \"images-gallery\",\n props: {\n columns: 5,\n gap: \"0.75rem\",\n padding: \"1.5rem\",\n colorPreset: {\n color: \"accent-200\",\n },\n rounding: \"rounded-md\",\n images: [\n {\n image: {\n src: \"https://via.placeholder.com/300x300.png?text=Appetizer\",\n },\n legend: \"Bruschetta with fresh tomatoes\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/300x300.png?text=Soup\",\n },\n legend: \"Creamy mushroom bisque\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/300x300.png?text=Salad\",\n },\n legend: \"Mediterranean quinoa salad\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/300x300.png?text=Main+Course\",\n },\n legend: \"Grilled salmon with herbs\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/300x300.png?text=Dessert\",\n },\n legend: \"Chocolate lava cake\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/300x300.png?text=Beverage\",\n },\n legend: \"Artisan coffee selection\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/300x300.png?text=Pasta\",\n },\n legend: \"Homemade fettuccine alfredo\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/300x300.png?text=Pizza\",\n },\n legend: \"Wood-fired margherita pizza\",\n },\n ],\n },\n },\n {\n description: \"Art gallery exhibition with 6-column grid and minimal styling\",\n type: \"images-gallery\",\n props: {\n columns: 6,\n gap: \"0.5rem\",\n padding: \"1rem\",\n images: [\n {\n image: {\n src: \"https://via.placeholder.com/200x250.png?text=Abstract+1\",\n },\n legend: \"Abstract composition #1\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/200x250.png?text=Portrait+Art\",\n },\n legend: \"Contemporary portrait\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/200x250.png?text=Landscape+Art\",\n },\n legend: \"Impressionist landscape\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/200x250.png?text=Still+Life\",\n },\n legend: \"Modern still life\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/200x250.png?text=Sculpture\",\n },\n legend: \"Bronze sculpture piece\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/200x250.png?text=Digital+Art\",\n },\n legend: \"Digital artwork collection\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/200x250.png?text=Mixed+Media\",\n },\n legend: \"Mixed media installation\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/200x250.png?text=Photography\",\n },\n legend: \"Fine art photography\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/200x250.png?text=Watercolor\",\n },\n legend: \"Watercolor painting\",\n },\n ],\n },\n },\n {\n description: \"Fashion lookbook with 2-column layout and neutral dark theme\",\n type: \"images-gallery\",\n props: {\n columns: 2,\n gap: \"2rem\",\n padding: \"3rem\",\n colorPreset: {\n color: \"neutral-800\",\n },\n border: {\n width: \"border-2\",\n color: \"border-neutral-600\",\n },\n rounding: \"rounded-2xl\",\n images: [\n {\n image: {\n src: \"https://via.placeholder.com/400x600.png?text=Spring+Look\",\n },\n legend: \"Spring casual collection 2024\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/400x600.png?text=Summer+Look\",\n },\n legend: \"Summer evening wear\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/400x600.png?text=Business+Look\",\n },\n legend: \"Professional business attire\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/400x600.png?text=Weekend+Look\",\n },\n legend: \"Weekend comfort style\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/400x600.png?text=Formal+Look\",\n },\n legend: \"Formal evening collection\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/400x600.png?text=Street+Style\",\n },\n legend: \"Urban street fashion\",\n },\n ],\n },\n },\n {\n description: \"Travel destinations gallery with 3-column grid and no legends\",\n type: \"images-gallery\",\n props: {\n columns: 3,\n gap: \"1.25rem\",\n padding: \"2.5rem\",\n colorPreset: {\n color: \"primary-100\",\n },\n rounding: \"rounded-lg\",\n border: {\n width: \"border\",\n color: \"border-primary-200\",\n },\n images: [\n {\n image: {\n src: \"https://via.placeholder.com/350x250.png?text=Paris\",\n },\n },\n {\n image: {\n src: \"https://via.placeholder.com/350x250.png?text=Tokyo\",\n },\n },\n {\n image: {\n src: \"https://via.placeholder.com/350x250.png?text=New+York\",\n },\n },\n {\n image: {\n src: \"https://via.placeholder.com/350x250.png?text=London\",\n },\n },\n {\n image: {\n src: \"https://via.placeholder.com/350x250.png?text=Rome\",\n },\n },\n {\n image: {\n src: \"https://via.placeholder.com/350x250.png?text=Barcelona\",\n },\n },\n ],\n },\n },\n {\n description: \"Technical equipment gallery with 4-column grid and accent styling\",\n type: \"images-gallery\",\n props: {\n columns: 4,\n gap: \"1rem\",\n padding: \"2rem\",\n colorPreset: {\n color: \"accent-100\",\n },\n border: {\n width: \"border-4\",\n color: \"border-accent-400\",\n },\n rounding: \"rounded-xl\",\n images: [\n {\n image: {\n src: \"https://via.placeholder.com/300x300.png?text=Camera\",\n },\n legend: \"Professional DSLR camera\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/300x300.png?text=Laptop\",\n },\n legend: \"High-performance laptop\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/300x300.png?text=Microphone\",\n },\n legend: \"Studio recording microphone\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/300x300.png?text=Monitor\",\n },\n legend: \"4K professional monitor\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/300x300.png?text=Tablet\",\n },\n legend: \"Digital drawing tablet\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/300x300.png?text=Speakers\",\n },\n legend: \"Studio monitor speakers\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/300x300.png?text=Keyboard\",\n },\n legend: \"Mechanical keyboard\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/300x300.png?text=Mouse\",\n },\n legend: \"Precision gaming mouse\",\n },\n ],\n },\n },\n {\n description: \"Minimal product showcase with large gaps and no padding\",\n type: \"images-gallery\",\n props: {\n columns: 3,\n gap: \"4rem\",\n padding: \"0rem\",\n images: [\n {\n image: {\n src: \"https://via.placeholder.com/400x400.png?text=Watch\",\n },\n legend: \"Luxury Swiss timepiece\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/400x400.png?text=Jewelry\",\n },\n legend: \"Handcrafted gold necklace\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/400x400.png?text=Sunglasses\",\n },\n legend: \"Designer sunglasses collection\",\n },\n ],\n },\n },\n {\n description: \"Dynamic product gallery using products query with loop\",\n type: \"images-gallery\",\n props: {\n columns: 4,\n gap: \"1.5rem\",\n padding: \"2rem\",\n colorPreset: {\n color: \"primary-50\",\n },\n rounding: \"rounded-lg\",\n border: {\n width: \"border\",\n color: \"border-primary-200\",\n },\n images: [\n {\n image: {\n src: \"{{products.image}}\",\n },\n legend: \"{{products.name}} - ${{products.price}}\",\n },\n ],\n loop: {\n over: \"products\",\n },\n },\n },\n {\n description: \"Portfolio showcase using portfolioProjects query with loop\",\n type: \"images-gallery\",\n props: {\n columns: 3,\n gap: \"2rem\",\n padding: \"3rem\",\n colorPreset: {\n color: \"secondary-100\",\n },\n rounding: \"rounded-xl\",\n images: [\n {\n image: {\n src: \"{{portfolioProjects.thumbnail}}\",\n },\n legend:\n \"{{portfolioProjects.projectName}} - {{portfolioProjects.clientName}} ({{portfolioProjects.year}})\",\n },\n ],\n loop: {\n over: \"portfolioProjects\",\n },\n },\n },\n {\n description: \"Event photo gallery using eventPhotos query with loop\",\n type: \"images-gallery\",\n props: {\n columns: 5,\n gap: \"1rem\",\n padding: \"1.5rem\",\n colorPreset: {\n color: \"accent-50\",\n },\n border: {\n width: \"border-2\",\n color: \"border-accent-300\",\n },\n rounding: \"rounded-md\",\n images: [\n {\n image: {\n src: \"{{eventPhotos.imageUrl}}\",\n },\n legend: \"{{eventPhotos.caption}} - {{eventPhotos.eventDate}}\",\n },\n ],\n loop: {\n over: \"eventPhotos\",\n },\n },\n },\n {\n description: \"Team member gallery using teamMembers query with loop\",\n type: \"images-gallery\",\n props: {\n columns: 6,\n gap: \"0.75rem\",\n padding: \"2.5rem\",\n colorPreset: {\n color: \"neutral-100\",\n },\n rounding: \"rounded-lg\",\n border: {\n width: \"border\",\n color: \"border-neutral-300\",\n },\n images: [\n {\n image: {\n src: \"{{teamMembers.profilePhoto}}\",\n },\n legend: \"{{teamMembers.fullName}} - {{teamMembers.position}}\",\n },\n ],\n loop: {\n over: \"teamMembers\",\n },\n },\n },\n];\n"],"mappings":"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","names":[]}
@@ -0,0 +1,395 @@
1
+ /*! Upstart.gg - Copyright (C) 2024 Flippable - https://github.com/upstart-gg/upstart/blob/main/LICENSE */
2
+
3
+ import {
4
+ defineProps
5
+ } from "./chunk-BHC2A43S.js";
6
+ import {
7
+ defineBrickManifest
8
+ } from "./chunk-TB3X4LRQ.js";
9
+ import {
10
+ loopRef
11
+ } from "./chunk-BW6EFRSF.js";
12
+ import {
13
+ shadowRef
14
+ } from "./chunk-TNMNMYOB.js";
15
+ import {
16
+ string
17
+ } from "./chunk-UQF52PWK.js";
18
+ import {
19
+ imageRef
20
+ } from "./chunk-W6MRYRGJ.js";
21
+ import {
22
+ borderRef,
23
+ roundingRef
24
+ } from "./chunk-NTLAKMMQ.js";
25
+ import {
26
+ colorPresetRef
27
+ } from "./chunk-TFGGYU6Y.js";
28
+ import {
29
+ cssLengthRef
30
+ } from "./chunk-BPBKHEQ5.js";
31
+
32
+ // src/shared/bricks/manifests/image.manifest.ts
33
+ import { RxImage } from "react-icons/rx";
34
+ import { Type } from "@sinclair/typebox";
35
+ var manifest = defineBrickManifest({
36
+ type: "image",
37
+ name: "Image",
38
+ category: "media",
39
+ description: "An image brick",
40
+ aiInstructions: "An image brick that can display an image with optional styling such as padding, border radius, and shadow. It supports giving credit to the image author and specifying the image provider.",
41
+ defaultWidth: { desktop: "auto", mobile: "100%" },
42
+ icon: RxImage,
43
+ props: defineProps({
44
+ image: imageRef({
45
+ metadata: {
46
+ category: "content"
47
+ }
48
+ }),
49
+ colorPreset: Type.Optional(colorPresetRef()),
50
+ padding: Type.Optional(
51
+ cssLengthRef({
52
+ description: "Padding inside the image.",
53
+ title: "Padding",
54
+ "ai:instructions": "Use only a single value like '1rem' or '10px'",
55
+ "ui:responsive": true,
56
+ "ui:placeholder": "Not specified",
57
+ "ui:styleId": "styles:padding"
58
+ })
59
+ ),
60
+ rounding: Type.Optional(
61
+ roundingRef({
62
+ default: "rounded-md"
63
+ })
64
+ ),
65
+ border: Type.Optional(borderRef()),
66
+ shadow: Type.Optional(shadowRef()),
67
+ blurHash: Type.Optional(
68
+ string("Blur Hash", {
69
+ "ui:field": "hidden",
70
+ description: "A placeholder for the image while it is loading. Use a blur hash string."
71
+ })
72
+ ),
73
+ author: Type.Optional(
74
+ Type.Object(
75
+ {
76
+ name: string("Image Author", {
77
+ description: "Image author. Use this to give credit to the author"
78
+ }),
79
+ url: string("Image Author URL", {
80
+ description: "Image author URL. Use this to give credit to the author"
81
+ })
82
+ },
83
+ {
84
+ "ui:field": "hidden"
85
+ }
86
+ )
87
+ ),
88
+ provider: Type.Optional(
89
+ string("Image Provider", {
90
+ "ui:field": "hidden",
91
+ "ai:instructions": "The provider of the image, e.g. 'unsplash', 'pexels', etc."
92
+ })
93
+ ),
94
+ loop: Type.Optional(loopRef())
95
+ })
96
+ });
97
+ var examples = [
98
+ {
99
+ description: "Hero landscape image with large shadow",
100
+ type: "image",
101
+ props: {
102
+ image: {
103
+ src: "https://via.placeholder.com/800x400.png?text=Hero+Landscape",
104
+ alt: "Beautiful landscape view for hero section"
105
+ },
106
+ shadow: "shadow-lg"
107
+ }
108
+ },
109
+ {
110
+ description: "Team member profile photo, full rounded",
111
+ type: "image",
112
+ props: {
113
+ image: {
114
+ src: "https://via.placeholder.com/300x300.png?text=Profile+Photo",
115
+ alt: "Team member profile photo"
116
+ },
117
+ shadow: "shadow-md",
118
+ rounding: "rounded-full"
119
+ }
120
+ },
121
+ {
122
+ description: "Product showcase image",
123
+ type: "image",
124
+ props: {
125
+ image: {
126
+ src: "https://via.placeholder.com/400x400.png?text=Product+Image",
127
+ alt: "Premium product showcase"
128
+ },
129
+ shadow: "shadow-sm"
130
+ }
131
+ },
132
+ {
133
+ description: "Blog article featured image with medium shadow and full author info",
134
+ type: "image",
135
+ props: {
136
+ image: {
137
+ src: "https://via.placeholder.com/600x300.png?text=Article+Featured",
138
+ alt: "Featured image for blog article"
139
+ },
140
+ author: {
141
+ name: "John Photographer",
142
+ url: "https://example.com/john"
143
+ },
144
+ provider: "unsplash",
145
+ shadow: "shadow-md"
146
+ }
147
+ },
148
+ {
149
+ description: "Logo image with padding and small shadow",
150
+ type: "image",
151
+ props: {
152
+ image: {
153
+ src: "https://via.placeholder.com/200x80.png?text=Company+Logo",
154
+ alt: "Company logo"
155
+ },
156
+ padding: "p-8",
157
+ shadow: "shadow-sm"
158
+ }
159
+ },
160
+ {
161
+ description: "Testimonial customer photo with large shadow and small padding",
162
+ type: "image",
163
+ props: {
164
+ image: {
165
+ src: "https://via.placeholder.com/120x120.png?text=Customer",
166
+ alt: "Happy customer testimonial photo"
167
+ },
168
+ shadow: "shadow-lg",
169
+ padding: "p-2"
170
+ }
171
+ },
172
+ {
173
+ description: "Event banner image with neutral-500 background",
174
+ type: "image",
175
+ props: {
176
+ colorPreset: { color: "neutral-500" },
177
+ image: {
178
+ src: "https://via.placeholder.com/800x200.png?text=Event+Banner",
179
+ alt: "Annual conference event banner"
180
+ },
181
+ shadow: "shadow-xl",
182
+ author: {
183
+ name: "Event Photographer",
184
+ url: "https://example.com/photographer"
185
+ },
186
+ provider: "pexels"
187
+ }
188
+ },
189
+ {
190
+ description: "Illustration with background and padding",
191
+ type: "image",
192
+ props: {
193
+ image: {
194
+ src: "https://via.placeholder.com/150x150.png?text=Blabla+Feature",
195
+ alt: "Feature illustration"
196
+ },
197
+ padding: "p-8",
198
+ shadow: "shadow-sm"
199
+ }
200
+ },
201
+ {
202
+ description: "Image with blurHash",
203
+ type: "image",
204
+ props: {
205
+ image: {
206
+ src: "https://via.placeholder.com/300x200.png?text=Card+Image",
207
+ alt: "My image"
208
+ },
209
+ shadow: "shadow-md",
210
+ blurHash: "L6PZfSi_.AyE_3t7t7R**0o#DgR4"
211
+ }
212
+ },
213
+ {
214
+ description: "Dynamic employee photo using employee query",
215
+ type: "image",
216
+ props: {
217
+ image: {
218
+ src: "{{employee.photo}}",
219
+ alt: "Photo of {{employee.fullName}}"
220
+ },
221
+ rounding: "rounded-full",
222
+ shadow: "shadow-lg",
223
+ padding: "1rem"
224
+ }
225
+ },
226
+ {
227
+ description: "Dynamic product image using product query with author attribution",
228
+ type: "image",
229
+ props: {
230
+ image: {
231
+ src: "{{product.featuredImage}}",
232
+ alt: "{{product.name}} - {{product.category}}"
233
+ },
234
+ author: {
235
+ name: "{{product.photographer}}",
236
+ url: "{{product.photographerUrl}}"
237
+ },
238
+ provider: "company-assets",
239
+ shadow: "shadow-md",
240
+ rounding: "rounded-lg"
241
+ }
242
+ },
243
+ {
244
+ description: "Dynamic company logo using company query",
245
+ type: "image",
246
+ props: {
247
+ image: {
248
+ src: "{{company.logo}}",
249
+ alt: "{{company.name}} logo"
250
+ },
251
+ padding: "2rem",
252
+ shadow: "shadow-sm",
253
+ colorPreset: { color: "neutral-100" }
254
+ }
255
+ },
256
+ {
257
+ description: "Dynamic event banner using event query",
258
+ type: "image",
259
+ props: {
260
+ image: {
261
+ src: "{{event.bannerImage}}",
262
+ alt: "{{event.title}} event banner"
263
+ },
264
+ shadow: "shadow-xl",
265
+ rounding: "rounded-xl",
266
+ author: {
267
+ name: "{{event.photographer}}",
268
+ url: "{{event.photographerProfile}}"
269
+ },
270
+ provider: "event-photography"
271
+ }
272
+ },
273
+ {
274
+ description: "Dynamic article featured image using article query",
275
+ type: "image",
276
+ props: {
277
+ image: {
278
+ src: "{{article.featuredImage}}",
279
+ alt: "Featured image for {{article.title}}"
280
+ },
281
+ author: {
282
+ name: "{{article.imageCredit}}",
283
+ url: "{{article.imageCreditUrl}}"
284
+ },
285
+ provider: "{{article.imageProvider}}",
286
+ shadow: "shadow-md",
287
+ rounding: "rounded-lg"
288
+ }
289
+ },
290
+ {
291
+ description: "Dynamic property photo using property query",
292
+ type: "image",
293
+ props: {
294
+ image: {
295
+ src: "{{property.mainPhoto}}",
296
+ alt: "{{property.address}} - {{property.propertyType}}"
297
+ },
298
+ shadow: "shadow-lg",
299
+ rounding: "rounded-xl",
300
+ colorPreset: { color: "primary-50" },
301
+ padding: "1rem"
302
+ }
303
+ },
304
+ {
305
+ description: "Dynamic portfolio piece using portfolio query",
306
+ type: "image",
307
+ props: {
308
+ image: {
309
+ src: "{{portfolio.imageUrl}}",
310
+ alt: "{{portfolio.projectName}} for {{portfolio.clientName}}"
311
+ },
312
+ author: {
313
+ name: "{{portfolio.photographer}}",
314
+ url: "{{portfolio.photographerWebsite}}"
315
+ },
316
+ provider: "portfolio-assets",
317
+ shadow: "shadow-md",
318
+ rounding: "rounded-lg",
319
+ padding: "0.5rem"
320
+ }
321
+ },
322
+ {
323
+ description: "Dynamic service illustration using service query",
324
+ type: "image",
325
+ props: {
326
+ image: {
327
+ src: "{{service.illustration}}",
328
+ alt: "{{service.name}} service illustration"
329
+ },
330
+ colorPreset: { color: "secondary-100" },
331
+ padding: "2rem",
332
+ shadow: "shadow-sm",
333
+ rounding: "rounded-full"
334
+ }
335
+ },
336
+ {
337
+ description: "Dynamic testimonial customer photo using testimonial query",
338
+ type: "image",
339
+ props: {
340
+ image: {
341
+ src: "{{testimonial.customerPhoto}}",
342
+ alt: "{{testimonial.customerName}} from {{testimonial.company}}"
343
+ },
344
+ rounding: "rounded-full",
345
+ shadow: "shadow-lg",
346
+ padding: "0.25rem",
347
+ colorPreset: { color: "accent-50" }
348
+ }
349
+ },
350
+ {
351
+ description: "Product gallery using products query with loop",
352
+ type: "image",
353
+ props: {
354
+ image: {
355
+ src: "{{products.mainImage}}",
356
+ alt: "{{products.name}} - {{products.category}}"
357
+ },
358
+ author: {
359
+ name: "{{products.photographer}}",
360
+ url: "{{products.photographerUrl}}"
361
+ },
362
+ provider: "product-catalog",
363
+ shadow: "shadow-md",
364
+ rounding: "rounded-lg",
365
+ padding: "0.5rem",
366
+ colorPreset: { color: "primary-50" },
367
+ loop: {
368
+ over: "products"
369
+ }
370
+ }
371
+ },
372
+ {
373
+ description: "Team member photos using teamMembers query with loop",
374
+ type: "image",
375
+ props: {
376
+ image: {
377
+ src: "{{teamMembers.profilePhoto}}",
378
+ alt: "{{teamMembers.fullName}} - {{teamMembers.position}}"
379
+ },
380
+ rounding: "rounded-full",
381
+ shadow: "shadow-lg",
382
+ padding: "0.75rem",
383
+ colorPreset: { color: "secondary-100" },
384
+ loop: {
385
+ over: "teamMembers"
386
+ }
387
+ }
388
+ }
389
+ ];
390
+
391
+ export {
392
+ manifest,
393
+ examples
394
+ };
395
+ //# sourceMappingURL=chunk-GPCI2N2A.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/shared/bricks/manifests/image.manifest.ts"],"sourcesContent":["import { defineBrickManifest } from \"~/shared/brick-manifest\";\nimport { defineProps } from \"../props/helpers\";\nimport { imageRef } from \"../props/image\";\nimport { shadowRef } from \"../props/effects\";\nimport { RxImage } from \"react-icons/rx\";\nimport { string } from \"../props/string\";\nimport { Type } from \"@sinclair/typebox\";\nimport type { BrickProps } from \"../props/types\";\nimport { backgroundColorRef } from \"../props/background\";\nimport { borderRef, roundingRef } from \"../props/border\";\nimport { loopRef } from \"../props/dynamic\";\nimport { colorPresetRef } from \"../props/color-preset\";\nimport { cssLengthRef } from \"../props/css-length\";\n\nexport const manifest = defineBrickManifest({\n type: \"image\",\n name: \"Image\",\n category: \"media\",\n description: \"An image brick\",\n aiInstructions:\n \"An image brick that can display an image with optional styling such as padding, border radius, and shadow. It supports giving credit to the image author and specifying the image provider.\",\n defaultWidth: { desktop: \"auto\", mobile: \"100%\" },\n icon: RxImage,\n props: defineProps({\n image: imageRef({\n metadata: {\n category: \"content\",\n },\n }),\n colorPreset: Type.Optional(colorPresetRef()),\n padding: Type.Optional(\n cssLengthRef({\n description: \"Padding inside the image.\",\n title: \"Padding\",\n \"ai:instructions\": \"Use only a single value like '1rem' or '10px'\",\n \"ui:responsive\": true,\n \"ui:placeholder\": \"Not specified\",\n \"ui:styleId\": \"styles:padding\",\n }),\n ),\n rounding: Type.Optional(\n roundingRef({\n default: \"rounded-md\",\n }),\n ),\n border: Type.Optional(borderRef()),\n shadow: Type.Optional(shadowRef()),\n blurHash: Type.Optional(\n string(\"Blur Hash\", {\n \"ui:field\": \"hidden\",\n description: \"A placeholder for the image while it is loading. Use a blur hash string.\",\n }),\n ),\n author: Type.Optional(\n Type.Object(\n {\n name: string(\"Image Author\", {\n description: \"Image author. Use this to give credit to the author\",\n }),\n url: string(\"Image Author URL\", {\n description: \"Image author URL. Use this to give credit to the author\",\n }),\n },\n {\n \"ui:field\": \"hidden\",\n },\n ),\n ),\n provider: Type.Optional(\n string(\"Image Provider\", {\n \"ui:field\": \"hidden\",\n \"ai:instructions\": \"The provider of the image, e.g. 'unsplash', 'pexels', etc.\",\n }),\n ),\n loop: Type.Optional(loopRef()),\n }),\n});\n\nexport type Manifest = typeof manifest;\n\nexport const examples: {\n description: string;\n type: string;\n props: BrickProps<Manifest>[\"brick\"][\"props\"];\n}[] = [\n {\n description: \"Hero landscape image with large shadow\",\n type: \"image\",\n props: {\n image: {\n src: \"https://via.placeholder.com/800x400.png?text=Hero+Landscape\",\n alt: \"Beautiful landscape view for hero section\",\n },\n shadow: \"shadow-lg\",\n },\n },\n {\n description: \"Team member profile photo, full rounded\",\n type: \"image\",\n props: {\n image: {\n src: \"https://via.placeholder.com/300x300.png?text=Profile+Photo\",\n alt: \"Team member profile photo\",\n },\n shadow: \"shadow-md\",\n rounding: \"rounded-full\",\n },\n },\n {\n description: \"Product showcase image\",\n type: \"image\",\n props: {\n image: {\n src: \"https://via.placeholder.com/400x400.png?text=Product+Image\",\n alt: \"Premium product showcase\",\n },\n shadow: \"shadow-sm\",\n },\n },\n {\n description: \"Blog article featured image with medium shadow and full author info\",\n type: \"image\",\n props: {\n image: {\n src: \"https://via.placeholder.com/600x300.png?text=Article+Featured\",\n alt: \"Featured image for blog article\",\n },\n author: {\n name: \"John Photographer\",\n url: \"https://example.com/john\",\n },\n provider: \"unsplash\",\n shadow: \"shadow-md\",\n },\n },\n\n {\n description: \"Logo image with padding and small shadow\",\n type: \"image\",\n props: {\n image: {\n src: \"https://via.placeholder.com/200x80.png?text=Company+Logo\",\n alt: \"Company logo\",\n },\n padding: \"p-8\",\n shadow: \"shadow-sm\",\n },\n },\n {\n description: \"Testimonial customer photo with large shadow and small padding\",\n type: \"image\",\n props: {\n image: {\n src: \"https://via.placeholder.com/120x120.png?text=Customer\",\n alt: \"Happy customer testimonial photo\",\n },\n shadow: \"shadow-lg\",\n padding: \"p-2\",\n },\n },\n {\n description: \"Event banner image with neutral-500 background\",\n type: \"image\",\n props: {\n colorPreset: { color: \"neutral-500\" },\n image: {\n src: \"https://via.placeholder.com/800x200.png?text=Event+Banner\",\n alt: \"Annual conference event banner\",\n },\n shadow: \"shadow-xl\",\n author: {\n name: \"Event Photographer\",\n url: \"https://example.com/photographer\",\n },\n provider: \"pexels\",\n },\n },\n {\n description: \"Illustration with background and padding\",\n type: \"image\",\n props: {\n image: {\n src: \"https://via.placeholder.com/150x150.png?text=Blabla+Feature\",\n alt: \"Feature illustration\",\n },\n padding: \"p-8\",\n shadow: \"shadow-sm\",\n },\n },\n {\n description: \"Image with blurHash\",\n type: \"image\",\n props: {\n image: {\n src: \"https://via.placeholder.com/300x200.png?text=Card+Image\",\n alt: \"My image\",\n },\n shadow: \"shadow-md\",\n blurHash: \"L6PZfSi_.AyE_3t7t7R**0o#DgR4\",\n },\n },\n {\n description: \"Dynamic employee photo using employee query\",\n type: \"image\",\n props: {\n image: {\n src: \"{{employee.photo}}\",\n alt: \"Photo of {{employee.fullName}}\",\n },\n rounding: \"rounded-full\",\n shadow: \"shadow-lg\",\n padding: \"1rem\",\n },\n },\n {\n description: \"Dynamic product image using product query with author attribution\",\n type: \"image\",\n props: {\n image: {\n src: \"{{product.featuredImage}}\",\n alt: \"{{product.name}} - {{product.category}}\",\n },\n author: {\n name: \"{{product.photographer}}\",\n url: \"{{product.photographerUrl}}\",\n },\n provider: \"company-assets\",\n shadow: \"shadow-md\",\n rounding: \"rounded-lg\",\n },\n },\n {\n description: \"Dynamic company logo using company query\",\n type: \"image\",\n props: {\n image: {\n src: \"{{company.logo}}\",\n alt: \"{{company.name}} logo\",\n },\n padding: \"2rem\",\n shadow: \"shadow-sm\",\n colorPreset: { color: \"neutral-100\" },\n },\n },\n {\n description: \"Dynamic event banner using event query\",\n type: \"image\",\n props: {\n image: {\n src: \"{{event.bannerImage}}\",\n alt: \"{{event.title}} event banner\",\n },\n shadow: \"shadow-xl\",\n rounding: \"rounded-xl\",\n author: {\n name: \"{{event.photographer}}\",\n url: \"{{event.photographerProfile}}\",\n },\n provider: \"event-photography\",\n },\n },\n {\n description: \"Dynamic article featured image using article query\",\n type: \"image\",\n props: {\n image: {\n src: \"{{article.featuredImage}}\",\n alt: \"Featured image for {{article.title}}\",\n },\n author: {\n name: \"{{article.imageCredit}}\",\n url: \"{{article.imageCreditUrl}}\",\n },\n provider: \"{{article.imageProvider}}\",\n shadow: \"shadow-md\",\n rounding: \"rounded-lg\",\n },\n },\n {\n description: \"Dynamic property photo using property query\",\n type: \"image\",\n props: {\n image: {\n src: \"{{property.mainPhoto}}\",\n alt: \"{{property.address}} - {{property.propertyType}}\",\n },\n shadow: \"shadow-lg\",\n rounding: \"rounded-xl\",\n colorPreset: { color: \"primary-50\" },\n padding: \"1rem\",\n },\n },\n {\n description: \"Dynamic portfolio piece using portfolio query\",\n type: \"image\",\n props: {\n image: {\n src: \"{{portfolio.imageUrl}}\",\n alt: \"{{portfolio.projectName}} for {{portfolio.clientName}}\",\n },\n author: {\n name: \"{{portfolio.photographer}}\",\n url: \"{{portfolio.photographerWebsite}}\",\n },\n provider: \"portfolio-assets\",\n shadow: \"shadow-md\",\n rounding: \"rounded-lg\",\n padding: \"0.5rem\",\n },\n },\n {\n description: \"Dynamic service illustration using service query\",\n type: \"image\",\n props: {\n image: {\n src: \"{{service.illustration}}\",\n alt: \"{{service.name}} service illustration\",\n },\n colorPreset: { color: \"secondary-100\" },\n padding: \"2rem\",\n shadow: \"shadow-sm\",\n rounding: \"rounded-full\",\n },\n },\n {\n description: \"Dynamic testimonial customer photo using testimonial query\",\n type: \"image\",\n props: {\n image: {\n src: \"{{testimonial.customerPhoto}}\",\n alt: \"{{testimonial.customerName}} from {{testimonial.company}}\",\n },\n rounding: \"rounded-full\",\n shadow: \"shadow-lg\",\n padding: \"0.25rem\",\n colorPreset: { color: \"accent-50\" },\n },\n },\n {\n description: \"Product gallery using products query with loop\",\n type: \"image\",\n props: {\n image: {\n src: \"{{products.mainImage}}\",\n alt: \"{{products.name}} - {{products.category}}\",\n },\n author: {\n name: \"{{products.photographer}}\",\n url: \"{{products.photographerUrl}}\",\n },\n provider: \"product-catalog\",\n shadow: \"shadow-md\",\n rounding: \"rounded-lg\",\n padding: \"0.5rem\",\n colorPreset: { color: \"primary-50\" },\n loop: {\n over: \"products\",\n },\n },\n },\n {\n description: \"Team member photos using teamMembers query with loop\",\n type: \"image\",\n props: {\n image: {\n src: \"{{teamMembers.profilePhoto}}\",\n alt: \"{{teamMembers.fullName}} - {{teamMembers.position}}\",\n },\n rounding: \"rounded-full\",\n shadow: \"shadow-lg\",\n padding: \"0.75rem\",\n colorPreset: { color: \"secondary-100\" },\n loop: {\n over: \"teamMembers\",\n },\n },\n },\n];\n"],"mappings":";;+WAIA,OAAS,WAAAA,MAAe,iBAExB,OAAS,QAAAC,MAAY,oBAQd,IAAMC,EAAWC,EAAoB,CAC1C,KAAM,QACN,KAAM,QACN,SAAU,QACV,YAAa,iBACb,eACE,8LACF,aAAc,CAAE,QAAS,OAAQ,OAAQ,MAAO,EAChD,KAAMC,EACN,MAAOC,EAAY,CACjB,MAAOC,EAAS,CACd,SAAU,CACR,SAAU,SACZ,CACF,CAAC,EACD,YAAaC,EAAK,SAASC,EAAe,CAAC,EAC3C,QAASD,EAAK,SACZE,EAAa,CACX,YAAa,4BACb,MAAO,UACP,kBAAmB,gDACnB,gBAAiB,GACjB,iBAAkB,gBAClB,aAAc,gBAChB,CAAC,CACH,EACA,SAAUF,EAAK,SACbG,EAAY,CACV,QAAS,YACX,CAAC,CACH,EACA,OAAQH,EAAK,SAASI,EAAU,CAAC,EACjC,OAAQJ,EAAK,SAASK,EAAU,CAAC,EACjC,SAAUL,EAAK,SACbM,EAAO,YAAa,CAClB,WAAY,SACZ,YAAa,0EACf,CAAC,CACH,EACA,OAAQN,EAAK,SACXA,EAAK,OACH,CACE,KAAMM,EAAO,eAAgB,CAC3B,YAAa,qDACf,CAAC,EACD,IAAKA,EAAO,mBAAoB,CAC9B,YAAa,yDACf,CAAC,CACH,EACA,CACE,WAAY,QACd,CACF,CACF,EACA,SAAUN,EAAK,SACbM,EAAO,iBAAkB,CACvB,WAAY,SACZ,kBAAmB,4DACrB,CAAC,CACH,EACA,KAAMN,EAAK,SAASO,EAAQ,CAAC,CAC/B,CAAC,CACH,CAAC,EAIYC,EAIP,CACJ,CACE,YAAa,yCACb,KAAM,QACN,MAAO,CACL,MAAO,CACL,IAAK,8DACL,IAAK,2CACP,EACA,OAAQ,WACV,CACF,EACA,CACE,YAAa,0CACb,KAAM,QACN,MAAO,CACL,MAAO,CACL,IAAK,6DACL,IAAK,2BACP,EACA,OAAQ,YACR,SAAU,cACZ,CACF,EACA,CACE,YAAa,yBACb,KAAM,QACN,MAAO,CACL,MAAO,CACL,IAAK,6DACL,IAAK,0BACP,EACA,OAAQ,WACV,CACF,EACA,CACE,YAAa,sEACb,KAAM,QACN,MAAO,CACL,MAAO,CACL,IAAK,gEACL,IAAK,iCACP,EACA,OAAQ,CACN,KAAM,oBACN,IAAK,0BACP,EACA,SAAU,WACV,OAAQ,WACV,CACF,EAEA,CACE,YAAa,2CACb,KAAM,QACN,MAAO,CACL,MAAO,CACL,IAAK,2DACL,IAAK,cACP,EACA,QAAS,MACT,OAAQ,WACV,CACF,EACA,CACE,YAAa,iEACb,KAAM,QACN,MAAO,CACL,MAAO,CACL,IAAK,wDACL,IAAK,kCACP,EACA,OAAQ,YACR,QAAS,KACX,CACF,EACA,CACE,YAAa,iDACb,KAAM,QACN,MAAO,CACL,YAAa,CAAE,MAAO,aAAc,EACpC,MAAO,CACL,IAAK,4DACL,IAAK,gCACP,EACA,OAAQ,YACR,OAAQ,CACN,KAAM,qBACN,IAAK,kCACP,EACA,SAAU,QACZ,CACF,EACA,CACE,YAAa,2CACb,KAAM,QACN,MAAO,CACL,MAAO,CACL,IAAK,8DACL,IAAK,sBACP,EACA,QAAS,MACT,OAAQ,WACV,CACF,EACA,CACE,YAAa,sBACb,KAAM,QACN,MAAO,CACL,MAAO,CACL,IAAK,0DACL,IAAK,UACP,EACA,OAAQ,YACR,SAAU,8BACZ,CACF,EACA,CACE,YAAa,8CACb,KAAM,QACN,MAAO,CACL,MAAO,CACL,IAAK,qBACL,IAAK,gCACP,EACA,SAAU,eACV,OAAQ,YACR,QAAS,MACX,CACF,EACA,CACE,YAAa,oEACb,KAAM,QACN,MAAO,CACL,MAAO,CACL,IAAK,4BACL,IAAK,yCACP,EACA,OAAQ,CACN,KAAM,2BACN,IAAK,6BACP,EACA,SAAU,iBACV,OAAQ,YACR,SAAU,YACZ,CACF,EACA,CACE,YAAa,2CACb,KAAM,QACN,MAAO,CACL,MAAO,CACL,IAAK,mBACL,IAAK,uBACP,EACA,QAAS,OACT,OAAQ,YACR,YAAa,CAAE,MAAO,aAAc,CACtC,CACF,EACA,CACE,YAAa,yCACb,KAAM,QACN,MAAO,CACL,MAAO,CACL,IAAK,wBACL,IAAK,8BACP,EACA,OAAQ,YACR,SAAU,aACV,OAAQ,CACN,KAAM,yBACN,IAAK,+BACP,EACA,SAAU,mBACZ,CACF,EACA,CACE,YAAa,qDACb,KAAM,QACN,MAAO,CACL,MAAO,CACL,IAAK,4BACL,IAAK,sCACP,EACA,OAAQ,CACN,KAAM,0BACN,IAAK,4BACP,EACA,SAAU,4BACV,OAAQ,YACR,SAAU,YACZ,CACF,EACA,CACE,YAAa,8CACb,KAAM,QACN,MAAO,CACL,MAAO,CACL,IAAK,yBACL,IAAK,kDACP,EACA,OAAQ,YACR,SAAU,aACV,YAAa,CAAE,MAAO,YAAa,EACnC,QAAS,MACX,CACF,EACA,CACE,YAAa,gDACb,KAAM,QACN,MAAO,CACL,MAAO,CACL,IAAK,yBACL,IAAK,wDACP,EACA,OAAQ,CACN,KAAM,6BACN,IAAK,mCACP,EACA,SAAU,mBACV,OAAQ,YACR,SAAU,aACV,QAAS,QACX,CACF,EACA,CACE,YAAa,mDACb,KAAM,QACN,MAAO,CACL,MAAO,CACL,IAAK,2BACL,IAAK,uCACP,EACA,YAAa,CAAE,MAAO,eAAgB,EACtC,QAAS,OACT,OAAQ,YACR,SAAU,cACZ,CACF,EACA,CACE,YAAa,6DACb,KAAM,QACN,MAAO,CACL,MAAO,CACL,IAAK,gCACL,IAAK,2DACP,EACA,SAAU,eACV,OAAQ,YACR,QAAS,UACT,YAAa,CAAE,MAAO,WAAY,CACpC,CACF,EACA,CACE,YAAa,iDACb,KAAM,QACN,MAAO,CACL,MAAO,CACL,IAAK,yBACL,IAAK,2CACP,EACA,OAAQ,CACN,KAAM,4BACN,IAAK,8BACP,EACA,SAAU,kBACV,OAAQ,YACR,SAAU,aACV,QAAS,SACT,YAAa,CAAE,MAAO,YAAa,EACnC,KAAM,CACJ,KAAM,UACR,CACF,CACF,EACA,CACE,YAAa,uDACb,KAAM,QACN,MAAO,CACL,MAAO,CACL,IAAK,+BACL,IAAK,qDACP,EACA,SAAU,eACV,OAAQ,YACR,QAAS,UACT,YAAa,CAAE,MAAO,eAAgB,EACtC,KAAM,CACJ,KAAM,aACR,CACF,CACF,CACF","names":["RxImage","Type","manifest","defineBrickManifest","RxImage","defineProps","imageRef","Type","colorPresetRef","cssLengthRef","roundingRef","borderRef","shadowRef","string","loopRef","examples"]}
1
+ {"version":3,"sources":["../../src/shared/bricks/manifests/image.manifest.ts"],"sourcesContent":["import { defineBrickManifest } from \"~/shared/brick-manifest\";\nimport { defineProps } from \"../props/helpers\";\nimport { imageRef } from \"../props/image\";\nimport { shadowRef } from \"../props/effects\";\nimport { RxImage } from \"react-icons/rx\";\nimport { string } from \"../props/string\";\nimport { Type } from \"@sinclair/typebox\";\nimport type { BrickProps } from \"../props/types\";\nimport { backgroundColorRef } from \"../props/background\";\nimport { borderRef, roundingRef } from \"../props/border\";\nimport { loopRef } from \"../props/dynamic\";\nimport { colorPresetRef } from \"../props/color-preset\";\nimport { cssLengthRef } from \"../props/css-length\";\n\nexport const manifest = defineBrickManifest({\n type: \"image\",\n name: \"Image\",\n category: \"media\",\n description: \"An image brick\",\n aiInstructions:\n \"An image brick that can display an image with optional styling such as padding, border radius, and shadow. It supports giving credit to the image author and specifying the image provider.\",\n defaultWidth: { desktop: \"auto\", mobile: \"100%\" },\n icon: RxImage,\n props: defineProps({\n image: imageRef({\n metadata: {\n category: \"content\",\n },\n }),\n colorPreset: Type.Optional(colorPresetRef()),\n padding: Type.Optional(\n cssLengthRef({\n description: \"Padding inside the image.\",\n title: \"Padding\",\n \"ai:instructions\": \"Use only a single value like '1rem' or '10px'\",\n \"ui:responsive\": true,\n \"ui:placeholder\": \"Not specified\",\n \"ui:styleId\": \"styles:padding\",\n }),\n ),\n rounding: Type.Optional(\n roundingRef({\n default: \"rounded-md\",\n }),\n ),\n border: Type.Optional(borderRef()),\n shadow: Type.Optional(shadowRef()),\n blurHash: Type.Optional(\n string(\"Blur Hash\", {\n \"ui:field\": \"hidden\",\n description: \"A placeholder for the image while it is loading. Use a blur hash string.\",\n }),\n ),\n author: Type.Optional(\n Type.Object(\n {\n name: string(\"Image Author\", {\n description: \"Image author. Use this to give credit to the author\",\n }),\n url: string(\"Image Author URL\", {\n description: \"Image author URL. Use this to give credit to the author\",\n }),\n },\n {\n \"ui:field\": \"hidden\",\n },\n ),\n ),\n provider: Type.Optional(\n string(\"Image Provider\", {\n \"ui:field\": \"hidden\",\n \"ai:instructions\": \"The provider of the image, e.g. 'unsplash', 'pexels', etc.\",\n }),\n ),\n loop: Type.Optional(loopRef()),\n }),\n});\n\nexport type Manifest = typeof manifest;\n\nexport const examples: {\n description: string;\n type: string;\n props: BrickProps<Manifest>[\"brick\"][\"props\"];\n}[] = [\n {\n description: \"Hero landscape image with large shadow\",\n type: \"image\",\n props: {\n image: {\n src: \"https://via.placeholder.com/800x400.png?text=Hero+Landscape\",\n alt: \"Beautiful landscape view for hero section\",\n },\n shadow: \"shadow-lg\",\n },\n },\n {\n description: \"Team member profile photo, full rounded\",\n type: \"image\",\n props: {\n image: {\n src: \"https://via.placeholder.com/300x300.png?text=Profile+Photo\",\n alt: \"Team member profile photo\",\n },\n shadow: \"shadow-md\",\n rounding: \"rounded-full\",\n },\n },\n {\n description: \"Product showcase image\",\n type: \"image\",\n props: {\n image: {\n src: \"https://via.placeholder.com/400x400.png?text=Product+Image\",\n alt: \"Premium product showcase\",\n },\n shadow: \"shadow-sm\",\n },\n },\n {\n description: \"Blog article featured image with medium shadow and full author info\",\n type: \"image\",\n props: {\n image: {\n src: \"https://via.placeholder.com/600x300.png?text=Article+Featured\",\n alt: \"Featured image for blog article\",\n },\n author: {\n name: \"John Photographer\",\n url: \"https://example.com/john\",\n },\n provider: \"unsplash\",\n shadow: \"shadow-md\",\n },\n },\n\n {\n description: \"Logo image with padding and small shadow\",\n type: \"image\",\n props: {\n image: {\n src: \"https://via.placeholder.com/200x80.png?text=Company+Logo\",\n alt: \"Company logo\",\n },\n padding: \"p-8\",\n shadow: \"shadow-sm\",\n },\n },\n {\n description: \"Testimonial customer photo with large shadow and small padding\",\n type: \"image\",\n props: {\n image: {\n src: \"https://via.placeholder.com/120x120.png?text=Customer\",\n alt: \"Happy customer testimonial photo\",\n },\n shadow: \"shadow-lg\",\n padding: \"p-2\",\n },\n },\n {\n description: \"Event banner image with neutral-500 background\",\n type: \"image\",\n props: {\n colorPreset: { color: \"neutral-500\" },\n image: {\n src: \"https://via.placeholder.com/800x200.png?text=Event+Banner\",\n alt: \"Annual conference event banner\",\n },\n shadow: \"shadow-xl\",\n author: {\n name: \"Event Photographer\",\n url: \"https://example.com/photographer\",\n },\n provider: \"pexels\",\n },\n },\n {\n description: \"Illustration with background and padding\",\n type: \"image\",\n props: {\n image: {\n src: \"https://via.placeholder.com/150x150.png?text=Blabla+Feature\",\n alt: \"Feature illustration\",\n },\n padding: \"p-8\",\n shadow: \"shadow-sm\",\n },\n },\n {\n description: \"Image with blurHash\",\n type: \"image\",\n props: {\n image: {\n src: \"https://via.placeholder.com/300x200.png?text=Card+Image\",\n alt: \"My image\",\n },\n shadow: \"shadow-md\",\n blurHash: \"L6PZfSi_.AyE_3t7t7R**0o#DgR4\",\n },\n },\n {\n description: \"Dynamic employee photo using employee query\",\n type: \"image\",\n props: {\n image: {\n src: \"{{employee.photo}}\",\n alt: \"Photo of {{employee.fullName}}\",\n },\n rounding: \"rounded-full\",\n shadow: \"shadow-lg\",\n padding: \"1rem\",\n },\n },\n {\n description: \"Dynamic product image using product query with author attribution\",\n type: \"image\",\n props: {\n image: {\n src: \"{{product.featuredImage}}\",\n alt: \"{{product.name}} - {{product.category}}\",\n },\n author: {\n name: \"{{product.photographer}}\",\n url: \"{{product.photographerUrl}}\",\n },\n provider: \"company-assets\",\n shadow: \"shadow-md\",\n rounding: \"rounded-lg\",\n },\n },\n {\n description: \"Dynamic company logo using company query\",\n type: \"image\",\n props: {\n image: {\n src: \"{{company.logo}}\",\n alt: \"{{company.name}} logo\",\n },\n padding: \"2rem\",\n shadow: \"shadow-sm\",\n colorPreset: { color: \"neutral-100\" },\n },\n },\n {\n description: \"Dynamic event banner using event query\",\n type: \"image\",\n props: {\n image: {\n src: \"{{event.bannerImage}}\",\n alt: \"{{event.title}} event banner\",\n },\n shadow: \"shadow-xl\",\n rounding: \"rounded-xl\",\n author: {\n name: \"{{event.photographer}}\",\n url: \"{{event.photographerProfile}}\",\n },\n provider: \"event-photography\",\n },\n },\n {\n description: \"Dynamic article featured image using article query\",\n type: \"image\",\n props: {\n image: {\n src: \"{{article.featuredImage}}\",\n alt: \"Featured image for {{article.title}}\",\n },\n author: {\n name: \"{{article.imageCredit}}\",\n url: \"{{article.imageCreditUrl}}\",\n },\n provider: \"{{article.imageProvider}}\",\n shadow: \"shadow-md\",\n rounding: \"rounded-lg\",\n },\n },\n {\n description: \"Dynamic property photo using property query\",\n type: \"image\",\n props: {\n image: {\n src: \"{{property.mainPhoto}}\",\n alt: \"{{property.address}} - {{property.propertyType}}\",\n },\n shadow: \"shadow-lg\",\n rounding: \"rounded-xl\",\n colorPreset: { color: \"primary-50\" },\n padding: \"1rem\",\n },\n },\n {\n description: \"Dynamic portfolio piece using portfolio query\",\n type: \"image\",\n props: {\n image: {\n src: \"{{portfolio.imageUrl}}\",\n alt: \"{{portfolio.projectName}} for {{portfolio.clientName}}\",\n },\n author: {\n name: \"{{portfolio.photographer}}\",\n url: \"{{portfolio.photographerWebsite}}\",\n },\n provider: \"portfolio-assets\",\n shadow: \"shadow-md\",\n rounding: \"rounded-lg\",\n padding: \"0.5rem\",\n },\n },\n {\n description: \"Dynamic service illustration using service query\",\n type: \"image\",\n props: {\n image: {\n src: \"{{service.illustration}}\",\n alt: \"{{service.name}} service illustration\",\n },\n colorPreset: { color: \"secondary-100\" },\n padding: \"2rem\",\n shadow: \"shadow-sm\",\n rounding: \"rounded-full\",\n },\n },\n {\n description: \"Dynamic testimonial customer photo using testimonial query\",\n type: \"image\",\n props: {\n image: {\n src: \"{{testimonial.customerPhoto}}\",\n alt: \"{{testimonial.customerName}} from {{testimonial.company}}\",\n },\n rounding: \"rounded-full\",\n shadow: \"shadow-lg\",\n padding: \"0.25rem\",\n colorPreset: { color: \"accent-50\" },\n },\n },\n {\n description: \"Product gallery using products query with loop\",\n type: \"image\",\n props: {\n image: {\n src: \"{{products.mainImage}}\",\n alt: \"{{products.name}} - {{products.category}}\",\n },\n author: {\n name: \"{{products.photographer}}\",\n url: \"{{products.photographerUrl}}\",\n },\n provider: \"product-catalog\",\n shadow: \"shadow-md\",\n rounding: \"rounded-lg\",\n padding: \"0.5rem\",\n colorPreset: { color: \"primary-50\" },\n loop: {\n over: \"products\",\n },\n },\n },\n {\n description: \"Team member photos using teamMembers query with loop\",\n type: \"image\",\n props: {\n image: {\n src: \"{{teamMembers.profilePhoto}}\",\n alt: \"{{teamMembers.fullName}} - {{teamMembers.position}}\",\n },\n rounding: \"rounded-full\",\n shadow: \"shadow-lg\",\n padding: \"0.75rem\",\n colorPreset: { color: \"secondary-100\" },\n loop: {\n over: \"teamMembers\",\n },\n },\n },\n];\n"],"mappings":"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","names":[]}