@upstart.gg/sdk 0.0.96 → 0.0.97

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (527) hide show
  1. package/dist/node/cli/api.js +2 -2
  2. package/dist/node/cli/api.js.map +1 -1
  3. package/dist/node/cli/commands/login/cmd-login.js +6 -6
  4. package/dist/node/cli/commands/login/cmd-login.js.map +1 -1
  5. package/dist/node/cli/commands/publish/cmd-publish.d.ts.map +1 -1
  6. package/dist/node/cli/commands/publish/cmd-publish.js +18 -18
  7. package/dist/node/cli/commands/publish/cmd-publish.js.map +1 -1
  8. package/dist/node/cli/commands/publish/uploader.js +7 -7
  9. package/dist/node/cli/commands/publish/uploader.js.map +1 -1
  10. package/dist/node/cli/is-logged-in.js +2 -2
  11. package/dist/node/cli/is-logged-in.js.map +1 -1
  12. package/dist/node/cli/program.js +24 -24
  13. package/dist/node/cli/program.js.map +1 -1
  14. package/dist/node/shared/config.d.ts +4 -14
  15. package/dist/node/shared/config.d.ts.map +1 -1
  16. package/dist/node/shared/config.js +4 -4
  17. package/dist/node/shared/config.js.map +1 -1
  18. package/dist/node/shared/logger.d.ts.map +1 -1
  19. package/dist/node/shared/logger.js +2 -2
  20. package/dist/node/shared/logger.js.map +1 -1
  21. package/dist/shared/ajv.d.ts +2 -0
  22. package/dist/shared/ajv.d.ts.map +1 -1
  23. package/dist/shared/ajv.js +1 -1
  24. package/dist/shared/attributes.d.ts +20 -93
  25. package/dist/shared/attributes.d.ts.map +1 -1
  26. package/dist/shared/attributes.js +1 -1
  27. package/dist/shared/brick-manifest.d.ts +7 -17
  28. package/dist/shared/brick-manifest.d.ts.map +1 -1
  29. package/dist/shared/brick-manifest.js +1 -1
  30. package/dist/shared/bricks/manifests/accordion.manifest.d.ts +111 -0
  31. package/dist/shared/bricks/manifests/accordion.manifest.d.ts.map +1 -0
  32. package/dist/shared/bricks/manifests/accordion.manifest.js +3 -0
  33. package/dist/shared/bricks/manifests/all-manifests.d.ts +5 -0
  34. package/dist/shared/bricks/manifests/all-manifests.d.ts.map +1 -1
  35. package/dist/shared/bricks/manifests/all-manifests.js +1 -1
  36. package/dist/shared/bricks/manifests/button.manifest.d.ts +22 -13
  37. package/dist/shared/bricks/manifests/button.manifest.d.ts.map +1 -1
  38. package/dist/shared/bricks/manifests/button.manifest.js +1 -1
  39. package/dist/shared/bricks/manifests/card.manifest.d.ts +44 -54
  40. package/dist/shared/bricks/manifests/card.manifest.d.ts.map +1 -1
  41. package/dist/shared/bricks/manifests/card.manifest.js +1 -1
  42. package/dist/shared/bricks/manifests/carousel.manifest.d.ts +39 -12
  43. package/dist/shared/bricks/manifests/carousel.manifest.d.ts.map +1 -1
  44. package/dist/shared/bricks/manifests/carousel.manifest.js +1 -1
  45. package/dist/shared/bricks/manifests/container.manifest.d.ts +49 -172
  46. package/dist/shared/bricks/manifests/container.manifest.d.ts.map +1 -1
  47. package/dist/shared/bricks/manifests/container.manifest.js +1 -1
  48. package/dist/shared/bricks/manifests/divider.manifest.d.ts +63 -0
  49. package/dist/shared/bricks/manifests/divider.manifest.d.ts.map +1 -0
  50. package/dist/shared/bricks/manifests/divider.manifest.js +3 -0
  51. package/dist/shared/bricks/manifests/footer.manifest.d.ts +30 -35
  52. package/dist/shared/bricks/manifests/footer.manifest.d.ts.map +1 -1
  53. package/dist/shared/bricks/manifests/footer.manifest.js +1 -1
  54. package/dist/shared/bricks/manifests/form.manifest.d.ts +22 -12
  55. package/dist/shared/bricks/manifests/form.manifest.d.ts.map +1 -1
  56. package/dist/shared/bricks/manifests/form.manifest.js +1 -1
  57. package/dist/shared/bricks/manifests/hero.manifest.d.ts +31 -71
  58. package/dist/shared/bricks/manifests/hero.manifest.d.ts.map +1 -1
  59. package/dist/shared/bricks/manifests/hero.manifest.js +1 -1
  60. package/dist/shared/bricks/manifests/icon.manifest.d.ts +18 -12
  61. package/dist/shared/bricks/manifests/icon.manifest.d.ts.map +1 -1
  62. package/dist/shared/bricks/manifests/icon.manifest.js +1 -1
  63. package/dist/shared/bricks/manifests/image.manifest.d.ts +36 -50
  64. package/dist/shared/bricks/manifests/image.manifest.d.ts.map +1 -1
  65. package/dist/shared/bricks/manifests/image.manifest.js +1 -1
  66. package/dist/shared/bricks/manifests/images-gallery.manifest.d.ts +55 -115
  67. package/dist/shared/bricks/manifests/images-gallery.manifest.d.ts.map +1 -1
  68. package/dist/shared/bricks/manifests/images-gallery.manifest.js +1 -1
  69. package/dist/shared/bricks/manifests/map.manifest.d.ts +36 -12
  70. package/dist/shared/bricks/manifests/map.manifest.d.ts.map +1 -1
  71. package/dist/shared/bricks/manifests/map.manifest.js +1 -1
  72. package/dist/shared/bricks/manifests/navbar.manifest.d.ts +160 -0
  73. package/dist/shared/bricks/manifests/navbar.manifest.d.ts.map +1 -0
  74. package/dist/shared/bricks/manifests/navbar.manifest.js +3 -0
  75. package/dist/shared/bricks/manifests/sidebar.manifest.d.ts +83 -12
  76. package/dist/shared/bricks/manifests/sidebar.manifest.d.ts.map +1 -1
  77. package/dist/shared/bricks/manifests/sidebar.manifest.js +1 -1
  78. package/dist/shared/bricks/manifests/social-links.manifest.d.ts +37 -12
  79. package/dist/shared/bricks/manifests/social-links.manifest.d.ts.map +1 -1
  80. package/dist/shared/bricks/manifests/social-links.manifest.js +1 -1
  81. package/dist/shared/bricks/manifests/testimonials.manifest.d.ts +94 -0
  82. package/dist/shared/bricks/manifests/testimonials.manifest.d.ts.map +1 -0
  83. package/dist/shared/bricks/manifests/testimonials.manifest.js +3 -0
  84. package/dist/shared/bricks/manifests/text.manifest.d.ts +31 -63
  85. package/dist/shared/bricks/manifests/text.manifest.d.ts.map +1 -1
  86. package/dist/shared/bricks/manifests/text.manifest.js +1 -1
  87. package/dist/shared/bricks/manifests/timeline.manifest.d.ts +122 -0
  88. package/dist/shared/bricks/manifests/timeline.manifest.d.ts.map +1 -0
  89. package/dist/shared/bricks/manifests/timeline.manifest.js +3 -0
  90. package/dist/shared/bricks/manifests/video.manifest.d.ts +38 -12
  91. package/dist/shared/bricks/manifests/video.manifest.d.ts.map +1 -1
  92. package/dist/shared/bricks/manifests/video.manifest.js +1 -1
  93. package/dist/shared/bricks/props/_style-presets.d.ts +1 -1
  94. package/dist/shared/bricks/props/_style-presets.d.ts.map +1 -1
  95. package/dist/shared/bricks/props/_style-presets.js +1 -1
  96. package/dist/shared/bricks/props/align.d.ts +7 -3
  97. package/dist/shared/bricks/props/align.d.ts.map +1 -1
  98. package/dist/shared/bricks/props/align.js +1 -1
  99. package/dist/shared/bricks/props/background.d.ts +8 -1
  100. package/dist/shared/bricks/props/background.d.ts.map +1 -1
  101. package/dist/shared/bricks/props/background.js +1 -1
  102. package/dist/shared/bricks/props/boolean.js +1 -1
  103. package/dist/shared/bricks/props/border.d.ts +24 -22
  104. package/dist/shared/bricks/props/border.d.ts.map +1 -1
  105. package/dist/shared/bricks/props/border.js +1 -1
  106. package/dist/shared/bricks/props/color.d.ts +5 -0
  107. package/dist/shared/bricks/props/color.d.ts.map +1 -0
  108. package/dist/shared/bricks/props/color.js +3 -0
  109. package/dist/shared/bricks/props/common.d.ts +9 -1
  110. package/dist/shared/bricks/props/common.d.ts.map +1 -1
  111. package/dist/shared/bricks/props/common.js +1 -1
  112. package/dist/shared/bricks/props/container.d.ts +37 -45
  113. package/dist/shared/bricks/props/container.d.ts.map +1 -1
  114. package/dist/shared/bricks/props/container.js +1 -1
  115. package/dist/shared/bricks/props/css-length.d.ts +5 -0
  116. package/dist/shared/bricks/props/css-length.d.ts.map +1 -0
  117. package/dist/shared/bricks/props/css-length.js +3 -0
  118. package/dist/shared/bricks/props/datasource.d.ts +9 -13
  119. package/dist/shared/bricks/props/datasource.d.ts.map +1 -1
  120. package/dist/shared/bricks/props/datasource.js +1 -1
  121. package/dist/shared/bricks/props/date.d.ts +4 -0
  122. package/dist/shared/bricks/props/date.d.ts.map +1 -0
  123. package/dist/shared/bricks/props/date.js +3 -0
  124. package/dist/shared/bricks/props/effects.d.ts +4 -21
  125. package/dist/shared/bricks/props/effects.d.ts.map +1 -1
  126. package/dist/shared/bricks/props/effects.js +1 -1
  127. package/dist/shared/bricks/props/enum.d.ts +13 -0
  128. package/dist/shared/bricks/props/enum.d.ts.map +1 -0
  129. package/dist/shared/bricks/props/enum.js +3 -0
  130. package/dist/shared/bricks/props/file.d.ts +2 -0
  131. package/dist/shared/bricks/props/file.d.ts.map +1 -0
  132. package/dist/shared/bricks/props/file.js +3 -0
  133. package/dist/shared/bricks/props/geolocation.d.ts +16 -0
  134. package/dist/shared/bricks/props/geolocation.d.ts.map +1 -0
  135. package/dist/shared/bricks/props/geolocation.js +3 -0
  136. package/dist/shared/bricks/props/helpers.d.ts +8 -4
  137. package/dist/shared/bricks/props/helpers.d.ts.map +1 -1
  138. package/dist/shared/bricks/props/helpers.js +1 -1
  139. package/dist/shared/bricks/props/image.d.ts +7 -1
  140. package/dist/shared/bricks/props/image.d.ts.map +1 -1
  141. package/dist/shared/bricks/props/image.js +1 -1
  142. package/dist/shared/bricks/props/number.js +1 -1
  143. package/dist/shared/bricks/props/padding.d.ts +2 -1
  144. package/dist/shared/bricks/props/padding.d.ts.map +1 -1
  145. package/dist/shared/bricks/props/padding.js +1 -1
  146. package/dist/shared/bricks/props/position.d.ts.map +1 -1
  147. package/dist/shared/bricks/props/position.js +1 -1
  148. package/dist/shared/bricks/props/preset.d.ts +92 -0
  149. package/dist/shared/bricks/props/preset.d.ts.map +1 -0
  150. package/dist/shared/bricks/props/preset.js +3 -0
  151. package/dist/shared/bricks/props/string.d.ts +8 -3
  152. package/dist/shared/bricks/props/string.d.ts.map +1 -1
  153. package/dist/shared/bricks/props/string.js +1 -1
  154. package/dist/shared/bricks/props/text.d.ts +3 -4
  155. package/dist/shared/bricks/props/text.d.ts.map +1 -1
  156. package/dist/shared/bricks/props/text.js +1 -1
  157. package/dist/shared/bricks/props/types.d.ts +5 -2
  158. package/dist/shared/bricks/props/types.d.ts.map +1 -1
  159. package/dist/shared/bricks.d.ts +243 -134
  160. package/dist/shared/bricks.d.ts.map +1 -1
  161. package/dist/shared/bricks.js +1 -1
  162. package/dist/shared/chunk-2AJYHJFG.js +8 -0
  163. package/dist/shared/chunk-2FHWS73Y.js +6 -0
  164. package/dist/shared/chunk-3FJVF357.js +3 -0
  165. package/dist/shared/chunk-3RHYJ6E7.js +5 -0
  166. package/dist/shared/chunk-3VZACK2Y.js +3 -0
  167. package/dist/shared/chunk-3XCKZ4JQ.js +3 -0
  168. package/dist/shared/chunk-4MPRHJWO.js +3 -0
  169. package/dist/shared/chunk-5EOWW7BX.js +4 -0
  170. package/dist/shared/chunk-5HYPCOSS.js +3 -0
  171. package/dist/shared/chunk-5K5C6XFX.js +3 -0
  172. package/dist/shared/chunk-6QS5PKLA.js +3 -0
  173. package/dist/shared/chunk-74EL657O.js +3 -0
  174. package/dist/shared/chunk-AJDYOLKP.js +3 -0
  175. package/dist/shared/chunk-ALFOZHAH.js +3 -0
  176. package/dist/shared/{chunk-FGU4BGP4.js → chunk-ATDJCXC2.js} +1 -1
  177. package/dist/shared/chunk-BJSO43AS.js +3 -0
  178. package/dist/shared/chunk-BTKLQQZA.js +3 -0
  179. package/dist/shared/chunk-CAVNF3BU.js +3 -0
  180. package/dist/shared/chunk-CCNU3J56.js +3 -0
  181. package/dist/shared/chunk-CTRS76PX.js +3 -0
  182. package/dist/shared/chunk-DCH2FI6T.js +8 -0
  183. package/dist/shared/chunk-DFSQR6QC.js +3 -0
  184. package/dist/shared/chunk-ENU4SEHO.js +3 -0
  185. package/dist/shared/chunk-G7LX3UKQ.js +3 -0
  186. package/dist/shared/chunk-GGJBTPGW.js +3 -0
  187. package/dist/shared/chunk-H24R3IWA.js +3 -0
  188. package/dist/shared/chunk-HYVQXAK5.js +3 -0
  189. package/dist/shared/chunk-LKVQQQTI.js +3 -0
  190. package/dist/shared/chunk-MITJPRGD.js +6 -0
  191. package/dist/shared/chunk-NLZBY65T.js +3 -0
  192. package/dist/shared/chunk-OUI2VDNM.js +3 -0
  193. package/dist/shared/chunk-OYIL5SCU.js +3 -0
  194. package/dist/shared/chunk-P5DZK4TS.js +3 -0
  195. package/dist/shared/chunk-PK3R5VOF.js +3 -0
  196. package/dist/shared/chunk-QPATZM3I.js +3 -0
  197. package/dist/shared/chunk-RDBEWW4G.js +7 -0
  198. package/dist/shared/chunk-RPBQZW5I.js +3 -0
  199. package/dist/shared/chunk-SLSIAUYV.js +3 -0
  200. package/dist/shared/chunk-SUG225LF.js +3 -0
  201. package/dist/shared/chunk-U5XOIYSS.js +3 -0
  202. package/dist/shared/{chunk-HIZPJNEM.js → chunk-UL7L3HYV.js} +1 -1
  203. package/dist/shared/chunk-V6BCYHZH.js +3 -0
  204. package/dist/shared/chunk-VA5LFJVE.js +3 -0
  205. package/dist/shared/chunk-VAC73HJE.js +3 -0
  206. package/dist/shared/chunk-VBWC36L2.js +3 -0
  207. package/dist/shared/chunk-VLGLD6GR.js +3 -0
  208. package/dist/shared/chunk-VTFWVTPI.js +3 -0
  209. package/dist/shared/chunk-WAAKB6OB.js +3 -0
  210. package/dist/shared/chunk-Y36SM2AO.js +3 -0
  211. package/dist/shared/chunk-Y7CEEEVW.js +3 -0
  212. package/dist/shared/chunk-YZ5Y4WE6.js +3 -0
  213. package/dist/shared/chunk-Z7SYP6FG.js +3 -0
  214. package/dist/shared/chunk-ZJNA4QQC.js +3 -0
  215. package/dist/shared/chunk-ZMDHKAWL.js +3 -0
  216. package/dist/shared/context.d.ts +38 -0
  217. package/dist/shared/context.d.ts.map +1 -0
  218. package/dist/shared/{chunk-WJ5CDDXW.js → context.js} +0 -1
  219. package/dist/shared/datarecords/types.d.ts +40 -20
  220. package/dist/shared/datarecords/types.d.ts.map +1 -1
  221. package/dist/shared/datarecords/types.js +1 -1
  222. package/dist/shared/datasources/external/http-json/fetcher.d.ts.map +1 -0
  223. package/dist/shared/datasources/external/http-json/options.d.ts.map +1 -0
  224. package/dist/shared/datasources/external/{json → http-json}/schema.d.ts +0 -1
  225. package/dist/shared/datasources/external/http-json/schema.d.ts.map +1 -0
  226. package/dist/shared/datasources/external/http-json/tests/fetcher.test.d.ts.map +1 -0
  227. package/dist/shared/datasources/external/rss/fetcher.d.ts.map +1 -1
  228. package/dist/shared/datasources/external/rss/sample.d.ts.map +1 -1
  229. package/dist/shared/datasources/external/rss/schema.d.ts +7 -13
  230. package/dist/shared/datasources/external/rss/schema.d.ts.map +1 -1
  231. package/dist/shared/datasources/external/youtube/list/sample.d.ts +23 -32
  232. package/dist/shared/datasources/external/youtube/list/sample.d.ts.map +1 -1
  233. package/dist/shared/datasources/external/youtube/list/schema.d.ts +24 -33
  234. package/dist/shared/datasources/external/youtube/list/schema.d.ts.map +1 -1
  235. package/dist/shared/datasources/internal/blog/schema.d.ts.map +1 -1
  236. package/dist/shared/datasources/internal/changelog/schema.d.ts.map +1 -1
  237. package/dist/shared/datasources/internal/recipes/schema.d.ts.map +1 -1
  238. package/dist/shared/datasources/samples.d.ts +1 -1
  239. package/dist/shared/datasources/samples.d.ts.map +1 -1
  240. package/dist/shared/datasources/schemas.d.ts +33 -583
  241. package/dist/shared/datasources/schemas.d.ts.map +1 -1
  242. package/dist/shared/datasources/schemas.js +1 -1
  243. package/dist/shared/datasources/types.d.ts +75 -1314
  244. package/dist/shared/datasources/types.d.ts.map +1 -1
  245. package/dist/shared/datasources/types.js +1 -1
  246. package/dist/shared/datasources.d.ts +14 -0
  247. package/dist/shared/datasources.d.ts.map +1 -1
  248. package/dist/shared/datasources.js +1 -1
  249. package/dist/shared/images.d.ts +30 -0
  250. package/dist/shared/images.d.ts.map +1 -0
  251. package/dist/shared/images.js +3 -0
  252. package/dist/shared/layout-constants.js +1 -1
  253. package/dist/shared/page.d.ts +104 -2670
  254. package/dist/shared/page.d.ts.map +1 -1
  255. package/dist/shared/page.js +1 -1
  256. package/dist/shared/prompt.d.ts +4 -0
  257. package/dist/shared/prompt.d.ts.map +1 -0
  258. package/dist/shared/prompt.js +3 -0
  259. package/dist/shared/responsive.d.ts +3 -3
  260. package/dist/shared/responsive.d.ts.map +1 -1
  261. package/dist/shared/responsive.js +1 -1
  262. package/dist/shared/site.d.ts +545 -0
  263. package/dist/shared/site.d.ts.map +1 -0
  264. package/dist/shared/site.js +3 -0
  265. package/dist/shared/sitemap.d.ts +38 -0
  266. package/dist/shared/sitemap.d.ts.map +1 -0
  267. package/dist/shared/sitemap.js +3 -0
  268. package/dist/shared/theme.d.ts +41 -19
  269. package/dist/shared/theme.d.ts.map +1 -1
  270. package/dist/shared/theme.js +1 -1
  271. package/dist/shared/themes/color-system.d.ts +5 -309
  272. package/dist/shared/themes/color-system.d.ts.map +1 -1
  273. package/dist/shared/themes/color-system.js +1 -1
  274. package/dist/shared/utils/invariant.js +1 -1
  275. package/dist/shared/utils/schema.d.ts +10 -2
  276. package/dist/shared/utils/schema.d.ts.map +1 -1
  277. package/dist/shared/utils/schema.js +1 -1
  278. package/dist/shared/utils/typed-ref.d.ts +32 -0
  279. package/dist/shared/utils/typed-ref.d.ts.map +1 -0
  280. package/dist/shared/utils/typed-ref.js +3 -0
  281. package/package.json +11 -11
  282. package/src/node/cli/api.ts +101 -0
  283. package/src/node/cli/commands/cmd-build.ts +64 -0
  284. package/src/node/cli/commands/login/cmd-login.ts +111 -0
  285. package/src/node/cli/commands/logout/cmd-logout.ts +11 -0
  286. package/src/node/cli/commands/publish/cmd-publish.ts +135 -0
  287. package/src/node/cli/commands/publish/parse-gitignore.ts +278 -0
  288. package/src/node/cli/commands/publish/uploader.ts +333 -0
  289. package/src/node/cli/constants.ts +14 -0
  290. package/src/node/cli/is-logged-in.ts +28 -0
  291. package/src/node/cli/program.ts +77 -0
  292. package/src/node/cli/store.ts +64 -0
  293. package/src/node/cli/tests/api.test.ts +161 -0
  294. package/src/node/cli/types.ts +34 -0
  295. package/src/node/cli/utils.ts +20 -0
  296. package/src/node/shared/config.ts +69 -0
  297. package/src/node/shared/logger.ts +44 -0
  298. package/src/shared/ajv.ts +111 -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 +222 -0
  303. package/src/shared/brick-manifest.ts +110 -0
  304. package/src/shared/bricks/manifests/accordion.manifest.ts +179 -0
  305. package/src/shared/bricks/manifests/all-manifests.ts +92 -0
  306. package/src/shared/bricks/manifests/button.manifest.ts +145 -0
  307. package/src/shared/bricks/manifests/card.manifest.ts +269 -0
  308. package/src/shared/bricks/manifests/carousel.manifest.ts +106 -0
  309. package/src/shared/bricks/manifests/container.manifest.ts +357 -0
  310. package/src/shared/bricks/manifests/divider.manifest.ts +121 -0
  311. package/src/shared/bricks/manifests/footer.manifest.ts +487 -0
  312. package/src/shared/bricks/manifests/form.manifest.ts +112 -0
  313. package/src/shared/bricks/manifests/hero.manifest.ts +132 -0
  314. package/src/shared/bricks/manifests/icon.manifest.ts +130 -0
  315. package/src/shared/bricks/manifests/image.manifest.ts +203 -0
  316. package/src/shared/bricks/manifests/images-gallery.manifest.ts +227 -0
  317. package/src/shared/bricks/manifests/map.manifest.ts +75 -0
  318. package/src/shared/bricks/manifests/navbar.manifest.ts +344 -0
  319. package/src/shared/bricks/manifests/sidebar.manifest.ts +90 -0
  320. package/src/shared/bricks/manifests/social-links.manifest.ts +370 -0
  321. package/src/shared/bricks/manifests/testimonials.manifest.ts +397 -0
  322. package/src/shared/bricks/manifests/tests/header.manifest.test.ts +10 -0
  323. package/src/shared/bricks/manifests/text.manifest.ts +164 -0
  324. package/src/shared/bricks/manifests/timeline.manifest.ts +456 -0
  325. package/src/shared/bricks/manifests/video.manifest.ts +59 -0
  326. package/src/shared/bricks/props/_style-presets.ts +352 -0
  327. package/src/shared/bricks/props/align.ts +59 -0
  328. package/src/shared/bricks/props/background.ts +118 -0
  329. package/src/shared/bricks/props/boolean.ts +11 -0
  330. package/src/shared/bricks/props/border.ts +84 -0
  331. package/src/shared/bricks/props/color.ts +24 -0
  332. package/src/shared/bricks/props/common.ts +37 -0
  333. package/src/shared/bricks/props/container.ts +356 -0
  334. package/src/shared/bricks/props/css-length.ts +25 -0
  335. package/src/shared/bricks/props/datasource.ts +60 -0
  336. package/src/shared/bricks/props/date.ts +24 -0
  337. package/src/shared/bricks/props/effects.ts +123 -0
  338. package/src/shared/bricks/props/enum.ts +42 -0
  339. package/src/shared/bricks/props/file.ts +12 -0
  340. package/src/shared/bricks/props/geolocation.ts +30 -0
  341. package/src/shared/bricks/props/helpers.ts +101 -0
  342. package/src/shared/bricks/props/image.ts +90 -0
  343. package/src/shared/bricks/props/number.ts +16 -0
  344. package/src/shared/bricks/props/padding.ts +21 -0
  345. package/src/shared/bricks/props/position.ts +27 -0
  346. package/src/shared/bricks/props/preset.ts +136 -0
  347. package/src/shared/bricks/props/string.ts +60 -0
  348. package/src/shared/bricks/props/tests/align.test.ts +37 -0
  349. package/src/shared/bricks/props/tests/background.test.ts +102 -0
  350. package/src/shared/bricks/props/tests/border.test.ts +38 -0
  351. package/src/shared/bricks/props/tests/effects.test.ts +37 -0
  352. package/src/shared/bricks/props/tests/helpers.test.ts +133 -0
  353. package/src/shared/bricks/props/tests/image.test.ts +71 -0
  354. package/src/shared/bricks/props/tests/padding.ts +12 -0
  355. package/src/shared/bricks/props/tests/string.test.ts +79 -0
  356. package/src/shared/bricks/props/text.ts +66 -0
  357. package/src/shared/bricks/props/types.ts +57 -0
  358. package/src/shared/bricks.ts +232 -0
  359. package/src/shared/context.ts +39 -0
  360. package/src/shared/datarecords/external/airtable/handler.ts +21 -0
  361. package/src/shared/datarecords/external/airtable/options.ts +22 -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/handler.ts +26 -0
  366. package/src/shared/datarecords/external/google/sheets/options.ts +9 -0
  367. package/src/shared/datarecords/types.ts +120 -0
  368. package/src/shared/datarecords.ts +5 -0
  369. package/src/shared/datasources/README.md +3 -0
  370. package/src/shared/datasources/external/facebook/posts/fetcher.ts +62 -0
  371. package/src/shared/datasources/external/facebook/posts/sample.ts +35 -0
  372. package/src/shared/datasources/external/facebook/posts/schema.ts +33 -0
  373. package/src/shared/datasources/external/facebook/posts/tests/fetcher.test.ts +91 -0
  374. package/src/shared/datasources/external/http-json/fetcher.ts +28 -0
  375. package/src/shared/datasources/external/http-json/options.ts +12 -0
  376. package/src/shared/datasources/external/http-json/schema.ts +6 -0
  377. package/src/shared/datasources/external/http-json/tests/fetcher.test.ts +70 -0
  378. package/src/shared/datasources/external/instagram/feed/fetcher.ts +43 -0
  379. package/src/shared/datasources/external/instagram/feed/sample.ts +22 -0
  380. package/src/shared/datasources/external/instagram/feed/schema.ts +23 -0
  381. package/src/shared/datasources/external/instagram/feed/tests/fetcher.test.ts +82 -0
  382. package/src/shared/datasources/external/mastodon/account/fetcher.ts +33 -0
  383. package/src/shared/datasources/external/mastodon/account/sample.ts +33 -0
  384. package/src/shared/datasources/external/mastodon/account/schema.ts +45 -0
  385. package/src/shared/datasources/external/mastodon/account/tests/fetcher.test.ts +65 -0
  386. package/src/shared/datasources/external/mastodon/options.ts +11 -0
  387. package/src/shared/datasources/external/mastodon/status/fetcher.ts +45 -0
  388. package/src/shared/datasources/external/mastodon/status/sample.array.ts +59 -0
  389. package/src/shared/datasources/external/mastodon/status/sample.single.ts +55 -0
  390. package/src/shared/datasources/external/mastodon/status/schema.ts +130 -0
  391. package/src/shared/datasources/external/mastodon/status/tests/fetcher.test.ts +74 -0
  392. package/src/shared/datasources/external/meta/oauth/config.ts +16 -0
  393. package/src/shared/datasources/external/meta/options.ts +11 -0
  394. package/src/shared/datasources/external/rss/fetcher.ts +30 -0
  395. package/src/shared/datasources/external/rss/options.ts +11 -0
  396. package/src/shared/datasources/external/rss/sample.ts +22 -0
  397. package/src/shared/datasources/external/rss/schema.ts +42 -0
  398. package/src/shared/datasources/external/threads/media/fetcher.ts +63 -0
  399. package/src/shared/datasources/external/threads/media/sample.ts +44 -0
  400. package/src/shared/datasources/external/threads/media/schema.ts +37 -0
  401. package/src/shared/datasources/external/tiktok/oauth/config.ts +17 -0
  402. package/src/shared/datasources/external/tiktok/video/fetcher.ts +49 -0
  403. package/src/shared/datasources/external/tiktok/video/options.ts +12 -0
  404. package/src/shared/datasources/external/tiktok/video/sample.ts +26 -0
  405. package/src/shared/datasources/external/tiktok/video/schema.ts +27 -0
  406. package/src/shared/datasources/external/youtube/list/fetcher.ts +46 -0
  407. package/src/shared/datasources/external/youtube/list/options.ts +15 -0
  408. package/src/shared/datasources/external/youtube/list/sample.ts +33 -0
  409. package/src/shared/datasources/external/youtube/list/schema.ts +38 -0
  410. package/src/shared/datasources/external/youtube/oauth/config.ts +15 -0
  411. package/src/shared/datasources/fetcher.ts +17 -0
  412. package/src/shared/datasources/internal/blog/schema.ts +69 -0
  413. package/src/shared/datasources/internal/changelog/schema.ts +48 -0
  414. package/src/shared/datasources/internal/contact-info/schema.ts +20 -0
  415. package/src/shared/datasources/internal/cv/schema.ts +217 -0
  416. package/src/shared/datasources/internal/faq/schema.ts +27 -0
  417. package/src/shared/datasources/internal/job-board/schema.ts +228 -0
  418. package/src/shared/datasources/internal/links/schema.ts +15 -0
  419. package/src/shared/datasources/internal/recipes/schema.ts +42 -0
  420. package/src/shared/datasources/internal/restaurant/schema.ts +225 -0
  421. package/src/shared/datasources/provider-options.ts +7 -0
  422. package/src/shared/datasources/samples.ts +26 -0
  423. package/src/shared/datasources/schemas.ts +45 -0
  424. package/src/shared/datasources/types.ts +276 -0
  425. package/src/shared/datasources/utils.ts +16 -0
  426. package/src/shared/datasources.ts +42 -0
  427. package/src/shared/env.ts +23 -0
  428. package/src/shared/errors.ts +1 -0
  429. package/src/shared/images.ts +44 -0
  430. package/src/shared/index.ts +3 -0
  431. package/src/shared/layout-constants.ts +25 -0
  432. package/src/shared/manifest.ts +50 -0
  433. package/src/shared/oauth.ts +16 -0
  434. package/src/shared/page.ts +61 -0
  435. package/src/shared/prompt.ts +9 -0
  436. package/src/shared/responsive.ts +5 -0
  437. package/src/shared/site.ts +97 -0
  438. package/src/shared/sitemap.ts +66 -0
  439. package/src/shared/social-icons.ts +307 -0
  440. package/src/shared/tests/attributes.test.ts +37 -0
  441. package/src/shared/theme.ts +245 -0
  442. package/src/shared/themes/README.md +34 -0
  443. package/src/shared/themes/color-system.ts +127 -0
  444. package/src/shared/utils/canvas-data-uri.ts +2 -0
  445. package/src/shared/utils/invariant.ts +25 -0
  446. package/src/shared/utils/json-date.ts +8 -0
  447. package/src/shared/utils/merge.ts +12 -0
  448. package/src/shared/utils/object-hash.ts +7 -0
  449. package/src/shared/utils/schema.ts +30 -0
  450. package/src/shared/utils/try-catch.ts +12 -0
  451. package/src/shared/utils/typed-ref.ts +41 -0
  452. package/dist/shared/bricks/manifests/countdown.manifest.d.ts +0 -57
  453. package/dist/shared/bricks/manifests/countdown.manifest.d.ts.map +0 -1
  454. package/dist/shared/bricks/manifests/countdown.manifest.js +0 -3
  455. package/dist/shared/bricks/manifests/generic-component.manifest.d.ts +0 -62
  456. package/dist/shared/bricks/manifests/generic-component.manifest.d.ts.map +0 -1
  457. package/dist/shared/bricks/manifests/generic-component.manifest.js +0 -3
  458. package/dist/shared/bricks/manifests/header.manifest.d.ts +0 -275
  459. package/dist/shared/bricks/manifests/header.manifest.d.ts.map +0 -1
  460. package/dist/shared/bricks/manifests/header.manifest.js +0 -3
  461. package/dist/shared/bricks/props/_docs-common-styles.d.ts +0 -59
  462. package/dist/shared/bricks/props/_docs-common-styles.d.ts.map +0 -1
  463. package/dist/shared/bricks/props/_docs-common-styles.js +0 -3
  464. package/dist/shared/bricks/props/tests/container.test.d.ts +0 -2
  465. package/dist/shared/bricks/props/tests/container.test.d.ts.map +0 -1
  466. package/dist/shared/chunk-2ZPY4LCA.js +0 -3
  467. package/dist/shared/chunk-3CY6AZG7.js +0 -3
  468. package/dist/shared/chunk-4K5NN4CN.js +0 -3
  469. package/dist/shared/chunk-4NCCSLBW.js +0 -3
  470. package/dist/shared/chunk-6I4PY5WS.js +0 -3
  471. package/dist/shared/chunk-6LDLGZUM.js +0 -3
  472. package/dist/shared/chunk-AZ63RF3K.js +0 -3
  473. package/dist/shared/chunk-BH4HTAAC.js +0 -3
  474. package/dist/shared/chunk-BK6LBWDI.js +0 -3
  475. package/dist/shared/chunk-BMDB2V7J.js +0 -3
  476. package/dist/shared/chunk-DAPQ4JPP.js +0 -3
  477. package/dist/shared/chunk-ECZ6FGZM.js +0 -3
  478. package/dist/shared/chunk-EFJQECVB.js +0 -3
  479. package/dist/shared/chunk-F2ZVIFHO.js +0 -3
  480. package/dist/shared/chunk-H6L4KRCJ.js +0 -3
  481. package/dist/shared/chunk-IWSVY2VC.js +0 -3
  482. package/dist/shared/chunk-JVDUEZYO.js +0 -3
  483. package/dist/shared/chunk-KB4HY432.js +0 -3
  484. package/dist/shared/chunk-KOTGMAXH.js +0 -3
  485. package/dist/shared/chunk-LDOM2LJF.js +0 -3
  486. package/dist/shared/chunk-NFU5BF6G.js +0 -3
  487. package/dist/shared/chunk-P5FVZ5PL.js +0 -3
  488. package/dist/shared/chunk-PD7P5KSV.js +0 -3
  489. package/dist/shared/chunk-PJ6HA55L.js +0 -3
  490. package/dist/shared/chunk-PSNFBHPU.js +0 -3
  491. package/dist/shared/chunk-PSSJMWGU.js +0 -3
  492. package/dist/shared/chunk-PU2FOOTY.js +0 -3
  493. package/dist/shared/chunk-Q4MXTCE4.js +0 -8
  494. package/dist/shared/chunk-RBYYMUOZ.js +0 -3
  495. package/dist/shared/chunk-S2RQWOG2.js +0 -3
  496. package/dist/shared/chunk-SO5M7CYA.js +0 -3
  497. package/dist/shared/chunk-THRRILTW.js +0 -3
  498. package/dist/shared/chunk-TQ23UATQ.js +0 -3
  499. package/dist/shared/chunk-U44NTSIO.js +0 -3
  500. package/dist/shared/chunk-U4R5EGBK.js +0 -3
  501. package/dist/shared/chunk-WOEBR25A.js +0 -3
  502. package/dist/shared/chunk-WPTVLIYS.js +0 -3
  503. package/dist/shared/chunk-WXKRIUTA.js +0 -3
  504. package/dist/shared/chunk-XBX6II3M.js +0 -3
  505. package/dist/shared/chunk-XEQ2XZLQ.js +0 -3
  506. package/dist/shared/chunk-XGCBIXOO.js +0 -3
  507. package/dist/shared/chunk-YY6DANZF.js +0 -3
  508. package/dist/shared/chunk-ZWQHIQEQ.js +0 -3
  509. package/dist/shared/datasources/external/json/fetcher.d.ts.map +0 -1
  510. package/dist/shared/datasources/external/json/options.d.ts.map +0 -1
  511. package/dist/shared/datasources/external/json/schema.d.ts.map +0 -1
  512. package/dist/shared/datasources/external/json/tests/fetcher.test.d.ts.map +0 -1
  513. package/dist/shared/datasources/external/rss/tests/fetcher.test.d.ts +0 -2
  514. package/dist/shared/datasources/external/rss/tests/fetcher.test.d.ts.map +0 -1
  515. package/dist/shared/template.d.ts +0 -898
  516. package/dist/shared/template.d.ts.map +0 -1
  517. package/dist/shared/template.js +0 -3
  518. package/dist/shared/tests/page.test.d.ts +0 -2
  519. package/dist/shared/tests/page.test.d.ts.map +0 -1
  520. package/dist/shared/tests/test-config.d.ts +0 -3
  521. package/dist/shared/tests/test-config.d.ts.map +0 -1
  522. package/dist/shared/themes/all-themes.d.ts +0 -3
  523. package/dist/shared/themes/all-themes.d.ts.map +0 -1
  524. package/dist/shared/themes/all-themes.js +0 -3
  525. /package/dist/shared/datasources/external/{json → http-json}/fetcher.d.ts +0 -0
  526. /package/dist/shared/datasources/external/{json → http-json}/options.d.ts +0 -0
  527. /package/dist/shared/datasources/external/{json → http-json}/tests/fetcher.test.d.ts +0 -0
@@ -3,172 +3,281 @@ import { type Static } from "@sinclair/typebox";
3
3
  * Generates a unique identifier for bricks.
4
4
  */
5
5
  export declare const generateId: (size?: number) => string;
6
- declare const brickPositionSchema: import("@sinclair/typebox").TObject<{
7
- x: import("@sinclair/typebox").TNumber;
8
- y: import("@sinclair/typebox").TNumber;
9
- w: import("@sinclair/typebox").TNumber;
10
- h: import("@sinclair/typebox").TNumber;
11
- manualHeight: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
12
- hidden: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
6
+ declare const brickAbsolutePositionSchema: import("@sinclair/typebox").TObject<{
7
+ left: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
8
+ top: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
9
+ right: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
10
+ bottom: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
11
+ inset: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
12
+ translateX: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
13
+ translateY: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
14
+ rotate: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
13
15
  }>;
14
- export type BrickPosition = Static<typeof brickPositionSchema>;
15
- declare const definedBrickPositionSchema: import("@sinclair/typebox").TObject<{
16
- x: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TNumber, import("@sinclair/typebox").TLiteral<"half">, import("@sinclair/typebox").TLiteral<"third">, import("@sinclair/typebox").TLiteral<"twoThird">, import("@sinclair/typebox").TLiteral<"quarter">, import("@sinclair/typebox").TLiteral<"threeQuarter">]>;
17
- y: import("@sinclair/typebox").TNumber;
18
- w: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TNumber, import("@sinclair/typebox").TLiteral<"full">, import("@sinclair/typebox").TLiteral<"half">, import("@sinclair/typebox").TLiteral<"third">, import("@sinclair/typebox").TLiteral<"twoThird">, import("@sinclair/typebox").TLiteral<"quarter">, import("@sinclair/typebox").TLiteral<"threeQuarter">]>;
19
- h: import("@sinclair/typebox").TNumber;
20
- hidden: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
21
- }>;
22
- export type DefinedBrickPosition = Static<typeof definedBrickPositionSchema>;
16
+ export type BrickAbsolutePosition = Static<typeof brickAbsolutePositionSchema>;
17
+ export declare const brickTypeSchema: import("@sinclair/typebox").TUnsafe<string>;
23
18
  export declare const brickSchema: import("@sinclair/typebox").TObject<{
24
19
  id: import("@sinclair/typebox").TString;
25
- type: import("@sinclair/typebox").TString;
26
- props: import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TUnknown>;
27
- mobileProps: import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TUnknown>;
28
- parentId: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
29
- sectionId: import("@sinclair/typebox").TString;
30
- $children: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TRef<"brick">>>;
31
- position: import("@sinclair/typebox").TObject<{
32
- mobile: import("@sinclair/typebox").TObject<{
33
- x: import("@sinclair/typebox").TNumber;
34
- y: import("@sinclair/typebox").TNumber;
35
- w: import("@sinclair/typebox").TNumber;
36
- h: import("@sinclair/typebox").TNumber;
37
- manualHeight: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
38
- hidden: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
39
- }>;
40
- desktop: import("@sinclair/typebox").TObject<{
41
- x: import("@sinclair/typebox").TNumber;
42
- y: import("@sinclair/typebox").TNumber;
43
- w: import("@sinclair/typebox").TNumber;
44
- h: import("@sinclair/typebox").TNumber;
45
- manualHeight: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
46
- hidden: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
47
- }>;
48
- }>;
20
+ type: import("@sinclair/typebox").TUnsafe<string>;
21
+ props: import("@sinclair/typebox").TAny;
22
+ mobileProps: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{}>>;
49
23
  }>;
50
24
  export type Brick = Static<typeof brickSchema>;
51
- export type BricksLayout = Brick[];
52
- export declare const definedBrickSchema: import("@sinclair/typebox").TObject<{
53
- type: import("@sinclair/typebox").TString;
54
- props: import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TUnknown>;
55
- $children: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TRef<"brick">>>;
56
- parentId: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
57
- sectionId: import("@sinclair/typebox").TString;
58
- position: import("@sinclair/typebox").TObject<{
59
- mobile: import("@sinclair/typebox").TObject<{
60
- x: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TNumber, import("@sinclair/typebox").TLiteral<"half">, import("@sinclair/typebox").TLiteral<"third">, import("@sinclair/typebox").TLiteral<"twoThird">, import("@sinclair/typebox").TLiteral<"quarter">, import("@sinclair/typebox").TLiteral<"threeQuarter">]>;
61
- y: import("@sinclair/typebox").TNumber;
62
- w: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TNumber, import("@sinclair/typebox").TLiteral<"full">, import("@sinclair/typebox").TLiteral<"half">, import("@sinclair/typebox").TLiteral<"third">, import("@sinclair/typebox").TLiteral<"twoThird">, import("@sinclair/typebox").TLiteral<"quarter">, import("@sinclair/typebox").TLiteral<"threeQuarter">]>;
63
- h: import("@sinclair/typebox").TNumber;
64
- hidden: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
65
- }>;
66
- desktop: import("@sinclair/typebox").TObject<{
67
- x: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TNumber, import("@sinclair/typebox").TLiteral<"half">, import("@sinclair/typebox").TLiteral<"third">, import("@sinclair/typebox").TLiteral<"twoThird">, import("@sinclair/typebox").TLiteral<"quarter">, import("@sinclair/typebox").TLiteral<"threeQuarter">]>;
68
- y: import("@sinclair/typebox").TNumber;
69
- w: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TNumber, import("@sinclair/typebox").TLiteral<"full">, import("@sinclair/typebox").TLiteral<"half">, import("@sinclair/typebox").TLiteral<"third">, import("@sinclair/typebox").TLiteral<"twoThird">, import("@sinclair/typebox").TLiteral<"quarter">, import("@sinclair/typebox").TLiteral<"threeQuarter">]>;
70
- h: import("@sinclair/typebox").TNumber;
71
- hidden: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
72
- }>;
73
- }>;
74
- id: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
75
- mobileProps: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TUnknown>>;
25
+ export declare const sectionProps: import("@sinclair/typebox").TObject<{
26
+ layout: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
27
+ gap: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
28
+ direction: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnsafe<"flex-row" | "flex-col">>;
29
+ columns: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
30
+ wrap: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
31
+ fillSpace: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
32
+ justifyContent: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnsafe<"justify-start" | "justify-center" | "justify-end" | "justify-between" | "justify-around" | "justify-evenly" | "justify-stretch">>;
33
+ alignItems: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"items-start">, import("@sinclair/typebox").TLiteral<"items-center">, import("@sinclair/typebox").TLiteral<"items-end">, import("@sinclair/typebox").TLiteral<"items-stretch">]>>;
34
+ type?: import("@sinclair/typebox").TUnsafe<"flex" | "grid"> | undefined;
35
+ }>> | import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
36
+ type: import("@sinclair/typebox").TUnsafe<"flex" | "grid">;
37
+ gap: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
38
+ direction: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnsafe<"flex-row" | "flex-col">>;
39
+ columns: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
40
+ wrap: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
41
+ fillSpace: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
42
+ justifyContent: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnsafe<"justify-start" | "justify-center" | "justify-end" | "justify-between" | "justify-around" | "justify-evenly" | "justify-stretch">>;
43
+ alignItems: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"items-start">, import("@sinclair/typebox").TLiteral<"items-center">, import("@sinclair/typebox").TLiteral<"items-end">, import("@sinclair/typebox").TLiteral<"items-stretch">]>>;
44
+ }>>;
45
+ background: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
46
+ color: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
47
+ image: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
48
+ size: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"auto">, import("@sinclair/typebox").TLiteral<"cover">, import("@sinclair/typebox").TLiteral<"contain">]>>;
49
+ repeat: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"no-repeat">, import("@sinclair/typebox").TLiteral<"repeat">, import("@sinclair/typebox").TLiteral<"repeat-x">, import("@sinclair/typebox").TLiteral<"repeat-y">, import("@sinclair/typebox").TLiteral<"space">, import("@sinclair/typebox").TLiteral<"round">]>>;
50
+ }>>;
51
+ preset: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"surface-1">, import("@sinclair/typebox").TLiteral<"surface-2">, import("@sinclair/typebox").TLiteral<"surface-3">, import("@sinclair/typebox").TLiteral<"prominent-primary">, import("@sinclair/typebox").TLiteral<"prominent-secondary">, import("@sinclair/typebox").TLiteral<"prominent-accent">, import("@sinclair/typebox").TLiteral<"medium-primary">, import("@sinclair/typebox").TLiteral<"medium-secondary">, import("@sinclair/typebox").TLiteral<"medium-accent">, import("@sinclair/typebox").TLiteral<"subtle-primary">, import("@sinclair/typebox").TLiteral<"subtle-secondary">, import("@sinclair/typebox").TLiteral<"subtle-accent">, import("@sinclair/typebox").TLiteral<"preset-none">]>>;
52
+ border: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
53
+ rounding: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnsafe<"rounded-auto" | "rounded-none" | "rounded-sm" | "rounded-md" | "rounded-lg" | "rounded-xl" | "rounded-2xl" | "rounded-3xl" | "rounded-full">>;
54
+ width: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnsafe<"border" | "border-0" | "border-2" | "border-4" | "border-8">>;
55
+ color: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
56
+ sides: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TUnsafe<"border-l" | "border-t" | "border-r" | "border-b">>>;
57
+ style: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnsafe<"border-solid" | "border-dashed" | "border-dotted">>;
58
+ }>> | import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
59
+ color: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
60
+ rounding: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnsafe<"rounded-auto" | "rounded-none" | "rounded-sm" | "rounded-md" | "rounded-lg" | "rounded-xl" | "rounded-2xl" | "rounded-3xl" | "rounded-full">>;
61
+ width: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnsafe<"border" | "border-0" | "border-2" | "border-4" | "border-8">>;
62
+ sides: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TUnsafe<"border-l" | "border-t" | "border-r" | "border-b">>>;
63
+ style: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnsafe<"border-solid" | "border-dashed" | "border-dotted">>;
64
+ }>>;
65
+ minHeight: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
66
+ maxWidth: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<import("@sinclair/typebox").TLiteral<string>[]>>;
67
+ horizontalPadding: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
68
+ verticalPadding: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
69
+ lastTouched: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
76
70
  }>;
77
- export type DefinedBrick = Static<typeof definedBrickSchema>;
78
71
  export declare const sectionSchema: import("@sinclair/typebox").TObject<{
79
72
  id: import("@sinclair/typebox").TString;
80
- kind: import("@sinclair/typebox").TLiteral<"section">;
81
73
  label: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
82
- position: import("@sinclair/typebox").TObject<{
83
- mobile: import("@sinclair/typebox").TObject<{
84
- h: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TNumber, import("@sinclair/typebox").TLiteral<"full">]>>;
85
- }>;
86
- desktop: import("@sinclair/typebox").TObject<{
87
- h: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TNumber, import("@sinclair/typebox").TLiteral<"full">]>;
88
- }>;
89
- }>;
90
74
  order: import("@sinclair/typebox").TNumber;
91
75
  props: import("@sinclair/typebox").TObject<{
92
- background: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
93
- color: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
94
- image: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
95
- size: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"auto">, import("@sinclair/typebox").TLiteral<"cover">, import("@sinclair/typebox").TLiteral<"contain">]>>;
96
- repeat: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"no-repeat">, import("@sinclair/typebox").TLiteral<"repeat">, import("@sinclair/typebox").TLiteral<"repeat-x">, import("@sinclair/typebox").TLiteral<"repeat-y">, import("@sinclair/typebox").TLiteral<"space">, import("@sinclair/typebox").TLiteral<"round">]>>;
76
+ layout: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
77
+ gap: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
78
+ direction: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnsafe<"flex-row" | "flex-col">>;
79
+ columns: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
80
+ wrap: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
81
+ fillSpace: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
82
+ justifyContent: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnsafe<"justify-start" | "justify-center" | "justify-end" | "justify-between" | "justify-around" | "justify-evenly" | "justify-stretch">>;
83
+ alignItems: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"items-start">, import("@sinclair/typebox").TLiteral<"items-center">, import("@sinclair/typebox").TLiteral<"items-end">, import("@sinclair/typebox").TLiteral<"items-stretch">]>>;
84
+ type?: import("@sinclair/typebox").TUnsafe<"flex" | "grid"> | undefined;
85
+ }>> | import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
86
+ type: import("@sinclair/typebox").TUnsafe<"flex" | "grid">;
87
+ gap: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
88
+ direction: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnsafe<"flex-row" | "flex-col">>;
89
+ columns: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
90
+ wrap: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
91
+ fillSpace: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
92
+ justifyContent: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnsafe<"justify-start" | "justify-center" | "justify-end" | "justify-between" | "justify-around" | "justify-evenly" | "justify-stretch">>;
93
+ alignItems: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"items-start">, import("@sinclair/typebox").TLiteral<"items-center">, import("@sinclair/typebox").TLiteral<"items-end">, import("@sinclair/typebox").TLiteral<"items-stretch">]>>;
97
94
  }>>;
98
- width: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<import("@sinclair/typebox").TLiteral<string>[]>>;
99
- $paddingHorizontal: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
100
- lastTouched: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
101
- }>;
102
- mobileProps: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
103
95
  background: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
104
96
  color: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
105
97
  image: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
106
98
  size: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"auto">, import("@sinclair/typebox").TLiteral<"cover">, import("@sinclair/typebox").TLiteral<"contain">]>>;
107
99
  repeat: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"no-repeat">, import("@sinclair/typebox").TLiteral<"repeat">, import("@sinclair/typebox").TLiteral<"repeat-x">, import("@sinclair/typebox").TLiteral<"repeat-y">, import("@sinclair/typebox").TLiteral<"space">, import("@sinclair/typebox").TLiteral<"round">]>>;
108
100
  }>>;
109
- width: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<import("@sinclair/typebox").TLiteral<string>[]>>;
110
- $paddingHorizontal: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
111
- lastTouched: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
112
- }>>;
113
- }>;
114
- export type Section = Static<typeof sectionSchema>;
115
- export type ResponsivePosition = Brick["position"];
116
- export declare const definedSectionSchema: import("@sinclair/typebox").TObject<{
117
- id: import("@sinclair/typebox").TString;
118
- order: import("@sinclair/typebox").TNumber;
119
- position: import("@sinclair/typebox").TObject<{
120
- mobile: import("@sinclair/typebox").TObject<{
121
- h: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TNumber, import("@sinclair/typebox").TLiteral<"full">]>>;
122
- }>;
123
- desktop: import("@sinclair/typebox").TObject<{
124
- h: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TNumber, import("@sinclair/typebox").TLiteral<"full">]>;
125
- }>;
126
- }>;
127
- label: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
128
- props: import("@sinclair/typebox").TObject<{
129
- background: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
101
+ preset: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"surface-1">, import("@sinclair/typebox").TLiteral<"surface-2">, import("@sinclair/typebox").TLiteral<"surface-3">, import("@sinclair/typebox").TLiteral<"prominent-primary">, import("@sinclair/typebox").TLiteral<"prominent-secondary">, import("@sinclair/typebox").TLiteral<"prominent-accent">, import("@sinclair/typebox").TLiteral<"medium-primary">, import("@sinclair/typebox").TLiteral<"medium-secondary">, import("@sinclair/typebox").TLiteral<"medium-accent">, import("@sinclair/typebox").TLiteral<"subtle-primary">, import("@sinclair/typebox").TLiteral<"subtle-secondary">, import("@sinclair/typebox").TLiteral<"subtle-accent">, import("@sinclair/typebox").TLiteral<"preset-none">]>>;
102
+ border: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
103
+ rounding: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnsafe<"rounded-auto" | "rounded-none" | "rounded-sm" | "rounded-md" | "rounded-lg" | "rounded-xl" | "rounded-2xl" | "rounded-3xl" | "rounded-full">>;
104
+ width: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnsafe<"border" | "border-0" | "border-2" | "border-4" | "border-8">>;
130
105
  color: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
131
- image: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
132
- size: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"auto">, import("@sinclair/typebox").TLiteral<"cover">, import("@sinclair/typebox").TLiteral<"contain">]>>;
133
- repeat: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"no-repeat">, import("@sinclair/typebox").TLiteral<"repeat">, import("@sinclair/typebox").TLiteral<"repeat-x">, import("@sinclair/typebox").TLiteral<"repeat-y">, import("@sinclair/typebox").TLiteral<"space">, import("@sinclair/typebox").TLiteral<"round">]>>;
106
+ sides: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TUnsafe<"border-l" | "border-t" | "border-r" | "border-b">>>;
107
+ style: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnsafe<"border-solid" | "border-dashed" | "border-dotted">>;
108
+ }>> | import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
109
+ color: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
110
+ rounding: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnsafe<"rounded-auto" | "rounded-none" | "rounded-sm" | "rounded-md" | "rounded-lg" | "rounded-xl" | "rounded-2xl" | "rounded-3xl" | "rounded-full">>;
111
+ width: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnsafe<"border" | "border-0" | "border-2" | "border-4" | "border-8">>;
112
+ sides: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TUnsafe<"border-l" | "border-t" | "border-r" | "border-b">>>;
113
+ style: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnsafe<"border-solid" | "border-dashed" | "border-dotted">>;
134
114
  }>>;
135
- width: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<import("@sinclair/typebox").TLiteral<string>[]>>;
136
- $paddingHorizontal: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
115
+ minHeight: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
116
+ maxWidth: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<import("@sinclair/typebox").TLiteral<string>[]>>;
117
+ horizontalPadding: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
118
+ verticalPadding: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
137
119
  lastTouched: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
138
120
  }>;
139
121
  mobileProps: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
122
+ layout: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
123
+ gap: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
124
+ direction: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnsafe<"flex-row" | "flex-col">>;
125
+ columns: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
126
+ wrap: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
127
+ fillSpace: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
128
+ justifyContent: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnsafe<"justify-start" | "justify-center" | "justify-end" | "justify-between" | "justify-around" | "justify-evenly" | "justify-stretch">>;
129
+ alignItems: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"items-start">, import("@sinclair/typebox").TLiteral<"items-center">, import("@sinclair/typebox").TLiteral<"items-end">, import("@sinclair/typebox").TLiteral<"items-stretch">]>>;
130
+ type?: import("@sinclair/typebox").TUnsafe<"flex" | "grid"> | undefined;
131
+ }>> | import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
132
+ type: import("@sinclair/typebox").TUnsafe<"flex" | "grid">;
133
+ gap: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
134
+ direction: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnsafe<"flex-row" | "flex-col">>;
135
+ columns: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
136
+ wrap: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
137
+ fillSpace: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
138
+ justifyContent: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnsafe<"justify-start" | "justify-center" | "justify-end" | "justify-between" | "justify-around" | "justify-evenly" | "justify-stretch">>;
139
+ alignItems: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"items-start">, import("@sinclair/typebox").TLiteral<"items-center">, import("@sinclair/typebox").TLiteral<"items-end">, import("@sinclair/typebox").TLiteral<"items-stretch">]>>;
140
+ }>>>;
140
141
  background: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
141
142
  color: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
142
143
  image: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
143
144
  size: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"auto">, import("@sinclair/typebox").TLiteral<"cover">, import("@sinclair/typebox").TLiteral<"contain">]>>;
144
145
  repeat: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"no-repeat">, import("@sinclair/typebox").TLiteral<"repeat">, import("@sinclair/typebox").TLiteral<"repeat-x">, import("@sinclair/typebox").TLiteral<"repeat-y">, import("@sinclair/typebox").TLiteral<"space">, import("@sinclair/typebox").TLiteral<"round">]>>;
145
146
  }>>;
146
- width: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<import("@sinclair/typebox").TLiteral<string>[]>>;
147
- $paddingHorizontal: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
147
+ preset: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"surface-1">, import("@sinclair/typebox").TLiteral<"surface-2">, import("@sinclair/typebox").TLiteral<"surface-3">, import("@sinclair/typebox").TLiteral<"prominent-primary">, import("@sinclair/typebox").TLiteral<"prominent-secondary">, import("@sinclair/typebox").TLiteral<"prominent-accent">, import("@sinclair/typebox").TLiteral<"medium-primary">, import("@sinclair/typebox").TLiteral<"medium-secondary">, import("@sinclair/typebox").TLiteral<"medium-accent">, import("@sinclair/typebox").TLiteral<"subtle-primary">, import("@sinclair/typebox").TLiteral<"subtle-secondary">, import("@sinclair/typebox").TLiteral<"subtle-accent">, import("@sinclair/typebox").TLiteral<"preset-none">]>>;
148
+ border: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
149
+ rounding: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnsafe<"rounded-auto" | "rounded-none" | "rounded-sm" | "rounded-md" | "rounded-lg" | "rounded-xl" | "rounded-2xl" | "rounded-3xl" | "rounded-full">>;
150
+ width: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnsafe<"border" | "border-0" | "border-2" | "border-4" | "border-8">>;
151
+ color: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
152
+ sides: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TUnsafe<"border-l" | "border-t" | "border-r" | "border-b">>>;
153
+ style: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnsafe<"border-solid" | "border-dashed" | "border-dotted">>;
154
+ }>> | import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
155
+ color: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
156
+ rounding: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnsafe<"rounded-auto" | "rounded-none" | "rounded-sm" | "rounded-md" | "rounded-lg" | "rounded-xl" | "rounded-2xl" | "rounded-3xl" | "rounded-full">>;
157
+ width: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnsafe<"border" | "border-0" | "border-2" | "border-4" | "border-8">>;
158
+ sides: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TUnsafe<"border-l" | "border-t" | "border-r" | "border-b">>>;
159
+ style: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnsafe<"border-solid" | "border-dashed" | "border-dotted">>;
160
+ }>>>;
161
+ minHeight: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
162
+ maxWidth: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<import("@sinclair/typebox").TLiteral<string>[]>>;
163
+ horizontalPadding: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
164
+ verticalPadding: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
148
165
  lastTouched: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
149
166
  }>>;
167
+ bricks: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
168
+ id: import("@sinclair/typebox").TString;
169
+ type: import("@sinclair/typebox").TUnsafe<string>;
170
+ props: import("@sinclair/typebox").TAny;
171
+ mobileProps: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{}>>;
172
+ }>>;
150
173
  }>;
151
- export type DefinedSection = Omit<Section, "kind">;
152
- export type LayoutCols = {
153
- mobile: number;
154
- desktop: number;
155
- };
156
- export declare function defineSections(sections: DefinedSection[]): Section[];
157
- export declare function defineBricks<B extends DefinedBrick[] = DefinedBrick[]>(bricks: B): Brick[];
158
- export declare function getPositionDefaults(): {
159
- desktop: {
160
- w: number;
161
- h: number;
162
- x: number;
163
- y: number;
164
- };
165
- mobile: {
166
- w: number;
167
- h: number;
168
- x: number;
169
- y: number;
174
+ export type Section = Static<typeof sectionSchema>;
175
+ export declare function processSections(sections: Section[]): {
176
+ readonly bricks: {
177
+ mobileProps?: {} | undefined;
178
+ type: string;
179
+ props: any;
180
+ id: string;
181
+ }[];
182
+ readonly mobileProps?: {
183
+ background?: {
184
+ repeat?: "repeat" | "no-repeat" | "repeat-x" | "repeat-y" | "space" | "round" | undefined;
185
+ color?: string | undefined;
186
+ image?: string | undefined;
187
+ size?: "auto" | "cover" | "contain" | undefined;
188
+ } | undefined;
189
+ border?: {
190
+ color?: string | undefined;
191
+ rounding?: "rounded-auto" | "rounded-none" | "rounded-sm" | "rounded-md" | "rounded-lg" | "rounded-xl" | "rounded-2xl" | "rounded-3xl" | "rounded-full" | undefined;
192
+ width?: "border" | "border-0" | "border-2" | "border-4" | "border-8" | undefined;
193
+ sides?: ("border-l" | "border-t" | "border-r" | "border-b")[] | undefined;
194
+ style?: "border-solid" | "border-dashed" | "border-dotted" | undefined;
195
+ } | {
196
+ color?: string | undefined;
197
+ rounding?: "rounded-auto" | "rounded-none" | "rounded-sm" | "rounded-md" | "rounded-lg" | "rounded-xl" | "rounded-2xl" | "rounded-3xl" | "rounded-full" | undefined;
198
+ width?: "border" | "border-0" | "border-2" | "border-4" | "border-8" | undefined;
199
+ sides?: ("border-l" | "border-t" | "border-r" | "border-b")[] | undefined;
200
+ style?: "border-solid" | "border-dashed" | "border-dotted" | undefined;
201
+ } | undefined;
202
+ preset?: "surface-1" | "surface-2" | "surface-3" | "prominent-primary" | "prominent-secondary" | "prominent-accent" | "medium-primary" | "medium-secondary" | "medium-accent" | "subtle-primary" | "subtle-secondary" | "subtle-accent" | "preset-none" | undefined;
203
+ minHeight?: string | undefined;
204
+ maxWidth?: string | undefined;
205
+ lastTouched?: number | undefined;
206
+ layout?: {
207
+ gap?: string | undefined;
208
+ direction?: "flex-row" | "flex-col" | undefined;
209
+ columns?: number | undefined;
210
+ wrap?: boolean | undefined;
211
+ fillSpace?: boolean | undefined;
212
+ justifyContent?: "justify-start" | "justify-center" | "justify-end" | "justify-between" | "justify-around" | "justify-evenly" | "justify-stretch" | undefined;
213
+ alignItems?: "items-start" | "items-center" | "items-end" | "items-stretch" | undefined;
214
+ type: "flex" | "grid";
215
+ } | {
216
+ gap?: string | undefined;
217
+ direction?: "flex-row" | "flex-col" | undefined;
218
+ columns?: number | undefined;
219
+ wrap?: boolean | undefined;
220
+ fillSpace?: boolean | undefined;
221
+ justifyContent?: "justify-start" | "justify-center" | "justify-end" | "justify-between" | "justify-around" | "justify-evenly" | "justify-stretch" | undefined;
222
+ alignItems?: "items-start" | "items-center" | "items-end" | "items-stretch" | undefined;
223
+ type: "flex" | "grid";
224
+ } | undefined;
225
+ horizontalPadding?: string | undefined;
226
+ verticalPadding?: string | undefined;
227
+ } | undefined;
228
+ readonly label?: string | undefined;
229
+ readonly props: {
230
+ background?: {
231
+ repeat?: "repeat" | "no-repeat" | "repeat-x" | "repeat-y" | "space" | "round" | undefined;
232
+ color?: string | undefined;
233
+ image?: string | undefined;
234
+ size?: "auto" | "cover" | "contain" | undefined;
235
+ } | undefined;
236
+ border?: {
237
+ color?: string | undefined;
238
+ rounding?: "rounded-auto" | "rounded-none" | "rounded-sm" | "rounded-md" | "rounded-lg" | "rounded-xl" | "rounded-2xl" | "rounded-3xl" | "rounded-full" | undefined;
239
+ width?: "border" | "border-0" | "border-2" | "border-4" | "border-8" | undefined;
240
+ sides?: ("border-l" | "border-t" | "border-r" | "border-b")[] | undefined;
241
+ style?: "border-solid" | "border-dashed" | "border-dotted" | undefined;
242
+ } | {
243
+ color?: string | undefined;
244
+ rounding?: "rounded-auto" | "rounded-none" | "rounded-sm" | "rounded-md" | "rounded-lg" | "rounded-xl" | "rounded-2xl" | "rounded-3xl" | "rounded-full" | undefined;
245
+ width?: "border" | "border-0" | "border-2" | "border-4" | "border-8" | undefined;
246
+ sides?: ("border-l" | "border-t" | "border-r" | "border-b")[] | undefined;
247
+ style?: "border-solid" | "border-dashed" | "border-dotted" | undefined;
248
+ } | undefined;
249
+ preset?: "surface-1" | "surface-2" | "surface-3" | "prominent-primary" | "prominent-secondary" | "prominent-accent" | "medium-primary" | "medium-secondary" | "medium-accent" | "subtle-primary" | "subtle-secondary" | "subtle-accent" | "preset-none" | undefined;
250
+ minHeight?: string | undefined;
251
+ maxWidth?: string | undefined;
252
+ lastTouched?: number | undefined;
253
+ layout?: {
254
+ gap?: string | undefined;
255
+ direction?: "flex-row" | "flex-col" | undefined;
256
+ columns?: number | undefined;
257
+ wrap?: boolean | undefined;
258
+ fillSpace?: boolean | undefined;
259
+ justifyContent?: "justify-start" | "justify-center" | "justify-end" | "justify-between" | "justify-around" | "justify-evenly" | "justify-stretch" | undefined;
260
+ alignItems?: "items-start" | "items-center" | "items-end" | "items-stretch" | undefined;
261
+ type: "flex" | "grid";
262
+ } | {
263
+ gap?: string | undefined;
264
+ direction?: "flex-row" | "flex-col" | undefined;
265
+ columns?: number | undefined;
266
+ wrap?: boolean | undefined;
267
+ fillSpace?: boolean | undefined;
268
+ justifyContent?: "justify-start" | "justify-center" | "justify-end" | "justify-between" | "justify-around" | "justify-evenly" | "justify-stretch" | undefined;
269
+ alignItems?: "items-start" | "items-center" | "items-end" | "items-stretch" | undefined;
270
+ type: "flex" | "grid";
271
+ } | undefined;
272
+ horizontalPadding?: string | undefined;
273
+ verticalPadding?: string | undefined;
170
274
  };
171
- };
172
- export declare function defineBrick(brick: DefinedBrick): Brick;
275
+ readonly id: string;
276
+ readonly order: number;
277
+ }[];
278
+ /**
279
+ * process a brick and add default props
280
+ */
281
+ export declare function processBrick<T extends Brick>(brick: T): T;
173
282
  export {};
174
283
  //# sourceMappingURL=bricks.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"bricks.d.ts","sourceRoot":"","sources":["../../src/shared/bricks.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,KAAK,MAAM,EAAgB,MAAM,mBAAmB,CAAC;AASpE;;GAEG;AACH,eAAO,MAAM,UAAU,2BAAsF,CAAC;AAE9G,QAAA,MAAM,mBAAmB;;;;;;;EA8BxB,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG,MAAM,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAE/D,QAAA,MAAM,0BAA0B;;;;;;EA+C9B,CAAC;AAEH,MAAM,MAAM,oBAAoB,GAAG,MAAM,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAE7E,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;EA0BvB,CAAC;AAEF,MAAM,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,WAAW,CAAC,CAAC;AAC/C,MAAM,MAAM,YAAY,GAAG,KAAK,EAAE,CAAC;AAEnC,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;EAU7B,CAAC;AAEH,MAAM,MAAM,YAAY,GAAG,MAAM,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAyC7D,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAoBzB,CAAC;AAEF,MAAM,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,aAAa,CAAC,CAAC;AACnD,MAAM,MAAM,kBAAkB,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC;AAEnD,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAAqC,CAAC;AACvE,MAAM,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;AAEnD,MAAM,MAAM,UAAU,GAAG;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAwCF,wBAAgB,cAAc,CAAC,QAAQ,EAAE,cAAc,EAAE,GAAG,OAAO,EAAE,CAQpE;AAED,wBAAgB,YAAY,CAAC,CAAC,SAAS,YAAY,EAAE,GAAG,YAAY,EAAE,EAAE,MAAM,EAAE,CAAC,GAAG,KAAK,EAAE,CAE1F;AAED,wBAAgB,mBAAmB;;;;;;;;;;;;;EAelC;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,YAAY,GAAG,KAAK,CA4BtD"}
1
+ {"version":3,"file":"bricks.d.ts","sourceRoot":"","sources":["../../src/shared/bricks.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,KAAK,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAYtD;;GAEG;AACH,eAAO,MAAM,UAAU,2BAAsF,CAAC;AAE9G,QAAA,MAAM,2BAA2B;;;;;;;;;EAiD/B,CAAC;AAEH,MAAM,MAAM,qBAAqB,GAAG,MAAM,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAE/E,eAAO,MAAM,eAAe,6CAE1B,CAAC;AAEH,eAAO,MAAM,WAAW;;;;;EAmDvB,CAAC;AAEF,MAAM,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,WAAW,CAAC,CAAC;AAE/C,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAsDxB,CAAC;AAEF,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAoBzB,CAAC;AAEF,MAAM,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,aAAa,CAAC,CAAC;AAEnD,wBAAgB,eAAe,CAAC,QAAQ,EAAE,OAAO,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAOlD;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,CAAC,SAAS,KAAK,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC,CAUzD"}
@@ -1,3 +1,3 @@
1
1
  /*! Upstart.gg - Copyright (C) 2024 Flippable - https://github.com/upstart-gg/upstart/blob/main/LICENSE */
2
2
 
3
- import{a,b,c,d,e,f,g,h,i}from"./chunk-BH4HTAAC.js";import"./chunk-WJ5CDDXW.js";import"./chunk-4NCCSLBW.js";import"./chunk-ZWQHIQEQ.js";import"./chunk-PU2FOOTY.js";import"./chunk-TQ23UATQ.js";import"./chunk-PSNFBHPU.js";import"./chunk-OELIU5BZ.js";import"./chunk-DAPQ4JPP.js";import"./chunk-WOEBR25A.js";import"./chunk-BK6LBWDI.js";import"./chunk-6I4PY5WS.js";import"./chunk-3CY6AZG7.js";import"./chunk-ECZ6FGZM.js";import"./chunk-AZ63RF3K.js";import"./chunk-PJ6HA55L.js";import"./chunk-U4R5EGBK.js";import"./chunk-HIZPJNEM.js";import"./chunk-KB4HY432.js";import"./chunk-Q4MXTCE4.js";import"./chunk-THRRILTW.js";import"./chunk-JVDUEZYO.js";import"./chunk-FGU4BGP4.js";import"./chunk-XGCBIXOO.js";import"./chunk-4K5NN4CN.js";import"./chunk-XBX6II3M.js";import"./chunk-XEQ2XZLQ.js";import"./chunk-RBYYMUOZ.js";import"./chunk-SO5M7CYA.js";import"./chunk-IWSVY2VC.js";import"./chunk-F2ZVIFHO.js";import"./chunk-NFU5BF6G.js";import"./chunk-EFJQECVB.js";import"./chunk-U44NTSIO.js";import"./chunk-P5FVZ5PL.js";import"./chunk-LDOM2LJF.js";import"./chunk-PD7P5KSV.js";import"./chunk-WPTVLIYS.js";import"./chunk-BMDB2V7J.js";import"./chunk-PSSJMWGU.js";export{b as brickSchema,i as defineBrick,g as defineBricks,f as defineSections,c as definedBrickSchema,e as definedSectionSchema,a as generateId,h as getPositionDefaults,d as sectionSchema};
3
+ import{a,b,c,d,e,f,g}from"./chunk-QPATZM3I.js";import"./chunk-G7LX3UKQ.js";import"./chunk-H24R3IWA.js";import"./chunk-RDBEWW4G.js";import"./chunk-VLGLD6GR.js";import"./chunk-BTKLQQZA.js";import"./chunk-PK3R5VOF.js";import"./chunk-OELIU5BZ.js";import"./chunk-5K5C6XFX.js";import"./chunk-5HYPCOSS.js";import"./chunk-MITJPRGD.js";import"./chunk-U5XOIYSS.js";import"./chunk-GGJBTPGW.js";import"./chunk-6QS5PKLA.js";import"./chunk-3RHYJ6E7.js";import"./chunk-V6BCYHZH.js";import"./chunk-Z7SYP6FG.js";import"./chunk-SUG225LF.js";import"./chunk-OUI2VDNM.js";import"./chunk-RPBQZW5I.js";import"./chunk-NLZBY65T.js";import"./chunk-UL7L3HYV.js";import"./chunk-5EOWW7BX.js";import"./chunk-2FHWS73Y.js";import"./chunk-CCNU3J56.js";import"./chunk-DCH2FI6T.js";import"./chunk-ATDJCXC2.js";import"./chunk-SLSIAUYV.js";import"./chunk-ENU4SEHO.js";import"./chunk-4MPRHJWO.js";import"./chunk-VBWC36L2.js";import"./chunk-VTFWVTPI.js";import"./chunk-P5DZK4TS.js";import"./chunk-74EL657O.js";import"./chunk-WAAKB6OB.js";import"./chunk-ALFOZHAH.js";import"./chunk-DFSQR6QC.js";import"./chunk-YZ5Y4WE6.js";import"./chunk-HYVQXAK5.js";import"./chunk-LKVQQQTI.js";import"./chunk-AJDYOLKP.js";import"./chunk-CAVNF3BU.js";import"./chunk-BJSO43AS.js";import"./chunk-VA5LFJVE.js";import"./chunk-ZMDHKAWL.js";import"./chunk-OYIL5SCU.js";export{c as brickSchema,b as brickTypeSchema,a as generateId,g as processBrick,f as processSections,d as sectionProps,e as sectionSchema};
@@ -0,0 +1,8 @@
1
+ /*! Upstart.gg - Copyright (C) 2024 Flippable - https://github.com/upstart-gg/upstart/blob/main/LICENSE */
2
+
3
+ import{b as t}from"./chunk-AJDYOLKP.js";import{Type as e}from"@sinclair/typebox";var a=e.Object({id:e.String({title:"Page ID"}),label:e.String(),path:e.String()},{additionalProperties:!1}),i=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."}),n=e.Composite([a,e.Object({tags:e.Array(e.String(),{default:[],description:"Tags for the page. Use the tag 'main-nav' for pages that should appear in the main navbar"}),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."})),sectionsPlan:i})],{description:"Pages map. The complete list of site pages, their metadata and their sections summary",additionalProperties:!1}),s=e.Array(n);export{a,i as b,n as c,s as d};
@@ -0,0 +1,6 @@
1
+ /*! Upstart.gg - Copyright (C) 2024 Flippable - https://github.com/upstart-gg/upstart/blob/main/LICENSE */
2
+
3
+ import{a as d}from"./chunk-ENU4SEHO.js";import{c as t}from"./chunk-VBWC36L2.js";import{b as p}from"./chunk-P5DZK4TS.js";import{b as s}from"./chunk-DFSQR6QC.js";import{b as i}from"./chunk-YZ5Y4WE6.js";import{b as o}from"./chunk-HYVQXAK5.js";import{b as n}from"./chunk-LKVQQQTI.js";import{b as a}from"./chunk-CAVNF3BU.js";import{d as r,e}from"./chunk-BJSO43AS.js";import{BsAlphabetUppercase as l}from"react-icons/bs";var P=d({type:"hero",name:"Hero",kind:"brick",description:"A big textual element for home pages",aiInstructions:`
4
+ This hero element is a large text element that can be used to display a title and an optional tagline.
5
+ It is typically used on home pages to grab the user's attention.
6
+ `.trim(),icon:l,defaultHeight:{desktop:5,mobile:5},defaultWidth:{desktop:12,mobile:12},props:r({content:t({title:"Hero title",default:"I'm a big text"}),tagline:e(t({title:"Hero tagline",default:"I'm a tagline"})),background:e(o()),color:e(a()),shadow:e(s()),align:e(i()),padding:e(p),border:e(n)},{default:{padding:"p-4"}})}),A=[{description:"Simple welcome hero with blue background",type:"hero",props:{preset:"prominent-primary",content:"Welcome to Our Platform",tagline:"The future of productivity starts here",align:{horizontal:"justify-center"},padding:"p-8"}},{description:"Startup hero with gradient background",type:"hero",props:{preset:"prominent-secondary",content:"Build Something Amazing",tagline:"Turn your ideas into reality with our cutting-edge tools",align:{horizontal:"justify-center"},padding:"p-16"}},{description:"Construction company hero with bold presence",type:"hero",props:{preset:"prominent-primary",content:"Building Tomorrow Today",tagline:"Quality construction services for residential and commercial projects",padding:"p-16"}},{description:"Fashion brand hero with modern appeal",type:"hero",props:{preset:"prominent-accent",content:"Express Your Style",tagline:"Contemporary fashion that speaks to your individuality",align:{horizontal:"justify-center",vertical:"items-start"},padding:"p-16"}},{description:"Law firm hero with authoritative tone",type:"hero",props:{preset:"prominent-secondary",content:"Justice You Can Trust",tagline:"Experienced legal representation for individuals and businesses",padding:"p-8",border:{width:"border-2",color:"border-gray-800",rounding:"rounded-lg"}}},{description:"Photography studio hero with artistic flair",type:"hero",props:{preset:"surface-1",content:"Capturing Life's Moments",tagline:"Professional photography services for weddings, portraits, and events",border:{rounding:"rounded-lg"}}}];export{P as a,A as b};
@@ -0,0 +1,3 @@
1
+ /*! Upstart.gg - Copyright (C) 2024 Flippable - https://github.com/upstart-gg/upstart/blob/main/LICENSE */
2
+
3
+ import{e as a}from"./chunk-QPATZM3I.js";import{c as t}from"./chunk-Y36SM2AO.js";import{Type as e}from"@sinclair/typebox";var s=e.Object({id:e.String({description:"The unique ID of the page. Use a human readable url-safe slug"}),label:e.String({description:"The label (name) of the page"}),path:e.String({description:"The path of the page in the URL. Should be unique"}),sections:e.Array(a,{description:"The sections of the page. See the Section schema"}),tags:e.Array(e.String(),{description:"The tags of the page, used for organizating and filtering pages"}),attr:e.Optional(t)});export{s as a};
@@ -0,0 +1,5 @@
1
+ /*! Upstart.gg - Copyright (C) 2024 Flippable - https://github.com/upstart-gg/upstart/blob/main/LICENSE */
2
+
3
+ import{a as p}from"./chunk-ENU4SEHO.js";import{c as s}from"./chunk-VBWC36L2.js";import{b as r}from"./chunk-P5DZK4TS.js";import{b as a}from"./chunk-DFSQR6QC.js";import{d as o}from"./chunk-HYVQXAK5.js";import{b as n}from"./chunk-LKVQQQTI.js";import{b as i}from"./chunk-CAVNF3BU.js";import{d as t,e}from"./chunk-BJSO43AS.js";import{RxTextAlignLeft as l}from"react-icons/rx";var C=p({type:"text",kind:"brick",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
+ `,minHeight:{desktop:2,mobile:2},minWidth:{desktop:2,mobile:2},defaultHeight:{desktop:7,mobile:7},defaultWidth:{desktop:6,mobile:6},repeatable:!0,icon:l,props:t({content:s(),backgroundColor:e(o()),color:e(i()),padding:e(r),border:e(n),shadow:e(a())},{default:{padding:"p-8"}})}),T=[{description:"Welcome paragraph with emphasis, using a preset",type:"text",props:{preset:"prominent-primary",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>",backgroundColor:"#f8fafc",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>`,backgroundColor:"#1e293b",color:"#f1f5f9",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>",backgroundColor:"#fef3c7",color:"#92400e"}},{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>",backgroundColor:"#f0f9ff"}},{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>",backgroundColor:"#f8fafc",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",color:"#374151"}},{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>",backgroundColor:"#dc2626",color:"#fef2f2",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>",backgroundColor:"#d1fae5",padding:"p-8"}}];export{C as a,T as b};
@@ -0,0 +1,3 @@
1
+ /*! Upstart.gg - Copyright (C) 2024 Flippable - https://github.com/upstart-gg/upstart/blob/main/LICENSE */
2
+
3
+ import{Type as o}from"@sinclair/typebox";var c=o.Array(o.Object({title:o.Optional(o.String({title:"Title",description:"The title of the RSS feed item"})),link:o.Optional(o.String({title:"Link",description:"The link to the RSS feed item"})),creator:o.Optional(o.String({title:"Creator",description:"The creator of the RSS feed item"})),content:o.Optional(o.String({title:"Content",description:"The content of the RSS feed item"})),pubDate:o.Optional(o.String({title:"Pub Date",description:"The publication date of the RSS feed item"}))}),{title:"RSS Feed",description:"RSS feed items"});import{Type as t}from"@sinclair/typebox";var p=t.Array(t.Object({etag:t.String(),id:t.Object({videoId:t.String(),channelId:t.String(),playlistId:t.String()}),snippet:t.Object({publishedAt:t.String(),channelId:t.String(),title:t.String(),description:t.String(),thumbnails:t.Object({default:t.Object({url:t.String(),width:t.Number(),height:t.Number()}),standard:t.Object({url:t.String(),width:t.Number(),height:t.Number()})}),channelTitle:t.String(),liveBroadcastContent:t.String()})}),{title:"Youtube list schema",description:"Schema for a list of Youtube videos"});import{Type as e}from"@sinclair/typebox";var s=e.Array(e.Object({title:e.String({title:"Title",description:"Blog post title"}),excerpt:e.String({title:"Excerpt",description:"Short summary of the blog post",format:"markdown"}),image:e.Optional(e.String({title:"Image URL",format:"uri",description:"Blog post image"})),content:e.String({title:"Content",description:"Blog post content",format:"markdown"}),author:e.Object({name:e.String({title:"Author Name",description:"Author's name"})}),publishedAt:e.String({title:"Published Date",format:"date",description:"Publication date in ISO format"}),slug:e.String({title:"Slug",pattern:"^[a-z0-9]+(?:-[a-z0-9]+)*$",description:"URL-friendly version of the title"}),status:e.Union([e.Literal("draft"),e.Literal("published"),e.Literal("archived")],{title:"Status",description:"Publication status of the blog post"}),categories:e.Optional(e.Array(e.String({title:"Categories",description:"Blog post categories"}))),tags:e.Optional(e.Array(e.String({title:"Tags",description:"Blog post tags"})))}),{title:"Blog Posts",description:"List of blog posts"});import{Type as i}from"@sinclair/typebox";var l=i.Array(i.Object({title:i.String({title:"Release Title",description:"Title of the release"}),version:i.Optional(i.String({title:"Version",description:"Version number"})),date:i.String({title:"Release Date",format:"date",description:"Release date in ISO format"}),changes:i.Array(i.Object({type:i.Union([i.Literal("added"),i.Literal("changed"),i.Literal("fixed"),i.Literal("improved"),i.Literal("deprecated"),i.Literal("removed")],{title:"Change Type"}),description:i.String({title:"Description",format:"markdown"})}))}),{title:"Changelog",description:"Changelog items"});import{Type as a}from"@sinclair/typebox";var m=a.Array(a.Object({question:a.String({title:"Question",format:"markdown"}),answer:a.String({title:"Answer",format:"markdown"}),category:a.Optional(a.String({title:"Category"})),tags:a.Optional(a.Array(a.String(),{title:"Tags"})),order:a.Optional(a.Number({title:"Order in the list"}))}),{title:"FAQ",description:"Schema representing a collection of frequently asked questions (FAQ)"});import{Type as n}from"@sinclair/typebox";var S=n.Array(n.Object({url:n.String({format:"uri",title:"URL"}),title:n.String({title:"Title"}),description:n.Optional(n.String({title:"Description",format:"markdown"})),icon:n.Optional(n.String({title:"Icon",format:"uri"}))}),{description:"Schema representing a collection of links"});import{Type as r}from"@sinclair/typebox";var g=r.Array(r.Object({title:r.String({title:"Title"}),description:r.String({title:"Description",format:"markdown"}),time:r.String({title:"Time to prepare the recipe"}),ingredients:r.Array(r.Object({name:r.String({title:"Name of the ingredient"}),quantity:r.String({title:"Quantity of the ingredient"})})),steps:r.Array(r.Object({title:r.String({title:"Step title"}),description:r.String({title:"Step description"})}))}),{title:"Recipes",description:"Collection of recipes"});var B={rss:c,"youtube-list":p,"internal-blog":s,"internal-changelog":l,"internal-faq":m,"internal-links":S,"internal-recipes":g,"http-json":{description:"JSON array retrieved from an HTTP endpoint"}};export{B as a};
@@ -0,0 +1,3 @@
1
+ /*! Upstart.gg - Copyright (C) 2024 Flippable - https://github.com/upstart-gg/upstart/blob/main/LICENSE */
2
+
3
+ import{b as i}from"./chunk-AJDYOLKP.js";import{Type as e}from"@sinclair/typebox";import l 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}),p=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."}),primaryContent:e.String({title:"Primary content",description:"Text color on primary background"}),secondary:e.String({title:"Secondary",description:"The brand's second most used color"}),secondaryContent:e.String({title:"Secondary content",description:"Text color on secondary background"}),accent:e.String({title:"Accent",description:"The brand's least used color"}),accentContent:e.String({title:"Accent content",description:"Text color on accent background"}),neutral:e.String({title:"Neutral",description:"The base neutral color"}),neutralContent:e.String({title:"Neutral content",description:"Text color on neutral background"}),base100:e.String({title:"Base",description:"Base surface color of page, used for blank backgrounds. Should be very light."}),base200:e.String({title:"Base 2",description:"Base color, darker shade, to create elevations. Should be darker than base100 but still light."}),base300:e.String({title:"Base 3",description:"Base color, even more darker shade, to create elevations. Should be darker than base200 but still light."}),baseContent:e.String({title:"Base content",description:"Text color to use on base colors"})},{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(p),m={id:"_default_",name:"default",description:"Default Upstart theme",tags:["gradient","vibrant","modern","creative","dynamic","artistic","bold"],browserColorScheme:"light",colors:{base100:"oklch(0.99 0.005 85)",base200:"oklch(0.97 0.008 85)",base300:"oklch(0.94 0.01 85)",baseContent:"oklch(0.18 0.025 80)",primary:"oklch(0.68 0.28 340)",primaryContent:"oklch(0.99 0.005 340)",secondary:"oklch(0.65 0.22 185)",secondaryContent:"oklch(0.98 0.005 185)",accent:"oklch(0.82 0.18 85)",accentContent:"oklch(0.18 0.02 85)",neutral:"oklch(0.38 0.08 280)",neutralContent:"oklch(0.96 0.005 280)"},typography:{base:16,heading:{type:"stack",family:"system-ui"},body:{type:"stack",family:"system-ui"},alternatives:[]}};function S(t){return t.id===m.id}function v(t){return{...t,colors:Object.entries(t.colors).reduce((n,[r,o])=>{let a=u(o);return{...n,[r]:a}},{})}}function u(t){if(l.valid(t))return t;if(/ok(lch|lab)\(([^)]+)\)/.test(t)){let o=t.replace(/,/g," ");if(l.valid(o))return o}if(/^([a-z]+)-([0-9]+)$/.test(t)){let[o,a]=t.split("-"),s=h[o]?.[a];if(s)return s}return t}export{k as a,p as b,T as c,m as d,S as e,v as f};
@@ -0,0 +1,3 @@
1
+ /*! Upstart.gg - Copyright (C) 2024 Flippable - https://github.com/upstart-gg/upstart/blob/main/LICENSE */
2
+
3
+ import{b as h}from"./chunk-VBWC36L2.js";import{a as p}from"./chunk-VTFWVTPI.js";import{a as l}from"./chunk-P5DZK4TS.js";import{c as g}from"./chunk-74EL657O.js";import{a as d}from"./chunk-WAAKB6OB.js";import{a as u}from"./chunk-ALFOZHAH.js";import{a as y}from"./chunk-DFSQR6QC.js";import{a as m}from"./chunk-YZ5Y4WE6.js";import{a as n,c as i}from"./chunk-HYVQXAK5.js";import{a as c}from"./chunk-LKVQQQTI.js";import{a as f}from"./chunk-CAVNF3BU.js";import{a as s}from"./chunk-VA5LFJVE.js";import{a as o}from"./chunk-ZMDHKAWL.js";import O from"ajv";import F from"ajv-formats";var e=new O({useDefaults:!0,strictSchema:!1,validateSchema:!1,coerceTypes:!0,allErrors:!0,inlineRefs:!1});e.addSchema(o(),"styles:preset");e.addSchema(n(),"styles:background");e.addSchema(i(),"styles:backgroundColor");e.addSchema(m(),"styles:basicAlign");e.addSchema(d(),"styles:containerLayout");e.addSchema(s(),"styles:hidden");e.addSchema(c(),"styles:border");e.addSchema(l(),"styles:padding");e.addSchema(f(),"styles:color");e.addSchema(y(),"styles:shadow");e.addSchema(u(),"styles:cssLength");e.addSchema(p(),"assets:image");e.addSchema(h(),"content:textContent");e.addSchema(g(),"content:urlOrPageId");var k=["date-time","time","date","email","hostname","ipv4","ipv6","uri","uri-reference","uuid","uri-template","json-pointer","relative-json-pointer","regex"];F(e,[...k]);e.addFormat("date-object",{validate:t=>t instanceof Date&&!Number.isNaN(t.getTime()),async:!1});e.addFormat("richtext",{validate:t=>typeof t=="string",async:!1});e.addFormat("markdown",{validate:t=>typeof t=="string",async:!1});e.addFormat("multiline",{validate:t=>typeof t=="string",async:!1});e.addFormat("password",{validate:t=>typeof t=="string",async:!1});function B(t){return!t||t.length===0?"Unknown validation error":t.map(a=>{let{instancePath:r,message:S,params:b}=a,j=r||"root",v=Object.entries(b||{}).map(([T,x])=>`${T}: ${x}`).join(", ");return`${j} ${S} (${v})`}).join("; ")}function G(t){let a=t.type==="object"?{}:t.type==="array"?[]:null;return e.compile(t)(a),a}export{e as a,k as b,B as c,G as d};