@upstart.gg/sdk 0.0.130 → 0.0.131

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 (533) hide show
  1. package/dist/shared/ai/schemas.d.ts +13 -0
  2. package/dist/shared/ai/schemas.d.ts.map +1 -0
  3. package/dist/shared/ai/schemas.js +3 -0
  4. package/dist/shared/ai/types.d.ts +164 -0
  5. package/dist/shared/ai/types.d.ts.map +1 -0
  6. package/dist/shared/{chunk-EJGNYD4V.js → ai/types.js} +0 -1
  7. package/dist/shared/ajv.d.ts +2 -1
  8. package/dist/shared/ajv.d.ts.map +1 -1
  9. package/dist/shared/ajv.js +1 -1
  10. package/dist/shared/attributes.d.ts +300 -12
  11. package/dist/shared/attributes.d.ts.map +1 -1
  12. package/dist/shared/attributes.js +1 -1
  13. package/dist/shared/brick-manifest.d.ts +3 -1
  14. package/dist/shared/brick-manifest.d.ts.map +1 -1
  15. package/dist/shared/brick-manifest.js +1 -1
  16. package/dist/shared/bricks/manifests/accordion.manifest.d.ts +4 -3
  17. package/dist/shared/bricks/manifests/accordion.manifest.d.ts.map +1 -1
  18. package/dist/shared/bricks/manifests/accordion.manifest.js +1 -1
  19. package/dist/shared/bricks/manifests/all-manifests.d.ts +4 -1
  20. package/dist/shared/bricks/manifests/all-manifests.d.ts.map +1 -1
  21. package/dist/shared/bricks/manifests/all-manifests.js +1 -1
  22. package/dist/shared/bricks/manifests/box.manifest.d.ts +6 -4
  23. package/dist/shared/bricks/manifests/box.manifest.d.ts.map +1 -1
  24. package/dist/shared/bricks/manifests/box.manifest.js +1 -1
  25. package/dist/shared/bricks/manifests/button.manifest.d.ts +4 -3
  26. package/dist/shared/bricks/manifests/button.manifest.d.ts.map +1 -1
  27. package/dist/shared/bricks/manifests/button.manifest.js +1 -1
  28. package/dist/shared/bricks/manifests/card.manifest.d.ts +6 -5
  29. package/dist/shared/bricks/manifests/card.manifest.d.ts.map +1 -1
  30. package/dist/shared/bricks/manifests/card.manifest.js +1 -1
  31. package/dist/shared/bricks/manifests/carousel.manifest.d.ts +6 -5
  32. package/dist/shared/bricks/manifests/carousel.manifest.d.ts.map +1 -1
  33. package/dist/shared/bricks/manifests/carousel.manifest.js +1 -1
  34. package/dist/shared/bricks/manifests/footer.manifest.d.ts +40 -5
  35. package/dist/shared/bricks/manifests/footer.manifest.d.ts.map +1 -1
  36. package/dist/shared/bricks/manifests/footer.manifest.js +1 -1
  37. package/dist/shared/bricks/manifests/form.manifest.d.ts +6 -5
  38. package/dist/shared/bricks/manifests/form.manifest.d.ts.map +1 -1
  39. package/dist/shared/bricks/manifests/form.manifest.js +1 -1
  40. package/dist/shared/bricks/manifests/hero.manifest.d.ts +4 -3
  41. package/dist/shared/bricks/manifests/hero.manifest.d.ts.map +1 -1
  42. package/dist/shared/bricks/manifests/hero.manifest.js +1 -1
  43. package/dist/shared/bricks/manifests/html.manifest.d.ts +3 -2
  44. package/dist/shared/bricks/manifests/html.manifest.d.ts.map +1 -1
  45. package/dist/shared/bricks/manifests/html.manifest.js +1 -1
  46. package/dist/shared/bricks/manifests/icon.manifest.d.ts +3 -2
  47. package/dist/shared/bricks/manifests/icon.manifest.d.ts.map +1 -1
  48. package/dist/shared/bricks/manifests/icon.manifest.js +1 -1
  49. package/dist/shared/bricks/manifests/image.manifest.d.ts +10 -6
  50. package/dist/shared/bricks/manifests/image.manifest.d.ts.map +1 -1
  51. package/dist/shared/bricks/manifests/image.manifest.js +1 -1
  52. package/dist/shared/bricks/manifests/images-gallery.manifest.d.ts +7 -6
  53. package/dist/shared/bricks/manifests/images-gallery.manifest.d.ts.map +1 -1
  54. package/dist/shared/bricks/manifests/images-gallery.manifest.js +1 -1
  55. package/dist/shared/bricks/manifests/map.manifest.d.ts +5 -4
  56. package/dist/shared/bricks/manifests/map.manifest.d.ts.map +1 -1
  57. package/dist/shared/bricks/manifests/map.manifest.js +1 -1
  58. package/dist/shared/bricks/manifests/navbar.manifest.d.ts +42 -8
  59. package/dist/shared/bricks/manifests/navbar.manifest.d.ts.map +1 -1
  60. package/dist/shared/bricks/manifests/navbar.manifest.js +1 -1
  61. package/dist/shared/bricks/manifests/sidebar.manifest.d.ts +4 -3
  62. package/dist/shared/bricks/manifests/sidebar.manifest.d.ts.map +1 -1
  63. package/dist/shared/bricks/manifests/sidebar.manifest.js +1 -1
  64. package/dist/shared/bricks/manifests/social-links.manifest.d.ts +5 -4
  65. package/dist/shared/bricks/manifests/social-links.manifest.d.ts.map +1 -1
  66. package/dist/shared/bricks/manifests/social-links.manifest.js +1 -1
  67. package/dist/shared/bricks/manifests/spacer.manifest.d.ts +3 -2
  68. package/dist/shared/bricks/manifests/spacer.manifest.d.ts.map +1 -1
  69. package/dist/shared/bricks/manifests/spacer.manifest.js +1 -1
  70. package/dist/shared/bricks/manifests/testimonials.manifest.d.ts +6 -5
  71. package/dist/shared/bricks/manifests/testimonials.manifest.d.ts.map +1 -1
  72. package/dist/shared/bricks/manifests/testimonials.manifest.js +1 -1
  73. package/dist/shared/bricks/manifests/text.manifest.d.ts +4 -3
  74. package/dist/shared/bricks/manifests/text.manifest.d.ts.map +1 -1
  75. package/dist/shared/bricks/manifests/text.manifest.js +1 -1
  76. package/dist/shared/bricks/manifests/video.manifest.d.ts +4 -3
  77. package/dist/shared/bricks/manifests/video.manifest.d.ts.map +1 -1
  78. package/dist/shared/bricks/manifests/video.manifest.js +1 -1
  79. package/dist/shared/bricks/props/align.d.ts.map +1 -1
  80. package/dist/shared/bricks/props/align.js +1 -1
  81. package/dist/shared/bricks/props/background.d.ts +6 -9
  82. package/dist/shared/bricks/props/background.d.ts.map +1 -1
  83. package/dist/shared/bricks/props/background.js +1 -1
  84. package/dist/shared/bricks/props/border.d.ts.map +1 -1
  85. package/dist/shared/bricks/props/border.js +1 -1
  86. package/dist/shared/bricks/props/color-preset.d.ts +3 -4
  87. package/dist/shared/bricks/props/color-preset.d.ts.map +1 -1
  88. package/dist/shared/bricks/props/color-preset.js +1 -1
  89. package/dist/shared/bricks/props/color.js +1 -1
  90. package/dist/shared/bricks/props/common.d.ts +6 -6
  91. package/dist/shared/bricks/props/common.d.ts.map +1 -1
  92. package/dist/shared/bricks/props/common.js +1 -1
  93. package/dist/shared/bricks/props/css-length.d.ts.map +1 -1
  94. package/dist/shared/bricks/props/css-length.js +1 -1
  95. package/dist/shared/bricks/props/datasource.d.ts +1 -1
  96. package/dist/shared/bricks/props/datasource.js +1 -1
  97. package/dist/shared/bricks/props/date.d.ts.map +1 -1
  98. package/dist/shared/bricks/props/date.js +1 -1
  99. package/dist/shared/bricks/props/direction.d.ts.map +1 -1
  100. package/dist/shared/bricks/props/direction.js +1 -1
  101. package/dist/shared/bricks/props/dynamic.d.ts.map +1 -1
  102. package/dist/shared/bricks/props/dynamic.js +1 -1
  103. package/dist/shared/bricks/props/effects.d.ts +0 -1
  104. package/dist/shared/bricks/props/effects.d.ts.map +1 -1
  105. package/dist/shared/bricks/props/effects.js +1 -1
  106. package/dist/shared/bricks/props/file.d.ts.map +1 -1
  107. package/dist/shared/bricks/props/file.js +1 -1
  108. package/dist/shared/bricks/props/geolocation.js +1 -1
  109. package/dist/shared/bricks/props/helpers.d.ts +2 -2
  110. package/dist/shared/bricks/props/helpers.js +1 -1
  111. package/dist/shared/bricks/props/image.d.ts +4 -4
  112. package/dist/shared/bricks/props/image.d.ts.map +1 -1
  113. package/dist/shared/bricks/props/image.js +1 -1
  114. package/dist/shared/bricks/props/position.d.ts +0 -2
  115. package/dist/shared/bricks/props/position.d.ts.map +1 -1
  116. package/dist/shared/bricks/props/position.js +1 -1
  117. package/dist/shared/bricks/props/string.js +1 -1
  118. package/dist/shared/bricks/props/tags.d.ts.map +1 -1
  119. package/dist/shared/bricks/props/tags.js +1 -1
  120. package/dist/shared/bricks/props/text.js +1 -1
  121. package/dist/shared/bricks/props/types.d.ts +1 -2
  122. package/dist/shared/bricks/props/types.d.ts.map +1 -1
  123. package/dist/shared/bricks.d.ts +189 -18
  124. package/dist/shared/bricks.d.ts.map +1 -1
  125. package/dist/shared/bricks.js +1 -1
  126. package/dist/shared/chunk-2CYAFF56.js +3 -0
  127. package/dist/shared/chunk-2NLDX5FG.js +3 -0
  128. package/dist/shared/chunk-3FPFR5RA.js +3 -0
  129. package/dist/shared/chunk-3P36LG6T.js +3 -0
  130. package/dist/shared/chunk-3QOAHMV4.js +5 -0
  131. package/dist/shared/chunk-4GIZ6WSG.js +3 -0
  132. package/dist/shared/chunk-5WY7LYXK.js +3 -0
  133. package/dist/shared/chunk-5X5SX5N7.js +4 -0
  134. package/dist/shared/chunk-6L3Z5SZQ.js +3 -0
  135. package/dist/shared/{chunk-UU2MSQXY.js → chunk-6PGAWO4H.js} +1 -1
  136. package/dist/shared/chunk-6R76KIHZ.js +3 -0
  137. package/dist/shared/chunk-7UBMXMNJ.js +3 -0
  138. package/dist/shared/chunk-AB3IMRXZ.js +3 -0
  139. package/dist/shared/chunk-AMQAGDFH.js +3 -0
  140. package/dist/shared/chunk-ARMM6B47.js +3 -0
  141. package/dist/shared/chunk-ARYG4XMX.js +3 -0
  142. package/dist/shared/chunk-AZHH3XJJ.js +3 -0
  143. package/dist/shared/chunk-COT2ROEH.js +34 -0
  144. package/dist/shared/chunk-DHSWVVMI.js +3 -0
  145. package/dist/shared/chunk-DKNOZLA6.js +3 -0
  146. package/dist/shared/chunk-EVDZ2KND.js +6 -0
  147. package/dist/shared/chunk-F4JNKU7J.js +3 -0
  148. package/dist/shared/chunk-GC5OWY2Z.js +3 -0
  149. package/dist/shared/chunk-GXNHF6J5.js +3 -0
  150. package/dist/shared/chunk-HP7CZB2F.js +3 -0
  151. package/dist/shared/chunk-HSRXUIVM.js +3 -0
  152. package/dist/shared/chunk-ILIWVWHC.js +8 -0
  153. package/dist/shared/chunk-JRCVYDCD.js +3 -0
  154. package/dist/shared/chunk-L2HOZVBC.js +3 -0
  155. package/dist/shared/chunk-LEWKHCRI.js +3 -0
  156. package/dist/shared/chunk-LT4CW2F7.js +3 -0
  157. package/dist/shared/chunk-MVCVVKBY.js +3 -0
  158. package/dist/shared/chunk-NKIEDT7V.js +3 -0
  159. package/dist/shared/chunk-NQKXDMQ5.js +3 -0
  160. package/dist/shared/chunk-NXIF3UMD.js +3 -0
  161. package/dist/shared/chunk-PW5HRVMD.js +3 -0
  162. package/dist/shared/chunk-PZYX3ACO.js +3 -0
  163. package/dist/shared/chunk-QDJQAZIA.js +8 -0
  164. package/dist/shared/chunk-QGFQA7OZ.js +4 -0
  165. package/dist/shared/chunk-RJZZWCBD.js +3 -0
  166. package/dist/shared/chunk-SAJY7H6N.js +3 -0
  167. package/dist/shared/chunk-SFDRAHYP.js +3 -0
  168. package/dist/shared/chunk-STDCM2KD.js +3 -0
  169. package/dist/shared/chunk-TCTVRT4O.js +3 -0
  170. package/dist/shared/chunk-TH5SONR6.js +3 -0
  171. package/dist/shared/chunk-UCR2UZOY.js +3 -0
  172. package/dist/shared/chunk-UDQWYGSO.js +3 -0
  173. package/dist/shared/{chunk-LSPN22SI.js → chunk-URRCKLAS.js} +3 -3
  174. package/dist/shared/{chunk-OIOYMECS.js → chunk-US53TNMK.js} +1 -1
  175. package/dist/shared/chunk-VDX2J22H.js +3 -0
  176. package/dist/shared/chunk-VE3S4LGT.js +3 -0
  177. package/dist/shared/chunk-VK26ZZFR.js +3 -0
  178. package/dist/shared/chunk-VLXZMESE.js +3 -0
  179. package/dist/shared/chunk-WAML3IGZ.js +3 -0
  180. package/dist/shared/chunk-WXKRIUTA.js +3 -0
  181. package/dist/shared/chunk-X62OEAE6.js +3 -0
  182. package/dist/shared/chunk-XED6ARVN.js +3 -0
  183. package/dist/shared/chunk-Y3X4F4YJ.js +3 -0
  184. package/dist/shared/chunk-Z4YKRLOX.js +3 -0
  185. package/dist/shared/context.d.ts +4 -12
  186. package/dist/shared/context.d.ts.map +1 -1
  187. package/dist/shared/datarecords/external/airtable/handler.d.ts +22 -5
  188. package/dist/shared/datarecords/external/airtable/handler.d.ts.map +1 -1
  189. package/dist/shared/datarecords/external/airtable/handler.js +1 -1
  190. package/dist/shared/datarecords/external/airtable/oauth/config.js +3 -0
  191. package/dist/shared/datarecords/external/airtable/types.d.ts +25 -0
  192. package/dist/shared/datarecords/external/airtable/types.d.ts.map +1 -1
  193. package/dist/shared/datarecords/external/airtable/types.js +3 -0
  194. package/dist/shared/datarecords/external/generic-webhook/handler.js +3 -0
  195. package/dist/shared/datarecords/external/generic-webhook/options.js +3 -0
  196. package/dist/shared/datarecords/external/google/sheets/client.js +3 -0
  197. package/dist/shared/datarecords/external/google/sheets/handler.d.ts +29 -5
  198. package/dist/shared/datarecords/external/google/sheets/handler.d.ts.map +1 -1
  199. package/dist/shared/datarecords/external/google/sheets/handler.js +5 -4
  200. package/dist/shared/datarecords/external/google/sheets/{options.d.ts → types.d.ts} +1 -1
  201. package/dist/shared/datarecords/external/google/sheets/types.d.ts.map +1 -0
  202. package/dist/shared/datarecords/external/google/sheets/types.js +3 -0
  203. package/dist/shared/datarecords/external/notion/handler.d.ts +29 -7
  204. package/dist/shared/datarecords/external/notion/handler.d.ts.map +1 -1
  205. package/dist/shared/datarecords/external/notion/handler.js +1 -1
  206. package/dist/shared/datarecords/external/notion/oauth/config.js +3 -0
  207. package/dist/shared/datarecords/external/notion/{options.d.ts → types.d.ts} +11 -1
  208. package/dist/shared/datarecords/external/notion/types.d.ts.map +1 -0
  209. package/dist/shared/datarecords/external/notion/types.js +3 -0
  210. package/dist/shared/datarecords/types.d.ts +17 -165
  211. package/dist/shared/datarecords/types.d.ts.map +1 -1
  212. package/dist/shared/datarecords/types.js +1 -1
  213. package/dist/shared/datarecords.d.ts +2 -2
  214. package/dist/shared/datarecords.d.ts.map +1 -1
  215. package/dist/shared/datarecords.js +1 -1
  216. package/dist/shared/datasources/external/facebook/posts/fetcher.js +3 -0
  217. package/dist/shared/datasources/external/facebook/posts/schema.js +3 -0
  218. package/dist/shared/datasources/external/http-json/fetcher.js +3 -0
  219. package/dist/shared/datasources/external/http-json/options.js +3 -0
  220. package/dist/shared/datasources/external/http-json/schema.js +3 -0
  221. package/dist/shared/datasources/external/instagram/feed/fetcher.js +3 -0
  222. package/dist/shared/datasources/external/instagram/feed/schema.js +3 -0
  223. package/dist/shared/datasources/external/mastodon/account/fetcher.js +3 -0
  224. package/dist/shared/datasources/external/mastodon/account/schema.js +3 -0
  225. package/dist/shared/datasources/external/mastodon/options.js +3 -0
  226. package/dist/shared/datasources/external/mastodon/status/fetcher.js +3 -0
  227. package/dist/shared/datasources/external/mastodon/status/sample.array.js +3 -0
  228. package/dist/shared/datasources/external/mastodon/status/sample.single.js +3 -0
  229. package/dist/shared/datasources/external/mastodon/status/schema.d.ts.map +1 -1
  230. package/dist/shared/datasources/external/mastodon/status/schema.js +3 -0
  231. package/dist/shared/datasources/external/meta/options.js +3 -0
  232. package/dist/shared/datasources/external/rss/fetcher.js +3 -0
  233. package/dist/shared/datasources/external/rss/options.js +3 -0
  234. package/dist/shared/datasources/external/rss/schema.js +3 -0
  235. package/dist/shared/datasources/external/threads/media/fetcher.js +3 -0
  236. package/dist/shared/datasources/external/threads/media/schema.js +3 -0
  237. package/dist/shared/datasources/external/tiktok/video/fetcher.js +3 -0
  238. package/dist/shared/datasources/external/tiktok/video/options.js +3 -0
  239. package/dist/shared/datasources/external/tiktok/video/schema.js +3 -0
  240. package/dist/shared/datasources/external/youtube/list/fetcher.js +3 -0
  241. package/dist/shared/datasources/external/youtube/list/options.js +3 -0
  242. package/dist/shared/datasources/external/youtube/list/schema.js +3 -0
  243. package/dist/shared/datasources/fetcher.js +2 -0
  244. package/dist/shared/datasources/internal/blog/schema.js +3 -0
  245. package/dist/shared/datasources/internal/changelog/schema.js +3 -0
  246. package/dist/shared/datasources/internal/contact-info/schema.js +3 -0
  247. package/dist/shared/datasources/internal/cv/schema.js +3 -0
  248. package/dist/shared/datasources/internal/faq/schema.js +3 -0
  249. package/dist/shared/datasources/internal/job-board/schema.js +3 -0
  250. package/dist/shared/datasources/internal/links/schema.js +3 -0
  251. package/dist/shared/datasources/internal/recipes/schema.js +3 -0
  252. package/dist/shared/datasources/internal/restaurant/schema.js +3 -0
  253. package/dist/shared/datasources/samples.js +3 -0
  254. package/dist/shared/datasources/schemas.d.ts +0 -49
  255. package/dist/shared/datasources/schemas.d.ts.map +1 -1
  256. package/dist/shared/datasources/schemas.js +1 -1
  257. package/dist/shared/datasources/types.d.ts +53 -130
  258. package/dist/shared/datasources/types.d.ts.map +1 -1
  259. package/dist/shared/datasources/types.js +1 -1
  260. package/dist/shared/datasources/utils.js +3 -0
  261. package/dist/shared/datasources.d.ts +7 -4
  262. package/dist/shared/datasources.d.ts.map +1 -1
  263. package/dist/shared/datasources.js +1 -1
  264. package/dist/shared/errors.js +1 -1
  265. package/dist/shared/images.d.ts +1 -12
  266. package/dist/shared/images.d.ts.map +1 -1
  267. package/dist/shared/images.js +1 -1
  268. package/dist/shared/index.js +3 -0
  269. package/dist/shared/manifest.js +3 -0
  270. package/dist/shared/page.d.ts +143 -12
  271. package/dist/shared/page.d.ts.map +1 -1
  272. package/dist/shared/page.js +1 -1
  273. package/dist/shared/site.d.ts +224 -114
  274. package/dist/shared/site.d.ts.map +1 -1
  275. package/dist/shared/site.js +1 -1
  276. package/dist/shared/sitemap.d.ts +167 -23
  277. package/dist/shared/sitemap.d.ts.map +1 -1
  278. package/dist/shared/sitemap.js +1 -1
  279. package/dist/shared/social-icons.js +3 -0
  280. package/dist/shared/theme.d.ts +41 -4
  281. package/dist/shared/theme.d.ts.map +1 -1
  282. package/dist/shared/theme.js +1 -1
  283. package/dist/shared/utils/invariant.js +1 -1
  284. package/dist/shared/utils/llm.d.ts +19 -0
  285. package/dist/shared/utils/llm.d.ts.map +1 -0
  286. package/dist/shared/utils/llm.js +3 -0
  287. package/dist/shared/utils/schema.d.ts +6 -1
  288. package/dist/shared/utils/schema.d.ts.map +1 -1
  289. package/dist/shared/utils/schema.js +1 -1
  290. package/dist/shared/utils/tests/schema.test.d.ts +2 -0
  291. package/dist/shared/utils/tests/schema.test.d.ts.map +1 -0
  292. package/dist/shared/utils/typed-ref.d.ts +1 -6
  293. package/dist/shared/utils/typed-ref.d.ts.map +1 -1
  294. package/dist/shared/utils/typed-ref.js +1 -1
  295. package/package.json +18 -19
  296. package/src/shared/ai/schemas.ts +33 -0
  297. package/src/shared/ai/types.ts +151 -0
  298. package/src/shared/ajv.ts +123 -0
  299. package/src/shared/analytics/init.ts +14 -0
  300. package/src/shared/analytics/track.ts +21 -0
  301. package/src/shared/analytics/types.ts +13 -0
  302. package/src/shared/attributes.ts +396 -0
  303. package/src/shared/brick-manifest.ts +119 -0
  304. package/src/shared/bricks/manifests/accordion.manifest.ts +482 -0
  305. package/src/shared/bricks/manifests/all-manifests.ts +121 -0
  306. package/src/shared/bricks/manifests/box.manifest.ts +551 -0
  307. package/src/shared/bricks/manifests/button.manifest.ts +208 -0
  308. package/src/shared/bricks/manifests/card.manifest.ts +320 -0
  309. package/src/shared/bricks/manifests/carousel.manifest.ts +708 -0
  310. package/src/shared/bricks/manifests/footer.manifest.ts +509 -0
  311. package/src/shared/bricks/manifests/form.manifest.ts +226 -0
  312. package/src/shared/bricks/manifests/hero.manifest.ts +365 -0
  313. package/src/shared/bricks/manifests/html.manifest.ts +127 -0
  314. package/src/shared/bricks/manifests/icon.manifest.ts +164 -0
  315. package/src/shared/bricks/manifests/image.manifest.ts +378 -0
  316. package/src/shared/bricks/manifests/images-gallery.manifest.ts +822 -0
  317. package/src/shared/bricks/manifests/map.manifest.ts +215 -0
  318. package/src/shared/bricks/manifests/navbar.manifest.ts +361 -0
  319. package/src/shared/bricks/manifests/sidebar.manifest.ts +88 -0
  320. package/src/shared/bricks/manifests/social-links.manifest.ts +497 -0
  321. package/src/shared/bricks/manifests/spacer.manifest.ts +54 -0
  322. package/src/shared/bricks/manifests/testimonials.manifest.ts +480 -0
  323. package/src/shared/bricks/manifests/tests/header.manifest.test.ts +10 -0
  324. package/src/shared/bricks/manifests/text.manifest.ts +245 -0
  325. package/src/shared/bricks/manifests/video.manifest.ts +115 -0
  326. package/src/shared/bricks/props/align.ts +63 -0
  327. package/src/shared/bricks/props/background.ts +79 -0
  328. package/src/shared/bricks/props/boolean.ts +7 -0
  329. package/src/shared/bricks/props/border.ts +86 -0
  330. package/src/shared/bricks/props/color-preset.ts +390 -0
  331. package/src/shared/bricks/props/color.ts +40 -0
  332. package/src/shared/bricks/props/common.ts +64 -0
  333. package/src/shared/bricks/props/css-length.ts +32 -0
  334. package/src/shared/bricks/props/datarecord.ts +11 -0
  335. package/src/shared/bricks/props/datasource.ts +82 -0
  336. package/src/shared/bricks/props/date.ts +21 -0
  337. package/src/shared/bricks/props/direction.ts +21 -0
  338. package/src/shared/bricks/props/dynamic.ts +112 -0
  339. package/src/shared/bricks/props/effects.ts +71 -0
  340. package/src/shared/bricks/props/enum.ts +38 -0
  341. package/src/shared/bricks/props/file.ts +10 -0
  342. package/src/shared/bricks/props/geolocation.ts +36 -0
  343. package/src/shared/bricks/props/helpers.ts +73 -0
  344. package/src/shared/bricks/props/image.ts +96 -0
  345. package/src/shared/bricks/props/number.ts +8 -0
  346. package/src/shared/bricks/props/position.ts +11 -0
  347. package/src/shared/bricks/props/string.ts +72 -0
  348. package/src/shared/bricks/props/tags.ts +26 -0
  349. package/src/shared/bricks/props/tests/background.test.ts +90 -0
  350. package/src/shared/bricks/props/tests/border.test.ts +12 -0
  351. package/src/shared/bricks/props/tests/effects.test.ts +37 -0
  352. package/src/shared/bricks/props/tests/helpers.test.ts +98 -0
  353. package/src/shared/bricks/props/tests/image.test.ts +71 -0
  354. package/src/shared/bricks/props/tests/string.test.ts +80 -0
  355. package/src/shared/bricks/props/text.ts +107 -0
  356. package/src/shared/bricks/props/types.ts +72 -0
  357. package/src/shared/bricks.ts +1237 -0
  358. package/src/shared/context.ts +32 -0
  359. package/src/shared/datarecords/external/airtable/handler.ts +501 -0
  360. package/src/shared/datarecords/external/airtable/oauth/config.ts +11 -0
  361. package/src/shared/datarecords/external/airtable/types.ts +63 -0
  362. package/src/shared/datarecords/external/generic-webhook/handler.ts +10 -0
  363. package/src/shared/datarecords/external/generic-webhook/options.ts +13 -0
  364. package/src/shared/datarecords/external/google/oauth/config.ts +30 -0
  365. package/src/shared/datarecords/external/google/sheets/client.ts +112 -0
  366. package/src/shared/datarecords/external/google/sheets/handler.ts +253 -0
  367. package/src/shared/datarecords/external/google/sheets/types.ts +10 -0
  368. package/src/shared/datarecords/external/notion/handler.ts +469 -0
  369. package/src/shared/datarecords/external/notion/oauth/config.ts +7 -0
  370. package/src/shared/datarecords/external/notion/types.ts +28 -0
  371. package/src/shared/datarecords/types.ts +165 -0
  372. package/src/shared/datarecords.ts +5 -0
  373. package/src/shared/datasources/README.md +3 -0
  374. package/src/shared/datasources/external/facebook/posts/fetcher.ts +52 -0
  375. package/src/shared/datasources/external/facebook/posts/sample.ts +35 -0
  376. package/src/shared/datasources/external/facebook/posts/schema.ts +33 -0
  377. package/src/shared/datasources/external/facebook/posts/tests/fetcher.test.ts +73 -0
  378. package/src/shared/datasources/external/http-json/fetcher.ts +31 -0
  379. package/src/shared/datasources/external/http-json/options.ts +8 -0
  380. package/src/shared/datasources/external/http-json/schema.ts +6 -0
  381. package/src/shared/datasources/external/http-json/tests/fetcher.test.ts +70 -0
  382. package/src/shared/datasources/external/instagram/feed/fetcher.ts +33 -0
  383. package/src/shared/datasources/external/instagram/feed/sample.ts +22 -0
  384. package/src/shared/datasources/external/instagram/feed/schema.ts +23 -0
  385. package/src/shared/datasources/external/instagram/feed/tests/fetcher.test.ts +64 -0
  386. package/src/shared/datasources/external/mastodon/account/fetcher.ts +24 -0
  387. package/src/shared/datasources/external/mastodon/account/sample.ts +33 -0
  388. package/src/shared/datasources/external/mastodon/account/schema.ts +45 -0
  389. package/src/shared/datasources/external/mastodon/account/tests/fetcher.test.ts +47 -0
  390. package/src/shared/datasources/external/mastodon/options.ts +6 -0
  391. package/src/shared/datasources/external/mastodon/status/fetcher.ts +35 -0
  392. package/src/shared/datasources/external/mastodon/status/sample.array.ts +59 -0
  393. package/src/shared/datasources/external/mastodon/status/sample.single.ts +55 -0
  394. package/src/shared/datasources/external/mastodon/status/schema.ts +125 -0
  395. package/src/shared/datasources/external/mastodon/status/tests/fetcher.test.ts +74 -0
  396. package/src/shared/datasources/external/meta/oauth/config.ts +16 -0
  397. package/src/shared/datasources/external/meta/options.ts +7 -0
  398. package/src/shared/datasources/external/rss/fetcher.ts +31 -0
  399. package/src/shared/datasources/external/rss/options.ts +7 -0
  400. package/src/shared/datasources/external/rss/sample.ts +22 -0
  401. package/src/shared/datasources/external/rss/schema.ts +42 -0
  402. package/src/shared/datasources/external/threads/media/fetcher.ts +53 -0
  403. package/src/shared/datasources/external/threads/media/sample.ts +44 -0
  404. package/src/shared/datasources/external/threads/media/schema.ts +37 -0
  405. package/src/shared/datasources/external/tiktok/oauth/config.ts +17 -0
  406. package/src/shared/datasources/external/tiktok/video/fetcher.ts +39 -0
  407. package/src/shared/datasources/external/tiktok/video/options.ts +8 -0
  408. package/src/shared/datasources/external/tiktok/video/sample.ts +26 -0
  409. package/src/shared/datasources/external/tiktok/video/schema.ts +27 -0
  410. package/src/shared/datasources/external/youtube/list/fetcher.ts +37 -0
  411. package/src/shared/datasources/external/youtube/list/options.ts +11 -0
  412. package/src/shared/datasources/external/youtube/list/sample.ts +33 -0
  413. package/src/shared/datasources/external/youtube/list/schema.ts +38 -0
  414. package/src/shared/datasources/external/youtube/oauth/config.ts +15 -0
  415. package/src/shared/datasources/fetcher.ts +16 -0
  416. package/src/shared/datasources/internal/blog/schema.ts +69 -0
  417. package/src/shared/datasources/internal/changelog/schema.ts +48 -0
  418. package/src/shared/datasources/internal/contact-info/schema.ts +20 -0
  419. package/src/shared/datasources/internal/cv/schema.ts +217 -0
  420. package/src/shared/datasources/internal/faq/schema.ts +27 -0
  421. package/src/shared/datasources/internal/job-board/schema.ts +228 -0
  422. package/src/shared/datasources/internal/links/schema.ts +15 -0
  423. package/src/shared/datasources/internal/recipes/schema.ts +42 -0
  424. package/src/shared/datasources/internal/restaurant/schema.ts +225 -0
  425. package/src/shared/datasources/samples.ts +26 -0
  426. package/src/shared/datasources/schemas.ts +48 -0
  427. package/src/shared/datasources/types.ts +490 -0
  428. package/src/shared/datasources/utils.ts +17 -0
  429. package/src/shared/datasources.ts +57 -0
  430. package/src/shared/env.ts +23 -0
  431. package/src/shared/errors.ts +1 -0
  432. package/src/shared/images.ts +44 -0
  433. package/src/shared/index.ts +3 -0
  434. package/src/shared/layout-constants.ts +19 -0
  435. package/src/shared/manifest.ts +50 -0
  436. package/src/shared/oauth.ts +16 -0
  437. package/src/shared/page.ts +36 -0
  438. package/src/shared/prompt.ts +9 -0
  439. package/src/shared/responsive.ts +5 -0
  440. package/src/shared/site.ts +59 -0
  441. package/src/shared/sitemap.ts +98 -0
  442. package/src/shared/social-icons.ts +307 -0
  443. package/src/shared/tests/attributes.test.ts +31 -0
  444. package/src/shared/theme.ts +244 -0
  445. package/src/shared/themes/README.md +34 -0
  446. package/src/shared/themes/color-system.ts +146 -0
  447. package/src/shared/themes/tests/color-system.test.ts +170 -0
  448. package/src/shared/utils/canvas-data-uri.ts +2 -0
  449. package/src/shared/utils/invariant.ts +25 -0
  450. package/src/shared/utils/json-date.ts +8 -0
  451. package/src/shared/utils/llm.ts +282 -0
  452. package/src/shared/utils/merge.ts +12 -0
  453. package/src/shared/utils/object-hash.ts +7 -0
  454. package/src/shared/utils/schema.ts +359 -0
  455. package/src/shared/utils/string-enum.ts +12 -0
  456. package/src/shared/utils/tests/schema.test.ts +724 -0
  457. package/src/shared/utils/try-catch.ts +12 -0
  458. package/src/shared/utils/typed-ref.ts +53 -0
  459. package/dist/shared/bricks/props/container.d.ts +0 -11
  460. package/dist/shared/bricks/props/container.d.ts.map +0 -1
  461. package/dist/shared/bricks/props/container.js +0 -3
  462. package/dist/shared/bricks/props/gap.d.ts +0 -9
  463. package/dist/shared/bricks/props/gap.d.ts.map +0 -1
  464. package/dist/shared/bricks/props/gap.js +0 -3
  465. package/dist/shared/bricks/props/padding.d.ts +0 -5
  466. package/dist/shared/bricks/props/padding.d.ts.map +0 -1
  467. package/dist/shared/bricks/props/padding.js +0 -3
  468. package/dist/shared/bricks/props/tests/padding.d.ts +0 -2
  469. package/dist/shared/bricks/props/tests/padding.d.ts.map +0 -1
  470. package/dist/shared/chunk-2IYSJYNE.js +0 -3
  471. package/dist/shared/chunk-3EM3B4DX.js +0 -3
  472. package/dist/shared/chunk-4TH3C76A.js +0 -3
  473. package/dist/shared/chunk-5N6MBJJ4.js +0 -3
  474. package/dist/shared/chunk-6FITVVZX.js +0 -3
  475. package/dist/shared/chunk-6WCGUAQN.js +0 -3
  476. package/dist/shared/chunk-7DMUDZ4H.js +0 -3
  477. package/dist/shared/chunk-ACVLF55Q.js +0 -3
  478. package/dist/shared/chunk-AQPN5SE2.js +0 -3
  479. package/dist/shared/chunk-BZGNY7LB.js +0 -3
  480. package/dist/shared/chunk-C3VGP4CA.js +0 -3
  481. package/dist/shared/chunk-CT3EI7YN.js +0 -3
  482. package/dist/shared/chunk-DQXDGV67.js +0 -3
  483. package/dist/shared/chunk-E22E4XWE.js +0 -3
  484. package/dist/shared/chunk-ETYYRWLK.js +0 -3
  485. package/dist/shared/chunk-EYPREFMH.js +0 -3
  486. package/dist/shared/chunk-FKNNTHWX.js +0 -5
  487. package/dist/shared/chunk-HHO3ONTQ.js +0 -3
  488. package/dist/shared/chunk-I46VBMLF.js +0 -3
  489. package/dist/shared/chunk-IIFTGWFZ.js +0 -3
  490. package/dist/shared/chunk-JS4K5JRM.js +0 -5
  491. package/dist/shared/chunk-KHFNN4P3.js +0 -3
  492. package/dist/shared/chunk-L6WHBSRZ.js +0 -8
  493. package/dist/shared/chunk-LFQZRGHS.js +0 -3
  494. package/dist/shared/chunk-LGP6GWIY.js +0 -3
  495. package/dist/shared/chunk-NLEWXPVM.js +0 -3
  496. package/dist/shared/chunk-NNI225RG.js +0 -3
  497. package/dist/shared/chunk-QISTDGPP.js +0 -3
  498. package/dist/shared/chunk-QSZWDE3D.js +0 -3
  499. package/dist/shared/chunk-RGLVKILY.js +0 -3
  500. package/dist/shared/chunk-SLRU4CT6.js +0 -4
  501. package/dist/shared/chunk-T3LIA4YB.js +0 -3
  502. package/dist/shared/chunk-T4LMBG2G.js +0 -3
  503. package/dist/shared/chunk-TATG6SFZ.js +0 -3
  504. package/dist/shared/chunk-TF3JVVRU.js +0 -3
  505. package/dist/shared/chunk-TTTXV7TJ.js +0 -6
  506. package/dist/shared/chunk-TWBY2GOR.js +0 -3
  507. package/dist/shared/chunk-UAQHU6L6.js +0 -3
  508. package/dist/shared/chunk-UHF6IEKV.js +0 -3
  509. package/dist/shared/chunk-UMHXXXVP.js +0 -3
  510. package/dist/shared/chunk-VGRYSAXA.js +0 -3
  511. package/dist/shared/chunk-VPFCY4DH.js +0 -3
  512. package/dist/shared/chunk-VZPXXFVX.js +0 -3
  513. package/dist/shared/chunk-WU6Q4WYD.js +0 -3
  514. package/dist/shared/chunk-X43MB5WD.js +0 -3
  515. package/dist/shared/chunk-YBGPPF7T.js +0 -3
  516. package/dist/shared/chunk-YFFTZ5T6.js +0 -3
  517. package/dist/shared/chunk-ZQGNYK5I.js +0 -8
  518. package/dist/shared/chunk-ZTDUXSWH.js +0 -3
  519. package/dist/shared/datarecords/external/airtable/client.d.ts +0 -8
  520. package/dist/shared/datarecords/external/airtable/client.d.ts.map +0 -1
  521. package/dist/shared/datarecords/external/airtable/elements.d.ts +0 -21
  522. package/dist/shared/datarecords/external/airtable/elements.d.ts.map +0 -1
  523. package/dist/shared/datarecords/external/airtable/options.d.ts +0 -10
  524. package/dist/shared/datarecords/external/airtable/options.d.ts.map +0 -1
  525. package/dist/shared/datarecords/external/google/sheets/options.d.ts.map +0 -1
  526. package/dist/shared/datarecords/external/notion/client.d.ts +0 -8
  527. package/dist/shared/datarecords/external/notion/client.d.ts.map +0 -1
  528. package/dist/shared/datarecords/external/notion/options.d.ts.map +0 -1
  529. package/dist/shared/datarecords/external/notion/utils.d.ts +0 -5
  530. package/dist/shared/datarecords/external/notion/utils.d.ts.map +0 -1
  531. package/dist/shared/utils/schema-resolver.d.ts +0 -3
  532. package/dist/shared/utils/schema-resolver.d.ts.map +0 -1
  533. package/dist/shared/utils/schema-resolver.js +0 -3
@@ -0,0 +1,12 @@
1
+ type Result<T = unknown, E extends Error = Error> = [null, T] | [E, null];
2
+
3
+ /**
4
+ * Try catch wrapper for async functions
5
+ */
6
+ export async function tryCatch<T, E extends Error = Error>(promise: Promise<T>): Promise<Result<T, E>> {
7
+ try {
8
+ return [null, await promise];
9
+ } catch (e) {
10
+ return [e instanceof Error ? e : new Error(`Error in tryCatch: ${e}`), null] as Result<T, E>;
11
+ }
12
+ }
@@ -0,0 +1,53 @@
1
+ import { type SchemaOptions, TSchema, Type, TypeRegistry } from "@sinclair/typebox";
2
+ import type { alignItems, alignSelf, justifyContent } from "../bricks/props/align";
3
+ import type { background, backgroundColor } from "../bricks/props/background";
4
+ import type { border, rounding } from "../bricks/props/border";
5
+ import type { borderColor, color } from "../bricks/props/color";
6
+ import type { hidden } from "../bricks/props/common";
7
+ import type { cssLength } from "../bricks/props/css-length";
8
+ import type { shadow, textShadow } from "../bricks/props/effects";
9
+ import type { fontSize, fontSizeXL, textContent } from "../bricks/props/text";
10
+ import type { icon, urlOrPageId } from "../bricks/props/string";
11
+ import type { colorPreset } from "../bricks/props/color-preset";
12
+ import type { image } from "../bricks/props/image";
13
+ import type { direction } from "../bricks/props/direction";
14
+ import type { loop, queryUse } from "../bricks/props/dynamic";
15
+ import type { tags } from "../bricks/props/tags";
16
+
17
+ export interface SchemaTypeMap {
18
+ "styles:background": ReturnType<typeof background>;
19
+ "styles:backgroundColor": ReturnType<typeof backgroundColor>;
20
+ "styles:justifyContent": ReturnType<typeof justifyContent>;
21
+ "styles:alignItems": ReturnType<typeof alignItems>;
22
+ "styles:alignSelf": ReturnType<typeof alignSelf>;
23
+ "styles:fontSize": ReturnType<typeof fontSize>;
24
+ "styles:fontSizeXL": ReturnType<typeof fontSizeXL>;
25
+ "styles:hidden": ReturnType<typeof hidden>;
26
+ "styles:border": ReturnType<typeof border>;
27
+ "styles:color": ReturnType<typeof color>;
28
+ "styles:borderColor": ReturnType<typeof borderColor>;
29
+ "styles:direction": ReturnType<typeof direction>;
30
+ "styles:shadow": ReturnType<typeof shadow>;
31
+ "styles:textShadow": ReturnType<typeof textShadow>;
32
+ "styles:cssLength": ReturnType<typeof cssLength>;
33
+ "styles:rounding": ReturnType<typeof rounding>;
34
+ "presets:color": ReturnType<typeof colorPreset>;
35
+ "assets:image": ReturnType<typeof image>;
36
+ "content:text": ReturnType<typeof textContent>;
37
+ "content:urlOrPageId": ReturnType<typeof urlOrPageId>;
38
+ "content:loop": ReturnType<typeof loop>;
39
+ "content:queryUse": ReturnType<typeof queryUse>;
40
+ "assets:icon": ReturnType<typeof icon>;
41
+ "content:tags": ReturnType<typeof tags>;
42
+
43
+ // Add other schema mappings here
44
+ }
45
+
46
+ // Create a typed ref helper
47
+ export function typedRef<K extends keyof SchemaTypeMap>(
48
+ id: K,
49
+ options: SchemaOptions = {},
50
+ ): SchemaTypeMap[K] {
51
+ // Force the type to be a TypeBox type
52
+ return Type.Ref(id, { ...options }) as unknown as SchemaTypeMap[K];
53
+ }
@@ -1,11 +0,0 @@
1
- import { type SchemaOptions } from "@sinclair/typebox";
2
- export declare function makeContainerProps(): {
3
- $children: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TAny>;
4
- };
5
- export declare function sectionLayout(options?: SchemaOptions): import("@sinclair/typebox").TObject<{
6
- wrap: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
7
- fillSpace: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
8
- justifyContent: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnsafe<"justify-start" | "justify-center" | "justify-end" | "justify-between" | "justify-around" | "justify-evenly" | "justify-stretch">>;
9
- alignItems: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnsafe<"items-start" | "items-center" | "items-end" | "items-stretch">>;
10
- }>;
11
- //# sourceMappingURL=container.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"container.d.ts","sourceRoot":"","sources":["../../../../src/shared/bricks/props/container.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,KAAK,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAG7D,wBAAgB,kBAAkB;;EAQjC;AAED,wBAAgB,aAAa,CAAC,OAAO,GAAE,aAAkB;;;;;GAsDxD"}
@@ -1,3 +0,0 @@
1
- /*! Upstart.gg - Copyright (C) 2024 Flippable - https://github.com/upstart-gg/upstart/blob/main/LICENSE */
2
-
3
- import{a,b}from"../../chunk-3EM3B4DX.js";import"../../chunk-SFKZAUPW.js";export{a as makeContainerProps,b as sectionLayout};
@@ -1,9 +0,0 @@
1
- import type { Static, StringOptions } from "@sinclair/typebox";
2
- export declare function basicGap(opts?: StringOptions & {
3
- allowNoGap?: boolean;
4
- }): import("@sinclair/typebox").TUnsafe<string>;
5
- export type GapBasicSettings = Static<ReturnType<typeof basicGap>>;
6
- export declare function basicGapRef(options?: StringOptions & {
7
- allowNoGap?: boolean;
8
- }): import("@sinclair/typebox").TUnsafe<string>;
9
- //# sourceMappingURL=gap.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"gap.d.ts","sourceRoot":"","sources":["../../../../src/shared/bricks/props/gap.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAI/D,wBAAgB,QAAQ,CAAC,IAAI,GAAE,aAAa,GAAG;IAAE,UAAU,CAAC,EAAE,OAAO,CAAA;CAAO,+CAyB3E;AAED,MAAM,MAAM,gBAAgB,GAAG,MAAM,CAAC,UAAU,CAAC,OAAO,QAAQ,CAAC,CAAC,CAAC;AAEnE,wBAAgB,WAAW,CAAC,OAAO,GAAE,aAAa,GAAG;IAAE,UAAU,CAAC,EAAE,OAAO,CAAA;CAAO,+CAEjF"}
@@ -1,3 +0,0 @@
1
- /*! Upstart.gg - Copyright (C) 2024 Flippable - https://github.com/upstart-gg/upstart/blob/main/LICENSE */
2
-
3
- import{a,b}from"../../chunk-TWBY2GOR.js";import"../../chunk-EJGNYD4V.js";import"../../chunk-SFKZAUPW.js";export{a as basicGap,b as basicGapRef};
@@ -1,5 +0,0 @@
1
- import type { SchemaOptions, Static } from "@sinclair/typebox";
2
- export declare function padding(): import("@sinclair/typebox").TUnsafe<"p-0" | "p-px" | "p-1" | "p-2" | "p-3" | "p-4" | "p-6" | "p-8" | "p-10" | "p-12" | "p-16" | "p-24">;
3
- export declare function paddingRef(options?: SchemaOptions): import("@sinclair/typebox").TUnsafe<"p-0" | "p-px" | "p-1" | "p-2" | "p-3" | "p-4" | "p-6" | "p-8" | "p-10" | "p-12" | "p-16" | "p-24">;
4
- export type PaddingSettings = Static<ReturnType<typeof padding>>;
5
- //# sourceMappingURL=padding.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"padding.d.ts","sourceRoot":"","sources":["../../../../src/shared/bricks/props/padding.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAI/D,wBAAgB,OAAO,4IA4BtB;AAED,wBAAgB,UAAU,CAAC,OAAO,GAAE,aAAkB,2IAKrD;AAED,MAAM,MAAM,eAAe,GAAG,MAAM,CAAC,UAAU,CAAC,OAAO,OAAO,CAAC,CAAC,CAAC"}
@@ -1,3 +0,0 @@
1
- /*! Upstart.gg - Copyright (C) 2024 Flippable - https://github.com/upstart-gg/upstart/blob/main/LICENSE */
2
-
3
- import{a,b}from"../../chunk-6WCGUAQN.js";import"../../chunk-EJGNYD4V.js";import"../../chunk-SFKZAUPW.js";export{a as padding,b as paddingRef};
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=padding.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"padding.d.ts","sourceRoot":"","sources":["../../../../../src/shared/bricks/props/tests/padding.ts"],"names":[],"mappings":""}
@@ -1,3 +0,0 @@
1
- /*! Upstart.gg - Copyright (C) 2024 Flippable - https://github.com/upstart-gg/upstart/blob/main/LICENSE */
2
-
3
- import{a as n}from"./chunk-EJGNYD4V.js";import{Type as s}from"@sinclair/typebox";var e=["px","%","em","rem","vh","vw","dvh","dvw","rlh","lh","cqh","cqw"];function c(t={}){return s.String({title:"Length",$id:"styles:cssLength",description:`A CSS length value. Must be a number with a unit (e.g. "10px", "50%"). The unit can be one of the following: ${e?.join(", ")}.`,default:t.default,"ui:field":"css-length","ui:css-units":e,...t})}function g(t={}){return n("styles:cssLength",t)}function p(t){return typeof t!="string"?!1:new RegExp(`^-?\\d+(?:\\.\\d+)?\\s*(${e.join("|")})$`).test(t)}export{e as a,c as b,g as c,p as d};
@@ -1,3 +0,0 @@
1
- /*! Upstart.gg - Copyright (C) 2024 Flippable - https://github.com/upstart-gg/upstart/blob/main/LICENSE */
2
-
3
- import{a as e}from"./chunk-SFKZAUPW.js";import{Type as t}from"@sinclair/typebox";function s(){return{$children:t.Array(t.Any(),{"ui:field":"hidden",description:"List of nested bricks",default:[]})}}function a(i={}){return t.Object({wrap:t.Optional(t.Boolean({title:"Wrap",description:"Wrap bricks.",default:!0})),fillSpace:t.Optional(t.Boolean({title:"Fill available space",description:"Makes bricks fill the available space"})),justifyContent:t.Optional(e(["justify-start","justify-center","justify-end","justify-between","justify-around","justify-evenly","justify-stretch"],{enumNames:["Start","Center","End","Space between","Space around","Evenly distributed","Stretch"],title:"Justify bricks",description:"Justify bricks horizontally","ui:placeholder":"Not specified"})),alignItems:t.Optional(e(["items-start","items-center","items-end","items-stretch"],{enumNames:["Start","Center","End","Stretch"],title:"Align bricks",description:"Align bricks vertically","ui:placeholder":"Not specified"}))},{$id:"styles:sectionLayout"})}export{s as a,a as b};
@@ -1,3 +0,0 @@
1
- /*! Upstart.gg - Copyright (C) 2024 Flippable - https://github.com/upstart-gg/upstart/blob/main/LICENSE */
2
-
3
- import{c as e}from"./chunk-UU2MSQXY.js";import{a as p}from"./chunk-VGRYSAXA.js";import{CgSpaceBetween as t}from"react-icons/cg";var o=p({type:"spacer",name:"Spacer",category:"container",description:"A flexible element to create space between bricks.",staticClasses:"self-stretch",minWidth:{desktop:50},defaultWidth:{mobile:"auto",desktop:"50px"},minHeight:{mobile:30},icon:t,props:e({})}),n=[{description:"Transparent spacer of 100px wide",type:"spacer",props:{width:"100px"}},{description:"Transparent spacer of 20px wide",type:"spacer",props:{width:"20px"}}];export{o as a,n as b};
@@ -1,3 +0,0 @@
1
- /*! Upstart.gg - Copyright (C) 2024 Flippable - https://github.com/upstart-gg/upstart/blob/main/LICENSE */
2
-
3
- import{a}from"./chunk-SFKZAUPW.js";import{Type as t}from"@sinclair/typebox";import{Type as e}from"@sinclair/typebox";var n=e.Object({channelId:e.String(),order:e.Optional(e.String()),maxResults:e.Optional(e.Number()),regionCode:e.Optional(e.String()),relevanceLanguage:e.Optional(e.String())});import{Type as i}from"@sinclair/typebox";var s=i.Object({url:i.String({format:"uri"}),headers:i.Optional(i.Record(i.String(),i.String()))});import{Type as l}from"@sinclair/typebox";var p=l.Object({url:l.String({format:"uri"})});var P=t.Union([t.Literal("custom"),t.Literal("rss"),t.Literal("youtube-list"),t.Literal("http-json"),t.Literal("internal-blog"),t.Literal("internal-changelog"),t.Literal("internal-faq"),t.Literal("internal-links"),t.Literal("internal-recipes")]),d=t.Union([t.Object({provider:t.Literal("youtube-list"),options:n}),t.Object({provider:t.Literal("rss"),options:p}),t.Object({provider:t.Literal("internal-blog"),options:t.Optional(t.Object({},{additionalProperties:!0}))}),t.Object({provider:t.Literal("internal-changelog"),options:t.Optional(t.Object({},{additionalProperties:!0}))}),t.Object({provider:t.Literal("internal-faq"),options:t.Optional(t.Object({},{additionalProperties:!0}))}),t.Object({provider:t.Literal("internal-links"),options:t.Optional(t.Object({},{additionalProperties:!0}))}),t.Object({provider:t.Literal("internal-recipes"),options:t.Optional(t.Object({},{additionalProperties:!0}))})]),r=t.Object({id:t.String({title:"ID",description:"Unique identifier of the datasource. Used to reference the datasource in the system. Use a url-safe string like a slug."}),label:t.String({title:"Label",description:"Label of the datasource displayed in the UI"})}),u=t.Composite([d,r,t.Object({schema:t.Null({description:"Always null for provider datasources. The schema is defined by the provider."}),ttlMinutes:t.Optional(t.Number({title:"Time to live",description:"Time to live in minutes. If set to -1, it never expires and has to be manually refreshed. If set to 0, the datasource is always fetched live. If > 0, then the datasource is feteched every N minutes."})),refresh:t.Optional(t.Object({method:t.Union([t.Literal("interval"),t.Literal("manual"),t.Literal("live")]),interval:t.Optional(t.Number())},{title:"Refresh options",description:"Options to refresh the datasource"}))})]),m=t.Composite([r,t.Object({provider:t.Literal("custom",{title:"Custom",description:"Custom datasource saved locally in Upstart."}),options:t.Optional(t.Object({},{additionalProperties:!0})),schema:t.Any({title:"Schema",description:"JSON Schema of datasource. Always an array of objects."}),indexes:t.Optional(t.Array(t.Object({name:t.String({title:"Index name"}),fields:t.Array(t.String(),{title:"Fields to index"}),unique:t.Optional(t.Boolean({title:"Unique index",default:!1}))}),{title:"Indexes",description:"IMPORTANT: Indexes to create on the datasource. use it to enforce uniqueness or improve query performance."}))},{$id:"datasource:custom"})]),f=t.Composite([r,t.Object({provider:t.Literal("http-json",{title:"JSON Array",description:"JSON array datasource."}),options:s,schema:t.Any({title:"Schema",description:"JSON Schema of datasource. Always an array of objects.",examples:[{type:"array",items:{type:"object",properties:{id:{type:"string",title:"ID"},title:{type:"string",title:"Title"},firstname:{type:"string",title:"Firstname"},lastname:{type:"string",title:"Lastname"},createdAt:{type:"string",format:"date-time",title:"Created at"},email:{type:"string",format:"email",title:"Email"}},required:["id","title","firstname","lastname","email","createdAt"],title:"Employee"},title:"Employees",description:"Employees list"}]})})]),y=t.Union([m,f,u]),J=t.Array(y),O=t.Object({field:t.String(),op:t.Union([t.Literal("eq"),t.Literal("ne"),t.Literal("contains"),t.Literal("notContains"),t.Literal("startsWith"),t.Literal("notStartsWith"),t.Literal("endsWith"),t.Literal("notEndsWith")]),value:t.String()}),b=t.Object({field:t.String(),op:t.Union([t.Literal("eq"),t.Literal("ne"),t.Literal("lt"),t.Literal("lte"),t.Literal("gt"),t.Literal("gte")]),value:t.Number()}),L=t.Object({field:t.String(),op:t.Union([t.Literal("before"),t.Literal("after")]),value:t.String()}),h=t.Object({field:t.String(),op:t.Union([t.Literal("beforeNow"),t.Literal("afterNow")]),value:t.Null()}),S=t.Object({field:t.String(),op:t.Union([t.Literal("contains"),t.Literal("notContains"),t.Literal("containsAll"),t.Literal("containsAny"),t.Literal("notContainsAny")]),value:t.Array(t.String())}),g=t.Object({field:t.String(),op:t.Literal("eq"),value:t.Boolean()}),c=t.Union([O,b,L,h,S,g]),j=t.Recursive(o=>t.Union([t.Object({op:t.Literal("and"),fields:t.Array(t.Union([c,o]))}),t.Object({op:t.Literal("or"),fields:t.Array(t.Union([c,o]))})],{default:{op:"and",fields:[]}})),T=t.Object({id:t.String({title:"Query ID",description:"Unique identifier for the query. Used to reference the query in the system. URL-safe string like a slug."}),label:t.String({title:"Label",maxLength:100,description:"Label of the query displayed in the UI"}),datasourceId:t.String({title:"Database",description:"ID of the datasource to query"}),limit:t.Number({title:"Limit",description:"Limit the number of records to fetch from the datasource.",minimum:1,maximum:50,default:10}),sortDirection:t.Optional(t.Union([t.Null(),a(["asc","desc"],{title:"Sort",enumNames:["Ascending","Descending"],description:"Direction to sort the records by",default:"desc"})])),sortField:t.Optional(t.String({title:"Sort Field",description:"Select a field to sort by (must be indexed)",default:"$publicationDate"})),filters:t.Optional(j),parameters:t.Optional(t.Array(t.String(),{title:"Parameters",description:"Field names that will be used as parameters when using the query. Only indexed fields can be used as parameters.",default:[],examples:[["$slug"],["$id"],["category","tags"]]}))});export{P as a,y as b,J as c,c as d,T as e};
@@ -1,3 +0,0 @@
1
- /*! Upstart.gg - Copyright (C) 2024 Flippable - https://github.com/upstart-gg/upstart/blob/main/LICENSE */
2
-
3
- import{a as o}from"./chunk-EJGNYD4V.js";import{Type as t}from"@sinclair/typebox";function s(r,e="Text color"){return t.String({title:e,$id:"styles:color","ai:instructions":"hex/rgb/rgba color or classes like `text-<variant>-<shade>`, variants being `primary`, `secondary`, `accent` and `neutral`, and shades between 50 and 900",default:r,"ui:styleId":"styles:color","ui:field":"color","ui:color-type":"text"})}function l(r={}){return o("styles:color",{...r,"ui:styleId":"styles:color"})}function a(r,e="Border color"){return t.String({title:e,$id:"styles:borderColor","ai:instructions":"hex/rgb/rgba color or classes like `border-<variant>-<shade>`, variants being `primary`, `secondary`, `accent` and `neutral`, and shades between 50 and 900",default:r,"ui:styleId":"styles:borderColor","ui:field":"color","ui:color-type":"border"})}function c(r={}){return o("styles:borderColor",{...r,"ui:styleId":"styles:borderColor"})}export{s as a,l as b,a as c,c as d};
@@ -1,3 +0,0 @@
1
- /*! Upstart.gg - Copyright (C) 2024 Flippable - https://github.com/upstart-gg/upstart/blob/main/LICENSE */
2
-
3
- import{a as i}from"./chunk-EJGNYD4V.js";import{a as e}from"./chunk-SFKZAUPW.js";function d(){return e(["p-0","p-px","p-1","p-2","p-3","p-4","p-6","p-8","p-10","p-12","p-16","p-24"],{title:"Padding",$id:"styles:padding",enumNames:["None","Minimal","Size 1","Size 2","Size 3","Size 4","Size 5","Size 6","Size 7","Size 8","Size 9","Size 10"],description:"Space between the content and the border","ai:instructions":"Can be a tailwind class like `p-4` or a custom value like `p-[16px]`.","ui:field":"enum","ui:responsive":!0,"ui:styleId":"styles:padding"})}function a(t={}){return i("styles:padding",{...t,"ui:styleId":"styles:padding"})}export{d as a,a as b};
@@ -1,3 +0,0 @@
1
- /*! Upstart.gg - Copyright (C) 2024 Flippable - https://github.com/upstart-gg/upstart/blob/main/LICENSE */
2
-
3
- import{b as l}from"./chunk-OIOYMECS.js";import{b as e}from"./chunk-T4LMBG2G.js";import{f as o}from"./chunk-C3VGP4CA.js";import{a as s}from"./chunk-YIFNKP4J.js";import{c as p}from"./chunk-UU2MSQXY.js";import{a,d as r}from"./chunk-T3LIA4YB.js";import{b as n}from"./chunk-RGLVKILY.js";import{e as i}from"./chunk-VZPXXFVX.js";import{a as c}from"./chunk-VGRYSAXA.js";import{Type as t}from"@sinclair/typebox";import{VscLayoutPanelOff as d}from"react-icons/vsc";var w=c({type:"navbar",name:"Navbar",category:"layout",description:"A navigation bar with logo and navigation",aiInstructions:"This brick should be used on most sites/pages. It must be placed on its own section.",duplicatable:!1,resizable:!1,movable:!1,staticClasses:"flex-grow",defaultWidth:{mobile:"100%"},defaultHeight:{mobile:"60px",desktop:"60px"},icon:d,iconClassName:"rotate-180",props:p({color:t.Optional(i({title:"Color",default:{color:"primary-500"}})),brand:t.Optional(o({title:"Brand name",default:"Acme Inc.",disableSizing:!0,metadata:{category:"content"}})),logo:t.Optional(n({title:"Logo","ui:show-img-search":!1,"ui:no-object-options":!0,"ui:no-dynamic":!0,"ui:placeholder":"https://example.com/logo.png",metadata:{category:"content"}})),hideBrand:t.Optional(s("Hide brand name",void 0,{metadata:{filter:(u,g)=>!!g.logo}})),shadow:t.Optional(e()),linksPosition:t.Union([t.Literal("left",{title:"Left"}),t.Literal("center",{title:"Center"}),t.Literal("right",{title:"Right"})],{title:"Links position",default:"right","ui:responsive":"desktop"}),linksTagsFilter:t.Optional(l({title:"Pages tags",description:"Filter pages links in the navbar by tags. Only pages with these tags will be shown.",default:["navbar"],metadata:{category:"content"}})),staticNavItems:t.Optional(t.Array(t.Object({urlOrPageId:r(),label:t.Optional(a("Label"))}),{title:"Static links",description:"Additional static navigation links to show in the navbar",default:[],metadata:{category:"content"}}))},{noAlignSelf:!0})}),S=[{description:"Corporate navbar with logo and right-aligned navigation",type:"navbar",props:{brand:"TechCorp Solutions",logo:{src:"https://via.placeholder.com/120x40.png?text=TechCorp",alt:"TechCorp Solutions logo"},linksPosition:"right",staticNavItems:[{urlOrPageId:"/services"},{urlOrPageId:"/about"},{urlOrPageId:"/portfolio"},{urlOrPageId:"/contact"}]}},{description:"Dark theme navbar with centered navigation",type:"navbar",props:{brand:"TechCorp Solutions",logo:{src:"https://via.placeholder.com/100x35.png?text=Studio",alt:"Creative Studio logo"},linksPosition:"center",staticNavItems:[{urlOrPageId:"/work"},{urlOrPageId:"/services"},{urlOrPageId:"/team"},{urlOrPageId:"/blog"}]}},{description:"SaaS platform navbar with fixed positioning",type:"navbar",props:{brand:"TechCorp Solutions",logo:{src:"https://via.placeholder.com/110x38.png?text=CloudFlow",alt:"CloudFlow platform logo"},linksPosition:"right",staticNavItems:[{urlOrPageId:"/features"},{urlOrPageId:"/pricing"},{urlOrPageId:"/docs"},{urlOrPageId:"/login"}]}},{description:"E-commerce navbar",type:"navbar",props:{brand:"TechCorp Solutions",logo:{src:"https://via.placeholder.com/130x45.png?text=ShopEasy",alt:"ShopEasy store logo"},linksPosition:"right",staticNavItems:[{urlOrPageId:"/products"},{urlOrPageId:"/categories"},{urlOrPageId:"/deals"},{urlOrPageId:"/account"},{urlOrPageId:"/cart"}]}},{description:"Agency navbar with logo-only brand",type:"navbar",props:{brand:"TechCorp Solutions",logo:{src:"https://via.placeholder.com/140x50.png?text=Agency+Logo",alt:"Digital agency logo"},hideBrand:!0,linksPosition:"right",staticNavItems:[{urlOrPageId:"/projects"},{urlOrPageId:"/capabilities"},{urlOrPageId:"/insights"},{urlOrPageId:"/contact"}]}},{description:"Restaurant navbar with warm styling",type:"navbar",props:{brand:"TechCorp Solutions",logo:{src:"https://via.placeholder.com/80x50.png?text=BV",alt:"Bella Vista restaurant logo"},linksPosition:"center",staticNavItems:[{urlOrPageId:"/menu"},{urlOrPageId:"/reservations"},{urlOrPageId:"/events"},{urlOrPageId:"/location"}]}},{description:"Portfolio navbar with left-aligned navigation",type:"navbar",props:{brand:"TechCorp Solutions",linksPosition:"left",staticNavItems:[{urlOrPageId:"/work"},{urlOrPageId:"/about"},{urlOrPageId:"/experience"},{urlOrPageId:"/contact"}]}}];export{w as a,S as b};
@@ -1,3 +0,0 @@
1
- /*! Upstart.gg - Copyright (C) 2024 Flippable - https://github.com/upstart-gg/upstart/blob/main/LICENSE */
2
-
3
- import{d as o}from"./chunk-6FITVVZX.js";import{a as t}from"./chunk-EJGNYD4V.js";import{a as r}from"./chunk-SFKZAUPW.js";import{Type as n}from"@sinclair/typebox";function s(e={}){return n.Object({width:r(["border-0","border","border-2","border-4","border-8"],{title:"Width",enumNames:["None","Small","Medium","Large","Extra large"],"ai:instructions":"Don't specify width if you want no border.","ui:field":"enum","ui:display":"select","ui:placeholder":"None",default:"border-0"}),color:o({title:"Color",description:"The color of the border.",default:"border-current"})},{title:"Border",$id:"styles:border","ui:styleId":"styles:border",description:"Set the border width and color.","ui:field":"border","ui:responsive":!0,...e})}function p(e={}){return t("styles:border",e)}function a(e={}){return n.Optional(r(["rounded-auto","rounded-none","rounded-sm","rounded-md","rounded-lg","rounded-xl","rounded-2xl","rounded-full"],{title:"Corner rounding",enumNames:["Auto","None","Small","Medium","Large","Extra large","2xl","Full"],$id:"styles:rounding","ui:styleId":"styles:rounding","ui:responsive":"desktop",...e}))}function f(e={}){return t("styles:rounding",e)}export{s as a,p as b,a as c,f as d};
@@ -1,3 +0,0 @@
1
- /*! Upstart.gg - Copyright (C) 2024 Flippable - https://github.com/upstart-gg/upstart/blob/main/LICENSE */
2
-
3
- import{b as l,c as w}from"./chunk-DQXDGV67.js";import{a as x,b as z}from"./chunk-7DMUDZ4H.js";import{a as c,b as A}from"./chunk-LSPN22SI.js";import{a as M,b as C}from"./chunk-ETYYRWLK.js";import{a as E,b as F}from"./chunk-4TH3C76A.js";import{a as d,b as G}from"./chunk-FKNNTHWX.js";import{a as g,b as H}from"./chunk-JS4K5JRM.js";import{a as b,b as I}from"./chunk-WU6Q4WYD.js";import{a as m,b as D}from"./chunk-QISTDGPP.js";import{a as i,b as R}from"./chunk-LFQZRGHS.js";import{a as o,b as L}from"./chunk-SLRU4CT6.js";import{a as r,b as W}from"./chunk-TTTXV7TJ.js";import{a as u,b as J}from"./chunk-UHF6IEKV.js";import{a as f,b as P}from"./chunk-LGP6GWIY.js";import{a as n,b as j}from"./chunk-X43MB5WD.js";import{a as y,b as q}from"./chunk-NNI225RG.js";import{a as t,b as k}from"./chunk-ZQGNYK5I.js";import{a,b as B}from"./chunk-KHFNN4P3.js";import{a as s,b as h}from"./chunk-BZGNY7LB.js";import{a as p,b as v}from"./chunk-IIFTGWFZ.js";import{b as e}from"./chunk-VGRYSAXA.js";var re={[g.type]:g,[r.type]:r,[n.type]:n,[b.type]:b,[p.type]:p,[l.type]:l,[o.type]:o,[c.type]:c,[y.type]:y,[m.type]:m,[x.type]:x,[i.type]:i,[s.type]:s,[f.type]:f,[M.type]:M,[a.type]:a,[E.type]:E,[d.type]:d,[t.type]:t,[u.type]:u},fe={[g.type]:e(g),[r.type]:e(r),[n.type]:e(n),[b.type]:e(b),[p.type]:e(p),[c.type]:e(c),[l.type]:e(l),[o.type]:e(o),[y.type]:e(y),[m.type]:e(m),[x.type]:e(x),[i.type]:e(i),[s.type]:e(s),[f.type]:e(f),[M.type]:e(M),[a.type]:e(a),[E.type]:e(E),[d.type]:e(d),[t.type]:e(t),[u.type]:e(u)},ne={[g.type]:H,[r.type]:W,[n.type]:j,[b.type]:I,[p.type]:v,[l.type]:w,[o.type]:L,[c.type]:A,[y.type]:q,[m.type]:D,[x.type]:z,[i.type]:R,[s.type]:h,[f.type]:P,[M.type]:C,[a.type]:B,[E.type]:F,[d.type]:G,[t.type]:k,[u.type]:J};export{re as a,fe as b,ne as c};
@@ -1,3 +0,0 @@
1
- /*! Upstart.gg - Copyright (C) 2024 Flippable - https://github.com/upstart-gg/upstart/blob/main/LICENSE */
2
-
3
- import{b as i}from"./chunk-C3VGP4CA.js";import{b as o,d as e}from"./chunk-ACVLF55Q.js";import{c as a}from"./chunk-UU2MSQXY.js";import{a as r,d as n}from"./chunk-T3LIA4YB.js";import{e as p}from"./chunk-VZPXXFVX.js";import{a as l}from"./chunk-VGRYSAXA.js";import{Type as t}from"@sinclair/typebox";import{RxButton as d}from"react-icons/rx";var h=l({type:"button",name:"Button",category:"basic",description:"A button with text and optional icon",resizable:"horizontal",icon:d,minWidth:{desktop:120,mobile:120},defaultWidth:{mobile:"100%"},props:a({colorPreset:t.Optional(p({default:{color:"primary-500"},title:"Color","ui:default-gradient-direction":"bg-gradient-to-b"})),label:r("Label",{default:"My button",metadata:{category:"content"}}),fontSize:t.Optional(i({title:"Font Size",description:"The font size of the button text.",default:"text-base","ui:responsive":"desktop","ui:no-extra-large-sizes":!0})),rounding:t.Optional(e({default:"rounded-md"})),border:t.Optional(o({default:{width:"border-0"},"ui:responsive":"desktop"})),linkToUrlOrPageId:t.Optional(n({title:"Link","ui:placeholder":"https://example.com",metadata:{category:"content"}}))})}),x=[{description:"Primary button, full width, linking to a URL",type:"button",props:{label:"Click me",linkToUrlOrPageId:"https://example.com"}},{description:"Secondary button, block width, linking to a page",type:"button",props:{label:"Go to page",linkToUrlOrPageId:"page-id-123"}}];export{h as a,x as b};
@@ -1,3 +0,0 @@
1
- /*! Upstart.gg - Copyright (C) 2024 Flippable - https://github.com/upstart-gg/upstart/blob/main/LICENSE */
2
-
3
- import{a as e}from"./chunk-EJGNYD4V.js";import{a as n}from"./chunk-SFKZAUPW.js";import{Type as r}from"@sinclair/typebox";function f(t={}){return n(["inherit","text-xs","text-sm","text-base","text-lg","text-xl"],{enumNames:["Same as parent","Extra small","Small","Medium","Large","Extra large"],default:"inherit",title:"Font size",$id:"styles:fontSize","ui:styleId":"styles:fontSize","ui:field":"enum","ui:display":"select",...t})}function g(t={}){return e("styles:fontSize",t)}function S(t={}){return n(["inherit","text-xs","text-sm","text-base","text-lg","text-xl","text-2xl","text-3xl","text-4xl","text-5xl","text-6xl","text-7xl"],{enumNames:["Same as parent","Extra small","Small","Medium","Large","Extra large","Extra large (2x)","Extra large (3x)","Extra large (4x)","Extra large (5x)","Extra large (6x)","Extra large (7x)"],default:"inherit",title:"Font size",$id:"styles:fontSize","ui:styleId":"styles:fontSize","ui:field":"enum","ui:display":"select",...t})}function d(t={}){return e("styles:fontSizeXL",t)}function m({title:t="Text",default:i,showInSettings:o,disableSizing:a=!1,disableAlignment:l=!1,...s}={}){return r.String({title:t,description:"Text content. Can contain basic HTML tags like `<strong>`, `<em>`, `<br>` and `<a>` as well as `<p>` and `<span>` and lists <ul> <ol> <li>.",$id:"content:text",default:i??"My text","ui:disable-sizing":a,"ui:disable-alignment":l,...s,"ui:field":o?"string":"hidden"})}function y(t={}){return e("content:text",t)}export{f as a,g as b,S as c,d,m as e,y as f};
@@ -1,3 +0,0 @@
1
- /*! Upstart.gg - Copyright (C) 2024 Flippable - https://github.com/upstart-gg/upstart/blob/main/LICENSE */
2
-
3
- import{a as i}from"./chunk-EJGNYD4V.js";import{a as e}from"./chunk-SFKZAUPW.js";function n(t={}){return e(["flex-row","flex-col"],{title:"Direction",enumNames:["Horizontal","Vertical"],$id:"styles:direction","ui:styleId":"styles:direction",...t})}function p(t={}){return i("styles:direction",t)}export{n as a,p as b};
@@ -1,3 +0,0 @@
1
- /*! Upstart.gg - Copyright (C) 2024 Flippable - https://github.com/upstart-gg/upstart/blob/main/LICENSE */
2
-
3
- import{a as o}from"./chunk-IFEIRRZ2.js";import{b as a}from"./chunk-T4LMBG2G.js";import{d as i}from"./chunk-ACVLF55Q.js";import{c as p}from"./chunk-UU2MSQXY.js";import{a as e}from"./chunk-T3LIA4YB.js";import{a as n}from"./chunk-VGRYSAXA.js";import{LiaMapMarkedAltSolid as r}from"react-icons/lia";import{Type as t}from"@sinclair/typebox";var s={lat:48.8566,lng:2.3522,zoom:15},w=n({type:"map",name:"Map",description:"A map element showing a location",aiInstructions:"This brick can be used to show a location on a map. Use the 'location' prop to set the coordinates and an optional tooltip.",minWidth:{desktop:280,mobile:280},minHeight:{desktop:200,mobile:120},defaultHeight:{desktop:"320px",mobile:"280px"},defaultWidth:{desktop:"380px",mobile:"100%"},icon:r,props:p({lat:o("Latitude",{"ui:field":"hidden"}),lng:o("Longitude",{"ui:field":"hidden"}),address:e("Address",{"ui:field":"geoaddress",metadata:{category:"content"}}),tooltip:t.Optional(e("Tooltip",{metadata:{category:"content"}})),zoom:t.Optional(o("Zoom",{description:"Zoom level for the map","ui:instructions":"The zoom level should be between 0 (world view) and 21 (street view).","ui:field":"slider",minimum:12,maximum:18,default:s.zoom,metadata:{category:"content"}})),rounding:t.Optional(i({default:"rounded-xl"})),shadow:t.Optional(a())})}),y=[{description:"Map showing a specific location",type:"map",props:{lat:37.7749,lng:-122.4194,address:"San Francisco, CA",tooltip:"San Francisco, CA",shadow:"shadow-md"}},{description:"Map with custom styles",type:"map",props:{lat:40.7128,lng:-74.006,address:"New York, NY",tooltip:"New York, NY",shadow:"shadow-lg"}}];export{s as a,w as b,y as c};
@@ -1,3 +0,0 @@
1
- /*! Upstart.gg - Copyright (C) 2024 Flippable - https://github.com/upstart-gg/upstart/blob/main/LICENSE */
2
-
3
- import{a as n}from"./chunk-EJGNYD4V.js";import{a as e}from"./chunk-SFKZAUPW.js";function r(t={}){return e(["justify-start","justify-center","justify-end","justify-between","justify-around","justify-evenly"],{enumNames:["Start","Center","End","Between","Around","Evenly"],$id:"styles:justifyContent",title:"Justify bricks","ui:field":"justify-content","ui:responsive":!0,"ui:styleId":"styles:justifyContent",...t})}function l(t={}){return n("styles:justifyContent",t)}function u(t={}){return e(["items-start","items-center","items-end","items-stretch"],{enumNames:["Start","Center","End","Stretch"],$id:"styles:alignItems",title:"Align bricks","ui:field":"align-items","ui:responsive":!0,"ui:styleId":"styles:alignItems",...t})}function f(t={}){return n("styles:alignItems",t)}function o(t={}){return e(["self-auto","self-start","self-center","self-end","self-stretch"],{enumNames:["Auto","Start","Center","End","Stretch"],default:"self-auto",$id:"styles:alignSelf",title:"Align self","ui:field":"align-self","ui:responsive":!0,"ui:styleId":"styles:alignSelf",...t})}function y(t={}){return n("styles:alignSelf",t)}export{r as a,l as b,u as c,f as d,o as e,y as f};
@@ -1,3 +0,0 @@
1
- /*! Upstart.gg - Copyright (C) 2024 Flippable - https://github.com/upstart-gg/upstart/blob/main/LICENSE */
2
-
3
- import{b as s}from"./chunk-CT3EI7YN.js";import{b as a}from"./chunk-6WCGUAQN.js";import{b as l}from"./chunk-C3VGP4CA.js";import{b as e,d as t}from"./chunk-ACVLF55Q.js";import{c as r}from"./chunk-UU2MSQXY.js";import{a as o,f as n}from"./chunk-T3LIA4YB.js";import{e as c}from"./chunk-VZPXXFVX.js";import{a as p}from"./chunk-VGRYSAXA.js";import{Type as i}from"@sinclair/typebox";import{TiSocialFlickr as m}from"react-icons/ti";var T=p({type:"social-links",name:"Social links",description:"A list of social media links",icon:m,defaultWidth:{mobile:"100%"},props:r({colorPreset:i.Optional(c({title:"Color"})),links:i.Array(i.Object({icon:i.Optional(n({"ui:default-icon-collection":"cib"})),label:i.Optional(o("Label")),href:o("Link")}),{title:"Social Links",description:"List of social media links",default:[{href:"https://facebook.com/company",label:"Facebook",icon:"mdi:facebook"},{href:"https://twitter.com/company",label:"Twitter",icon:"mdi:twitter"},{href:"https://instagram.com/company",label:"Instagram",icon:"mdi:instagram"}],"ui:widget":"array","ui:displayField":"label","ui:options":{orderable:!0,removable:!0,addable:!0},metadata:{category:"content"}}),direction:i.Optional(s({default:"flex-row"})),fontSize:i.Optional(l()),padding:i.Optional(a({default:"p-2"})),rounding:i.Optional(t({default:"rounded-md"})),border:i.Optional(e()),icononly:i.Optional(i.Boolean({title:"Only icons",description:"If set, the brick will only display the icons without labels."}))})}),S=[{description:"Social icons displayed horizontally, without labels",type:"social-links",props:{icononly:!0,links:[{href:"https://facebook.com/company",label:"Facebook",icon:"mdi:facebook"},{href:"https://twitter.com/company",label:"Twitter",icon:"mdi:twitter"},{href:"https://instagram.com/company",label:"Instagram",icon:"mdi:instagram"}]}},{description:"Social icons displayed vertically, without labels",type:"social-links",props:{icononly:!0,direction:"flex-col",links:[{href:"https://facebook.com/company",label:"Facebook",icon:"mdi:facebook"},{href:"https://twitter.com/company",label:"Twitter",icon:"mdi:twitter"},{href:"https://instagram.com/company",label:"Instagram",icon:"mdi:instagram"}]}},{description:"Social icons displayed horizontally, with labels",type:"social-links",props:{icononly:!1,links:[{href:"https://facebook.com/company",label:"Facebook",icon:"mdi:facebook"},{href:"https://twitter.com/company",label:"Twitter",icon:"mdi:twitter"},{href:"https://instagram.com/company",label:"Instagram",icon:"mdi:instagram"},{href:"https://linkedin.com/company/company",label:"LinkedIn",icon:"mdi:linkedin"}]}},{description:"Social icons displayed vertically, with labels",type:"social-links",props:{icononly:!1,direction:"flex-col",links:[{href:"https://facebook.com/company",label:"Facebook",icon:"mdi:facebook"},{href:"https://twitter.com/company",label:"Twitter",icon:"mdi:twitter"},{href:"https://instagram.com/company",label:"Instagram",icon:"mdi:instagram"},{href:"https://linkedin.com/company/company",label:"LinkedIn",icon:"mdi:linkedin"}]}},{description:"Professional social links with labels",type:"social-links",props:{icononly:!1,links:[{href:"https://linkedin.com/in/johndoe",label:"Connect on LinkedIn",icon:"mdi:linkedin"},{href:"https://github.com/johndoe",label:"View GitHub Profile",icon:"mdi:github"},{href:"https://twitter.com/johndoe",label:"Follow on Twitter",icon:"mdi:twitter"},{href:"mailto:john@example.com",label:"Send Email",icon:"mdi:email"}]}},{description:"Creative portfolio social links (icon-only inline)",type:"social-links",props:{icononly:!0,links:[{href:"https://dribbble.com/designer",label:"Dribbble",icon:"mdi:dribbble"},{href:"https://behance.net/designer",label:"Behance",icon:"mdi:behance"},{href:"https://instagram.com/designer",label:"Instagram",icon:"mdi:instagram"},{href:"https://pinterest.com/designer",label:"Pinterest",icon:"mdi:pinterest"},{href:"https://youtube.com/designer",label:"YouTube",icon:"mdi:youtube"}]}},{description:"Developer/tech social links with labels",type:"social-links",props:{icononly:!1,direction:"flex-col",links:[{href:"https://github.com/developer",label:"GitHub",icon:"mdi:github"},{href:"https://stackoverflow.com/users/developer",label:"Stack Overflow",icon:"mdi:stack-overflow"},{href:"https://dev.to/developer",label:"Dev.to",icon:"mdi:dev-to"},{href:"https://codepen.io/developer",label:"CodePen",icon:"mdi:codepen"}]}},{description:"Music artist social platforms (block layout)",type:"social-links",props:{icononly:!0,direction:"flex-col",links:[{href:"https://spotify.com/artist/musician",label:"Listen on Spotify",icon:"mdi:spotify"},{href:"https://music.apple.com/artist/musician",label:"Apple Music",icon:"mdi:apple"},{href:"https://soundcloud.com/musician",label:"SoundCloud",icon:"mdi:soundcloud"},{href:"https://youtube.com/musician",label:"YouTube Channel",icon:"mdi:youtube"},{href:"https://bandcamp.com/musician",label:"Bandcamp",icon:"mdi:bandcamp"}]}},{description:"Business contact icons only",type:"social-links",props:{icononly:!0,links:[{href:"tel:+1234567890",label:"Phone",icon:"mdi:phone"},{href:"mailto:contact@business.com",label:"Email",icon:"mdi:email"},{href:"https://maps.google.com/business",label:"Location",icon:"mdi:map-marker"},{href:"https://business.com",label:"Website",icon:"mdi:web"}]}},{description:"Gaming content creator links (inline with labels)",type:"social-links",props:{icononly:!1,links:[{href:"https://twitch.tv/gamer",label:"Twitch",icon:"mdi:twitch"},{href:"https://youtube.com/gamer",label:"YouTube",icon:"mdi:youtube"},{href:"https://discord.gg/gamer",label:"Discord",icon:"mdi:discord"},{href:"https://tiktok.com/@gamer",label:"TikTok",icon:"mdi:tiktok"}]}},{description:"Restaurant social presence (block layout)",type:"social-links",props:{icononly:!1,direction:"flex-col",links:[{href:"https://facebook.com/restaurant",label:"Follow us on Facebook",icon:"mdi:facebook"},{href:"https://instagram.com/restaurant",label:"See photos on Instagram",icon:"mdi:instagram"},{href:"https://yelp.com/restaurant",label:"Review us on Yelp",icon:"mdi:yelp"},{href:"https://tripadvisor.com/restaurant",label:"TripAdvisor Reviews",icon:"mdi:tripadvisor"},{href:"tel:+1234567890",label:"Call for Reservations",icon:"mdi:phone"}]}},{description:"Minimal footer social icons",type:"social-links",props:{icononly:!0,direction:"flex-row",links:[{href:"https://twitter.com/company",label:"Twitter",icon:"mdi:twitter"},{href:"https://linkedin.com/company/company",label:"LinkedIn",icon:"mdi:linkedin"},{href:"mailto:hello@company.com",label:"Email",icon:"mdi:email"}]}},{description:"E-commerce store social channels (inline with labels)",type:"social-links",props:{icononly:!1,direction:"flex-row",links:[{href:"https://facebook.com/store",label:"Facebook",icon:"mdi:facebook"},{href:"https://instagram.com/store",label:"Instagram",icon:"mdi:instagram"},{href:"https://pinterest.com/store",label:"Pinterest",icon:"mdi:pinterest"},{href:"https://youtube.com/store",label:"YouTube",icon:"mdi:youtube"},{href:"https://tiktok.com/@store",label:"TikTok",icon:"mdi:tiktok"}]}}];export{T as a,S as b};
@@ -1,3 +0,0 @@
1
- /*! Upstart.gg - Copyright (C) 2024 Flippable - https://github.com/upstart-gg/upstart/blob/main/LICENSE */
2
-
3
- import{b as p}from"./chunk-TATG6SFZ.js";import{a as o}from"./chunk-YIFNKP4J.js";import{a as c}from"./chunk-UU2MSQXY.js";import{a as t}from"./chunk-T3LIA4YB.js";import{b as s}from"./chunk-RGLVKILY.js";import{c as l}from"./chunk-YBGPPF7T.js";import{e as n}from"./chunk-VZPXXFVX.js";import{e as u}from"./chunk-5N6MBJJ4.js";import{a}from"./chunk-SFKZAUPW.js";import{b as r}from"./chunk-I46VBMLF.js";import{Type as e}from"@sinclair/typebox";var h=e.Object({colorPreset:n({title:"Color",default:{color:"bg-base-100"}}),tags:e.Optional(e.Array(t("Tag"),{title:"Tags",description:"Tags for this page. Used for organization and filtering in navigation elements and in the dashboard.","ui:field":"tags"})),path:t("URL path",{default:"/",description:"The URL path of the page. Use placeholders like :id or :slug for dynamic paths.","ui:group":"location","ui:group:title":"Location","ui:field":"path"}),queries:e.Optional(e.Array(l(),{title:"Page Queries",description:"List of queries to use in this page. All listed queries will be executed when the page loads.","ai:instructions":"Reference Query IDs to use at the page level.","ui:field":"page-queries",maxItems:5})),title:t("Title",{default:"Untitled","ui:group":"meta","ui:group:title":"Meta tags",description:"The title of the page. Appears in the browser tab and search results","ui:placeholder":"Page title"}),description:t("Description",{"ui:widget":"textarea","ui:group":"meta","ui:group:title":"Meta tags",description:"A short description of the page. Used by search engines","ui:multiline":!0,"ui:textarea-class":"h-24",default:"","ui:placeholder":"A brief description of the page"}),keywords:t("Keywords",{"ui:group":"meta","ui:group:title":"Meta tags",description:"Keywords related to the page. Used by search engines","ui:multiline":!0,default:"","ui:placeholder":"keyword1, keyword2, keyword3"}),ogImage:e.Optional(s({title:"Social share image",description:"Image shown when this page is shared on social media","ai:hidden":!0,"ui:no-object-options":!0,"ui:no-alt-text":!0,"ui:show-img-search":!1,"ui:no-dynamic":!0,"ui:placeholder":"https://example.com/image.jpg"})),robotsIndexing:e.Optional(o("Allow search engines to index this page",!0,{description:"Disabling this will prevent search engines from indexing this page","ai:hidden":!0})),language:e.Optional(a(["ar","zh","cs","nl","en","fr","de","he","hi","it","ja","ko","fa","pl","pt","ru","es","tr","vi"],{"ai:hidden":!0,title:"Language",description:"Overrides the site language for this page. Leave blank to use the site default language.",enumNames:["Arabic","Chinese","Czech","Dutch","English","French","German","Hebrew","Hindi","Italian","Japanese","Korean","Persian","Polish","Portuguese","Russian","Spanish","Turkish","Vietnamese"]})),additionalTags:e.Optional(c({title:"Additional script tags",children:{headTags:e.Optional(e.String({title:"Head script tags",description:"Add custom tags to the <head> of your site. Useful for analytics tags, custom scripts, etc.","ai:instructions":"Don't include meta tags here, they are automatically generated.","ui:multiline":!0,"ui:textarea-class":"h-40 !font-mono","ui:placeholder":"<script src='https://example.com/script.js'></script>","ui:premium":!0,"ui:textarea-font-size":"1","ui:group":"external-scripts","ui:group:title":"External scripts","ui:no-dynamic":!0})),bodyTags:e.Optional(e.String({title:"Body script tags",description:"Add custom tags to the <body> of your site. Useful for analytics tags, custom scripts, etc.","ui:multiline":!0,"ui:premium":!0,"ui:textarea-class":"h-40 !font-mono","ui:textarea-font-size":"1","ui:placeholder":"<script src='https://example.com/script.js'></script>","ui:group":"external-scripts","ui:group:title":"External scripts","ui:no-dynamic":!0}))}})),lastUpdated:e.Optional(p("Last updated",{"ui:hidden":!0}))}),g=e.Object({queries:e.Optional(e.Array(u,{title:"Site Queries","ui:field":"site-queries",description:"List of all queries available in this site. These can be used in any page.","ai:instructions":"This is where queries are first defined. They are then referenced in pages attributes to use them."})),language:a(["ar","zh","cs","nl","en","fr","de","he","hi","it","ja","ko","fa","pl","pt","ru","es","tr","vi"],{title:"Language",default:"en",enumNames:["Arabic","Chinese","Czech","Dutch","English","French","German","Hebrew","Hindi","Italian","Japanese","Korean","Persian","Polish","Portuguese","Russian","Spanish","Turkish","Vietnamese"],"ai:instructions":"Choose a value based on the site description. If the site is in multiple languages, use 'en'."}),ogImage:e.Optional(s({title:"Social share image",description:"Image shown when this site is shared on social media","ai:hidden":!0,"ui:no-object-options":!0,"ui:no-alt-text":!0,"ui:show-img-search":!1,"ui:no-dynamic":!0})),robotsIndexing:e.Optional(o("Allow search engines to index this site",!0,{description:"Disabling this will prevent search engines from indexing this site entirely","ai:hidden":!0})),headTags:e.Optional(e.String({title:"Head script tags",description:"Add custom tags to the <head> of your site. Useful for analytics tags, custom scripts, etc.","ai:hidden":!0,"ui:multiline":!0,"ui:textarea-class":"h-40 !font-mono","ui:placeholder":"<script src='https://example.com/script.js'></script>","ui:premium":!0,"ui:textarea-font-size":"1","ui:group":"external-scripts","ui:group:title":"External scripts","ui:no-dynamic":!0})),bodyTags:e.Optional(e.String({title:"Body script tags",description:"Add custom tags to the <body> of your site. Useful for analytics tags, custom scripts, etc.","ai:hidden":!0,"ui:multiline":!0,"ui:premium":!0,"ui:textarea-class":"h-40 !font-mono","ui:textarea-font-size":"1","ui:placeholder":"<script src='https://example.com/script.js'></script>","ui:group":"external-scripts","ui:group:title":"External scripts","ui:no-dynamic":!0}))});function v(i={}){return{...r(h),...i}}function U(i={}){return{...r(g),...i}}export{h as a,g as b,v as c,U as d};
@@ -1,5 +0,0 @@
1
- /*! Upstart.gg - Copyright (C) 2024 Flippable - https://github.com/upstart-gg/upstart/blob/main/LICENSE */
2
-
3
- import{b as n}from"./chunk-6WCGUAQN.js";import{b as i}from"./chunk-T4LMBG2G.js";import{b as r}from"./chunk-C3VGP4CA.js";import{b as a}from"./chunk-ACVLF55Q.js";import{c as d}from"./chunk-UU2MSQXY.js";import{a as t,f as s}from"./chunk-T3LIA4YB.js";import{b as c}from"./chunk-RGLVKILY.js";import{e as p}from"./chunk-YBGPPF7T.js";import{e as l}from"./chunk-VZPXXFVX.js";import{c as o}from"./chunk-2IYSJYNE.js";import{a as m}from"./chunk-VGRYSAXA.js";import{Type as e}from"@sinclair/typebox";import{HiOutlineChatBubbleBottomCenter as h}from"react-icons/hi2";var A=m({type:"testimonials",name:"Testimonials",description:"Display testimonials from users",defaultWidth:{desktop:"100%"},icon:h,consumesMultipleQueryRows:!0,aiInstructions:`This brick displays user testimonials with optional avatars and social icons.
4
- It is typically used to showcase customer feedback or endorsements.
5
- Optionally either use an avatar or a social icon but not both at the same time.`,props:d({colorPreset:e.Optional(l({title:"Color",default:"bg-base-100 text-base-100-content"})),border:e.Optional(a({title:"Border",description:"Customize the border of the testimonial cards.",default:{width:"border",color:"border-accent-500"}})),fontSize:e.Optional(r({"ui:no-extra-large-sizes":!0})),padding:e.Optional(n()),gap:e.Optional(o({title:"Gap",default:"26px",description:"Space between bricks.","ai:instructions":"Can be a tailwind gap class like 'gap-1' or 'gap-2', or a custom value like '10px'","ui:placeholder":"Not specified","ui:styleId":"styles:gap"})),shadow:e.Optional(i()),loop:e.Optional(p({description:"If enabled, each row from the query result will be used to create a testimonial. Otherwise, the testimonials will be static.","ui:placeholder":"Not specified (static)"})),testimonials:e.Optional(e.Array(e.Object({text:t("Text",{default:"Amazing product!","ui:multiline":!0,"ui:textarea-class":"h-20"}),author:t("Author",{default:"John Doe"}),company:e.Optional(t("Company")),avatar:e.Optional(c({title:"Avatar","ui:placeholder":"https://via.placeholder.com/80x80.png?text=JD",noObjectOptions:!0})),socialIcon:e.Optional(s())}),{title:"Testimonials",default:[],"ui:displayField":"author","ui:options":{orderable:!0,removable:!0,addable:!0},metadata:{category:"content",consumeQuery:!0},examples:[{text:"This is a great product! It has changed my life.",author:"John Doe",company:"Acme Inc.",avatar:{src:"https://via.placeholder.com/80x80.png?text=JD",alt:"John Doe profile photo"},socialIcon:"mdi:linkedin"}]}))},{default:{orientation:"horizontal"}})}),S=[{description:"SaaS platform testimonials with avatars",type:"testimonials",props:{testimonials:[{author:"Sarah Johnson",company:"TechCorp Solutions",text:"This platform has completely transformed how we manage our projects. The intuitive interface and powerful automation features have saved us countless hours.",avatar:{src:"https://via.placeholder.com/80x80.png?text=SJ",alt:"Sarah Johnson profile photo"},socialIcon:"mdi:linkedin"},{author:"Mike Chen",company:"StartupFlow",text:"Outstanding customer support and regular feature updates. We've been using this for over a year and it keeps getting better. Highly recommend!",avatar:{src:"https://via.placeholder.com/80x80.png?text=MC",alt:"Mike Chen profile photo"},socialIcon:"mdi:twitter"},{author:"Emily Rodriguez",company:"Digital Agency Pro",text:"The automation capabilities are game-changing. What used to take us days now happens automatically. It's like having an extra team member.",avatar:{src:"https://via.placeholder.com/80x80.png?text=ER",alt:"Emily Rodriguez profile photo"},socialIcon:"mdi:linkedin"}]}},{description:"E-commerce customer reviews",type:"testimonials",props:{testimonials:[{author:"Jessica Williams",company:"Happy Customer",text:"Amazing product quality and fast shipping! The item exceeded my expectations and the customer service was excellent when I had questions.",avatar:{src:"https://via.placeholder.com/60x60.png?text=JW",alt:"Jessica Williams customer photo"},socialIcon:"mdi:star"},{author:"David Park",text:"Five stars! Been using this product for 6 months and it's still going strong. Definitely worth the investment and I've already recommended it to friends.",avatar:{src:"https://via.placeholder.com/60x60.png?text=DP",alt:"David Park customer photo"},socialIcon:"mdi:thumbs-up"}]}},{description:"Agency client testimonials with company info",type:"testimonials",props:{testimonials:[{author:"Rachel Thompson",company:"Global Enterprises",text:"The team delivered exceptional results on time and within budget. Their creative approach and attention to detail made all the difference for our brand.",avatar:{src:"https://via.placeholder.com/70x70.png?text=RT",alt:"Rachel Thompson headshot"},socialIcon:"mdi:briefcase"},{author:"Alex Kumar",company:"Innovation Labs",text:"Working with this agency was a game-changer for our digital presence. They understood our vision and brought it to life beautifully.",avatar:{src:"https://via.placeholder.com/70x70.png?text=AK",alt:"Alex Kumar profile"},socialIcon:"mdi:lightbulb"},{author:"Maria Santos",company:"Retail Plus",text:"Professional, creative, and results-driven. Our website traffic increased by 200% after their redesign. Couldn't be happier!",avatar:{src:"https://via.placeholder.com/70x70.png?text=MS",alt:"Maria Santos photo"},socialIcon:"mdi:chart-line"}]}},{description:"App user feedback",type:"testimonials",props:{testimonials:[{author:"Tom Wilson",text:"This app has made my daily routine so much easier. Love the clean interface and how everything just works seamlessly across all my devices.",avatar:{src:"https://via.placeholder.com/65x65.png?text=TW",alt:"Tom Wilson user photo"},socialIcon:"mdi:cellphone"},{author:"Lisa Chang",text:"Been using this app for months and it's become essential to my workflow. The latest update with AI features is incredibly impressive.",avatar:{src:"https://via.placeholder.com/65x65.png?text=LC",alt:"Lisa Chang profile picture"},socialIcon:"mdi:robot"},{author:"James Miller",text:"Simple, powerful, and reliable. Exactly what I was looking for. The customer support team is also very responsive and helpful.",avatar:{src:"https://via.placeholder.com/65x65.png?text=JM",alt:"James Miller avatar"},socialIcon:"mdi:heart"}]}},{description:"Course/education testimonials with social icons",type:"testimonials",props:{testimonials:[{author:"Amanda Foster",company:"UX Designer",text:"This course completely changed my career trajectory. The practical projects and expert feedback helped me land my dream job in just 3 months.",avatar:{src:"https://via.placeholder.com/75x75.png?text=AF",alt:"Amanda Foster student photo"},socialIcon:"mdi:school"},{author:"Carlos Rodriguez",company:"Software Engineer",text:"The instructors are industry experts and the content is always up-to-date. I've taken three courses here and each one exceeded my expectations.",avatar:{src:"https://via.placeholder.com/75x75.png?text=CR",alt:"Carlos Rodriguez profile"},socialIcon:"mdi:code-tags"}]}},{description:"Simple testimonials without avatars",type:"testimonials",props:{testimonials:[{author:"Anonymous User",text:"Great service and excellent value for money. Would definitely recommend to others looking for a reliable solution.",socialIcon:"mdi:account-circle"},{author:"Verified Customer",text:"Quick delivery and exactly as described. Very satisfied with my purchase and the overall experience.",socialIcon:"mdi:check-circle"},{author:"Beta Tester",text:"Been using the beta version and it's already impressive. Looking forward to the full release with even more features.",socialIcon:"mdi:beta"}]}},{description:"Consultant testimonials with professional focus",type:"testimonials",props:{testimonials:[{author:"Dr. Patricia Lee",company:"Medical Practice Solutions",text:"The consulting services provided were invaluable to our practice. Revenue increased by 40% and patient satisfaction scores improved significantly.",avatar:{src:"https://via.placeholder.com/80x80.png?text=PL",alt:"Dr. Patricia Lee headshot"},socialIcon:"mdi:medical-bag"},{author:"Robert Kim",company:"Manufacturing Inc.",text:"Their strategic insights helped us streamline operations and reduce costs by 25%. The ROI was evident within the first quarter.",avatar:{src:"https://via.placeholder.com/80x80.png?text=RK",alt:"Robert Kim executive photo"},socialIcon:"mdi:factory"}]}},{description:"Event testimonials with social media icons",type:"testimonials",props:{testimonials:[{author:"Jennifer Adams",company:"Marketing Director",text:"Best conference I've attended in years! The networking opportunities were incredible and the speakers were top-notch industry leaders.",avatar:{src:"https://via.placeholder.com/70x70.png?text=JA",alt:"Jennifer Adams conference attendee"},socialIcon:"mdi:twitter"},{author:"Michael Brown",company:"Tech Startup Founder",text:"The workshops were incredibly practical and I left with actionable strategies I could implement immediately. Already planning to attend next year!",avatar:{src:"https://via.placeholder.com/70x70.png?text=MB",alt:"Michael Brown participant photo"},socialIcon:"mdi:linkedin"},{author:"Sophie Chen",company:"Product Manager",text:"Amazing organization and valuable content. Met so many like-minded professionals and learned cutting-edge techniques I'm excited to try.",avatar:{src:"https://via.placeholder.com/70x70.png?text=SC",alt:"Sophie Chen attendee photo"},socialIcon:"mdi:instagram"}]}}];export{A as a,S as b};
@@ -1,3 +0,0 @@
1
- /*! Upstart.gg - Copyright (C) 2024 Flippable - https://github.com/upstart-gg/upstart/blob/main/LICENSE */
2
-
3
- import{a as i}from"./chunk-SFKZAUPW.js";import{Type as e}from"@sinclair/typebox";import n from"chroma-js";import{colorPalette as h}from"@upstart.gg/style-system/colors";var k=[{value:"system-ui",label:"System UI"},{value:"transitional",label:"Transitional"},{value:"old-style",label:"Old style"},{value:"humanist",label:"Humanist"},{value:"geometric-humanist",label:"Geometric humanist"},{value:"classical-humanist",label:"Classical humanist"},{value:"neo-grotesque",label:"Neo-grotesque"},{value:"monospace-slab-serif",label:"Monospace slab serif"},{value:"monospace-code",label:"Monospace code"},{value:"industrial",label:"Industrial"},{value:"rounded-sans",label:"Rounded sans"},{value:"slab-serif",label:"Slab serif"},{value:"antique",label:"Antique"},{value:"didone",label:"Didone"},{value:"handwritten",label:"Handwritten"}],c=e.Object({type:i(["stack","theme","google"],{title:"Type of font",description:"The type of font. Can be a font stack, a theme font or a Google font"}),family:e.String({title:"Family",description:"The font family (eg. the name of the font)"})},{title:"Headings font",description:"Used for titles and headings",additionalProperties:!1}),d=e.Object({type:i(["stack","theme","google"],{title:"Type of font",description:"The type of font. Can be a font stack, a theme font or a Google font"}),family:e.String({title:"Family",description:"The font family (eg. the name of the font)"})},{title:"Body font",description:"Used for paragraphs and body text",additionalProperties:!1}),m=e.Object({id:e.String({title:"ID",description:"The unique identifier of the theme"}),name:e.String({title:"Name",description:"The name of the theme"}),description:e.String({title:"Description",description:"The description of the theme"}),tags:e.Array(e.String({title:"Tag"}),{title:"Tags",description:"The tags of the theme"}),browserColorScheme:e.String({title:"Browser scheme",description:"Color of browser-provided UI. Either 'light' or 'dark'"}),colors:e.Object({primary:e.String({title:"Primary",description:"The brand's primary color."}),secondary:e.String({title:"Secondary",description:"The brand's second most used color"}),accent:e.String({title:"Accent",description:"The brand's least used color"}),neutral:e.String({title:"Neutral",description:"The base neutral color"}),base100:e.String({title:"Base",description:"Base surface color of page, used for blank backgrounds. Should be white or near-white for light color-schemes, and black or near-black for dark color-schemes."}),base200:e.String({title:"Base 2",description:"Should be darker than base 1 but still light for light color-schemes, and lighter but still dark for dark color-schemes."}),base300:e.String({title:"Base 3",description:"3rd base color, should be darker than base 2 for light color-schemes, and lighter than base 2 for dark color-schemes."})},{title:"Theme base colors",description:"The base colors of the theme. Each theme must declare all these colors","ai:instructions":"You can use CSS notations like rgb #hex, hsl() oklab() or any tailwind color like slate-500 or red-200",additionalProperties:!1}),typography:e.Object({base:e.Number({title:"Base font size",description:"The base font size in pixels. It is safe to keep it as is"}),heading:c,body:d,alternatives:e.Array(e.Object({body:d,heading:c},{additionalProperties:!1}),{title:"Alternative fonts",description:"Alternative fonts that can be suggested to the user. Takes the same shape"})},{additionalProperties:!1})},{additionalProperties:!1}),T=e.Array(m),f={id:"_default_",name:"default",description:"Default Upstart theme",tags:["gradient","vibrant","modern","creative","dynamic","artistic","bold"],browserColorScheme:"light",colors:{base100:"#FFF",base200:"oklch(0.99 0.008 92)",base300:"oklch(0.97 0.01 85)",primary:"oklch(65.6% 0.241 354.308)",secondary:"oklch(0.65 0.22 185)",accent:"oklch(0.82 0.18 85)",neutral:"oklch(0.38 0.08 280)"},typography:{base:16,heading:{type:"stack",family:"system-ui"},body:{type:"stack",family:"system-ui"},alternatives:[]}};function S(t){return t.id===f.id}function v(t){return{...t,colors:Object.entries(t.colors).reduce((r,[s,o])=>{let a=p(o);return{...r,[s]:a}},{})}}function p(t){if(n.valid(t))return t;if(/ok(lch|lab)\(([^)]+)\)/.test(t)){let o=t.replace(/,/g," ");if(n.valid(o))return o}if(/^([a-z]+)-([0-9]+)$/.test(t)){let[o,a]=t.split("-"),l=h[o]?.[a];if(l)return l}return t}export{k as a,m as b,T as c,f as d,S as e,v as f};
@@ -1,3 +0,0 @@
1
- /*! Upstart.gg - Copyright (C) 2024 Flippable - https://github.com/upstart-gg/upstart/blob/main/LICENSE */
2
-
3
- function f(e){if(!("enum"in e))return e.anyOf??e.oneOf;let{enum:n,enumNames:t,"ui:icons":r}=e;return n.map((i,s)=>({const:i,title:t?t[s]:i,"ui:icon":r?r[s]:void 0}))}function c(e,n){if(e.type==="object"&&"properties"in e){let t=e,r={};for(let[i,s]of Object.entries(t.properties)){let o=a(s,n);o!==void 0&&(r[i]=o)}return r}if(e.type==="array"&&"items"in e){let t=e;return n&&typeof t[`default:${n}`]<"u"?t[`default:${n}`]:t.default?t.default:[]}throw new Error("Schema must be either TObject or TArray")}function a(e,n){if(n&&typeof e[`default:${n}`]<"u")return e[`default:${n}`];if("default"in e&&e.default!==void 0)return e.default;if(e.type==="object"&&"properties"in e){let t=e,r={};for(let[i,s]of Object.entries(t.properties)){let o=a(s,n);o!==void 0&&(r[i]=o)}return Object.keys(r).length>0?r:void 0}e.type==="array"&&"items"in e}function p(e,n){function t(r){let i={};for(let[s,o]of Object.entries(r.properties))if(n(o))i[s]=o;else if(o.type==="object"&&o.properties){let u=t(o);Object.keys(u).length>0&&Object.assign(i,u)}return i}return t(e)}export{f as a,c as b,p as c};
@@ -1,3 +0,0 @@
1
- /*! Upstart.gg - Copyright (C) 2024 Flippable - https://github.com/upstart-gg/upstart/blob/main/LICENSE */
2
-
3
- import{b as r}from"./chunk-T4LMBG2G.js";import{f as e}from"./chunk-C3VGP4CA.js";import{b as i,d as o}from"./chunk-ACVLF55Q.js";import{c as s}from"./chunk-UU2MSQXY.js";import{b as p}from"./chunk-RGLVKILY.js";import{e as n}from"./chunk-YBGPPF7T.js";import{e as a}from"./chunk-VZPXXFVX.js";import{a as d}from"./chunk-VGRYSAXA.js";import{BsCardText as c}from"react-icons/bs";import{Type as t}from"@sinclair/typebox";var b=d({type:"card",name:"Card",description:"A card that can have a title, image, and content",icon:c,defaultWidth:{desktop:"400px",mobile:"100%"},minWidth:{desktop:300},minHeight:{mobile:200,desktop:200},maxWidth:{desktop:650},props:s({colorPreset:t.Optional(a({title:"Color preset",default:{color:"base-100"}})),cardImage:t.Optional(p({"ui:responsive":"desktop",metadata:{category:"content"}})),imagePosition:t.Optional(t.Union([t.Literal("top",{title:"Top"}),t.Literal("middle",{title:"Middle"}),t.Literal("bottom",{title:"Bottom"}),t.Literal("left",{title:"Left"}),t.Literal("right",{title:"Right"})],{title:"Image Position",description:"Where the image should be placed in the card",default:"top","ui:responsive":"desktop",metadata:{category:"content",filter:(m,l)=>!!l.cardImage?.src}})),noTitle:t.Optional(t.Boolean({title:"No Title",description:"Whether to hide the card title",default:!1,"ui:responsive":"desktop"})),title:t.Optional(e({title:"Title"})),text:t.Optional(e({title:"Text"})),rounding:t.Optional(o({default:"rounded-md"})),border:t.Optional(i({})),shadow:t.Optional(r({default:"shadow-sm"})),loop:t.Optional(n())})}),P=[{description:"A simple card with a title and content",type:"card",props:{title:"Card Title",text:"This is the body of the card."}},{description:"Card with image and overlay text",type:"card",props:{cardImage:{src:"https://via.placeholder.com/400x300",alt:"Placeholder image"},title:"Overlay Title",text:"Beautiful overlay content with semi-transparent background."}},{description:"Product card with image on the left",type:"card",props:{cardImage:{src:"https://via.placeholder.com/200x200",alt:"Product image"},title:"Premium Headphones",text:"High-quality wireless headphones with noise cancellation and 30-hour battery life."}},{description:"Feature card with large padding and background",type:"card",props:{title:"Key Feature",text:"This feature provides exceptional value and enhances user experience significantly."}},{description:"Blog post card with image at the bottom",type:"card",props:{title:"The Future of Technology",text:"Exploring emerging trends and innovations that will shape our digital landscape in the coming decade.",cardImage:{src:"https://via.placeholder.com/400x200",alt:"Technology concept"}}},{description:"Testimonial card with right-side image",type:"card",props:{title:"Customer Review",text:'"This product exceeded my expectations. The quality is outstanding and the customer service is top-notch!"',cardImage:{src:"https://via.placeholder.com/150x150",alt:"Customer photo"}}},{description:"Minimal centered card without image",type:"card",props:{title:"Simple Announcement",text:"Important updates will be posted here regularly."}},{description:"Event card with multiple variants",type:"card",props:{cardImage:{src:"https://via.placeholder.com/400x250",alt:"Event venue"},title:"Annual Conference 2025",text:"Join us for three days of inspiring talks, networking opportunities, and hands-on workshops."}},{description:"News article card with compact layout",type:"card",props:{cardImage:{src:"https://via.placeholder.com/120x120",alt:"News thumbnail"},title:"Breaking News Update",text:"Latest developments in the ongoing story with expert analysis and community reactions."}},{description:"Call-to-action card with prominent styling",type:"card",props:{title:"Get Started Today",text:"Transform your workflow with our powerful tools. Sign up now and get 30 days free!"}}];export{b as a,P as b};
@@ -1,5 +0,0 @@
1
- /*! Upstart.gg - Copyright (C) 2024 Flippable - https://github.com/upstart-gg/upstart/blob/main/LICENSE */
2
-
3
- import{b as s}from"./chunk-6WCGUAQN.js";import{b as r}from"./chunk-T4LMBG2G.js";import{f as i}from"./chunk-C3VGP4CA.js";import{b as o,d as n}from"./chunk-ACVLF55Q.js";import{c as l}from"./chunk-UU2MSQXY.js";import{e as p}from"./chunk-YBGPPF7T.js";import{e as a}from"./chunk-VZPXXFVX.js";import{d as t}from"./chunk-E22E4XWE.js";import{a as d}from"./chunk-VGRYSAXA.js";import{RxTextAlignLeft as c}from"react-icons/rx";import{Type as e}from"@sinclair/typebox";var A=d({type:"text",category:"basic",name:"Text",description:"Text with formatting options",aiInstructions:`Text "content" can contain minimal HTML tags like <strong>, <em>, <br> and <a> as well as <p> and <span> and lists.
4
- Only 'align' is supported as an inline style, so don't use other inline styles like 'font-size' or 'color' in the content prop.
5
- `,defaultWidth:{mobile:"100%"},defaultHeight:{desktop:"auto",mobile:"auto"},icon:c,props:l({colorPreset:e.Optional(a({title:"Color",default:{color:"base-100"}})),content:i({}),verticalAlign:e.Optional(t({default:"items-center",title:"Align"})),padding:e.Optional(s({default:"p-4"})),rounding:e.Optional(n({default:"rounded-md"})),border:e.Optional(o()),shadow:e.Optional(r()),loop:e.Optional(p())})}),O=[{description:"Welcome paragraph with emphasis, using a preset",type:"text",props:{content:"Welcome to our platform! We're <strong>excited</strong> to have you here. Our mission is to <em>transform</em> the way you work with cutting-edge technology and <a href='/features'>innovative features</a>.",padding:"p-16"}},{description:"Feature list with HTML formatting",type:"text",props:{content:"<h3>Key Features</h3><ul><li><strong>Advanced Analytics</strong> - Real-time data insights</li><li><strong>Cloud Integration</strong> - Seamless connectivity</li><li><strong>24/7 Support</strong> - Always here to help</li></ul>",padding:"p-8"}},{description:"Quote block with styling",type:"text",props:{content:`<p style='text-align: center'><em>"Innovation distinguishes between a leader and a follower."</em><br><strong>- Steve Jobs</strong></p>`,padding:"p-8"}},{description:"Multi-paragraph article content",type:"text",props:{content:"<p>The future of web development is rapidly evolving with new technologies and frameworks emerging every year. <strong>Modern developers</strong> need to stay current with trends while maintaining focus on <em>user experience</em> and performance.</p><p>Our platform provides the tools and resources you need to build <a href='/docs'>exceptional web applications</a> that scale with your business needs.</p><p>Join thousands of developers who trust our solutions for their most critical projects.</p>",padding:"p-8"}},{description:"Call-to-action text with bright styling",type:"text",props:{content:"<p style='text-align: center'><strong>Ready to Get Started?</strong><br>Join over <span style='color: #ef4444'>50,000</span> satisfied customers and transform your business today!</p><p style='text-align: center'><a href='/signup'>Sign up now</a> and get your first month <em>absolutely free</em>.</p>"}},{description:"Simple heading with subtle background",type:"text",props:{content:"<h2>About Our Company</h2><p>We've been serving customers since 2010, building trust through quality products and exceptional service.</p>"}},{description:"Technical documentation snippet",type:"text",props:{content:"<h4>API Configuration</h4><p>To get started with our API, you'll need to:</p><ol><li>Create an account and <strong>generate an API key</strong></li><li>Install the SDK: <code>npm install @company/sdk</code></li><li>Initialize with your credentials</li></ol><p>For detailed instructions, visit our <a href='/docs/api'>API documentation</a>.</p>",padding:"p-8"}},{description:"Team introduction with formatting",type:"text",props:{content:"<p style='text-align: center'><strong>Meet Our Team</strong></p><p>Our diverse team of experts brings together decades of experience in technology, design, and business strategy. We're passionate about <em>creating solutions</em> that make a real difference.</p><p><a href='/team'>Learn more about our team</a> and the values that drive us forward.</p>",padding:"p-8"}},{description:"Warning notice with dark theme",type:"text",props:{content:"<p><strong>\u26A0\uFE0F Important Notice:</strong><br>Scheduled maintenance will occur on <em>Sunday, March 15th</em> from 2:00 AM to 6:00 AM UTC.</p><p>During this time, some features may be temporarily unavailable. We apologize for any inconvenience.</p>",padding:"p-8"}},{description:"Success message with green theme",type:"text",props:{content:"<p style='text-align: center'><strong>\u2705 Success!</strong><br>Your account has been created successfully.</p><p style='text-align: center'>Check your email for verification instructions and <a href='/dashboard' style='color: #065f46'>start exploring</a> your new dashboard.</p>",padding:"p-8"}}];export{A as a,O as b};
@@ -1,3 +0,0 @@
1
- /*! Upstart.gg - Copyright (C) 2024 Flippable - https://github.com/upstart-gg/upstart/blob/main/LICENSE */
2
-
3
- import{a as c}from"./chunk-3EM3B4DX.js";import{b as f}from"./chunk-CT3EI7YN.js";import{b as a}from"./chunk-6WCGUAQN.js";import{b as n}from"./chunk-T4LMBG2G.js";import{b as i,d as r}from"./chunk-ACVLF55Q.js";import{c as m}from"./chunk-UU2MSQXY.js";import{e as l}from"./chunk-YBGPPF7T.js";import{e as s}from"./chunk-VZPXXFVX.js";import{c as p}from"./chunk-2IYSJYNE.js";import{b as t,d as e}from"./chunk-E22E4XWE.js";import{a as d}from"./chunk-VGRYSAXA.js";import{Type as o}from"@sinclair/typebox";import{RxBox as u}from"react-icons/rx";var I=d({type:"box",category:"container",name:"Box",description:"A box for stacking bricks horizontally or vertically",isContainer:!0,defaultWidth:{desktop:"auto",mobile:"100%"},defaultHeight:{desktop:"auto"},icon:u,props:m({colorPreset:o.Optional(s({title:"Color"})),direction:f({default:"flex-col",title:"Direction",description:"Direction of the box layout"}),justifyContent:o.Optional(t({default:"justify-center"})),alignItems:o.Optional(e({default:"items-stretch"})),gap:o.Optional(p({title:"Gap",default:"10px",description:"Space between bricks.","ai:instructions":"Can be a tailwind gap class like 'gap-1' or 'gap-2', or a custom value like '10px'","ui:placeholder":"Not specified","ui:styleId":"styles:gap"})),padding:o.Optional(a({default:"p-2"})),rounding:o.Optional(r({default:"rounded-md"})),border:o.Optional(i()),shadow:o.Optional(n()),loop:o.Optional(l()),...c()})}),M=[];export{I as a,M as b};
@@ -1,8 +0,0 @@
1
- /*! Upstart.gg - Copyright (C) 2024 Flippable - https://github.com/upstart-gg/upstart/blob/main/LICENSE */
2
-
3
- import{a as i}from"./chunk-YFFTZ5T6.js";import{a as t}from"./chunk-SFKZAUPW.js";import{Type as e}from"@sinclair/typebox";var a=e.Pick(i,["id","label","path","attributes"]),p=e.Array(e.Object({id:e.String({title:"Section ID (slug format)"}),name:e.String({title:"Section name"}),description:e.String({title:"A long description of the section",description:`You must elaborate a clear and detailled plan that describes:
4
- - The section purpose in the page, in detail.
5
- - The section structure, look & feel, and structural/design organization, in detail
6
- - the types of bricks (e.g. "container", "text", "video", "carousel", etc) that will be used and their purpose, in detail
7
-
8
- IMPORTANT: be very descriptive and precise in your plan. The more details you provide, the better the generated page will be.`})},{additionalProperties:!1}),{title:"Sections plan",description:"A plan for the sections of the page. Used to generate the page content."}),o=e.Composite([a,e.Object({status:e.Optional(t(["draft","published"],{title:"Page status",enumNames:["Draft","Published"],description:"The status of the page. Can be draft or published. [AI instructions: Dont generate this.]","ai:instructions":"Do not generate this."}))})],{description:"Pages map. The complete list of site pages & their metadata",additionalProperties:!1}),c=e.Array(o);export{a,p as b,o as c,c as d};
@@ -1,3 +0,0 @@
1
- /*! Upstart.gg - Copyright (C) 2024 Flippable - https://github.com/upstart-gg/upstart/blob/main/LICENSE */
2
-
3
- import{b as r}from"./chunk-6WCGUAQN.js";import{b as l}from"./chunk-C3VGP4CA.js";import{c as u,d as i}from"./chunk-UU2MSQXY.js";import{a as e,d as o}from"./chunk-T3LIA4YB.js";import{b as n}from"./chunk-RGLVKILY.js";import{e as s}from"./chunk-VZPXXFVX.js";import{a}from"./chunk-VGRYSAXA.js";import{Type as t}from"@sinclair/typebox";import{VscLayoutPanelOff as c}from"react-icons/vsc";var S=a({type:"footer",name:"Footer",category:"layout",description:"A footer with links and an optional logo",aiInstructions:"This brick should be used on most sites/pages. It must be placed on its own section.",icon:c,staticClasses:"flex-1",resizable:!1,movable:!1,defaultWidth:{desktop:"100%",mobile:"100%"},props:u({colorPreset:t.Optional(s({title:"Color preset",default:{color:"neutral-600"}})),padding:t.Optional(r({default:"p-10"})),logo:t.Optional(n({title:"Logo","ui:no-object-options":!0,"ui:no-alt-text":!0})),fontSize:t.Optional(l({default:"text-sm","ui:no-extra-large-sizes":!0})),linksSections:i(t.Object({sectionTitle:e("Title"),links:i(t.Object({title:e("Title"),url:o()}),{title:"Links"})}),{default:[{sectionTitle:"Links",links:[{title:"Link",url:"/"}]}],title:"Links","ui:displayField":"sectionTitle","ui:options":{orderable:!0,removable:!0,addable:!0},description:"List of Links Sections",metadata:{category:"content"}})})}),T=[{description:"Simple footer with logo on the left",type:"footer",props:{logo:{src:"https://via.placeholder.com/120x40.png?text=Logo",alt:"Company logo"},linksSections:[{sectionTitle:"Quick Links",links:[{title:"Home",url:"/"},{title:"About",url:"/about"},{title:"Contact",url:"/contact"}]},{sectionTitle:"Legal",links:[{title:"Privacy Policy",url:"/privacy"},{title:"Terms of Service",url:"/terms"}]}]}},{description:"Corporate footer with centered logo",type:"footer",props:{logo:{src:"https://via.placeholder.com/150x50.png?text=Corporate",alt:"Corporate logo"},linksSections:[{sectionTitle:"Products",links:[{title:"Software Solutions",url:"/products/software"},{title:"Consulting",url:"/products/consulting"},{title:"Support",url:"/products/support"},{title:"Training",url:"/products/training"}]},{sectionTitle:"Company",links:[{title:"About Us",url:"/about"},{title:"Careers",url:"/careers"},{title:"News",url:"/news"},{title:"Investors",url:"/investors"}]},{sectionTitle:"Resources",links:[{title:"Documentation",url:"/docs"},{title:"API Reference",url:"/api"},{title:"Community",url:"/community"},{title:"Blog",url:"/blog"}]}]}},{description:"E-commerce footer with logo on the right",type:"footer",props:{logo:{src:"https://via.placeholder.com/140x45.png?text=Shop",alt:"Shop logo"},linksSections:[{sectionTitle:"Shop",links:[{title:"All Products",url:"/products"},{title:"New Arrivals",url:"/new"},{title:"Sale",url:"/sale"},{title:"Gift Cards",url:"/gift-cards"}]},{sectionTitle:"Customer Service",links:[{title:"Help Center",url:"/help"},{title:"Returns",url:"/returns"},{title:"Shipping Info",url:"/shipping"},{title:"Size Guide",url:"/size-guide"}]},{sectionTitle:"Account",links:[{title:"My Account",url:"/account"},{title:"Order History",url:"/orders"},{title:"Wishlist",url:"/wishlist"}]}]}},{description:"Large organization footer with multiple rows",type:"footer",props:{logo:{src:"https://via.placeholder.com/180x60.png?text=Enterprise",alt:"Enterprise logo"},linksSections:[{sectionTitle:"Products & Services",links:[{title:"Cloud Solutions",url:"/cloud"},{title:"Data Analytics",url:"/analytics"},{title:"AI & Machine Learning",url:"/ai"},{title:"Cybersecurity",url:"/security"},{title:"DevOps Tools",url:"/devops"},{title:"IoT Platform",url:"/iot"}]},{sectionTitle:"Industries",links:[{title:"Healthcare",url:"/industries/healthcare"},{title:"Finance",url:"/industries/finance"},{title:"Retail",url:"/industries/retail"},{title:"Manufacturing",url:"/industries/manufacturing"},{title:"Education",url:"/industries/education"},{title:"Government",url:"/industries/government"}]},{sectionTitle:"Resources",links:[{title:"Documentation",url:"/docs"},{title:"API Reference",url:"/api"},{title:"Tutorials",url:"/tutorials"},{title:"Webinars",url:"/webinars"},{title:"White Papers",url:"/whitepapers"},{title:"Case Studies",url:"/case-studies"}]},{sectionTitle:"Support & Community",links:[{title:"Help Center",url:"/help"},{title:"Community Forum",url:"/forum"},{title:"Contact Support",url:"/support"},{title:"Service Status",url:"/status"},{title:"Partner Portal",url:"/partners"},{title:"Developer Hub",url:"/developers"}]}]}},{description:"Startup footer with minimal links and left logo",type:"footer",props:{logo:{src:"https://via.placeholder.com/100x35.png?text=Startup",alt:"Startup logo"},linksSections:[{sectionTitle:"Company",links:[{title:"About",url:"/about"},{title:"Team",url:"/team"},{title:"Jobs",url:"/jobs"}]},{sectionTitle:"Product",links:[{title:"Features",url:"/features"},{title:"Pricing",url:"/pricing"},{title:"Demo",url:"/demo"}]},{sectionTitle:"Support",links:[{title:"Help",url:"/help"},{title:"Contact",url:"/contact"}]}]}},{description:"Agency footer with centered logo and creative sections",type:"footer",props:{logo:{src:"https://via.placeholder.com/130x45.png?text=Agency",alt:"Creative agency logo"},linksSections:[{sectionTitle:"Services",links:[{title:"Web Design",url:"/services/web-design"},{title:"Branding",url:"/services/branding"},{title:"Digital Marketing",url:"/services/marketing"},{title:"Photography",url:"/services/photography"}]},{sectionTitle:"Portfolio",links:[{title:"Recent Work",url:"/portfolio"},{title:"Case Studies",url:"/case-studies"},{title:"Client Reviews",url:"/reviews"}]},{sectionTitle:"Connect",links:[{title:"Contact Us",url:"/contact"},{title:"Get Quote",url:"/quote"},{title:"Newsletter",url:"/newsletter"}]}]}},{description:"SaaS platform footer with comprehensive links",type:"footer",props:{logo:{src:"https://via.placeholder.com/160x50.png?text=SaaS+Platform",alt:"SaaS platform logo"},linksSections:[{sectionTitle:"Platform",links:[{title:"Dashboard",url:"/dashboard"},{title:"Analytics",url:"/analytics"},{title:"Integrations",url:"/integrations"},{title:"API",url:"/api"}]},{sectionTitle:"Solutions",links:[{title:"For Startups",url:"/solutions/startups"},{title:"For Enterprise",url:"/solutions/enterprise"},{title:"For Agencies",url:"/solutions/agencies"},{title:"For Developers",url:"/solutions/developers"}]},{sectionTitle:"Resources",links:[{title:"Blog",url:"/blog"},{title:"Documentation",url:"/docs"},{title:"Help Center",url:"/help"},{title:"Community",url:"/community"}]},{sectionTitle:"Company",links:[{title:"About Us",url:"/about"},{title:"Careers",url:"/careers"},{title:"Press",url:"/press"},{title:"Legal",url:"/legal"}]}]}},{description:"Non-profit footer with mission-focused links",type:"footer",props:{logo:{src:"https://via.placeholder.com/140x50.png?text=Non+Profit",alt:"Non-profit organization logo"},linksSections:[{sectionTitle:"Our Work",links:[{title:"Programs",url:"/programs"},{title:"Impact",url:"/impact"},{title:"Success Stories",url:"/stories"},{title:"Research",url:"/research"}]},{sectionTitle:"Get Involved",links:[{title:"Donate",url:"/donate"},{title:"Volunteer",url:"/volunteer"},{title:"Events",url:"/events"},{title:"Partner with Us",url:"/partnerships"}]},{sectionTitle:"About",links:[{title:"Our Mission",url:"/mission"},{title:"Leadership",url:"/leadership"},{title:"Annual Reports",url:"/reports"},{title:"Contact",url:"/contact"}]}]}},{description:"Tech blog footer with right-aligned logo",type:"footer",props:{logo:{src:"https://via.placeholder.com/120x40.png?text=Tech+Blog",alt:"Tech blog logo"},linksSections:[{sectionTitle:"Categories",links:[{title:"Web Development",url:"/category/web-dev"},{title:"AI & ML",url:"/category/ai-ml"},{title:"DevOps",url:"/category/devops"},{title:"Mobile",url:"/category/mobile"}]},{sectionTitle:"Popular",links:[{title:"Latest Posts",url:"/latest"},{title:"Trending",url:"/trending"},{title:"Best of 2024",url:"/best-2024"},{title:"Tutorials",url:"/tutorials"}]},{sectionTitle:"Community",links:[{title:"Newsletter",url:"/newsletter"},{title:"Discord",url:"/discord"},{title:"Contributors",url:"/contributors"},{title:"Write for Us",url:"/write"}]}]}},{description:"Restaurant footer with location and menu links",type:"footer",props:{logo:{src:"https://via.placeholder.com/150x60.png?text=Restaurant",alt:"Restaurant logo"},linksSections:[{sectionTitle:"Menu",links:[{title:"Appetizers",url:"/menu/appetizers"},{title:"Main Courses",url:"/menu/mains"},{title:"Desserts",url:"/menu/desserts"},{title:"Beverages",url:"/menu/drinks"}]},{sectionTitle:"Services",links:[{title:"Reservations",url:"/reservations"},{title:"Catering",url:"/catering"},{title:"Private Events",url:"/events"},{title:"Gift Cards",url:"/gift-cards"}]},{sectionTitle:"Info",links:[{title:"About Us",url:"/about"},{title:"Location",url:"/location"},{title:"Hours",url:"/hours"},{title:"Contact",url:"/contact"}]}]}}];export{S as a,T as b};
@@ -1,3 +0,0 @@
1
- /*! Upstart.gg - Copyright (C) 2024 Flippable - https://github.com/upstart-gg/upstart/blob/main/LICENSE */
2
-
3
- import{b as o}from"./chunk-6FITVVZX.js";import{c as r}from"./chunk-UU2MSQXY.js";import{d as t,f as p}from"./chunk-T3LIA4YB.js";import{e as n}from"./chunk-YBGPPF7T.js";import{c as e}from"./chunk-2IYSJYNE.js";import{a as c}from"./chunk-VGRYSAXA.js";import{PiConfetti as s}from"react-icons/pi";import{Type as i}from"@sinclair/typebox";var g=c({type:"icon",name:"Icon",category:"basic",description:"An icon with optional text",resizable:!1,staticClasses:"grow-0",icon:s,props:r({icon:p({default:"mdi:heart"}),size:i.Optional(e({title:"Size",description:"The size of the icon. Can be a CSS length value (e.g. '2em', '24px')",default:"1em","ui:css-units":["em","rem","px"],"ai:instructions":"Use 'em', 'rem', or 'px' for units. Example: '2em', '24px'"})),color:i.Optional(o({title:"Color",default:"currentColor","ui:hide-color-label":!0})),link:i.Optional(t({title:"Link"})),loop:i.Optional(n())},{noGrow:!0})}),k=[{description:"Large heart icon",type:"icon",props:{icon:"mdi:heart",size:"2em"}},{description:"Shopping cart icon",type:"icon",props:{icon:"mdi:cart",size:"1.2em"}},{description:"Email/message icon",type:"icon",props:{icon:"mdi:email",size:"1.1em",link:"mailto:john.doe@example.com"}},{description:"Phone contact icon",type:"icon",props:{icon:"mdi:phone",size:"1em",link:"tel:+1234567890"}},{description:"Large download icon",type:"icon",props:{icon:"mdi:download",size:"2.5em",link:"https://example.com/file.zip"}},{description:"Menu hamburger icon",type:"icon",props:{icon:"mdi:menu",size:"1.4em"}},{description:"Close/X icon",type:"icon",props:{icon:"mdi:close",size:"1.2em"}},{description:"Social media Facebook icon",type:"icon",props:{icon:"mdi:facebook",size:"1.4em",link:"https://www.facebook.com/yourprofile"}},{description:"Social media Twitter icon",type:"icon",props:{icon:"mdi:twitter",size:"1.4em",link:"https://twitter.com/yourprofile"}},{description:"Social media Instagram icon",type:"icon",props:{icon:"mdi:instagram",size:"1.4em",link:"https://www.instagram.com/yourprofile"}}];export{g as a,k as b};
@@ -1,3 +0,0 @@
1
- /*! Upstart.gg - Copyright (C) 2024 Flippable - https://github.com/upstart-gg/upstart/blob/main/LICENSE */
2
-
3
- import{a as f}from"./chunk-L42YBY5I.js";import{b as o}from"./chunk-AQPN5SE2.js";import{a as r}from"./chunk-MPBYGS6W.js";import{b as u}from"./chunk-CT3EI7YN.js";import{b as d}from"./chunk-6WCGUAQN.js";import{e as m}from"./chunk-VZPXXFVX.js";import{c as s}from"./chunk-2IYSJYNE.js";import{b as l,d as c}from"./chunk-E22E4XWE.js";import{a as n}from"./chunk-SFKZAUPW.js";import{b as p}from"./chunk-I46VBMLF.js";import{Type as t}from"@sinclair/typebox";import{customAlphabet as g}from"nanoid";var k=g("azertyuiopqsdfghjklmwxcvbnAZERTYUIOPQSDFGHJKLMWXCVBN",7),N=t.Object({left:t.Optional(t.String({title:"top",description:"The left position in css unit."})),top:t.Optional(t.String({title:"top",description:"The top position in css unit."})),right:t.Optional(t.String({title:"right",description:"The right position in css unit."})),bottom:t.Optional(t.String({title:"bottom",description:"The bottom position in css unit."})),inset:t.Optional(t.String({title:"inset",description:"The inset position in css unit."})),translateX:t.Optional(t.String({title:"translateX",description:"The translateX position in css unit."})),translateY:t.Optional(t.String({title:"translateY",description:"The translateY position in css unit."})),rotate:t.Optional(t.String({title:"rotate",description:"The rotate position in css unit."}))}),O=n(Object.keys(o),{title:"Brick type"}),S=t.Object({id:t.String({title:"ID",description:"A unique identifier for the brick."}),type:O,props:t.Any({title:"Props",description:"The static props of the brick. The available props depends on the brick type."}),mobileProps:t.Optional(t.Any({title:"Props",description:"The overriden props for mobile, merged with desktop props."})),propsMapping:t.Optional(t.Object({},{description:"Dynamic props mapping for the brick. Used to map dynamic content to the brick's props. Can only be used if the brick is a child of a 'dynamic' brick. One can only reference the fields from the database that is specified in the dynamic brick.","ui:field":"hidden",examples:[{"$.property1":"$.databaseField1","$.property2":"$.databaseField2.subField1","$.property3.subProp1":"$.databaseField3","$.property3.subProp3":"$.databaseField4.subField2"}],additionalProperties:!0}))},{$id:"brick",additionalProperties:!0}),h=t.Object({colorPreset:t.Optional(m({title:"Color"})),direction:t.Optional(u({default:"flex-row",title:"Direction",description:"The direction of the section. Only apply to desktop. On mobile, it is always vertical.","ui:responsive":"desktop"})),minHeight:t.Optional(s({title:"Min height",default:"fit-content",description:"The min height of the section","ui:field":"hidden"})),variant:t.Optional(n(["navbar","footer","sidebar"],{title:"Custom section variant",description:"Used for custom styling and layout.",enumNames:["Navbar","Footer","Sidebar"],"ui:field":"hidden"})),maxWidth:t.Optional(f("Max width","max-w-full",{options:[{value:"max-w-screen-lg",title:"M",description:"Common for text-heavy content/blog posts"},{value:"max-w-screen-xl",title:"L",description:"Usefull or some landing pages"},{value:"max-w-screen-2xl",title:"XL",description:"Common width"},{value:"max-w-full",title:"Full",description:"Takes the entire space"}],description:"The maximum width of the section. Desktop only",displayAs:"button-group","ui:responsive":"desktop"})),justifyContent:t.Optional(l({default:"justify-center"})),alignItems:t.Optional(c({default:"items-center",description:"The vertical alignment of bricks within the section."})),padding:t.Optional(d({default:"p-4",description:"The padding of the section.","ui:responsive":!0,"default:mobile":"p-3"})),gap:t.Optional(s({title:"Gap",description:"The gap between the bricks in the section.",default:"20px","ui:styleId":"styles:gap"})),lastTouched:t.Optional(t.Number({description:"Do not use this field. It is used internally by the editor.","ui:field":"hidden","ai:hidden":!0}))},{additionalProperties:!0,"ai:instructions":"Do not use the border prop"}),b=t.Object({id:t.String({description:"The unique ID of the section. Use a human readable url-safe slug"}),label:t.Optional(t.String({description:"The label (name) of the section. Used for editor purposes only."})),order:t.Number({description:"Determines section order in the page (lower numbers appear first). 0-based"}),props:h,mobileProps:t.Optional(t.Partial(h,{additionalProperties:!1})),bricks:t.Array(S)},{$id:"section",description:"Sections are direct children of the page that are stacked vertically, but they always align their children horizontally (flex-row)."}),P=p(b.properties.props,"desktop"),T=p(b.properties.mobileProps,"mobile");function U(e){return e.map(i=>({...i,props:r({},P,i.props),mobileProps:r({},T,i.mobileProps||{}),bricks:i.bricks.map(y).filter(Boolean)}))}function y(e){let i=o[e.type];return i?{...e,props:r({},i.props,{...e.props,...e.props.$children?{$children:e.props.$children.map(y).filter(Boolean)}:{}})}:(console.warn(`No default props found for brick type: ${e.type}`),!1)}function X(e,i=!1){let a={...o[e].props,ghost:i};return{id:`b-${k()}`,type:e,props:a}}export{k as a,O as b,S as c,h as d,b as e,U as f,y as g,X as h};
@@ -1,3 +0,0 @@
1
- /*! Upstart.gg - Copyright (C) 2024 Flippable - https://github.com/upstart-gg/upstart/blob/main/LICENSE */
2
-
3
- import{b as t}from"./chunk-TWBY2GOR.js";import{b as r}from"./chunk-6WCGUAQN.js";import{b as o,d as i}from"./chunk-ACVLF55Q.js";import{c as l}from"./chunk-UU2MSQXY.js";import{a}from"./chunk-T3LIA4YB.js";import{b as n}from"./chunk-RGLVKILY.js";import{e as s}from"./chunk-YBGPPF7T.js";import{e as p}from"./chunk-VZPXXFVX.js";import{a as c}from"./chunk-VGRYSAXA.js";import{Type as e}from"@sinclair/typebox";import{IoGridOutline as g}from"react-icons/io5";var P=c({type:"images-gallery",name:"Gallery",category:"media",description:"An image collection",aiInstructions:"This brick should mostly be used for image galleries and collections.",consumesMultipleQueryRows:!0,defaultInspectorTab:"content",isContainer:!1,minHeight:{desktop:200},minWidth:{desktop:300},defaultWidth:{desktop:"400px",mobile:"100%"},icon:g,props:l({colorPreset:e.Optional(p({title:"Color",default:{color:"bg-base-100 text-base-100-content"}})),loop:e.Optional(s()),images:e.Array(e.Object({image:n({"ui:responsive":"desktop","ui:no-alt-text":!0,"ui:no-object-options":!0,"ui:placeholder":"https://example.com/image.jpg"}),legend:e.Optional(a("Legend"))}),{title:"Images",default:[],maxItems:12,metadata:{category:"content",consumeQuery:!0}}),columns:e.Optional(e.Number({title:"Columns",description:"Number of columns. Only applies to desktop screens. On mobile, it will always display 1 column.",minimum:1,maximum:6,default:3,"ui:field":"slider","ui:responsive":"desktop"})),gap:e.Optional(t({default:"gap-4"})),padding:e.Optional(r({default:"p-4"})),rounding:e.Optional(i()),border:e.Optional(o())})}),w=[{description:"Product portfolio gallery (3-column grid)",type:"images-gallery",props:{columns:3,gap:"gap-4",padding:"p-4",images:[{image:{src:"https://via.placeholder.com/400x400.png?text=Product+1"},legend:"Premium wireless headphones"},{image:{src:"https://via.placeholder.com/400x400.png?text=Product+2"},legend:"Bluetooth speaker"},{image:{src:"https://via.placeholder.com/400x400.png?text=Product+3"},legend:"Smart fitness tracker"},{image:{src:"https://via.placeholder.com/400x400.png?text=Product+4"},legend:"Wireless charging pad"}]}},{description:"Team photos gallery (4-column grid)",type:"images-gallery",props:{columns:4,gap:"gap-6",padding:"p-6",images:[{image:{src:"https://via.placeholder.com/300x300.png?text=CEO"},legend:"Sarah Johnson - Chief Executive Officer"},{image:{src:"https://via.placeholder.com/300x300.png?text=CTO"},legend:"Mike Chen - Chief Technology Officer"},{image:{src:"https://via.placeholder.com/300x300.png?text=Design"},legend:"Emily Rodriguez - Head of Design"},{image:{src:"https://via.placeholder.com/300x300.png?text=Marketing"},legend:"David Park - Marketing Director"},{image:{src:"https://via.placeholder.com/300x300.png?text=Sales"},legend:"Lisa Wong - Sales Manager"},{image:{src:"https://via.placeholder.com/300x300.png?text=Support"},legend:"Alex Thompson - Customer Support Lead"},{image:{src:"https://via.placeholder.com/300x300.png?text=Dev"},legend:"Carlos Martinez - Senior Developer"},{image:{src:"https://via.placeholder.com/300x300.png?text=HR"},legend:"Jennifer Adams - HR Specialist"}]}},{description:"Project showcase (2-column grid with larger spacing)",type:"images-gallery",props:{columns:2,gap:"gap-6",padding:"p-6",images:[{image:{src:"https://via.placeholder.com/600x400.png?text=Website+Redesign"},legend:"Modern e-commerce website redesign project"},{image:{src:"https://via.placeholder.com/600x400.png?text=Mobile+App"},legend:"iOS and Android mobile application"},{image:{src:"https://via.placeholder.com/600x400.png?text=Brand+Identity"},legend:"Complete brand identity design package"},{image:{src:"https://via.placeholder.com/600x400.png?text=Dashboard+UI"},legend:"Analytics dashboard user interface"}]}},{description:"Event photos",type:"images-gallery",props:{columns:4,gap:"gap-6",padding:"p-6",images:[{image:{src:"https://via.placeholder.com/250x180.png?text=Opening"},legend:"Conference opening ceremony"},{image:{src:"https://via.placeholder.com/250x180.png?text=Keynote"},legend:"Keynote presentation"},{image:{src:"https://via.placeholder.com/250x180.png?text=Workshop"},legend:"Technical workshop session"},{image:{src:"https://via.placeholder.com/250x180.png?text=Networking"},legend:"Networking lunch break"},{image:{src:"https://via.placeholder.com/250x180.png?text=Panel"},legend:"Expert panel discussion"},{image:{src:"https://via.placeholder.com/250x180.png?text=Awards"},legend:"Awards ceremony"}]}}];export{P as a,w as b};
@@ -1,3 +0,0 @@
1
- /*! Upstart.gg - Copyright (C) 2024 Flippable - https://github.com/upstart-gg/upstart/blob/main/LICENSE */
2
-
3
- import{b as i}from"./chunk-6WCGUAQN.js";import{d as t}from"./chunk-ACVLF55Q.js";import{c as a}from"./chunk-UU2MSQXY.js";import{a as o}from"./chunk-T3LIA4YB.js";import{b as n}from"./chunk-RGLVKILY.js";import{e as s}from"./chunk-YBGPPF7T.js";import{e as r}from"./chunk-VZPXXFVX.js";import{a as p}from"./chunk-VGRYSAXA.js";import{Type as e}from"@sinclair/typebox";import{TbCarouselHorizontal as l}from"react-icons/tb";var k=p({type:"carousel",name:"Carousel",description:"An image carousel with navigation arrows and dots or numbers indicator",aiInstructions:"This brick should be used for image carousels with sliding functionality and navigation controls.",defaultInspectorTab:"content",minHeight:{desktop:200},minWidth:{desktop:300},icon:l,props:a({colorPreset:e.Optional(r({title:"Color"})),padding:e.Optional(i({default:"p-px"})),images:e.Optional(e.Array(e.Object({src:n({"ui:responsive":"desktop","ui:no-alt-text":!0,"ui:no-object-options":!0}),legend:o("Legend")}),{title:"Images",default:[],maxItems:12,metadata:{category:"content"}})),borderRadius:e.Optional(t({default:"rounded-md"})),loop:e.Optional(s())})}),v=[{description:"An image carousel with title and legends",type:"carousel",props:{images:[{src:{src:"https://via.placeholder.com/800x400.png?text=Slide+1",alt:"First slide"},legend:"Beautiful landscape"},{src:{src:"https://via.placeholder.com/800x400.png?text=Slide+2",alt:"Second slide"},legend:"Amazing architecture"},{src:{src:"https://via.placeholder.com/800x400.png?text=Slide+3",alt:"Third slide"},legend:"Stunning nature"}]}}];export{k as a,v as b};
@@ -1,3 +0,0 @@
1
- /*! Upstart.gg - Copyright (C) 2024 Flippable - https://github.com/upstart-gg/upstart/blob/main/LICENSE */
2
-
3
- import{Type as t}from"@sinclair/typebox";function n(i="flowing",e="Position"){return t.Union([t.Literal("flowing",{title:"Flowing"}),t.Literal("fixed",{title:"Fixed"}),t.Literal("sticky",{title:"Sticky"})],{title:e,default:i,"ui:styleId":"styles:position"})}function s(i=!1,e="Fixed position"){return t.Boolean({title:e,default:i,"ui:styleId":"styles:fixedPositioned"})}export{n as a,s as b};
@@ -1,3 +0,0 @@
1
- /*! Upstart.gg - Copyright (C) 2024 Flippable - https://github.com/upstart-gg/upstart/blob/main/LICENSE */
2
-
3
- import{a as o}from"./chunk-EJGNYD4V.js";import{Type as t}from"@sinclair/typebox";function p(e="Image",i={}){let{defaultImageUrl:a,showImgSearch:n=!1,noObjectOptions:l=!1}=i;return t.Object({src:t.String({default:a,title:e,description:"Image URL. Can be a link to an image or a data URI"}),alt:t.Optional(t.String({title:"Alternate Text",description:"Alternative text for the image. Recommended for screen readers and SEO","ui:placeholder":"Your image description"})),fit:t.Optional(t.Union([t.Literal("object-none",{title:"None"}),t.Literal("object-contain",{title:"Contain"}),t.Literal("object-cover",{title:"Cover"}),t.Literal("object-fill",{title:"Fill"}),t.Literal("object-scale-down",{title:"Scale down"})],{title:"Fit",description:"How the image should be resized to fit its container",default:"object-cover","ui:field":"enum","ui:styleId":"styles:objectFit"})),position:t.Optional(t.Union([t.Literal("object-top",{title:"Top"}),t.Literal("object-center",{title:"Center"}),t.Literal("object-bottom",{title:"Bottom"}),t.Literal("object-left",{title:"Left"}),t.Literal("object-right",{title:"Right"}),t.Literal("object-top-left",{title:"Top left"}),t.Literal("object-top-right",{title:"Top right"}),t.Literal("object-bottom-left",{title:"Bottom left"}),t.Literal("object-bottom-right",{title:"Bottom right"})],{"ui:styleId":"styles:objectPosition",title:"Position",description:"The position of the image inside its container","ui:field":"enum"}))},{$id:"assets:image",title:e,"ui:field":"image","ui:accept":"image/*","ui:show-img-search":n,"ui:no-object-options":l,default:{alt:"Image",fit:"object-cover",position:"object-center"},metadata:{category:"content"},...i})}function m(e={}){return o("assets:image",e)}export{p as a,m as b};
@@ -1,4 +0,0 @@
1
- /*! Upstart.gg - Copyright (C) 2024 Flippable - https://github.com/upstart-gg/upstart/blob/main/LICENSE */
2
-
3
- import{a as f}from"./chunk-MKIXZXWS.js";import{b as l}from"./chunk-CT3EI7YN.js";import{b as a}from"./chunk-6WCGUAQN.js";import{b as r}from"./chunk-C3VGP4CA.js";import{b as i,d as o}from"./chunk-ACVLF55Q.js";import{a as d,c as p}from"./chunk-UU2MSQXY.js";import{a as n}from"./chunk-T3LIA4YB.js";import{e as s}from"./chunk-VZPXXFVX.js";import{a as e}from"./chunk-SFKZAUPW.js";import{a as c}from"./chunk-VGRYSAXA.js";import{Type as t}from"@sinclair/typebox";import{FaWpforms as u}from"react-icons/fa6";var M=c({type:"form",name:"Form",description:"A form element",aiInstructions:`The form brick automatically renders form fields based on the datarecord id provided in the props.
4
- There is no need to define the form fields manually and the form does not accept any children`,isContainer:!1,icon:u,minWidth:{desktop:300},props:p({datarecordId:f("Datarecord ID",{description:"The ID of the datarecord to use to generate the form fields","ui:responsive":"desktop"}),colorPreset:t.Optional(s({title:"Color",default:"base-200"})),direction:t.Optional(l({title:"Direction",description:"The direction of the form fields",default:"flex-col","ui:responsive":"desktop","ui:desktop-only":!0})),padding:t.Optional(a({default:"p-4"})),rounding:t.Optional(o({default:"rounded-md"})),border:t.Optional(i({})),fontSize:t.Optional(r({default:"inherit","ui:no-extra-large-sizes":!0})),button:d({title:"Button",children:{color:t.Optional(t.Union([t.Literal("btn-neutral",{title:"Neutral"}),t.Literal("btn-primary",{title:"Primary"}),t.Literal("btn-secondary",{title:"Secondary"}),t.Literal("btn-accent",{title:"Accent"})],{title:"Color",default:"btn-primary"})),size:t.Optional(e(["block","wide"],{title:"Size",description:"Button sizes.",enumNames:["Block","Wide"],default:"block","ui:responsive":"desktop"})),position:t.Optional(e(["justify-start","justify-center","justify-end"],{title:"Button Position",description:"The position of the button in the form",enumNames:["Left","Center","Right"],default:"justify-end","ui:responsive":"desktop",metadata:{filter:(b,m)=>m.button?.size!=="wide"}})),rounding:t.Optional(o({default:"rounded-md"}))}}),title:t.Optional(t.String({title:"Form title",default:"My form",metadata:{category:"content"}})),intro:t.Optional(t.String({title:"Intro",description:"The intro text of the form","ui:multiline":!0,metadata:{category:"content"}})),buttonLabel:t.Optional(n("Button Label",{default:"Submit",metadata:{category:"content"}})),successMessage:t.Optional(t.String({title:"Success Message",description:"The message to display when the form is successfully submitted",default:"Thank you for your submission!",metadata:{category:"content"}})),errorMessage:t.Optional(t.String({title:"Error Message",description:"The message to display when the form submission fails",default:"There was an error submitting the form. Please try again later.",metadata:{category:"content"}}))})}),P=[{description:"Basic contact form",type:"form",props:{title:"Contact Us",intro:"We'd love to hear from you. Send us a message and we'll respond as soon as possible.",direction:"flex-row",datarecordId:"contacts",buttonLabel:"Send Message",button:{size:"block"}}},{description:"User registration form with large button",type:"form",props:{title:"Create Account",intro:"Join our platform and start your journey today.",direction:"flex-row",datarecordId:"user-registration",buttonLabel:"Register",button:{size:"wide"}}},{description:"Newsletter subscription form (horizontal)",type:"form",props:{title:"Stay Updated",intro:"Subscribe to our newsletter for the latest updates and exclusive content.",direction:"flex-col",datarecordId:"newsletter-subscription",buttonLabel:"Subscribe",button:{size:"block"}}},{description:"Event registration form",type:"form",props:{title:"Conference Registration",intro:"Register for the Annual Tech Conference 2025. Early bird pricing ends soon!",direction:"flex-col",datarecordId:"event-registration",buttonLabel:"Register Now",button:{size:"block"}}},{description:"Job application form",type:"form",props:{title:"Apply for Position",intro:"We're excited to learn more about you! Please fill out this application form completely.",direction:"flex-col",datarecordId:"job-application",buttonLabel:"Submit Application",button:{size:"block"}}}];export{M as a,P as b};
@@ -1,3 +0,0 @@
1
- /*! Upstart.gg - Copyright (C) 2024 Flippable - https://github.com/upstart-gg/upstart/blob/main/LICENSE */
2
-
3
- import{a as n}from"./chunk-EJGNYD4V.js";import{Type as i}from"@sinclair/typebox";function p(t,e={}){return i.String({title:t,...e})}function l(t="URL",e){return i.String({title:t,format:"uri","ui:field":"url",default:e})}var r=i.String({"ui:field":"page-id"});function u(t="URL",e){return i.Union([i.String({format:"uri"}),r],{$id:"content:urlOrPageId",default:e,title:t,metadata:{category:"content"},"ui:field":"url-page-id","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."})}function c(t={}){return n("content:urlOrPageId",{...t})}function d(t,e={}){return i.String({title:t??"Icon","ai:instructions":"Use a iconify reference like 'mdi:heart' or 'fa-solid:coffee'.","ui:field":"iconify",$id:"assets:icon",metadata:{category:"content"},...e})}function s(t={}){return n("assets:icon",t)}export{p as a,l as b,u as c,c as d,d as e,s as f};