@upstart.gg/sdk 0.0.133 → 0.0.135

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/shared/ai/schemas.d.ts +1 -2
  2. package/dist/shared/ai/schemas.d.ts.map +1 -1
  3. package/dist/shared/ai/schemas.js +28 -1
  4. package/dist/shared/ai/schemas.js.map +1 -1
  5. package/dist/shared/ai/types.d.ts +15 -1
  6. package/dist/shared/ai/types.d.ts.map +1 -1
  7. package/dist/shared/ajv.js +6861 -1
  8. package/dist/shared/ajv.js.map +1 -1
  9. package/dist/shared/analytics/init.js +20 -1
  10. package/dist/shared/analytics/init.js.map +1 -1
  11. package/dist/shared/analytics/track.js +24 -1
  12. package/dist/shared/analytics/track.js.map +1 -1
  13. package/dist/shared/attributes.d.ts +97 -30
  14. package/dist/shared/attributes.d.ts.map +1 -1
  15. package/dist/shared/attributes.js +46 -1
  16. package/dist/shared/brick-manifest.d.ts +1 -1
  17. package/dist/shared/brick-manifest.js +26 -1
  18. package/dist/shared/bricks/manifests/accordion.manifest.d.ts +2 -2
  19. package/dist/shared/bricks/manifests/accordion.manifest.js +29 -1
  20. package/dist/shared/bricks/manifests/all-manifests.d.ts.map +1 -1
  21. package/dist/shared/bricks/manifests/all-manifests.js +59 -1
  22. package/dist/shared/bricks/manifests/box.manifest.d.ts +2 -2
  23. package/dist/shared/bricks/manifests/box.manifest.js +28 -1
  24. package/dist/shared/bricks/manifests/button.manifest.d.ts +2 -2
  25. package/dist/shared/bricks/manifests/button.manifest.js +28 -1
  26. package/dist/shared/bricks/manifests/card.manifest.d.ts +3 -3
  27. package/dist/shared/bricks/manifests/card.manifest.js +28 -1
  28. package/dist/shared/bricks/manifests/carousel.manifest.d.ts +2 -2
  29. package/dist/shared/bricks/manifests/carousel.manifest.js +28 -1
  30. package/dist/shared/bricks/manifests/footer.manifest.d.ts +4 -4
  31. package/dist/shared/bricks/manifests/footer.manifest.d.ts.map +1 -1
  32. package/dist/shared/bricks/manifests/footer.manifest.js +30 -1
  33. package/dist/shared/bricks/manifests/form.manifest.d.ts +3 -3
  34. package/dist/shared/bricks/manifests/form.manifest.js +29 -1
  35. package/dist/shared/bricks/manifests/hero.manifest.d.ts +2 -2
  36. package/dist/shared/bricks/manifests/hero.manifest.js +28 -1
  37. package/dist/shared/bricks/manifests/html.manifest.d.ts +2 -2
  38. package/dist/shared/bricks/manifests/html.manifest.js +28 -1
  39. package/dist/shared/bricks/manifests/icon.manifest.d.ts +2 -2
  40. package/dist/shared/bricks/manifests/icon.manifest.js +28 -1
  41. package/dist/shared/bricks/manifests/image.manifest.d.ts +2 -2
  42. package/dist/shared/bricks/manifests/image.manifest.js +28 -1
  43. package/dist/shared/bricks/manifests/images-gallery.manifest.d.ts +2 -2
  44. package/dist/shared/bricks/manifests/images-gallery.manifest.js +28 -1
  45. package/dist/shared/bricks/manifests/map.manifest.d.ts +2 -2
  46. package/dist/shared/bricks/manifests/map.manifest.js +31 -1
  47. package/dist/shared/bricks/manifests/navbar.manifest.d.ts +4 -4
  48. package/dist/shared/bricks/manifests/navbar.manifest.d.ts.map +1 -1
  49. package/dist/shared/bricks/manifests/navbar.manifest.js +31 -1
  50. package/dist/shared/bricks/manifests/sidebar.manifest.d.ts +2 -2
  51. package/dist/shared/bricks/manifests/sidebar.manifest.js +29 -1
  52. package/dist/shared/bricks/manifests/social-links.manifest.d.ts +2 -2
  53. package/dist/shared/bricks/manifests/social-links.manifest.js +28 -1
  54. package/dist/shared/bricks/manifests/spacer.manifest.d.ts +2 -2
  55. package/dist/shared/bricks/manifests/spacer.manifest.js +28 -1
  56. package/dist/shared/bricks/manifests/table.manifest.d.ts +91 -0
  57. package/dist/shared/bricks/manifests/table.manifest.d.ts.map +1 -0
  58. package/dist/shared/bricks/manifests/table.manifest.js +31 -0
  59. package/dist/shared/bricks/manifests/tabs.manifest.d.ts +90 -0
  60. package/dist/shared/bricks/manifests/tabs.manifest.d.ts.map +1 -0
  61. package/dist/shared/bricks/manifests/tabs.manifest.js +31 -0
  62. package/dist/shared/bricks/manifests/tabs.manifest.js.map +1 -0
  63. package/dist/shared/bricks/manifests/testimonials.manifest.d.ts +2 -2
  64. package/dist/shared/bricks/manifests/testimonials.manifest.js +28 -1
  65. package/dist/shared/bricks/manifests/text.manifest.d.ts +2 -2
  66. package/dist/shared/bricks/manifests/text.manifest.js +28 -1
  67. package/dist/shared/bricks/manifests/timeline.manifest.d.ts +101 -0
  68. package/dist/shared/bricks/manifests/timeline.manifest.d.ts.map +1 -0
  69. package/dist/shared/bricks/manifests/timeline.manifest.js +31 -0
  70. package/dist/shared/bricks/manifests/timeline.manifest.js.map +1 -0
  71. package/dist/shared/bricks/manifests/video.manifest.d.ts +2 -2
  72. package/dist/shared/bricks/manifests/video.manifest.js +28 -1
  73. package/dist/shared/bricks/props/align.d.ts +2 -2
  74. package/dist/shared/bricks/props/align.js +19 -1
  75. package/dist/shared/bricks/props/background.d.ts +4 -4
  76. package/dist/shared/bricks/props/background.js +15 -1
  77. package/dist/shared/bricks/props/boolean.js +7 -1
  78. package/dist/shared/bricks/props/border.js +16 -1
  79. package/dist/shared/bricks/props/color-preset.d.ts.map +1 -1
  80. package/dist/shared/bricks/props/color-preset.js +13 -1
  81. package/dist/shared/bricks/props/color.js +14 -1
  82. package/dist/shared/bricks/props/common.d.ts +2 -2
  83. package/dist/shared/bricks/props/common.js +13 -1
  84. package/dist/shared/bricks/props/css-length.js +14 -1
  85. package/dist/shared/bricks/props/datarecord.js +7 -1
  86. package/dist/shared/bricks/props/datasource.d.ts +1 -1
  87. package/dist/shared/bricks/props/datasource.js +86 -1
  88. package/dist/shared/bricks/props/datasource.js.map +1 -1
  89. package/dist/shared/bricks/props/date.js +9 -1
  90. package/dist/shared/bricks/props/direction.js +11 -1
  91. package/dist/shared/bricks/props/dynamic.d.ts.map +1 -1
  92. package/dist/shared/bricks/props/dynamic.js +30 -1
  93. package/dist/shared/bricks/props/effects.js +17 -1
  94. package/dist/shared/bricks/props/file.js +15 -1
  95. package/dist/shared/bricks/props/file.js.map +1 -1
  96. package/dist/shared/bricks/props/geolocation.js +44 -1
  97. package/dist/shared/bricks/props/geolocation.js.map +1 -1
  98. package/dist/shared/bricks/props/helpers.d.ts +1 -1
  99. package/dist/shared/bricks/props/helpers.js +18 -1
  100. package/dist/shared/bricks/props/image.js +11 -1
  101. package/dist/shared/bricks/props/number.js +7 -1
  102. package/dist/shared/bricks/props/position.js +7 -1
  103. package/dist/shared/bricks/props/string.js +18 -1
  104. package/dist/shared/bricks/props/tags.js +10 -1
  105. package/dist/shared/bricks/props/text.js +19 -1
  106. package/dist/shared/bricks.d.ts +56 -44
  107. package/dist/shared/bricks.d.ts.map +1 -1
  108. package/dist/shared/bricks.js +79 -1
  109. package/dist/shared/chunk-2BPYOTKA.js +21 -0
  110. package/dist/shared/{chunk-WHTPGWUV.js.map → chunk-2BPYOTKA.js.map} +1 -1
  111. package/dist/shared/chunk-2HO4FHLM.js +456 -0
  112. package/dist/shared/{chunk-I3VL6SRH.js.map → chunk-2HO4FHLM.js.map} +1 -1
  113. package/dist/shared/chunk-2RK3CPYJ.js +74 -0
  114. package/dist/shared/{chunk-W33JMRRN.js.map → chunk-2RK3CPYJ.js.map} +1 -1
  115. package/dist/shared/chunk-3KLRW4I2.js +560 -0
  116. package/dist/shared/{chunk-B3EATRFX.js.map → chunk-3KLRW4I2.js.map} +1 -1
  117. package/dist/shared/chunk-3ZDN5BWN.js +18 -0
  118. package/dist/shared/{chunk-OIY3EPHO.js.map → chunk-3ZDN5BWN.js.map} +1 -1
  119. package/dist/shared/chunk-4WI23M7W.js +30 -0
  120. package/dist/shared/chunk-4WI23M7W.js.map +1 -0
  121. package/dist/shared/chunk-55C6MTX2.js +21 -0
  122. package/dist/shared/{chunk-KBHDY425.js.map → chunk-55C6MTX2.js.map} +1 -1
  123. package/dist/shared/chunk-6E42XWFH.js +103 -0
  124. package/dist/shared/{chunk-ZA3GAB4H.js.map → chunk-6E42XWFH.js.map} +1 -1
  125. package/dist/shared/chunk-6TVVKUWM.js +15 -0
  126. package/dist/shared/{chunk-4WDWJA3N.js.map → chunk-6TVVKUWM.js.map} +1 -1
  127. package/dist/shared/chunk-6WIMWLCJ.js +17 -0
  128. package/dist/shared/{chunk-KYY3PHP7.js.map → chunk-6WIMWLCJ.js.map} +1 -1
  129. package/dist/shared/chunk-7LAWWRU7.js +21 -0
  130. package/dist/shared/{chunk-IUXCWWGO.js.map → chunk-7LAWWRU7.js.map} +1 -1
  131. package/dist/shared/chunk-A2QPY54H.js +13 -0
  132. package/dist/shared/{chunk-KFM6KXSE.js.map → chunk-A2QPY54H.js.map} +1 -1
  133. package/dist/shared/chunk-BHC2A43S.js +67 -0
  134. package/dist/shared/{chunk-3YVJ2ELD.js.map → chunk-BHC2A43S.js.map} +1 -1
  135. package/dist/shared/chunk-BMWRR4DI.js +572 -0
  136. package/dist/shared/chunk-BMWRR4DI.js.map +1 -0
  137. package/dist/shared/chunk-BPBKHEQ5.js +39 -0
  138. package/dist/shared/{chunk-OHNYCXPX.js.map → chunk-BPBKHEQ5.js.map} +1 -1
  139. package/dist/shared/chunk-BW6EFRSF.js +794 -0
  140. package/dist/shared/chunk-BW6EFRSF.js.map +1 -0
  141. package/dist/shared/chunk-CKFRSHR2.js +105 -0
  142. package/dist/shared/{chunk-CFF6Q7O7.js.map → chunk-CKFRSHR2.js.map} +1 -1
  143. package/dist/shared/chunk-CSF2WQX2.js +60 -0
  144. package/dist/shared/{chunk-GLS7HPIZ.js.map → chunk-CSF2WQX2.js.map} +1 -1
  145. package/dist/shared/chunk-D4YQ6ABM.js +338 -0
  146. package/dist/shared/{chunk-PXI7AHWS.js.map → chunk-D4YQ6ABM.js.map} +1 -1
  147. package/dist/shared/chunk-DRTGM2UJ.js +129 -0
  148. package/dist/shared/{chunk-FLOMNC6J.js.map → chunk-DRTGM2UJ.js.map} +1 -1
  149. package/dist/shared/chunk-EQMU6NIU.js +1222 -0
  150. package/dist/shared/chunk-EQMU6NIU.js.map +1 -0
  151. package/dist/shared/chunk-EWSPTRDL.js +378 -0
  152. package/dist/shared/{chunk-QX6OGRRT.js.map → chunk-EWSPTRDL.js.map} +1 -1
  153. package/dist/shared/chunk-F22LDHEO.js +105 -0
  154. package/dist/shared/{chunk-5YRC3IT3.js.map → chunk-F22LDHEO.js.map} +1 -1
  155. package/dist/shared/chunk-FVU5PXRC.js +244 -0
  156. package/dist/shared/chunk-FVU5PXRC.js.map +1 -0
  157. package/dist/shared/chunk-GCQURRVB.js +837 -0
  158. package/dist/shared/{chunk-WYVJE6J5.js.map → chunk-GCQURRVB.js.map} +1 -1
  159. package/dist/shared/chunk-GPCI2N2A.js +395 -0
  160. package/dist/shared/{chunk-WBZW5LVH.js.map → chunk-GPCI2N2A.js.map} +1 -1
  161. package/dist/shared/chunk-GRMY35BU.js +722 -0
  162. package/dist/shared/{chunk-NJGXC7D6.js.map → chunk-GRMY35BU.js.map} +1 -1
  163. package/dist/shared/chunk-HPCCD6V5.js +17 -0
  164. package/dist/shared/{chunk-6I3ONVU6.js.map → chunk-HPCCD6V5.js.map} +1 -1
  165. package/dist/shared/chunk-JK2FWFJU.js +15 -0
  166. package/dist/shared/{chunk-JMN3HTZU.js.map → chunk-JK2FWFJU.js.map} +1 -1
  167. package/dist/shared/chunk-KNREHAPN.js +13 -0
  168. package/dist/shared/{chunk-KSEURRVZ.js.map → chunk-KNREHAPN.js.map} +1 -1
  169. package/dist/shared/chunk-KT7SSWMM.js +24 -0
  170. package/dist/shared/{chunk-KO5FPOWZ.js.map → chunk-KT7SSWMM.js.map} +1 -1
  171. package/dist/shared/chunk-LXAO3JA6.js +368 -0
  172. package/dist/shared/chunk-LXAO3JA6.js.map +1 -0
  173. package/dist/shared/chunk-MLZT7MRQ.js +538 -0
  174. package/dist/shared/chunk-MLZT7MRQ.js.map +1 -0
  175. package/dist/shared/chunk-NT3IW52F.js +260 -0
  176. package/dist/shared/chunk-NT3IW52F.js.map +1 -0
  177. package/dist/shared/chunk-NTLAKMMQ.js +94 -0
  178. package/dist/shared/{chunk-ZTZJHY4E.js.map → chunk-NTLAKMMQ.js.map} +1 -1
  179. package/dist/shared/chunk-O5PLB3YB.js +413 -0
  180. package/dist/shared/chunk-O5PLB3YB.js.map +1 -0
  181. package/dist/shared/chunk-O5PQISX4.js +51 -0
  182. package/dist/shared/{chunk-VEDQV5XO.js.map → chunk-O5PQISX4.js.map} +1 -1
  183. package/dist/shared/chunk-OJP4HMJT.js +22 -0
  184. package/dist/shared/{chunk-6HLU4UI2.js.map → chunk-OJP4HMJT.js.map} +1 -1
  185. package/dist/shared/chunk-OSJ6KGPX.js +16 -0
  186. package/dist/shared/{chunk-GPEMPZXK.js.map → chunk-OSJ6KGPX.js.map} +1 -1
  187. package/dist/shared/chunk-OXYXZHP2.js +48 -0
  188. package/dist/shared/{chunk-5O4Z3YQY.js.map → chunk-OXYXZHP2.js.map} +1 -1
  189. package/dist/shared/chunk-P3RH5URN.js +230 -0
  190. package/dist/shared/{chunk-R6ATC4TC.js.map → chunk-P3RH5URN.js.map} +1 -1
  191. package/dist/shared/chunk-Q4NPPLEU.js +34 -0
  192. package/dist/shared/{chunk-QWGUMKZC.js.map → chunk-Q4NPPLEU.js.map} +1 -1
  193. package/dist/shared/chunk-QL3T5HJQ.js +59 -0
  194. package/dist/shared/{chunk-E6XEI7IK.js.map → chunk-QL3T5HJQ.js.map} +1 -1
  195. package/dist/shared/chunk-QLQVDZIL.js +11 -0
  196. package/dist/shared/{chunk-KLD3P5XH.js.map → chunk-QLQVDZIL.js.map} +1 -1
  197. package/dist/shared/chunk-QQQ3FYPG.js +248 -0
  198. package/dist/shared/{chunk-SXHDQ64Z.js.map → chunk-QQQ3FYPG.js.map} +1 -1
  199. package/dist/shared/chunk-QSND5IWT.js +165 -0
  200. package/dist/shared/{chunk-ZQPXQCY2.js.map → chunk-QSND5IWT.js.map} +1 -1
  201. package/dist/shared/chunk-RV7AYVFV.js +75 -0
  202. package/dist/shared/{chunk-DHI3IBOD.js.map → chunk-RV7AYVFV.js.map} +1 -1
  203. package/dist/shared/chunk-SE6O65HC.js +44 -0
  204. package/dist/shared/{chunk-NM5MMPCF.js.map → chunk-SE6O65HC.js.map} +1 -1
  205. package/dist/shared/chunk-SHUGHJ7V.js +519 -0
  206. package/dist/shared/{chunk-IKC3FK7L.js.map → chunk-SHUGHJ7V.js.map} +1 -1
  207. package/dist/shared/chunk-TB3X4LRQ.js +56 -0
  208. package/dist/shared/{chunk-RJYZ5FAR.js.map → chunk-TB3X4LRQ.js.map} +1 -1
  209. package/dist/shared/chunk-TEO6TJOM.js +212 -0
  210. package/dist/shared/chunk-TEO6TJOM.js.map +1 -0
  211. package/dist/shared/chunk-TFGGYU6Y.js +394 -0
  212. package/dist/shared/{chunk-CZRCW5EN.js.map → chunk-TFGGYU6Y.js.map} +1 -1
  213. package/dist/shared/chunk-TKMWY2VN.js +18 -0
  214. package/dist/shared/{chunk-RDZK73KV.js.map → chunk-TKMWY2VN.js.map} +1 -1
  215. package/dist/shared/chunk-TNMNMYOB.js +69 -0
  216. package/dist/shared/{chunk-4BTB3MU2.js.map → chunk-TNMNMYOB.js.map} +1 -1
  217. package/dist/shared/chunk-U7TVEPKA.js +432 -0
  218. package/dist/shared/chunk-U7TVEPKA.js.map +1 -0
  219. package/dist/shared/chunk-UQF52PWK.js +70 -0
  220. package/dist/shared/{chunk-A3GF4PYW.js.map → chunk-UQF52PWK.js.map} +1 -1
  221. package/dist/shared/chunk-V3UA3LRK.js +253 -0
  222. package/dist/shared/{chunk-G5CJU6RD.js.map → chunk-V3UA3LRK.js.map} +1 -1
  223. package/dist/shared/chunk-W6MRYRGJ.js +100 -0
  224. package/dist/shared/{chunk-CCI4C3TM.js.map → chunk-W6MRYRGJ.js.map} +1 -1
  225. package/dist/shared/chunk-WGDUJSSS.js +462 -0
  226. package/dist/shared/chunk-WGDUJSSS.js.map +1 -0
  227. package/dist/shared/chunk-WKN566LN.js +29 -0
  228. package/dist/shared/{chunk-Q4H4QEMB.js.map → chunk-WKN566LN.js.map} +1 -1
  229. package/dist/shared/chunk-X6N463D4.js +222 -0
  230. package/dist/shared/{chunk-IKHZD2JH.js.map → chunk-X6N463D4.js.map} +1 -1
  231. package/dist/shared/chunk-X75YV73Q.js +178 -0
  232. package/dist/shared/{chunk-PLSV746R.js.map → chunk-X75YV73Q.js.map} +1 -1
  233. package/dist/shared/chunk-XCWMZVF5.js +89 -0
  234. package/dist/shared/{chunk-ZFCUSWMT.js.map → chunk-XCWMZVF5.js.map} +1 -1
  235. package/dist/shared/chunk-XCZVD5H6.js +13 -0
  236. package/dist/shared/{chunk-HAGKVQOW.js.map → chunk-XCZVD5H6.js.map} +1 -1
  237. package/dist/shared/chunk-XZ6WJZHN.js +10 -0
  238. package/dist/shared/{chunk-DCH4ZKWT.js.map → chunk-XZ6WJZHN.js.map} +1 -1
  239. package/dist/shared/chunk-Y74LZNND.js +30 -0
  240. package/dist/shared/{chunk-GACHLACT.js.map → chunk-Y74LZNND.js.map} +1 -1
  241. package/dist/shared/chunk-Z2NTDFB4.js +505 -0
  242. package/dist/shared/{chunk-SQ5T4AT5.js.map → chunk-Z2NTDFB4.js.map} +1 -1
  243. package/dist/shared/chunk-Z35I5JM5.js +131 -0
  244. package/dist/shared/{chunk-PSTFJ5IJ.js.map → chunk-Z35I5JM5.js.map} +1 -1
  245. package/dist/shared/chunk-ZEFOWKYP.js +44 -0
  246. package/dist/shared/{chunk-DQ7PRWTG.js.map → chunk-ZEFOWKYP.js.map} +1 -1
  247. package/dist/shared/chunk-ZGQ3AQBG.js +33 -0
  248. package/dist/shared/chunk-ZGQ3AQBG.js.map +1 -0
  249. package/dist/shared/chunk-ZLYIRH2B.js +68 -0
  250. package/dist/shared/{chunk-SWLUQVK7.js.map → chunk-ZLYIRH2B.js.map} +1 -1
  251. package/dist/shared/datarecords/external/airtable/handler.js +377 -1
  252. package/dist/shared/datarecords/external/airtable/handler.js.map +1 -1
  253. package/dist/shared/datarecords/external/airtable/oauth/config.js +15 -1
  254. package/dist/shared/datarecords/external/airtable/oauth/config.js.map +1 -1
  255. package/dist/shared/datarecords/external/airtable/types.js +11 -1
  256. package/dist/shared/datarecords/external/generic-webhook/handler.js +14 -1
  257. package/dist/shared/datarecords/external/generic-webhook/handler.js.map +1 -1
  258. package/dist/shared/datarecords/external/generic-webhook/options.js +16 -1
  259. package/dist/shared/datarecords/external/generic-webhook/options.js.map +1 -1
  260. package/dist/shared/datarecords/external/google/oauth/config.js +35 -1
  261. package/dist/shared/datarecords/external/google/oauth/config.js.map +1 -1
  262. package/dist/shared/datarecords/external/google/sheets/client.js +7 -1
  263. package/dist/shared/datarecords/external/google/sheets/handler.js +184 -5
  264. package/dist/shared/datarecords/external/google/sheets/handler.js.map +1 -1
  265. package/dist/shared/datarecords/external/google/sheets/types.js +7 -1
  266. package/dist/shared/datarecords/external/notion/handler.js +397 -1
  267. package/dist/shared/datarecords/external/notion/handler.js.map +1 -1
  268. package/dist/shared/datarecords/external/notion/oauth/config.js +11 -1
  269. package/dist/shared/datarecords/external/notion/oauth/config.js.map +1 -1
  270. package/dist/shared/datarecords/external/notion/types.js +7 -1
  271. package/dist/shared/datarecords/types.d.ts +3 -3
  272. package/dist/shared/datarecords/types.js +16 -1
  273. package/dist/shared/datarecords.js +9 -1
  274. package/dist/shared/datarecords.js.map +1 -1
  275. package/dist/shared/datasources/external/facebook/posts/fetcher.js +49 -1
  276. package/dist/shared/datasources/external/facebook/posts/fetcher.js.map +1 -1
  277. package/dist/shared/datasources/external/facebook/posts/schema.js +36 -1
  278. package/dist/shared/datasources/external/facebook/posts/schema.js.map +1 -1
  279. package/dist/shared/datasources/external/http-json/fetcher.js +29 -1
  280. package/dist/shared/datasources/external/http-json/fetcher.js.map +1 -1
  281. package/dist/shared/datasources/external/http-json/options.js +11 -1
  282. package/dist/shared/datasources/external/http-json/options.js.map +1 -1
  283. package/dist/shared/datasources/external/http-json/schema.js +10 -1
  284. package/dist/shared/datasources/external/http-json/schema.js.map +1 -1
  285. package/dist/shared/datasources/external/instagram/feed/fetcher.js +29 -1
  286. package/dist/shared/datasources/external/instagram/feed/fetcher.js.map +1 -1
  287. package/dist/shared/datasources/external/instagram/feed/schema.js +26 -1
  288. package/dist/shared/datasources/external/instagram/feed/schema.js.map +1 -1
  289. package/dist/shared/datasources/external/mastodon/account/fetcher.js +7 -1
  290. package/dist/shared/datasources/external/mastodon/account/schema.js +7 -1
  291. package/dist/shared/datasources/external/mastodon/options.js +10 -1
  292. package/dist/shared/datasources/external/mastodon/options.js.map +1 -1
  293. package/dist/shared/datasources/external/mastodon/status/fetcher.js +31 -1
  294. package/dist/shared/datasources/external/mastodon/status/fetcher.js.map +1 -1
  295. package/dist/shared/datasources/external/mastodon/status/sample.array.js +61 -1
  296. package/dist/shared/datasources/external/mastodon/status/sample.array.js.map +1 -1
  297. package/dist/shared/datasources/external/mastodon/status/sample.single.js +59 -1
  298. package/dist/shared/datasources/external/mastodon/status/sample.single.js.map +1 -1
  299. package/dist/shared/datasources/external/mastodon/status/schema.js +125 -1
  300. package/dist/shared/datasources/external/mastodon/status/schema.js.map +1 -1
  301. package/dist/shared/datasources/external/meta/oauth/config.js +17 -1
  302. package/dist/shared/datasources/external/meta/oauth/config.js.map +1 -1
  303. package/dist/shared/datasources/external/meta/options.js +10 -1
  304. package/dist/shared/datasources/external/meta/options.js.map +1 -1
  305. package/dist/shared/datasources/external/rss/fetcher.js +26 -1
  306. package/dist/shared/datasources/external/rss/fetcher.js.map +1 -1
  307. package/dist/shared/datasources/external/rss/options.js +10 -1
  308. package/dist/shared/datasources/external/rss/options.js.map +1 -1
  309. package/dist/shared/datasources/external/rss/schema.js +7 -1
  310. package/dist/shared/datasources/external/threads/media/fetcher.js +47 -1
  311. package/dist/shared/datasources/external/threads/media/fetcher.js.map +1 -1
  312. package/dist/shared/datasources/external/threads/media/schema.js +40 -1
  313. package/dist/shared/datasources/external/threads/media/schema.js.map +1 -1
  314. package/dist/shared/datasources/external/tiktok/oauth/config.js +18 -1
  315. package/dist/shared/datasources/external/tiktok/oauth/config.js.map +1 -1
  316. package/dist/shared/datasources/external/tiktok/video/fetcher.js +34 -1
  317. package/dist/shared/datasources/external/tiktok/video/fetcher.js.map +1 -1
  318. package/dist/shared/datasources/external/tiktok/video/options.js +11 -1
  319. package/dist/shared/datasources/external/tiktok/video/options.js.map +1 -1
  320. package/dist/shared/datasources/external/tiktok/video/schema.js +30 -1
  321. package/dist/shared/datasources/external/tiktok/video/schema.js.map +1 -1
  322. package/dist/shared/datasources/external/youtube/list/fetcher.js +32 -1
  323. package/dist/shared/datasources/external/youtube/list/fetcher.js.map +1 -1
  324. package/dist/shared/datasources/external/youtube/list/options.js +14 -1
  325. package/dist/shared/datasources/external/youtube/list/options.js.map +1 -1
  326. package/dist/shared/datasources/external/youtube/list/schema.js +7 -1
  327. package/dist/shared/datasources/external/youtube/oauth/config.js +18 -1
  328. package/dist/shared/datasources/external/youtube/oauth/config.js.map +1 -1
  329. package/dist/shared/datasources/internal/blog/schema.js +72 -1
  330. package/dist/shared/datasources/internal/blog/schema.js.map +1 -1
  331. package/dist/shared/datasources/internal/changelog/schema.js +51 -1
  332. package/dist/shared/datasources/internal/changelog/schema.js.map +1 -1
  333. package/dist/shared/datasources/internal/contact-info/schema.js +25 -1
  334. package/dist/shared/datasources/internal/contact-info/schema.js.map +1 -1
  335. package/dist/shared/datasources/internal/cv/schema.js +222 -1
  336. package/dist/shared/datasources/internal/cv/schema.js.map +1 -1
  337. package/dist/shared/datasources/internal/faq/schema.js +30 -1
  338. package/dist/shared/datasources/internal/faq/schema.js.map +1 -1
  339. package/dist/shared/datasources/internal/job-board/schema.js +224 -1
  340. package/dist/shared/datasources/internal/job-board/schema.js.map +1 -1
  341. package/dist/shared/datasources/internal/links/schema.js +7 -1
  342. package/dist/shared/datasources/internal/recipes/schema.js +45 -1
  343. package/dist/shared/datasources/internal/recipes/schema.js.map +1 -1
  344. package/dist/shared/datasources/internal/restaurant/schema.js +226 -1
  345. package/dist/shared/datasources/internal/restaurant/schema.js.map +1 -1
  346. package/dist/shared/datasources/samples.js +69 -1
  347. package/dist/shared/datasources/samples.js.map +1 -1
  348. package/dist/shared/datasources/schemas.js +34 -1
  349. package/dist/shared/datasources/schemas.js.map +1 -1
  350. package/dist/shared/datasources/types.d.ts +1 -1
  351. package/dist/shared/datasources/types.d.ts.map +1 -1
  352. package/dist/shared/datasources/types.js +32 -1
  353. package/dist/shared/datasources/utils.js +11 -1
  354. package/dist/shared/datasources.js +51 -1
  355. package/dist/shared/datasources.js.map +1 -1
  356. package/dist/shared/errors.js +7 -1
  357. package/dist/shared/images.d.ts +4 -4
  358. package/dist/shared/images.d.ts.map +1 -1
  359. package/dist/shared/images.js +44 -1
  360. package/dist/shared/images.js.map +1 -1
  361. package/dist/shared/index.js +9 -1
  362. package/dist/shared/index.js.map +1 -1
  363. package/dist/shared/layout-constants.js +14 -1
  364. package/dist/shared/layout-constants.js.map +1 -1
  365. package/dist/shared/manifest.js +52 -1
  366. package/dist/shared/manifest.js.map +1 -1
  367. package/dist/shared/oauth.js +8 -1
  368. package/dist/shared/page.d.ts +12 -126
  369. package/dist/shared/page.d.ts.map +1 -1
  370. package/dist/shared/page.js +58 -1
  371. package/dist/shared/prompt.js +7 -1
  372. package/dist/shared/responsive.js +10 -1
  373. package/dist/shared/responsive.js.map +1 -1
  374. package/dist/shared/schema-registry.d.ts +5 -0
  375. package/dist/shared/schema-registry.d.ts.map +1 -0
  376. package/dist/shared/schema-registry.js +119 -0
  377. package/dist/shared/schema-registry.js.map +1 -0
  378. package/dist/shared/site.d.ts +36 -33
  379. package/dist/shared/site.d.ts.map +1 -1
  380. package/dist/shared/site.js +127 -1
  381. package/dist/shared/site.js.map +1 -1
  382. package/dist/shared/sitemap.d.ts +17 -17
  383. package/dist/shared/sitemap.d.ts.map +1 -1
  384. package/dist/shared/sitemap.js +69 -1
  385. package/dist/shared/social-icons.js +312 -1
  386. package/dist/shared/social-icons.js.map +1 -1
  387. package/dist/shared/tests/schema-registry.test.d.ts +2 -0
  388. package/dist/shared/tests/schema-registry.test.d.ts.map +1 -0
  389. package/dist/shared/theme.d.ts +1 -1
  390. package/dist/shared/theme.d.ts.map +1 -1
  391. package/dist/shared/theme.js +35 -1
  392. package/dist/shared/themes/color-system.d.ts +0 -1
  393. package/dist/shared/themes/color-system.d.ts.map +1 -1
  394. package/dist/shared/themes/color-system.js +103 -1
  395. package/dist/shared/themes/color-system.js.map +1 -1
  396. package/dist/shared/utils/canvas-data-uri.js +7 -1
  397. package/dist/shared/utils/canvas-data-uri.js.map +1 -1
  398. package/dist/shared/utils/invariant.js +7 -1
  399. package/dist/shared/utils/json-date.js +7 -1
  400. package/dist/shared/utils/llm.d.ts +2 -3
  401. package/dist/shared/utils/llm.d.ts.map +1 -1
  402. package/dist/shared/utils/llm.js +24 -1
  403. package/dist/shared/utils/merge.js +7 -1
  404. package/dist/shared/utils/object-hash.js +13 -1
  405. package/dist/shared/utils/object-hash.js.map +1 -1
  406. package/dist/shared/utils/schema-registry.d.ts +5 -0
  407. package/dist/shared/utils/schema-registry.d.ts.map +1 -0
  408. package/dist/shared/utils/schema-registry.js +29 -0
  409. package/dist/shared/utils/schema-registry.js.map +1 -0
  410. package/dist/shared/utils/schema.d.ts +2 -1
  411. package/dist/shared/utils/schema.d.ts.map +1 -1
  412. package/dist/shared/utils/schema.js +31 -1
  413. package/dist/shared/utils/string-enum.js +7 -1
  414. package/dist/shared/utils/tests/schema-registry.test.d.ts +2 -0
  415. package/dist/shared/utils/tests/schema-registry.test.d.ts.map +1 -0
  416. package/dist/shared/utils/try-catch.js +13 -1
  417. package/dist/shared/utils/try-catch.js.map +1 -1
  418. package/dist/shared/utils/typed-ref.js +7 -1
  419. package/package.json +12 -13
  420. package/src/shared/ai/schemas.ts +4 -8
  421. package/src/shared/ai/types.ts +9 -1
  422. package/src/shared/attributes.ts +27 -25
  423. package/src/shared/bricks/manifests/all-manifests.ts +15 -0
  424. package/src/shared/bricks/manifests/footer.manifest.ts +36 -27
  425. package/src/shared/bricks/manifests/navbar.manifest.ts +1 -3
  426. package/src/shared/bricks/manifests/table.manifest.ts +443 -0
  427. package/src/shared/bricks/manifests/tabs.manifest.ts +576 -0
  428. package/src/shared/bricks/manifests/timeline.manifest.ts +441 -0
  429. package/src/shared/bricks/props/color-preset.ts +3 -1
  430. package/src/shared/bricks/props/dynamic.ts +0 -1
  431. package/src/shared/bricks.ts +54 -45
  432. package/src/shared/datasources/types.ts +1 -5
  433. package/src/shared/images.ts +10 -8
  434. package/src/shared/page.ts +0 -4
  435. package/src/shared/schema-registry.ts +82 -0
  436. package/src/shared/sitemap.ts +12 -16
  437. package/src/shared/tests/schema-registry.test.ts +14 -0
  438. package/src/shared/theme.ts +1 -4
  439. package/src/shared/themes/color-system.ts +0 -1
  440. package/src/shared/utils/llm.ts +13 -12
  441. package/src/shared/utils/schema-registry.ts +82 -0
  442. package/src/shared/utils/schema.ts +18 -3
  443. package/src/shared/utils/tests/schema-registry.test.ts +13 -0
  444. package/src/shared/utils/tests/schema.test.ts +82 -55
  445. package/dist/shared/bricks/props/enum.d.ts +0 -13
  446. package/dist/shared/bricks/props/enum.d.ts.map +0 -1
  447. package/dist/shared/bricks/props/enum.js +0 -4
  448. package/dist/shared/chunk-3YVJ2ELD.js +0 -4
  449. package/dist/shared/chunk-4BTB3MU2.js +0 -4
  450. package/dist/shared/chunk-4WDWJA3N.js +0 -4
  451. package/dist/shared/chunk-5O4Z3YQY.js +0 -4
  452. package/dist/shared/chunk-5YRC3IT3.js +0 -4
  453. package/dist/shared/chunk-6HLU4UI2.js +0 -4
  454. package/dist/shared/chunk-6I3ONVU6.js +0 -4
  455. package/dist/shared/chunk-7A2JNQX3.js +0 -4
  456. package/dist/shared/chunk-7A2JNQX3.js.map +0 -1
  457. package/dist/shared/chunk-A3GF4PYW.js +0 -4
  458. package/dist/shared/chunk-A3K4NUVP.js +0 -4
  459. package/dist/shared/chunk-A3K4NUVP.js.map +0 -1
  460. package/dist/shared/chunk-AFVJZPLS.js +0 -4
  461. package/dist/shared/chunk-AFVJZPLS.js.map +0 -1
  462. package/dist/shared/chunk-AI4GHU7R.js +0 -4
  463. package/dist/shared/chunk-AI4GHU7R.js.map +0 -1
  464. package/dist/shared/chunk-B3EATRFX.js +0 -4
  465. package/dist/shared/chunk-CCI4C3TM.js +0 -4
  466. package/dist/shared/chunk-CFF6Q7O7.js +0 -7
  467. package/dist/shared/chunk-CZRCW5EN.js +0 -4
  468. package/dist/shared/chunk-DCH4ZKWT.js +0 -4
  469. package/dist/shared/chunk-DHI3IBOD.js +0 -4
  470. package/dist/shared/chunk-DQ7PRWTG.js +0 -4
  471. package/dist/shared/chunk-E6XEI7IK.js +0 -4
  472. package/dist/shared/chunk-FLOMNC6J.js +0 -4
  473. package/dist/shared/chunk-G5CJU6RD.js +0 -7
  474. package/dist/shared/chunk-GACHLACT.js +0 -4
  475. package/dist/shared/chunk-GLS7HPIZ.js +0 -4
  476. package/dist/shared/chunk-GOMXZC4B.js +0 -35
  477. package/dist/shared/chunk-GOMXZC4B.js.map +0 -1
  478. package/dist/shared/chunk-GPEMPZXK.js +0 -4
  479. package/dist/shared/chunk-HAGKVQOW.js +0 -4
  480. package/dist/shared/chunk-I3VL6SRH.js +0 -9
  481. package/dist/shared/chunk-IKC3FK7L.js +0 -4
  482. package/dist/shared/chunk-IKHZD2JH.js +0 -4
  483. package/dist/shared/chunk-IUXCWWGO.js +0 -4
  484. package/dist/shared/chunk-JMN3HTZU.js +0 -4
  485. package/dist/shared/chunk-KBHDY425.js +0 -4
  486. package/dist/shared/chunk-KFM6KXSE.js +0 -4
  487. package/dist/shared/chunk-KLD3P5XH.js +0 -4
  488. package/dist/shared/chunk-KO5FPOWZ.js +0 -4
  489. package/dist/shared/chunk-KSEURRVZ.js +0 -4
  490. package/dist/shared/chunk-KYY3PHP7.js +0 -4
  491. package/dist/shared/chunk-NJGXC7D6.js +0 -4
  492. package/dist/shared/chunk-NM5MMPCF.js +0 -4
  493. package/dist/shared/chunk-OGBMYMZD.js +0 -4
  494. package/dist/shared/chunk-OGBMYMZD.js.map +0 -1
  495. package/dist/shared/chunk-OHNYCXPX.js +0 -4
  496. package/dist/shared/chunk-OIY3EPHO.js +0 -4
  497. package/dist/shared/chunk-PIG623TZ.js +0 -4
  498. package/dist/shared/chunk-PIG623TZ.js.map +0 -1
  499. package/dist/shared/chunk-PLSV746R.js +0 -4
  500. package/dist/shared/chunk-PSCN3VVA.js +0 -4
  501. package/dist/shared/chunk-PSCN3VVA.js.map +0 -1
  502. package/dist/shared/chunk-PSTFJ5IJ.js +0 -4
  503. package/dist/shared/chunk-PXI7AHWS.js +0 -4
  504. package/dist/shared/chunk-Q4H4QEMB.js +0 -4
  505. package/dist/shared/chunk-QGYZ7CG5.js +0 -4
  506. package/dist/shared/chunk-QGYZ7CG5.js.map +0 -1
  507. package/dist/shared/chunk-QWGUMKZC.js +0 -4
  508. package/dist/shared/chunk-QX6OGRRT.js +0 -5
  509. package/dist/shared/chunk-R6ATC4TC.js +0 -4
  510. package/dist/shared/chunk-RDZK73KV.js +0 -4
  511. package/dist/shared/chunk-RJYZ5FAR.js +0 -4
  512. package/dist/shared/chunk-SQ5T4AT5.js +0 -6
  513. package/dist/shared/chunk-SWLUQVK7.js +0 -4
  514. package/dist/shared/chunk-SXHDQ64Z.js +0 -5
  515. package/dist/shared/chunk-SY6DZLTC.js +0 -4
  516. package/dist/shared/chunk-SY6DZLTC.js.map +0 -1
  517. package/dist/shared/chunk-VEDQV5XO.js +0 -4
  518. package/dist/shared/chunk-W33JMRRN.js +0 -4
  519. package/dist/shared/chunk-WBZW5LVH.js +0 -4
  520. package/dist/shared/chunk-WHTPGWUV.js +0 -4
  521. package/dist/shared/chunk-WYVJE6J5.js +0 -4
  522. package/dist/shared/chunk-ZA3GAB4H.js +0 -9
  523. package/dist/shared/chunk-ZFCUSWMT.js +0 -4
  524. package/dist/shared/chunk-ZQPXQCY2.js +0 -4
  525. package/dist/shared/chunk-ZTZJHY4E.js +0 -4
  526. package/src/shared/bricks/props/enum.ts +0 -38
  527. /package/dist/shared/bricks/{props/enum.js.map → manifests/table.manifest.js.map} +0 -0
@@ -0,0 +1,260 @@
1
+ /*! Upstart.gg - Copyright (C) 2024 Flippable - https://github.com/upstart-gg/upstart/blob/main/LICENSE */
2
+
3
+ import {
4
+ schemaRegistry
5
+ } from "./chunk-BW6EFRSF.js";
6
+
7
+ // src/shared/utils/schema.ts
8
+ import { Kind } from "@sinclair/typebox";
9
+ import { Cabidela } from "@cloudflare/cabidela";
10
+ import { defaultsDeep as applyDefaultsDeep } from "lodash-es";
11
+ function normalizeSchemaEnum(schema) {
12
+ if (!("enum" in schema)) {
13
+ return schema.anyOf ?? schema.oneOf;
14
+ }
15
+ const {
16
+ enum: enumValues,
17
+ enumNames,
18
+ "ui:icons": icons
19
+ } = schema;
20
+ return enumValues.map((value, index) => ({
21
+ const: value,
22
+ title: enumNames ? enumNames[index] : value,
23
+ "ui:icon": icons ? icons[index] : void 0
24
+ }));
25
+ }
26
+ function getSchemaDefaults(schema, mode) {
27
+ if (schema.type === "object" && "properties" in schema) {
28
+ const objectSchema = schema;
29
+ const defaults = {};
30
+ for (const [key, propertySchema] of Object.entries(objectSchema.properties)) {
31
+ const defaultValue = getNestedDefaults(propertySchema, mode);
32
+ if (defaultValue !== void 0) {
33
+ defaults[key] = defaultValue;
34
+ }
35
+ }
36
+ return defaults;
37
+ }
38
+ if (schema.type === "array" && "items" in schema) {
39
+ const arraySchema = schema;
40
+ if (mode && typeof arraySchema[`default:${mode}`] !== "undefined") {
41
+ return arraySchema[`default:${mode}`];
42
+ }
43
+ if (arraySchema.default) {
44
+ return arraySchema.default;
45
+ }
46
+ return [];
47
+ }
48
+ throw new Error("Schema must be either TObject or TArray");
49
+ }
50
+ function getNestedDefaults(schema, mode) {
51
+ if (mode && typeof schema[`default:${mode}`] !== "undefined") {
52
+ return schema[`default:${mode}`];
53
+ }
54
+ if ("default" in schema && schema.default !== void 0) {
55
+ return schema.default;
56
+ }
57
+ if (schema.type === "object" && "properties" in schema) {
58
+ const objectSchema = schema;
59
+ const defaults = {};
60
+ for (const [key, propertySchema] of Object.entries(objectSchema.properties)) {
61
+ const defaultValue = getNestedDefaults(propertySchema, mode);
62
+ if (defaultValue !== void 0) {
63
+ defaults[key] = defaultValue;
64
+ }
65
+ }
66
+ return Object.keys(defaults).length > 0 ? defaults : void 0;
67
+ }
68
+ if (schema.type === "array" && "items" in schema) {
69
+ return void 0;
70
+ }
71
+ return void 0;
72
+ }
73
+ function filterSchemaProperties(schema, filter) {
74
+ function extractProperties(schema2) {
75
+ const props = {};
76
+ for (const [key, prop] of Object.entries(schema2.properties)) {
77
+ if (filter(prop)) {
78
+ props[key] = prop;
79
+ } else if (prop.type === "object" && prop.properties) {
80
+ const nestedContentProps = extractProperties(prop);
81
+ if (Object.keys(nestedContentProps).length > 0) {
82
+ Object.assign(props, nestedContentProps);
83
+ }
84
+ }
85
+ }
86
+ return props;
87
+ }
88
+ return extractProperties(schema);
89
+ }
90
+ function resolveSchema(schema) {
91
+ return resolveSchemaRecursive(schema, /* @__PURE__ */ new Set());
92
+ }
93
+ function resolveSchemaRecursive(schema, visited) {
94
+ if (!schema || typeof schema !== "object") {
95
+ return schema;
96
+ }
97
+ if ("$ref" in schema && typeof schema.$ref === "string") {
98
+ if (visited.has(schema.$ref) || schema[Kind] === "This") {
99
+ return schema;
100
+ }
101
+ const resolved = schemaRegistry.get(schema.$ref);
102
+ if (!resolved) {
103
+ console.error("Schema not found for reference:", schema);
104
+ return schema;
105
+ }
106
+ visited.add(schema.$ref);
107
+ const { $ref, ...rest } = schema;
108
+ const resolvedSchema2 = {
109
+ ...resolveSchemaRecursive(resolved, visited),
110
+ ...rest
111
+ };
112
+ visited.delete(schema.$ref);
113
+ return resolvedSchema2;
114
+ }
115
+ if ("type" in schema && schema.type === "object" && "properties" in schema) {
116
+ const resolvedProperties = {};
117
+ if (schema.properties && typeof schema.properties === "object") {
118
+ for (const [key, value] of Object.entries(schema.properties)) {
119
+ if (value && typeof value === "object") {
120
+ resolvedProperties[key] = resolveSchemaRecursive(value, visited);
121
+ } else {
122
+ resolvedProperties[key] = value;
123
+ }
124
+ }
125
+ }
126
+ const resolvedSchema2 = { ...schema };
127
+ if (Object.keys(resolvedProperties).length > 0) {
128
+ resolvedSchema2.properties = resolvedProperties;
129
+ }
130
+ if ("additionalProperties" in schema && schema.additionalProperties && typeof schema.additionalProperties === "object" && schema.additionalProperties !== true) {
131
+ resolvedSchema2.additionalProperties = resolveSchemaRecursive(
132
+ schema.additionalProperties,
133
+ visited
134
+ );
135
+ }
136
+ if ("patternProperties" in schema && schema.patternProperties && typeof schema.patternProperties === "object") {
137
+ const resolvedPatternProperties = {};
138
+ for (const [pattern, patternSchema] of Object.entries(schema.patternProperties)) {
139
+ if (patternSchema && typeof patternSchema === "object") {
140
+ resolvedPatternProperties[pattern] = resolveSchemaRecursive(patternSchema, visited);
141
+ } else {
142
+ resolvedPatternProperties[pattern] = patternSchema;
143
+ }
144
+ }
145
+ resolvedSchema2.patternProperties = resolvedPatternProperties;
146
+ }
147
+ return resolvedSchema2;
148
+ }
149
+ if ("type" in schema && schema.type === "array") {
150
+ const resolvedSchema2 = { ...schema };
151
+ if ("items" in schema && schema.items) {
152
+ if (Array.isArray(schema.items)) {
153
+ resolvedSchema2.items = schema.items.map((item) => resolveSchemaRecursive(item, visited));
154
+ } else if (typeof schema.items === "object") {
155
+ resolvedSchema2.items = resolveSchemaRecursive(schema.items, visited);
156
+ }
157
+ }
158
+ if ("additionalItems" in schema && schema.additionalItems && typeof schema.additionalItems === "object" && schema.additionalItems !== true) {
159
+ resolvedSchema2.additionalItems = resolveSchemaRecursive(schema.additionalItems, visited);
160
+ }
161
+ return resolvedSchema2;
162
+ }
163
+ if ("anyOf" in schema && Array.isArray(schema.anyOf)) {
164
+ const resolvedAnyOf = schema.anyOf.map((subSchema) => {
165
+ return resolveSchemaRecursive(subSchema, visited);
166
+ });
167
+ return { ...schema, anyOf: resolvedAnyOf };
168
+ }
169
+ if ("oneOf" in schema && Array.isArray(schema.oneOf)) {
170
+ const resolvedOneOf = schema.oneOf.map(
171
+ (subSchema) => resolveSchemaRecursive(subSchema, visited)
172
+ );
173
+ return { ...schema, oneOf: resolvedOneOf };
174
+ }
175
+ if ("allOf" in schema && Array.isArray(schema.allOf)) {
176
+ const resolvedAllOf = schema.allOf.map(
177
+ (subSchema) => resolveSchemaRecursive(subSchema, visited)
178
+ );
179
+ return { ...schema, allOf: resolvedAllOf };
180
+ }
181
+ if ("not" in schema && schema.not && typeof schema.not === "object") {
182
+ const resolvedNot = resolveSchemaRecursive(schema.not, visited);
183
+ return { ...schema, not: resolvedNot };
184
+ }
185
+ if ("if" in schema || "then" in schema || "else" in schema) {
186
+ const resolvedSchema2 = { ...schema };
187
+ if ("if" in schema && schema.if && typeof schema.if === "object") {
188
+ resolvedSchema2.if = resolveSchemaRecursive(schema.if, visited);
189
+ }
190
+ if ("then" in schema && schema.then && typeof schema.then === "object") {
191
+ resolvedSchema2.then = resolveSchemaRecursive(schema.then, visited);
192
+ }
193
+ if ("else" in schema && schema.else && typeof schema.else === "object") {
194
+ resolvedSchema2.else = resolveSchemaRecursive(schema.else, visited);
195
+ }
196
+ return resolvedSchema2;
197
+ }
198
+ if ("definitions" in schema || "$defs" in schema) {
199
+ const resolvedSchema2 = { ...schema };
200
+ if ("definitions" in schema && schema.definitions && typeof schema.definitions === "object") {
201
+ const resolvedDefinitions = {};
202
+ for (const [key, def] of Object.entries(schema.definitions)) {
203
+ if (def && typeof def === "object") {
204
+ resolvedDefinitions[key] = resolveSchemaRecursive(def, visited);
205
+ } else {
206
+ resolvedDefinitions[key] = def;
207
+ }
208
+ }
209
+ resolvedSchema2.definitions = resolvedDefinitions;
210
+ }
211
+ if ("$defs" in schema && schema.$defs && typeof schema.$defs === "object") {
212
+ const resolved$Defs = {};
213
+ for (const [key, def] of Object.entries(schema.$defs)) {
214
+ if (def && typeof def === "object") {
215
+ resolved$Defs[key] = resolveSchemaRecursive(def, visited);
216
+ } else {
217
+ resolved$Defs[key] = def;
218
+ }
219
+ }
220
+ resolvedSchema2.$defs = resolved$Defs;
221
+ }
222
+ return resolvedSchema2;
223
+ }
224
+ const resolvedSchema = { ...schema };
225
+ for (const [key, value] of Object.entries(schema)) {
226
+ if (value && typeof value === "object" && !Array.isArray(value)) {
227
+ if ("type" in value || "$ref" in value || "properties" in value || "items" in value) {
228
+ resolvedSchema[key] = resolveSchemaRecursive(value, visited);
229
+ }
230
+ } else if (Array.isArray(value)) {
231
+ const hasSchemas = value.some(
232
+ (item) => item && typeof item === "object" && ("type" in item || "$ref" in item || "properties" in item || "items" in item)
233
+ );
234
+ if (hasSchemas) {
235
+ resolvedSchema[key] = value.map(
236
+ (item) => item && typeof item === "object" ? resolveSchemaRecursive(item, visited) : item
237
+ );
238
+ }
239
+ }
240
+ }
241
+ return resolvedSchema;
242
+ }
243
+ function validate(schema, data) {
244
+ const validator = new Cabidela(schema, {
245
+ fullErrors: true
246
+ });
247
+ validator.validate(data);
248
+ const defaults = getSchemaDefaults(schema);
249
+ applyDefaultsDeep(data, defaults);
250
+ return true;
251
+ }
252
+
253
+ export {
254
+ normalizeSchemaEnum,
255
+ getSchemaDefaults,
256
+ filterSchemaProperties,
257
+ resolveSchema,
258
+ validate
259
+ };
260
+ //# sourceMappingURL=chunk-NT3IW52F.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/shared/utils/schema.ts"],"sourcesContent":["import { type TArray, type TObject, type TSchema, Kind, type Static } from \"@sinclair/typebox\";\nimport type { PageAttributes } from \"../attributes\";\nimport { schemaRegistry } from \"./schema-registry\";\nimport { Cabidela } from \"@cloudflare/cabidela\";\nimport { defaultsDeep as applyDefaultsDeep } from \"lodash-es\";\n\nexport function normalizeSchemaEnum(schema: TSchema): Array<{ const: string; title: string }> {\n if (!(\"enum\" in schema)) {\n return schema.anyOf ?? schema.oneOf;\n }\n const {\n enum: enumValues,\n enumNames,\n \"ui:icons\": icons,\n } = schema as unknown as { enum: string[]; enumNames?: string[]; \"ui:icons\"?: string[] };\n // combine to key-value pairs\n return enumValues.map((value, index) => ({\n const: value,\n title: enumNames ? enumNames[index] : value,\n \"ui:icon\": icons ? icons[index] : undefined,\n }));\n}\n\nexport function getSchemaDefaults<T extends TObject | TArray>(\n schema: T,\n mode?: \"mobile\" | \"desktop\",\n): T extends TObject ? Record<string, unknown> : unknown[] {\n // Handle object schemas\n if (schema.type === \"object\" && \"properties\" in schema) {\n const objectSchema = schema as TObject;\n const defaults: Record<string, unknown> = {};\n\n for (const [key, propertySchema] of Object.entries(objectSchema.properties)) {\n const defaultValue = getNestedDefaults(propertySchema as TSchema, mode);\n\n // Only include properties that have explicit defaults\n if (defaultValue !== undefined) {\n defaults[key] = defaultValue;\n }\n }\n\n // biome-ignore lint/suspicious/noExplicitAny: <explanation>\n return defaults as any;\n }\n\n // Handle array schemas\n if (schema.type === \"array\" && \"items\" in schema) {\n const arraySchema = schema as TArray;\n\n if (mode && typeof arraySchema[`default:${mode}`] !== \"undefined\") {\n // biome-ignore lint/suspicious/noExplicitAny: <explanation>\n return arraySchema[`default:${mode}`] as any;\n }\n\n // If the array itself has an explicit default, return it\n if (arraySchema.default) {\n // biome-ignore lint/suspicious/noExplicitAny: <explanation>\n return arraySchema.default as any;\n }\n\n // Otherwise return empty array\n // biome-ignore lint/suspicious/noExplicitAny: <explanation>\n return [] as any;\n }\n\n throw new Error(\"Schema must be either TObject or TArray\");\n}\n\n// Helper function for nested schema processing\nfunction getNestedDefaults(schema: TSchema, mode?: \"mobile\" | \"desktop\"): unknown {\n if (mode && typeof schema[`default:${mode}`] !== \"undefined\") {\n return schema[`default:${mode}`];\n }\n // Handle schemas with explicit default values\n if (\"default\" in schema && schema.default !== undefined) {\n return schema.default;\n }\n\n // Handle nested object schemas\n if (schema.type === \"object\" && \"properties\" in schema) {\n const objectSchema = schema as TObject;\n const defaults: Record<string, unknown> = {};\n\n for (const [key, propertySchema] of Object.entries(objectSchema.properties)) {\n const defaultValue = getNestedDefaults(propertySchema as TSchema, mode);\n\n // Only include properties that have explicit defaults\n if (defaultValue !== undefined) {\n defaults[key] = defaultValue;\n }\n }\n\n return Object.keys(defaults).length > 0 ? defaults : undefined;\n }\n\n // Handle nested array schemas\n if (schema.type === \"array\" && \"items\" in schema) {\n // Arrays only contribute defaults if explicitly set\n return undefined;\n }\n\n // No implicit defaults for any type\n return undefined;\n}\n\nexport type FieldFilter<\n T extends TSchema = TSchema,\n P extends Record<string, unknown> = Record<string, unknown>,\n> = (propsSchema: T, formData: P, pageAttributes: PageAttributes) => boolean;\n\nexport function filterSchemaProperties(schema: TObject, filter: (prop: TSchema) => boolean) {\n function extractProperties(schema: TObject): Record<string, TSchema> {\n const props: Record<string, TSchema> = {};\n for (const [key, prop] of Object.entries(schema.properties)) {\n if (filter(prop)) {\n props[key] = prop;\n } else if (prop.type === \"object\" && prop.properties) {\n const nestedContentProps = extractProperties(prop as TObject);\n if (Object.keys(nestedContentProps).length > 0) {\n Object.assign(props, nestedContentProps);\n }\n }\n }\n return props;\n }\n return extractProperties(schema);\n}\n\n/**\n * Resolves a JSON schema by following $ref references recursively.\n * Handles nested objects, arrays, and complex schema structures.\n */\nexport function resolveSchema<T extends TSchema = TSchema>(schema: T): T {\n return resolveSchemaRecursive(schema, new Set()) as T;\n}\n\n/**\n * Internal recursive function with circular reference detection\n */\nfunction resolveSchemaRecursive(schema: TSchema, visited: Set<string>): TSchema {\n // Handle primitive types and null\n if (!schema || typeof schema !== \"object\") {\n return schema;\n }\n\n // Handle $ref resolution\n if (\"$ref\" in schema && typeof schema.$ref === \"string\") {\n // Prevent infinite recursion with circular references\n if (visited.has(schema.$ref) || schema[Kind] === \"This\") {\n // console.warn(`Circular reference detected: ${schema.$ref}`);\n return schema; // Return original schema to avoid infinite loop\n }\n\n const resolved = schemaRegistry.get(schema.$ref);\n if (!resolved) {\n console.error(\"Schema not found for reference:\", schema);\n return schema;\n }\n\n // Add to visited set and recursively resolve the referenced schema\n visited.add(schema.$ref);\n const { $ref, ...rest } = schema;\n const resolvedSchema = {\n ...resolveSchemaRecursive(resolved, visited),\n ...rest,\n };\n visited.delete(schema.$ref); // Remove from visited after processing\n\n return resolvedSchema as TSchema;\n }\n\n // Handle object schemas\n if (\"type\" in schema && schema.type === \"object\" && \"properties\" in schema) {\n const resolvedProperties: Record<string, TSchema> = {};\n\n if (schema.properties && typeof schema.properties === \"object\") {\n for (const [key, value] of Object.entries(schema.properties)) {\n if (value && typeof value === \"object\") {\n resolvedProperties[key] = resolveSchemaRecursive(value as TSchema, visited);\n } else {\n resolvedProperties[key] = value as TSchema;\n }\n }\n }\n\n const resolvedSchema = { ...schema };\n if (Object.keys(resolvedProperties).length > 0) {\n resolvedSchema.properties = resolvedProperties;\n }\n\n // Handle additionalProperties\n if (\n \"additionalProperties\" in schema &&\n schema.additionalProperties &&\n typeof schema.additionalProperties === \"object\" &&\n schema.additionalProperties !== true\n ) {\n resolvedSchema.additionalProperties = resolveSchemaRecursive(\n schema.additionalProperties as TSchema,\n visited,\n );\n }\n\n // Handle patternProperties\n if (\n \"patternProperties\" in schema &&\n schema.patternProperties &&\n typeof schema.patternProperties === \"object\"\n ) {\n const resolvedPatternProperties: Record<string, TSchema> = {};\n for (const [pattern, patternSchema] of Object.entries(schema.patternProperties)) {\n if (patternSchema && typeof patternSchema === \"object\") {\n resolvedPatternProperties[pattern] = resolveSchemaRecursive(patternSchema as TSchema, visited);\n } else {\n resolvedPatternProperties[pattern] = patternSchema as TSchema;\n }\n }\n resolvedSchema.patternProperties = resolvedPatternProperties;\n }\n\n return resolvedSchema as TSchema;\n }\n\n // Handle array schemas\n if (\"type\" in schema && schema.type === \"array\") {\n const resolvedSchema = { ...schema };\n\n if (\"items\" in schema && schema.items) {\n if (Array.isArray(schema.items)) {\n resolvedSchema.items = schema.items.map((item) => resolveSchemaRecursive(item as TSchema, visited));\n } else if (typeof schema.items === \"object\") {\n resolvedSchema.items = resolveSchemaRecursive(schema.items as TSchema, visited);\n }\n }\n\n // Handle additionalItems\n if (\n \"additionalItems\" in schema &&\n schema.additionalItems &&\n typeof schema.additionalItems === \"object\" &&\n schema.additionalItems !== true\n ) {\n resolvedSchema.additionalItems = resolveSchemaRecursive(schema.additionalItems as TSchema, visited);\n }\n\n return resolvedSchema as TSchema;\n }\n\n // Handle union schemas (anyOf)\n if (\"anyOf\" in schema && Array.isArray(schema.anyOf)) {\n const resolvedAnyOf = schema.anyOf.map((subSchema) => {\n return resolveSchemaRecursive(subSchema as TSchema, visited);\n });\n\n return { ...schema, anyOf: resolvedAnyOf } as TSchema;\n }\n\n // Handle union schemas (oneOf)\n if (\"oneOf\" in schema && Array.isArray(schema.oneOf)) {\n const resolvedOneOf = schema.oneOf.map((subSchema) =>\n resolveSchemaRecursive(subSchema as TSchema, visited),\n );\n\n return { ...schema, oneOf: resolvedOneOf } as TSchema;\n }\n\n // Handle intersection schemas (allOf)\n if (\"allOf\" in schema && Array.isArray(schema.allOf)) {\n const resolvedAllOf = schema.allOf.map((subSchema) =>\n resolveSchemaRecursive(subSchema as TSchema, visited),\n );\n\n return { ...schema, allOf: resolvedAllOf } as TSchema;\n }\n\n // Handle not schemas\n if (\"not\" in schema && schema.not && typeof schema.not === \"object\") {\n const resolvedNot = resolveSchemaRecursive(schema.not as TSchema, visited);\n\n return { ...schema, not: resolvedNot } as TSchema;\n }\n\n // Handle conditional schemas (if/then/else)\n if (\"if\" in schema || \"then\" in schema || \"else\" in schema) {\n const resolvedSchema = { ...schema };\n\n if (\"if\" in schema && schema.if && typeof schema.if === \"object\") {\n resolvedSchema.if = resolveSchemaRecursive(schema.if as TSchema, visited);\n }\n\n if (\"then\" in schema && schema.then && typeof schema.then === \"object\") {\n // biome-ignore lint/suspicious/noThenProperty: <explanation>\n resolvedSchema.then = resolveSchemaRecursive(schema.then as TSchema, visited);\n }\n\n if (\"else\" in schema && schema.else && typeof schema.else === \"object\") {\n resolvedSchema.else = resolveSchemaRecursive(schema.else as TSchema, visited);\n }\n\n return resolvedSchema as TSchema;\n }\n\n // Handle schemas with definitions\n if (\"definitions\" in schema || \"$defs\" in schema) {\n const resolvedSchema = { ...schema };\n\n if (\"definitions\" in schema && schema.definitions && typeof schema.definitions === \"object\") {\n const resolvedDefinitions: Record<string, TSchema> = {};\n for (const [key, def] of Object.entries(schema.definitions)) {\n if (def && typeof def === \"object\") {\n resolvedDefinitions[key] = resolveSchemaRecursive(def as TSchema, visited);\n } else {\n resolvedDefinitions[key] = def as TSchema;\n }\n }\n resolvedSchema.definitions = resolvedDefinitions;\n }\n\n if (\"$defs\" in schema && schema.$defs && typeof schema.$defs === \"object\") {\n const resolved$Defs: Record<string, TSchema> = {};\n for (const [key, def] of Object.entries(schema.$defs)) {\n if (def && typeof def === \"object\") {\n resolved$Defs[key] = resolveSchemaRecursive(def as TSchema, visited);\n } else {\n resolved$Defs[key] = def as TSchema;\n }\n }\n resolvedSchema.$defs = resolved$Defs;\n }\n\n return resolvedSchema as TSchema;\n }\n\n // Handle any other schema types that might contain nested schemas\n const resolvedSchema = { ...schema };\n\n for (const [key, value] of Object.entries(schema)) {\n if (value && typeof value === \"object\" && !Array.isArray(value)) {\n // Check if this looks like a schema object\n if (\"type\" in value || \"$ref\" in value || \"properties\" in value || \"items\" in value) {\n (resolvedSchema as Record<string, unknown>)[key] = resolveSchemaRecursive(value as TSchema, visited);\n }\n } else if (Array.isArray(value)) {\n // Check if array contains schemas\n const hasSchemas = value.some(\n (item) =>\n item &&\n typeof item === \"object\" &&\n (\"type\" in item || \"$ref\" in item || \"properties\" in item || \"items\" in item),\n );\n\n if (hasSchemas) {\n (resolvedSchema as Record<string, unknown>)[key] = value.map((item) =>\n item && typeof item === \"object\" ? resolveSchemaRecursive(item as TSchema, visited) : item,\n );\n }\n }\n }\n\n return resolvedSchema as TSchema;\n}\n\nexport function validate<T extends TSchema>(schema: TSchema, data: unknown): data is Static<T> {\n const validator = new Cabidela(schema, {\n fullErrors: true,\n });\n validator.validate(data);\n\n // Mutate data with defaults\n const defaults = getSchemaDefaults(schema as TObject | TArray);\n applyDefaultsDeep(data, defaults);\n\n return true;\n}\n"],"mappings":"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","names":["schema","resolvedSchema"]}
@@ -0,0 +1,94 @@
1
+ /*! Upstart.gg - Copyright (C) 2024 Flippable - https://github.com/upstart-gg/upstart/blob/main/LICENSE */
2
+
3
+ import {
4
+ borderColorRef
5
+ } from "./chunk-SE6O65HC.js";
6
+ import {
7
+ typedRef
8
+ } from "./chunk-A2QPY54H.js";
9
+ import {
10
+ StringEnum
11
+ } from "./chunk-JK2FWFJU.js";
12
+
13
+ // src/shared/bricks/props/border.ts
14
+ import { Type } from "@sinclair/typebox";
15
+ function border(opts = {}) {
16
+ return Type.Object(
17
+ {
18
+ width: StringEnum(["border-0", "border", "border-2", "border-4", "border-8"], {
19
+ title: "Width",
20
+ enumNames: ["None", "Small", "Medium", "Large", "Extra large"],
21
+ "ai:instructions": "Don't specify width if you want no border.",
22
+ "ui:field": "enum",
23
+ "ui:display": "select",
24
+ "ui:placeholder": "None",
25
+ default: "border-0"
26
+ }),
27
+ color: borderColorRef({
28
+ title: "Color",
29
+ description: "The color of the border.",
30
+ default: "border-current"
31
+ })
32
+ },
33
+ {
34
+ title: "Border",
35
+ "ui:styleId": "styles:border",
36
+ description: "Set the border width and color.",
37
+ "ui:field": "border",
38
+ "ui:responsive": true,
39
+ examples: [
40
+ {
41
+ width: "border-2",
42
+ color: "border-primary-200"
43
+ },
44
+ {
45
+ width: "border-4",
46
+ color: "border-accent-400"
47
+ },
48
+ {
49
+ width: "border",
50
+ color: "border-neutral-100"
51
+ }
52
+ ],
53
+ ...opts
54
+ }
55
+ );
56
+ }
57
+ function borderRef(options = {}) {
58
+ return typedRef("styles:border", options);
59
+ }
60
+ function rounding(opts = {}) {
61
+ return Type.Optional(
62
+ StringEnum(
63
+ [
64
+ "rounded-auto",
65
+ "rounded-none",
66
+ "rounded-sm",
67
+ "rounded-md",
68
+ "rounded-lg",
69
+ "rounded-xl",
70
+ "rounded-2xl",
71
+ "rounded-full"
72
+ ],
73
+ {
74
+ title: "Corner rounding",
75
+ enumNames: ["Auto", "None", "Small", "Medium", "Large", "Extra large", "2xl", "Full"],
76
+ // $id: "styles:rounding",
77
+ "ui:styleId": "styles:rounding",
78
+ "ui:responsive": "desktop",
79
+ ...opts
80
+ }
81
+ )
82
+ );
83
+ }
84
+ function roundingRef(options = {}) {
85
+ return typedRef("styles:rounding", options);
86
+ }
87
+
88
+ export {
89
+ border,
90
+ borderRef,
91
+ rounding,
92
+ roundingRef
93
+ };
94
+ //# sourceMappingURL=chunk-NTLAKMMQ.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/shared/bricks/props/border.ts"],"sourcesContent":["import { type ObjectOptions, Type, type Static, type StringOptions } from \"@sinclair/typebox\";\nimport { typedRef } from \"~/shared/utils/typed-ref\";\nimport { StringEnum } from \"~/shared/utils/string-enum\";\nimport { borderColorRef } from \"./color\";\n\nexport function border(opts: ObjectOptions = {}) {\n return Type.Object(\n {\n width: StringEnum([\"border-0\", \"border\", \"border-2\", \"border-4\", \"border-8\"], {\n title: \"Width\",\n enumNames: [\"None\", \"Small\", \"Medium\", \"Large\", \"Extra large\"],\n \"ai:instructions\": \"Don't specify width if you want no border.\",\n \"ui:field\": \"enum\",\n \"ui:display\": \"select\",\n \"ui:placeholder\": \"None\",\n default: \"border-0\",\n }),\n color: borderColorRef({\n title: \"Color\",\n description: \"The color of the border.\",\n default: \"border-current\",\n }),\n },\n {\n title: \"Border\",\n \"ui:styleId\": \"styles:border\",\n description: \"Set the border width and color.\",\n \"ui:field\": \"border\",\n \"ui:responsive\": true,\n examples: [\n {\n width: \"border-2\",\n color: \"border-primary-200\",\n },\n {\n width: \"border-4\",\n color: \"border-accent-400\",\n },\n {\n width: \"border\",\n color: \"border-neutral-100\",\n },\n ],\n ...opts,\n },\n );\n}\n\nexport type BorderSettings = Static<ReturnType<typeof border>>;\n\nexport function borderRef(\n options: Omit<ObjectOptions, \"default\"> & { default?: Partial<BorderSettings> } = {},\n) {\n return typedRef(\"styles:border\", options);\n}\n\nexport function rounding(opts: StringOptions = {}) {\n return Type.Optional(\n StringEnum(\n [\n \"rounded-auto\",\n \"rounded-none\",\n \"rounded-sm\",\n \"rounded-md\",\n \"rounded-lg\",\n \"rounded-xl\",\n \"rounded-2xl\",\n \"rounded-full\",\n ],\n {\n title: \"Corner rounding\",\n enumNames: [\"Auto\", \"None\", \"Small\", \"Medium\", \"Large\", \"Extra large\", \"2xl\", \"Full\"],\n // $id: \"styles:rounding\",\n \"ui:styleId\": \"styles:rounding\",\n \"ui:responsive\": \"desktop\",\n ...opts,\n },\n ),\n );\n}\n\nexport type RoundingSettings = Static<ReturnType<typeof rounding>>;\n\nexport function roundingRef(options: StringOptions = {}) {\n return typedRef(\"styles:rounding\", options);\n}\n"],"mappings":";;wHAAA,OAA6B,QAAAA,MAA6C,oBAKnE,SAASC,EAAOC,EAAsB,CAAC,EAAG,CAC/C,OAAOC,EAAK,OACV,CACE,MAAOC,EAAW,CAAC,WAAY,SAAU,WAAY,WAAY,UAAU,EAAG,CAC5E,MAAO,QACP,UAAW,CAAC,OAAQ,QAAS,SAAU,QAAS,aAAa,EAC7D,kBAAmB,6CACnB,WAAY,OACZ,aAAc,SACd,iBAAkB,OAClB,QAAS,UACX,CAAC,EACD,MAAOC,EAAe,CACpB,MAAO,QACP,YAAa,2BACb,QAAS,gBACX,CAAC,CACH,EACA,CACE,MAAO,SACP,aAAc,gBACd,YAAa,kCACb,WAAY,SACZ,gBAAiB,GACjB,SAAU,CACR,CACE,MAAO,WACP,MAAO,oBACT,EACA,CACE,MAAO,WACP,MAAO,mBACT,EACA,CACE,MAAO,SACP,MAAO,oBACT,CACF,EACA,GAAGH,CACL,CACF,CACF,CAIO,SAASI,EACdC,EAAkF,CAAC,EACnF,CACA,OAAOC,EAAS,gBAAiBD,CAAO,CAC1C,CAEO,SAASE,EAASP,EAAsB,CAAC,EAAG,CACjD,OAAOC,EAAK,SACVC,EACE,CACE,eACA,eACA,aACA,aACA,aACA,aACA,cACA,cACF,EACA,CACE,MAAO,kBACP,UAAW,CAAC,OAAQ,OAAQ,QAAS,SAAU,QAAS,cAAe,MAAO,MAAM,EAEpF,aAAc,kBACd,gBAAiB,UACjB,GAAGF,CACL,CACF,CACF,CACF,CAIO,SAASQ,EAAYH,EAAyB,CAAC,EAAG,CACvD,OAAOC,EAAS,kBAAmBD,CAAO,CAC5C","names":["Type","border","opts","Type","StringEnum","borderColorRef","borderRef","options","typedRef","rounding","roundingRef"]}
1
+ {"version":3,"sources":["../../src/shared/bricks/props/border.ts"],"sourcesContent":["import { type ObjectOptions, Type, type Static, type StringOptions } from \"@sinclair/typebox\";\nimport { typedRef } from \"~/shared/utils/typed-ref\";\nimport { StringEnum } from \"~/shared/utils/string-enum\";\nimport { borderColorRef } from \"./color\";\n\nexport function border(opts: ObjectOptions = {}) {\n return Type.Object(\n {\n width: StringEnum([\"border-0\", \"border\", \"border-2\", \"border-4\", \"border-8\"], {\n title: \"Width\",\n enumNames: [\"None\", \"Small\", \"Medium\", \"Large\", \"Extra large\"],\n \"ai:instructions\": \"Don't specify width if you want no border.\",\n \"ui:field\": \"enum\",\n \"ui:display\": \"select\",\n \"ui:placeholder\": \"None\",\n default: \"border-0\",\n }),\n color: borderColorRef({\n title: \"Color\",\n description: \"The color of the border.\",\n default: \"border-current\",\n }),\n },\n {\n title: \"Border\",\n \"ui:styleId\": \"styles:border\",\n description: \"Set the border width and color.\",\n \"ui:field\": \"border\",\n \"ui:responsive\": true,\n examples: [\n {\n width: \"border-2\",\n color: \"border-primary-200\",\n },\n {\n width: \"border-4\",\n color: \"border-accent-400\",\n },\n {\n width: \"border\",\n color: \"border-neutral-100\",\n },\n ],\n ...opts,\n },\n );\n}\n\nexport type BorderSettings = Static<ReturnType<typeof border>>;\n\nexport function borderRef(\n options: Omit<ObjectOptions, \"default\"> & { default?: Partial<BorderSettings> } = {},\n) {\n return typedRef(\"styles:border\", options);\n}\n\nexport function rounding(opts: StringOptions = {}) {\n return Type.Optional(\n StringEnum(\n [\n \"rounded-auto\",\n \"rounded-none\",\n \"rounded-sm\",\n \"rounded-md\",\n \"rounded-lg\",\n \"rounded-xl\",\n \"rounded-2xl\",\n \"rounded-full\",\n ],\n {\n title: \"Corner rounding\",\n enumNames: [\"Auto\", \"None\", \"Small\", \"Medium\", \"Large\", \"Extra large\", \"2xl\", \"Full\"],\n // $id: \"styles:rounding\",\n \"ui:styleId\": \"styles:rounding\",\n \"ui:responsive\": \"desktop\",\n ...opts,\n },\n ),\n );\n}\n\nexport type RoundingSettings = Static<ReturnType<typeof rounding>>;\n\nexport function roundingRef(options: StringOptions = {}) {\n return typedRef(\"styles:rounding\", options);\n}\n"],"mappings":";;;;;;;;;;;;;AAAA,SAA6B,YAA6C;AAKnE,SAAS,OAAO,OAAsB,CAAC,GAAG;AAC/C,SAAO,KAAK;AAAA,IACV;AAAA,MACE,OAAO,WAAW,CAAC,YAAY,UAAU,YAAY,YAAY,UAAU,GAAG;AAAA,QAC5E,OAAO;AAAA,QACP,WAAW,CAAC,QAAQ,SAAS,UAAU,SAAS,aAAa;AAAA,QAC7D,mBAAmB;AAAA,QACnB,YAAY;AAAA,QACZ,cAAc;AAAA,QACd,kBAAkB;AAAA,QAClB,SAAS;AAAA,MACX,CAAC;AAAA,MACD,OAAO,eAAe;AAAA,QACpB,OAAO;AAAA,QACP,aAAa;AAAA,QACb,SAAS;AAAA,MACX,CAAC;AAAA,IACH;AAAA,IACA;AAAA,MACE,OAAO;AAAA,MACP,cAAc;AAAA,MACd,aAAa;AAAA,MACb,YAAY;AAAA,MACZ,iBAAiB;AAAA,MACjB,UAAU;AAAA,QACR;AAAA,UACE,OAAO;AAAA,UACP,OAAO;AAAA,QACT;AAAA,QACA;AAAA,UACE,OAAO;AAAA,UACP,OAAO;AAAA,QACT;AAAA,QACA;AAAA,UACE,OAAO;AAAA,UACP,OAAO;AAAA,QACT;AAAA,MACF;AAAA,MACA,GAAG;AAAA,IACL;AAAA,EACF;AACF;AAIO,SAAS,UACd,UAAkF,CAAC,GACnF;AACA,SAAO,SAAS,iBAAiB,OAAO;AAC1C;AAEO,SAAS,SAAS,OAAsB,CAAC,GAAG;AACjD,SAAO,KAAK;AAAA,IACV;AAAA,MACE;AAAA,QACE;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,MACA;AAAA,QACE,OAAO;AAAA,QACP,WAAW,CAAC,QAAQ,QAAQ,SAAS,UAAU,SAAS,eAAe,OAAO,MAAM;AAAA;AAAA,QAEpF,cAAc;AAAA,QACd,iBAAiB;AAAA,QACjB,GAAG;AAAA,MACL;AAAA,IACF;AAAA,EACF;AACF;AAIO,SAAS,YAAY,UAAyB,CAAC,GAAG;AACvD,SAAO,SAAS,mBAAmB,OAAO;AAC5C;","names":[]}