@upstart.gg/sdk 0.0.136 → 0.0.138

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 (461) hide show
  1. package/dist/shared/ai/schemas.d.ts.map +1 -1
  2. package/dist/shared/ai/schemas.js +26 -31
  3. package/dist/shared/ai/schemas.js.map +1 -1
  4. package/dist/shared/ai/types.d.ts +14 -62
  5. package/dist/shared/ai/types.d.ts.map +1 -1
  6. package/dist/shared/ajv.js +33 -31
  7. package/dist/shared/ajv.js.map +1 -1
  8. package/dist/shared/attributes.d.ts +91 -85
  9. package/dist/shared/attributes.d.ts.map +1 -1
  10. package/dist/shared/attributes.js +21 -23
  11. package/dist/shared/brick-manifest.d.ts +8 -5
  12. package/dist/shared/brick-manifest.d.ts.map +1 -1
  13. package/dist/shared/brick-manifest.js +3 -18
  14. package/dist/shared/bricks/manifests/accordion.manifest.d.ts +2 -2
  15. package/dist/shared/bricks/manifests/accordion.manifest.d.ts.map +1 -1
  16. package/dist/shared/bricks/manifests/accordion.manifest.js +14 -20
  17. package/dist/shared/bricks/manifests/all-manifests.js +45 -43
  18. package/dist/shared/bricks/manifests/all-props.d.ts +1511 -0
  19. package/dist/shared/bricks/manifests/all-props.d.ts.map +1 -0
  20. package/dist/shared/bricks/manifests/all-props.js +244 -0
  21. package/dist/shared/bricks/manifests/all-props.js.map +1 -0
  22. package/dist/shared/bricks/manifests/box.manifest.d.ts +2 -2
  23. package/dist/shared/bricks/manifests/box.manifest.d.ts.map +1 -1
  24. package/dist/shared/bricks/manifests/box.manifest.js +17 -20
  25. package/dist/shared/bricks/manifests/button.manifest.d.ts +3 -6
  26. package/dist/shared/bricks/manifests/button.manifest.d.ts.map +1 -1
  27. package/dist/shared/bricks/manifests/button.manifest.js +14 -20
  28. package/dist/shared/bricks/manifests/card.manifest.d.ts +5 -3
  29. package/dist/shared/bricks/manifests/card.manifest.d.ts.map +1 -1
  30. package/dist/shared/bricks/manifests/card.manifest.js +19 -20
  31. package/dist/shared/bricks/manifests/carousel.manifest.d.ts +3 -2
  32. package/dist/shared/bricks/manifests/carousel.manifest.d.ts.map +1 -1
  33. package/dist/shared/bricks/manifests/carousel.manifest.js +16 -20
  34. package/dist/shared/bricks/manifests/footer.manifest.d.ts +5 -3
  35. package/dist/shared/bricks/manifests/footer.manifest.d.ts.map +1 -1
  36. package/dist/shared/bricks/manifests/footer.manifest.js +14 -20
  37. package/dist/shared/bricks/manifests/form.manifest.d.ts +3 -3
  38. package/dist/shared/bricks/manifests/form.manifest.d.ts.map +1 -1
  39. package/dist/shared/bricks/manifests/form.manifest.js +14 -20
  40. package/dist/shared/bricks/manifests/hero.manifest.d.ts +3 -5
  41. package/dist/shared/bricks/manifests/hero.manifest.d.ts.map +1 -1
  42. package/dist/shared/bricks/manifests/hero.manifest.js +14 -20
  43. package/dist/shared/bricks/manifests/html.manifest.d.ts +2 -1
  44. package/dist/shared/bricks/manifests/html.manifest.d.ts.map +1 -1
  45. package/dist/shared/bricks/manifests/html.manifest.js +9 -20
  46. package/dist/shared/bricks/manifests/icon.manifest.d.ts +1 -1
  47. package/dist/shared/bricks/manifests/icon.manifest.d.ts.map +1 -1
  48. package/dist/shared/bricks/manifests/icon.manifest.js +14 -20
  49. package/dist/shared/bricks/manifests/image.manifest.d.ts +3 -2
  50. package/dist/shared/bricks/manifests/image.manifest.d.ts.map +1 -1
  51. package/dist/shared/bricks/manifests/image.manifest.js +17 -20
  52. package/dist/shared/bricks/manifests/images-gallery.manifest.d.ts +4 -2
  53. package/dist/shared/bricks/manifests/images-gallery.manifest.d.ts.map +1 -1
  54. package/dist/shared/bricks/manifests/images-gallery.manifest.js +16 -20
  55. package/dist/shared/bricks/manifests/map.manifest.d.ts +2 -1
  56. package/dist/shared/bricks/manifests/map.manifest.d.ts.map +1 -1
  57. package/dist/shared/bricks/manifests/map.manifest.js +12 -20
  58. package/dist/shared/bricks/manifests/navbar.manifest.d.ts +7 -5
  59. package/dist/shared/bricks/manifests/navbar.manifest.d.ts.map +1 -1
  60. package/dist/shared/bricks/manifests/navbar.manifest.js +16 -20
  61. package/dist/shared/bricks/manifests/sidebar.manifest.d.ts +1 -1
  62. package/dist/shared/bricks/manifests/sidebar.manifest.d.ts.map +1 -1
  63. package/dist/shared/bricks/manifests/sidebar.manifest.js +14 -20
  64. package/dist/shared/bricks/manifests/social-links.manifest.d.ts +2 -2
  65. package/dist/shared/bricks/manifests/social-links.manifest.d.ts.map +1 -1
  66. package/dist/shared/bricks/manifests/social-links.manifest.js +15 -20
  67. package/dist/shared/bricks/manifests/spacer.manifest.d.ts +1 -1
  68. package/dist/shared/bricks/manifests/spacer.manifest.d.ts.map +1 -1
  69. package/dist/shared/bricks/manifests/spacer.manifest.js +9 -20
  70. package/dist/shared/bricks/manifests/table.manifest.d.ts +5 -4
  71. package/dist/shared/bricks/manifests/table.manifest.d.ts.map +1 -1
  72. package/dist/shared/bricks/manifests/table.manifest.js +16 -20
  73. package/dist/shared/bricks/manifests/tabs.manifest.d.ts +5 -5
  74. package/dist/shared/bricks/manifests/tabs.manifest.d.ts.map +1 -1
  75. package/dist/shared/bricks/manifests/tabs.manifest.js +16 -20
  76. package/dist/shared/bricks/manifests/testimonials.manifest.d.ts +5 -3
  77. package/dist/shared/bricks/manifests/testimonials.manifest.d.ts.map +1 -1
  78. package/dist/shared/bricks/manifests/testimonials.manifest.js +19 -20
  79. package/dist/shared/bricks/manifests/text.manifest.d.ts +3 -10
  80. package/dist/shared/bricks/manifests/text.manifest.d.ts.map +1 -1
  81. package/dist/shared/bricks/manifests/text.manifest.js +14 -20
  82. package/dist/shared/bricks/manifests/timeline.manifest.d.ts +7 -7
  83. package/dist/shared/bricks/manifests/timeline.manifest.d.ts.map +1 -1
  84. package/dist/shared/bricks/manifests/timeline.manifest.js +16 -20
  85. package/dist/shared/bricks/manifests/video.manifest.d.ts +1 -1
  86. package/dist/shared/bricks/manifests/video.manifest.d.ts.map +1 -1
  87. package/dist/shared/bricks/manifests/video.manifest.js +12 -20
  88. package/dist/shared/bricks/props/align.d.ts +0 -3
  89. package/dist/shared/bricks/props/align.d.ts.map +1 -1
  90. package/dist/shared/bricks/props/align.js +4 -11
  91. package/dist/shared/bricks/props/background.d.ts +2 -8
  92. package/dist/shared/bricks/props/background.d.ts.map +1 -1
  93. package/dist/shared/bricks/props/background.js +4 -9
  94. package/dist/shared/bricks/props/border.d.ts +0 -7
  95. package/dist/shared/bricks/props/border.d.ts.map +1 -1
  96. package/dist/shared/bricks/props/border.js +5 -10
  97. package/dist/shared/bricks/props/color-preset.d.ts +316 -6
  98. package/dist/shared/bricks/props/color-preset.d.ts.map +1 -1
  99. package/dist/shared/bricks/props/color-preset.js +2 -5
  100. package/dist/shared/bricks/props/color.d.ts +3 -5
  101. package/dist/shared/bricks/props/color.d.ts.map +1 -1
  102. package/dist/shared/bricks/props/color.js +3 -8
  103. package/dist/shared/bricks/props/common.d.ts.map +1 -1
  104. package/dist/shared/bricks/props/common.js +5 -5
  105. package/dist/shared/bricks/props/css-length.d.ts +0 -1
  106. package/dist/shared/bricks/props/css-length.d.ts.map +1 -1
  107. package/dist/shared/bricks/props/css-length.js +1 -4
  108. package/dist/shared/bricks/props/datasource.d.ts +3 -3
  109. package/dist/shared/bricks/props/datasource.d.ts.map +1 -1
  110. package/dist/shared/bricks/props/datasource.js +74 -76
  111. package/dist/shared/bricks/props/datasource.js.map +1 -1
  112. package/dist/shared/bricks/props/date.js +21 -4
  113. package/dist/shared/bricks/props/date.js.map +1 -1
  114. package/dist/shared/bricks/props/direction.d.ts +1 -2
  115. package/dist/shared/bricks/props/direction.d.ts.map +1 -1
  116. package/dist/shared/bricks/props/direction.js +4 -7
  117. package/dist/shared/bricks/props/dynamic.d.ts +5 -67
  118. package/dist/shared/bricks/props/dynamic.d.ts.map +1 -1
  119. package/dist/shared/bricks/props/dynamic.js +6 -24
  120. package/dist/shared/bricks/props/effects.d.ts +1 -3
  121. package/dist/shared/bricks/props/effects.d.ts.map +1 -1
  122. package/dist/shared/bricks/props/effects.js +4 -9
  123. package/dist/shared/bricks/props/geolocation.d.ts.map +1 -1
  124. package/dist/shared/bricks/props/geolocation.js +3 -6
  125. package/dist/shared/bricks/props/geolocation.js.map +1 -1
  126. package/dist/shared/bricks/props/grow.d.ts +3 -0
  127. package/dist/shared/bricks/props/grow.d.ts.map +1 -0
  128. package/dist/shared/{utils/typed-ref.js → bricks/props/grow.js} +5 -5
  129. package/dist/shared/bricks/props/helpers.js +6 -6
  130. package/dist/shared/bricks/props/image.d.ts +3 -8
  131. package/dist/shared/bricks/props/image.d.ts.map +1 -1
  132. package/dist/shared/bricks/props/image.js +4 -7
  133. package/dist/shared/bricks/props/string.d.ts +2 -5
  134. package/dist/shared/bricks/props/string.d.ts.map +1 -1
  135. package/dist/shared/bricks/props/string.js +3 -10
  136. package/dist/shared/bricks/props/tags.d.ts +0 -1
  137. package/dist/shared/bricks/props/tags.d.ts.map +1 -1
  138. package/dist/shared/bricks/props/tags.js +3 -6
  139. package/dist/shared/bricks/props/text.d.ts +0 -3
  140. package/dist/shared/bricks/props/text.d.ts.map +1 -1
  141. package/dist/shared/bricks/props/text.js +4 -11
  142. package/dist/shared/bricks/props/types.d.ts +2 -2
  143. package/dist/shared/bricks/props/types.d.ts.map +1 -1
  144. package/dist/shared/bricks.d.ts +65 -154
  145. package/dist/shared/bricks.d.ts.map +1 -1
  146. package/dist/shared/bricks.js +48 -52
  147. package/dist/shared/chunk-2EOCK66Z.js +19 -0
  148. package/dist/shared/chunk-2EOCK66Z.js.map +1 -0
  149. package/dist/shared/{chunk-F22LDHEO.js → chunk-2U5U3CCJ.js} +3 -18
  150. package/dist/shared/chunk-2U5U3CCJ.js.map +1 -0
  151. package/dist/shared/{chunk-2RK3CPYJ.js → chunk-2UEPTT5J.js} +12 -19
  152. package/dist/shared/chunk-2UEPTT5J.js.map +1 -0
  153. package/dist/shared/{chunk-W6MRYRGJ.js → chunk-2Z5WOCFS.js} +46 -20
  154. package/dist/shared/chunk-2Z5WOCFS.js.map +1 -0
  155. package/dist/shared/{chunk-CRS7QCPZ.js → chunk-34IUWNRX.js} +65 -27
  156. package/dist/shared/chunk-34IUWNRX.js.map +1 -0
  157. package/dist/shared/chunk-57NRTXRA.js +309 -0
  158. package/dist/shared/chunk-57NRTXRA.js.map +1 -0
  159. package/dist/shared/{chunk-UXTASZ23.js → chunk-5HJT5NJ3.js} +66 -63
  160. package/dist/shared/chunk-5HJT5NJ3.js.map +1 -0
  161. package/dist/shared/{chunk-H5JM2M2T.js → chunk-5J4Y43RM.js} +58 -185
  162. package/dist/shared/chunk-5J4Y43RM.js.map +1 -0
  163. package/dist/shared/{chunk-RV7AYVFV.js → chunk-5OVOXUFX.js} +6 -20
  164. package/dist/shared/chunk-5OVOXUFX.js.map +1 -0
  165. package/dist/shared/{chunk-TNMNMYOB.js → chunk-5RCC2STG.js} +2 -13
  166. package/dist/shared/chunk-5RCC2STG.js.map +1 -0
  167. package/dist/shared/{chunk-42OUNI7C.js → chunk-5SNSUC6Q.js} +27 -29
  168. package/dist/shared/chunk-5SNSUC6Q.js.map +1 -0
  169. package/dist/shared/{chunk-ZR6R6Z6O.js → chunk-B5T2LFV2.js} +34 -36
  170. package/dist/shared/chunk-B5T2LFV2.js.map +1 -0
  171. package/dist/shared/{chunk-Q4NPPLEU.js → chunk-BHARJBEK.js} +2 -9
  172. package/dist/shared/chunk-BHARJBEK.js.map +1 -0
  173. package/dist/shared/{chunk-LLNPH3XR.js → chunk-DCM4732T.js} +6 -8
  174. package/dist/shared/chunk-DCM4732T.js.map +1 -0
  175. package/dist/shared/{chunk-LCJ2VFPM.js → chunk-E3ZW57HF.js} +32 -26
  176. package/dist/shared/chunk-E3ZW57HF.js.map +1 -0
  177. package/dist/shared/{chunk-CSF2WQX2.js → chunk-EID5HPF3.js} +15 -12
  178. package/dist/shared/chunk-EID5HPF3.js.map +1 -0
  179. package/dist/shared/chunk-EMF5TCPX.js +389 -0
  180. package/dist/shared/chunk-EMF5TCPX.js.map +1 -0
  181. package/dist/shared/chunk-EUFVTHAG.js +33 -0
  182. package/dist/shared/chunk-EUFVTHAG.js.map +1 -0
  183. package/dist/shared/{chunk-2IHKVMKW.js → chunk-FC52EHCC.js} +18 -19
  184. package/dist/shared/chunk-FC52EHCC.js.map +1 -0
  185. package/dist/shared/chunk-FD7YYFRI.js +225 -0
  186. package/dist/shared/chunk-FD7YYFRI.js.map +1 -0
  187. package/dist/shared/{chunk-KILJYJFE.js → chunk-FVV27R73.js} +20 -105
  188. package/dist/shared/chunk-FVV27R73.js.map +1 -0
  189. package/dist/shared/{chunk-N3ZTQD5I.js → chunk-FYGFB5U5.js} +10 -23
  190. package/dist/shared/chunk-FYGFB5U5.js.map +1 -0
  191. package/dist/shared/chunk-GDYCCB3B.js +22 -0
  192. package/dist/shared/chunk-GDYCCB3B.js.map +1 -0
  193. package/dist/shared/chunk-GLV6QIIM.js +41 -0
  194. package/dist/shared/chunk-GLV6QIIM.js.map +1 -0
  195. package/dist/shared/{chunk-EVLRH6VG.js → chunk-GNTJT7MR.js} +2 -2
  196. package/dist/shared/chunk-GNTJT7MR.js.map +1 -0
  197. package/dist/shared/chunk-HHUFGV7J.js +259 -0
  198. package/dist/shared/chunk-HHUFGV7J.js.map +1 -0
  199. package/dist/shared/{chunk-TFGGYU6Y.js → chunk-IEMCCHM4.js} +7 -12
  200. package/dist/shared/chunk-IEMCCHM4.js.map +1 -0
  201. package/dist/shared/{chunk-GIGFNQBO.js → chunk-IMDOF55E.js} +12 -4
  202. package/dist/shared/chunk-IMDOF55E.js.map +1 -0
  203. package/dist/shared/{chunk-N3BEBLWF.js → chunk-IPWYNE6Y.js} +34 -34
  204. package/dist/shared/chunk-J6R3GSKS.js +386 -0
  205. package/dist/shared/chunk-J6R3GSKS.js.map +1 -0
  206. package/dist/shared/{chunk-ZRRAK5NS.js → chunk-KRODRZNS.js} +41 -33
  207. package/dist/shared/chunk-KRODRZNS.js.map +1 -0
  208. package/dist/shared/chunk-KTA7XES3.js +168 -0
  209. package/dist/shared/chunk-KTA7XES3.js.map +1 -0
  210. package/dist/shared/{chunk-2VDR4ZYY.js → chunk-L4W4B2RQ.js} +26 -82
  211. package/dist/shared/chunk-L4W4B2RQ.js.map +1 -0
  212. package/dist/shared/chunk-MO6CRLQA.js +73 -0
  213. package/dist/shared/chunk-MO6CRLQA.js.map +1 -0
  214. package/dist/shared/{chunk-GQTZPN5D.js → chunk-NTP6BKRU.js} +29 -32
  215. package/dist/shared/chunk-NTP6BKRU.js.map +1 -0
  216. package/dist/shared/{chunk-DFAFDBYZ.js → chunk-O53V22BK.js} +34 -27
  217. package/dist/shared/chunk-O53V22BK.js.map +1 -0
  218. package/dist/shared/{chunk-BPBKHEQ5.js → chunk-OJ6KL7FU.js} +1 -8
  219. package/dist/shared/chunk-OJ6KL7FU.js.map +1 -0
  220. package/dist/shared/{chunk-F247VKAE.js → chunk-ORIUCOED.js} +18 -20
  221. package/dist/shared/chunk-ORIUCOED.js.map +1 -0
  222. package/dist/shared/{chunk-GFAQWQER.js → chunk-PFZMRSHJ.js} +33 -35
  223. package/dist/shared/chunk-PFZMRSHJ.js.map +1 -0
  224. package/dist/shared/{chunk-KIDICX3Y.js → chunk-QHKOAIOK.js} +43 -78
  225. package/dist/shared/chunk-QHKOAIOK.js.map +1 -0
  226. package/dist/shared/{chunk-4MNWMEMM.js → chunk-RDOCVLCF.js} +21 -21
  227. package/dist/shared/chunk-RDOCVLCF.js.map +1 -0
  228. package/dist/shared/{chunk-FQDR2BBZ.js → chunk-RFH7PEVS.js} +13 -5
  229. package/dist/shared/chunk-RFH7PEVS.js.map +1 -0
  230. package/dist/shared/chunk-T3UPW5OW.js +79 -0
  231. package/dist/shared/chunk-T3UPW5OW.js.map +1 -0
  232. package/dist/shared/{chunk-L6C7HUSA.js → chunk-TGKNA2JS.js} +21 -24
  233. package/dist/shared/chunk-TGKNA2JS.js.map +1 -0
  234. package/dist/shared/chunk-TZ6X7ZM5.js +158 -0
  235. package/dist/shared/chunk-TZ6X7ZM5.js.map +1 -0
  236. package/dist/shared/{chunk-BHC2A43S.js → chunk-UC75KRLX.js} +3 -3
  237. package/dist/shared/{chunk-BHC2A43S.js.map → chunk-UC75KRLX.js.map} +1 -1
  238. package/dist/shared/{chunk-LTIJI7Y3.js → chunk-VMIJ6MG5.js} +34 -34
  239. package/dist/shared/chunk-VMIJ6MG5.js.map +1 -0
  240. package/dist/shared/{chunk-NTLAKMMQ.js → chunk-VYA2FCTY.js} +6 -17
  241. package/dist/shared/chunk-VYA2FCTY.js.map +1 -0
  242. package/dist/shared/{chunk-Y74LZNND.js → chunk-WPZV3LYL.js} +4 -10
  243. package/dist/shared/chunk-WPZV3LYL.js.map +1 -0
  244. package/dist/shared/chunk-XFZQGRRL.js +101 -0
  245. package/dist/shared/chunk-XFZQGRRL.js.map +1 -0
  246. package/dist/shared/{chunk-FOGAVJC2.js → chunk-XYWSIMZ6.js} +3 -3
  247. package/dist/shared/chunk-XYWSIMZ6.js.map +1 -0
  248. package/dist/shared/{chunk-ZLYIRH2B.js → chunk-ZRBTAC3G.js} +3 -18
  249. package/dist/shared/chunk-ZRBTAC3G.js.map +1 -0
  250. package/dist/shared/{chunk-36PLZKMW.js → chunk-ZYQZUWF7.js} +26 -27
  251. package/dist/shared/chunk-ZYQZUWF7.js.map +1 -0
  252. package/dist/shared/chunk-ZZVYD4BG.js +41 -0
  253. package/dist/shared/chunk-ZZVYD4BG.js.map +1 -0
  254. package/dist/shared/context.d.ts +406 -23
  255. package/dist/shared/context.d.ts.map +1 -1
  256. package/dist/shared/context.js +94 -0
  257. package/dist/shared/context.js.map +1 -1
  258. package/dist/shared/datarecords/external/airtable/types.d.ts +1 -1
  259. package/dist/shared/datarecords/external/airtable/types.d.ts.map +1 -1
  260. package/dist/shared/datarecords/external/airtable/types.js +2 -1
  261. package/dist/shared/datarecords/types.d.ts +3 -3
  262. package/dist/shared/datarecords/types.d.ts.map +1 -1
  263. package/dist/shared/datarecords/types.js +3 -2
  264. package/dist/shared/datasources/external/instagram/feed/schema.d.ts +1 -1
  265. package/dist/shared/datasources/external/instagram/feed/schema.d.ts.map +1 -1
  266. package/dist/shared/datasources/external/instagram/feed/schema.js +4 -1
  267. package/dist/shared/datasources/external/instagram/feed/schema.js.map +1 -1
  268. package/dist/shared/datasources/external/mastodon/status/schema.d.ts +6 -6
  269. package/dist/shared/datasources/external/mastodon/status/schema.d.ts.map +1 -1
  270. package/dist/shared/datasources/external/mastodon/status/schema.js +6 -19
  271. package/dist/shared/datasources/external/mastodon/status/schema.js.map +1 -1
  272. package/dist/shared/datasources/external/meta/oauth/config.d.ts +2 -2
  273. package/dist/shared/datasources/external/meta/oauth/config.d.ts.map +1 -1
  274. package/dist/shared/datasources/external/meta/oauth/config.js +4 -1
  275. package/dist/shared/datasources/external/meta/oauth/config.js.map +1 -1
  276. package/dist/shared/datasources/external/threads/media/schema.d.ts +1 -1
  277. package/dist/shared/datasources/external/threads/media/schema.d.ts.map +1 -1
  278. package/dist/shared/datasources/external/threads/media/schema.js +4 -8
  279. package/dist/shared/datasources/external/threads/media/schema.js.map +1 -1
  280. package/dist/shared/datasources/internal/blog/schema.d.ts +1 -1
  281. package/dist/shared/datasources/internal/blog/schema.d.ts.map +1 -1
  282. package/dist/shared/datasources/internal/blog/schema.js +4 -1
  283. package/dist/shared/datasources/internal/blog/schema.js.map +1 -1
  284. package/dist/shared/datasources/types.d.ts +25 -25
  285. package/dist/shared/datasources/types.d.ts.map +1 -1
  286. package/dist/shared/datasources/types.js +3 -16
  287. package/dist/shared/images.d.ts +1 -1
  288. package/dist/shared/images.d.ts.map +1 -1
  289. package/dist/shared/images.js +4 -38
  290. package/dist/shared/images.js.map +1 -1
  291. package/dist/shared/page.d.ts +141 -22
  292. package/dist/shared/page.d.ts.map +1 -1
  293. package/dist/shared/page.js +52 -49
  294. package/dist/shared/responsive.js +1 -1
  295. package/dist/shared/site.d.ts +81 -191
  296. package/dist/shared/site.d.ts.map +1 -1
  297. package/dist/shared/site.js +56 -114
  298. package/dist/shared/site.js.map +1 -1
  299. package/dist/shared/sitemap.d.ts +4 -326
  300. package/dist/shared/sitemap.d.ts.map +1 -1
  301. package/dist/shared/sitemap.js +51 -58
  302. package/dist/shared/theme.d.ts +0 -37
  303. package/dist/shared/theme.d.ts.map +1 -1
  304. package/dist/shared/theme.js +4 -21
  305. package/dist/shared/utils/llm.d.ts +1 -10
  306. package/dist/shared/utils/llm.d.ts.map +1 -1
  307. package/dist/shared/utils/llm.js +1 -18
  308. package/dist/shared/utils/schema.d.ts +3 -7
  309. package/dist/shared/utils/schema.d.ts.map +1 -1
  310. package/dist/shared/utils/schema.js +2 -19
  311. package/dist/shared/utils/string-enum.d.ts +9 -3
  312. package/dist/shared/utils/string-enum.d.ts.map +1 -1
  313. package/dist/shared/utils/string-enum.js +1 -1
  314. package/package.json +21 -5
  315. package/src/shared/ai/schemas.ts +25 -30
  316. package/src/shared/ai/types.ts +23 -89
  317. package/src/shared/attributes.ts +53 -51
  318. package/src/shared/brick-manifest.ts +5 -6
  319. package/src/shared/bricks/manifests/accordion.manifest.ts +11 -11
  320. package/src/shared/bricks/manifests/all-props.ts +165 -0
  321. package/src/shared/bricks/manifests/box.manifest.ts +19 -21
  322. package/src/shared/bricks/manifests/button.manifest.ts +54 -16
  323. package/src/shared/bricks/manifests/card.manifest.ts +45 -174
  324. package/src/shared/bricks/manifests/carousel.manifest.ts +11 -13
  325. package/src/shared/bricks/manifests/footer.manifest.ts +16 -15
  326. package/src/shared/bricks/manifests/form.manifest.ts +14 -15
  327. package/src/shared/bricks/manifests/hero.manifest.ts +58 -265
  328. package/src/shared/bricks/manifests/html.manifest.ts +6 -0
  329. package/src/shared/bricks/manifests/icon.manifest.ts +10 -99
  330. package/src/shared/bricks/manifests/image.manifest.ts +22 -23
  331. package/src/shared/bricks/manifests/images-gallery.manifest.ts +21 -15
  332. package/src/shared/bricks/manifests/map.manifest.ts +19 -75
  333. package/src/shared/bricks/manifests/navbar.manifest.ts +20 -21
  334. package/src/shared/bricks/manifests/sidebar.manifest.ts +9 -10
  335. package/src/shared/bricks/manifests/social-links.manifest.ts +17 -20
  336. package/src/shared/bricks/manifests/spacer.manifest.ts +0 -1
  337. package/src/shared/bricks/manifests/table.manifest.ts +21 -15
  338. package/src/shared/bricks/manifests/tabs.manifest.ts +26 -445
  339. package/src/shared/bricks/manifests/testimonials.manifest.ts +47 -244
  340. package/src/shared/bricks/manifests/text.manifest.ts +28 -59
  341. package/src/shared/bricks/manifests/timeline.manifest.ts +29 -24
  342. package/src/shared/bricks/manifests/video.manifest.ts +9 -10
  343. package/src/shared/bricks/props/align.ts +0 -13
  344. package/src/shared/bricks/props/background.ts +3 -15
  345. package/src/shared/bricks/props/border.ts +2 -13
  346. package/src/shared/bricks/props/color-preset.ts +9 -10
  347. package/src/shared/bricks/props/color.ts +12 -20
  348. package/src/shared/bricks/props/common.ts +8 -15
  349. package/src/shared/bricks/props/css-length.ts +0 -5
  350. package/src/shared/bricks/props/datasource.ts +72 -74
  351. package/src/shared/bricks/props/direction.ts +1 -5
  352. package/src/shared/bricks/props/dynamic.ts +0 -11
  353. package/src/shared/bricks/props/effects.ts +0 -9
  354. package/src/shared/bricks/props/geolocation.ts +3 -3
  355. package/src/shared/bricks/props/grow.ts +11 -0
  356. package/src/shared/bricks/props/helpers.ts +1 -1
  357. package/src/shared/bricks/props/image.ts +44 -16
  358. package/src/shared/bricks/props/string.ts +7 -18
  359. package/src/shared/bricks/props/tags.ts +0 -5
  360. package/src/shared/bricks/props/tests/background.test.ts +1 -15
  361. package/src/shared/bricks/props/tests/image.test.ts +3 -9
  362. package/src/shared/bricks/props/tests/string.test.ts +2 -26
  363. package/src/shared/bricks/props/text.ts +0 -12
  364. package/src/shared/bricks/props/types.ts +4 -3
  365. package/src/shared/bricks.ts +166 -1020
  366. package/src/shared/context.ts +24 -24
  367. package/src/shared/datarecords/external/airtable/types.ts +12 -11
  368. package/src/shared/datarecords/types.ts +2 -34
  369. package/src/shared/datasources/external/instagram/feed/schema.ts +2 -1
  370. package/src/shared/datasources/external/mastodon/status/schema.ts +4 -19
  371. package/src/shared/datasources/external/meta/oauth/config.ts +2 -1
  372. package/src/shared/datasources/external/threads/media/schema.ts +2 -8
  373. package/src/shared/datasources/internal/blog/schema.ts +2 -1
  374. package/src/shared/datasources/types.ts +64 -79
  375. package/src/shared/images.ts +12 -18
  376. package/src/shared/page.ts +10 -1
  377. package/src/shared/site.ts +1 -0
  378. package/src/shared/sitemap.ts +3 -70
  379. package/src/shared/tests/attributes.test.ts +2 -0
  380. package/src/shared/theme.ts +81 -96
  381. package/src/shared/utils/llm.ts +5 -191
  382. package/src/shared/utils/schema.ts +95 -258
  383. package/src/shared/utils/string-enum.ts +25 -4
  384. package/src/shared/utils/tests/schema.test.ts +278 -314
  385. package/dist/shared/chunk-2IHKVMKW.js.map +0 -1
  386. package/dist/shared/chunk-2RK3CPYJ.js.map +0 -1
  387. package/dist/shared/chunk-2VDR4ZYY.js.map +0 -1
  388. package/dist/shared/chunk-36PLZKMW.js.map +0 -1
  389. package/dist/shared/chunk-42OUNI7C.js.map +0 -1
  390. package/dist/shared/chunk-4MNWMEMM.js.map +0 -1
  391. package/dist/shared/chunk-A2QPY54H.js +0 -13
  392. package/dist/shared/chunk-A2QPY54H.js.map +0 -1
  393. package/dist/shared/chunk-BPBKHEQ5.js.map +0 -1
  394. package/dist/shared/chunk-CRS7QCPZ.js.map +0 -1
  395. package/dist/shared/chunk-CSF2WQX2.js.map +0 -1
  396. package/dist/shared/chunk-DFAFDBYZ.js.map +0 -1
  397. package/dist/shared/chunk-DV3G7X34.js +0 -244
  398. package/dist/shared/chunk-DV3G7X34.js.map +0 -1
  399. package/dist/shared/chunk-EVLRH6VG.js.map +0 -1
  400. package/dist/shared/chunk-F22LDHEO.js.map +0 -1
  401. package/dist/shared/chunk-F247VKAE.js.map +0 -1
  402. package/dist/shared/chunk-FOGAVJC2.js.map +0 -1
  403. package/dist/shared/chunk-FQDR2BBZ.js.map +0 -1
  404. package/dist/shared/chunk-GFAQWQER.js.map +0 -1
  405. package/dist/shared/chunk-GIGFNQBO.js.map +0 -1
  406. package/dist/shared/chunk-GQTZPN5D.js.map +0 -1
  407. package/dist/shared/chunk-H5JM2M2T.js.map +0 -1
  408. package/dist/shared/chunk-HTUSL2U7.js +0 -260
  409. package/dist/shared/chunk-HTUSL2U7.js.map +0 -1
  410. package/dist/shared/chunk-IQIISR22.js +0 -794
  411. package/dist/shared/chunk-IQIISR22.js.map +0 -1
  412. package/dist/shared/chunk-JK2FWFJU.js +0 -15
  413. package/dist/shared/chunk-JK2FWFJU.js.map +0 -1
  414. package/dist/shared/chunk-KEM5N6GJ.js +0 -505
  415. package/dist/shared/chunk-KEM5N6GJ.js.map +0 -1
  416. package/dist/shared/chunk-KIDICX3Y.js.map +0 -1
  417. package/dist/shared/chunk-KILJYJFE.js.map +0 -1
  418. package/dist/shared/chunk-L6C7HUSA.js.map +0 -1
  419. package/dist/shared/chunk-LCJ2VFPM.js.map +0 -1
  420. package/dist/shared/chunk-LLNPH3XR.js.map +0 -1
  421. package/dist/shared/chunk-LTIJI7Y3.js.map +0 -1
  422. package/dist/shared/chunk-MFNHFN2B.js +0 -103
  423. package/dist/shared/chunk-MFNHFN2B.js.map +0 -1
  424. package/dist/shared/chunk-N3ZTQD5I.js.map +0 -1
  425. package/dist/shared/chunk-NTLAKMMQ.js.map +0 -1
  426. package/dist/shared/chunk-Q4NPPLEU.js.map +0 -1
  427. package/dist/shared/chunk-RV7AYVFV.js.map +0 -1
  428. package/dist/shared/chunk-SE6O65HC.js +0 -44
  429. package/dist/shared/chunk-SE6O65HC.js.map +0 -1
  430. package/dist/shared/chunk-TFGGYU6Y.js.map +0 -1
  431. package/dist/shared/chunk-TNMNMYOB.js.map +0 -1
  432. package/dist/shared/chunk-TNTFKLCR.js +0 -1225
  433. package/dist/shared/chunk-TNTFKLCR.js.map +0 -1
  434. package/dist/shared/chunk-U5ZECCJM.js +0 -464
  435. package/dist/shared/chunk-U5ZECCJM.js.map +0 -1
  436. package/dist/shared/chunk-UXTASZ23.js.map +0 -1
  437. package/dist/shared/chunk-W6MRYRGJ.js.map +0 -1
  438. package/dist/shared/chunk-WKN566LN.js +0 -29
  439. package/dist/shared/chunk-WKN566LN.js.map +0 -1
  440. package/dist/shared/chunk-Y74LZNND.js.map +0 -1
  441. package/dist/shared/chunk-YWOTQWIQ.js +0 -572
  442. package/dist/shared/chunk-YWOTQWIQ.js.map +0 -1
  443. package/dist/shared/chunk-ZLYIRH2B.js.map +0 -1
  444. package/dist/shared/chunk-ZR6R6Z6O.js.map +0 -1
  445. package/dist/shared/chunk-ZRRAK5NS.js.map +0 -1
  446. package/dist/shared/tests/schema-registry.test.d.ts +0 -2
  447. package/dist/shared/tests/schema-registry.test.d.ts.map +0 -1
  448. package/dist/shared/utils/schema-registry.d.ts +0 -5
  449. package/dist/shared/utils/schema-registry.d.ts.map +0 -1
  450. package/dist/shared/utils/schema-registry.js +0 -29
  451. package/dist/shared/utils/tests/schema-registry.test.d.ts +0 -2
  452. package/dist/shared/utils/tests/schema-registry.test.d.ts.map +0 -1
  453. package/dist/shared/utils/typed-ref.d.ts +0 -43
  454. package/dist/shared/utils/typed-ref.d.ts.map +0 -1
  455. package/dist/shared/utils/typed-ref.js.map +0 -1
  456. package/src/shared/tests/schema-registry.test.ts +0 -12
  457. package/src/shared/utils/schema-registry.ts +0 -82
  458. package/src/shared/utils/tests/schema-registry.test.ts +0 -13
  459. package/src/shared/utils/typed-ref.ts +0 -53
  460. /package/dist/shared/{utils/schema-registry.js.map → bricks/props/grow.js.map} +0 -0
  461. /package/dist/shared/{chunk-N3BEBLWF.js.map → chunk-IPWYNE6Y.js.map} +0 -0
@@ -1,5 +1,8 @@
1
1
  /*! Upstart.gg - Copyright (C) 2024 Flippable - https://github.com/upstart-gg/upstart/blob/main/LICENSE */
2
2
 
3
+ import {
4
+ StringEnum
5
+ } from "./chunk-GDYCCB3B.js";
3
6
 
4
7
  // src/shared/datarecords/external/airtable/types.ts
5
8
  import { Type } from "@sinclair/typebox";
@@ -39,17 +42,17 @@ var airtableOptions = Type.Object({
39
42
  ),
40
43
  fields: Type.Optional(airtableFields)
41
44
  });
42
- var AirtableFieldTypes = Type.Union([
43
- Type.Literal("number"),
44
- Type.Literal("checkbox"),
45
- Type.Literal("date"),
46
- Type.Literal("dateTime"),
47
- Type.Literal("email"),
48
- Type.Literal("url"),
49
- Type.Literal("singleLineText"),
50
- Type.Literal("multilineText"),
51
- Type.Literal("singleSelect"),
52
- Type.Literal("multipleSelects")
45
+ var AirtableFieldTypes = StringEnum([
46
+ "number",
47
+ "checkbox",
48
+ "date",
49
+ "dateTime",
50
+ "email",
51
+ "url",
52
+ "singleLineText",
53
+ "multilineText",
54
+ "singleSelect",
55
+ "multipleSelects"
53
56
  ]);
54
57
 
55
58
  export {
@@ -57,4 +60,4 @@ export {
57
60
  airtableOptions,
58
61
  AirtableFieldTypes
59
62
  };
60
- //# sourceMappingURL=chunk-CSF2WQX2.js.map
63
+ //# sourceMappingURL=chunk-EID5HPF3.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/shared/datarecords/external/airtable/types.ts"],"sourcesContent":["import { Type, type Static } from \"@sinclair/typebox\";\nimport { StringEnum } from \"~/shared/utils/string-enum\";\n\nexport const airtableFields = Type.Array(\n Type.Object({\n id: Type.String(),\n name: Type.String(),\n type: Type.String(),\n }),\n);\nexport type AirtableFields = Static<typeof airtableFields>;\n\nconst createAirtableTableResponseSchema = Type.Object({\n id: Type.String(),\n name: Type.String(),\n description: Type.String(),\n primaryFieldId: Type.String(),\n fields: airtableFields,\n});\n\nexport type CreateAirtableTableResponse = Static<typeof createAirtableTableResponseSchema>;\n\nexport const airtableOptions = Type.Object({\n externalUrl: Type.Optional(Type.String()),\n baseId: Type.String({\n pattern: \"^app[A-Za-z0-9]+$\",\n description: 'Airtable Base ID starting with \"app\"',\n }),\n baseName: Type.Optional(\n Type.String({\n description: \"Airtable Base Name\",\n }),\n ),\n tableId: Type.String({\n pattern: \"^tbl[A-Za-z0-9]+$\",\n description: 'Airtable Table ID starting with \"tbl\"',\n }),\n tableName: Type.Optional(\n Type.String({\n description: \"Table name as shown in Airtable interface\",\n }),\n ),\n fields: Type.Optional(airtableFields),\n});\nexport type AirtableOptions = Static<typeof airtableOptions>;\n\nexport type AirtableBases = {\n id: string;\n name: string;\n}[];\n\nexport const AirtableFieldTypes = StringEnum([\n \"number\",\n \"checkbox\",\n \"date\",\n \"dateTime\",\n \"email\",\n \"url\",\n \"singleLineText\",\n \"multilineText\",\n \"singleSelect\",\n \"multipleSelects\",\n]);\nexport type AirtableFieldType = Static<typeof AirtableFieldTypes>;\n"],"mappings":";;;;;;;AAAA,SAAS,YAAyB;AAG3B,IAAM,iBAAiB,KAAK;AAAA,EACjC,KAAK,OAAO;AAAA,IACV,IAAI,KAAK,OAAO;AAAA,IAChB,MAAM,KAAK,OAAO;AAAA,IAClB,MAAM,KAAK,OAAO;AAAA,EACpB,CAAC;AACH;AAGA,IAAM,oCAAoC,KAAK,OAAO;AAAA,EACpD,IAAI,KAAK,OAAO;AAAA,EAChB,MAAM,KAAK,OAAO;AAAA,EAClB,aAAa,KAAK,OAAO;AAAA,EACzB,gBAAgB,KAAK,OAAO;AAAA,EAC5B,QAAQ;AACV,CAAC;AAIM,IAAM,kBAAkB,KAAK,OAAO;AAAA,EACzC,aAAa,KAAK,SAAS,KAAK,OAAO,CAAC;AAAA,EACxC,QAAQ,KAAK,OAAO;AAAA,IAClB,SAAS;AAAA,IACT,aAAa;AAAA,EACf,CAAC;AAAA,EACD,UAAU,KAAK;AAAA,IACb,KAAK,OAAO;AAAA,MACV,aAAa;AAAA,IACf,CAAC;AAAA,EACH;AAAA,EACA,SAAS,KAAK,OAAO;AAAA,IACnB,SAAS;AAAA,IACT,aAAa;AAAA,EACf,CAAC;AAAA,EACD,WAAW,KAAK;AAAA,IACd,KAAK,OAAO;AAAA,MACV,aAAa;AAAA,IACf,CAAC;AAAA,EACH;AAAA,EACA,QAAQ,KAAK,SAAS,cAAc;AACtC,CAAC;AAQM,IAAM,qBAAqB,WAAW;AAAA,EAC3C;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,CAAC;","names":[]}
@@ -0,0 +1,389 @@
1
+ /*! Upstart.gg - Copyright (C) 2024 Flippable - https://github.com/upstart-gg/upstart/blob/main/LICENSE */
2
+
3
+ import {
4
+ toLLMSchema
5
+ } from "./chunk-MO6CRLQA.js";
6
+ import {
7
+ StringEnum
8
+ } from "./chunk-GDYCCB3B.js";
9
+
10
+ // src/shared/datasources/types.ts
11
+ import { Type } from "@sinclair/typebox";
12
+ var providersSchema = StringEnum([
13
+ // "facebook-posts",
14
+ // "instagram-feed",
15
+ // "mastodon-account",
16
+ // "mastodon-status",
17
+ // "mastodon-status-list",
18
+ "internal"
19
+ // "rss",
20
+ // // "threads-media",
21
+ // // "tiktok-video",
22
+ // "youtube-list",
23
+ // "http-json",
24
+ // "internal-blog",
25
+ // "internal-changelog",
26
+ // // "internal-contact-info",
27
+ // "internal-faq",
28
+ // "internal-links",
29
+ // "internal-recipes",
30
+ // "internal-restaurant",
31
+ // "internal-cv",
32
+ ]);
33
+ var datasourceInternalManifest = Type.Object(
34
+ {
35
+ id: Type.String({
36
+ title: "ID",
37
+ description: "Unique identifier of the datasource. Used to reference the datasource in the system. Use a url-safe string like a slug."
38
+ }),
39
+ label: Type.String({ title: "Label", description: "Label of the datasource displayed in the UI" }),
40
+ provider: Type.Literal("internal", {
41
+ title: "Internal",
42
+ description: "Internal datasource saved locally in Upstart."
43
+ }),
44
+ schema: Type.Any({
45
+ title: "Schema",
46
+ description: "JSON Schema of datasource. MUST Always an array of objects."
47
+ }),
48
+ indexes: Type.Array(
49
+ Type.Object({
50
+ name: Type.String({ title: "Index name" }),
51
+ fields: Type.Array(Type.String(), { title: "Fields to index" }),
52
+ unique: Type.Optional(Type.Boolean({ title: "Unique index", default: false }))
53
+ }),
54
+ {
55
+ title: "Indexes",
56
+ description: "IMPORTANT: Indexes to create on the datasource. use it to enforce uniqueness or improve query performance."
57
+ }
58
+ )
59
+ },
60
+ {
61
+ examples: [
62
+ {
63
+ id: "customers",
64
+ label: "Customers",
65
+ provider: "internal",
66
+ schema: {
67
+ type: "array",
68
+ items: {
69
+ type: "object",
70
+ properties: {
71
+ name: { type: "string", title: "Name" },
72
+ email: { type: "string", title: "Email", format: "email" }
73
+ },
74
+ required: ["name", "email"],
75
+ title: "Customer",
76
+ examples: [
77
+ { name: "John Doe", email: "john.doe@example.com" },
78
+ {
79
+ name: "Jane Smith",
80
+ email: "jane.smith@example.com"
81
+ },
82
+ {
83
+ name: "Alice Johnson",
84
+ email: "alice.johnson@example.com"
85
+ },
86
+ {
87
+ name: "Bob Brown",
88
+ email: "bob.brown@example.com"
89
+ },
90
+ {
91
+ name: "Charlie Davis",
92
+ email: "charlie.davis@example.com"
93
+ }
94
+ ]
95
+ }
96
+ },
97
+ indexes: [
98
+ {
99
+ name: "idx_customers_email",
100
+ fields: ["email"],
101
+ unique: true
102
+ }
103
+ ]
104
+ },
105
+ {
106
+ id: "blog_posts",
107
+ label: "Blog Posts",
108
+ provider: "internal",
109
+ schema: {
110
+ type: "array",
111
+ items: {
112
+ type: "object",
113
+ properties: {
114
+ title: { type: "string", title: "Title" },
115
+ content: { type: "string", title: "Content" },
116
+ author: { type: "string", title: "Author" }
117
+ },
118
+ required: ["title", "content", "author"],
119
+ title: "Blog Post",
120
+ examples: [
121
+ {
122
+ title: "My First Blog Post",
123
+ content: "This is the content of my first blog post.",
124
+ author: "John Doe"
125
+ },
126
+ {
127
+ title: "Exploring the Cosmos",
128
+ content: "A journey through the stars and galaxies.",
129
+ author: "Jane Smith"
130
+ },
131
+ {
132
+ title: "The Art of Cooking",
133
+ content: "Delicious recipes and cooking tips.",
134
+ author: "Alice Johnson"
135
+ },
136
+ {
137
+ title: "Traveling the World",
138
+ content: "My adventures in different countries.",
139
+ author: "Bob Brown"
140
+ },
141
+ {
142
+ title: "Technology Trends",
143
+ content: "The latest trends in technology.",
144
+ author: "Charlie Davis"
145
+ }
146
+ ]
147
+ }
148
+ },
149
+ indexes: [
150
+ {
151
+ name: "idx_blog_posts_title",
152
+ fields: ["title"],
153
+ unique: true
154
+ }
155
+ ]
156
+ }
157
+ ]
158
+ }
159
+ );
160
+ var datasourceManifest = datasourceInternalManifest;
161
+ var datasourceManifestLLM = toLLMSchema(datasourceManifest);
162
+ var datasourcesList = Type.Array(datasourceManifest);
163
+ var stringFilter = Type.Object({
164
+ field: Type.String(),
165
+ op: StringEnum([
166
+ "eq",
167
+ "ne",
168
+ "contains",
169
+ "notContains",
170
+ "startsWith",
171
+ "notStartsWith",
172
+ "endsWith",
173
+ "notEndsWith"
174
+ ]),
175
+ value: Type.String()
176
+ });
177
+ var numberFilter = Type.Object({
178
+ field: Type.String(),
179
+ op: StringEnum(["eq", "ne", "lt", "lte", "gt", "gte"]),
180
+ value: Type.Number()
181
+ });
182
+ var dateFilterAbsolute = Type.Object({
183
+ field: Type.String(),
184
+ op: StringEnum(["before", "after"]),
185
+ value: Type.String()
186
+ });
187
+ var dateFilterRelative = Type.Object({
188
+ field: Type.String(),
189
+ op: StringEnum(["beforeNow", "afterNow"]),
190
+ value: Type.Null()
191
+ });
192
+ var arrayFilter = Type.Object({
193
+ field: Type.String(),
194
+ op: StringEnum(["contains", "notContains", "containsAll", "containsAny", "notContainsAny"]),
195
+ value: Type.Array(Type.String())
196
+ });
197
+ var booleanFilter = Type.Object({
198
+ field: Type.String(),
199
+ op: Type.Literal("eq"),
200
+ value: Type.Boolean()
201
+ });
202
+ var queryFilter = Type.Union([
203
+ stringFilter,
204
+ numberFilter,
205
+ dateFilterAbsolute,
206
+ dateFilterRelative,
207
+ arrayFilter,
208
+ booleanFilter
209
+ ]);
210
+ var filterExpression = Type.Recursive(
211
+ (This) => Type.Union(
212
+ [
213
+ Type.Object({
214
+ op: Type.Literal("and"),
215
+ fields: Type.Array(Type.Union([queryFilter, This]), { title: "Indexed Fields" })
216
+ }),
217
+ Type.Object({
218
+ op: Type.Literal("or"),
219
+ fields: Type.Array(Type.Union([queryFilter, This]))
220
+ })
221
+ ],
222
+ {
223
+ default: {
224
+ op: "and",
225
+ fields: []
226
+ },
227
+ examples: [
228
+ {
229
+ op: "and",
230
+ fields: [
231
+ {
232
+ field: "$id",
233
+ op: "eq",
234
+ value: "123"
235
+ },
236
+ {
237
+ field: "$publicationDate",
238
+ op: "beforeNow"
239
+ }
240
+ ]
241
+ }
242
+ ]
243
+ }
244
+ ),
245
+ {
246
+ title: "Filter Expression",
247
+ description: "Expression used to filter query results. Can be a combination of and/or conditions."
248
+ }
249
+ );
250
+ var querySchema = Type.Object(
251
+ {
252
+ id: Type.String({
253
+ title: "Query ID",
254
+ description: "Unique identifier for the query. Used to reference the query in the system. URL-safe string like a slug."
255
+ }),
256
+ label: Type.String({
257
+ title: "Label",
258
+ maxLength: 100,
259
+ description: "Label of the query displayed in the UI"
260
+ }),
261
+ datasourceId: Type.String({
262
+ title: "Database",
263
+ description: "ID of the datasource to query"
264
+ }),
265
+ limit: Type.Number({
266
+ title: "Limit",
267
+ description: "Limit the number of records to fetch from the datasource.",
268
+ minimum: 1,
269
+ default: 10
270
+ }),
271
+ sortDirection: Type.Optional(
272
+ StringEnum(["asc", "desc"], {
273
+ title: "Sort",
274
+ enumNames: ["Ascending", "Descending"],
275
+ description: "Direction to sort the records by",
276
+ default: "desc"
277
+ })
278
+ ),
279
+ sortField: Type.Optional(
280
+ Type.String({
281
+ title: "Sort Field",
282
+ description: "Field to sort by (must be an indexed field)",
283
+ default: "$publicationDate"
284
+ })
285
+ ),
286
+ filters: Type.Optional(filterExpression),
287
+ parameters: Type.Optional(
288
+ Type.Array(
289
+ Type.Object({
290
+ field: Type.String({ title: "Field", description: "Field name to use as parameter" }),
291
+ op: StringEnum(
292
+ [
293
+ "eq",
294
+ "ne",
295
+ "contains",
296
+ "notContains",
297
+ "startsWith",
298
+ "notStartsWith",
299
+ "endsWith",
300
+ "notEndsWith",
301
+ "lt",
302
+ "lte",
303
+ "gt",
304
+ "gte",
305
+ "before",
306
+ "after",
307
+ "beforeNow",
308
+ "afterNow",
309
+ "containsAll",
310
+ "containsAny",
311
+ "notContainsAny"
312
+ ],
313
+ { title: "Operator", description: "Operator to use for the parameter" }
314
+ )
315
+ }),
316
+ {
317
+ title: "Parameters",
318
+ description: "Field name and operator that will be used as parameters when using the query in pages. Only indexed fields can be used as parameters.",
319
+ default: [],
320
+ examples: [
321
+ [{ field: "$slug", op: "eq" }],
322
+ [{ field: "category", op: "eq" }],
323
+ [{ field: "tags", op: "containsAny" }],
324
+ [{ field: "author", op: "eq" }],
325
+ [{ field: "title", op: "contains" }]
326
+ ]
327
+ }
328
+ )
329
+ )
330
+ },
331
+ {
332
+ examples: [
333
+ {
334
+ id: "latest-posts",
335
+ label: "Latest posts",
336
+ datasourceId: "blog_posts",
337
+ limit: 5,
338
+ sortDirection: "desc",
339
+ sortField: "$publicationDate"
340
+ },
341
+ {
342
+ id: "posts-by-category",
343
+ label: "Posts by category",
344
+ datasourceId: "blog_posts",
345
+ limit: 10,
346
+ sortDirection: "desc",
347
+ sortField: "$publicationDate",
348
+ parameters: [{ field: "category", op: "eq" }]
349
+ },
350
+ {
351
+ id: "posts-by-tag",
352
+ label: "Posts by tag",
353
+ datasourceId: "blog_posts",
354
+ limit: 10,
355
+ sortDirection: "desc",
356
+ sortField: "$publicationDate",
357
+ parameters: [{ field: "tags", op: "containsAny" }]
358
+ },
359
+ {
360
+ id: "author-posts",
361
+ label: "Author posts",
362
+ datasourceId: "blog_posts",
363
+ limit: 10,
364
+ sortDirection: "desc",
365
+ sortField: "$publicationDate",
366
+ parameters: [{ field: "author", op: "eq" }]
367
+ },
368
+ {
369
+ id: "search-posts",
370
+ label: "Search posts",
371
+ datasourceId: "blog_posts",
372
+ limit: 10,
373
+ sortDirection: "desc",
374
+ sortField: "$publicationDate",
375
+ parameters: [{ field: "title", op: "contains" }]
376
+ }
377
+ ]
378
+ }
379
+ );
380
+
381
+ export {
382
+ providersSchema,
383
+ datasourceManifest,
384
+ datasourceManifestLLM,
385
+ datasourcesList,
386
+ queryFilter,
387
+ querySchema
388
+ };
389
+ //# sourceMappingURL=chunk-EMF5TCPX.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/shared/datasources/types.ts"],"sourcesContent":["import { Type, type Static } from \"@sinclair/typebox\";\nimport { StringEnum } from \"../utils/string-enum\";\nimport { toLLMSchema } from \"../utils/llm\";\n\nexport const providersSchema = StringEnum([\n // \"facebook-posts\",\n // \"instagram-feed\",\n // \"mastodon-account\",\n // \"mastodon-status\",\n // \"mastodon-status-list\",\n \"internal\",\n // \"rss\",\n // // \"threads-media\",\n // // \"tiktok-video\",\n // \"youtube-list\",\n // \"http-json\",\n // \"internal-blog\",\n // \"internal-changelog\",\n // // \"internal-contact-info\",\n // \"internal-faq\",\n // \"internal-links\",\n // \"internal-recipes\",\n // \"internal-restaurant\",\n // \"internal-cv\",\n]);\n\nexport type DatasourceProvider = Static<typeof providersSchema>;\n\n// const datasourceProviderManifest = Type.Composite([\n// Type.Object({\n// id: Type.String({\n// title: \"ID\",\n// description:\n// \"Unique identifier of the datasource. Used to reference the datasource in the system. Use a url-safe string like a slug.\",\n// }),\n// label: Type.String({ title: \"Label\", description: \"Label of the datasource displayed in the UI\" }),\n// schema: Type.Null({\n// description: \"Always null for provider datasources. The schema is defined by the provider.\",\n// }),\n// ttlMinutes: Type.Optional(\n// Type.Number({\n// title: \"Time to live\",\n// description:\n// \"Time to live in minutes. If set to -1, it never expires and has to be manually refreshed. If set to 0, the datasource is always fetched live. If > 0, then the datasource is feteched every N minutes.\",\n// }),\n// ),\n// refresh: Type.Optional(\n// Type.Object(\n// {\n// method: Type.Union([Type.Literal(\"interval\"), Type.Literal(\"manual\"), Type.Literal(\"live\")]),\n// interval: Type.Optional(Type.Number()),\n// },\n// {\n// title: \"Refresh options\",\n// description: \"Options to refresh the datasource\",\n// },\n// ),\n// ),\n// }),\n// ]);\n\n// export type DatasourceProviderManifest = Static<typeof datasourceProviderManifest>;\n\nconst datasourceInternalManifest = Type.Object(\n {\n id: Type.String({\n title: \"ID\",\n description:\n \"Unique identifier of the datasource. Used to reference the datasource in the system. Use a url-safe string like a slug.\",\n }),\n label: Type.String({ title: \"Label\", description: \"Label of the datasource displayed in the UI\" }),\n provider: Type.Literal(\"internal\", {\n title: \"Internal\",\n description: \"Internal datasource saved locally in Upstart.\",\n }),\n schema: Type.Any({\n title: \"Schema\",\n description: \"JSON Schema of datasource. MUST Always an array of objects.\",\n }),\n indexes: Type.Array(\n Type.Object({\n name: Type.String({ title: \"Index name\" }),\n fields: Type.Array(Type.String(), { title: \"Fields to index\" }),\n unique: Type.Optional(Type.Boolean({ title: \"Unique index\", default: false })),\n }),\n {\n title: \"Indexes\",\n description:\n \"IMPORTANT: Indexes to create on the datasource. use it to enforce uniqueness or improve query performance.\",\n },\n ),\n },\n {\n examples: [\n {\n id: \"customers\",\n label: \"Customers\",\n provider: \"internal\",\n schema: {\n type: \"array\",\n items: {\n type: \"object\",\n properties: {\n name: { type: \"string\", title: \"Name\" },\n email: { type: \"string\", title: \"Email\", format: \"email\" },\n },\n required: [\"name\", \"email\"],\n title: \"Customer\",\n examples: [\n { name: \"John Doe\", email: \"john.doe@example.com\" },\n {\n name: \"Jane Smith\",\n email: \"jane.smith@example.com\",\n },\n {\n name: \"Alice Johnson\",\n email: \"alice.johnson@example.com\",\n },\n {\n name: \"Bob Brown\",\n email: \"bob.brown@example.com\",\n },\n {\n name: \"Charlie Davis\",\n email: \"charlie.davis@example.com\",\n },\n ],\n },\n },\n indexes: [\n {\n name: \"idx_customers_email\",\n fields: [\"email\"],\n unique: true,\n },\n ],\n },\n {\n id: \"blog_posts\",\n label: \"Blog Posts\",\n provider: \"internal\",\n schema: {\n type: \"array\",\n items: {\n type: \"object\",\n properties: {\n title: { type: \"string\", title: \"Title\" },\n content: { type: \"string\", title: \"Content\" },\n author: { type: \"string\", title: \"Author\" },\n },\n required: [\"title\", \"content\", \"author\"],\n title: \"Blog Post\",\n examples: [\n {\n title: \"My First Blog Post\",\n content: \"This is the content of my first blog post.\",\n author: \"John Doe\",\n },\n {\n title: \"Exploring the Cosmos\",\n content: \"A journey through the stars and galaxies.\",\n author: \"Jane Smith\",\n },\n {\n title: \"The Art of Cooking\",\n content: \"Delicious recipes and cooking tips.\",\n author: \"Alice Johnson\",\n },\n {\n title: \"Traveling the World\",\n content: \"My adventures in different countries.\",\n author: \"Bob Brown\",\n },\n {\n title: \"Technology Trends\",\n content: \"The latest trends in technology.\",\n author: \"Charlie Davis\",\n },\n ],\n },\n },\n indexes: [\n {\n name: \"idx_blog_posts_title\",\n fields: [\"title\"],\n unique: true,\n },\n ],\n },\n ],\n },\n);\n\nexport type InternalDatasource = Static<typeof datasourceInternalManifest>;\n\n// const datasourceJsonManifest = Type.Composite([\n// datasourceBaseFields,\n// Type.Object({\n// provider: Type.Literal(\"http-json\", {\n// title: \"JSON Array\",\n// description: \"JSON array datasource.\",\n// }),\n// options: httpJsonOptions,\n// schema: Type.Any({\n// title: \"Schema\",\n// description: \"JSON Schema of datasource. Always an array of objects.\",\n// examples: [\n// {\n// type: \"array\",\n// items: {\n// type: \"object\",\n// properties: {\n// id: { type: \"string\", title: \"ID\" },\n// title: { type: \"string\", title: \"Title\" },\n// firstname: { type: \"string\", title: \"Firstname\" },\n// lastname: { type: \"string\", title: \"Lastname\" },\n// createdAt: { type: \"string\", format: \"date-time\", title: \"Created at\" },\n// email: { type: \"string\", format: \"email\", title: \"Email\" },\n// },\n// required: [\"id\", \"title\", \"firstname\", \"lastname\", \"email\", \"createdAt\"],\n// title: \"Employee\",\n// },\n// title: \"Employees\",\n// description: \"Employees list\",\n// },\n// ],\n// }),\n// }),\n// ]);\n\n// type DatasourceJsonArrayManifest = Static<typeof datasourceJsonManifest>;\n\n// Fow now, let support only custom (internal) datasource\n// export const datasourceManifest = datasourceCustomManifest;\nexport const datasourceManifest = datasourceInternalManifest;\nexport const datasourceManifestLLM = toLLMSchema(datasourceManifest);\n\nexport type Datasource = Static<typeof datasourceManifest>;\nexport const datasourcesList = Type.Array(datasourceManifest);\nexport type DatasourcesList = Static<typeof datasourcesList>;\n\nconst stringFilter = Type.Object({\n field: Type.String(),\n op: StringEnum([\n \"eq\",\n \"ne\",\n \"contains\",\n \"notContains\",\n \"startsWith\",\n \"notStartsWith\",\n \"endsWith\",\n \"notEndsWith\",\n ]),\n value: Type.String(),\n});\n\nconst numberFilter = Type.Object({\n field: Type.String(),\n op: StringEnum([\"eq\", \"ne\", \"lt\", \"lte\", \"gt\", \"gte\"]),\n value: Type.Number(),\n});\n\nconst dateFilterAbsolute = Type.Object({\n field: Type.String(),\n op: StringEnum([\"before\", \"after\"]),\n value: Type.String(),\n});\n\nconst dateFilterRelative = Type.Object({\n field: Type.String(),\n op: StringEnum([\"beforeNow\", \"afterNow\"]),\n value: Type.Null(),\n});\n\nconst arrayFilter = Type.Object({\n field: Type.String(),\n op: StringEnum([\"contains\", \"notContains\", \"containsAll\", \"containsAny\", \"notContainsAny\"]),\n value: Type.Array(Type.String()),\n});\n\nconst booleanFilter = Type.Object({\n field: Type.String(),\n op: Type.Literal(\"eq\"),\n value: Type.Boolean(),\n});\n\nexport const queryFilter = Type.Union([\n stringFilter,\n numberFilter,\n dateFilterAbsolute,\n dateFilterRelative,\n arrayFilter,\n booleanFilter,\n]);\n\nconst filterExpression = Type.Recursive(\n (This) =>\n Type.Union(\n [\n Type.Object({\n op: Type.Literal(\"and\"),\n fields: Type.Array(Type.Union([queryFilter, This]), { title: \"Indexed Fields\" }),\n }),\n Type.Object({\n op: Type.Literal(\"or\"),\n fields: Type.Array(Type.Union([queryFilter, This])),\n }),\n ],\n {\n default: {\n op: \"and\",\n fields: [],\n },\n examples: [\n {\n op: \"and\",\n fields: [\n {\n field: \"$id\",\n op: \"eq\",\n value: \"123\",\n },\n {\n field: \"$publicationDate\",\n op: \"beforeNow\",\n },\n ],\n },\n ],\n },\n ),\n {\n title: \"Filter Expression\",\n description: \"Expression used to filter query results. Can be a combination of and/or conditions.\",\n },\n);\n\nexport const querySchema = Type.Object(\n {\n id: Type.String({\n title: \"Query ID\",\n description:\n \"Unique identifier for the query. Used to reference the query in the system. URL-safe string like a slug.\",\n }),\n label: Type.String({\n title: \"Label\",\n maxLength: 100,\n description: \"Label of the query displayed in the UI\",\n }),\n datasourceId: Type.String({\n title: \"Database\",\n description: \"ID of the datasource to query\",\n }),\n limit: Type.Number({\n title: \"Limit\",\n description: \"Limit the number of records to fetch from the datasource.\",\n minimum: 1,\n default: 10,\n }),\n sortDirection: Type.Optional(\n StringEnum([\"asc\", \"desc\"], {\n title: \"Sort\",\n enumNames: [\"Ascending\", \"Descending\"],\n description: \"Direction to sort the records by\",\n default: \"desc\",\n }),\n ),\n sortField: Type.Optional(\n Type.String({\n title: \"Sort Field\",\n description: \"Field to sort by (must be an indexed field)\",\n default: \"$publicationDate\",\n }),\n ),\n filters: Type.Optional(filterExpression),\n parameters: Type.Optional(\n Type.Array(\n Type.Object({\n field: Type.String({ title: \"Field\", description: \"Field name to use as parameter\" }),\n op: StringEnum(\n [\n \"eq\",\n \"ne\",\n \"contains\",\n \"notContains\",\n \"startsWith\",\n \"notStartsWith\",\n \"endsWith\",\n \"notEndsWith\",\n \"lt\",\n \"lte\",\n \"gt\",\n \"gte\",\n \"before\",\n \"after\",\n \"beforeNow\",\n \"afterNow\",\n \"containsAll\",\n \"containsAny\",\n \"notContainsAny\",\n ],\n { title: \"Operator\", description: \"Operator to use for the parameter\" },\n ),\n }),\n {\n title: \"Parameters\",\n description:\n \"Field name and operator that will be used as parameters when using the query in pages. Only indexed fields can be used as parameters.\",\n default: [],\n examples: [\n [{ field: \"$slug\", op: \"eq\" }],\n [{ field: \"category\", op: \"eq\" }],\n [{ field: \"tags\", op: \"containsAny\" }],\n [{ field: \"author\", op: \"eq\" }],\n [{ field: \"title\", op: \"contains\" }],\n ],\n },\n ),\n ),\n },\n {\n examples: [\n {\n id: \"latest-posts\",\n label: \"Latest posts\",\n datasourceId: \"blog_posts\",\n limit: 5,\n sortDirection: \"desc\",\n sortField: \"$publicationDate\",\n },\n {\n id: \"posts-by-category\",\n label: \"Posts by category\",\n datasourceId: \"blog_posts\",\n limit: 10,\n sortDirection: \"desc\",\n sortField: \"$publicationDate\",\n parameters: [{ field: \"category\", op: \"eq\" }],\n },\n {\n id: \"posts-by-tag\",\n label: \"Posts by tag\",\n datasourceId: \"blog_posts\",\n limit: 10,\n sortDirection: \"desc\",\n sortField: \"$publicationDate\",\n parameters: [{ field: \"tags\", op: \"containsAny\" }],\n },\n {\n id: \"author-posts\",\n label: \"Author posts\",\n datasourceId: \"blog_posts\",\n limit: 10,\n sortDirection: \"desc\",\n sortField: \"$publicationDate\",\n parameters: [{ field: \"author\", op: \"eq\" }],\n },\n {\n id: \"search-posts\",\n label: \"Search posts\",\n datasourceId: \"blog_posts\",\n limit: 10,\n sortDirection: \"desc\",\n sortField: \"$publicationDate\",\n parameters: [{ field: \"title\", op: \"contains\" }],\n },\n ],\n },\n);\n\nexport type Query = Static<typeof querySchema>;\n"],"mappings":"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","names":[]}
@@ -0,0 +1,33 @@
1
+ /*! Upstart.gg - Copyright (C) 2024 Flippable - https://github.com/upstart-gg/upstart/blob/main/LICENSE */
2
+
3
+
4
+ // src/shared/bricks/props/color.ts
5
+ import { Type } from "@sinclair/typebox";
6
+ function color(options = {}) {
7
+ return Type.String({
8
+ title: "Text color",
9
+ "ai:instructions": "Format is `text-<variant>-<shade>`, variants being `primary`, `secondary`, `accent` and `neutral`, and shades between 50 and 900",
10
+ pattern: "^text-(primary|secondary|accent|neutral|base|inherit)-?(50|100|200|300|400|500|600|700|800|900)?$",
11
+ "ui:styleId": "styles:color",
12
+ "ui:field": "color",
13
+ "ui:color-type": "text",
14
+ ...options
15
+ });
16
+ }
17
+ function borderColor(options = {}) {
18
+ return Type.String({
19
+ title: "Border color",
20
+ "ai:instructions": "Format is `border-<variant>-<shade>`, variants being `primary`, `secondary`, `accent` and `neutral`, and shades between 50 and 900",
21
+ pattern: "^border-(primary|secondary|accent|neutral|base)-?(50|100|200|300|400|500|600|700|800|900)?$",
22
+ "ui:styleId": "styles:borderColor",
23
+ "ui:field": "color",
24
+ "ui:color-type": "border",
25
+ ...options
26
+ });
27
+ }
28
+
29
+ export {
30
+ color,
31
+ borderColor
32
+ };
33
+ //# sourceMappingURL=chunk-EUFVTHAG.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/shared/bricks/props/color.ts"],"sourcesContent":["import { type Static, type StringOptions, Type } from \"@sinclair/typebox\";\n\nexport function color(options: StringOptions = {}) {\n return Type.String({\n title: \"Text color\",\n \"ai:instructions\":\n \"Format is `text-<variant>-<shade>`, variants being `primary`, `secondary`, `accent` and `neutral`, and shades between 50 and 900\",\n pattern:\n \"^text-(primary|secondary|accent|neutral|base|inherit)-?(50|100|200|300|400|500|600|700|800|900)?$\",\n \"ui:styleId\": \"styles:color\",\n \"ui:field\": \"color\",\n \"ui:color-type\": \"text\",\n ...options,\n });\n}\n\nexport type ColorSettings = Static<ReturnType<typeof color>>;\n\nexport function borderColor(options: StringOptions = {}) {\n return Type.String({\n title: \"Border color\",\n \"ai:instructions\":\n \"Format is `border-<variant>-<shade>`, variants being `primary`, `secondary`, `accent` and `neutral`, and shades between 50 and 900\",\n pattern: \"^border-(primary|secondary|accent|neutral|base)-?(50|100|200|300|400|500|600|700|800|900)?$\",\n \"ui:styleId\": \"styles:borderColor\",\n \"ui:field\": \"color\",\n \"ui:color-type\": \"border\",\n ...options,\n });\n}\n\nexport type BorderColorSettings = Static<ReturnType<typeof borderColor>>;\n"],"mappings":";;;;AAAA,SAA0C,YAAY;AAE/C,SAAS,MAAM,UAAyB,CAAC,GAAG;AACjD,SAAO,KAAK,OAAO;AAAA,IACjB,OAAO;AAAA,IACP,mBACE;AAAA,IACF,SACE;AAAA,IACF,cAAc;AAAA,IACd,YAAY;AAAA,IACZ,iBAAiB;AAAA,IACjB,GAAG;AAAA,EACL,CAAC;AACH;AAIO,SAAS,YAAY,UAAyB,CAAC,GAAG;AACvD,SAAO,KAAK,OAAO;AAAA,IACjB,OAAO;AAAA,IACP,mBACE;AAAA,IACF,SAAS;AAAA,IACT,cAAc;AAAA,IACd,YAAY;AAAA,IACZ,iBAAiB;AAAA,IACjB,GAAG;AAAA,EACL,CAAC;AACH;","names":[]}
@@ -3,26 +3,25 @@
3
3
  import {
4
4
  fixedPositioned
5
5
  } from "./chunk-6WIMWLCJ.js";
6
+ import {
7
+ border
8
+ } from "./chunk-VYA2FCTY.js";
6
9
  import {
7
10
  defineProps,
8
11
  group
9
- } from "./chunk-BHC2A43S.js";
10
- import {
11
- defineBrickManifest
12
- } from "./chunk-EVLRH6VG.js";
12
+ } from "./chunk-UC75KRLX.js";
13
13
  import {
14
- shadowRef
15
- } from "./chunk-TNMNMYOB.js";
14
+ backgroundColor
15
+ } from "./chunk-5OVOXUFX.js";
16
16
  import {
17
- string,
18
- urlOrPageIdRef
19
- } from "./chunk-N3ZTQD5I.js";
17
+ shadow
18
+ } from "./chunk-5RCC2STG.js";
20
19
  import {
21
- borderRef
22
- } from "./chunk-NTLAKMMQ.js";
20
+ urlOrPageId
21
+ } from "./chunk-FYGFB5U5.js";
23
22
  import {
24
- backgroundColorRef
25
- } from "./chunk-RV7AYVFV.js";
23
+ defineBrickManifest
24
+ } from "./chunk-GNTJT7MR.js";
26
25
 
27
26
  // src/shared/bricks/manifests/sidebar.manifest.ts
28
27
  import { VscLayoutSidebarLeftOff } from "react-icons/vsc";
@@ -47,9 +46,9 @@ var manifest = defineBrickManifest({
47
46
  group({
48
47
  title: "Main element",
49
48
  children: {
50
- backgroundColor: Type.Optional(backgroundColorRef()),
51
- border: Type.Optional(borderRef()),
52
- shadow: Type.Optional(shadowRef()),
49
+ backgroundColor: Type.Optional(backgroundColor()),
50
+ border: Type.Optional(border()),
51
+ shadow: Type.Optional(shadow()),
53
52
  fixedPositioned: Type.Optional(fixedPositioned())
54
53
  },
55
54
  metadata: {
@@ -64,8 +63,8 @@ var manifest = defineBrickManifest({
64
63
  navItems: Type.Optional(
65
64
  Type.Array(
66
65
  Type.Object({
67
- urlOrPageId: urlOrPageIdRef(),
68
- label: Type.Optional(string("Label"))
66
+ urlOrPageId: urlOrPageId(),
67
+ label: Type.Optional(Type.String({ title: "Label" }))
69
68
  }),
70
69
  { title: "Navigation items", default: [] }
71
70
  )
@@ -102,4 +101,4 @@ export {
102
101
  manifest,
103
102
  examples
104
103
  };
105
- //# sourceMappingURL=chunk-2IHKVMKW.js.map
104
+ //# sourceMappingURL=chunk-FC52EHCC.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/shared/bricks/manifests/sidebar.manifest.ts"],"sourcesContent":["import { defineBrickManifest } from \"~/shared/brick-manifest\";\nimport { defineProps, group } from \"../props/helpers\";\nimport { VscLayoutSidebarLeftOff } from \"react-icons/vsc\";\nimport { Type } from \"@sinclair/typebox\";\nimport { urlOrPageId } from \"../props/string\";\nimport { backgroundColor } from \"../props/background\";\nimport { border } from \"../props/border\";\nimport { fixedPositioned } from \"../props/position\";\nimport { shadow } from \"../props/effects\";\nimport type { BrickExample } from \"./_types\";\n\nexport const manifest = defineBrickManifest({\n type: \"sidebar\",\n category: \"layout\",\n name: \"Sidebar\",\n description: \"A sidebar element\",\n inlineDragDisabled: true,\n isGlobalBrick: true,\n duplicatable: false,\n resizable: false,\n movable: false,\n aiInstructions: `\n This brick should be used on most sites/pages for navigation. By default, it will display links\n to the main pages of the site. You can customize the links by using the 'navigation.navItems' prop.\n `.trim(),\n icon: VscLayoutSidebarLeftOff,\n props: defineProps({\n container: Type.Optional(\n group({\n title: \"Main element\",\n children: {\n backgroundColor: Type.Optional(backgroundColor()),\n border: Type.Optional(border()),\n shadow: Type.Optional(shadow()),\n fixedPositioned: Type.Optional(fixedPositioned()),\n },\n metadata: {\n \"ui:responsive\": true,\n },\n }),\n ),\n navigation: Type.Optional(\n group({\n title: \"Links\",\n children: {\n navItems: Type.Optional(\n Type.Array(\n Type.Object({\n urlOrPageId: urlOrPageId(),\n label: Type.Optional(Type.String({ title: \"Label\" })),\n }),\n { title: \"Navigation items\", default: [] },\n ),\n ),\n },\n }),\n ),\n }),\n});\n\nexport type Manifest = typeof manifest;\n\nexport const examples: BrickExample<Manifest>[] = [\n {\n description: \"Standard sidebar with navigation links base on site pages\",\n type: \"sidebar\",\n props: {},\n },\n {\n description: \"Sidebar with specified navigation links\",\n type: \"sidebar\",\n props: {\n container: {\n backgroundColor: \"#f0f0f0\",\n },\n navigation: {\n navItems: [\n { urlOrPageId: \"https://google.com\", label: \"Google\" },\n { urlOrPageId: \"https://bing.com\", label: \"Bing\" },\n ],\n },\n },\n },\n];\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,SAAS,+BAA+B;AACxC,SAAS,YAAY;AAQd,IAAM,WAAW,oBAAoB;AAAA,EAC1C,MAAM;AAAA,EACN,UAAU;AAAA,EACV,MAAM;AAAA,EACN,aAAa;AAAA,EACb,oBAAoB;AAAA,EACpB,eAAe;AAAA,EACf,cAAc;AAAA,EACd,WAAW;AAAA,EACX,SAAS;AAAA,EACT,gBAAgB;AAAA;AAAA;AAAA,IAGd,KAAK;AAAA,EACP,MAAM;AAAA,EACN,OAAO,YAAY;AAAA,IACjB,WAAW,KAAK;AAAA,MACd,MAAM;AAAA,QACJ,OAAO;AAAA,QACP,UAAU;AAAA,UACR,iBAAiB,KAAK,SAAS,gBAAgB,CAAC;AAAA,UAChD,QAAQ,KAAK,SAAS,OAAO,CAAC;AAAA,UAC9B,QAAQ,KAAK,SAAS,OAAO,CAAC;AAAA,UAC9B,iBAAiB,KAAK,SAAS,gBAAgB,CAAC;AAAA,QAClD;AAAA,QACA,UAAU;AAAA,UACR,iBAAiB;AAAA,QACnB;AAAA,MACF,CAAC;AAAA,IACH;AAAA,IACA,YAAY,KAAK;AAAA,MACf,MAAM;AAAA,QACJ,OAAO;AAAA,QACP,UAAU;AAAA,UACR,UAAU,KAAK;AAAA,YACb,KAAK;AAAA,cACH,KAAK,OAAO;AAAA,gBACV,aAAa,YAAY;AAAA,gBACzB,OAAO,KAAK,SAAS,KAAK,OAAO,EAAE,OAAO,QAAQ,CAAC,CAAC;AAAA,cACtD,CAAC;AAAA,cACD,EAAE,OAAO,oBAAoB,SAAS,CAAC,EAAE;AAAA,YAC3C;AAAA,UACF;AAAA,QACF;AAAA,MACF,CAAC;AAAA,IACH;AAAA,EACF,CAAC;AACH,CAAC;AAIM,IAAM,WAAqC;AAAA,EAChD;AAAA,IACE,aAAa;AAAA,IACb,MAAM;AAAA,IACN,OAAO,CAAC;AAAA,EACV;AAAA,EACA;AAAA,IACE,aAAa;AAAA,IACb,MAAM;AAAA,IACN,OAAO;AAAA,MACL,WAAW;AAAA,QACT,iBAAiB;AAAA,MACnB;AAAA,MACA,YAAY;AAAA,QACV,UAAU;AAAA,UACR,EAAE,aAAa,sBAAsB,OAAO,SAAS;AAAA,UACrD,EAAE,aAAa,oBAAoB,OAAO,OAAO;AAAA,QACnD;AAAA,MACF;AAAA,IACF;AAAA,EACF;AACF;","names":[]}