@upstart.gg/sdk 0.0.136 → 0.0.137

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 (447) hide show
  1. package/dist/shared/ai/schemas.d.ts.map +1 -1
  2. package/dist/shared/ai/schemas.js +24 -29
  3. package/dist/shared/ai/schemas.js.map +1 -1
  4. package/dist/shared/ai/types.d.ts +13 -61
  5. package/dist/shared/ai/types.d.ts.map +1 -1
  6. package/dist/shared/ajv.js +33 -32
  7. package/dist/shared/ajv.js.map +1 -1
  8. package/dist/shared/attributes.d.ts +83 -85
  9. package/dist/shared/attributes.d.ts.map +1 -1
  10. package/dist/shared/attributes.js +20 -23
  11. package/dist/shared/brick-manifest.d.ts +8 -5
  12. package/dist/shared/brick-manifest.d.ts.map +1 -1
  13. package/dist/shared/brick-manifest.js +3 -18
  14. package/dist/shared/bricks/manifests/accordion.manifest.d.ts +2 -2
  15. package/dist/shared/bricks/manifests/accordion.manifest.d.ts.map +1 -1
  16. package/dist/shared/bricks/manifests/accordion.manifest.js +13 -20
  17. package/dist/shared/bricks/manifests/all-manifests.js +44 -43
  18. package/dist/shared/bricks/manifests/all-props.d.ts +1501 -0
  19. package/dist/shared/bricks/manifests/all-props.d.ts.map +1 -0
  20. package/dist/shared/bricks/manifests/all-props.js +243 -0
  21. package/dist/shared/bricks/manifests/all-props.js.map +1 -0
  22. package/dist/shared/bricks/manifests/box.manifest.d.ts +2 -2
  23. package/dist/shared/bricks/manifests/box.manifest.d.ts.map +1 -1
  24. package/dist/shared/bricks/manifests/box.manifest.js +16 -20
  25. package/dist/shared/bricks/manifests/button.manifest.d.ts +3 -6
  26. package/dist/shared/bricks/manifests/button.manifest.d.ts.map +1 -1
  27. package/dist/shared/bricks/manifests/button.manifest.js +13 -20
  28. package/dist/shared/bricks/manifests/card.manifest.d.ts +3 -3
  29. package/dist/shared/bricks/manifests/card.manifest.d.ts.map +1 -1
  30. package/dist/shared/bricks/manifests/card.manifest.js +18 -20
  31. package/dist/shared/bricks/manifests/carousel.manifest.d.ts +2 -2
  32. package/dist/shared/bricks/manifests/carousel.manifest.d.ts.map +1 -1
  33. package/dist/shared/bricks/manifests/carousel.manifest.js +15 -20
  34. package/dist/shared/bricks/manifests/footer.manifest.d.ts +3 -3
  35. package/dist/shared/bricks/manifests/footer.manifest.d.ts.map +1 -1
  36. package/dist/shared/bricks/manifests/footer.manifest.js +13 -20
  37. package/dist/shared/bricks/manifests/form.manifest.d.ts +3 -3
  38. package/dist/shared/bricks/manifests/form.manifest.d.ts.map +1 -1
  39. package/dist/shared/bricks/manifests/form.manifest.js +13 -20
  40. package/dist/shared/bricks/manifests/hero.manifest.d.ts +2 -2
  41. package/dist/shared/bricks/manifests/hero.manifest.d.ts.map +1 -1
  42. package/dist/shared/bricks/manifests/hero.manifest.js +13 -20
  43. package/dist/shared/bricks/manifests/html.manifest.d.ts +1 -1
  44. package/dist/shared/bricks/manifests/html.manifest.d.ts.map +1 -1
  45. package/dist/shared/bricks/manifests/html.manifest.js +8 -20
  46. package/dist/shared/bricks/manifests/icon.manifest.d.ts +1 -1
  47. package/dist/shared/bricks/manifests/icon.manifest.d.ts.map +1 -1
  48. package/dist/shared/bricks/manifests/icon.manifest.js +13 -20
  49. package/dist/shared/bricks/manifests/image.manifest.d.ts +2 -2
  50. package/dist/shared/bricks/manifests/image.manifest.d.ts.map +1 -1
  51. package/dist/shared/bricks/manifests/image.manifest.js +16 -20
  52. package/dist/shared/bricks/manifests/images-gallery.manifest.d.ts +2 -2
  53. package/dist/shared/bricks/manifests/images-gallery.manifest.d.ts.map +1 -1
  54. package/dist/shared/bricks/manifests/images-gallery.manifest.js +15 -20
  55. package/dist/shared/bricks/manifests/map.manifest.d.ts +1 -1
  56. package/dist/shared/bricks/manifests/map.manifest.d.ts.map +1 -1
  57. package/dist/shared/bricks/manifests/map.manifest.js +11 -20
  58. package/dist/shared/bricks/manifests/navbar.manifest.d.ts +5 -5
  59. package/dist/shared/bricks/manifests/navbar.manifest.d.ts.map +1 -1
  60. package/dist/shared/bricks/manifests/navbar.manifest.js +15 -20
  61. package/dist/shared/bricks/manifests/sidebar.manifest.d.ts +1 -1
  62. package/dist/shared/bricks/manifests/sidebar.manifest.d.ts.map +1 -1
  63. package/dist/shared/bricks/manifests/sidebar.manifest.js +13 -20
  64. package/dist/shared/bricks/manifests/social-links.manifest.d.ts +2 -2
  65. package/dist/shared/bricks/manifests/social-links.manifest.d.ts.map +1 -1
  66. package/dist/shared/bricks/manifests/social-links.manifest.js +14 -20
  67. package/dist/shared/bricks/manifests/spacer.manifest.d.ts +1 -1
  68. package/dist/shared/bricks/manifests/spacer.manifest.d.ts.map +1 -1
  69. package/dist/shared/bricks/manifests/spacer.manifest.js +8 -20
  70. package/dist/shared/bricks/manifests/table.manifest.d.ts +4 -4
  71. package/dist/shared/bricks/manifests/table.manifest.d.ts.map +1 -1
  72. package/dist/shared/bricks/manifests/table.manifest.js +15 -20
  73. package/dist/shared/bricks/manifests/tabs.manifest.d.ts +4 -4
  74. package/dist/shared/bricks/manifests/tabs.manifest.d.ts.map +1 -1
  75. package/dist/shared/bricks/manifests/tabs.manifest.js +15 -20
  76. package/dist/shared/bricks/manifests/testimonials.manifest.d.ts +2 -2
  77. package/dist/shared/bricks/manifests/testimonials.manifest.d.ts.map +1 -1
  78. package/dist/shared/bricks/manifests/testimonials.manifest.js +18 -20
  79. package/dist/shared/bricks/manifests/text.manifest.d.ts +2 -6
  80. package/dist/shared/bricks/manifests/text.manifest.d.ts.map +1 -1
  81. package/dist/shared/bricks/manifests/text.manifest.js +13 -20
  82. package/dist/shared/bricks/manifests/timeline.manifest.d.ts +7 -7
  83. package/dist/shared/bricks/manifests/timeline.manifest.d.ts.map +1 -1
  84. package/dist/shared/bricks/manifests/timeline.manifest.js +15 -20
  85. package/dist/shared/bricks/manifests/video.manifest.d.ts +1 -1
  86. package/dist/shared/bricks/manifests/video.manifest.d.ts.map +1 -1
  87. package/dist/shared/bricks/manifests/video.manifest.js +11 -20
  88. package/dist/shared/bricks/props/align.d.ts +0 -3
  89. package/dist/shared/bricks/props/align.d.ts.map +1 -1
  90. package/dist/shared/bricks/props/align.js +4 -11
  91. package/dist/shared/bricks/props/background.d.ts +2 -8
  92. package/dist/shared/bricks/props/background.d.ts.map +1 -1
  93. package/dist/shared/bricks/props/background.js +4 -9
  94. package/dist/shared/bricks/props/border.d.ts +0 -7
  95. package/dist/shared/bricks/props/border.d.ts.map +1 -1
  96. package/dist/shared/bricks/props/border.js +5 -10
  97. package/dist/shared/bricks/props/color-preset.d.ts +316 -6
  98. package/dist/shared/bricks/props/color-preset.d.ts.map +1 -1
  99. package/dist/shared/bricks/props/color-preset.js +2 -5
  100. package/dist/shared/bricks/props/color.d.ts +3 -5
  101. package/dist/shared/bricks/props/color.d.ts.map +1 -1
  102. package/dist/shared/bricks/props/color.js +3 -8
  103. package/dist/shared/bricks/props/common.d.ts.map +1 -1
  104. package/dist/shared/bricks/props/common.js +4 -5
  105. package/dist/shared/bricks/props/css-length.d.ts +0 -1
  106. package/dist/shared/bricks/props/css-length.d.ts.map +1 -1
  107. package/dist/shared/bricks/props/css-length.js +1 -4
  108. package/dist/shared/bricks/props/datasource.d.ts +3 -3
  109. package/dist/shared/bricks/props/datasource.d.ts.map +1 -1
  110. package/dist/shared/bricks/props/datasource.js +74 -76
  111. package/dist/shared/bricks/props/datasource.js.map +1 -1
  112. package/dist/shared/bricks/props/date.js +21 -4
  113. package/dist/shared/bricks/props/date.js.map +1 -1
  114. package/dist/shared/bricks/props/direction.d.ts +1 -2
  115. package/dist/shared/bricks/props/direction.d.ts.map +1 -1
  116. package/dist/shared/bricks/props/direction.js +4 -7
  117. package/dist/shared/bricks/props/dynamic.d.ts +5 -67
  118. package/dist/shared/bricks/props/dynamic.d.ts.map +1 -1
  119. package/dist/shared/bricks/props/dynamic.js +6 -24
  120. package/dist/shared/bricks/props/effects.d.ts +1 -3
  121. package/dist/shared/bricks/props/effects.d.ts.map +1 -1
  122. package/dist/shared/bricks/props/effects.js +4 -9
  123. package/dist/shared/bricks/props/geolocation.d.ts.map +1 -1
  124. package/dist/shared/bricks/props/geolocation.js +3 -6
  125. package/dist/shared/bricks/props/geolocation.js.map +1 -1
  126. package/dist/shared/bricks/props/helpers.js +5 -6
  127. package/dist/shared/bricks/props/image.d.ts +2 -8
  128. package/dist/shared/bricks/props/image.d.ts.map +1 -1
  129. package/dist/shared/bricks/props/image.js +4 -7
  130. package/dist/shared/bricks/props/string.d.ts +2 -5
  131. package/dist/shared/bricks/props/string.d.ts.map +1 -1
  132. package/dist/shared/bricks/props/string.js +3 -10
  133. package/dist/shared/bricks/props/tags.d.ts +0 -1
  134. package/dist/shared/bricks/props/tags.d.ts.map +1 -1
  135. package/dist/shared/bricks/props/tags.js +3 -6
  136. package/dist/shared/bricks/props/text.d.ts +0 -3
  137. package/dist/shared/bricks/props/text.d.ts.map +1 -1
  138. package/dist/shared/bricks/props/text.js +4 -11
  139. package/dist/shared/bricks/props/types.d.ts +2 -2
  140. package/dist/shared/bricks/props/types.d.ts.map +1 -1
  141. package/dist/shared/bricks.d.ts +64 -154
  142. package/dist/shared/bricks.d.ts.map +1 -1
  143. package/dist/shared/bricks.js +47 -52
  144. package/dist/shared/chunk-2O5HVPID.js +41 -0
  145. package/dist/shared/chunk-2O5HVPID.js.map +1 -0
  146. package/dist/shared/{chunk-F22LDHEO.js → chunk-2U5U3CCJ.js} +3 -18
  147. package/dist/shared/chunk-2U5U3CCJ.js.map +1 -0
  148. package/dist/shared/{chunk-LTIJI7Y3.js → chunk-4KY7OZWD.js} +35 -35
  149. package/dist/shared/chunk-4KY7OZWD.js.map +1 -0
  150. package/dist/shared/{chunk-TNMNMYOB.js → chunk-5RCC2STG.js} +2 -13
  151. package/dist/shared/chunk-5RCC2STG.js.map +1 -0
  152. package/dist/shared/{chunk-KIDICX3Y.js → chunk-6AE7UD73.js} +27 -33
  153. package/dist/shared/chunk-6AE7UD73.js.map +1 -0
  154. package/dist/shared/{chunk-CRS7QCPZ.js → chunk-7U5WPHXB.js} +65 -27
  155. package/dist/shared/chunk-7U5WPHXB.js.map +1 -0
  156. package/dist/shared/{chunk-Q4NPPLEU.js → chunk-BHARJBEK.js} +2 -9
  157. package/dist/shared/chunk-BHARJBEK.js.map +1 -0
  158. package/dist/shared/{chunk-H5JM2M2T.js → chunk-BZTWZC77.js} +46 -31
  159. package/dist/shared/chunk-BZTWZC77.js.map +1 -0
  160. package/dist/shared/{chunk-LLNPH3XR.js → chunk-DCM4732T.js} +6 -8
  161. package/dist/shared/chunk-DCM4732T.js.map +1 -0
  162. package/dist/shared/{chunk-W6MRYRGJ.js → chunk-DRQKKPTX.js} +6 -20
  163. package/dist/shared/chunk-DRQKKPTX.js.map +1 -0
  164. package/dist/shared/{chunk-CSF2WQX2.js → chunk-EID5HPF3.js} +15 -12
  165. package/dist/shared/chunk-EID5HPF3.js.map +1 -0
  166. package/dist/shared/chunk-EMF5TCPX.js +389 -0
  167. package/dist/shared/chunk-EMF5TCPX.js.map +1 -0
  168. package/dist/shared/chunk-FD7YYFRI.js +225 -0
  169. package/dist/shared/chunk-FD7YYFRI.js.map +1 -0
  170. package/dist/shared/{chunk-36PLZKMW.js → chunk-FHA4DFIM.js} +26 -27
  171. package/dist/shared/chunk-FHA4DFIM.js.map +1 -0
  172. package/dist/shared/{chunk-L6C7HUSA.js → chunk-FUUSAMN3.js} +21 -24
  173. package/dist/shared/chunk-FUUSAMN3.js.map +1 -0
  174. package/dist/shared/chunk-GDYCCB3B.js +22 -0
  175. package/dist/shared/chunk-GDYCCB3B.js.map +1 -0
  176. package/dist/shared/chunk-GLV6QIIM.js +41 -0
  177. package/dist/shared/chunk-GLV6QIIM.js.map +1 -0
  178. package/dist/shared/chunk-H6TMBELF.js +374 -0
  179. package/dist/shared/chunk-H6TMBELF.js.map +1 -0
  180. package/dist/shared/{chunk-YWOTQWIQ.js → chunk-HUWMIXNN.js} +26 -28
  181. package/dist/shared/chunk-HUWMIXNN.js.map +1 -0
  182. package/dist/shared/chunk-HY7JOP3J.js +150 -0
  183. package/dist/shared/chunk-HY7JOP3J.js.map +1 -0
  184. package/dist/shared/{chunk-TFGGYU6Y.js → chunk-IEMCCHM4.js} +7 -12
  185. package/dist/shared/chunk-IEMCCHM4.js.map +1 -0
  186. package/dist/shared/{chunk-EVLRH6VG.js → chunk-J45LSQT6.js} +2 -2
  187. package/dist/shared/chunk-J45LSQT6.js.map +1 -0
  188. package/dist/shared/{chunk-DFAFDBYZ.js → chunk-JF52BBFD.js} +27 -28
  189. package/dist/shared/chunk-JF52BBFD.js.map +1 -0
  190. package/dist/shared/{chunk-ZR6R6Z6O.js → chunk-JLDAS3VE.js} +34 -32
  191. package/dist/shared/chunk-JLDAS3VE.js.map +1 -0
  192. package/dist/shared/{chunk-SE6O65HC.js → chunk-JSDKK5QN.js} +10 -23
  193. package/dist/shared/chunk-JSDKK5QN.js.map +1 -0
  194. package/dist/shared/{chunk-KILJYJFE.js → chunk-JW7MQAU4.js} +19 -19
  195. package/dist/shared/chunk-JW7MQAU4.js.map +1 -0
  196. package/dist/shared/{chunk-RV7AYVFV.js → chunk-KKWT3OXF.js} +4 -19
  197. package/dist/shared/chunk-KKWT3OXF.js.map +1 -0
  198. package/dist/shared/{chunk-N3BEBLWF.js → chunk-KQH6V22E.js} +34 -34
  199. package/dist/shared/{chunk-GFAQWQER.js → chunk-LGDDJJHK.js} +33 -35
  200. package/dist/shared/chunk-LGDDJJHK.js.map +1 -0
  201. package/dist/shared/{chunk-FOGAVJC2.js → chunk-LGGPCCCY.js} +3 -3
  202. package/dist/shared/{chunk-4MNWMEMM.js → chunk-LPAQ47C6.js} +23 -23
  203. package/dist/shared/chunk-LPAQ47C6.js.map +1 -0
  204. package/dist/shared/chunk-MO6CRLQA.js +73 -0
  205. package/dist/shared/chunk-MO6CRLQA.js.map +1 -0
  206. package/dist/shared/{chunk-GQTZPN5D.js → chunk-MYOLWTB2.js} +29 -32
  207. package/dist/shared/chunk-MYOLWTB2.js.map +1 -0
  208. package/dist/shared/{chunk-KEM5N6GJ.js → chunk-O24RDXZS.js} +34 -34
  209. package/dist/shared/chunk-O24RDXZS.js.map +1 -0
  210. package/dist/shared/{chunk-BPBKHEQ5.js → chunk-OJ6KL7FU.js} +1 -8
  211. package/dist/shared/chunk-OJ6KL7FU.js.map +1 -0
  212. package/dist/shared/{chunk-LCJ2VFPM.js → chunk-PF75LW33.js} +24 -27
  213. package/dist/shared/chunk-PF75LW33.js.map +1 -0
  214. package/dist/shared/{chunk-U5ZECCJM.js → chunk-QEJGPYTB.js} +32 -34
  215. package/dist/shared/chunk-QEJGPYTB.js.map +1 -0
  216. package/dist/shared/{chunk-2VDR4ZYY.js → chunk-SK2O7GFC.js} +17 -18
  217. package/dist/shared/chunk-SK2O7GFC.js.map +1 -0
  218. package/dist/shared/{chunk-N3ZTQD5I.js → chunk-SQXZNGQF.js} +8 -23
  219. package/dist/shared/chunk-SQXZNGQF.js.map +1 -0
  220. package/dist/shared/{chunk-NTLAKMMQ.js → chunk-SRYBJ6NQ.js} +6 -17
  221. package/dist/shared/chunk-SRYBJ6NQ.js.map +1 -0
  222. package/dist/shared/{chunk-UXTASZ23.js → chunk-T6C3NG2L.js} +66 -63
  223. package/dist/shared/chunk-T6C3NG2L.js.map +1 -0
  224. package/dist/shared/{chunk-ZRRAK5NS.js → chunk-TBT2PTGB.js} +41 -33
  225. package/dist/shared/chunk-TBT2PTGB.js.map +1 -0
  226. package/dist/shared/{chunk-2IHKVMKW.js → chunk-U4KZUX37.js} +18 -19
  227. package/dist/shared/chunk-U4KZUX37.js.map +1 -0
  228. package/dist/shared/{chunk-FQDR2BBZ.js → chunk-VSLRTXLF.js} +11 -4
  229. package/dist/shared/chunk-VSLRTXLF.js.map +1 -0
  230. package/dist/shared/{chunk-BHC2A43S.js → chunk-VTCHJT4O.js} +3 -3
  231. package/dist/shared/{chunk-BHC2A43S.js.map → chunk-VTCHJT4O.js.map} +1 -1
  232. package/dist/shared/{chunk-GIGFNQBO.js → chunk-W2RFDII5.js} +3 -3
  233. package/dist/shared/{chunk-Y74LZNND.js → chunk-WPZV3LYL.js} +4 -10
  234. package/dist/shared/chunk-WPZV3LYL.js.map +1 -0
  235. package/dist/shared/chunk-XFZQGRRL.js +101 -0
  236. package/dist/shared/chunk-XFZQGRRL.js.map +1 -0
  237. package/dist/shared/{chunk-42OUNI7C.js → chunk-XK2CERPB.js} +27 -29
  238. package/dist/shared/chunk-XK2CERPB.js.map +1 -0
  239. package/dist/shared/chunk-XNRSL6FL.js +78 -0
  240. package/dist/shared/chunk-XNRSL6FL.js.map +1 -0
  241. package/dist/shared/{chunk-2RK3CPYJ.js → chunk-XXPSM6UA.js} +9 -12
  242. package/dist/shared/chunk-XXPSM6UA.js.map +1 -0
  243. package/dist/shared/{chunk-ZLYIRH2B.js → chunk-ZRBTAC3G.js} +3 -18
  244. package/dist/shared/chunk-ZRBTAC3G.js.map +1 -0
  245. package/dist/shared/{chunk-F247VKAE.js → chunk-ZVJNRKT4.js} +18 -20
  246. package/dist/shared/chunk-ZVJNRKT4.js.map +1 -0
  247. package/dist/shared/context.d.ts +402 -23
  248. package/dist/shared/context.d.ts.map +1 -1
  249. package/dist/shared/context.js +93 -0
  250. package/dist/shared/context.js.map +1 -1
  251. package/dist/shared/datarecords/external/airtable/types.d.ts +1 -1
  252. package/dist/shared/datarecords/external/airtable/types.d.ts.map +1 -1
  253. package/dist/shared/datarecords/external/airtable/types.js +2 -1
  254. package/dist/shared/datarecords/types.d.ts +3 -3
  255. package/dist/shared/datarecords/types.d.ts.map +1 -1
  256. package/dist/shared/datarecords/types.js +3 -2
  257. package/dist/shared/datasources/external/instagram/feed/schema.d.ts +1 -1
  258. package/dist/shared/datasources/external/instagram/feed/schema.d.ts.map +1 -1
  259. package/dist/shared/datasources/external/instagram/feed/schema.js +4 -1
  260. package/dist/shared/datasources/external/instagram/feed/schema.js.map +1 -1
  261. package/dist/shared/datasources/external/mastodon/status/schema.d.ts +6 -6
  262. package/dist/shared/datasources/external/mastodon/status/schema.d.ts.map +1 -1
  263. package/dist/shared/datasources/external/mastodon/status/schema.js +6 -19
  264. package/dist/shared/datasources/external/mastodon/status/schema.js.map +1 -1
  265. package/dist/shared/datasources/external/meta/oauth/config.d.ts +2 -2
  266. package/dist/shared/datasources/external/meta/oauth/config.d.ts.map +1 -1
  267. package/dist/shared/datasources/external/meta/oauth/config.js +4 -1
  268. package/dist/shared/datasources/external/meta/oauth/config.js.map +1 -1
  269. package/dist/shared/datasources/external/threads/media/schema.d.ts +1 -1
  270. package/dist/shared/datasources/external/threads/media/schema.d.ts.map +1 -1
  271. package/dist/shared/datasources/external/threads/media/schema.js +4 -8
  272. package/dist/shared/datasources/external/threads/media/schema.js.map +1 -1
  273. package/dist/shared/datasources/internal/blog/schema.d.ts +1 -1
  274. package/dist/shared/datasources/internal/blog/schema.d.ts.map +1 -1
  275. package/dist/shared/datasources/internal/blog/schema.js +4 -1
  276. package/dist/shared/datasources/internal/blog/schema.js.map +1 -1
  277. package/dist/shared/datasources/types.d.ts +25 -25
  278. package/dist/shared/datasources/types.d.ts.map +1 -1
  279. package/dist/shared/datasources/types.js +3 -16
  280. package/dist/shared/images.d.ts +1 -1
  281. package/dist/shared/images.d.ts.map +1 -1
  282. package/dist/shared/images.js +4 -38
  283. package/dist/shared/images.js.map +1 -1
  284. package/dist/shared/page.d.ts +139 -22
  285. package/dist/shared/page.d.ts.map +1 -1
  286. package/dist/shared/page.js +51 -49
  287. package/dist/shared/responsive.js +1 -1
  288. package/dist/shared/site.d.ts +74 -191
  289. package/dist/shared/site.d.ts.map +1 -1
  290. package/dist/shared/site.js +55 -114
  291. package/dist/shared/site.js.map +1 -1
  292. package/dist/shared/sitemap.d.ts +4 -326
  293. package/dist/shared/sitemap.d.ts.map +1 -1
  294. package/dist/shared/sitemap.js +50 -58
  295. package/dist/shared/theme.d.ts +0 -37
  296. package/dist/shared/theme.d.ts.map +1 -1
  297. package/dist/shared/theme.js +4 -21
  298. package/dist/shared/utils/llm.d.ts +1 -10
  299. package/dist/shared/utils/llm.d.ts.map +1 -1
  300. package/dist/shared/utils/llm.js +1 -18
  301. package/dist/shared/utils/schema.d.ts +3 -2
  302. package/dist/shared/utils/schema.d.ts.map +1 -1
  303. package/dist/shared/utils/schema.js +2 -17
  304. package/dist/shared/utils/string-enum.d.ts +9 -3
  305. package/dist/shared/utils/string-enum.d.ts.map +1 -1
  306. package/dist/shared/utils/string-enum.js +1 -1
  307. package/package.json +21 -5
  308. package/src/shared/ai/schemas.ts +24 -29
  309. package/src/shared/ai/types.ts +22 -88
  310. package/src/shared/attributes.ts +53 -51
  311. package/src/shared/brick-manifest.ts +5 -6
  312. package/src/shared/bricks/manifests/accordion.manifest.ts +11 -11
  313. package/src/shared/bricks/manifests/all-props.ts +165 -0
  314. package/src/shared/bricks/manifests/box.manifest.ts +19 -21
  315. package/src/shared/bricks/manifests/button.manifest.ts +54 -16
  316. package/src/shared/bricks/manifests/card.manifest.ts +32 -18
  317. package/src/shared/bricks/manifests/carousel.manifest.ts +11 -13
  318. package/src/shared/bricks/manifests/footer.manifest.ts +16 -15
  319. package/src/shared/bricks/manifests/form.manifest.ts +14 -15
  320. package/src/shared/bricks/manifests/hero.manifest.ts +18 -20
  321. package/src/shared/bricks/manifests/icon.manifest.ts +9 -10
  322. package/src/shared/bricks/manifests/image.manifest.ts +22 -19
  323. package/src/shared/bricks/manifests/images-gallery.manifest.ts +13 -15
  324. package/src/shared/bricks/manifests/map.manifest.ts +10 -10
  325. package/src/shared/bricks/manifests/navbar.manifest.ts +20 -21
  326. package/src/shared/bricks/manifests/sidebar.manifest.ts +9 -9
  327. package/src/shared/bricks/manifests/social-links.manifest.ts +17 -19
  328. package/src/shared/bricks/manifests/table.manifest.ts +15 -15
  329. package/src/shared/bricks/manifests/tabs.manifest.ts +14 -16
  330. package/src/shared/bricks/manifests/testimonials.manifest.ts +21 -20
  331. package/src/shared/bricks/manifests/text.manifest.ts +16 -19
  332. package/src/shared/bricks/manifests/timeline.manifest.ts +29 -24
  333. package/src/shared/bricks/manifests/video.manifest.ts +9 -10
  334. package/src/shared/bricks/props/align.ts +0 -13
  335. package/src/shared/bricks/props/background.ts +1 -14
  336. package/src/shared/bricks/props/border.ts +2 -13
  337. package/src/shared/bricks/props/color-preset.ts +9 -10
  338. package/src/shared/bricks/props/color.ts +7 -18
  339. package/src/shared/bricks/props/common.ts +6 -7
  340. package/src/shared/bricks/props/css-length.ts +0 -5
  341. package/src/shared/bricks/props/datasource.ts +72 -74
  342. package/src/shared/bricks/props/direction.ts +1 -5
  343. package/src/shared/bricks/props/dynamic.ts +0 -11
  344. package/src/shared/bricks/props/effects.ts +0 -9
  345. package/src/shared/bricks/props/geolocation.ts +3 -3
  346. package/src/shared/bricks/props/helpers.ts +1 -1
  347. package/src/shared/bricks/props/image.ts +4 -16
  348. package/src/shared/bricks/props/string.ts +5 -18
  349. package/src/shared/bricks/props/tags.ts +0 -5
  350. package/src/shared/bricks/props/tests/background.test.ts +1 -15
  351. package/src/shared/bricks/props/tests/image.test.ts +3 -9
  352. package/src/shared/bricks/props/tests/string.test.ts +2 -26
  353. package/src/shared/bricks/props/text.ts +0 -12
  354. package/src/shared/bricks/props/types.ts +4 -3
  355. package/src/shared/bricks.ts +156 -1020
  356. package/src/shared/context.ts +24 -24
  357. package/src/shared/datarecords/external/airtable/types.ts +12 -11
  358. package/src/shared/datarecords/types.ts +2 -34
  359. package/src/shared/datasources/external/instagram/feed/schema.ts +2 -1
  360. package/src/shared/datasources/external/mastodon/status/schema.ts +4 -19
  361. package/src/shared/datasources/external/meta/oauth/config.ts +2 -1
  362. package/src/shared/datasources/external/threads/media/schema.ts +2 -8
  363. package/src/shared/datasources/internal/blog/schema.ts +2 -1
  364. package/src/shared/datasources/types.ts +64 -79
  365. package/src/shared/images.ts +12 -18
  366. package/src/shared/page.ts +9 -1
  367. package/src/shared/sitemap.ts +3 -70
  368. package/src/shared/tests/attributes.test.ts +2 -0
  369. package/src/shared/theme.ts +81 -96
  370. package/src/shared/utils/llm.ts +5 -191
  371. package/src/shared/utils/schema.ts +71 -244
  372. package/src/shared/utils/string-enum.ts +25 -4
  373. package/src/shared/utils/tests/schema.test.ts +70 -313
  374. package/dist/shared/chunk-2IHKVMKW.js.map +0 -1
  375. package/dist/shared/chunk-2RK3CPYJ.js.map +0 -1
  376. package/dist/shared/chunk-2VDR4ZYY.js.map +0 -1
  377. package/dist/shared/chunk-36PLZKMW.js.map +0 -1
  378. package/dist/shared/chunk-42OUNI7C.js.map +0 -1
  379. package/dist/shared/chunk-4MNWMEMM.js.map +0 -1
  380. package/dist/shared/chunk-A2QPY54H.js +0 -13
  381. package/dist/shared/chunk-A2QPY54H.js.map +0 -1
  382. package/dist/shared/chunk-BPBKHEQ5.js.map +0 -1
  383. package/dist/shared/chunk-CRS7QCPZ.js.map +0 -1
  384. package/dist/shared/chunk-CSF2WQX2.js.map +0 -1
  385. package/dist/shared/chunk-DFAFDBYZ.js.map +0 -1
  386. package/dist/shared/chunk-DV3G7X34.js +0 -244
  387. package/dist/shared/chunk-DV3G7X34.js.map +0 -1
  388. package/dist/shared/chunk-EVLRH6VG.js.map +0 -1
  389. package/dist/shared/chunk-F22LDHEO.js.map +0 -1
  390. package/dist/shared/chunk-F247VKAE.js.map +0 -1
  391. package/dist/shared/chunk-FQDR2BBZ.js.map +0 -1
  392. package/dist/shared/chunk-GFAQWQER.js.map +0 -1
  393. package/dist/shared/chunk-GQTZPN5D.js.map +0 -1
  394. package/dist/shared/chunk-H5JM2M2T.js.map +0 -1
  395. package/dist/shared/chunk-HTUSL2U7.js +0 -260
  396. package/dist/shared/chunk-HTUSL2U7.js.map +0 -1
  397. package/dist/shared/chunk-IQIISR22.js +0 -794
  398. package/dist/shared/chunk-IQIISR22.js.map +0 -1
  399. package/dist/shared/chunk-JK2FWFJU.js +0 -15
  400. package/dist/shared/chunk-JK2FWFJU.js.map +0 -1
  401. package/dist/shared/chunk-KEM5N6GJ.js.map +0 -1
  402. package/dist/shared/chunk-KIDICX3Y.js.map +0 -1
  403. package/dist/shared/chunk-KILJYJFE.js.map +0 -1
  404. package/dist/shared/chunk-L6C7HUSA.js.map +0 -1
  405. package/dist/shared/chunk-LCJ2VFPM.js.map +0 -1
  406. package/dist/shared/chunk-LLNPH3XR.js.map +0 -1
  407. package/dist/shared/chunk-LTIJI7Y3.js.map +0 -1
  408. package/dist/shared/chunk-MFNHFN2B.js +0 -103
  409. package/dist/shared/chunk-MFNHFN2B.js.map +0 -1
  410. package/dist/shared/chunk-N3ZTQD5I.js.map +0 -1
  411. package/dist/shared/chunk-NTLAKMMQ.js.map +0 -1
  412. package/dist/shared/chunk-Q4NPPLEU.js.map +0 -1
  413. package/dist/shared/chunk-RV7AYVFV.js.map +0 -1
  414. package/dist/shared/chunk-SE6O65HC.js.map +0 -1
  415. package/dist/shared/chunk-TFGGYU6Y.js.map +0 -1
  416. package/dist/shared/chunk-TNMNMYOB.js.map +0 -1
  417. package/dist/shared/chunk-TNTFKLCR.js +0 -1225
  418. package/dist/shared/chunk-TNTFKLCR.js.map +0 -1
  419. package/dist/shared/chunk-U5ZECCJM.js.map +0 -1
  420. package/dist/shared/chunk-UXTASZ23.js.map +0 -1
  421. package/dist/shared/chunk-W6MRYRGJ.js.map +0 -1
  422. package/dist/shared/chunk-WKN566LN.js +0 -29
  423. package/dist/shared/chunk-WKN566LN.js.map +0 -1
  424. package/dist/shared/chunk-Y74LZNND.js.map +0 -1
  425. package/dist/shared/chunk-YWOTQWIQ.js.map +0 -1
  426. package/dist/shared/chunk-ZLYIRH2B.js.map +0 -1
  427. package/dist/shared/chunk-ZR6R6Z6O.js.map +0 -1
  428. package/dist/shared/chunk-ZRRAK5NS.js.map +0 -1
  429. package/dist/shared/tests/schema-registry.test.d.ts +0 -2
  430. package/dist/shared/tests/schema-registry.test.d.ts.map +0 -1
  431. package/dist/shared/utils/schema-registry.d.ts +0 -5
  432. package/dist/shared/utils/schema-registry.d.ts.map +0 -1
  433. package/dist/shared/utils/schema-registry.js +0 -29
  434. package/dist/shared/utils/schema-registry.js.map +0 -1
  435. package/dist/shared/utils/tests/schema-registry.test.d.ts +0 -2
  436. package/dist/shared/utils/tests/schema-registry.test.d.ts.map +0 -1
  437. package/dist/shared/utils/typed-ref.d.ts +0 -43
  438. package/dist/shared/utils/typed-ref.d.ts.map +0 -1
  439. package/dist/shared/utils/typed-ref.js +0 -10
  440. package/dist/shared/utils/typed-ref.js.map +0 -1
  441. package/src/shared/tests/schema-registry.test.ts +0 -12
  442. package/src/shared/utils/schema-registry.ts +0 -82
  443. package/src/shared/utils/tests/schema-registry.test.ts +0 -13
  444. package/src/shared/utils/typed-ref.ts +0 -53
  445. /package/dist/shared/{chunk-N3BEBLWF.js.map → chunk-KQH6V22E.js.map} +0 -0
  446. /package/dist/shared/{chunk-FOGAVJC2.js.map → chunk-LGGPCCCY.js.map} +0 -0
  447. /package/dist/shared/{chunk-GIGFNQBO.js.map → chunk-W2RFDII5.js.map} +0 -0
@@ -1,8 +1,5 @@
1
1
  /*! Upstart.gg - Copyright (C) 2024 Flippable - https://github.com/upstart-gg/upstart/blob/main/LICENSE */
2
2
 
3
- import {
4
- typedRef
5
- } from "./chunk-A2QPY54H.js";
6
3
 
7
4
  // src/shared/bricks/props/css-length.ts
8
5
  import { Type } from "@sinclair/typebox";
@@ -19,9 +16,6 @@ function cssLength(options = {}) {
19
16
  ...options
20
17
  });
21
18
  }
22
- function cssLengthRef(options = {}) {
23
- return typedRef("styles:cssLength", options);
24
- }
25
19
  function isCssLength(value) {
26
20
  if (typeof value !== "string") {
27
21
  return false;
@@ -33,7 +27,6 @@ function isCssLength(value) {
33
27
  export {
34
28
  cssUnits,
35
29
  cssLength,
36
- cssLengthRef,
37
30
  isCssLength
38
31
  };
39
- //# sourceMappingURL=chunk-BPBKHEQ5.js.map
32
+ //# sourceMappingURL=chunk-OJ6KL7FU.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/shared/bricks/props/css-length.ts"],"sourcesContent":["import { type Static, Type, type StringOptions } from \"@sinclair/typebox\";\n\nexport const cssUnits = [\"px\", \"%\", \"em\", \"rem\", \"vh\", \"vw\", \"dvh\", \"dvw\", \"rlh\", \"lh\", \"cqh\", \"cqw\"];\n\nexport function cssLength(options: StringOptions = {}) {\n return Type.String({\n title: \"Length\",\n // $id: \"styles:cssLength\",\n description: `A CSS length value. Must be a number with a unit (e.g. \"10px\", \"50%\"). The unit can be one of the following: ${cssUnits?.join(\", \")}.`,\n default: options.default,\n \"ui:field\": \"css-length\",\n \"ui:css-units\": cssUnits,\n examples: [\"100px\", \"50%\", \"2em\", \"1.5rem\"],\n ...options,\n });\n}\n\nexport type CssLength = Static<ReturnType<typeof cssLength>>;\n\nexport function isCssLength(value: string | number | undefined): boolean {\n if (typeof value !== \"string\") {\n return false;\n }\n // Check if the value is something like a number + a css unit (e.g., \"20px\", \"50%\")\n const cssLengthPattern = new RegExp(`^-?\\\\d+(?:\\\\.\\\\d+)?\\\\s*(${cssUnits.join(\"|\")})$`);\n return cssLengthPattern.test(value);\n}\n"],"mappings":";;;;AAAA,SAAsB,YAAgC;AAE/C,IAAM,WAAW,CAAC,MAAM,KAAK,MAAM,OAAO,MAAM,MAAM,OAAO,OAAO,OAAO,MAAM,OAAO,KAAK;AAE7F,SAAS,UAAU,UAAyB,CAAC,GAAG;AACrD,SAAO,KAAK,OAAO;AAAA,IACjB,OAAO;AAAA;AAAA,IAEP,aAAa,gHAAgH,UAAU,KAAK,IAAI,CAAC;AAAA,IACjJ,SAAS,QAAQ;AAAA,IACjB,YAAY;AAAA,IACZ,gBAAgB;AAAA,IAChB,UAAU,CAAC,SAAS,OAAO,OAAO,QAAQ;AAAA,IAC1C,GAAG;AAAA,EACL,CAAC;AACH;AAIO,SAAS,YAAY,OAA6C;AACvE,MAAI,OAAO,UAAU,UAAU;AAC7B,WAAO;AAAA,EACT;AAEA,QAAM,mBAAmB,IAAI,OAAO,2BAA2B,SAAS,KAAK,GAAG,CAAC,IAAI;AACrF,SAAO,iBAAiB,KAAK,KAAK;AACpC;","names":[]}
@@ -1,30 +1,27 @@
1
1
  /*! Upstart.gg - Copyright (C) 2024 Flippable - https://github.com/upstart-gg/upstart/blob/main/LICENSE */
2
2
 
3
3
  import {
4
- defineProps
5
- } from "./chunk-BHC2A43S.js";
6
- import {
7
- defineBrickManifest
8
- } from "./chunk-EVLRH6VG.js";
4
+ border,
5
+ rounding
6
+ } from "./chunk-SRYBJ6NQ.js";
9
7
  import {
10
- loopRef
11
- } from "./chunk-IQIISR22.js";
8
+ defineProps
9
+ } from "./chunk-VTCHJT4O.js";
12
10
  import {
13
- string
14
- } from "./chunk-N3ZTQD5I.js";
11
+ image
12
+ } from "./chunk-DRQKKPTX.js";
15
13
  import {
16
- imageRef
17
- } from "./chunk-W6MRYRGJ.js";
14
+ cssLength
15
+ } from "./chunk-OJ6KL7FU.js";
18
16
  import {
19
- borderRef,
20
- roundingRef
21
- } from "./chunk-NTLAKMMQ.js";
17
+ loop
18
+ } from "./chunk-XFZQGRRL.js";
22
19
  import {
23
- colorPresetRef
24
- } from "./chunk-TFGGYU6Y.js";
20
+ colorPreset
21
+ } from "./chunk-IEMCCHM4.js";
25
22
  import {
26
- cssLengthRef
27
- } from "./chunk-BPBKHEQ5.js";
23
+ defineBrickManifest
24
+ } from "./chunk-J45LSQT6.js";
28
25
 
29
26
  // src/shared/bricks/manifests/images-gallery.manifest.ts
30
27
  import { Type } from "@sinclair/typebox";
@@ -51,20 +48,20 @@ var manifest = defineBrickManifest({
51
48
  icon: IoGridOutline,
52
49
  props: defineProps({
53
50
  colorPreset: Type.Optional(
54
- colorPresetRef({
51
+ colorPreset({
55
52
  title: "Color"
56
53
  })
57
54
  ),
58
- loop: Type.Optional(loopRef()),
55
+ loop: Type.Optional(loop()),
59
56
  images: Type.Array(
60
57
  Type.Object({
61
- image: imageRef({
58
+ image: image({
62
59
  "ui:responsive": "desktop",
63
60
  "ui:no-alt-text": true,
64
61
  "ui:no-object-options": true,
65
62
  "ui:placeholder": "https://example.com/image.jpg"
66
63
  }),
67
- legend: Type.Optional(string("Legend"))
64
+ legend: Type.Optional(Type.String({ title: "Legend" }))
68
65
  }),
69
66
  {
70
67
  title: "Images",
@@ -102,7 +99,7 @@ var manifest = defineBrickManifest({
102
99
  })
103
100
  ),
104
101
  gap: Type.Optional(
105
- cssLengthRef({
102
+ cssLength({
106
103
  title: "Gap",
107
104
  description: "The gap between the images.",
108
105
  default: "1rem",
@@ -110,7 +107,7 @@ var manifest = defineBrickManifest({
110
107
  })
111
108
  ),
112
109
  padding: Type.Optional(
113
- cssLengthRef({
110
+ cssLength({
114
111
  default: "3rem",
115
112
  description: "Padding inside the gallery.",
116
113
  "ai:instructions": "Use only a single value like '1rem' or '10px'",
@@ -120,8 +117,8 @@ var manifest = defineBrickManifest({
120
117
  "ui:styleId": "styles:padding"
121
118
  })
122
119
  ),
123
- rounding: Type.Optional(roundingRef()),
124
- border: Type.Optional(borderRef())
120
+ rounding: rounding(),
121
+ border: Type.Optional(border())
125
122
  })
126
123
  });
127
124
  var examples = [
@@ -834,4 +831,4 @@ export {
834
831
  manifest,
835
832
  examples
836
833
  };
837
- //# sourceMappingURL=chunk-LCJ2VFPM.js.map
834
+ //# sourceMappingURL=chunk-PF75LW33.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/shared/bricks/manifests/images-gallery.manifest.ts"],"sourcesContent":["import { Type } from \"@sinclair/typebox\";\nimport { IoGridOutline } from \"react-icons/io5\";\nimport { defineBrickManifest } from \"~/shared/brick-manifest\";\nimport { defineProps } from \"../props/helpers\";\nimport { image } from \"../props/image\";\nimport { colorPreset } from \"../props/color-preset\";\nimport { border, rounding } from \"../props/border\";\nimport { loop } from \"../props/dynamic\";\nimport { cssLength } from \"../props/css-length\";\nimport type { BrickExample } from \"./_types\";\n\nexport const manifest = defineBrickManifest({\n type: \"images-gallery\",\n name: \"Gallery\",\n category: \"media\",\n description: \"Displays an images collection.\",\n aiInstructions:\n \"This brick should mostly be used for image galleries. Prefer using card bricks for product showcases, articles lists with images, or other collections.\",\n consumesMultipleQueryRows: true,\n defaultInspectorTab: \"content\",\n isContainer: false,\n minHeight: {\n desktop: 200,\n },\n minWidth: {\n desktop: 300,\n },\n defaultWidth: {\n desktop: \"400px\",\n mobile: \"100%\",\n },\n icon: IoGridOutline,\n props: defineProps({\n colorPreset: Type.Optional(\n colorPreset({\n title: \"Color\",\n }),\n ),\n loop: Type.Optional(loop()),\n images: Type.Array(\n Type.Object({\n image: image({\n \"ui:responsive\": \"desktop\",\n \"ui:no-alt-text\": true,\n \"ui:no-object-options\": true,\n \"ui:placeholder\": \"https://example.com/image.jpg\",\n }),\n legend: Type.Optional(Type.String({ title: \"Legend\" })),\n }),\n {\n title: \"Images\",\n default: [],\n maxItems: 12,\n metadata: {\n category: \"content\",\n consumeQuery: true,\n },\n examples: [\n {\n image: { src: \"https://via.placeholder.com/300x200.png?text=Image+1\" },\n legend: \"Image 1\",\n },\n {\n image: { src: \"https://via.placeholder.com/300x200.png?text=Image+2\" },\n legend: \"Image 2\",\n },\n {\n image: { src: \"https://via.placeholder.com/300x200.png?text=Image+3\" },\n legend: \"Image 3\",\n },\n ],\n },\n ),\n columns: Type.Optional(\n Type.Number({\n title: \"Columns\",\n description:\n \"Number of columns. Only applies to desktop screens. On mobile, it will always display 1 column.\",\n minimum: 1,\n maximum: 6,\n default: 3,\n \"ui:field\": \"slider\",\n \"ui:responsive\": \"desktop\",\n }),\n ),\n gap: Type.Optional(\n cssLength({\n title: \"Gap\",\n description: \"The gap between the images.\",\n default: \"1rem\",\n \"ui:styleId\": \"styles:gap\",\n }),\n ),\n padding: Type.Optional(\n cssLength({\n default: \"3rem\",\n description: \"Padding inside the gallery.\",\n \"ai:instructions\": \"Use only a single value like '1rem' or '10px'\",\n title: \"Padding\",\n \"ui:responsive\": true,\n \"ui:placeholder\": \"Not specified\",\n \"ui:styleId\": \"styles:padding\",\n }),\n ),\n rounding: rounding(),\n border: Type.Optional(border()),\n }),\n});\n\nexport type Manifest = typeof manifest;\n\nexport const examples: BrickExample<Manifest>[] = [\n {\n description: \"Product portfolio gallery (3-column grid)\",\n type: \"images-gallery\",\n props: {\n columns: 3,\n gap: \"2.5rem\",\n padding: \"p-4\",\n images: [\n {\n image: {\n src: \"https://via.placeholder.com/400x400.png?text=Product+1\",\n },\n legend: \"Premium wireless headphones\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/400x400.png?text=Product+2\",\n },\n legend: \"Bluetooth speaker\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/400x400.png?text=Product+3\",\n },\n legend: \"Smart fitness tracker\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/400x400.png?text=Product+4\",\n },\n legend: \"Wireless charging pad\",\n },\n ],\n },\n },\n {\n description: \"Team photos gallery (4-column grid), light neutral background\",\n type: \"images-gallery\",\n props: {\n columns: 4,\n gap: \"1rem\",\n padding: \"p-6\",\n images: [\n {\n image: {\n src: \"https://via.placeholder.com/300x300.png?text=CEO\",\n },\n legend: \"Sarah Johnson - Chief Executive Officer\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/300x300.png?text=CTO\",\n },\n legend: \"Mike Chen - Chief Technology Officer\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/300x300.png?text=Design\",\n },\n legend: \"Emily Rodriguez - Head of Design\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/300x300.png?text=Marketing\",\n },\n legend: \"David Park - Marketing Director\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/300x300.png?text=Sales\",\n },\n legend: \"Lisa Wong - Sales Manager\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/300x300.png?text=Support\",\n },\n legend: \"Alex Thompson - Customer Support Lead\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/300x300.png?text=Dev\",\n },\n legend: \"Carlos Martinez - Senior Developer\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/300x300.png?text=HR\",\n },\n legend: \"Jennifer Adams - HR Specialist\",\n },\n ],\n colorPreset: {\n color: \"neutral-100\",\n },\n },\n },\n {\n description: \"Project showcase (2-column grid with larger spacing)\",\n type: \"images-gallery\",\n props: {\n columns: 2,\n gap: \"1rem\",\n padding: \"p-6\",\n images: [\n {\n image: {\n src: \"https://via.placeholder.com/600x400.png?text=Website+Redesign\",\n },\n legend: \"Modern e-commerce website redesign project\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/600x400.png?text=Mobile+App\",\n },\n legend: \"iOS and Android mobile application\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/600x400.png?text=Brand+Identity\",\n },\n legend: \"Complete brand identity design package\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/600x400.png?text=Dashboard+UI\",\n },\n legend: \"Analytics dashboard user interface\",\n },\n ],\n },\n },\n {\n description: \"Event photos gallery with tight spacing and minimal padding\",\n type: \"images-gallery\",\n props: {\n columns: 4,\n gap: \"1rem\",\n padding: \"p-6\",\n images: [\n {\n image: {\n src: \"https://via.placeholder.com/250x180.png?text=Opening\",\n },\n legend: \"Conference opening ceremony\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/250x180.png?text=Keynote\",\n },\n legend: \"Keynote presentation\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/250x180.png?text=Workshop\",\n },\n legend: \"Technical workshop session\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/250x180.png?text=Networking\",\n },\n legend: \"Networking lunch break\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/250x180.png?text=Panel\",\n },\n legend: \"Expert panel discussion\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/250x180.png?text=Awards\",\n },\n legend: \"Awards ceremony\",\n },\n ],\n },\n },\n {\n description: \"Photography portfolio with single column layout and primary background\",\n type: \"images-gallery\",\n props: {\n columns: 1,\n gap: \"3rem\",\n padding: \"4rem\",\n colorPreset: {\n color: \"primary-50\",\n },\n rounding: \"rounded-lg\",\n images: [\n {\n image: {\n src: \"https://via.placeholder.com/800x600.png?text=Landscape+1\",\n },\n legend: \"Mountain sunrise landscape photography\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/800x600.png?text=Portrait+1\",\n },\n legend: \"Professional business portrait session\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/800x600.png?text=Architecture+1\",\n },\n legend: \"Modern architectural photography\",\n },\n ],\n },\n },\n {\n description: \"Real estate property gallery with secondary colors and borders\",\n type: \"images-gallery\",\n props: {\n columns: 3,\n gap: \"1.5rem\",\n padding: \"2rem\",\n colorPreset: {\n color: \"secondary-100\",\n },\n border: {\n width: \"border\",\n color: \"border-secondary-300\",\n },\n rounding: \"rounded-xl\",\n images: [\n {\n image: {\n src: \"https://via.placeholder.com/400x300.png?text=Living+Room\",\n },\n legend: \"Spacious living room with natural light\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/400x300.png?text=Kitchen\",\n },\n legend: \"Modern kitchen with granite countertops\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/400x300.png?text=Master+Bedroom\",\n },\n legend: \"Master bedroom with walk-in closet\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/400x300.png?text=Bathroom\",\n },\n legend: \"Luxury bathroom with marble finishes\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/400x300.png?text=Backyard\",\n },\n legend: \"Private backyard with pool\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/400x300.png?text=Garage\",\n },\n legend: \"Two-car garage with storage\",\n },\n ],\n },\n },\n {\n description: \"Restaurant food gallery with 5-column grid and accent colors\",\n type: \"images-gallery\",\n props: {\n columns: 5,\n gap: \"0.75rem\",\n padding: \"1.5rem\",\n colorPreset: {\n color: \"accent-200\",\n },\n rounding: \"rounded-md\",\n images: [\n {\n image: {\n src: \"https://via.placeholder.com/300x300.png?text=Appetizer\",\n },\n legend: \"Bruschetta with fresh tomatoes\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/300x300.png?text=Soup\",\n },\n legend: \"Creamy mushroom bisque\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/300x300.png?text=Salad\",\n },\n legend: \"Mediterranean quinoa salad\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/300x300.png?text=Main+Course\",\n },\n legend: \"Grilled salmon with herbs\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/300x300.png?text=Dessert\",\n },\n legend: \"Chocolate lava cake\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/300x300.png?text=Beverage\",\n },\n legend: \"Artisan coffee selection\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/300x300.png?text=Pasta\",\n },\n legend: \"Homemade fettuccine alfredo\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/300x300.png?text=Pizza\",\n },\n legend: \"Wood-fired margherita pizza\",\n },\n ],\n },\n },\n {\n description: \"Art gallery exhibition with 6-column grid and minimal styling\",\n type: \"images-gallery\",\n props: {\n columns: 6,\n gap: \"0.5rem\",\n padding: \"1rem\",\n images: [\n {\n image: {\n src: \"https://via.placeholder.com/200x250.png?text=Abstract+1\",\n },\n legend: \"Abstract composition #1\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/200x250.png?text=Portrait+Art\",\n },\n legend: \"Contemporary portrait\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/200x250.png?text=Landscape+Art\",\n },\n legend: \"Impressionist landscape\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/200x250.png?text=Still+Life\",\n },\n legend: \"Modern still life\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/200x250.png?text=Sculpture\",\n },\n legend: \"Bronze sculpture piece\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/200x250.png?text=Digital+Art\",\n },\n legend: \"Digital artwork collection\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/200x250.png?text=Mixed+Media\",\n },\n legend: \"Mixed media installation\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/200x250.png?text=Photography\",\n },\n legend: \"Fine art photography\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/200x250.png?text=Watercolor\",\n },\n legend: \"Watercolor painting\",\n },\n ],\n },\n },\n {\n description: \"Fashion lookbook with 2-column layout and neutral dark theme\",\n type: \"images-gallery\",\n props: {\n columns: 2,\n gap: \"2rem\",\n padding: \"3rem\",\n colorPreset: {\n color: \"neutral-800\",\n },\n border: {\n width: \"border-2\",\n color: \"border-neutral-600\",\n },\n rounding: \"rounded-2xl\",\n images: [\n {\n image: {\n src: \"https://via.placeholder.com/400x600.png?text=Spring+Look\",\n },\n legend: \"Spring casual collection 2024\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/400x600.png?text=Summer+Look\",\n },\n legend: \"Summer evening wear\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/400x600.png?text=Business+Look\",\n },\n legend: \"Professional business attire\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/400x600.png?text=Weekend+Look\",\n },\n legend: \"Weekend comfort style\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/400x600.png?text=Formal+Look\",\n },\n legend: \"Formal evening collection\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/400x600.png?text=Street+Style\",\n },\n legend: \"Urban street fashion\",\n },\n ],\n },\n },\n {\n description: \"Travel destinations gallery with 3-column grid and no legends\",\n type: \"images-gallery\",\n props: {\n columns: 3,\n gap: \"1.25rem\",\n padding: \"2.5rem\",\n colorPreset: {\n color: \"primary-100\",\n },\n rounding: \"rounded-lg\",\n border: {\n width: \"border\",\n color: \"border-primary-200\",\n },\n images: [\n {\n image: {\n src: \"https://via.placeholder.com/350x250.png?text=Paris\",\n },\n },\n {\n image: {\n src: \"https://via.placeholder.com/350x250.png?text=Tokyo\",\n },\n },\n {\n image: {\n src: \"https://via.placeholder.com/350x250.png?text=New+York\",\n },\n },\n {\n image: {\n src: \"https://via.placeholder.com/350x250.png?text=London\",\n },\n },\n {\n image: {\n src: \"https://via.placeholder.com/350x250.png?text=Rome\",\n },\n },\n {\n image: {\n src: \"https://via.placeholder.com/350x250.png?text=Barcelona\",\n },\n },\n ],\n },\n },\n {\n description: \"Technical equipment gallery with 4-column grid and accent styling\",\n type: \"images-gallery\",\n props: {\n columns: 4,\n gap: \"1rem\",\n padding: \"2rem\",\n colorPreset: {\n color: \"accent-100\",\n },\n border: {\n width: \"border-4\",\n color: \"border-accent-400\",\n },\n rounding: \"rounded-xl\",\n images: [\n {\n image: {\n src: \"https://via.placeholder.com/300x300.png?text=Camera\",\n },\n legend: \"Professional DSLR camera\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/300x300.png?text=Laptop\",\n },\n legend: \"High-performance laptop\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/300x300.png?text=Microphone\",\n },\n legend: \"Studio recording microphone\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/300x300.png?text=Monitor\",\n },\n legend: \"4K professional monitor\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/300x300.png?text=Tablet\",\n },\n legend: \"Digital drawing tablet\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/300x300.png?text=Speakers\",\n },\n legend: \"Studio monitor speakers\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/300x300.png?text=Keyboard\",\n },\n legend: \"Mechanical keyboard\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/300x300.png?text=Mouse\",\n },\n legend: \"Precision gaming mouse\",\n },\n ],\n },\n },\n {\n description: \"Minimal product showcase with large gaps and no padding\",\n type: \"images-gallery\",\n props: {\n columns: 3,\n gap: \"4rem\",\n padding: \"0rem\",\n images: [\n {\n image: {\n src: \"https://via.placeholder.com/400x400.png?text=Watch\",\n },\n legend: \"Luxury Swiss timepiece\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/400x400.png?text=Jewelry\",\n },\n legend: \"Handcrafted gold necklace\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/400x400.png?text=Sunglasses\",\n },\n legend: \"Designer sunglasses collection\",\n },\n ],\n },\n },\n {\n description: \"Dynamic product gallery using products query with loop\",\n type: \"images-gallery\",\n props: {\n columns: 4,\n gap: \"1.5rem\",\n padding: \"2rem\",\n colorPreset: {\n color: \"primary-50\",\n },\n rounding: \"rounded-lg\",\n border: {\n width: \"border\",\n color: \"border-primary-200\",\n },\n images: [\n {\n image: {\n src: \"{{products.image}}\",\n },\n legend: \"{{products.name}} - ${{products.price}}\",\n },\n ],\n loop: {\n over: \"products\",\n },\n },\n },\n {\n description: \"Portfolio showcase using portfolioProjects query with loop\",\n type: \"images-gallery\",\n props: {\n columns: 3,\n gap: \"2rem\",\n padding: \"3rem\",\n colorPreset: {\n color: \"secondary-100\",\n },\n rounding: \"rounded-xl\",\n images: [\n {\n image: {\n src: \"{{portfolioProjects.thumbnail}}\",\n },\n legend:\n \"{{portfolioProjects.projectName}} - {{portfolioProjects.clientName}} ({{portfolioProjects.year}})\",\n },\n ],\n loop: {\n over: \"portfolioProjects\",\n },\n },\n },\n {\n description: \"Event photo gallery using eventPhotos query with loop\",\n type: \"images-gallery\",\n props: {\n columns: 5,\n gap: \"1rem\",\n padding: \"1.5rem\",\n colorPreset: {\n color: \"accent-50\",\n },\n border: {\n width: \"border-2\",\n color: \"border-accent-300\",\n },\n rounding: \"rounded-md\",\n images: [\n {\n image: {\n src: \"{{eventPhotos.imageUrl}}\",\n },\n legend: \"{{eventPhotos.caption}} - {{eventPhotos.eventDate}}\",\n },\n ],\n loop: {\n over: \"eventPhotos\",\n },\n },\n },\n {\n description: \"Team member gallery using teamMembers query with loop\",\n type: \"images-gallery\",\n props: {\n columns: 6,\n gap: \"0.75rem\",\n padding: \"2.5rem\",\n colorPreset: {\n color: \"neutral-100\",\n },\n rounding: \"rounded-lg\",\n border: {\n width: \"border\",\n color: \"border-neutral-300\",\n },\n images: [\n {\n image: {\n src: \"{{teamMembers.profilePhoto}}\",\n },\n legend: \"{{teamMembers.fullName}} - {{teamMembers.position}}\",\n },\n ],\n loop: {\n over: \"teamMembers\",\n },\n },\n },\n];\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,SAAS,YAAY;AACrB,SAAS,qBAAqB;AAUvB,IAAM,WAAW,oBAAoB;AAAA,EAC1C,MAAM;AAAA,EACN,MAAM;AAAA,EACN,UAAU;AAAA,EACV,aAAa;AAAA,EACb,gBACE;AAAA,EACF,2BAA2B;AAAA,EAC3B,qBAAqB;AAAA,EACrB,aAAa;AAAA,EACb,WAAW;AAAA,IACT,SAAS;AAAA,EACX;AAAA,EACA,UAAU;AAAA,IACR,SAAS;AAAA,EACX;AAAA,EACA,cAAc;AAAA,IACZ,SAAS;AAAA,IACT,QAAQ;AAAA,EACV;AAAA,EACA,MAAM;AAAA,EACN,OAAO,YAAY;AAAA,IACjB,aAAa,KAAK;AAAA,MAChB,YAAY;AAAA,QACV,OAAO;AAAA,MACT,CAAC;AAAA,IACH;AAAA,IACA,MAAM,KAAK,SAAS,KAAK,CAAC;AAAA,IAC1B,QAAQ,KAAK;AAAA,MACX,KAAK,OAAO;AAAA,QACV,OAAO,MAAM;AAAA,UACX,iBAAiB;AAAA,UACjB,kBAAkB;AAAA,UAClB,wBAAwB;AAAA,UACxB,kBAAkB;AAAA,QACpB,CAAC;AAAA,QACD,QAAQ,KAAK,SAAS,KAAK,OAAO,EAAE,OAAO,SAAS,CAAC,CAAC;AAAA,MACxD,CAAC;AAAA,MACD;AAAA,QACE,OAAO;AAAA,QACP,SAAS,CAAC;AAAA,QACV,UAAU;AAAA,QACV,UAAU;AAAA,UACR,UAAU;AAAA,UACV,cAAc;AAAA,QAChB;AAAA,QACA,UAAU;AAAA,UACR;AAAA,YACE,OAAO,EAAE,KAAK,uDAAuD;AAAA,YACrE,QAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,OAAO,EAAE,KAAK,uDAAuD;AAAA,YACrE,QAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,OAAO,EAAE,KAAK,uDAAuD;AAAA,YACrE,QAAQ;AAAA,UACV;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAAA,IACA,SAAS,KAAK;AAAA,MACZ,KAAK,OAAO;AAAA,QACV,OAAO;AAAA,QACP,aACE;AAAA,QACF,SAAS;AAAA,QACT,SAAS;AAAA,QACT,SAAS;AAAA,QACT,YAAY;AAAA,QACZ,iBAAiB;AAAA,MACnB,CAAC;AAAA,IACH;AAAA,IACA,KAAK,KAAK;AAAA,MACR,UAAU;AAAA,QACR,OAAO;AAAA,QACP,aAAa;AAAA,QACb,SAAS;AAAA,QACT,cAAc;AAAA,MAChB,CAAC;AAAA,IACH;AAAA,IACA,SAAS,KAAK;AAAA,MACZ,UAAU;AAAA,QACR,SAAS;AAAA,QACT,aAAa;AAAA,QACb,mBAAmB;AAAA,QACnB,OAAO;AAAA,QACP,iBAAiB;AAAA,QACjB,kBAAkB;AAAA,QAClB,cAAc;AAAA,MAChB,CAAC;AAAA,IACH;AAAA,IACA,UAAU,SAAS;AAAA,IACnB,QAAQ,KAAK,SAAS,OAAO,CAAC;AAAA,EAChC,CAAC;AACH,CAAC;AAIM,IAAM,WAAqC;AAAA,EAChD;AAAA,IACE,aAAa;AAAA,IACb,MAAM;AAAA,IACN,OAAO;AAAA,MACL,SAAS;AAAA,MACT,KAAK;AAAA,MACL,SAAS;AAAA,MACT,QAAQ;AAAA,QACN;AAAA,UACE,OAAO;AAAA,YACL,KAAK;AAAA,UACP;AAAA,UACA,QAAQ;AAAA,QACV;AAAA,QACA;AAAA,UACE,OAAO;AAAA,YACL,KAAK;AAAA,UACP;AAAA,UACA,QAAQ;AAAA,QACV;AAAA,QACA;AAAA,UACE,OAAO;AAAA,YACL,KAAK;AAAA,UACP;AAAA,UACA,QAAQ;AAAA,QACV;AAAA,QACA;AAAA,UACE,OAAO;AAAA,YACL,KAAK;AAAA,UACP;AAAA,UACA,QAAQ;AAAA,QACV;AAAA,MACF;AAAA,IACF;AAAA,EACF;AAAA,EACA;AAAA,IACE,aAAa;AAAA,IACb,MAAM;AAAA,IACN,OAAO;AAAA,MACL,SAAS;AAAA,MACT,KAAK;AAAA,MACL,SAAS;AAAA,MACT,QAAQ;AAAA,QACN;AAAA,UACE,OAAO;AAAA,YACL,KAAK;AAAA,UACP;AAAA,UACA,QAAQ;AAAA,QACV;AAAA,QACA;AAAA,UACE,OAAO;AAAA,YACL,KAAK;AAAA,UACP;AAAA,UACA,QAAQ;AAAA,QACV;AAAA,QACA;AAAA,UACE,OAAO;AAAA,YACL,KAAK;AAAA,UACP;AAAA,UACA,QAAQ;AAAA,QACV;AAAA,QACA;AAAA,UACE,OAAO;AAAA,YACL,KAAK;AAAA,UACP;AAAA,UACA,QAAQ;AAAA,QACV;AAAA,QACA;AAAA,UACE,OAAO;AAAA,YACL,KAAK;AAAA,UACP;AAAA,UACA,QAAQ;AAAA,QACV;AAAA,QACA;AAAA,UACE,OAAO;AAAA,YACL,KAAK;AAAA,UACP;AAAA,UACA,QAAQ;AAAA,QACV;AAAA,QACA;AAAA,UACE,OAAO;AAAA,YACL,KAAK;AAAA,UACP;AAAA,UACA,QAAQ;AAAA,QACV;AAAA,QACA;AAAA,UACE,OAAO;AAAA,YACL,KAAK;AAAA,UACP;AAAA,UACA,QAAQ;AAAA,QACV;AAAA,MACF;AAAA,MACA,aAAa;AAAA,QACX,OAAO;AAAA,MACT;AAAA,IACF;AAAA,EACF;AAAA,EACA;AAAA,IACE,aAAa;AAAA,IACb,MAAM;AAAA,IACN,OAAO;AAAA,MACL,SAAS;AAAA,MACT,KAAK;AAAA,MACL,SAAS;AAAA,MACT,QAAQ;AAAA,QACN;AAAA,UACE,OAAO;AAAA,YACL,KAAK;AAAA,UACP;AAAA,UACA,QAAQ;AAAA,QACV;AAAA,QACA;AAAA,UACE,OAAO;AAAA,YACL,KAAK;AAAA,UACP;AAAA,UACA,QAAQ;AAAA,QACV;AAAA,QACA;AAAA,UACE,OAAO;AAAA,YACL,KAAK;AAAA,UACP;AAAA,UACA,QAAQ;AAAA,QACV;AAAA,QACA;AAAA,UACE,OAAO;AAAA,YACL,KAAK;AAAA,UACP;AAAA,UACA,QAAQ;AAAA,QACV;AAAA,MACF;AAAA,IACF;AAAA,EACF;AAAA,EACA;AAAA,IACE,aAAa;AAAA,IACb,MAAM;AAAA,IACN,OAAO;AAAA,MACL,SAAS;AAAA,MACT,KAAK;AAAA,MACL,SAAS;AAAA,MACT,QAAQ;AAAA,QACN;AAAA,UACE,OAAO;AAAA,YACL,KAAK;AAAA,UACP;AAAA,UACA,QAAQ;AAAA,QACV;AAAA,QACA;AAAA,UACE,OAAO;AAAA,YACL,KAAK;AAAA,UACP;AAAA,UACA,QAAQ;AAAA,QACV;AAAA,QACA;AAAA,UACE,OAAO;AAAA,YACL,KAAK;AAAA,UACP;AAAA,UACA,QAAQ;AAAA,QACV;AAAA,QACA;AAAA,UACE,OAAO;AAAA,YACL,KAAK;AAAA,UACP;AAAA,UACA,QAAQ;AAAA,QACV;AAAA,QACA;AAAA,UACE,OAAO;AAAA,YACL,KAAK;AAAA,UACP;AAAA,UACA,QAAQ;AAAA,QACV;AAAA,QACA;AAAA,UACE,OAAO;AAAA,YACL,KAAK;AAAA,UACP;AAAA,UACA,QAAQ;AAAA,QACV;AAAA,MACF;AAAA,IACF;AAAA,EACF;AAAA,EACA;AAAA,IACE,aAAa;AAAA,IACb,MAAM;AAAA,IACN,OAAO;AAAA,MACL,SAAS;AAAA,MACT,KAAK;AAAA,MACL,SAAS;AAAA,MACT,aAAa;AAAA,QACX,OAAO;AAAA,MACT;AAAA,MACA,UAAU;AAAA,MACV,QAAQ;AAAA,QACN;AAAA,UACE,OAAO;AAAA,YACL,KAAK;AAAA,UACP;AAAA,UACA,QAAQ;AAAA,QACV;AAAA,QACA;AAAA,UACE,OAAO;AAAA,YACL,KAAK;AAAA,UACP;AAAA,UACA,QAAQ;AAAA,QACV;AAAA,QACA;AAAA,UACE,OAAO;AAAA,YACL,KAAK;AAAA,UACP;AAAA,UACA,QAAQ;AAAA,QACV;AAAA,MACF;AAAA,IACF;AAAA,EACF;AAAA,EACA;AAAA,IACE,aAAa;AAAA,IACb,MAAM;AAAA,IACN,OAAO;AAAA,MACL,SAAS;AAAA,MACT,KAAK;AAAA,MACL,SAAS;AAAA,MACT,aAAa;AAAA,QACX,OAAO;AAAA,MACT;AAAA,MACA,QAAQ;AAAA,QACN,OAAO;AAAA,QACP,OAAO;AAAA,MACT;AAAA,MACA,UAAU;AAAA,MACV,QAAQ;AAAA,QACN;AAAA,UACE,OAAO;AAAA,YACL,KAAK;AAAA,UACP;AAAA,UACA,QAAQ;AAAA,QACV;AAAA,QACA;AAAA,UACE,OAAO;AAAA,YACL,KAAK;AAAA,UACP;AAAA,UACA,QAAQ;AAAA,QACV;AAAA,QACA;AAAA,UACE,OAAO;AAAA,YACL,KAAK;AAAA,UACP;AAAA,UACA,QAAQ;AAAA,QACV;AAAA,QACA;AAAA,UACE,OAAO;AAAA,YACL,KAAK;AAAA,UACP;AAAA,UACA,QAAQ;AAAA,QACV;AAAA,QACA;AAAA,UACE,OAAO;AAAA,YACL,KAAK;AAAA,UACP;AAAA,UACA,QAAQ;AAAA,QACV;AAAA,QACA;AAAA,UACE,OAAO;AAAA,YACL,KAAK;AAAA,UACP;AAAA,UACA,QAAQ;AAAA,QACV;AAAA,MACF;AAAA,IACF;AAAA,EACF;AAAA,EACA;AAAA,IACE,aAAa;AAAA,IACb,MAAM;AAAA,IACN,OAAO;AAAA,MACL,SAAS;AAAA,MACT,KAAK;AAAA,MACL,SAAS;AAAA,MACT,aAAa;AAAA,QACX,OAAO;AAAA,MACT;AAAA,MACA,UAAU;AAAA,MACV,QAAQ;AAAA,QACN;AAAA,UACE,OAAO;AAAA,YACL,KAAK;AAAA,UACP;AAAA,UACA,QAAQ;AAAA,QACV;AAAA,QACA;AAAA,UACE,OAAO;AAAA,YACL,KAAK;AAAA,UACP;AAAA,UACA,QAAQ;AAAA,QACV;AAAA,QACA;AAAA,UACE,OAAO;AAAA,YACL,KAAK;AAAA,UACP;AAAA,UACA,QAAQ;AAAA,QACV;AAAA,QACA;AAAA,UACE,OAAO;AAAA,YACL,KAAK;AAAA,UACP;AAAA,UACA,QAAQ;AAAA,QACV;AAAA,QACA;AAAA,UACE,OAAO;AAAA,YACL,KAAK;AAAA,UACP;AAAA,UACA,QAAQ;AAAA,QACV;AAAA,QACA;AAAA,UACE,OAAO;AAAA,YACL,KAAK;AAAA,UACP;AAAA,UACA,QAAQ;AAAA,QACV;AAAA,QACA;AAAA,UACE,OAAO;AAAA,YACL,KAAK;AAAA,UACP;AAAA,UACA,QAAQ;AAAA,QACV;AAAA,QACA;AAAA,UACE,OAAO;AAAA,YACL,KAAK;AAAA,UACP;AAAA,UACA,QAAQ;AAAA,QACV;AAAA,MACF;AAAA,IACF;AAAA,EACF;AAAA,EACA;AAAA,IACE,aAAa;AAAA,IACb,MAAM;AAAA,IACN,OAAO;AAAA,MACL,SAAS;AAAA,MACT,KAAK;AAAA,MACL,SAAS;AAAA,MACT,QAAQ;AAAA,QACN;AAAA,UACE,OAAO;AAAA,YACL,KAAK;AAAA,UACP;AAAA,UACA,QAAQ;AAAA,QACV;AAAA,QACA;AAAA,UACE,OAAO;AAAA,YACL,KAAK;AAAA,UACP;AAAA,UACA,QAAQ;AAAA,QACV;AAAA,QACA;AAAA,UACE,OAAO;AAAA,YACL,KAAK;AAAA,UACP;AAAA,UACA,QAAQ;AAAA,QACV;AAAA,QACA;AAAA,UACE,OAAO;AAAA,YACL,KAAK;AAAA,UACP;AAAA,UACA,QAAQ;AAAA,QACV;AAAA,QACA;AAAA,UACE,OAAO;AAAA,YACL,KAAK;AAAA,UACP;AAAA,UACA,QAAQ;AAAA,QACV;AAAA,QACA;AAAA,UACE,OAAO;AAAA,YACL,KAAK;AAAA,UACP;AAAA,UACA,QAAQ;AAAA,QACV;AAAA,QACA;AAAA,UACE,OAAO;AAAA,YACL,KAAK;AAAA,UACP;AAAA,UACA,QAAQ;AAAA,QACV;AAAA,QACA;AAAA,UACE,OAAO;AAAA,YACL,KAAK;AAAA,UACP;AAAA,UACA,QAAQ;AAAA,QACV;AAAA,QACA;AAAA,UACE,OAAO;AAAA,YACL,KAAK;AAAA,UACP;AAAA,UACA,QAAQ;AAAA,QACV;AAAA,MACF;AAAA,IACF;AAAA,EACF;AAAA,EACA;AAAA,IACE,aAAa;AAAA,IACb,MAAM;AAAA,IACN,OAAO;AAAA,MACL,SAAS;AAAA,MACT,KAAK;AAAA,MACL,SAAS;AAAA,MACT,aAAa;AAAA,QACX,OAAO;AAAA,MACT;AAAA,MACA,QAAQ;AAAA,QACN,OAAO;AAAA,QACP,OAAO;AAAA,MACT;AAAA,MACA,UAAU;AAAA,MACV,QAAQ;AAAA,QACN;AAAA,UACE,OAAO;AAAA,YACL,KAAK;AAAA,UACP;AAAA,UACA,QAAQ;AAAA,QACV;AAAA,QACA;AAAA,UACE,OAAO;AAAA,YACL,KAAK;AAAA,UACP;AAAA,UACA,QAAQ;AAAA,QACV;AAAA,QACA;AAAA,UACE,OAAO;AAAA,YACL,KAAK;AAAA,UACP;AAAA,UACA,QAAQ;AAAA,QACV;AAAA,QACA;AAAA,UACE,OAAO;AAAA,YACL,KAAK;AAAA,UACP;AAAA,UACA,QAAQ;AAAA,QACV;AAAA,QACA;AAAA,UACE,OAAO;AAAA,YACL,KAAK;AAAA,UACP;AAAA,UACA,QAAQ;AAAA,QACV;AAAA,QACA;AAAA,UACE,OAAO;AAAA,YACL,KAAK;AAAA,UACP;AAAA,UACA,QAAQ;AAAA,QACV;AAAA,MACF;AAAA,IACF;AAAA,EACF;AAAA,EACA;AAAA,IACE,aAAa;AAAA,IACb,MAAM;AAAA,IACN,OAAO;AAAA,MACL,SAAS;AAAA,MACT,KAAK;AAAA,MACL,SAAS;AAAA,MACT,aAAa;AAAA,QACX,OAAO;AAAA,MACT;AAAA,MACA,UAAU;AAAA,MACV,QAAQ;AAAA,QACN,OAAO;AAAA,QACP,OAAO;AAAA,MACT;AAAA,MACA,QAAQ;AAAA,QACN;AAAA,UACE,OAAO;AAAA,YACL,KAAK;AAAA,UACP;AAAA,QACF;AAAA,QACA;AAAA,UACE,OAAO;AAAA,YACL,KAAK;AAAA,UACP;AAAA,QACF;AAAA,QACA;AAAA,UACE,OAAO;AAAA,YACL,KAAK;AAAA,UACP;AAAA,QACF;AAAA,QACA;AAAA,UACE,OAAO;AAAA,YACL,KAAK;AAAA,UACP;AAAA,QACF;AAAA,QACA;AAAA,UACE,OAAO;AAAA,YACL,KAAK;AAAA,UACP;AAAA,QACF;AAAA,QACA;AAAA,UACE,OAAO;AAAA,YACL,KAAK;AAAA,UACP;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAAA,EACF;AAAA,EACA;AAAA,IACE,aAAa;AAAA,IACb,MAAM;AAAA,IACN,OAAO;AAAA,MACL,SAAS;AAAA,MACT,KAAK;AAAA,MACL,SAAS;AAAA,MACT,aAAa;AAAA,QACX,OAAO;AAAA,MACT;AAAA,MACA,QAAQ;AAAA,QACN,OAAO;AAAA,QACP,OAAO;AAAA,MACT;AAAA,MACA,UAAU;AAAA,MACV,QAAQ;AAAA,QACN;AAAA,UACE,OAAO;AAAA,YACL,KAAK;AAAA,UACP;AAAA,UACA,QAAQ;AAAA,QACV;AAAA,QACA;AAAA,UACE,OAAO;AAAA,YACL,KAAK;AAAA,UACP;AAAA,UACA,QAAQ;AAAA,QACV;AAAA,QACA;AAAA,UACE,OAAO;AAAA,YACL,KAAK;AAAA,UACP;AAAA,UACA,QAAQ;AAAA,QACV;AAAA,QACA;AAAA,UACE,OAAO;AAAA,YACL,KAAK;AAAA,UACP;AAAA,UACA,QAAQ;AAAA,QACV;AAAA,QACA;AAAA,UACE,OAAO;AAAA,YACL,KAAK;AAAA,UACP;AAAA,UACA,QAAQ;AAAA,QACV;AAAA,QACA;AAAA,UACE,OAAO;AAAA,YACL,KAAK;AAAA,UACP;AAAA,UACA,QAAQ;AAAA,QACV;AAAA,QACA;AAAA,UACE,OAAO;AAAA,YACL,KAAK;AAAA,UACP;AAAA,UACA,QAAQ;AAAA,QACV;AAAA,QACA;AAAA,UACE,OAAO;AAAA,YACL,KAAK;AAAA,UACP;AAAA,UACA,QAAQ;AAAA,QACV;AAAA,MACF;AAAA,IACF;AAAA,EACF;AAAA,EACA;AAAA,IACE,aAAa;AAAA,IACb,MAAM;AAAA,IACN,OAAO;AAAA,MACL,SAAS;AAAA,MACT,KAAK;AAAA,MACL,SAAS;AAAA,MACT,QAAQ;AAAA,QACN;AAAA,UACE,OAAO;AAAA,YACL,KAAK;AAAA,UACP;AAAA,UACA,QAAQ;AAAA,QACV;AAAA,QACA;AAAA,UACE,OAAO;AAAA,YACL,KAAK;AAAA,UACP;AAAA,UACA,QAAQ;AAAA,QACV;AAAA,QACA;AAAA,UACE,OAAO;AAAA,YACL,KAAK;AAAA,UACP;AAAA,UACA,QAAQ;AAAA,QACV;AAAA,MACF;AAAA,IACF;AAAA,EACF;AAAA,EACA;AAAA,IACE,aAAa;AAAA,IACb,MAAM;AAAA,IACN,OAAO;AAAA,MACL,SAAS;AAAA,MACT,KAAK;AAAA,MACL,SAAS;AAAA,MACT,aAAa;AAAA,QACX,OAAO;AAAA,MACT;AAAA,MACA,UAAU;AAAA,MACV,QAAQ;AAAA,QACN,OAAO;AAAA,QACP,OAAO;AAAA,MACT;AAAA,MACA,QAAQ;AAAA,QACN;AAAA,UACE,OAAO;AAAA,YACL,KAAK;AAAA,UACP;AAAA,UACA,QAAQ;AAAA,QACV;AAAA,MACF;AAAA,MACA,MAAM;AAAA,QACJ,MAAM;AAAA,MACR;AAAA,IACF;AAAA,EACF;AAAA,EACA;AAAA,IACE,aAAa;AAAA,IACb,MAAM;AAAA,IACN,OAAO;AAAA,MACL,SAAS;AAAA,MACT,KAAK;AAAA,MACL,SAAS;AAAA,MACT,aAAa;AAAA,QACX,OAAO;AAAA,MACT;AAAA,MACA,UAAU;AAAA,MACV,QAAQ;AAAA,QACN;AAAA,UACE,OAAO;AAAA,YACL,KAAK;AAAA,UACP;AAAA,UACA,QACE;AAAA,QACJ;AAAA,MACF;AAAA,MACA,MAAM;AAAA,QACJ,MAAM;AAAA,MACR;AAAA,IACF;AAAA,EACF;AAAA,EACA;AAAA,IACE,aAAa;AAAA,IACb,MAAM;AAAA,IACN,OAAO;AAAA,MACL,SAAS;AAAA,MACT,KAAK;AAAA,MACL,SAAS;AAAA,MACT,aAAa;AAAA,QACX,OAAO;AAAA,MACT;AAAA,MACA,QAAQ;AAAA,QACN,OAAO;AAAA,QACP,OAAO;AAAA,MACT;AAAA,MACA,UAAU;AAAA,MACV,QAAQ;AAAA,QACN;AAAA,UACE,OAAO;AAAA,YACL,KAAK;AAAA,UACP;AAAA,UACA,QAAQ;AAAA,QACV;AAAA,MACF;AAAA,MACA,MAAM;AAAA,QACJ,MAAM;AAAA,MACR;AAAA,IACF;AAAA,EACF;AAAA,EACA;AAAA,IACE,aAAa;AAAA,IACb,MAAM;AAAA,IACN,OAAO;AAAA,MACL,SAAS;AAAA,MACT,KAAK;AAAA,MACL,SAAS;AAAA,MACT,aAAa;AAAA,QACX,OAAO;AAAA,MACT;AAAA,MACA,UAAU;AAAA,MACV,QAAQ;AAAA,QACN,OAAO;AAAA,QACP,OAAO;AAAA,MACT;AAAA,MACA,QAAQ;AAAA,QACN;AAAA,UACE,OAAO;AAAA,YACL,KAAK;AAAA,UACP;AAAA,UACA,QAAQ;AAAA,QACV;AAAA,MACF;AAAA,MACA,MAAM;AAAA,QACJ,MAAM;AAAA,MACR;AAAA,IACF;AAAA,EACF;AACF;","names":[]}
@@ -1,32 +1,32 @@
1
1
  /*! Upstart.gg - Copyright (C) 2024 Flippable - https://github.com/upstart-gg/upstart/blob/main/LICENSE */
2
2
 
3
3
  import {
4
- defineProps
5
- } from "./chunk-BHC2A43S.js";
4
+ border,
5
+ rounding
6
+ } from "./chunk-SRYBJ6NQ.js";
6
7
  import {
7
- defineBrickManifest
8
- } from "./chunk-EVLRH6VG.js";
8
+ defineProps
9
+ } from "./chunk-VTCHJT4O.js";
9
10
  import {
10
- textContentRef
11
- } from "./chunk-F22LDHEO.js";
11
+ textContent
12
+ } from "./chunk-2U5U3CCJ.js";
12
13
  import {
13
- shadowRef,
14
- textShadowRef
15
- } from "./chunk-TNMNMYOB.js";
14
+ cssLength
15
+ } from "./chunk-OJ6KL7FU.js";
16
16
  import {
17
- borderRef,
18
- roundingRef
19
- } from "./chunk-NTLAKMMQ.js";
17
+ shadow,
18
+ textShadow
19
+ } from "./chunk-5RCC2STG.js";
20
20
  import {
21
- colorPresetRef
22
- } from "./chunk-TFGGYU6Y.js";
21
+ alignItems,
22
+ justifyContent
23
+ } from "./chunk-ZRBTAC3G.js";
23
24
  import {
24
- cssLengthRef
25
- } from "./chunk-BPBKHEQ5.js";
25
+ colorPreset
26
+ } from "./chunk-IEMCCHM4.js";
26
27
  import {
27
- alignItemsRef,
28
- justifyContentRef
29
- } from "./chunk-ZLYIRH2B.js";
28
+ defineBrickManifest
29
+ } from "./chunk-J45LSQT6.js";
30
30
 
31
31
  // src/shared/bricks/manifests/hero.manifest.ts
32
32
  import { BsAlphabetUppercase } from "react-icons/bs";
@@ -81,28 +81,28 @@ DO
81
81
  // Force the wrapper direction to be the same as the text direction
82
82
  staticClasses: "flex-col",
83
83
  props: defineProps({
84
- content: textContentRef({
84
+ content: textContent({
85
85
  title: "Hero title",
86
86
  default: "<h1 style='text-align:center'>Lorem Ipsum<br />dolor sit amet</h1>"
87
87
  }),
88
88
  tagline: Type.Optional(
89
- textContentRef({
89
+ textContent({
90
90
  title: "Hero tagline"
91
91
  // default: "<p style='text-align:center'>Use our platform to build your business with confidence.</p>",
92
92
  })
93
93
  ),
94
94
  colorPreset: Type.Optional(
95
- colorPresetRef({
95
+ colorPreset({
96
96
  title: "Color"
97
97
  })
98
98
  ),
99
99
  textShadow: Type.Optional(
100
- textShadowRef({
100
+ textShadow({
101
101
  default: "text-shadow-sm"
102
102
  })
103
103
  ),
104
104
  padding: Type.Optional(
105
- cssLengthRef({
105
+ cssLength({
106
106
  default: "6rem",
107
107
  description: "Padding inside the hero.",
108
108
  "ai:instructions": "Use only a single value like '1rem' or '10px'",
@@ -112,20 +112,18 @@ DO
112
112
  "ui:styleId": "styles:padding"
113
113
  })
114
114
  ),
115
- rounding: Type.Optional(
116
- roundingRef({
117
- default: "rounded-md"
118
- })
119
- ),
120
- border: Type.Optional(borderRef()),
121
- shadow: Type.Optional(shadowRef()),
115
+ rounding: rounding({
116
+ default: "rounded-md"
117
+ }),
118
+ border: Type.Optional(border()),
119
+ shadow: Type.Optional(shadow()),
122
120
  justifyContent: Type.Optional(
123
- justifyContentRef({
121
+ justifyContent({
124
122
  default: "justify-center"
125
123
  })
126
124
  ),
127
125
  alignItems: Type.Optional(
128
- alignItemsRef({
126
+ alignItems({
129
127
  default: "items-center"
130
128
  })
131
129
  )
@@ -461,4 +459,4 @@ export {
461
459
  manifest,
462
460
  examples
463
461
  };
464
- //# sourceMappingURL=chunk-U5ZECCJM.js.map
462
+ //# sourceMappingURL=chunk-QEJGPYTB.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/shared/bricks/manifests/hero.manifest.ts"],"sourcesContent":["import { defineBrickManifest } from \"~/shared/brick-manifest\";\nimport { defineProps } from \"../props/helpers\";\nimport { textContent } from \"../props/text\";\nimport { BsAlphabetUppercase } from \"react-icons/bs\";\nimport type { BrickProps } from \"../props/types\";\nimport { Type } from \"@sinclair/typebox\";\nimport { shadow, textShadow } from \"../props/effects\";\nimport { border, rounding } from \"../props/border\";\nimport { colorPreset } from \"../props/color-preset\";\nimport { alignItems, justifyContent } from \"../props/align\";\nimport { cssLength } from \"../props/css-length\";\nimport type { BrickExample } from \"./_types\";\n\nexport const manifest = defineBrickManifest({\n type: \"hero\",\n category: \"basic\",\n name: \"Hero\",\n description: \"A big textual element for home pages.\",\n aiInstructions: `PURPOSE\nA prominent textual block (main heading + optional tagline) used to introduce a page, product, event, company, or dynamic entity.\n\nSTRUCTURE\n1. Always supply 'content' (can be plain text or simple HTML like <h1>, <strong>, <br/>).\n2. 'tagline' is optional. Prefer concise value (1 short sentence). Omit if not needed.\n3. Do NOT add buttons, images, forms, lists, or unrelated HTML here (use dedicated bricks for that).\n\nCOLOR & BACKGROUND\n• Prefer omitting colorPreset so the hero inherits its parent layout background.\n• When you need emphasis use semantic presets: primary-, secondary-, accent-, neutral-, base-*** or gradient variants like primary-gradient-400 (then add gradientDirection).\n• NEVER invent tokens like success-, warning-, danger-, blue-, orange- (they don't exist). Map them to semantic sets (e.g. success -> secondary, warning -> accent, danger -> accent or primary, blue -> primary, orange -> accent).\n\nLAYOUT & SPACING\n• Use padding suited to visual weight: landing hero: 5–8rem desktop; simple page intro: 2–4rem.\n• You may provide a mobile override via mobileProps (e.g. smaller padding such as 2rem).\n• Keep justifyContent + alignItems consistent (usually center/center or start/start). Avoid mixing center with start.\n\nTYPOGRAPHY\n• 'content' should typically render ONE main heading concept (avoid stacking multiple unrelated headings). Use <br/> to split lines when stylistic.\n• Avoid overly long taglines (>140 chars).\n\nDYNAMIC DATA\n• You may interpolate page queries fields fields: {{company.name}}, {{product.name}}, etc.\n• Ensure dynamic tokens exist in the referenced query context. Don't fabricate field names.\n\nRESPONSIVE\n• Use mobileProps only for necessary reductions (padding, alignment). Do not duplicate unchanged properties.\n\nDON'TS\n✗ Don't add properties that are not in the schema.\n✗ Don't wrap everything with extraneous HTML containers.\n✗ Don't use colorPreset plus a conflicting parent background rationale—choose one.\n\nDO\n✓ Keep content focused.\n✓ Use semantic colors thoughtfully.\n✓ Use gradientDirection ONLY with gradient presets.\n✓ Provide accessible plain text when not using HTML tags.\n`,\n icon: BsAlphabetUppercase,\n\n defaultWidth: { desktop: \"60dvw\", mobile: \"auto\" },\n\n // Force the wrapper direction to be the same as the text direction\n staticClasses: \"flex-col\",\n\n props: defineProps({\n content: textContent({\n title: \"Hero title\",\n default: \"<h1 style='text-align:center'>Lorem Ipsum<br />dolor sit amet</h1>\",\n }),\n tagline: Type.Optional(\n textContent({\n title: \"Hero tagline\",\n // default: \"<p style='text-align:center'>Use our platform to build your business with confidence.</p>\",\n }),\n ),\n colorPreset: Type.Optional(\n colorPreset({\n title: \"Color\",\n }),\n ),\n\n textShadow: Type.Optional(\n textShadow({\n default: \"text-shadow-sm\",\n }),\n ),\n padding: Type.Optional(\n cssLength({\n default: \"6rem\",\n description: \"Padding inside the hero.\",\n \"ai:instructions\": \"Use only a single value like '1rem' or '10px'\",\n title: \"Padding\",\n \"ui:responsive\": true,\n \"ui:placeholder\": \"Not specified\",\n \"ui:styleId\": \"styles:padding\",\n }),\n ),\n rounding: rounding({\n default: \"rounded-md\",\n }),\n border: Type.Optional(border()),\n shadow: Type.Optional(shadow()),\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 }),\n});\n\nexport type Manifest = typeof manifest;\n\nexport const examples: BrickExample<Manifest>[] = [\n {\n description: \"Simple welcome hero with primary background\",\n type: \"hero\",\n props: {\n content: \"Welcome to Our Platform\",\n tagline: \"The future of productivity starts here\",\n padding: \"3rem\",\n colorPreset: {\n color: \"primary-400\",\n },\n },\n },\n {\n description: \"Startup hero with primary gradient background to bottom-right\",\n type: \"hero\",\n props: {\n content: \"Build Something Amazing\",\n tagline: \"Turn your ideas into reality with our cutting-edge tools\",\n padding: \"3rem\",\n colorPreset: {\n color: \"primary-500\",\n gradientDirection: \"bg-gradient-to-br\",\n },\n },\n },\n {\n description: \"Construction company hero with bold presence\",\n type: \"hero\",\n props: {\n content: \"Building Tomorrow Today\",\n tagline: \"Quality construction services for residential and commercial projects\",\n padding: \"3rem\",\n },\n },\n {\n description: \"Fashion brand hero with modern appeal\",\n type: \"hero\",\n props: {\n content: \"Express Your Style\",\n tagline: \"Contemporary fashion that speaks to your individuality\",\n padding: \"6rem\",\n },\n },\n {\n description: \"Law firm hero with authoritative tone\",\n type: \"hero\",\n props: {\n content: \"Justice You Can Trust\",\n tagline: \"Experienced legal representation for individuals and businesses\",\n padding: \"6rem\",\n colorPreset: {\n color: \"neutral-800\",\n },\n },\n },\n {\n description: \"Photography studio hero with artistic flair\",\n type: \"hero\",\n props: {\n content: \"Capturing Life's Moments\",\n tagline: \"Professional photography services for weddings, portraits, and events\",\n },\n },\n {\n description: \"Restaurant hero with warm colors and rounded design (accent mapping for former 'orange')\",\n type: \"hero\",\n props: {\n content: \"Authentic Italian Cuisine\",\n tagline: \"Fresh ingredients, traditional recipes, unforgettable flavors\",\n padding: \"4rem\",\n colorPreset: {\n color: \"accent-600\",\n },\n rounding: \"rounded-xl\",\n shadow: \"shadow-lg\",\n },\n },\n {\n description:\n \"Tech company hero with secondary gradient (mapped from former 'success') and modern styling\",\n type: \"hero\",\n props: {\n content: \"Innovation Redefined\",\n tagline: \"Pushing the boundaries of what's possible with AI technology\",\n padding: \"5rem\",\n colorPreset: {\n color: \"secondary-gradient-400\",\n gradientDirection: \"bg-gradient-to-r\",\n },\n textShadow: \"text-shadow-lg\",\n border: {\n width: \"border-2\",\n color: \"border-success-300\",\n },\n },\n },\n {\n description: \"Medical practice hero with trust-inspiring design (primary mapping for former 'blue')\",\n type: \"hero\",\n props: {\n content: \"Your Health, Our Priority\",\n tagline: \"Comprehensive healthcare services with compassionate care\",\n padding: \"4rem\",\n colorPreset: {\n color: \"primary-500\",\n },\n rounding: \"rounded-lg\",\n justifyContent: \"justify-start\",\n alignItems: \"items-start\",\n },\n },\n {\n description:\n \"Creative agency hero with accent gradient (mapped from former 'warning') and diagonal gradient\",\n type: \"hero\",\n props: {\n content: \"Creative Solutions\",\n tagline: \"Bold designs that make your brand unforgettable\",\n padding: \"3rem\",\n colorPreset: {\n color: \"accent-gradient-300\",\n gradientDirection: \"bg-gradient-to-tl\",\n },\n shadow: \"shadow-xl\",\n border: {\n width: \"border\",\n color: \"border-warning-200\",\n },\n },\n },\n {\n description: \"Fitness studio hero with accent strong presence (mapping former 'danger')\",\n type: \"hero\",\n props: {\n content: \"Transform Your Body\",\n tagline: \"High-intensity training programs that deliver real results\",\n padding: \"5rem\",\n colorPreset: {\n color: \"accent-600\",\n },\n textShadow: \"text-shadow-md\",\n rounding: \"rounded-2xl\",\n justifyContent: \"justify-center\",\n alignItems: \"items-center\",\n },\n },\n {\n description: \"Minimalist hero with neutral tones and subtle effects\",\n type: \"hero\",\n props: {\n content: \"Simplicity Perfected\",\n tagline: \"Clean design solutions for modern businesses\",\n padding: \"8rem\",\n colorPreset: {\n color: \"neutral-100\",\n },\n shadow: \"shadow-sm\",\n border: {\n width: \"border\",\n color: \"border-neutral-300\",\n },\n rounding: \"rounded-md\",\n },\n },\n {\n description: \"Inverted dark hero using neutral-800 background and left alignment\",\n type: \"hero\",\n props: {\n content: \"Experience Powerful Automation\",\n tagline: \"Scale operations with intelligent workflows\",\n padding: \"5rem\",\n colorPreset: { color: \"neutral-800\" },\n justifyContent: \"justify-start\",\n alignItems: \"items-start\",\n textShadow: \"text-shadow-sm\",\n },\n },\n {\n description: \"Compact hero without tagline (no colorPreset to inherit parent)\",\n type: \"hero\",\n props: {\n content: \"Documentation\",\n padding: \"2rem\",\n justifyContent: \"justify-start\",\n alignItems: \"items-start\",\n },\n },\n {\n description: \"Responsive hero with large desktop padding and reduced mobile padding\",\n type: \"hero\",\n props: {\n content: \"All-In-One Platform\",\n tagline: \"Design • Launch • Grow\",\n padding: \"8rem\",\n colorPreset: { color: \"primary-gradient-500\", gradientDirection: \"bg-gradient-to-br\" },\n },\n mobileProps: {\n content: \"All-In-One Platform\",\n padding: \"3rem\",\n },\n },\n {\n description: \"Hero using dynamic product dataset with gradient emphasis\",\n type: \"hero\",\n props: {\n content: \"Introducing {{product.name}}\",\n tagline: \"{{product.shortTagline}}\",\n padding: \"5rem\",\n colorPreset: { color: \"accent-gradient-400\", gradientDirection: \"bg-gradient-to-r\" },\n textShadow: \"text-shadow-md\",\n },\n },\n {\n description: \"Dynamic company hero using business query data\",\n type: \"hero\",\n props: {\n content: \"Welcome to {{company.name}}\",\n tagline: \"{{company.tagline}} - Serving {{company.location}} since {{company.foundedYear}}\",\n padding: \"4rem\",\n colorPreset: {\n color: \"primary-500\",\n },\n },\n },\n {\n description: \"Dynamic employee spotlight using employee query\",\n type: \"hero\",\n props: {\n content: \"Meet {{employee.fullName}}\",\n tagline:\n \"{{employee.position}} at {{employee.department}} - {{employee.yearsExperience}} years of experience\",\n padding: \"3rem\",\n colorPreset: {\n color: \"secondary-400\",\n gradientDirection: \"bg-gradient-to-r\",\n },\n },\n },\n {\n description: \"Dynamic product launch hero using product query\",\n type: \"hero\",\n props: {\n content: \"Introducing {{product.name}}\",\n tagline: \"{{product.description}} - Starting at ${{product.price}}\",\n padding: \"5rem\",\n colorPreset: {\n color: \"accent-600\",\n },\n shadow: \"shadow-lg\",\n rounding: \"rounded-xl\",\n },\n },\n {\n description: \"Dynamic event announcement using event query\",\n type: \"hero\",\n props: {\n content: \"{{event.title}}\",\n tagline: \"Join us on {{event.date}} at {{event.venue}} - {{event.city}}\",\n padding: \"4rem\",\n colorPreset: {\n color: \"primary-400\",\n gradientDirection: \"bg-gradient-to-br\",\n },\n textShadow: \"text-shadow-md\",\n },\n },\n {\n description: \"Dynamic blog post hero using article query\",\n type: \"hero\",\n props: {\n content: \"{{article.title}}\",\n tagline: \"By {{article.author}} • Published {{article.publishDate}} • {{article.readTime}} min read\",\n padding: \"3rem\",\n colorPreset: {\n color: \"neutral-700\",\n },\n justifyContent: \"justify-start\",\n alignItems: \"items-start\",\n },\n },\n {\n description: \"Dynamic service promotion using service query\",\n type: \"hero\",\n props: {\n content: \"{{service.name}}\",\n tagline: \"{{service.description}} - {{service.duration}} • Starting at ${{service.price}}\",\n padding: \"6rem\",\n colorPreset: {\n color: \"secondary-500\",\n gradientDirection: \"bg-gradient-to-tl\",\n },\n border: {\n width: \"border-2\",\n color: \"border-secondary-300\",\n },\n },\n },\n {\n description: \"Dynamic property showcase using property query\",\n type: \"hero\",\n props: {\n content: \"{{property.address}}\",\n tagline:\n \"${{property.price}} • {{property.bedrooms}} bed, {{property.bathrooms}} bath • {{property.squareFootage}} sq ft\",\n padding: \"4rem\",\n colorPreset: {\n color: \"accent-500\",\n },\n rounding: \"rounded-lg\",\n shadow: \"shadow-md\",\n },\n },\n {\n description: \"Dynamic course announcement using course query\",\n type: \"hero\",\n props: {\n content: \"{{course.title}}\",\n tagline:\n \"Learn {{course.subject}} with {{course.instructor}} • {{course.duration}} • {{course.skillLevel}} level\",\n padding: \"5rem\",\n colorPreset: {\n color: \"primary-600\",\n },\n textShadow: \"text-shadow-lg\",\n justifyContent: \"justify-center\",\n alignItems: \"items-center\",\n },\n },\n];\n"],"mappings":"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","names":[]}
@@ -4,20 +4,17 @@ import {
4
4
  number
5
5
  } from "./chunk-XCZVD5H6.js";
6
6
  import {
7
- defineProps
8
- } from "./chunk-BHC2A43S.js";
9
- import {
10
- defineBrickManifest
11
- } from "./chunk-EVLRH6VG.js";
7
+ rounding
8
+ } from "./chunk-SRYBJ6NQ.js";
12
9
  import {
13
- shadowRef
14
- } from "./chunk-TNMNMYOB.js";
10
+ defineProps
11
+ } from "./chunk-VTCHJT4O.js";
15
12
  import {
16
- string
17
- } from "./chunk-N3ZTQD5I.js";
13
+ shadow
14
+ } from "./chunk-5RCC2STG.js";
18
15
  import {
19
- roundingRef
20
- } from "./chunk-NTLAKMMQ.js";
16
+ defineBrickManifest
17
+ } from "./chunk-J45LSQT6.js";
21
18
 
22
19
  // src/shared/bricks/manifests/map.manifest.ts
23
20
  import { LiaMapMarkedAltSolid } from "react-icons/lia";
@@ -54,16 +51,18 @@ var manifest = defineBrickManifest({
54
51
  icon: LiaMapMarkedAltSolid,
55
52
  props: defineProps({
56
53
  // location: geolocation({ defaultZoom: DEFAULTS.zoom }),
57
- lat: string("Latitude", { "ui:field": "hidden" }),
58
- lng: string("Longitude", { "ui:field": "hidden" }),
59
- address: string("Address", {
54
+ lat: Type.String({ title: "Latitude", "ui:field": "hidden" }),
55
+ lng: Type.String({ title: "Longitude", "ui:field": "hidden" }),
56
+ address: Type.String({
57
+ title: "Address",
60
58
  "ui:field": "geoaddress",
61
59
  metadata: {
62
60
  category: "content"
63
61
  }
64
62
  }),
65
63
  tooltip: Type.Optional(
66
- string("Tooltip", {
64
+ Type.String({
65
+ title: "Tooltip",
67
66
  metadata: {
68
67
  category: "content"
69
68
  }
@@ -83,11 +82,11 @@ var manifest = defineBrickManifest({
83
82
  })
84
83
  ),
85
84
  rounding: Type.Optional(
86
- roundingRef({
85
+ rounding({
87
86
  default: "rounded-xl"
88
87
  })
89
88
  ),
90
- shadow: Type.Optional(shadowRef())
89
+ shadow: Type.Optional(shadow())
91
90
  })
92
91
  });
93
92
  var examples = [
@@ -227,4 +226,4 @@ export {
227
226
  manifest,
228
227
  examples
229
228
  };
230
- //# sourceMappingURL=chunk-2VDR4ZYY.js.map
229
+ //# sourceMappingURL=chunk-SK2O7GFC.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/shared/bricks/manifests/map.manifest.ts"],"sourcesContent":["import { defineBrickManifest } from \"~/shared/brick-manifest\";\nimport { defineProps } from \"../props/helpers\";\nimport { LiaMapMarkedAltSolid } from \"react-icons/lia\";\nimport { rounding } from \"../props/border\";\nimport { shadow } from \"../props/effects\";\nimport { Type } from \"@sinclair/typebox\";\nimport { number } from \"../props/number\";\nimport type { BrickExample } from \"./_types\";\n\nexport const DEFAULTS = {\n lat: 48.8566, // Default latitude (Paris)\n lng: 2.3522, // Default longitude (Paris)\n zoom: 15, // Default zoom level\n};\n\nexport const manifest = defineBrickManifest({\n type: \"map\",\n name: \"Map\",\n description: \"A map element showing a location\",\n aiInstructions:\n \"This brick can be used to show a location on a map. Use the 'location' prop to set the coordinates and an optional tooltip.\",\n minWidth: {\n desktop: 280,\n mobile: 280,\n },\n minHeight: {\n desktop: 200,\n mobile: 120,\n },\n defaultHeight: {\n desktop: \"320px\",\n mobile: \"280px\",\n },\n defaultWidth: {\n desktop: \"380px\",\n mobile: \"100%\",\n },\n icon: LiaMapMarkedAltSolid,\n props: defineProps({\n // location: geolocation({ defaultZoom: DEFAULTS.zoom }),\n lat: Type.String({ title: \"Latitude\", \"ui:field\": \"hidden\" }),\n lng: Type.String({ title: \"Longitude\", \"ui:field\": \"hidden\" }),\n address: Type.String({\n title: \"Address\",\n \"ui:field\": \"geoaddress\",\n metadata: {\n category: \"content\",\n },\n }),\n tooltip: Type.Optional(\n Type.String({\n title: \"Tooltip\",\n metadata: {\n category: \"content\",\n },\n }),\n ),\n zoom: Type.Optional(\n number(\"Zoom\", {\n description: \"Zoom level for the map\",\n \"ui:instructions\": \"The zoom level should be between 0 (world view) and 21 (street view).\",\n \"ui:field\": \"slider\",\n minimum: 12,\n maximum: 18,\n default: DEFAULTS.zoom,\n metadata: {\n category: \"content\",\n },\n }),\n ),\n rounding: Type.Optional(\n rounding({\n default: \"rounded-xl\",\n }),\n ),\n shadow: Type.Optional(shadow()),\n }),\n});\n\nexport type Manifest = typeof manifest;\n\nexport const examples: BrickExample<Manifest>[] = [\n {\n description: \"Map showing a specific location\",\n type: \"map\",\n props: {\n lat: \"37.7749\",\n lng: \"-122.4194\",\n address: \"San Francisco, CA\",\n tooltip: \"San Francisco, CA\",\n shadow: \"shadow-md\",\n width: \"40%\",\n height: \"250px\",\n },\n },\n {\n description: \"Map with custom styles\",\n type: \"map\",\n props: {\n lat: \"40.7128\",\n lng: \"-74.0060\",\n address: \"New York, NY\",\n tooltip: \"New York, NY\",\n shadow: \"shadow-lg\",\n width: \"100%\",\n height: \"400px\",\n },\n },\n {\n description: \"Business location map with high zoom level and rounded corners\",\n type: \"map\",\n props: {\n lat: \"34.0522\",\n lng: \"-118.2437\",\n address: \"Los Angeles, CA\",\n tooltip: \"Our Los Angeles Office\",\n zoom: 18,\n rounding: \"rounded-2xl\",\n shadow: \"shadow-xl\",\n },\n },\n {\n description: \"Event venue map with medium zoom and subtle shadow\",\n type: \"map\",\n props: {\n lat: \"41.8781\",\n lng: \"-87.6298\",\n address: \"Chicago, IL\",\n tooltip: \"Conference Center - Chicago\",\n zoom: 16,\n rounding: \"rounded-lg\",\n shadow: \"shadow-sm\",\n },\n },\n {\n description: \"Restaurant location with default zoom and sharp corners\",\n type: \"map\",\n props: {\n lat: \"25.7617\",\n lng: \"-80.1918\",\n address: \"Miami, FL\",\n tooltip: \"Oceanview Restaurant & Bar\",\n zoom: 15,\n rounding: \"rounded-none\",\n shadow: \"shadow-md\",\n },\n },\n {\n description: \"Hotel location with low zoom for area overview\",\n type: \"map\",\n props: {\n lat: \"36.1699\",\n lng: \"-115.1398\",\n address: \"Las Vegas, NV\",\n tooltip: \"Downtown Las Vegas Hotel\",\n zoom: 13,\n rounding: \"rounded-xl\",\n shadow: \"shadow-lg\",\n },\n },\n {\n description: \"Store location with maximum zoom for street view detail\",\n type: \"map\",\n props: {\n lat: \"47.6062\",\n lng: \"-122.3321\",\n address: \"Seattle, WA\",\n tooltip: \"Seattle Flagship Store\",\n zoom: 18,\n rounding: \"rounded-md\",\n shadow: \"shadow-sm\",\n },\n },\n {\n description: \"Park location with moderate zoom and minimal styling\",\n type: \"map\",\n props: {\n lat: \"39.7392\",\n lng: \"-104.9903\",\n address: \"Denver, CO\",\n tooltip: \"City Park Recreation Area\",\n zoom: 14,\n rounding: \"rounded-sm\",\n },\n },\n {\n description: \"Dynamic business location using company query\",\n type: \"map\",\n props: {\n lat: \"{{company.latitude}}\",\n lng: \"{{company.longitude}}\",\n address: \"{{company.address}}\",\n tooltip: \"{{company.name}} - {{company.address}}\",\n zoom: 16,\n rounding: \"rounded-lg\",\n shadow: \"shadow-md\",\n },\n },\n {\n description: \"Dynamic event venue using event query\",\n type: \"map\",\n props: {\n lat: \"{{event.venueLatitude}}\",\n lng: \"{{event.venueLongitude}}\",\n address: \"{{event.venueAddress}}\",\n tooltip: \"{{event.title}} - {{event.venueName}}\",\n zoom: 17,\n rounding: \"rounded-xl\",\n shadow: \"shadow-lg\",\n },\n },\n];\n"],"mappings":"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","names":[]}
@@ -1,14 +1,8 @@
1
1
  /*! Upstart.gg - Copyright (C) 2024 Flippable - https://github.com/upstart-gg/upstart/blob/main/LICENSE */
2
2
 
3
- import {
4
- typedRef
5
- } from "./chunk-A2QPY54H.js";
6
3
 
7
4
  // src/shared/bricks/props/string.ts
8
5
  import { Type } from "@sinclair/typebox";
9
- function string(title, options = {}) {
10
- return Type.String({ title, ...options });
11
- }
12
6
  function url(title = "URL", defaultValue) {
13
7
  return Type.String({
14
8
  title,
@@ -20,7 +14,7 @@ function url(title = "URL", defaultValue) {
20
14
  var pageIdSchema = Type.String({
21
15
  "ui:field": "page-id"
22
16
  });
23
- function urlOrPageId(title = "URL", defaultValue) {
17
+ function urlOrPageId(options = {}) {
24
18
  return Type.Union(
25
19
  [
26
20
  Type.String({
@@ -30,22 +24,19 @@ function urlOrPageId(title = "URL", defaultValue) {
30
24
  ],
31
25
  {
32
26
  // $id: "content:urlOrPageId",
33
- default: defaultValue,
34
- title,
27
+ title: "URL",
35
28
  metadata: {
36
29
  category: "content"
37
30
  },
38
31
  "ui:field": "url-page-id",
39
- "ai:instructions": "This field can be a URL or a page ID. Use the page ID when linking to a internal page, and a URL for external links. It can also contain page queries refrences like '/products/{{ categories.$slug }}' or '/blog/{{ blogPosts.$slug }}'."
32
+ "ai:instructions": "This field can be a URL or a page ID. Use the page ID when linking to a internal page, and a URL for external links. It can also contain page queries refrences like '/products/{{ categories.$slug }}' or '/blog/{{ blogPosts.$slug }}'.",
33
+ ...options
40
34
  }
41
35
  );
42
36
  }
43
- function urlOrPageIdRef(options = {}) {
44
- return typedRef("content:urlOrPageId", { ...options });
45
- }
46
- function icon(title, options = {}) {
37
+ function icon(options = {}) {
47
38
  return Type.String({
48
- title: title ?? "Icon",
39
+ title: "Icon",
49
40
  "ai:instructions": "Use a iconify reference like 'mdi:heart' or 'fa-solid:coffee'.",
50
41
  "ui:field": "iconify",
51
42
  // $id: "assets:icon",
@@ -55,16 +46,10 @@ function icon(title, options = {}) {
55
46
  ...options
56
47
  });
57
48
  }
58
- function iconRef(options = {}) {
59
- return typedRef("assets:icon", options);
60
- }
61
49
 
62
50
  export {
63
- string,
64
51
  url,
65
52
  urlOrPageId,
66
- urlOrPageIdRef,
67
- icon,
68
- iconRef
53
+ icon
69
54
  };
70
- //# sourceMappingURL=chunk-N3ZTQD5I.js.map
55
+ //# sourceMappingURL=chunk-SQXZNGQF.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/shared/bricks/props/string.ts"],"sourcesContent":["import { type Static, Type, type StringOptions } from \"@sinclair/typebox\";\nimport type { FieldMetadata } from \"./types\";\n\ntype StrFieldOptions = StringOptions &\n FieldMetadata & {\n \"ui:multiline\"?: boolean;\n };\n\nexport function url(title = \"URL\", defaultValue?: string) {\n return Type.String({\n title,\n format: \"url\",\n \"ui:field\": \"url\",\n default: defaultValue,\n });\n}\n\nconst pageIdSchema = Type.String({\n \"ui:field\": \"page-id\",\n});\n\nexport function urlOrPageId(options: StringOptions = {}) {\n return Type.Union(\n [\n Type.String({\n format: \"url\",\n }),\n pageIdSchema,\n ],\n {\n // $id: \"content:urlOrPageId\",\n title: \"URL\",\n metadata: {\n category: \"content\",\n },\n \"ui:field\": \"url-page-id\",\n \"ai:instructions\":\n \"This field can be a URL or a page ID. Use the page ID when linking to a internal page, and a URL for external links. It can also contain page queries refrences like '/products/{{ categories.$slug }}' or '/blog/{{ blogPosts.$slug }}'.\",\n ...options,\n },\n );\n}\n\nexport type UrlOrPageIdSettings = Static<ReturnType<typeof urlOrPageId>>;\n\ntype IconOptions = StrFieldOptions & { \"ui:default-icon-collection\"?: string };\n\nexport function icon(options: IconOptions = {}) {\n return Type.String({\n title: \"Icon\",\n \"ai:instructions\": \"Use a iconify reference like 'mdi:heart' or 'fa-solid:coffee'.\",\n \"ui:field\": \"iconify\",\n // $id: \"assets:icon\",\n metadata: {\n category: \"content\",\n },\n ...options,\n });\n}\n"],"mappings":";;;;AAAA,SAAsB,YAAgC;AAQ/C,SAAS,IAAI,QAAQ,OAAO,cAAuB;AACxD,SAAO,KAAK,OAAO;AAAA,IACjB;AAAA,IACA,QAAQ;AAAA,IACR,YAAY;AAAA,IACZ,SAAS;AAAA,EACX,CAAC;AACH;AAEA,IAAM,eAAe,KAAK,OAAO;AAAA,EAC/B,YAAY;AACd,CAAC;AAEM,SAAS,YAAY,UAAyB,CAAC,GAAG;AACvD,SAAO,KAAK;AAAA,IACV;AAAA,MACE,KAAK,OAAO;AAAA,QACV,QAAQ;AAAA,MACV,CAAC;AAAA,MACD;AAAA,IACF;AAAA,IACA;AAAA;AAAA,MAEE,OAAO;AAAA,MACP,UAAU;AAAA,QACR,UAAU;AAAA,MACZ;AAAA,MACA,YAAY;AAAA,MACZ,mBACE;AAAA,MACF,GAAG;AAAA,IACL;AAAA,EACF;AACF;AAMO,SAAS,KAAK,UAAuB,CAAC,GAAG;AAC9C,SAAO,KAAK,OAAO;AAAA,IACjB,OAAO;AAAA,IACP,mBAAmB;AAAA,IACnB,YAAY;AAAA;AAAA,IAEZ,UAAU;AAAA,MACR,UAAU;AAAA,IACZ;AAAA,IACA,GAAG;AAAA,EACL,CAAC;AACH;","names":[]}
@@ -1,14 +1,11 @@
1
1
  /*! Upstart.gg - Copyright (C) 2024 Flippable - https://github.com/upstart-gg/upstart/blob/main/LICENSE */
2
2
 
3
3
  import {
4
- borderColorRef
5
- } from "./chunk-SE6O65HC.js";
6
- import {
7
- typedRef
8
- } from "./chunk-A2QPY54H.js";
4
+ borderColor
5
+ } from "./chunk-JSDKK5QN.js";
9
6
  import {
10
7
  StringEnum
11
- } from "./chunk-JK2FWFJU.js";
8
+ } from "./chunk-GDYCCB3B.js";
12
9
 
13
10
  // src/shared/bricks/props/border.ts
14
11
  import { Type } from "@sinclair/typebox";
@@ -24,7 +21,7 @@ function border(opts = {}) {
24
21
  "ui:placeholder": "None",
25
22
  default: "border-0"
26
23
  }),
27
- color: borderColorRef({
24
+ color: borderColor({
28
25
  title: "Color",
29
26
  description: "The color of the border.",
30
27
  default: "border-current"
@@ -54,9 +51,6 @@ function border(opts = {}) {
54
51
  }
55
52
  );
56
53
  }
57
- function borderRef(options = {}) {
58
- return typedRef("styles:border", options);
59
- }
60
54
  function rounding(opts = {}) {
61
55
  return Type.Optional(
62
56
  StringEnum(
@@ -81,14 +75,9 @@ function rounding(opts = {}) {
81
75
  )
82
76
  );
83
77
  }
84
- function roundingRef(options = {}) {
85
- return typedRef("styles:rounding", options);
86
- }
87
78
 
88
79
  export {
89
80
  border,
90
- borderRef,
91
- rounding,
92
- roundingRef
81
+ rounding
93
82
  };
94
- //# sourceMappingURL=chunk-NTLAKMMQ.js.map
83
+ //# sourceMappingURL=chunk-SRYBJ6NQ.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/shared/bricks/props/border.ts"],"sourcesContent":["import { type ObjectOptions, Type, type Static, type StringOptions } from \"@sinclair/typebox\";\nimport { StringEnum } from \"~/shared/utils/string-enum\";\nimport { borderColor } from \"./color\";\n\nexport function border(opts: ObjectOptions = {}) {\n return Type.Object(\n {\n width: StringEnum([\"border-0\", \"border\", \"border-2\", \"border-4\", \"border-8\"], {\n title: \"Width\",\n enumNames: [\"None\", \"Small\", \"Medium\", \"Large\", \"Extra large\"],\n \"ai:instructions\": \"Don't specify width if you want no border.\",\n \"ui:field\": \"enum\",\n \"ui:display\": \"select\",\n \"ui:placeholder\": \"None\",\n default: \"border-0\",\n }),\n color: borderColor({\n title: \"Color\",\n description: \"The color of the border.\",\n default: \"border-current\",\n }),\n },\n {\n title: \"Border\",\n \"ui:styleId\": \"styles:border\",\n description: \"Set the border width and color.\",\n \"ui:field\": \"border\",\n \"ui:responsive\": true,\n examples: [\n {\n width: \"border-2\",\n color: \"border-primary-200\",\n },\n {\n width: \"border-4\",\n color: \"border-accent-400\",\n },\n {\n width: \"border\",\n color: \"border-neutral-100\",\n },\n ],\n ...opts,\n },\n );\n}\n\nexport type BorderSettings = Static<ReturnType<typeof border>>;\n\nexport function rounding(opts: StringOptions = {}) {\n return Type.Optional(\n StringEnum(\n [\n \"rounded-auto\",\n \"rounded-none\",\n \"rounded-sm\",\n \"rounded-md\",\n \"rounded-lg\",\n \"rounded-xl\",\n \"rounded-2xl\",\n \"rounded-full\",\n ],\n {\n title: \"Corner rounding\",\n enumNames: [\"Auto\", \"None\", \"Small\", \"Medium\", \"Large\", \"Extra large\", \"2xl\", \"Full\"],\n // $id: \"styles:rounding\",\n \"ui:styleId\": \"styles:rounding\",\n \"ui:responsive\": \"desktop\",\n ...opts,\n },\n ),\n );\n}\n\nexport type RoundingSettings = Static<ReturnType<typeof rounding>>;\n"],"mappings":";;;;;;;;;;AAAA,SAA6B,YAA6C;AAInE,SAAS,OAAO,OAAsB,CAAC,GAAG;AAC/C,SAAO,KAAK;AAAA,IACV;AAAA,MACE,OAAO,WAAW,CAAC,YAAY,UAAU,YAAY,YAAY,UAAU,GAAG;AAAA,QAC5E,OAAO;AAAA,QACP,WAAW,CAAC,QAAQ,SAAS,UAAU,SAAS,aAAa;AAAA,QAC7D,mBAAmB;AAAA,QACnB,YAAY;AAAA,QACZ,cAAc;AAAA,QACd,kBAAkB;AAAA,QAClB,SAAS;AAAA,MACX,CAAC;AAAA,MACD,OAAO,YAAY;AAAA,QACjB,OAAO;AAAA,QACP,aAAa;AAAA,QACb,SAAS;AAAA,MACX,CAAC;AAAA,IACH;AAAA,IACA;AAAA,MACE,OAAO;AAAA,MACP,cAAc;AAAA,MACd,aAAa;AAAA,MACb,YAAY;AAAA,MACZ,iBAAiB;AAAA,MACjB,UAAU;AAAA,QACR;AAAA,UACE,OAAO;AAAA,UACP,OAAO;AAAA,QACT;AAAA,QACA;AAAA,UACE,OAAO;AAAA,UACP,OAAO;AAAA,QACT;AAAA,QACA;AAAA,UACE,OAAO;AAAA,UACP,OAAO;AAAA,QACT;AAAA,MACF;AAAA,MACA,GAAG;AAAA,IACL;AAAA,EACF;AACF;AAIO,SAAS,SAAS,OAAsB,CAAC,GAAG;AACjD,SAAO,KAAK;AAAA,IACV;AAAA,MACE;AAAA,QACE;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,MACA;AAAA,QACE,OAAO;AAAA,QACP,WAAW,CAAC,QAAQ,QAAQ,SAAS,UAAU,SAAS,eAAe,OAAO,MAAM;AAAA;AAAA,QAEpF,cAAc;AAAA,QACd,iBAAiB;AAAA,QACjB,GAAG;AAAA,MACL;AAAA,IACF;AAAA,EACF;AACF;","names":[]}