@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,79 +1,273 @@
1
- /*! Upstart.gg - Copyright (C) 2024 Flippable - https://github.com/upstart-gg/upstart/blob/main/LICENSE */
1
+ import { StringEnum } from "./utils/string-enum.js";
2
+ import { getSchemaDefaults } from "./utils/schema.js";
3
+ import { cssLength } from "./bricks/props/css-length.js";
4
+ import { alignItems, justifyContent } from "./bricks/props/align.js";
5
+ import { colorPreset } from "./bricks/props/color-preset.js";
6
+ import { toLLMSchema } from "./utils/llm.js";
7
+ import { background } from "./bricks/props/background.js";
8
+ import { direction } from "./bricks/props/direction.js";
9
+ import { defaultProps, manifests } from "./bricks/manifests/all-manifests.js";
10
+ import { mergeIgnoringArrays } from "./utils/merge.js";
11
+ import { Type } from "@sinclair/typebox";
12
+ import { customAlphabet } from "nanoid";
2
13
 
3
- import {
4
- brickSchema,
5
- brickTypeSchema,
6
- createEmptyBrick,
7
- generateId,
8
- getDefaultPropsForBrick,
9
- makeFullBrickSchemaForLLM,
10
- processBrick,
11
- processSections,
12
- sectionProps,
13
- sectionSchema,
14
- sectionSchemaNoBricks
15
- } from "./chunk-H6TMBELF.js";
16
- import "./chunk-KQH6V22E.js";
17
- import "./chunk-O24RDXZS.js";
18
- import "./chunk-6AE7UD73.js";
19
- import "./chunk-TBT2PTGB.js";
20
- import "./chunk-ZVJNRKT4.js";
21
- import "./chunk-PF75LW33.js";
22
- import "./chunk-SK2O7GFC.js";
23
- import "./chunk-U4KZUX37.js";
24
- import "./chunk-MYOLWTB2.js";
25
- import "./chunk-LGGPCCCY.js";
26
- import "./chunk-JF52BBFD.js";
27
- import "./chunk-HUWMIXNN.js";
28
- import "./chunk-BZTWZC77.js";
29
- import "./chunk-FUUSAMN3.js";
30
- import "./chunk-XK2CERPB.js";
31
- import "./chunk-QEJGPYTB.js";
32
- import "./chunk-W2RFDII5.js";
33
- import "./chunk-JW7MQAU4.js";
34
- import "./chunk-JLDAS3VE.js";
35
- import "./chunk-LPAQ47C6.js";
36
- import "./chunk-LGDDJJHK.js";
37
- import "./chunk-7U5WPHXB.js";
38
- import "./chunk-XCZVD5H6.js";
39
- import "./chunk-6WIMWLCJ.js";
40
- import "./chunk-HPCCD6V5.js";
41
- import "./chunk-3ZDN5BWN.js";
42
- import "./chunk-WPZV3LYL.js";
43
- import "./chunk-SRYBJ6NQ.js";
44
- import "./chunk-JSDKK5QN.js";
45
- import "./chunk-4KY7OZWD.js";
46
- import "./chunk-FHA4DFIM.js";
47
- import "./chunk-VTCHJT4O.js";
48
- import "./chunk-KNREHAPN.js";
49
- import "./chunk-2U5U3CCJ.js";
50
- import "./chunk-DRQKKPTX.js";
51
- import "./chunk-SQXZNGQF.js";
52
- import "./chunk-BHARJBEK.js";
53
- import "./chunk-XXPSM6UA.js";
54
- import "./chunk-OJ6KL7FU.js";
55
- import "./chunk-XFZQGRRL.js";
56
- import "./chunk-5RCC2STG.js";
57
- import "./chunk-ZRBTAC3G.js";
58
- import "./chunk-KKWT3OXF.js";
59
- import "./chunk-IEMCCHM4.js";
60
- import "./chunk-EMF5TCPX.js";
61
- import "./chunk-MO6CRLQA.js";
62
- import "./chunk-J45LSQT6.js";
63
- import "./chunk-HY7JOP3J.js";
64
- import "./chunk-GDYCCB3B.js";
65
- import "./chunk-ZGQ3AQBG.js";
66
- export {
67
- brickSchema,
68
- brickTypeSchema,
69
- createEmptyBrick,
70
- generateId,
71
- getDefaultPropsForBrick,
72
- makeFullBrickSchemaForLLM,
73
- processBrick,
74
- processSections,
75
- sectionProps,
76
- sectionSchema,
77
- sectionSchemaNoBricks
78
- };
14
+ //#region src/shared/bricks.ts
15
+ /**
16
+ * Generates a unique identifier for bricks.
17
+ */
18
+ const generateId = customAlphabet("azertyuiopqsdfghjklmwxcvbnAZERTYUIOPQSDFGHJKLMWXCVBN", 7);
19
+ Type.Object({
20
+ left: Type.Optional(Type.String({
21
+ title: "top",
22
+ description: "The left position in css unit."
23
+ })),
24
+ top: Type.Optional(Type.String({
25
+ title: "top",
26
+ description: "The top position in css unit."
27
+ })),
28
+ right: Type.Optional(Type.String({
29
+ title: "right",
30
+ description: "The right position in css unit."
31
+ })),
32
+ bottom: Type.Optional(Type.String({
33
+ title: "bottom",
34
+ description: "The bottom position in css unit."
35
+ })),
36
+ inset: Type.Optional(Type.String({
37
+ title: "inset",
38
+ description: "The inset position in css unit."
39
+ })),
40
+ translateX: Type.Optional(Type.String({
41
+ title: "translateX",
42
+ description: "The translateX position in css unit."
43
+ })),
44
+ translateY: Type.Optional(Type.String({
45
+ title: "translateY",
46
+ description: "The translateY position in css unit."
47
+ })),
48
+ rotate: Type.Optional(Type.String({
49
+ title: "rotate",
50
+ description: "The rotate position in css unit."
51
+ }))
52
+ });
53
+ const brickTypeSchema = StringEnum(Object.keys(defaultProps), { title: "Brick type" });
54
+ const brickSchema = Type.Object({
55
+ id: Type.String({
56
+ title: "ID",
57
+ description: "A unique identifier for the brick."
58
+ }),
59
+ type: brickTypeSchema,
60
+ label: Type.Optional(Type.String({
61
+ title: "Label",
62
+ description: "A human-readable label for the brick. Used for organization and identification."
63
+ })),
64
+ props: Type.Any({
65
+ title: "Props",
66
+ description: "The static props of the brick. The available props depends on the brick type."
67
+ }),
68
+ mobileProps: Type.Optional(Type.Any({
69
+ title: "Props",
70
+ description: "The overriden props for mobile, merged with desktop props. Same type as props but partial."
71
+ }))
72
+ });
73
+ function makeFullBrickSchemaForLLM(type, otherTypes) {
74
+ if (!otherTypes || !otherTypes.length) return toLLMSchema(Type.Object({
75
+ id: Type.String({
76
+ title: "ID",
77
+ description: "A unique identifier for the brick."
78
+ }),
79
+ type: Type.Literal(type),
80
+ props: manifests[type].props,
81
+ mobileProps: Type.Optional(Type.Partial(Type.Omit(manifests[type].props, ["$children"])))
82
+ }));
83
+ return toLLMSchema(Type.Object({
84
+ id: Type.String({
85
+ title: "ID",
86
+ description: "A unique identifier for the brick."
87
+ }),
88
+ type: Type.Literal(type),
89
+ props: Type.Composite([brickSchema.properties.props, Type.Object({ $children: Type.Array(Type.Union(otherTypes.map((t) => Type.Object({
90
+ id: Type.String({
91
+ title: "ID",
92
+ description: "A unique identifier for the brick."
93
+ }),
94
+ type: Type.Literal(t),
95
+ props: manifests[t].props,
96
+ mobileProps: Type.Optional(Type.Partial(Type.Omit(manifests[t].props, ["$children"])))
97
+ })))) })]),
98
+ mobileProps: Type.Optional(Type.Partial(manifests[type].props))
99
+ }));
100
+ }
101
+ const sectionProps = Type.Object({
102
+ colorPreset: Type.Optional(colorPreset({ title: "Color" })),
103
+ backgroundImage: Type.Optional(background({ title: "Background" })),
104
+ direction: Type.Optional(direction({
105
+ default: "flex-row",
106
+ title: "Direction",
107
+ description: "The direction of the section. Only apply to desktop. On mobile, it is always vertical. By default, horizontal (row), which is the most common.",
108
+ "ui:responsive": "desktop"
109
+ })),
110
+ minHeight: Type.Optional(cssLength({
111
+ title: "Min height",
112
+ default: "fit-content",
113
+ description: "The min height of the section. default is 'fit-content'. You can also use the keyword 'full' to make it full viewport height. Lastly, you can use any valid CSS length unit.",
114
+ "ui:field": "hidden"
115
+ })),
116
+ variant: Type.Optional(StringEnum([
117
+ "navbar",
118
+ "footer",
119
+ "sidebar"
120
+ ], {
121
+ title: "Custom section variant",
122
+ description: "Used for custom styling and layout.",
123
+ enumNames: [
124
+ "Navbar",
125
+ "Footer",
126
+ "Sidebar"
127
+ ],
128
+ "ui:field": "hidden",
129
+ "ai:hidden": true
130
+ })),
131
+ maxWidth: Type.Optional(StringEnum([
132
+ "max-w-screen-lg",
133
+ "max-w-screen-xl",
134
+ "max-w-screen-2xl",
135
+ "max-w-full"
136
+ ], {
137
+ title: "Max width",
138
+ default: "max-w-full",
139
+ enumNames: [
140
+ "M",
141
+ "L",
142
+ "XL",
143
+ "Full"
144
+ ],
145
+ description: "The maximum width of the section. Desktop only",
146
+ "ai:instructions": "Choose the most appropriate max width for the section. The value 'max-w-full' is the most common and the default. Use the same value for all sections on the same page unless there is a good reason to do otherwise.",
147
+ displayAs: "button-group",
148
+ "ui:responsive": "desktop"
149
+ })),
150
+ verticalMargin: Type.Optional(cssLength({
151
+ title: "Vertical Margin",
152
+ description: "The vertical margin of the section. By default, all sections touch each other with no space in between. If you want to add space between sections, set this value to e.g. '2rem' or '32px'. Adding a vertical margin will reveal the background color of the page.",
153
+ default: "0",
154
+ "ui:styleId": "styles:verticalMargin"
155
+ })),
156
+ justifyContent: Type.Optional(justifyContent({ default: "justify-center" })),
157
+ alignItems: Type.Optional(alignItems({ default: "items-center" })),
158
+ padding: Type.Optional(cssLength({
159
+ default: "2rem",
160
+ description: "Padding inside the section.",
161
+ title: "Padding",
162
+ "ui:responsive": true,
163
+ "ui:placeholder": "Not specified",
164
+ "ui:styleId": "styles:padding"
165
+ })),
166
+ gap: Type.Optional(cssLength({
167
+ title: "Gap",
168
+ description: "The gap between the bricks in the section.",
169
+ default: "2rem",
170
+ "ui:styleId": "styles:gap"
171
+ })),
172
+ wrap: Type.Optional(Type.Boolean({
173
+ title: "Wrap",
174
+ description: "Wrap bricks if they overflow the section.",
175
+ default: true,
176
+ "ui:styleId": "styles:wrap"
177
+ })),
178
+ lastTouched: Type.Optional(Type.Number({
179
+ description: "Do not use this field. It is used internally by the editor.",
180
+ "ui:field": "hidden",
181
+ "ai:hidden": true
182
+ }))
183
+ });
184
+ const sectionSchema = Type.Object({
185
+ id: Type.String({
186
+ description: "The unique ID of the section. Use a human readable url-safe slug",
187
+ examples: ["content-section", "contact-section"]
188
+ }),
189
+ label: Type.String({
190
+ description: "The label of the section. Shown only to the website owner, not public.",
191
+ examples: ["Content", "Contact"]
192
+ }),
193
+ order: Type.Number({ description: "Determines section order in the page (lower numbers appear first). 0-based" }),
194
+ props: sectionProps,
195
+ mobileProps: Type.Optional(Type.Partial(sectionProps)),
196
+ bricks: Type.Array(brickSchema)
197
+ }, { description: "Sections are direct children of the page that are stacked vertically." });
198
+ const sectionSchemaNoBricks = Type.Omit(sectionSchema, ["bricks"]);
199
+ const sectionDefaultprops = getSchemaDefaults(sectionSchema.properties.props, "desktop");
200
+ const sectionMobileDefaultprops = getSchemaDefaults(sectionSchema.properties.mobileProps, "mobile");
201
+ function processSections(sections, siteAttributes, pageAttributes) {
202
+ const processSection = (section) => {
203
+ return {
204
+ ...section,
205
+ props: mergeIgnoringArrays({}, sectionDefaultprops, section.props),
206
+ mobileProps: mergeIgnoringArrays({}, sectionMobileDefaultprops, section.mobileProps || {}),
207
+ bricks: section.bricks.map(processBrick).filter(Boolean)
208
+ };
209
+ };
210
+ const finalSections = sections.map(processSection);
211
+ if (siteAttributes.navbar && !pageAttributes.noNavbar) finalSections.unshift(processSection({
212
+ order: -1,
213
+ id: "navbar-section",
214
+ label: "Navbar",
215
+ props: {
216
+ variant: "navbar",
217
+ direction: "flex-row"
218
+ },
219
+ mobileProps: {},
220
+ bricks: [{
221
+ id: "navbar",
222
+ type: "navbar",
223
+ props: siteAttributes.navbar
224
+ }]
225
+ }));
226
+ if (siteAttributes.footer && !pageAttributes.noFooter) finalSections.push(processSection({
227
+ order: 1e3,
228
+ id: "footer-section",
229
+ label: "Footer",
230
+ props: {
231
+ variant: "footer",
232
+ direction: "flex-row"
233
+ },
234
+ mobileProps: {},
235
+ bricks: [{
236
+ id: "footer",
237
+ type: "footer",
238
+ props: siteAttributes.footer
239
+ }]
240
+ }));
241
+ return finalSections;
242
+ }
243
+ /**
244
+ * process a brick and add default props
245
+ */
246
+ function processBrick(brick) {
247
+ const defProps = defaultProps[brick.type];
248
+ return {
249
+ ...brick,
250
+ props: mergeIgnoringArrays({}, defProps.props, {
251
+ ...brick.props,
252
+ ...brick.props.$children ? { $children: brick.props.$children.map(processBrick).filter(Boolean) } : {}
253
+ })
254
+ };
255
+ }
256
+ function getDefaultPropsForBrick(type) {
257
+ return defaultProps[type].props;
258
+ }
259
+ function createEmptyBrick(type, ghost = false) {
260
+ const props = {
261
+ ...defaultProps[type].props,
262
+ ghost
263
+ };
264
+ return {
265
+ id: `b-${generateId()}`,
266
+ type,
267
+ props
268
+ };
269
+ }
270
+
271
+ //#endregion
272
+ export { brickSchema, brickTypeSchema, createEmptyBrick, generateId, getDefaultPropsForBrick, makeFullBrickSchemaForLLM, processBrick, processSections, sectionProps, sectionSchema, sectionSchemaNoBricks };
79
273
  //# sourceMappingURL=bricks.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
1
+ {"version":3,"file":"bricks.js","names":[],"sources":["../../src/shared/bricks.ts"],"sourcesContent":["import { Type, type Static } from \"@sinclair/typebox\";\nimport { customAlphabet } from \"nanoid\";\nimport { defaultProps, manifests } from \"./bricks/manifests/all-manifests\";\nimport { cssLength } from \"./bricks/props/css-length\";\nimport { colorPreset } from \"./bricks/props/color-preset\";\nimport { mergeIgnoringArrays } from \"./utils/merge\";\nimport { getSchemaDefaults } from \"./utils/schema\";\nimport { StringEnum } from \"./utils/string-enum\";\nimport { alignItems, justifyContent } from \"./bricks/props/align\";\nimport type { CommonBrickProps } from \"./bricks/props/common\";\nimport { direction } from \"./bricks/props/direction\";\nimport type { PageAttributes, SiteAttributes } from \"./attributes\";\nimport { toLLMSchema } from \"./utils/llm\";\nimport { background } from \"./bricks/props/background\";\n\n/**\n * Generates a unique identifier for bricks.\n */\nexport const generateId = customAlphabet(\"azertyuiopqsdfghjklmwxcvbnAZERTYUIOPQSDFGHJKLMWXCVBN\", 7);\n\nconst brickAbsolutePositionSchema = Type.Object({\n left: Type.Optional(\n Type.String({\n title: \"top\",\n description: \"The left position in css unit.\",\n }),\n ),\n top: Type.Optional(\n Type.String({\n title: \"top\",\n description: \"The top position in css unit.\",\n }),\n ),\n right: Type.Optional(\n Type.String({\n title: \"right\",\n description: \"The right position in css unit.\",\n }),\n ),\n bottom: Type.Optional(\n Type.String({\n title: \"bottom\",\n description: \"The bottom position in css unit.\",\n }),\n ),\n inset: Type.Optional(\n Type.String({\n title: \"inset\",\n description: \"The inset position in css unit.\",\n }),\n ),\n translateX: Type.Optional(\n Type.String({\n title: \"translateX\",\n description: \"The translateX position in css unit.\",\n }),\n ),\n translateY: Type.Optional(\n Type.String({\n title: \"translateY\",\n description: \"The translateY position in css unit.\",\n }),\n ),\n rotate: Type.Optional(\n Type.String({\n title: \"rotate\",\n description: \"The rotate position in css unit.\",\n }),\n ),\n});\n\nexport type BrickAbsolutePosition = Static<typeof brickAbsolutePositionSchema>;\n\nexport const brickTypeSchema = StringEnum(Object.keys(defaultProps), {\n title: \"Brick type\",\n});\n\nexport const brickSchema = Type.Object({\n id: Type.String({\n title: \"ID\",\n description: \"A unique identifier for the brick.\",\n }),\n type: brickTypeSchema,\n label: Type.Optional(\n Type.String({\n title: \"Label\",\n description: \"A human-readable label for the brick. Used for organization and identification.\",\n }),\n ),\n props: Type.Any({\n title: \"Props\",\n description: \"The static props of the brick. The available props depends on the brick type.\",\n }),\n mobileProps: Type.Optional(\n Type.Any({\n title: \"Props\",\n description:\n \"The overriden props for mobile, merged with desktop props. Same type as props but partial.\",\n }),\n ),\n});\n\nexport function makeFullBrickSchemaForLLM(type: string, otherTypes?: string[]) {\n if (!otherTypes || !otherTypes.length) {\n return toLLMSchema(\n Type.Object(\n {\n id: Type.String({\n title: \"ID\",\n description: \"A unique identifier for the brick.\",\n }),\n type: Type.Literal(type),\n props: manifests[type].props,\n // Mobileprops are always partial and do not contain $children\n mobileProps: Type.Optional(Type.Partial(Type.Omit(manifests[type].props, [\"$children\"]))),\n },\n // IMPORTANT: DO NOT set \"additionalProperties\" to `false` because it would break validation with Cabidela library\n // { additionalProperties: false },\n ),\n );\n }\n return toLLMSchema(\n Type.Object(\n {\n id: Type.String({\n title: \"ID\",\n description: \"A unique identifier for the brick.\",\n }),\n type: Type.Literal(type),\n props: Type.Composite([\n brickSchema.properties.props,\n Type.Object({\n $children: Type.Array(\n Type.Union(\n otherTypes.map((t) =>\n Type.Object({\n id: Type.String({\n title: \"ID\",\n description: \"A unique identifier for the brick.\",\n }),\n type: Type.Literal(t),\n props: manifests[t].props,\n mobileProps: Type.Optional(Type.Partial(Type.Omit(manifests[t].props, [\"$children\"]))),\n }),\n ),\n ),\n ),\n }),\n ]),\n mobileProps: Type.Optional(Type.Partial(manifests[type].props)),\n },\n // IMPORTANT: DO NOT set \"additionalProperties\" to `false` because it would break validation with Cabidela library\n // { additionalProperties: false },\n ),\n );\n}\n\nexport type Brick = Omit<Static<typeof brickSchema>, \"props\" | \"mobileProps\"> & {\n props: CommonBrickProps & Record<string, unknown>;\n mobileProps?: Partial<CommonBrickProps & Record<string, unknown>>;\n};\n\nexport const sectionProps = Type.Object({\n colorPreset: Type.Optional(\n colorPreset({\n title: \"Color\",\n }),\n ),\n backgroundImage: Type.Optional(\n background({\n title: \"Background\",\n }),\n ),\n direction: Type.Optional(\n direction({\n default: \"flex-row\",\n title: \"Direction\",\n description:\n \"The direction of the section. Only apply to desktop. On mobile, it is always vertical. By default, horizontal (row), which is the most common.\",\n \"ui:responsive\": \"desktop\",\n }),\n ),\n minHeight: Type.Optional(\n cssLength({\n title: \"Min height\",\n default: \"fit-content\",\n description:\n \"The min height of the section. default is 'fit-content'. You can also use the keyword 'full' to make it full viewport height. Lastly, you can use any valid CSS length unit.\",\n \"ui:field\": \"hidden\",\n }),\n ),\n variant: Type.Optional(\n StringEnum([\"navbar\", \"footer\", \"sidebar\"], {\n title: \"Custom section variant\",\n description: \"Used for custom styling and layout.\",\n enumNames: [\"Navbar\", \"Footer\", \"Sidebar\"],\n \"ui:field\": \"hidden\",\n \"ai:hidden\": true,\n }),\n ),\n maxWidth: Type.Optional(\n StringEnum([\"max-w-screen-lg\", \"max-w-screen-xl\", \"max-w-screen-2xl\", \"max-w-full\"], {\n title: \"Max width\",\n default: \"max-w-full\",\n enumNames: [\"M\", \"L\", \"XL\", \"Full\"],\n description: \"The maximum width of the section. Desktop only\",\n \"ai:instructions\":\n \"Choose the most appropriate max width for the section. The value 'max-w-full' is the most common and the default. Use the same value for all sections on the same page unless there is a good reason to do otherwise.\",\n displayAs: \"button-group\",\n \"ui:responsive\": \"desktop\",\n }),\n ),\n verticalMargin: Type.Optional(\n cssLength({\n title: \"Vertical Margin\",\n description:\n \"The vertical margin of the section. By default, all sections touch each other with no space in between. If you want to add space between sections, set this value to e.g. '2rem' or '32px'. Adding a vertical margin will reveal the background color of the page.\",\n default: \"0\",\n \"ui:styleId\": \"styles:verticalMargin\",\n }),\n ),\n justifyContent: Type.Optional(\n justifyContent({\n default: \"justify-center\",\n }),\n ),\n alignItems: Type.Optional(\n alignItems({\n default: \"items-center\",\n }),\n ),\n padding: Type.Optional(\n cssLength({\n default: \"2rem\",\n description: \"Padding inside the section.\",\n title: \"Padding\",\n \"ui:responsive\": true,\n \"ui:placeholder\": \"Not specified\",\n \"ui:styleId\": \"styles:padding\",\n }),\n ),\n gap: Type.Optional(\n cssLength({\n title: \"Gap\",\n description: \"The gap between the bricks in the section.\",\n default: \"2rem\",\n \"ui:styleId\": \"styles:gap\",\n }),\n ),\n wrap: Type.Optional(\n Type.Boolean({\n title: \"Wrap\",\n description: \"Wrap bricks if they overflow the section.\",\n default: true,\n \"ui:styleId\": \"styles:wrap\",\n }),\n ),\n lastTouched: Type.Optional(\n Type.Number({\n description: \"Do not use this field. It is used internally by the editor.\",\n \"ui:field\": \"hidden\",\n \"ai:hidden\": true,\n }),\n ),\n});\n\nexport const sectionSchema = Type.Object(\n {\n id: Type.String({\n description: \"The unique ID of the section. Use a human readable url-safe slug\",\n examples: [\"content-section\", \"contact-section\"],\n }),\n label: Type.String({\n description: \"The label of the section. Shown only to the website owner, not public.\",\n examples: [\"Content\", \"Contact\"],\n }),\n order: Type.Number({\n description: \"Determines section order in the page (lower numbers appear first). 0-based\",\n }),\n props: sectionProps,\n mobileProps: Type.Optional(Type.Partial(sectionProps)),\n bricks: Type.Array(brickSchema),\n },\n {\n description: \"Sections are direct children of the page that are stacked vertically.\",\n },\n);\n\nexport const sectionSchemaNoBricks = Type.Omit(sectionSchema, [\"bricks\"]);\nexport type SectionSchemaNoBricks = Static<typeof sectionSchemaNoBricks>;\n\nconst sectionDefaultprops = getSchemaDefaults(sectionSchema.properties.props, \"desktop\") as Section[\"props\"];\nconst sectionMobileDefaultprops = getSchemaDefaults(\n sectionSchema.properties.mobileProps,\n \"mobile\",\n) as Section[\"mobileProps\"];\n\nexport type Section = Static<typeof sectionSchema>;\n\nexport function processSections(\n sections: Section[],\n siteAttributes: SiteAttributes,\n pageAttributes: PageAttributes,\n): Section[] {\n const processSection = (section: Section) => {\n return {\n ...section,\n props: mergeIgnoringArrays({} as Section[\"props\"], sectionDefaultprops, section.props),\n mobileProps: mergeIgnoringArrays({}, sectionMobileDefaultprops, section.mobileProps || {}),\n bricks: section.bricks.map(processBrick).filter(Boolean) as Brick[],\n } as const;\n };\n\n const finalSections = sections.map(processSection);\n\n if (siteAttributes.navbar && !pageAttributes.noNavbar) {\n finalSections.unshift(\n processSection({\n order: -1,\n id: \"navbar-section\",\n label: \"Navbar\",\n props: {\n variant: \"navbar\",\n direction: \"flex-row\",\n },\n mobileProps: {},\n bricks: [\n {\n id: \"navbar\",\n type: \"navbar\",\n props: siteAttributes.navbar,\n },\n ],\n }),\n );\n }\n if (siteAttributes.footer && !pageAttributes.noFooter) {\n finalSections.push(\n processSection({\n order: 1000,\n id: \"footer-section\",\n label: \"Footer\",\n props: {\n variant: \"footer\",\n direction: \"flex-row\",\n },\n mobileProps: {},\n bricks: [\n {\n id: \"footer\",\n type: \"footer\",\n props: siteAttributes.footer,\n },\n ],\n }),\n );\n }\n\n return finalSections satisfies Section[];\n}\n\n/**\n * process a brick and add default props\n */\nexport function processBrick<T extends Brick>(brick: T): T {\n const defProps = defaultProps[brick.type];\n // if (!defProps) {\n // console.warn(`No default props found for brick type: ${brick.type}`);\n // return false; // or throw an error if you prefer\n // }\n const result = {\n ...brick,\n props: mergeIgnoringArrays({} as Brick[\"props\"], defProps.props, {\n ...brick.props,\n ...(brick.props.$children\n ? { $children: (brick.props.$children as T[]).map(processBrick).filter(Boolean) }\n : {}),\n }),\n };\n\n return result;\n}\n\nexport function getDefaultPropsForBrick(type: string) {\n return defaultProps[type].props;\n}\n\nexport function createEmptyBrick(type: string, ghost = false): Brick {\n const props = { ...defaultProps[type].props, ghost };\n const newBrick = {\n id: `b-${generateId()}`,\n type,\n props,\n };\n return newBrick;\n}\n"],"mappings":"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"}