@upstart.gg/sdk 0.0.137 → 0.0.139

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 (802) hide show
  1. package/dist/shared/ai/schemas.d.ts +20 -15
  2. package/dist/shared/ai/schemas.d.ts.map +1 -1
  3. package/dist/shared/ai/schemas.js +31 -57
  4. package/dist/shared/ai/schemas.js.map +1 -1
  5. package/dist/shared/ai/types.d.ts +193 -190
  6. package/dist/shared/ai/types.d.ts.map +1 -1
  7. package/dist/shared/ai/types.js +1 -3
  8. package/dist/shared/analytics/init.d.ts +4 -1
  9. package/dist/shared/analytics/init.d.ts.map +1 -1
  10. package/dist/shared/analytics/init.js +14 -20
  11. package/dist/shared/analytics/init.js.map +1 -1
  12. package/dist/shared/analytics/track.d.ts +6 -2
  13. package/dist/shared/analytics/track.d.ts.map +1 -1
  14. package/dist/shared/analytics/track.js +14 -24
  15. package/dist/shared/analytics/track.js.map +1 -1
  16. package/dist/shared/analytics/types.d.ts +10 -8
  17. package/dist/shared/analytics/types.d.ts.map +1 -1
  18. package/dist/shared/analytics/types.js +1 -3
  19. package/dist/shared/attributes.d.ts +488 -475
  20. package/dist/shared/attributes.d.ts.map +1 -1
  21. package/dist/shared/attributes.js +369 -44
  22. package/dist/shared/attributes.js.map +1 -1
  23. package/dist/shared/brick-manifest.d.ts +126 -108
  24. package/dist/shared/brick-manifest.d.ts.map +1 -1
  25. package/dist/shared/brick-manifest.js +36 -12
  26. package/dist/shared/brick-manifest.js.map +1 -1
  27. package/dist/shared/bricks/manifests/_types.d.ts +11 -7
  28. package/dist/shared/bricks/manifests/_types.d.ts.map +1 -1
  29. package/dist/shared/bricks/manifests/_types.js +1 -3
  30. package/dist/shared/bricks/manifests/accordion.manifest.d.ts +83 -76
  31. package/dist/shared/bricks/manifests/accordion.manifest.d.ts.map +1 -1
  32. package/dist/shared/bricks/manifests/accordion.manifest.js +389 -23
  33. package/dist/shared/bricks/manifests/accordion.manifest.js.map +1 -1
  34. package/dist/shared/bricks/manifests/all-manifests.d.ts +15 -10
  35. package/dist/shared/bricks/manifests/all-manifests.d.ts.map +1 -1
  36. package/dist/shared/bricks/manifests/all-manifests.js +128 -60
  37. package/dist/shared/bricks/manifests/all-manifests.js.map +1 -1
  38. package/dist/shared/bricks/manifests/all-props.d.ts +1510 -1495
  39. package/dist/shared/bricks/manifests/all-props.d.ts.map +1 -1
  40. package/dist/shared/bricks/manifests/all-props.js +167 -240
  41. package/dist/shared/bricks/manifests/all-props.js.map +1 -1
  42. package/dist/shared/bricks/manifests/box.manifest.d.ts +87 -80
  43. package/dist/shared/bricks/manifests/box.manifest.d.ts.map +1 -1
  44. package/dist/shared/bricks/manifests/box.manifest.js +548 -26
  45. package/dist/shared/bricks/manifests/box.manifest.js.map +1 -1
  46. package/dist/shared/bricks/manifests/button.manifest.d.ts +75 -68
  47. package/dist/shared/bricks/manifests/button.manifest.d.ts.map +1 -1
  48. package/dist/shared/bricks/manifests/button.manifest.js +308 -22
  49. package/dist/shared/bricks/manifests/button.manifest.js.map +1 -1
  50. package/dist/shared/bricks/manifests/card.manifest.d.ts +96 -87
  51. package/dist/shared/bricks/manifests/card.manifest.d.ts.map +1 -1
  52. package/dist/shared/bricks/manifests/card.manifest.js +392 -27
  53. package/dist/shared/bricks/manifests/card.manifest.js.map +1 -1
  54. package/dist/shared/bricks/manifests/carousel.manifest.d.ts +86 -78
  55. package/dist/shared/bricks/manifests/carousel.manifest.d.ts.map +1 -1
  56. package/dist/shared/bricks/manifests/carousel.manifest.js +775 -25
  57. package/dist/shared/bricks/manifests/carousel.manifest.js.map +1 -1
  58. package/dist/shared/bricks/manifests/footer.manifest.d.ts +117 -108
  59. package/dist/shared/bricks/manifests/footer.manifest.d.ts.map +1 -1
  60. package/dist/shared/bricks/manifests/footer.manifest.js +864 -24
  61. package/dist/shared/bricks/manifests/footer.manifest.js.map +1 -1
  62. package/dist/shared/bricks/manifests/form.manifest.d.ts +94 -87
  63. package/dist/shared/bricks/manifests/form.manifest.d.ts.map +1 -1
  64. package/dist/shared/bricks/manifests/form.manifest.js +324 -24
  65. package/dist/shared/bricks/manifests/form.manifest.js.map +1 -1
  66. package/dist/shared/bricks/manifests/hero.manifest.d.ts +80 -75
  67. package/dist/shared/bricks/manifests/hero.manifest.d.ts.map +1 -1
  68. package/dist/shared/bricks/manifests/hero.manifest.js +202 -23
  69. package/dist/shared/bricks/manifests/hero.manifest.js.map +1 -1
  70. package/dist/shared/bricks/manifests/html.manifest.d.ts +68 -60
  71. package/dist/shared/bricks/manifests/html.manifest.d.ts.map +1 -1
  72. package/dist/shared/bricks/manifests/html.manifest.js +95 -17
  73. package/dist/shared/bricks/manifests/html.manifest.js.map +1 -1
  74. package/dist/shared/bricks/manifests/icon.manifest.d.ts +74 -67
  75. package/dist/shared/bricks/manifests/icon.manifest.d.ts.map +1 -1
  76. package/dist/shared/bricks/manifests/icon.manifest.js +239 -23
  77. package/dist/shared/bricks/manifests/icon.manifest.js.map +1 -1
  78. package/dist/shared/bricks/manifests/image.manifest.d.ts +97 -89
  79. package/dist/shared/bricks/manifests/image.manifest.d.ts.map +1 -1
  80. package/dist/shared/bricks/manifests/image.manifest.js +456 -26
  81. package/dist/shared/bricks/manifests/image.manifest.js.map +1 -1
  82. package/dist/shared/bricks/manifests/images-gallery.manifest.d.ts +93 -84
  83. package/dist/shared/bricks/manifests/images-gallery.manifest.d.ts.map +1 -1
  84. package/dist/shared/bricks/manifests/images-gallery.manifest.js +598 -24
  85. package/dist/shared/bricks/manifests/images-gallery.manifest.js.map +1 -1
  86. package/dist/shared/bricks/manifests/map.manifest.d.ts +78 -70
  87. package/dist/shared/bricks/manifests/map.manifest.d.ts.map +1 -1
  88. package/dist/shared/bricks/manifests/map.manifest.js +138 -22
  89. package/dist/shared/bricks/manifests/map.manifest.js.map +1 -1
  90. package/dist/shared/bricks/manifests/navbar.manifest.d.ts +117 -108
  91. package/dist/shared/bricks/manifests/navbar.manifest.d.ts.map +1 -1
  92. package/dist/shared/bricks/manifests/navbar.manifest.js +370 -27
  93. package/dist/shared/bricks/manifests/navbar.manifest.js.map +1 -1
  94. package/dist/shared/bricks/manifests/sidebar.manifest.d.ts +94 -87
  95. package/dist/shared/bricks/manifests/sidebar.manifest.d.ts.map +1 -1
  96. package/dist/shared/bricks/manifests/sidebar.manifest.js +69 -23
  97. package/dist/shared/bricks/manifests/sidebar.manifest.js.map +1 -1
  98. package/dist/shared/bricks/manifests/social-links.manifest.d.ts +84 -77
  99. package/dist/shared/bricks/manifests/social-links.manifest.d.ts.map +1 -1
  100. package/dist/shared/bricks/manifests/social-links.manifest.js +465 -23
  101. package/dist/shared/bricks/manifests/social-links.manifest.js.map +1 -1
  102. package/dist/shared/bricks/manifests/spacer.manifest.d.ts +65 -58
  103. package/dist/shared/bricks/manifests/spacer.manifest.d.ts.map +1 -1
  104. package/dist/shared/bricks/manifests/spacer.manifest.js +39 -17
  105. package/dist/shared/bricks/manifests/spacer.manifest.js.map +1 -1
  106. package/dist/shared/bricks/manifests/table.manifest.d.ts +93 -85
  107. package/dist/shared/bricks/manifests/table.manifest.d.ts.map +1 -1
  108. package/dist/shared/bricks/manifests/table.manifest.js +771 -24
  109. package/dist/shared/bricks/manifests/table.manifest.js.map +1 -1
  110. package/dist/shared/bricks/manifests/tabs.manifest.d.ts +91 -84
  111. package/dist/shared/bricks/manifests/tabs.manifest.d.ts.map +1 -1
  112. package/dist/shared/bricks/manifests/tabs.manifest.js +119 -24
  113. package/dist/shared/bricks/manifests/tabs.manifest.js.map +1 -1
  114. package/dist/shared/bricks/manifests/testimonials.manifest.d.ts +97 -88
  115. package/dist/shared/bricks/manifests/testimonials.manifest.d.ts.map +1 -1
  116. package/dist/shared/bricks/manifests/testimonials.manifest.js +223 -27
  117. package/dist/shared/bricks/manifests/testimonials.manifest.js.map +1 -1
  118. package/dist/shared/bricks/manifests/text.manifest.d.ts +76 -72
  119. package/dist/shared/bricks/manifests/text.manifest.d.ts.map +1 -1
  120. package/dist/shared/bricks/manifests/text.manifest.js +199 -22
  121. package/dist/shared/bricks/manifests/text.manifest.js.map +1 -1
  122. package/dist/shared/bricks/manifests/timeline.manifest.d.ts +102 -95
  123. package/dist/shared/bricks/manifests/timeline.manifest.d.ts.map +1 -1
  124. package/dist/shared/bricks/manifests/timeline.manifest.js +401 -24
  125. package/dist/shared/bricks/manifests/timeline.manifest.js.map +1 -1
  126. package/dist/shared/bricks/manifests/video.manifest.d.ts +74 -67
  127. package/dist/shared/bricks/manifests/video.manifest.d.ts.map +1 -1
  128. package/dist/shared/bricks/manifests/video.manifest.js +97 -20
  129. package/dist/shared/bricks/manifests/video.manifest.js.map +1 -1
  130. package/dist/shared/bricks/props/align.d.ts +12 -7
  131. package/dist/shared/bricks/props/align.d.ts.map +1 -1
  132. package/dist/shared/bricks/props/align.js +74 -13
  133. package/dist/shared/bricks/props/align.js.map +1 -1
  134. package/dist/shared/bricks/props/background.d.ts +21 -17
  135. package/dist/shared/bricks/props/background.d.ts.map +1 -1
  136. package/dist/shared/bricks/props/background.js +63 -11
  137. package/dist/shared/bricks/props/background.js.map +1 -1
  138. package/dist/shared/bricks/props/boolean.d.ts +6 -2
  139. package/dist/shared/bricks/props/boolean.d.ts.map +1 -1
  140. package/dist/shared/bricks/props/boolean.js +12 -8
  141. package/dist/shared/bricks/props/boolean.js.map +1 -1
  142. package/dist/shared/bricks/props/border.d.ts +12 -7
  143. package/dist/shared/bricks/props/border.d.ts.map +1 -1
  144. package/dist/shared/bricks/props/border.js +85 -12
  145. package/dist/shared/bricks/props/border.js.map +1 -1
  146. package/dist/shared/bricks/props/color-preset.d.ts +331 -327
  147. package/dist/shared/bricks/props/color-preset.d.ts.map +1 -1
  148. package/dist/shared/bricks/props/color-preset.js +378 -10
  149. package/dist/shared/bricks/props/color-preset.js.map +1 -1
  150. package/dist/shared/bricks/props/color.d.ts +10 -5
  151. package/dist/shared/bricks/props/color.d.ts.map +1 -1
  152. package/dist/shared/bricks/props/color.js +27 -10
  153. package/dist/shared/bricks/props/color.js.map +1 -1
  154. package/dist/shared/bricks/props/common.d.ts +32 -28
  155. package/dist/shared/bricks/props/common.d.ts.map +1 -1
  156. package/dist/shared/bricks/props/common.js +42 -12
  157. package/dist/shared/bricks/props/common.js.map +1 -1
  158. package/dist/shared/bricks/props/css-length.d.ts +10 -5
  159. package/dist/shared/bricks/props/css-length.d.ts.map +1 -1
  160. package/dist/shared/bricks/props/css-length.js +39 -12
  161. package/dist/shared/bricks/props/css-length.js.map +1 -1
  162. package/dist/shared/bricks/props/datarecord.d.ts +8 -3
  163. package/dist/shared/bricks/props/datarecord.d.ts.map +1 -1
  164. package/dist/shared/bricks/props/datarecord.js +12 -8
  165. package/dist/shared/bricks/props/datarecord.js.map +1 -1
  166. package/dist/shared/bricks/props/datasource.d.ts +18 -13
  167. package/dist/shared/bricks/props/datasource.d.ts.map +1 -1
  168. package/dist/shared/bricks/props/datasource.js +61 -84
  169. package/dist/shared/bricks/props/datasource.js.map +1 -1
  170. package/dist/shared/bricks/props/date.d.ts +8 -3
  171. package/dist/shared/bricks/props/date.d.ts.map +1 -1
  172. package/dist/shared/bricks/props/date.js +19 -23
  173. package/dist/shared/bricks/props/date.js.map +1 -1
  174. package/dist/shared/bricks/props/direction.d.ts +8 -3
  175. package/dist/shared/bricks/props/direction.d.ts.map +1 -1
  176. package/dist/shared/bricks/props/direction.js +16 -9
  177. package/dist/shared/bricks/props/direction.js.map +1 -1
  178. package/dist/shared/bricks/props/dynamic.d.ts +39 -34
  179. package/dist/shared/bricks/props/dynamic.d.ts.map +1 -1
  180. package/dist/shared/bricks/props/dynamic.js +92 -13
  181. package/dist/shared/bricks/props/dynamic.js.map +1 -1
  182. package/dist/shared/bricks/props/effects.d.ts +18 -11
  183. package/dist/shared/bricks/props/effects.d.ts.map +1 -1
  184. package/dist/shared/bricks/props/effects.js +81 -13
  185. package/dist/shared/bricks/props/effects.js.map +1 -1
  186. package/dist/shared/bricks/props/file.d.ts +6 -1
  187. package/dist/shared/bricks/props/file.d.ts.map +1 -1
  188. package/dist/shared/bricks/props/file.js +11 -14
  189. package/dist/shared/bricks/props/file.js.map +1 -1
  190. package/dist/shared/bricks/props/geolocation.d.ts +15 -10
  191. package/dist/shared/bricks/props/geolocation.d.ts.map +1 -1
  192. package/dist/shared/bricks/props/geolocation.js +28 -40
  193. package/dist/shared/bricks/props/geolocation.js.map +1 -1
  194. package/dist/shared/bricks/props/grow.d.ts +8 -0
  195. package/dist/shared/bricks/props/grow.d.ts.map +1 -0
  196. package/dist/shared/bricks/props/grow.js +16 -0
  197. package/dist/shared/bricks/props/grow.js.map +1 -0
  198. package/dist/shared/bricks/props/helpers.d.ts +32 -24
  199. package/dist/shared/bricks/props/helpers.d.ts.map +1 -1
  200. package/dist/shared/bricks/props/helpers.js +50 -18
  201. package/dist/shared/bricks/props/helpers.js.map +1 -1
  202. package/dist/shared/bricks/props/image.d.ts +15 -11
  203. package/dist/shared/bricks/props/image.d.ts.map +1 -1
  204. package/dist/shared/bricks/props/image.js +109 -9
  205. package/dist/shared/bricks/props/image.js.map +1 -1
  206. package/dist/shared/bricks/props/number.d.ts +8 -4
  207. package/dist/shared/bricks/props/number.d.ts.map +1 -1
  208. package/dist/shared/bricks/props/number.js +11 -8
  209. package/dist/shared/bricks/props/number.js.map +1 -1
  210. package/dist/shared/bricks/props/position.d.ts +8 -3
  211. package/dist/shared/bricks/props/position.d.ts.map +1 -1
  212. package/dist/shared/bricks/props/position.js +12 -8
  213. package/dist/shared/bricks/props/position.js.map +1 -1
  214. package/dist/shared/bricks/props/string.d.ts +13 -9
  215. package/dist/shared/bricks/props/string.d.ts.map +1 -1
  216. package/dist/shared/bricks/props/string.js +34 -12
  217. package/dist/shared/bricks/props/string.js.map +1 -1
  218. package/dist/shared/bricks/props/tags.d.ts +8 -3
  219. package/dist/shared/bricks/props/tags.d.ts.map +1 -1
  220. package/dist/shared/bricks/props/tags.js +16 -8
  221. package/dist/shared/bricks/props/tags.js.map +1 -1
  222. package/dist/shared/bricks/props/text.d.ts +22 -11
  223. package/dist/shared/bricks/props/text.d.ts.map +1 -1
  224. package/dist/shared/bricks/props/text.js +79 -13
  225. package/dist/shared/bricks/props/text.js.map +1 -1
  226. package/dist/shared/bricks/props/types.d.ts +52 -49
  227. package/dist/shared/bricks/props/types.d.ts.map +1 -1
  228. package/dist/shared/bricks/props/types.js +1 -3
  229. package/dist/shared/bricks.d.ts +183 -178
  230. package/dist/shared/bricks.d.ts.map +1 -1
  231. package/dist/shared/bricks.js +271 -77
  232. package/dist/shared/bricks.js.map +1 -1
  233. package/dist/shared/context.d.ts +405 -394
  234. package/dist/shared/context.d.ts.map +1 -1
  235. package/dist/shared/context.js +22 -92
  236. package/dist/shared/context.js.map +1 -1
  237. package/dist/shared/datarecords/external/airtable/handler.d.ts +40 -20
  238. package/dist/shared/datarecords/external/airtable/handler.d.ts.map +1 -1
  239. package/dist/shared/datarecords/external/airtable/handler.js +242 -366
  240. package/dist/shared/datarecords/external/airtable/handler.js.map +1 -1
  241. package/dist/shared/datarecords/external/airtable/oauth/config.d.ts +14 -9
  242. package/dist/shared/datarecords/external/airtable/oauth/config.d.ts.map +1 -1
  243. package/dist/shared/datarecords/external/airtable/oauth/config.js +12 -15
  244. package/dist/shared/datarecords/external/airtable/oauth/config.js.map +1 -1
  245. package/dist/shared/datarecords/external/airtable/types.d.ts +39 -35
  246. package/dist/shared/datarecords/external/airtable/types.d.ts.map +1 -1
  247. package/dist/shared/datarecords/external/airtable/types.js +44 -13
  248. package/dist/shared/datarecords/external/airtable/types.js.map +1 -1
  249. package/dist/shared/datarecords/external/generic-webhook/handler.d.ts +6 -2
  250. package/dist/shared/datarecords/external/generic-webhook/handler.d.ts.map +1 -1
  251. package/dist/shared/datarecords/external/generic-webhook/handler.js +9 -14
  252. package/dist/shared/datarecords/external/generic-webhook/handler.js.map +1 -1
  253. package/dist/shared/datarecords/external/generic-webhook/options.d.ts +10 -5
  254. package/dist/shared/datarecords/external/generic-webhook/options.d.ts.map +1 -1
  255. package/dist/shared/datarecords/external/generic-webhook/options.js +14 -16
  256. package/dist/shared/datarecords/external/generic-webhook/options.js.map +1 -1
  257. package/dist/shared/datarecords/external/google/oauth/config.d.ts +28 -24
  258. package/dist/shared/datarecords/external/google/oauth/config.d.ts.map +1 -1
  259. package/dist/shared/datarecords/external/google/oauth/config.js +25 -34
  260. package/dist/shared/datarecords/external/google/oauth/config.js.map +1 -1
  261. package/dist/shared/datarecords/external/google/sheets/client.d.ts +11 -9
  262. package/dist/shared/datarecords/external/google/sheets/client.d.ts.map +1 -1
  263. package/dist/shared/datarecords/external/google/sheets/client.js +75 -8
  264. package/dist/shared/datarecords/external/google/sheets/client.js.map +1 -1
  265. package/dist/shared/datarecords/external/google/sheets/handler.d.ts +36 -18
  266. package/dist/shared/datarecords/external/google/sheets/handler.d.ts.map +1 -1
  267. package/dist/shared/datarecords/external/google/sheets/handler.js +103 -176
  268. package/dist/shared/datarecords/external/google/sheets/handler.js.map +1 -1
  269. package/dist/shared/datarecords/external/google/sheets/types.d.ts +12 -7
  270. package/dist/shared/datarecords/external/google/sheets/types.d.ts.map +1 -1
  271. package/dist/shared/datarecords/external/google/sheets/types.js +11 -8
  272. package/dist/shared/datarecords/external/google/sheets/types.js.map +1 -1
  273. package/dist/shared/datarecords/external/notion/handler.d.ts +48 -26
  274. package/dist/shared/datarecords/external/notion/handler.d.ts.map +1 -1
  275. package/dist/shared/datarecords/external/notion/handler.js +233 -386
  276. package/dist/shared/datarecords/external/notion/handler.js.map +1 -1
  277. package/dist/shared/datarecords/external/notion/oauth/config.d.ts +10 -5
  278. package/dist/shared/datarecords/external/notion/oauth/config.d.ts.map +1 -1
  279. package/dist/shared/datarecords/external/notion/oauth/config.js +8 -11
  280. package/dist/shared/datarecords/external/notion/oauth/config.js.map +1 -1
  281. package/dist/shared/datarecords/external/notion/types.d.ts +20 -15
  282. package/dist/shared/datarecords/external/notion/types.d.ts.map +1 -1
  283. package/dist/shared/datarecords/external/notion/types.js +14 -8
  284. package/dist/shared/datarecords/external/notion/types.js.map +1 -1
  285. package/dist/shared/datarecords/types.d.ts +24 -19
  286. package/dist/shared/datarecords/types.d.ts.map +1 -1
  287. package/dist/shared/datarecords/types.js +144 -16
  288. package/dist/shared/datarecords/types.js.map +1 -1
  289. package/dist/shared/datarecords.d.ts +6 -2
  290. package/dist/shared/datarecords.d.ts.map +1 -1
  291. package/dist/shared/datarecords.js +5 -9
  292. package/dist/shared/datarecords.js.map +1 -1
  293. package/dist/shared/datasources/external/facebook/posts/fetcher.d.ts +8 -5
  294. package/dist/shared/datasources/external/facebook/posts/fetcher.d.ts.map +1 -1
  295. package/dist/shared/datasources/external/facebook/posts/fetcher.js +38 -48
  296. package/dist/shared/datasources/external/facebook/posts/fetcher.js.map +1 -1
  297. package/dist/shared/datasources/external/facebook/posts/schema.d.ts +30 -25
  298. package/dist/shared/datasources/external/facebook/posts/schema.d.ts.map +1 -1
  299. package/dist/shared/datasources/external/facebook/posts/schema.js +29 -36
  300. package/dist/shared/datasources/external/facebook/posts/schema.js.map +1 -1
  301. package/dist/shared/datasources/external/http-json/fetcher.d.ts +7 -3
  302. package/dist/shared/datasources/external/http-json/fetcher.d.ts.map +1 -1
  303. package/dist/shared/datasources/external/http-json/fetcher.js +16 -28
  304. package/dist/shared/datasources/external/http-json/fetcher.js.map +1 -1
  305. package/dist/shared/datasources/external/http-json/options.d.ts +10 -5
  306. package/dist/shared/datasources/external/http-json/options.d.ts.map +1 -1
  307. package/dist/shared/datasources/external/http-json/options.js +8 -11
  308. package/dist/shared/datasources/external/http-json/options.js.map +1 -1
  309. package/dist/shared/datasources/external/http-json/schema.d.ts +9 -4
  310. package/dist/shared/datasources/external/http-json/schema.d.ts.map +1 -1
  311. package/dist/shared/datasources/external/http-json/schema.js +6 -10
  312. package/dist/shared/datasources/external/http-json/schema.js.map +1 -1
  313. package/dist/shared/datasources/external/instagram/feed/fetcher.d.ts +8 -5
  314. package/dist/shared/datasources/external/instagram/feed/fetcher.d.ts.map +1 -1
  315. package/dist/shared/datasources/external/instagram/feed/fetcher.js +26 -28
  316. package/dist/shared/datasources/external/instagram/feed/fetcher.js.map +1 -1
  317. package/dist/shared/datasources/external/instagram/feed/schema.d.ts +22 -17
  318. package/dist/shared/datasources/external/instagram/feed/schema.d.ts.map +1 -1
  319. package/dist/shared/datasources/external/instagram/feed/schema.js +26 -29
  320. package/dist/shared/datasources/external/instagram/feed/schema.js.map +1 -1
  321. package/dist/shared/datasources/external/mastodon/account/fetcher.d.ts +7 -4
  322. package/dist/shared/datasources/external/mastodon/account/fetcher.d.ts.map +1 -1
  323. package/dist/shared/datasources/external/mastodon/account/fetcher.js +10 -8
  324. package/dist/shared/datasources/external/mastodon/account/fetcher.js.map +1 -1
  325. package/dist/shared/datasources/external/mastodon/account/schema.d.ts +43 -38
  326. package/dist/shared/datasources/external/mastodon/account/schema.d.ts.map +1 -1
  327. package/dist/shared/datasources/external/mastodon/account/schema.js +42 -8
  328. package/dist/shared/datasources/external/mastodon/account/schema.js.map +1 -1
  329. package/dist/shared/datasources/external/mastodon/options.d.ts +9 -4
  330. package/dist/shared/datasources/external/mastodon/options.d.ts.map +1 -1
  331. package/dist/shared/datasources/external/mastodon/options.js +5 -10
  332. package/dist/shared/datasources/external/mastodon/options.js.map +1 -1
  333. package/dist/shared/datasources/external/mastodon/status/fetcher.d.ts +7 -4
  334. package/dist/shared/datasources/external/mastodon/status/fetcher.d.ts.map +1 -1
  335. package/dist/shared/datasources/external/mastodon/status/fetcher.js +20 -31
  336. package/dist/shared/datasources/external/mastodon/status/fetcher.js.map +1 -1
  337. package/dist/shared/datasources/external/mastodon/status/sample.array.d.ts +50 -47
  338. package/dist/shared/datasources/external/mastodon/status/sample.array.d.ts.map +1 -1
  339. package/dist/shared/datasources/external/mastodon/status/sample.array.js +54 -62
  340. package/dist/shared/datasources/external/mastodon/status/sample.array.js.map +1 -1
  341. package/dist/shared/datasources/external/mastodon/status/sample.single.d.ts +50 -47
  342. package/dist/shared/datasources/external/mastodon/status/sample.single.d.ts.map +1 -1
  343. package/dist/shared/datasources/external/mastodon/status/sample.single.js +54 -60
  344. package/dist/shared/datasources/external/mastodon/status/sample.single.js.map +1 -1
  345. package/dist/shared/datasources/external/mastodon/status/schema.d.ts +252 -247
  346. package/dist/shared/datasources/external/mastodon/status/schema.d.ts.map +1 -1
  347. package/dist/shared/datasources/external/mastodon/status/schema.js +108 -108
  348. package/dist/shared/datasources/external/mastodon/status/schema.js.map +1 -1
  349. package/dist/shared/datasources/external/meta/oauth/config.d.ts +29 -25
  350. package/dist/shared/datasources/external/meta/oauth/config.d.ts.map +1 -1
  351. package/dist/shared/datasources/external/meta/oauth/config.js +15 -20
  352. package/dist/shared/datasources/external/meta/oauth/config.js.map +1 -1
  353. package/dist/shared/datasources/external/meta/options.d.ts +9 -4
  354. package/dist/shared/datasources/external/meta/options.d.ts.map +1 -1
  355. package/dist/shared/datasources/external/meta/options.js +5 -10
  356. package/dist/shared/datasources/external/meta/options.js.map +1 -1
  357. package/dist/shared/datasources/external/rss/fetcher.d.ts +7 -4
  358. package/dist/shared/datasources/external/rss/fetcher.d.ts.map +1 -1
  359. package/dist/shared/datasources/external/rss/fetcher.js +14 -25
  360. package/dist/shared/datasources/external/rss/fetcher.js.map +1 -1
  361. package/dist/shared/datasources/external/rss/options.d.ts +9 -4
  362. package/dist/shared/datasources/external/rss/options.d.ts.map +1 -1
  363. package/dist/shared/datasources/external/rss/options.js +5 -10
  364. package/dist/shared/datasources/external/rss/options.js.map +1 -1
  365. package/dist/shared/datasources/external/rss/sample.js +25 -0
  366. package/dist/shared/datasources/external/rss/sample.js.map +1 -0
  367. package/dist/shared/datasources/external/rss/schema.d.ts +13 -8
  368. package/dist/shared/datasources/external/rss/schema.d.ts.map +1 -1
  369. package/dist/shared/datasources/external/rss/schema.js +30 -8
  370. package/dist/shared/datasources/external/rss/schema.js.map +1 -1
  371. package/dist/shared/datasources/external/threads/media/fetcher.d.ts +9 -5
  372. package/dist/shared/datasources/external/threads/media/fetcher.d.ts.map +1 -1
  373. package/dist/shared/datasources/external/threads/media/fetcher.js +37 -46
  374. package/dist/shared/datasources/external/threads/media/fetcher.js.map +1 -1
  375. package/dist/shared/datasources/external/threads/media/schema.d.ts +29 -24
  376. package/dist/shared/datasources/external/threads/media/schema.d.ts.map +1 -1
  377. package/dist/shared/datasources/external/threads/media/schema.js +32 -36
  378. package/dist/shared/datasources/external/threads/media/schema.js.map +1 -1
  379. package/dist/shared/datasources/external/tiktok/oauth/config.d.ts +31 -27
  380. package/dist/shared/datasources/external/tiktok/oauth/config.d.ts.map +1 -1
  381. package/dist/shared/datasources/external/tiktok/oauth/config.js +15 -18
  382. package/dist/shared/datasources/external/tiktok/oauth/config.js.map +1 -1
  383. package/dist/shared/datasources/external/tiktok/video/fetcher.d.ts +8 -5
  384. package/dist/shared/datasources/external/tiktok/video/fetcher.d.ts.map +1 -1
  385. package/dist/shared/datasources/external/tiktok/video/fetcher.js +31 -33
  386. package/dist/shared/datasources/external/tiktok/video/fetcher.js.map +1 -1
  387. package/dist/shared/datasources/external/tiktok/video/options.d.ts +10 -5
  388. package/dist/shared/datasources/external/tiktok/video/options.d.ts.map +1 -1
  389. package/dist/shared/datasources/external/tiktok/video/options.js +8 -11
  390. package/dist/shared/datasources/external/tiktok/video/options.js.map +1 -1
  391. package/dist/shared/datasources/external/tiktok/video/schema.d.ts +24 -19
  392. package/dist/shared/datasources/external/tiktok/video/schema.d.ts.map +1 -1
  393. package/dist/shared/datasources/external/tiktok/video/schema.js +23 -30
  394. package/dist/shared/datasources/external/tiktok/video/schema.js.map +1 -1
  395. package/dist/shared/datasources/external/youtube/list/fetcher.d.ts +8 -5
  396. package/dist/shared/datasources/external/youtube/list/fetcher.d.ts.map +1 -1
  397. package/dist/shared/datasources/external/youtube/list/fetcher.js +20 -31
  398. package/dist/shared/datasources/external/youtube/list/fetcher.js.map +1 -1
  399. package/dist/shared/datasources/external/youtube/list/options.d.ts +13 -8
  400. package/dist/shared/datasources/external/youtube/list/options.d.ts.map +1 -1
  401. package/dist/shared/datasources/external/youtube/list/options.js +11 -14
  402. package/dist/shared/datasources/external/youtube/list/options.js.map +1 -1
  403. package/dist/shared/datasources/external/youtube/list/sample.js +33 -0
  404. package/dist/shared/datasources/external/youtube/list/sample.js.map +1 -0
  405. package/dist/shared/datasources/external/youtube/list/schema.d.ts +33 -28
  406. package/dist/shared/datasources/external/youtube/list/schema.d.ts.map +1 -1
  407. package/dist/shared/datasources/external/youtube/list/schema.js +36 -8
  408. package/dist/shared/datasources/external/youtube/list/schema.js.map +1 -1
  409. package/dist/shared/datasources/external/youtube/oauth/config.d.ts +22 -18
  410. package/dist/shared/datasources/external/youtube/oauth/config.d.ts.map +1 -1
  411. package/dist/shared/datasources/external/youtube/oauth/config.js +15 -18
  412. package/dist/shared/datasources/external/youtube/oauth/config.js.map +1 -1
  413. package/dist/shared/datasources/fetcher.d.ts +10 -6
  414. package/dist/shared/datasources/fetcher.d.ts.map +1 -1
  415. package/dist/shared/datasources/fetcher.js +1 -3
  416. package/dist/shared/datasources/internal/blog/schema.d.ts +20 -15
  417. package/dist/shared/datasources/internal/blog/schema.d.ts.map +1 -1
  418. package/dist/shared/datasources/internal/blog/schema.js +59 -75
  419. package/dist/shared/datasources/internal/blog/schema.js.map +1 -1
  420. package/dist/shared/datasources/internal/changelog/schema.d.ts +15 -10
  421. package/dist/shared/datasources/internal/changelog/schema.d.ts.map +1 -1
  422. package/dist/shared/datasources/internal/changelog/schema.js +36 -51
  423. package/dist/shared/datasources/internal/changelog/schema.js.map +1 -1
  424. package/dist/shared/datasources/internal/contact-info/schema.d.ts +21 -16
  425. package/dist/shared/datasources/internal/contact-info/schema.d.ts.map +1 -1
  426. package/dist/shared/datasources/internal/contact-info/schema.js +21 -25
  427. package/dist/shared/datasources/internal/contact-info/schema.js.map +1 -1
  428. package/dist/shared/datasources/internal/cv/schema.d.ts +71 -66
  429. package/dist/shared/datasources/internal/cv/schema.d.ts.map +1 -1
  430. package/dist/shared/datasources/internal/cv/schema.js +155 -222
  431. package/dist/shared/datasources/internal/cv/schema.js.map +1 -1
  432. package/dist/shared/datasources/internal/faq/schema.d.ts +13 -8
  433. package/dist/shared/datasources/internal/faq/schema.d.ts.map +1 -1
  434. package/dist/shared/datasources/internal/faq/schema.js +20 -30
  435. package/dist/shared/datasources/internal/faq/schema.js.map +1 -1
  436. package/dist/shared/datasources/internal/job-board/schema.d.ts +86 -81
  437. package/dist/shared/datasources/internal/job-board/schema.d.ts.map +1 -1
  438. package/dist/shared/datasources/internal/job-board/schema.js +194 -224
  439. package/dist/shared/datasources/internal/job-board/schema.js.map +1 -1
  440. package/dist/shared/datasources/internal/links/schema.d.ts +12 -7
  441. package/dist/shared/datasources/internal/links/schema.d.ts.map +1 -1
  442. package/dist/shared/datasources/internal/links/schema.js +20 -8
  443. package/dist/shared/datasources/internal/links/schema.js.map +1 -1
  444. package/dist/shared/datasources/internal/recipes/schema.d.ts +19 -14
  445. package/dist/shared/datasources/internal/recipes/schema.d.ts.map +1 -1
  446. package/dist/shared/datasources/internal/recipes/schema.js +23 -45
  447. package/dist/shared/datasources/internal/recipes/schema.js.map +1 -1
  448. package/dist/shared/datasources/internal/restaurant/schema.d.ts +82 -77
  449. package/dist/shared/datasources/internal/restaurant/schema.d.ts.map +1 -1
  450. package/dist/shared/datasources/internal/restaurant/schema.js +154 -226
  451. package/dist/shared/datasources/internal/restaurant/schema.js.map +1 -1
  452. package/dist/shared/datasources/samples.d.ts +7 -3
  453. package/dist/shared/datasources/samples.d.ts.map +1 -1
  454. package/dist/shared/datasources/samples.js +9 -69
  455. package/dist/shared/datasources/samples.js.map +1 -1
  456. package/dist/shared/datasources/schemas.d.ts +43 -38
  457. package/dist/shared/datasources/schemas.d.ts.map +1 -1
  458. package/dist/shared/datasources/schemas.js +10 -34
  459. package/dist/shared/datasources/schemas.js.map +1 -1
  460. package/dist/shared/datasources/types.d.ts +142 -138
  461. package/dist/shared/datasources/types.d.ts.map +1 -1
  462. package/dist/shared/datasources/types.js +384 -20
  463. package/dist/shared/datasources/types.js.map +1 -1
  464. package/dist/shared/datasources/utils.d.ts +8 -4
  465. package/dist/shared/datasources/utils.d.ts.map +1 -1
  466. package/dist/shared/datasources/utils.js +15 -12
  467. package/dist/shared/datasources/utils.js.map +1 -1
  468. package/dist/shared/datasources.d.ts +22 -9
  469. package/dist/shared/datasources.d.ts.map +1 -1
  470. package/dist/shared/datasources.js +65 -44
  471. package/dist/shared/datasources.js.map +1 -1
  472. package/dist/shared/env.d.ts +25 -21
  473. package/dist/shared/env.d.ts.map +1 -1
  474. package/dist/shared/env.js +1 -3
  475. package/dist/shared/errors.d.ts +2 -2
  476. package/dist/shared/errors.js +2 -9
  477. package/dist/shared/images.d.ts +21 -16
  478. package/dist/shared/images.d.ts.map +1 -1
  479. package/dist/shared/images.js +24 -11
  480. package/dist/shared/images.js.map +1 -1
  481. package/dist/shared/index.d.ts +4 -2
  482. package/dist/shared/index.d.ts.map +1 -1
  483. package/dist/shared/index.js +4 -10
  484. package/dist/shared/index.js.map +1 -1
  485. package/dist/shared/layout-constants.d.ts +8 -5
  486. package/dist/shared/layout-constants.d.ts.map +1 -1
  487. package/dist/shared/layout-constants.js +15 -15
  488. package/dist/shared/layout-constants.js.map +1 -1
  489. package/dist/shared/manifest.d.ts +17 -12
  490. package/dist/shared/manifest.d.ts.map +1 -1
  491. package/dist/shared/manifest.js +26 -52
  492. package/dist/shared/manifest.js.map +1 -1
  493. package/dist/shared/oauth.d.ts +14 -9
  494. package/dist/shared/oauth.d.ts.map +1 -1
  495. package/dist/shared/oauth.js +14 -9
  496. package/dist/shared/oauth.js.map +1 -1
  497. package/dist/shared/page.d.ts +250 -241
  498. package/dist/shared/page.d.ts.map +1 -1
  499. package/dist/shared/page.js +29 -61
  500. package/dist/shared/page.js.map +1 -1
  501. package/dist/shared/prompt.d.ts +8 -3
  502. package/dist/shared/prompt.d.ts.map +1 -1
  503. package/dist/shared/prompt.js +10 -8
  504. package/dist/shared/prompt.js.map +1 -1
  505. package/dist/shared/responsive.d.ts +8 -3
  506. package/dist/shared/responsive.d.ts.map +1 -1
  507. package/dist/shared/responsive.js +5 -10
  508. package/dist/shared/responsive.js.map +1 -1
  509. package/dist/shared/site.d.ts +629 -615
  510. package/dist/shared/site.d.ts.map +1 -1
  511. package/dist/shared/site.js +56 -69
  512. package/dist/shared/site.js.map +1 -1
  513. package/dist/shared/sitemap.d.ts +21 -14
  514. package/dist/shared/sitemap.d.ts.map +1 -1
  515. package/dist/shared/sitemap.js +29 -62
  516. package/dist/shared/sitemap.js.map +1 -1
  517. package/dist/shared/social-icons.d.ts +6 -3
  518. package/dist/shared/social-icons.d.ts.map +1 -1
  519. package/dist/shared/social-icons.js +309 -313
  520. package/dist/shared/social-icons.js.map +1 -1
  521. package/dist/shared/theme.d.ts +83 -78
  522. package/dist/shared/theme.d.ts.map +1 -1
  523. package/dist/shared/theme.js +261 -18
  524. package/dist/shared/theme.js.map +1 -1
  525. package/dist/shared/themes/color-system.d.ts +16 -12
  526. package/dist/shared/themes/color-system.d.ts.map +1 -1
  527. package/dist/shared/themes/color-system.js +81 -89
  528. package/dist/shared/themes/color-system.js.map +1 -1
  529. package/dist/shared/utils/canvas-data-uri.d.ts +4 -1
  530. package/dist/shared/utils/canvas-data-uri.d.ts.map +1 -1
  531. package/dist/shared/utils/canvas-data-uri.js +4 -8
  532. package/dist/shared/utils/canvas-data-uri.js.map +1 -1
  533. package/dist/shared/utils/invariant.d.ts +4 -1
  534. package/dist/shared/utils/invariant.d.ts.map +1 -1
  535. package/dist/shared/utils/invariant.js +10 -8
  536. package/dist/shared/utils/invariant.js.map +1 -1
  537. package/dist/shared/utils/json-date.d.ts +9 -4
  538. package/dist/shared/utils/json-date.d.ts.map +1 -1
  539. package/dist/shared/utils/json-date.js +6 -8
  540. package/dist/shared/utils/json-date.js.map +1 -1
  541. package/dist/shared/utils/llm.d.ts +7 -2
  542. package/dist/shared/utils/llm.d.ts.map +1 -1
  543. package/dist/shared/utils/llm.js +57 -8
  544. package/dist/shared/utils/llm.js.map +1 -1
  545. package/dist/shared/utils/merge.d.ts +4 -1
  546. package/dist/shared/utils/merge.d.ts.map +1 -1
  547. package/dist/shared/utils/merge.js +11 -8
  548. package/dist/shared/utils/merge.js.map +1 -1
  549. package/dist/shared/utils/object-hash.d.ts +4 -1
  550. package/dist/shared/utils/object-hash.d.ts.map +1 -1
  551. package/dist/shared/utils/object-hash.js +8 -13
  552. package/dist/shared/utils/object-hash.js.map +1 -1
  553. package/dist/shared/utils/schema.d.ts +13 -15
  554. package/dist/shared/utils/schema.d.ts.map +1 -1
  555. package/dist/shared/utils/schema.js +91 -16
  556. package/dist/shared/utils/schema.js.map +1 -1
  557. package/dist/shared/utils/string-enum.d.ts +13 -8
  558. package/dist/shared/utils/string-enum.d.ts.map +1 -1
  559. package/dist/shared/utils/string-enum.js +18 -8
  560. package/dist/shared/utils/string-enum.js.map +1 -1
  561. package/dist/shared/utils/try-catch.d.ts +4 -2
  562. package/dist/shared/utils/try-catch.d.ts.map +1 -1
  563. package/dist/shared/utils/try-catch.js +12 -13
  564. package/dist/shared/utils/try-catch.js.map +1 -1
  565. package/package.json +10 -20
  566. package/src/shared/ai/schemas.ts +6 -4
  567. package/src/shared/ai/types.ts +2 -2
  568. package/src/shared/attributes.ts +10 -6
  569. package/src/shared/bricks/manifests/card.manifest.ts +27 -173
  570. package/src/shared/bricks/manifests/hero.manifest.ts +44 -249
  571. package/src/shared/bricks/manifests/html.manifest.ts +6 -0
  572. package/src/shared/bricks/manifests/icon.manifest.ts +1 -89
  573. package/src/shared/bricks/manifests/image.manifest.ts +1 -9
  574. package/src/shared/bricks/manifests/images-gallery.manifest.ts +8 -0
  575. package/src/shared/bricks/manifests/map.manifest.ts +9 -65
  576. package/src/shared/bricks/manifests/sidebar.manifest.ts +0 -1
  577. package/src/shared/bricks/manifests/social-links.manifest.ts +0 -1
  578. package/src/shared/bricks/manifests/spacer.manifest.ts +0 -1
  579. package/src/shared/bricks/manifests/table.manifest.ts +6 -0
  580. package/src/shared/bricks/manifests/tabs.manifest.ts +12 -429
  581. package/src/shared/bricks/manifests/testimonials.manifest.ts +28 -226
  582. package/src/shared/bricks/manifests/text.manifest.ts +16 -44
  583. package/src/shared/bricks/props/background.ts +2 -1
  584. package/src/shared/bricks/props/color.ts +6 -2
  585. package/src/shared/bricks/props/common.ts +2 -8
  586. package/src/shared/bricks/props/dynamic.ts +4 -1
  587. package/src/shared/bricks/props/grow.ts +11 -0
  588. package/src/shared/bricks/props/image.ts +41 -2
  589. package/src/shared/bricks/props/string.ts +2 -0
  590. package/src/shared/bricks.ts +35 -24
  591. package/src/shared/datarecords/types.ts +41 -33
  592. package/src/shared/datasources/external/rss/fetcher.ts +0 -6
  593. package/src/shared/datasources.ts +13 -5
  594. package/src/shared/page.ts +1 -0
  595. package/src/shared/prompt.ts +1 -1
  596. package/src/shared/site.ts +3 -1
  597. package/src/shared/sitemap.ts +7 -0
  598. package/src/shared/utils/schema.ts +31 -52
  599. package/src/shared/utils/tests/schema.test.ts +239 -7
  600. package/dist/shared/ai/types.js.map +0 -1
  601. package/dist/shared/ajv.d.ts +0 -7
  602. package/dist/shared/ajv.d.ts.map +0 -1
  603. package/dist/shared/ajv.js +0 -6865
  604. package/dist/shared/ajv.js.map +0 -1
  605. package/dist/shared/analytics/types.js.map +0 -1
  606. package/dist/shared/bricks/manifests/_types.js.map +0 -1
  607. package/dist/shared/bricks/manifests/tests/header.manifest.test.d.ts +0 -2
  608. package/dist/shared/bricks/manifests/tests/header.manifest.test.d.ts.map +0 -1
  609. package/dist/shared/bricks/props/tests/background.test.d.ts +0 -2
  610. package/dist/shared/bricks/props/tests/background.test.d.ts.map +0 -1
  611. package/dist/shared/bricks/props/tests/border.test.d.ts +0 -2
  612. package/dist/shared/bricks/props/tests/border.test.d.ts.map +0 -1
  613. package/dist/shared/bricks/props/tests/effects.test.d.ts +0 -2
  614. package/dist/shared/bricks/props/tests/effects.test.d.ts.map +0 -1
  615. package/dist/shared/bricks/props/tests/helpers.test.d.ts +0 -2
  616. package/dist/shared/bricks/props/tests/helpers.test.d.ts.map +0 -1
  617. package/dist/shared/bricks/props/tests/image.test.d.ts +0 -2
  618. package/dist/shared/bricks/props/tests/image.test.d.ts.map +0 -1
  619. package/dist/shared/bricks/props/tests/string.test.d.ts +0 -2
  620. package/dist/shared/bricks/props/tests/string.test.d.ts.map +0 -1
  621. package/dist/shared/bricks/props/types.js.map +0 -1
  622. package/dist/shared/chunk-2BPYOTKA.js +0 -21
  623. package/dist/shared/chunk-2BPYOTKA.js.map +0 -1
  624. package/dist/shared/chunk-2O5HVPID.js +0 -41
  625. package/dist/shared/chunk-2O5HVPID.js.map +0 -1
  626. package/dist/shared/chunk-2U5U3CCJ.js +0 -90
  627. package/dist/shared/chunk-2U5U3CCJ.js.map +0 -1
  628. package/dist/shared/chunk-3ZDN5BWN.js +0 -18
  629. package/dist/shared/chunk-3ZDN5BWN.js.map +0 -1
  630. package/dist/shared/chunk-4KY7OZWD.js +0 -368
  631. package/dist/shared/chunk-4KY7OZWD.js.map +0 -1
  632. package/dist/shared/chunk-55C6MTX2.js +0 -21
  633. package/dist/shared/chunk-55C6MTX2.js.map +0 -1
  634. package/dist/shared/chunk-5RCC2STG.js +0 -58
  635. package/dist/shared/chunk-5RCC2STG.js.map +0 -1
  636. package/dist/shared/chunk-6AE7UD73.js +0 -272
  637. package/dist/shared/chunk-6AE7UD73.js.map +0 -1
  638. package/dist/shared/chunk-6TVVKUWM.js +0 -15
  639. package/dist/shared/chunk-6TVVKUWM.js.map +0 -1
  640. package/dist/shared/chunk-6WIMWLCJ.js +0 -17
  641. package/dist/shared/chunk-6WIMWLCJ.js.map +0 -1
  642. package/dist/shared/chunk-7LAWWRU7.js +0 -21
  643. package/dist/shared/chunk-7LAWWRU7.js.map +0 -1
  644. package/dist/shared/chunk-7U5WPHXB.js +0 -346
  645. package/dist/shared/chunk-7U5WPHXB.js.map +0 -1
  646. package/dist/shared/chunk-BHARJBEK.js +0 -27
  647. package/dist/shared/chunk-BHARJBEK.js.map +0 -1
  648. package/dist/shared/chunk-BZTWZC77.js +0 -530
  649. package/dist/shared/chunk-BZTWZC77.js.map +0 -1
  650. package/dist/shared/chunk-DCM4732T.js +0 -146
  651. package/dist/shared/chunk-DCM4732T.js.map +0 -1
  652. package/dist/shared/chunk-DRQKKPTX.js +0 -86
  653. package/dist/shared/chunk-DRQKKPTX.js.map +0 -1
  654. package/dist/shared/chunk-EID5HPF3.js +0 -63
  655. package/dist/shared/chunk-EID5HPF3.js.map +0 -1
  656. package/dist/shared/chunk-EMF5TCPX.js +0 -389
  657. package/dist/shared/chunk-EMF5TCPX.js.map +0 -1
  658. package/dist/shared/chunk-FD7YYFRI.js +0 -225
  659. package/dist/shared/chunk-FD7YYFRI.js.map +0 -1
  660. package/dist/shared/chunk-FHA4DFIM.js +0 -537
  661. package/dist/shared/chunk-FHA4DFIM.js.map +0 -1
  662. package/dist/shared/chunk-FUUSAMN3.js +0 -847
  663. package/dist/shared/chunk-FUUSAMN3.js.map +0 -1
  664. package/dist/shared/chunk-GDYCCB3B.js +0 -22
  665. package/dist/shared/chunk-GDYCCB3B.js.map +0 -1
  666. package/dist/shared/chunk-GLV6QIIM.js +0 -41
  667. package/dist/shared/chunk-GLV6QIIM.js.map +0 -1
  668. package/dist/shared/chunk-H6TMBELF.js +0 -374
  669. package/dist/shared/chunk-H6TMBELF.js.map +0 -1
  670. package/dist/shared/chunk-HPCCD6V5.js +0 -17
  671. package/dist/shared/chunk-HPCCD6V5.js.map +0 -1
  672. package/dist/shared/chunk-HUWMIXNN.js +0 -570
  673. package/dist/shared/chunk-HUWMIXNN.js.map +0 -1
  674. package/dist/shared/chunk-HY7JOP3J.js +0 -150
  675. package/dist/shared/chunk-HY7JOP3J.js.map +0 -1
  676. package/dist/shared/chunk-IEMCCHM4.js +0 -389
  677. package/dist/shared/chunk-IEMCCHM4.js.map +0 -1
  678. package/dist/shared/chunk-J45LSQT6.js +0 -56
  679. package/dist/shared/chunk-J45LSQT6.js.map +0 -1
  680. package/dist/shared/chunk-JF52BBFD.js +0 -461
  681. package/dist/shared/chunk-JF52BBFD.js.map +0 -1
  682. package/dist/shared/chunk-JLDAS3VE.js +0 -498
  683. package/dist/shared/chunk-JLDAS3VE.js.map +0 -1
  684. package/dist/shared/chunk-JSDKK5QN.js +0 -31
  685. package/dist/shared/chunk-JSDKK5QN.js.map +0 -1
  686. package/dist/shared/chunk-JW7MQAU4.js +0 -354
  687. package/dist/shared/chunk-JW7MQAU4.js.map +0 -1
  688. package/dist/shared/chunk-KKWT3OXF.js +0 -60
  689. package/dist/shared/chunk-KKWT3OXF.js.map +0 -1
  690. package/dist/shared/chunk-KNREHAPN.js +0 -13
  691. package/dist/shared/chunk-KNREHAPN.js.map +0 -1
  692. package/dist/shared/chunk-KQH6V22E.js +0 -213
  693. package/dist/shared/chunk-KQH6V22E.js.map +0 -1
  694. package/dist/shared/chunk-KT7SSWMM.js +0 -24
  695. package/dist/shared/chunk-KT7SSWMM.js.map +0 -1
  696. package/dist/shared/chunk-LGDDJJHK.js +0 -616
  697. package/dist/shared/chunk-LGDDJJHK.js.map +0 -1
  698. package/dist/shared/chunk-LGGPCCCY.js +0 -59
  699. package/dist/shared/chunk-LGGPCCCY.js.map +0 -1
  700. package/dist/shared/chunk-LPAQ47C6.js +0 -422
  701. package/dist/shared/chunk-LPAQ47C6.js.map +0 -1
  702. package/dist/shared/chunk-MO6CRLQA.js +0 -73
  703. package/dist/shared/chunk-MO6CRLQA.js.map +0 -1
  704. package/dist/shared/chunk-MYOLWTB2.js +0 -516
  705. package/dist/shared/chunk-MYOLWTB2.js.map +0 -1
  706. package/dist/shared/chunk-O24RDXZS.js +0 -505
  707. package/dist/shared/chunk-O24RDXZS.js.map +0 -1
  708. package/dist/shared/chunk-O5PQISX4.js +0 -51
  709. package/dist/shared/chunk-O5PQISX4.js.map +0 -1
  710. package/dist/shared/chunk-OJ6KL7FU.js +0 -32
  711. package/dist/shared/chunk-OJ6KL7FU.js.map +0 -1
  712. package/dist/shared/chunk-OJP4HMJT.js +0 -22
  713. package/dist/shared/chunk-OJP4HMJT.js.map +0 -1
  714. package/dist/shared/chunk-OSJ6KGPX.js +0 -16
  715. package/dist/shared/chunk-OSJ6KGPX.js.map +0 -1
  716. package/dist/shared/chunk-OXYXZHP2.js +0 -48
  717. package/dist/shared/chunk-OXYXZHP2.js.map +0 -1
  718. package/dist/shared/chunk-PF75LW33.js +0 -834
  719. package/dist/shared/chunk-PF75LW33.js.map +0 -1
  720. package/dist/shared/chunk-QEJGPYTB.js +0 -462
  721. package/dist/shared/chunk-QEJGPYTB.js.map +0 -1
  722. package/dist/shared/chunk-QLQVDZIL.js +0 -11
  723. package/dist/shared/chunk-QLQVDZIL.js.map +0 -1
  724. package/dist/shared/chunk-SK2O7GFC.js +0 -229
  725. package/dist/shared/chunk-SK2O7GFC.js.map +0 -1
  726. package/dist/shared/chunk-SQXZNGQF.js +0 -55
  727. package/dist/shared/chunk-SQXZNGQF.js.map +0 -1
  728. package/dist/shared/chunk-SRYBJ6NQ.js +0 -83
  729. package/dist/shared/chunk-SRYBJ6NQ.js.map +0 -1
  730. package/dist/shared/chunk-T6C3NG2L.js +0 -422
  731. package/dist/shared/chunk-T6C3NG2L.js.map +0 -1
  732. package/dist/shared/chunk-TBT2PTGB.js +0 -440
  733. package/dist/shared/chunk-TBT2PTGB.js.map +0 -1
  734. package/dist/shared/chunk-TKMWY2VN.js +0 -18
  735. package/dist/shared/chunk-TKMWY2VN.js.map +0 -1
  736. package/dist/shared/chunk-U4KZUX37.js +0 -104
  737. package/dist/shared/chunk-U4KZUX37.js.map +0 -1
  738. package/dist/shared/chunk-VSLRTXLF.js +0 -37
  739. package/dist/shared/chunk-VSLRTXLF.js.map +0 -1
  740. package/dist/shared/chunk-VTCHJT4O.js +0 -67
  741. package/dist/shared/chunk-VTCHJT4O.js.map +0 -1
  742. package/dist/shared/chunk-W2RFDII5.js +0 -129
  743. package/dist/shared/chunk-W2RFDII5.js.map +0 -1
  744. package/dist/shared/chunk-WPZV3LYL.js +0 -24
  745. package/dist/shared/chunk-WPZV3LYL.js.map +0 -1
  746. package/dist/shared/chunk-XCWMZVF5.js +0 -89
  747. package/dist/shared/chunk-XCWMZVF5.js.map +0 -1
  748. package/dist/shared/chunk-XCZVD5H6.js +0 -13
  749. package/dist/shared/chunk-XCZVD5H6.js.map +0 -1
  750. package/dist/shared/chunk-XFZQGRRL.js +0 -101
  751. package/dist/shared/chunk-XFZQGRRL.js.map +0 -1
  752. package/dist/shared/chunk-XK2CERPB.js +0 -364
  753. package/dist/shared/chunk-XK2CERPB.js.map +0 -1
  754. package/dist/shared/chunk-XNRSL6FL.js +0 -78
  755. package/dist/shared/chunk-XNRSL6FL.js.map +0 -1
  756. package/dist/shared/chunk-XXPSM6UA.js +0 -71
  757. package/dist/shared/chunk-XXPSM6UA.js.map +0 -1
  758. package/dist/shared/chunk-XZ6WJZHN.js +0 -10
  759. package/dist/shared/chunk-XZ6WJZHN.js.map +0 -1
  760. package/dist/shared/chunk-ZEFOWKYP.js +0 -44
  761. package/dist/shared/chunk-ZEFOWKYP.js.map +0 -1
  762. package/dist/shared/chunk-ZGQ3AQBG.js +0 -33
  763. package/dist/shared/chunk-ZGQ3AQBG.js.map +0 -1
  764. package/dist/shared/chunk-ZRBTAC3G.js +0 -53
  765. package/dist/shared/chunk-ZRBTAC3G.js.map +0 -1
  766. package/dist/shared/chunk-ZVJNRKT4.js +0 -129
  767. package/dist/shared/chunk-ZVJNRKT4.js.map +0 -1
  768. package/dist/shared/datasources/external/facebook/posts/sample.d.ts +0 -26
  769. package/dist/shared/datasources/external/facebook/posts/sample.d.ts.map +0 -1
  770. package/dist/shared/datasources/external/facebook/posts/tests/fetcher.test.d.ts +0 -2
  771. package/dist/shared/datasources/external/facebook/posts/tests/fetcher.test.d.ts.map +0 -1
  772. package/dist/shared/datasources/external/http-json/tests/fetcher.test.d.ts +0 -2
  773. package/dist/shared/datasources/external/http-json/tests/fetcher.test.d.ts.map +0 -1
  774. package/dist/shared/datasources/external/instagram/feed/sample.d.ts +0 -3
  775. package/dist/shared/datasources/external/instagram/feed/sample.d.ts.map +0 -1
  776. package/dist/shared/datasources/external/instagram/feed/tests/fetcher.test.d.ts +0 -2
  777. package/dist/shared/datasources/external/instagram/feed/tests/fetcher.test.d.ts.map +0 -1
  778. package/dist/shared/datasources/external/mastodon/account/sample.d.ts +0 -30
  779. package/dist/shared/datasources/external/mastodon/account/sample.d.ts.map +0 -1
  780. package/dist/shared/datasources/external/mastodon/account/tests/fetcher.test.d.ts +0 -2
  781. package/dist/shared/datasources/external/mastodon/account/tests/fetcher.test.d.ts.map +0 -1
  782. package/dist/shared/datasources/external/mastodon/status/tests/fetcher.test.d.ts +0 -2
  783. package/dist/shared/datasources/external/mastodon/status/tests/fetcher.test.d.ts.map +0 -1
  784. package/dist/shared/datasources/external/rss/sample.d.ts +0 -3
  785. package/dist/shared/datasources/external/rss/sample.d.ts.map +0 -1
  786. package/dist/shared/datasources/external/threads/media/sample.d.ts +0 -40
  787. package/dist/shared/datasources/external/threads/media/sample.d.ts.map +0 -1
  788. package/dist/shared/datasources/external/tiktok/video/sample.d.ts +0 -15
  789. package/dist/shared/datasources/external/tiktok/video/sample.d.ts.map +0 -1
  790. package/dist/shared/datasources/external/youtube/list/sample.d.ts +0 -29
  791. package/dist/shared/datasources/external/youtube/list/sample.d.ts.map +0 -1
  792. package/dist/shared/datasources/fetcher.js.map +0 -1
  793. package/dist/shared/env.js.map +0 -1
  794. package/dist/shared/errors.d.ts.map +0 -1
  795. package/dist/shared/errors.js.map +0 -1
  796. package/dist/shared/tests/attributes.test.d.ts +0 -2
  797. package/dist/shared/tests/attributes.test.d.ts.map +0 -1
  798. package/dist/shared/themes/tests/color-system.test.d.ts +0 -2
  799. package/dist/shared/themes/tests/color-system.test.d.ts.map +0 -1
  800. package/dist/shared/utils/tests/schema.test.d.ts +0 -2
  801. package/dist/shared/utils/tests/schema.test.d.ts.map +0 -1
  802. package/src/shared/ajv.ts +0 -123
@@ -1,530 +0,0 @@
1
- /*! Upstart.gg - Copyright (C) 2024 Flippable - https://github.com/upstart-gg/upstart/blob/main/LICENSE */
2
-
3
- import {
4
- border,
5
- rounding
6
- } from "./chunk-SRYBJ6NQ.js";
7
- import {
8
- defineProps
9
- } from "./chunk-VTCHJT4O.js";
10
- import {
11
- textContent
12
- } from "./chunk-2U5U3CCJ.js";
13
- import {
14
- image
15
- } from "./chunk-DRQKKPTX.js";
16
- import {
17
- urlOrPageId
18
- } from "./chunk-SQXZNGQF.js";
19
- import {
20
- loop
21
- } from "./chunk-XFZQGRRL.js";
22
- import {
23
- shadow
24
- } from "./chunk-5RCC2STG.js";
25
- import {
26
- colorPreset
27
- } from "./chunk-IEMCCHM4.js";
28
- import {
29
- defineBrickManifest
30
- } from "./chunk-J45LSQT6.js";
31
- import {
32
- StringEnum
33
- } from "./chunk-GDYCCB3B.js";
34
-
35
- // src/shared/bricks/manifests/card.manifest.ts
36
- import { BsCardText } from "react-icons/bs";
37
- import { Type } from "@sinclair/typebox";
38
- var manifest = defineBrickManifest({
39
- type: "card",
40
- name: "Card",
41
- description: "A card that can have a title, image, and content.",
42
- aiInstructions: `Use this brick to create visually distinct content blocks (product, feature, testimonial, event, article, CTA, etc.).
43
-
44
- Guidelines:
45
- - Button is REQUIRED.
46
- - Always provide a short action label (1-3 words) and pick a color matching semantic weight (primary/accent for primary actions, neutral/secondary for low emphasis).
47
- - Image is OPTIONAL. If present you may set imagePosition to top | middle | bottom. Default is top.
48
- - Pick middle for vertically centered feature highlights, bottom for caption-first layouts.
49
- - Set noTitle: true when the card is intentionally title-less (e.g. a quote card or pure media focus).
50
- - Do NOT include an empty title string alongside noTitle.
51
- - Use dynamic tokens (e.g. {{products.price}}) instead of duplicating literal values.
52
- - Prefer gradient presets for more visual emphasis (e.g. primary-gradient-400 with gradientDirection).
53
- - border + rounding + shadow should be cohesive: stronger borders pair well with larger rounding + moderate shadow; minimal / flat cards may use border-0 + no shadow.
54
- - For internal navigation you can supply a page ID (e.g. 'about') OR a relative/absolute URL (e.g. '/pricing', 'https://example.com').
55
- - Keep HTML inside text minimal (<strong>, <em>, <br>) \u2014 for richer structure consider multiple bricks instead.
56
- - Avoid mixing noTitle with large heading text embedded inside the text field \u2014 in that case keep a proper title.
57
- - Return ONLY valid properties defined in the schema; do not invent new ones.`,
58
- icon: BsCardText,
59
- defaultWidth: { desktop: "400px", mobile: "100%" },
60
- minWidth: { desktop: 300 },
61
- minHeight: { mobile: 200, desktop: 200 },
62
- maxWidth: { desktop: 650 },
63
- props: defineProps({
64
- colorPreset: Type.Optional(
65
- colorPreset({
66
- title: "Color preset",
67
- default: { color: "base-100" }
68
- })
69
- ),
70
- cardImage: Type.Optional(
71
- image({
72
- "ui:responsive": "desktop",
73
- metadata: {
74
- category: "content"
75
- }
76
- })
77
- ),
78
- imagePosition: Type.Optional(
79
- StringEnum(["top", "middle", "bottom"], {
80
- enumNames: ["Top", "Middle", "Bottom"],
81
- title: "Image Position",
82
- description: "Where the image should be placed in the card",
83
- default: "top",
84
- "ui:responsive": "desktop",
85
- metadata: {
86
- category: "content",
87
- filter: (manifestProps, formData) => {
88
- return !!formData.cardImage?.src;
89
- }
90
- }
91
- })
92
- ),
93
- noTitle: Type.Optional(
94
- Type.Boolean({
95
- title: "No Title",
96
- description: "Whether to hide the card title",
97
- default: false,
98
- "ui:responsive": "desktop"
99
- })
100
- ),
101
- title: Type.Optional(textContent({ title: "Title" })),
102
- text: Type.Optional(textContent({ title: "Text" })),
103
- rounding: Type.Optional(
104
- rounding({
105
- default: "rounded-md"
106
- })
107
- ),
108
- border: Type.Optional(
109
- border({
110
- // default: { width: "border", color: "border-base-300" },
111
- })
112
- ),
113
- shadow: Type.Optional(
114
- shadow({
115
- default: "shadow-sm"
116
- })
117
- ),
118
- loop: Type.Optional(loop()),
119
- button: Type.Object(
120
- {
121
- label: Type.String({
122
- title: "Button label",
123
- default: "Click me",
124
- examples: ["Learn more", "Buy now", "Sign up"],
125
- metadata: {
126
- category: "content"
127
- }
128
- }),
129
- url: urlOrPageId({
130
- title: "Button URL",
131
- description: "The URL the button should link to.",
132
- metadata: {
133
- category: "content"
134
- }
135
- }),
136
- color: Type.Optional(
137
- StringEnum(["btn-neutral", "btn-primary", "btn-secondary", "btn-accent"], {
138
- enumNames: ["Neutral", "Primary", "Secondary", "Accent"],
139
- title: "Color",
140
- default: "btn-primary"
141
- })
142
- )
143
- },
144
- { title: "Button", description: "Button displayed at the bottom of the card" }
145
- )
146
- })
147
- });
148
- var examples = [
149
- {
150
- description: "A simple card with a title and content",
151
- type: "card",
152
- props: {
153
- title: "Card Title",
154
- text: "This is the body of the card.",
155
- button: {
156
- label: "Learn more",
157
- url: "/learn-more",
158
- color: "btn-primary"
159
- }
160
- }
161
- },
162
- // IMAGE POSITION MIDDLE VARIANT
163
- {
164
- description: "Feature highlight card with centered image (imagePosition=middle)",
165
- type: "card",
166
- props: {
167
- cardImage: { src: "https://via.placeholder.com/420x240", alt: "Feature visual" },
168
- imagePosition: "middle",
169
- title: "Blazing Performance",
170
- text: "Our new engine reduces processing time by 45% while maintaining reliability.",
171
- colorPreset: { color: "primary-100" },
172
- border: { width: "border", color: "border-primary-200" },
173
- rounding: "rounded-lg",
174
- shadow: "shadow-sm",
175
- button: { label: "Learn More", url: "/features/performance", color: "btn-primary" }
176
- }
177
- },
178
- // IMAGE POSITION BOTTOM VARIANT
179
- {
180
- description: "Case study card with image at the bottom (imagePosition=bottom)",
181
- type: "card",
182
- props: {
183
- title: "Case Study: ScaleOps",
184
- text: "How ScaleOps handled 10x growth with zero downtime using our platform.",
185
- cardImage: { src: "https://via.placeholder.com/600x260", alt: "Scale graph" },
186
- imagePosition: "bottom",
187
- colorPreset: { color: "secondary-50" },
188
- rounding: "rounded-md",
189
- shadow: "shadow-sm",
190
- button: { label: "Read Study", url: "/cases/scaleops", color: "btn-secondary" }
191
- }
192
- },
193
- // NO TITLE VARIANT
194
- {
195
- description: "Quote / testimonial style card without a title (uses noTitle=true)",
196
- type: "card",
197
- props: {
198
- noTitle: true,
199
- text: '"This toolkit accelerated our launch by weeks \u2014 the component quality is outstanding."<br><em>\u2014 CTO, FinEdge</em>',
200
- colorPreset: { color: "neutral-100" },
201
- border: { width: "border", color: "border-neutral-300" },
202
- rounding: "rounded-xl",
203
- shadow: "shadow-sm",
204
- button: { label: "See More", url: "/testimonials", color: "btn-neutral" }
205
- }
206
- },
207
- // INTERNAL PAGE ID LINK VARIANT
208
- {
209
- description: "Internal navigation card using a page ID instead of a URL",
210
- type: "card",
211
- props: {
212
- title: "About Our Mission",
213
- text: "Learn how we're building an open, extensible site generation platform for modern teams.",
214
- colorPreset: { color: "base-100" },
215
- rounding: "rounded-md",
216
- button: { label: "About Us", url: "about", color: "btn-primary" }
217
- }
218
- },
219
- // GRADIENT & STRONG BORDER VARIANT
220
- {
221
- description: "High-emphasis promotional card using gradient background and thick border",
222
- type: "card",
223
- props: {
224
- title: "Limited Time Offer",
225
- text: "Upgrade now and receive a complimentary strategy session plus extended analytics access.",
226
- colorPreset: { color: "primary-gradient-400", gradientDirection: "bg-gradient-to-tr" },
227
- border: { width: "border-4", color: "border-primary-400" },
228
- rounding: "rounded-xl",
229
- shadow: "shadow-lg",
230
- button: { label: "Upgrade", url: "/pricing", color: "btn-accent" }
231
- }
232
- },
233
- // MINIMAL / FLAT VARIANT (no border, no shadow, subtle preset)
234
- {
235
- description: "Minimal flat information card (border-0, no shadow)",
236
- type: "card",
237
- props: {
238
- title: "Maintenance Window",
239
- text: "Scheduled maintenance on Saturday 02:00\u201303:00 UTC. API responses may be delayed.",
240
- colorPreset: { color: "neutral-50" },
241
- border: { width: "border-0", color: "border-neutral-200" },
242
- button: { label: "Status Page", url: "/status", color: "btn-neutral" }
243
- }
244
- },
245
- // DARK / INVERTED VARIANT
246
- {
247
- description: "Dark themed spotlight card (primary-800 background)",
248
- type: "card",
249
- props: {
250
- title: "Night Mode Preview",
251
- text: "Experience the new adaptive dark theme optimized for low ambient light environments.",
252
- colorPreset: { color: "primary-800" },
253
- border: { width: "border", color: "border-primary-600" },
254
- rounding: "rounded-lg",
255
- shadow: "shadow-md",
256
- button: { label: "Preview", url: "/themes/dark", color: "btn-primary" }
257
- }
258
- },
259
- {
260
- description: "Feature card with large padding and background",
261
- type: "card",
262
- props: {
263
- title: "Key Feature",
264
- text: "This feature provides exceptional value and enhances user experience significantly.",
265
- colorPreset: { color: "primary-50" },
266
- border: { width: "border", color: "border-primary-200" },
267
- rounding: "rounded-lg",
268
- shadow: "shadow-sm",
269
- button: {
270
- label: "Discover More",
271
- url: "/features",
272
- color: "btn-primary"
273
- }
274
- }
275
- },
276
- {
277
- description: "Blog post card with image at the bottom",
278
- type: "card",
279
- props: {
280
- title: "Future of Tech",
281
- text: "Exploring emerging trends and innovations that will shape our digital landscape in the coming decade.",
282
- cardImage: {
283
- src: "https://via.placeholder.com/400x200",
284
- alt: "Technology concept"
285
- },
286
- button: {
287
- label: "Read More",
288
- url: "/blog/{{ blogPosts.$slug }}",
289
- color: "btn-primary"
290
- }
291
- }
292
- },
293
- {
294
- description: "Minimal centered card without image",
295
- type: "card",
296
- props: {
297
- title: "Simple Announcement",
298
- text: "Important updates will be posted here regularly.",
299
- button: {
300
- label: "View Updates",
301
- url: "/updates",
302
- color: "btn-neutral"
303
- }
304
- }
305
- },
306
- {
307
- description: "Event card with multiple variants",
308
- type: "card",
309
- props: {
310
- cardImage: {
311
- src: "https://via.placeholder.com/400x250",
312
- alt: "Event venue"
313
- },
314
- title: "Annual Conference 2025",
315
- text: "Join us for three days of inspiring talks, networking opportunities, and hands-on workshops.",
316
- button: {
317
- label: "Register Now",
318
- url: "/events/conference-2025",
319
- color: "btn-primary"
320
- }
321
- }
322
- },
323
- {
324
- description: "News article card with compact layout",
325
- type: "card",
326
- props: {
327
- cardImage: {
328
- src: "https://via.placeholder.com/120x120",
329
- alt: "News thumbnail"
330
- },
331
- title: "Breaking News Update",
332
- text: "Latest developments in the ongoing story with expert analysis and community reactions.",
333
- button: {
334
- label: "Read Full Article",
335
- url: "/news/breaking-update",
336
- color: "btn-secondary"
337
- }
338
- }
339
- },
340
- {
341
- description: "Call-to-action card with prominent styling",
342
- type: "card",
343
- props: {
344
- title: "Get Started Today",
345
- text: "Transform your workflow with our powerful tools. Sign up now and get 30 days free!",
346
- button: {
347
- label: "Sign Up Now",
348
- url: "/signup",
349
- color: "btn-primary"
350
- }
351
- }
352
- },
353
- {
354
- description: "Dynamic product card using products query with pricing and details",
355
- type: "card",
356
- props: {
357
- cardImage: {
358
- src: "{{products.image}}",
359
- alt: "{{products.name}}"
360
- },
361
- title: "{{products.name}}",
362
- text: "{{products.description}}<br><strong>Price: ${{products.price}}</strong><br>Category: {{products.category}}",
363
- colorPreset: { color: "primary-50" },
364
- border: { width: "border", color: "border-primary-200" },
365
- rounding: "rounded-lg",
366
- shadow: "shadow-md",
367
- button: {
368
- label: "Buy Now",
369
- url: "{{products.purchaseUrl}}",
370
- color: "btn-primary"
371
- },
372
- loop: {
373
- over: "products"
374
- }
375
- }
376
- },
377
- {
378
- description: "Employee profile card using teamMembers query with contact information",
379
- type: "card",
380
- props: {
381
- cardImage: {
382
- src: "{{teamMembers.photo}}",
383
- alt: "Photo of {{teamMembers.fullName}}"
384
- },
385
- imagePosition: "top",
386
- title: "{{teamMembers.fullName}}",
387
- text: "<strong>{{teamMembers.position}}</strong><br>{{teamMembers.department}}<br>Email: {{teamMembers.email}}<br>Phone: {{teamMembers.phone}}",
388
- colorPreset: { color: "neutral-100" },
389
- rounding: "rounded-xl",
390
- shadow: "shadow-lg",
391
- button: {
392
- label: "Contact",
393
- url: "mailto:{{teamMembers.email}}",
394
- color: "btn-neutral"
395
- },
396
- loop: {
397
- over: "teamMembers"
398
- }
399
- }
400
- },
401
- {
402
- description: "Blog post card using blogPosts query with author and date",
403
- type: "card",
404
- props: {
405
- cardImage: {
406
- src: "{{blogPosts.featuredImage}}",
407
- alt: "{{blogPosts.title}}"
408
- },
409
- imagePosition: "top",
410
- title: "{{blogPosts.title}}",
411
- text: "{{blogPosts.excerpt}}<br><br><em>By {{blogPosts.author}} \u2022 {{blogPosts.publishDate}}</em><br>Tags: {{blogPosts.tags}}",
412
- colorPreset: { color: "secondary-50" },
413
- border: { width: "border", color: "border-secondary-300" },
414
- rounding: "rounded-md",
415
- shadow: "shadow-sm",
416
- button: {
417
- label: "Read More",
418
- url: "{{blogPosts.url}}",
419
- color: "btn-secondary"
420
- },
421
- loop: {
422
- over: "blogPosts"
423
- }
424
- }
425
- },
426
- {
427
- description: "Event listing card using upcomingEvents query with venue details",
428
- type: "card",
429
- props: {
430
- cardImage: {
431
- src: "{{upcomingEvents.banner}}",
432
- alt: "{{upcomingEvents.title}}"
433
- },
434
- imagePosition: "top",
435
- title: "{{upcomingEvents.title}}",
436
- text: "<strong>{{upcomingEvents.date}} at {{upcomingEvents.time}}</strong><br>{{upcomingEvents.venue}}, {{upcomingEvents.city}}<br><br>{{upcomingEvents.description}}<br><br>Tickets: ${{upcomingEvents.price}}",
437
- colorPreset: { color: "accent-100" },
438
- border: { width: "border-2", color: "border-accent-400" },
439
- rounding: "rounded-lg",
440
- shadow: "shadow-md",
441
- button: {
442
- label: "Book Tickets",
443
- url: "{{upcomingEvents.ticketUrl}}",
444
- color: "btn-accent"
445
- },
446
- loop: {
447
- over: "upcomingEvents"
448
- }
449
- }
450
- },
451
- {
452
- description: "Testimonial card using customerReviews query with ratings",
453
- type: "card",
454
- props: {
455
- cardImage: {
456
- src: "{{customerReviews.customerPhoto}}",
457
- alt: "{{customerReviews.customerName}}"
458
- },
459
- imagePosition: "top",
460
- title: "{{customerReviews.customerName}}",
461
- text: '"{{customerReviews.review}}"<br><br><strong>Rating: {{customerReviews.rating}}/5 stars</strong><br>{{customerReviews.company}} \u2022 {{customerReviews.position}}',
462
- colorPreset: { color: "neutral-50" },
463
- rounding: "rounded-xl",
464
- shadow: "shadow-lg",
465
- button: {
466
- label: "See All Reviews",
467
- url: "/reviews",
468
- color: "btn-neutral"
469
- },
470
- loop: {
471
- over: "customerReviews"
472
- }
473
- }
474
- },
475
- {
476
- description: "Service offering card using companyServices query with pricing tiers",
477
- type: "card",
478
- props: {
479
- cardImage: {
480
- src: "{{companyServices.icon}}",
481
- alt: "{{companyServices.serviceName}}"
482
- },
483
- imagePosition: "top",
484
- title: "{{companyServices.serviceName}}",
485
- text: "{{companyServices.description}}<br><br><strong>Starting at ${{companyServices.startingPrice}}</strong><br>Duration: {{companyServices.duration}}<br>Includes: {{companyServices.features}}",
486
- colorPreset: { color: "primary-100" },
487
- border: { width: "border", color: "border-primary-300" },
488
- rounding: "rounded-lg",
489
- shadow: "shadow-md",
490
- button: {
491
- label: "Learn More",
492
- url: "{{companyServices.detailsUrl}}",
493
- color: "btn-primary"
494
- },
495
- loop: {
496
- over: "companyServices"
497
- }
498
- }
499
- },
500
- {
501
- description: "Portfolio project card using portfolioWork query with project details",
502
- type: "card",
503
- props: {
504
- cardImage: {
505
- src: "{{portfolioWork.thumbnail}}",
506
- alt: "{{portfolioWork.projectName}}"
507
- },
508
- imagePosition: "top",
509
- title: "{{portfolioWork.projectName}}",
510
- text: "<strong>Client:</strong> {{portfolioWork.clientName}}<br><strong>Year:</strong> {{portfolioWork.year}}<br><strong>Category:</strong> {{portfolioWork.category}}<br><br>{{portfolioWork.description}}",
511
- colorPreset: { color: "secondary-100" },
512
- rounding: "rounded-md",
513
- shadow: "shadow-sm",
514
- button: {
515
- label: "View Project",
516
- url: "{{portfolioWork.projectUrl}}",
517
- color: "btn-secondary"
518
- },
519
- loop: {
520
- over: "portfolioWork"
521
- }
522
- }
523
- }
524
- ];
525
-
526
- export {
527
- manifest,
528
- examples
529
- };
530
- //# sourceMappingURL=chunk-BZTWZC77.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/shared/bricks/manifests/card.manifest.ts"],"sourcesContent":["import { defineBrickManifest } from \"~/shared/brick-manifest\";\nimport { defineProps } from \"../props/helpers\";\nimport { textContent } from \"../props/text\";\nimport { BsCardText } from \"react-icons/bs\";\nimport { image } from \"../props/image\";\nimport { type Static, Type } from \"@sinclair/typebox\";\nimport type { BrickProps } from \"../props/types\";\nimport { shadow } from \"../props/effects\";\nimport { border, rounding } from \"../props/border\";\nimport { colorPreset } from \"../props/color-preset\";\nimport { loop } from \"../props/dynamic\";\nimport { StringEnum } from \"~/shared/utils/string-enum\";\nimport { urlOrPageId } from \"../props/string\";\nimport type { BrickExample } from \"./_types\";\n\nexport const manifest = defineBrickManifest({\n type: \"card\",\n name: \"Card\",\n description: \"A card that can have a title, image, and content.\",\n aiInstructions: `Use this brick to create visually distinct content blocks (product, feature, testimonial, event, article, CTA, etc.).\n\n Guidelines:\n- Button is REQUIRED.\n- Always provide a short action label (1-3 words) and pick a color matching semantic weight (primary/accent for primary actions, neutral/secondary for low emphasis).\n- Image is OPTIONAL. If present you may set imagePosition to top | middle | bottom. Default is top.\n- Pick middle for vertically centered feature highlights, bottom for caption-first layouts.\n- Set noTitle: true when the card is intentionally title-less (e.g. a quote card or pure media focus).\n- Do NOT include an empty title string alongside noTitle.\n- Use dynamic tokens (e.g. {{products.price}}) instead of duplicating literal values.\n- Prefer gradient presets for more visual emphasis (e.g. primary-gradient-400 with gradientDirection).\n- border + rounding + shadow should be cohesive: stronger borders pair well with larger rounding + moderate shadow; minimal / flat cards may use border-0 + no shadow.\n- For internal navigation you can supply a page ID (e.g. 'about') OR a relative/absolute URL (e.g. '/pricing', 'https://example.com').\n- Keep HTML inside text minimal (<strong>, <em>, <br>) — for richer structure consider multiple bricks instead.\n- Avoid mixing noTitle with large heading text embedded inside the text field — in that case keep a proper title.\n- Return ONLY valid properties defined in the schema; do not invent new ones.`,\n icon: BsCardText,\n defaultWidth: { desktop: \"400px\", mobile: \"100%\" },\n minWidth: { desktop: 300 },\n minHeight: { mobile: 200, desktop: 200 },\n maxWidth: { desktop: 650 },\n props: defineProps({\n colorPreset: Type.Optional(\n colorPreset({\n title: \"Color preset\",\n default: { color: \"base-100\" },\n }),\n ),\n\n cardImage: Type.Optional(\n image({\n \"ui:responsive\": \"desktop\",\n metadata: {\n category: \"content\",\n },\n }),\n ),\n imagePosition: Type.Optional(\n StringEnum([\"top\", \"middle\", \"bottom\"], {\n enumNames: [\"Top\", \"Middle\", \"Bottom\"],\n title: \"Image Position\",\n description: \"Where the image should be placed in the card\",\n default: \"top\",\n \"ui:responsive\": \"desktop\",\n metadata: {\n category: \"content\",\n filter: (manifestProps: Manifest[\"props\"], formData: Static<Manifest[\"props\"]>) => {\n return !!formData.cardImage?.src;\n },\n },\n }),\n ),\n noTitle: Type.Optional(\n Type.Boolean({\n title: \"No Title\",\n description: \"Whether to hide the card title\",\n default: false,\n \"ui:responsive\": \"desktop\",\n }),\n ),\n title: Type.Optional(textContent({ title: \"Title\" })),\n text: Type.Optional(textContent({ title: \"Text\" })),\n rounding: Type.Optional(\n rounding({\n default: \"rounded-md\",\n }),\n ),\n border: Type.Optional(\n border({\n // default: { width: \"border\", color: \"border-base-300\" },\n }),\n ),\n shadow: Type.Optional(\n shadow({\n default: \"shadow-sm\",\n }),\n ),\n loop: Type.Optional(loop()),\n button: Type.Object(\n {\n label: Type.String({\n title: \"Button label\",\n default: \"Click me\",\n examples: [\"Learn more\", \"Buy now\", \"Sign up\"],\n metadata: {\n category: \"content\",\n },\n }),\n url: urlOrPageId({\n title: \"Button URL\",\n description: \"The URL the button should link to.\",\n metadata: {\n category: \"content\",\n },\n }),\n color: Type.Optional(\n StringEnum([\"btn-neutral\", \"btn-primary\", \"btn-secondary\", \"btn-accent\"], {\n enumNames: [\"Neutral\", \"Primary\", \"Secondary\", \"Accent\"],\n title: \"Color\",\n default: \"btn-primary\",\n }),\n ),\n },\n { title: \"Button\", description: \"Button displayed at the bottom of the card\" },\n ),\n }),\n});\n\nexport type Manifest = typeof manifest;\n\nexport const examples: BrickExample<Manifest>[] = [\n {\n description: \"A simple card with a title and content\",\n type: \"card\",\n props: {\n title: \"Card Title\",\n text: \"This is the body of the card.\",\n button: {\n label: \"Learn more\",\n url: \"/learn-more\",\n color: \"btn-primary\",\n },\n },\n },\n // IMAGE POSITION MIDDLE VARIANT\n {\n description: \"Feature highlight card with centered image (imagePosition=middle)\",\n type: \"card\",\n props: {\n cardImage: { src: \"https://via.placeholder.com/420x240\", alt: \"Feature visual\" },\n imagePosition: \"middle\",\n title: \"Blazing Performance\",\n text: \"Our new engine reduces processing time by 45% while maintaining reliability.\",\n colorPreset: { color: \"primary-100\" },\n border: { width: \"border\", color: \"border-primary-200\" },\n rounding: \"rounded-lg\",\n shadow: \"shadow-sm\",\n button: { label: \"Learn More\", url: \"/features/performance\", color: \"btn-primary\" },\n },\n },\n // IMAGE POSITION BOTTOM VARIANT\n {\n description: \"Case study card with image at the bottom (imagePosition=bottom)\",\n type: \"card\",\n props: {\n title: \"Case Study: ScaleOps\",\n text: \"How ScaleOps handled 10x growth with zero downtime using our platform.\",\n cardImage: { src: \"https://via.placeholder.com/600x260\", alt: \"Scale graph\" },\n imagePosition: \"bottom\",\n colorPreset: { color: \"secondary-50\" },\n rounding: \"rounded-md\",\n shadow: \"shadow-sm\",\n button: { label: \"Read Study\", url: \"/cases/scaleops\", color: \"btn-secondary\" },\n },\n },\n // NO TITLE VARIANT\n {\n description: \"Quote / testimonial style card without a title (uses noTitle=true)\",\n type: \"card\",\n props: {\n noTitle: true,\n text: '\"This toolkit accelerated our launch by weeks — the component quality is outstanding.\"<br><em>— CTO, FinEdge</em>',\n colorPreset: { color: \"neutral-100\" },\n border: { width: \"border\", color: \"border-neutral-300\" },\n rounding: \"rounded-xl\",\n shadow: \"shadow-sm\",\n button: { label: \"See More\", url: \"/testimonials\", color: \"btn-neutral\" },\n },\n },\n // INTERNAL PAGE ID LINK VARIANT\n {\n description: \"Internal navigation card using a page ID instead of a URL\",\n type: \"card\",\n props: {\n title: \"About Our Mission\",\n text: \"Learn how we're building an open, extensible site generation platform for modern teams.\",\n colorPreset: { color: \"base-100\" },\n rounding: \"rounded-md\",\n button: { label: \"About Us\", url: \"about\", color: \"btn-primary\" },\n },\n },\n // GRADIENT & STRONG BORDER VARIANT\n {\n description: \"High-emphasis promotional card using gradient background and thick border\",\n type: \"card\",\n props: {\n title: \"Limited Time Offer\",\n text: \"Upgrade now and receive a complimentary strategy session plus extended analytics access.\",\n colorPreset: { color: \"primary-gradient-400\", gradientDirection: \"bg-gradient-to-tr\" },\n border: { width: \"border-4\", color: \"border-primary-400\" },\n rounding: \"rounded-xl\",\n shadow: \"shadow-lg\",\n button: { label: \"Upgrade\", url: \"/pricing\", color: \"btn-accent\" },\n },\n },\n // MINIMAL / FLAT VARIANT (no border, no shadow, subtle preset)\n {\n description: \"Minimal flat information card (border-0, no shadow)\",\n type: \"card\",\n props: {\n title: \"Maintenance Window\",\n text: \"Scheduled maintenance on Saturday 02:00–03:00 UTC. API responses may be delayed.\",\n colorPreset: { color: \"neutral-50\" },\n border: { width: \"border-0\", color: \"border-neutral-200\" },\n button: { label: \"Status Page\", url: \"/status\", color: \"btn-neutral\" },\n },\n },\n // DARK / INVERTED VARIANT\n {\n description: \"Dark themed spotlight card (primary-800 background)\",\n type: \"card\",\n props: {\n title: \"Night Mode Preview\",\n text: \"Experience the new adaptive dark theme optimized for low ambient light environments.\",\n colorPreset: { color: \"primary-800\" },\n border: { width: \"border\", color: \"border-primary-600\" },\n rounding: \"rounded-lg\",\n shadow: \"shadow-md\",\n button: { label: \"Preview\", url: \"/themes/dark\", color: \"btn-primary\" },\n },\n },\n {\n description: \"Feature card with large padding and background\",\n type: \"card\",\n props: {\n title: \"Key Feature\",\n text: \"This feature provides exceptional value and enhances user experience significantly.\",\n colorPreset: { color: \"primary-50\" },\n border: { width: \"border\", color: \"border-primary-200\" },\n rounding: \"rounded-lg\",\n shadow: \"shadow-sm\",\n button: {\n label: \"Discover More\",\n url: \"/features\",\n color: \"btn-primary\",\n },\n },\n },\n {\n description: \"Blog post card with image at the bottom\",\n type: \"card\",\n props: {\n title: \"Future of Tech\",\n text: \"Exploring emerging trends and innovations that will shape our digital landscape in the coming decade.\",\n cardImage: {\n src: \"https://via.placeholder.com/400x200\",\n alt: \"Technology concept\",\n },\n button: {\n label: \"Read More\",\n url: \"/blog/{{ blogPosts.$slug }}\",\n color: \"btn-primary\",\n },\n },\n },\n {\n description: \"Minimal centered card without image\",\n type: \"card\",\n props: {\n title: \"Simple Announcement\",\n text: \"Important updates will be posted here regularly.\",\n button: {\n label: \"View Updates\",\n url: \"/updates\",\n color: \"btn-neutral\",\n },\n },\n },\n {\n description: \"Event card with multiple variants\",\n type: \"card\",\n props: {\n cardImage: {\n src: \"https://via.placeholder.com/400x250\",\n alt: \"Event venue\",\n },\n title: \"Annual Conference 2025\",\n text: \"Join us for three days of inspiring talks, networking opportunities, and hands-on workshops.\",\n button: {\n label: \"Register Now\",\n url: \"/events/conference-2025\",\n color: \"btn-primary\",\n },\n },\n },\n {\n description: \"News article card with compact layout\",\n type: \"card\",\n props: {\n cardImage: {\n src: \"https://via.placeholder.com/120x120\",\n alt: \"News thumbnail\",\n },\n title: \"Breaking News Update\",\n text: \"Latest developments in the ongoing story with expert analysis and community reactions.\",\n button: {\n label: \"Read Full Article\",\n url: \"/news/breaking-update\",\n color: \"btn-secondary\",\n },\n },\n },\n {\n description: \"Call-to-action card with prominent styling\",\n type: \"card\",\n props: {\n title: \"Get Started Today\",\n text: \"Transform your workflow with our powerful tools. Sign up now and get 30 days free!\",\n button: {\n label: \"Sign Up Now\",\n url: \"/signup\",\n color: \"btn-primary\",\n },\n },\n },\n {\n description: \"Dynamic product card using products query with pricing and details\",\n type: \"card\",\n props: {\n cardImage: {\n src: \"{{products.image}}\",\n alt: \"{{products.name}}\",\n },\n title: \"{{products.name}}\",\n text: \"{{products.description}}<br><strong>Price: ${{products.price}}</strong><br>Category: {{products.category}}\",\n colorPreset: { color: \"primary-50\" },\n border: { width: \"border\", color: \"border-primary-200\" },\n rounding: \"rounded-lg\",\n shadow: \"shadow-md\",\n button: {\n label: \"Buy Now\",\n url: \"{{products.purchaseUrl}}\",\n color: \"btn-primary\",\n },\n loop: {\n over: \"products\",\n },\n },\n },\n {\n description: \"Employee profile card using teamMembers query with contact information\",\n type: \"card\",\n props: {\n cardImage: {\n src: \"{{teamMembers.photo}}\",\n alt: \"Photo of {{teamMembers.fullName}}\",\n },\n imagePosition: \"top\",\n title: \"{{teamMembers.fullName}}\",\n text: \"<strong>{{teamMembers.position}}</strong><br>{{teamMembers.department}}<br>Email: {{teamMembers.email}}<br>Phone: {{teamMembers.phone}}\",\n colorPreset: { color: \"neutral-100\" },\n rounding: \"rounded-xl\",\n shadow: \"shadow-lg\",\n button: {\n label: \"Contact\",\n url: \"mailto:{{teamMembers.email}}\",\n color: \"btn-neutral\",\n },\n loop: {\n over: \"teamMembers\",\n },\n },\n },\n {\n description: \"Blog post card using blogPosts query with author and date\",\n type: \"card\",\n props: {\n cardImage: {\n src: \"{{blogPosts.featuredImage}}\",\n alt: \"{{blogPosts.title}}\",\n },\n imagePosition: \"top\",\n title: \"{{blogPosts.title}}\",\n text: \"{{blogPosts.excerpt}}<br><br><em>By {{blogPosts.author}} • {{blogPosts.publishDate}}</em><br>Tags: {{blogPosts.tags}}\",\n colorPreset: { color: \"secondary-50\" },\n border: { width: \"border\", color: \"border-secondary-300\" },\n rounding: \"rounded-md\",\n shadow: \"shadow-sm\",\n button: {\n label: \"Read More\",\n url: \"{{blogPosts.url}}\",\n color: \"btn-secondary\",\n },\n loop: {\n over: \"blogPosts\",\n },\n },\n },\n {\n description: \"Event listing card using upcomingEvents query with venue details\",\n type: \"card\",\n props: {\n cardImage: {\n src: \"{{upcomingEvents.banner}}\",\n alt: \"{{upcomingEvents.title}}\",\n },\n imagePosition: \"top\",\n title: \"{{upcomingEvents.title}}\",\n text: \"<strong>{{upcomingEvents.date}} at {{upcomingEvents.time}}</strong><br>{{upcomingEvents.venue}}, {{upcomingEvents.city}}<br><br>{{upcomingEvents.description}}<br><br>Tickets: ${{upcomingEvents.price}}\",\n colorPreset: { color: \"accent-100\" },\n border: { width: \"border-2\", color: \"border-accent-400\" },\n rounding: \"rounded-lg\",\n shadow: \"shadow-md\",\n button: {\n label: \"Book Tickets\",\n url: \"{{upcomingEvents.ticketUrl}}\",\n color: \"btn-accent\",\n },\n loop: {\n over: \"upcomingEvents\",\n },\n },\n },\n {\n description: \"Testimonial card using customerReviews query with ratings\",\n type: \"card\",\n props: {\n cardImage: {\n src: \"{{customerReviews.customerPhoto}}\",\n alt: \"{{customerReviews.customerName}}\",\n },\n imagePosition: \"top\",\n title: \"{{customerReviews.customerName}}\",\n text: '\"{{customerReviews.review}}\"<br><br><strong>Rating: {{customerReviews.rating}}/5 stars</strong><br>{{customerReviews.company}} • {{customerReviews.position}}',\n colorPreset: { color: \"neutral-50\" },\n rounding: \"rounded-xl\",\n shadow: \"shadow-lg\",\n button: {\n label: \"See All Reviews\",\n url: \"/reviews\",\n color: \"btn-neutral\",\n },\n loop: {\n over: \"customerReviews\",\n },\n },\n },\n {\n description: \"Service offering card using companyServices query with pricing tiers\",\n type: \"card\",\n props: {\n cardImage: {\n src: \"{{companyServices.icon}}\",\n alt: \"{{companyServices.serviceName}}\",\n },\n imagePosition: \"top\",\n title: \"{{companyServices.serviceName}}\",\n text: \"{{companyServices.description}}<br><br><strong>Starting at ${{companyServices.startingPrice}}</strong><br>Duration: {{companyServices.duration}}<br>Includes: {{companyServices.features}}\",\n colorPreset: { color: \"primary-100\" },\n border: { width: \"border\", color: \"border-primary-300\" },\n rounding: \"rounded-lg\",\n shadow: \"shadow-md\",\n button: {\n label: \"Learn More\",\n url: \"{{companyServices.detailsUrl}}\",\n color: \"btn-primary\",\n },\n loop: {\n over: \"companyServices\",\n },\n },\n },\n {\n description: \"Portfolio project card using portfolioWork query with project details\",\n type: \"card\",\n props: {\n cardImage: {\n src: \"{{portfolioWork.thumbnail}}\",\n alt: \"{{portfolioWork.projectName}}\",\n },\n imagePosition: \"top\",\n title: \"{{portfolioWork.projectName}}\",\n text: \"<strong>Client:</strong> {{portfolioWork.clientName}}<br><strong>Year:</strong> {{portfolioWork.year}}<br><strong>Category:</strong> {{portfolioWork.category}}<br><br>{{portfolioWork.description}}\",\n colorPreset: { color: \"secondary-100\" },\n rounding: \"rounded-md\",\n shadow: \"shadow-sm\",\n button: {\n label: \"View Project\",\n url: \"{{portfolioWork.projectUrl}}\",\n color: \"btn-secondary\",\n },\n loop: {\n over: \"portfolioWork\",\n },\n },\n },\n];\n"],"mappings":"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","names":[]}