@upstart.gg/sdk 0.0.138 → 0.0.139

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 (786) hide show
  1. package/dist/shared/ai/schemas.d.ts +20 -15
  2. package/dist/shared/ai/schemas.d.ts.map +1 -1
  3. package/dist/shared/ai/schemas.js +31 -57
  4. package/dist/shared/ai/schemas.js.map +1 -1
  5. package/dist/shared/ai/types.d.ts +193 -190
  6. package/dist/shared/ai/types.d.ts.map +1 -1
  7. package/dist/shared/ai/types.js +1 -3
  8. package/dist/shared/analytics/init.d.ts +4 -1
  9. package/dist/shared/analytics/init.d.ts.map +1 -1
  10. package/dist/shared/analytics/init.js +14 -20
  11. package/dist/shared/analytics/init.js.map +1 -1
  12. package/dist/shared/analytics/track.d.ts +6 -2
  13. package/dist/shared/analytics/track.d.ts.map +1 -1
  14. package/dist/shared/analytics/track.js +14 -24
  15. package/dist/shared/analytics/track.js.map +1 -1
  16. package/dist/shared/analytics/types.d.ts +10 -8
  17. package/dist/shared/analytics/types.d.ts.map +1 -1
  18. package/dist/shared/analytics/types.js +1 -3
  19. package/dist/shared/attributes.d.ts +488 -483
  20. package/dist/shared/attributes.d.ts.map +1 -1
  21. package/dist/shared/attributes.js +369 -45
  22. package/dist/shared/attributes.js.map +1 -1
  23. package/dist/shared/brick-manifest.d.ts +126 -108
  24. package/dist/shared/brick-manifest.d.ts.map +1 -1
  25. package/dist/shared/brick-manifest.js +36 -12
  26. package/dist/shared/brick-manifest.js.map +1 -1
  27. package/dist/shared/bricks/manifests/_types.d.ts +11 -7
  28. package/dist/shared/bricks/manifests/_types.d.ts.map +1 -1
  29. package/dist/shared/bricks/manifests/_types.js +1 -3
  30. package/dist/shared/bricks/manifests/accordion.manifest.d.ts +83 -76
  31. package/dist/shared/bricks/manifests/accordion.manifest.d.ts.map +1 -1
  32. package/dist/shared/bricks/manifests/accordion.manifest.js +389 -24
  33. package/dist/shared/bricks/manifests/accordion.manifest.js.map +1 -1
  34. package/dist/shared/bricks/manifests/all-manifests.d.ts +15 -10
  35. package/dist/shared/bricks/manifests/all-manifests.d.ts.map +1 -1
  36. package/dist/shared/bricks/manifests/all-manifests.js +128 -61
  37. package/dist/shared/bricks/manifests/all-manifests.js.map +1 -1
  38. package/dist/shared/bricks/manifests/all-props.d.ts +1510 -1505
  39. package/dist/shared/bricks/manifests/all-props.d.ts.map +1 -1
  40. package/dist/shared/bricks/manifests/all-props.js +167 -241
  41. package/dist/shared/bricks/manifests/all-props.js.map +1 -1
  42. package/dist/shared/bricks/manifests/box.manifest.d.ts +87 -80
  43. package/dist/shared/bricks/manifests/box.manifest.d.ts.map +1 -1
  44. package/dist/shared/bricks/manifests/box.manifest.js +548 -27
  45. package/dist/shared/bricks/manifests/box.manifest.js.map +1 -1
  46. package/dist/shared/bricks/manifests/button.manifest.d.ts +75 -68
  47. package/dist/shared/bricks/manifests/button.manifest.d.ts.map +1 -1
  48. package/dist/shared/bricks/manifests/button.manifest.js +308 -23
  49. package/dist/shared/bricks/manifests/button.manifest.js.map +1 -1
  50. package/dist/shared/bricks/manifests/card.manifest.d.ts +96 -89
  51. package/dist/shared/bricks/manifests/card.manifest.d.ts.map +1 -1
  52. package/dist/shared/bricks/manifests/card.manifest.js +392 -28
  53. package/dist/shared/bricks/manifests/card.manifest.js.map +1 -1
  54. package/dist/shared/bricks/manifests/carousel.manifest.d.ts +86 -79
  55. package/dist/shared/bricks/manifests/carousel.manifest.d.ts.map +1 -1
  56. package/dist/shared/bricks/manifests/carousel.manifest.js +775 -26
  57. package/dist/shared/bricks/manifests/carousel.manifest.js.map +1 -1
  58. package/dist/shared/bricks/manifests/footer.manifest.d.ts +117 -110
  59. package/dist/shared/bricks/manifests/footer.manifest.d.ts.map +1 -1
  60. package/dist/shared/bricks/manifests/footer.manifest.js +864 -25
  61. package/dist/shared/bricks/manifests/footer.manifest.js.map +1 -1
  62. package/dist/shared/bricks/manifests/form.manifest.d.ts +94 -87
  63. package/dist/shared/bricks/manifests/form.manifest.d.ts.map +1 -1
  64. package/dist/shared/bricks/manifests/form.manifest.js +324 -25
  65. package/dist/shared/bricks/manifests/form.manifest.js.map +1 -1
  66. package/dist/shared/bricks/manifests/hero.manifest.d.ts +80 -73
  67. package/dist/shared/bricks/manifests/hero.manifest.d.ts.map +1 -1
  68. package/dist/shared/bricks/manifests/hero.manifest.js +202 -24
  69. package/dist/shared/bricks/manifests/hero.manifest.js.map +1 -1
  70. package/dist/shared/bricks/manifests/html.manifest.d.ts +68 -61
  71. package/dist/shared/bricks/manifests/html.manifest.d.ts.map +1 -1
  72. package/dist/shared/bricks/manifests/html.manifest.js +95 -18
  73. package/dist/shared/bricks/manifests/html.manifest.js.map +1 -1
  74. package/dist/shared/bricks/manifests/icon.manifest.d.ts +74 -67
  75. package/dist/shared/bricks/manifests/icon.manifest.d.ts.map +1 -1
  76. package/dist/shared/bricks/manifests/icon.manifest.js +239 -24
  77. package/dist/shared/bricks/manifests/icon.manifest.js.map +1 -1
  78. package/dist/shared/bricks/manifests/image.manifest.d.ts +97 -90
  79. package/dist/shared/bricks/manifests/image.manifest.d.ts.map +1 -1
  80. package/dist/shared/bricks/manifests/image.manifest.js +456 -27
  81. package/dist/shared/bricks/manifests/image.manifest.js.map +1 -1
  82. package/dist/shared/bricks/manifests/images-gallery.manifest.d.ts +93 -86
  83. package/dist/shared/bricks/manifests/images-gallery.manifest.d.ts.map +1 -1
  84. package/dist/shared/bricks/manifests/images-gallery.manifest.js +598 -25
  85. package/dist/shared/bricks/manifests/images-gallery.manifest.js.map +1 -1
  86. package/dist/shared/bricks/manifests/map.manifest.d.ts +78 -71
  87. package/dist/shared/bricks/manifests/map.manifest.d.ts.map +1 -1
  88. package/dist/shared/bricks/manifests/map.manifest.js +138 -23
  89. package/dist/shared/bricks/manifests/map.manifest.js.map +1 -1
  90. package/dist/shared/bricks/manifests/navbar.manifest.d.ts +117 -110
  91. package/dist/shared/bricks/manifests/navbar.manifest.d.ts.map +1 -1
  92. package/dist/shared/bricks/manifests/navbar.manifest.js +370 -28
  93. package/dist/shared/bricks/manifests/navbar.manifest.js.map +1 -1
  94. package/dist/shared/bricks/manifests/sidebar.manifest.d.ts +94 -87
  95. package/dist/shared/bricks/manifests/sidebar.manifest.d.ts.map +1 -1
  96. package/dist/shared/bricks/manifests/sidebar.manifest.js +69 -24
  97. package/dist/shared/bricks/manifests/sidebar.manifest.js.map +1 -1
  98. package/dist/shared/bricks/manifests/social-links.manifest.d.ts +84 -77
  99. package/dist/shared/bricks/manifests/social-links.manifest.d.ts.map +1 -1
  100. package/dist/shared/bricks/manifests/social-links.manifest.js +465 -24
  101. package/dist/shared/bricks/manifests/social-links.manifest.js.map +1 -1
  102. package/dist/shared/bricks/manifests/spacer.manifest.d.ts +65 -58
  103. package/dist/shared/bricks/manifests/spacer.manifest.d.ts.map +1 -1
  104. package/dist/shared/bricks/manifests/spacer.manifest.js +39 -18
  105. package/dist/shared/bricks/manifests/spacer.manifest.js.map +1 -1
  106. package/dist/shared/bricks/manifests/table.manifest.d.ts +93 -86
  107. package/dist/shared/bricks/manifests/table.manifest.d.ts.map +1 -1
  108. package/dist/shared/bricks/manifests/table.manifest.js +771 -25
  109. package/dist/shared/bricks/manifests/table.manifest.js.map +1 -1
  110. package/dist/shared/bricks/manifests/tabs.manifest.d.ts +91 -84
  111. package/dist/shared/bricks/manifests/tabs.manifest.d.ts.map +1 -1
  112. package/dist/shared/bricks/manifests/tabs.manifest.js +119 -25
  113. package/dist/shared/bricks/manifests/tabs.manifest.js.map +1 -1
  114. package/dist/shared/bricks/manifests/testimonials.manifest.d.ts +97 -90
  115. package/dist/shared/bricks/manifests/testimonials.manifest.d.ts.map +1 -1
  116. package/dist/shared/bricks/manifests/testimonials.manifest.js +223 -28
  117. package/dist/shared/bricks/manifests/testimonials.manifest.js.map +1 -1
  118. package/dist/shared/bricks/manifests/text.manifest.d.ts +76 -69
  119. package/dist/shared/bricks/manifests/text.manifest.d.ts.map +1 -1
  120. package/dist/shared/bricks/manifests/text.manifest.js +199 -23
  121. package/dist/shared/bricks/manifests/text.manifest.js.map +1 -1
  122. package/dist/shared/bricks/manifests/timeline.manifest.d.ts +102 -95
  123. package/dist/shared/bricks/manifests/timeline.manifest.d.ts.map +1 -1
  124. package/dist/shared/bricks/manifests/timeline.manifest.js +401 -25
  125. package/dist/shared/bricks/manifests/timeline.manifest.js.map +1 -1
  126. package/dist/shared/bricks/manifests/video.manifest.d.ts +74 -67
  127. package/dist/shared/bricks/manifests/video.manifest.d.ts.map +1 -1
  128. package/dist/shared/bricks/manifests/video.manifest.js +97 -21
  129. package/dist/shared/bricks/manifests/video.manifest.js.map +1 -1
  130. package/dist/shared/bricks/props/align.d.ts +12 -7
  131. package/dist/shared/bricks/props/align.d.ts.map +1 -1
  132. package/dist/shared/bricks/props/align.js +74 -13
  133. package/dist/shared/bricks/props/align.js.map +1 -1
  134. package/dist/shared/bricks/props/background.d.ts +21 -17
  135. package/dist/shared/bricks/props/background.d.ts.map +1 -1
  136. package/dist/shared/bricks/props/background.js +63 -11
  137. package/dist/shared/bricks/props/background.js.map +1 -1
  138. package/dist/shared/bricks/props/boolean.d.ts +6 -2
  139. package/dist/shared/bricks/props/boolean.d.ts.map +1 -1
  140. package/dist/shared/bricks/props/boolean.js +12 -8
  141. package/dist/shared/bricks/props/boolean.js.map +1 -1
  142. package/dist/shared/bricks/props/border.d.ts +12 -7
  143. package/dist/shared/bricks/props/border.d.ts.map +1 -1
  144. package/dist/shared/bricks/props/border.js +85 -12
  145. package/dist/shared/bricks/props/border.js.map +1 -1
  146. package/dist/shared/bricks/props/color-preset.d.ts +331 -327
  147. package/dist/shared/bricks/props/color-preset.d.ts.map +1 -1
  148. package/dist/shared/bricks/props/color-preset.js +378 -10
  149. package/dist/shared/bricks/props/color-preset.js.map +1 -1
  150. package/dist/shared/bricks/props/color.d.ts +10 -5
  151. package/dist/shared/bricks/props/color.d.ts.map +1 -1
  152. package/dist/shared/bricks/props/color.js +27 -10
  153. package/dist/shared/bricks/props/color.js.map +1 -1
  154. package/dist/shared/bricks/props/common.d.ts +32 -28
  155. package/dist/shared/bricks/props/common.d.ts.map +1 -1
  156. package/dist/shared/bricks/props/common.js +42 -13
  157. package/dist/shared/bricks/props/common.js.map +1 -1
  158. package/dist/shared/bricks/props/css-length.d.ts +10 -5
  159. package/dist/shared/bricks/props/css-length.d.ts.map +1 -1
  160. package/dist/shared/bricks/props/css-length.js +39 -12
  161. package/dist/shared/bricks/props/css-length.js.map +1 -1
  162. package/dist/shared/bricks/props/datarecord.d.ts +8 -3
  163. package/dist/shared/bricks/props/datarecord.d.ts.map +1 -1
  164. package/dist/shared/bricks/props/datarecord.js +12 -8
  165. package/dist/shared/bricks/props/datarecord.js.map +1 -1
  166. package/dist/shared/bricks/props/datasource.d.ts +18 -13
  167. package/dist/shared/bricks/props/datasource.d.ts.map +1 -1
  168. package/dist/shared/bricks/props/datasource.js +61 -84
  169. package/dist/shared/bricks/props/datasource.js.map +1 -1
  170. package/dist/shared/bricks/props/date.d.ts +8 -3
  171. package/dist/shared/bricks/props/date.d.ts.map +1 -1
  172. package/dist/shared/bricks/props/date.js +19 -23
  173. package/dist/shared/bricks/props/date.js.map +1 -1
  174. package/dist/shared/bricks/props/direction.d.ts +8 -3
  175. package/dist/shared/bricks/props/direction.d.ts.map +1 -1
  176. package/dist/shared/bricks/props/direction.js +16 -9
  177. package/dist/shared/bricks/props/direction.js.map +1 -1
  178. package/dist/shared/bricks/props/dynamic.d.ts +39 -34
  179. package/dist/shared/bricks/props/dynamic.d.ts.map +1 -1
  180. package/dist/shared/bricks/props/dynamic.js +92 -13
  181. package/dist/shared/bricks/props/dynamic.js.map +1 -1
  182. package/dist/shared/bricks/props/effects.d.ts +18 -11
  183. package/dist/shared/bricks/props/effects.d.ts.map +1 -1
  184. package/dist/shared/bricks/props/effects.js +81 -13
  185. package/dist/shared/bricks/props/effects.js.map +1 -1
  186. package/dist/shared/bricks/props/file.d.ts +6 -1
  187. package/dist/shared/bricks/props/file.d.ts.map +1 -1
  188. package/dist/shared/bricks/props/file.js +11 -14
  189. package/dist/shared/bricks/props/file.js.map +1 -1
  190. package/dist/shared/bricks/props/geolocation.d.ts +15 -10
  191. package/dist/shared/bricks/props/geolocation.d.ts.map +1 -1
  192. package/dist/shared/bricks/props/geolocation.js +28 -40
  193. package/dist/shared/bricks/props/geolocation.js.map +1 -1
  194. package/dist/shared/bricks/props/grow.d.ts +7 -2
  195. package/dist/shared/bricks/props/grow.d.ts.map +1 -1
  196. package/dist/shared/bricks/props/grow.js +14 -8
  197. package/dist/shared/bricks/props/grow.js.map +1 -1
  198. package/dist/shared/bricks/props/helpers.d.ts +32 -24
  199. package/dist/shared/bricks/props/helpers.d.ts.map +1 -1
  200. package/dist/shared/bricks/props/helpers.js +50 -19
  201. package/dist/shared/bricks/props/helpers.js.map +1 -1
  202. package/dist/shared/bricks/props/image.d.ts +15 -12
  203. package/dist/shared/bricks/props/image.d.ts.map +1 -1
  204. package/dist/shared/bricks/props/image.js +109 -9
  205. package/dist/shared/bricks/props/image.js.map +1 -1
  206. package/dist/shared/bricks/props/number.d.ts +8 -4
  207. package/dist/shared/bricks/props/number.d.ts.map +1 -1
  208. package/dist/shared/bricks/props/number.js +11 -8
  209. package/dist/shared/bricks/props/number.js.map +1 -1
  210. package/dist/shared/bricks/props/position.d.ts +8 -3
  211. package/dist/shared/bricks/props/position.d.ts.map +1 -1
  212. package/dist/shared/bricks/props/position.js +12 -8
  213. package/dist/shared/bricks/props/position.js.map +1 -1
  214. package/dist/shared/bricks/props/string.d.ts +13 -9
  215. package/dist/shared/bricks/props/string.d.ts.map +1 -1
  216. package/dist/shared/bricks/props/string.js +34 -12
  217. package/dist/shared/bricks/props/string.js.map +1 -1
  218. package/dist/shared/bricks/props/tags.d.ts +8 -3
  219. package/dist/shared/bricks/props/tags.d.ts.map +1 -1
  220. package/dist/shared/bricks/props/tags.js +16 -8
  221. package/dist/shared/bricks/props/tags.js.map +1 -1
  222. package/dist/shared/bricks/props/text.d.ts +22 -11
  223. package/dist/shared/bricks/props/text.d.ts.map +1 -1
  224. package/dist/shared/bricks/props/text.js +79 -13
  225. package/dist/shared/bricks/props/text.js.map +1 -1
  226. package/dist/shared/bricks/props/types.d.ts +52 -49
  227. package/dist/shared/bricks/props/types.d.ts.map +1 -1
  228. package/dist/shared/bricks/props/types.js +1 -3
  229. package/dist/shared/bricks.d.ts +183 -179
  230. package/dist/shared/bricks.d.ts.map +1 -1
  231. package/dist/shared/bricks.js +271 -78
  232. package/dist/shared/bricks.js.map +1 -1
  233. package/dist/shared/context.d.ts +405 -398
  234. package/dist/shared/context.d.ts.map +1 -1
  235. package/dist/shared/context.js +22 -93
  236. package/dist/shared/context.js.map +1 -1
  237. package/dist/shared/datarecords/external/airtable/handler.d.ts +40 -20
  238. package/dist/shared/datarecords/external/airtable/handler.d.ts.map +1 -1
  239. package/dist/shared/datarecords/external/airtable/handler.js +242 -366
  240. package/dist/shared/datarecords/external/airtable/handler.js.map +1 -1
  241. package/dist/shared/datarecords/external/airtable/oauth/config.d.ts +14 -9
  242. package/dist/shared/datarecords/external/airtable/oauth/config.d.ts.map +1 -1
  243. package/dist/shared/datarecords/external/airtable/oauth/config.js +12 -15
  244. package/dist/shared/datarecords/external/airtable/oauth/config.js.map +1 -1
  245. package/dist/shared/datarecords/external/airtable/types.d.ts +39 -35
  246. package/dist/shared/datarecords/external/airtable/types.d.ts.map +1 -1
  247. package/dist/shared/datarecords/external/airtable/types.js +44 -13
  248. package/dist/shared/datarecords/external/airtable/types.js.map +1 -1
  249. package/dist/shared/datarecords/external/generic-webhook/handler.d.ts +6 -2
  250. package/dist/shared/datarecords/external/generic-webhook/handler.d.ts.map +1 -1
  251. package/dist/shared/datarecords/external/generic-webhook/handler.js +9 -14
  252. package/dist/shared/datarecords/external/generic-webhook/handler.js.map +1 -1
  253. package/dist/shared/datarecords/external/generic-webhook/options.d.ts +10 -5
  254. package/dist/shared/datarecords/external/generic-webhook/options.d.ts.map +1 -1
  255. package/dist/shared/datarecords/external/generic-webhook/options.js +14 -16
  256. package/dist/shared/datarecords/external/generic-webhook/options.js.map +1 -1
  257. package/dist/shared/datarecords/external/google/oauth/config.d.ts +28 -24
  258. package/dist/shared/datarecords/external/google/oauth/config.d.ts.map +1 -1
  259. package/dist/shared/datarecords/external/google/oauth/config.js +25 -34
  260. package/dist/shared/datarecords/external/google/oauth/config.js.map +1 -1
  261. package/dist/shared/datarecords/external/google/sheets/client.d.ts +11 -9
  262. package/dist/shared/datarecords/external/google/sheets/client.d.ts.map +1 -1
  263. package/dist/shared/datarecords/external/google/sheets/client.js +75 -8
  264. package/dist/shared/datarecords/external/google/sheets/client.js.map +1 -1
  265. package/dist/shared/datarecords/external/google/sheets/handler.d.ts +36 -18
  266. package/dist/shared/datarecords/external/google/sheets/handler.d.ts.map +1 -1
  267. package/dist/shared/datarecords/external/google/sheets/handler.js +103 -176
  268. package/dist/shared/datarecords/external/google/sheets/handler.js.map +1 -1
  269. package/dist/shared/datarecords/external/google/sheets/types.d.ts +12 -7
  270. package/dist/shared/datarecords/external/google/sheets/types.d.ts.map +1 -1
  271. package/dist/shared/datarecords/external/google/sheets/types.js +11 -8
  272. package/dist/shared/datarecords/external/google/sheets/types.js.map +1 -1
  273. package/dist/shared/datarecords/external/notion/handler.d.ts +48 -26
  274. package/dist/shared/datarecords/external/notion/handler.d.ts.map +1 -1
  275. package/dist/shared/datarecords/external/notion/handler.js +233 -386
  276. package/dist/shared/datarecords/external/notion/handler.js.map +1 -1
  277. package/dist/shared/datarecords/external/notion/oauth/config.d.ts +10 -5
  278. package/dist/shared/datarecords/external/notion/oauth/config.d.ts.map +1 -1
  279. package/dist/shared/datarecords/external/notion/oauth/config.js +8 -11
  280. package/dist/shared/datarecords/external/notion/oauth/config.js.map +1 -1
  281. package/dist/shared/datarecords/external/notion/types.d.ts +20 -15
  282. package/dist/shared/datarecords/external/notion/types.d.ts.map +1 -1
  283. package/dist/shared/datarecords/external/notion/types.js +14 -8
  284. package/dist/shared/datarecords/external/notion/types.js.map +1 -1
  285. package/dist/shared/datarecords/types.d.ts +24 -19
  286. package/dist/shared/datarecords/types.d.ts.map +1 -1
  287. package/dist/shared/datarecords/types.js +144 -16
  288. package/dist/shared/datarecords/types.js.map +1 -1
  289. package/dist/shared/datarecords.d.ts +6 -2
  290. package/dist/shared/datarecords.d.ts.map +1 -1
  291. package/dist/shared/datarecords.js +5 -9
  292. package/dist/shared/datarecords.js.map +1 -1
  293. package/dist/shared/datasources/external/facebook/posts/fetcher.d.ts +8 -5
  294. package/dist/shared/datasources/external/facebook/posts/fetcher.d.ts.map +1 -1
  295. package/dist/shared/datasources/external/facebook/posts/fetcher.js +38 -48
  296. package/dist/shared/datasources/external/facebook/posts/fetcher.js.map +1 -1
  297. package/dist/shared/datasources/external/facebook/posts/schema.d.ts +30 -25
  298. package/dist/shared/datasources/external/facebook/posts/schema.d.ts.map +1 -1
  299. package/dist/shared/datasources/external/facebook/posts/schema.js +29 -36
  300. package/dist/shared/datasources/external/facebook/posts/schema.js.map +1 -1
  301. package/dist/shared/datasources/external/http-json/fetcher.d.ts +7 -3
  302. package/dist/shared/datasources/external/http-json/fetcher.d.ts.map +1 -1
  303. package/dist/shared/datasources/external/http-json/fetcher.js +16 -28
  304. package/dist/shared/datasources/external/http-json/fetcher.js.map +1 -1
  305. package/dist/shared/datasources/external/http-json/options.d.ts +10 -5
  306. package/dist/shared/datasources/external/http-json/options.d.ts.map +1 -1
  307. package/dist/shared/datasources/external/http-json/options.js +8 -11
  308. package/dist/shared/datasources/external/http-json/options.js.map +1 -1
  309. package/dist/shared/datasources/external/http-json/schema.d.ts +9 -4
  310. package/dist/shared/datasources/external/http-json/schema.d.ts.map +1 -1
  311. package/dist/shared/datasources/external/http-json/schema.js +6 -10
  312. package/dist/shared/datasources/external/http-json/schema.js.map +1 -1
  313. package/dist/shared/datasources/external/instagram/feed/fetcher.d.ts +8 -5
  314. package/dist/shared/datasources/external/instagram/feed/fetcher.d.ts.map +1 -1
  315. package/dist/shared/datasources/external/instagram/feed/fetcher.js +26 -28
  316. package/dist/shared/datasources/external/instagram/feed/fetcher.js.map +1 -1
  317. package/dist/shared/datasources/external/instagram/feed/schema.d.ts +22 -17
  318. package/dist/shared/datasources/external/instagram/feed/schema.d.ts.map +1 -1
  319. package/dist/shared/datasources/external/instagram/feed/schema.js +26 -29
  320. package/dist/shared/datasources/external/instagram/feed/schema.js.map +1 -1
  321. package/dist/shared/datasources/external/mastodon/account/fetcher.d.ts +7 -4
  322. package/dist/shared/datasources/external/mastodon/account/fetcher.d.ts.map +1 -1
  323. package/dist/shared/datasources/external/mastodon/account/fetcher.js +10 -8
  324. package/dist/shared/datasources/external/mastodon/account/fetcher.js.map +1 -1
  325. package/dist/shared/datasources/external/mastodon/account/schema.d.ts +43 -38
  326. package/dist/shared/datasources/external/mastodon/account/schema.d.ts.map +1 -1
  327. package/dist/shared/datasources/external/mastodon/account/schema.js +42 -8
  328. package/dist/shared/datasources/external/mastodon/account/schema.js.map +1 -1
  329. package/dist/shared/datasources/external/mastodon/options.d.ts +9 -4
  330. package/dist/shared/datasources/external/mastodon/options.d.ts.map +1 -1
  331. package/dist/shared/datasources/external/mastodon/options.js +5 -10
  332. package/dist/shared/datasources/external/mastodon/options.js.map +1 -1
  333. package/dist/shared/datasources/external/mastodon/status/fetcher.d.ts +7 -4
  334. package/dist/shared/datasources/external/mastodon/status/fetcher.d.ts.map +1 -1
  335. package/dist/shared/datasources/external/mastodon/status/fetcher.js +20 -31
  336. package/dist/shared/datasources/external/mastodon/status/fetcher.js.map +1 -1
  337. package/dist/shared/datasources/external/mastodon/status/sample.array.d.ts +50 -47
  338. package/dist/shared/datasources/external/mastodon/status/sample.array.d.ts.map +1 -1
  339. package/dist/shared/datasources/external/mastodon/status/sample.array.js +54 -62
  340. package/dist/shared/datasources/external/mastodon/status/sample.array.js.map +1 -1
  341. package/dist/shared/datasources/external/mastodon/status/sample.single.d.ts +50 -47
  342. package/dist/shared/datasources/external/mastodon/status/sample.single.d.ts.map +1 -1
  343. package/dist/shared/datasources/external/mastodon/status/sample.single.js +54 -60
  344. package/dist/shared/datasources/external/mastodon/status/sample.single.js.map +1 -1
  345. package/dist/shared/datasources/external/mastodon/status/schema.d.ts +252 -247
  346. package/dist/shared/datasources/external/mastodon/status/schema.d.ts.map +1 -1
  347. package/dist/shared/datasources/external/mastodon/status/schema.js +108 -108
  348. package/dist/shared/datasources/external/mastodon/status/schema.js.map +1 -1
  349. package/dist/shared/datasources/external/meta/oauth/config.d.ts +29 -25
  350. package/dist/shared/datasources/external/meta/oauth/config.d.ts.map +1 -1
  351. package/dist/shared/datasources/external/meta/oauth/config.js +15 -20
  352. package/dist/shared/datasources/external/meta/oauth/config.js.map +1 -1
  353. package/dist/shared/datasources/external/meta/options.d.ts +9 -4
  354. package/dist/shared/datasources/external/meta/options.d.ts.map +1 -1
  355. package/dist/shared/datasources/external/meta/options.js +5 -10
  356. package/dist/shared/datasources/external/meta/options.js.map +1 -1
  357. package/dist/shared/datasources/external/rss/fetcher.d.ts +7 -4
  358. package/dist/shared/datasources/external/rss/fetcher.d.ts.map +1 -1
  359. package/dist/shared/datasources/external/rss/fetcher.js +14 -25
  360. package/dist/shared/datasources/external/rss/fetcher.js.map +1 -1
  361. package/dist/shared/datasources/external/rss/options.d.ts +9 -4
  362. package/dist/shared/datasources/external/rss/options.d.ts.map +1 -1
  363. package/dist/shared/datasources/external/rss/options.js +5 -10
  364. package/dist/shared/datasources/external/rss/options.js.map +1 -1
  365. package/dist/shared/datasources/external/rss/sample.js +25 -0
  366. package/dist/shared/datasources/external/rss/sample.js.map +1 -0
  367. package/dist/shared/datasources/external/rss/schema.d.ts +13 -8
  368. package/dist/shared/datasources/external/rss/schema.d.ts.map +1 -1
  369. package/dist/shared/datasources/external/rss/schema.js +30 -8
  370. package/dist/shared/datasources/external/rss/schema.js.map +1 -1
  371. package/dist/shared/datasources/external/threads/media/fetcher.d.ts +9 -5
  372. package/dist/shared/datasources/external/threads/media/fetcher.d.ts.map +1 -1
  373. package/dist/shared/datasources/external/threads/media/fetcher.js +37 -46
  374. package/dist/shared/datasources/external/threads/media/fetcher.js.map +1 -1
  375. package/dist/shared/datasources/external/threads/media/schema.d.ts +29 -24
  376. package/dist/shared/datasources/external/threads/media/schema.d.ts.map +1 -1
  377. package/dist/shared/datasources/external/threads/media/schema.js +32 -36
  378. package/dist/shared/datasources/external/threads/media/schema.js.map +1 -1
  379. package/dist/shared/datasources/external/tiktok/oauth/config.d.ts +31 -27
  380. package/dist/shared/datasources/external/tiktok/oauth/config.d.ts.map +1 -1
  381. package/dist/shared/datasources/external/tiktok/oauth/config.js +15 -18
  382. package/dist/shared/datasources/external/tiktok/oauth/config.js.map +1 -1
  383. package/dist/shared/datasources/external/tiktok/video/fetcher.d.ts +8 -5
  384. package/dist/shared/datasources/external/tiktok/video/fetcher.d.ts.map +1 -1
  385. package/dist/shared/datasources/external/tiktok/video/fetcher.js +31 -33
  386. package/dist/shared/datasources/external/tiktok/video/fetcher.js.map +1 -1
  387. package/dist/shared/datasources/external/tiktok/video/options.d.ts +10 -5
  388. package/dist/shared/datasources/external/tiktok/video/options.d.ts.map +1 -1
  389. package/dist/shared/datasources/external/tiktok/video/options.js +8 -11
  390. package/dist/shared/datasources/external/tiktok/video/options.js.map +1 -1
  391. package/dist/shared/datasources/external/tiktok/video/schema.d.ts +24 -19
  392. package/dist/shared/datasources/external/tiktok/video/schema.d.ts.map +1 -1
  393. package/dist/shared/datasources/external/tiktok/video/schema.js +23 -30
  394. package/dist/shared/datasources/external/tiktok/video/schema.js.map +1 -1
  395. package/dist/shared/datasources/external/youtube/list/fetcher.d.ts +8 -5
  396. package/dist/shared/datasources/external/youtube/list/fetcher.d.ts.map +1 -1
  397. package/dist/shared/datasources/external/youtube/list/fetcher.js +20 -31
  398. package/dist/shared/datasources/external/youtube/list/fetcher.js.map +1 -1
  399. package/dist/shared/datasources/external/youtube/list/options.d.ts +13 -8
  400. package/dist/shared/datasources/external/youtube/list/options.d.ts.map +1 -1
  401. package/dist/shared/datasources/external/youtube/list/options.js +11 -14
  402. package/dist/shared/datasources/external/youtube/list/options.js.map +1 -1
  403. package/dist/shared/datasources/external/youtube/list/sample.js +33 -0
  404. package/dist/shared/datasources/external/youtube/list/sample.js.map +1 -0
  405. package/dist/shared/datasources/external/youtube/list/schema.d.ts +33 -28
  406. package/dist/shared/datasources/external/youtube/list/schema.d.ts.map +1 -1
  407. package/dist/shared/datasources/external/youtube/list/schema.js +36 -8
  408. package/dist/shared/datasources/external/youtube/list/schema.js.map +1 -1
  409. package/dist/shared/datasources/external/youtube/oauth/config.d.ts +22 -18
  410. package/dist/shared/datasources/external/youtube/oauth/config.d.ts.map +1 -1
  411. package/dist/shared/datasources/external/youtube/oauth/config.js +15 -18
  412. package/dist/shared/datasources/external/youtube/oauth/config.js.map +1 -1
  413. package/dist/shared/datasources/fetcher.d.ts +10 -6
  414. package/dist/shared/datasources/fetcher.d.ts.map +1 -1
  415. package/dist/shared/datasources/fetcher.js +1 -3
  416. package/dist/shared/datasources/internal/blog/schema.d.ts +20 -15
  417. package/dist/shared/datasources/internal/blog/schema.d.ts.map +1 -1
  418. package/dist/shared/datasources/internal/blog/schema.js +59 -75
  419. package/dist/shared/datasources/internal/blog/schema.js.map +1 -1
  420. package/dist/shared/datasources/internal/changelog/schema.d.ts +15 -10
  421. package/dist/shared/datasources/internal/changelog/schema.d.ts.map +1 -1
  422. package/dist/shared/datasources/internal/changelog/schema.js +36 -51
  423. package/dist/shared/datasources/internal/changelog/schema.js.map +1 -1
  424. package/dist/shared/datasources/internal/contact-info/schema.d.ts +21 -16
  425. package/dist/shared/datasources/internal/contact-info/schema.d.ts.map +1 -1
  426. package/dist/shared/datasources/internal/contact-info/schema.js +21 -25
  427. package/dist/shared/datasources/internal/contact-info/schema.js.map +1 -1
  428. package/dist/shared/datasources/internal/cv/schema.d.ts +71 -66
  429. package/dist/shared/datasources/internal/cv/schema.d.ts.map +1 -1
  430. package/dist/shared/datasources/internal/cv/schema.js +155 -222
  431. package/dist/shared/datasources/internal/cv/schema.js.map +1 -1
  432. package/dist/shared/datasources/internal/faq/schema.d.ts +13 -8
  433. package/dist/shared/datasources/internal/faq/schema.d.ts.map +1 -1
  434. package/dist/shared/datasources/internal/faq/schema.js +20 -30
  435. package/dist/shared/datasources/internal/faq/schema.js.map +1 -1
  436. package/dist/shared/datasources/internal/job-board/schema.d.ts +86 -81
  437. package/dist/shared/datasources/internal/job-board/schema.d.ts.map +1 -1
  438. package/dist/shared/datasources/internal/job-board/schema.js +194 -224
  439. package/dist/shared/datasources/internal/job-board/schema.js.map +1 -1
  440. package/dist/shared/datasources/internal/links/schema.d.ts +12 -7
  441. package/dist/shared/datasources/internal/links/schema.d.ts.map +1 -1
  442. package/dist/shared/datasources/internal/links/schema.js +20 -8
  443. package/dist/shared/datasources/internal/links/schema.js.map +1 -1
  444. package/dist/shared/datasources/internal/recipes/schema.d.ts +19 -14
  445. package/dist/shared/datasources/internal/recipes/schema.d.ts.map +1 -1
  446. package/dist/shared/datasources/internal/recipes/schema.js +23 -45
  447. package/dist/shared/datasources/internal/recipes/schema.js.map +1 -1
  448. package/dist/shared/datasources/internal/restaurant/schema.d.ts +82 -77
  449. package/dist/shared/datasources/internal/restaurant/schema.d.ts.map +1 -1
  450. package/dist/shared/datasources/internal/restaurant/schema.js +154 -226
  451. package/dist/shared/datasources/internal/restaurant/schema.js.map +1 -1
  452. package/dist/shared/datasources/samples.d.ts +7 -3
  453. package/dist/shared/datasources/samples.d.ts.map +1 -1
  454. package/dist/shared/datasources/samples.js +9 -69
  455. package/dist/shared/datasources/samples.js.map +1 -1
  456. package/dist/shared/datasources/schemas.d.ts +43 -38
  457. package/dist/shared/datasources/schemas.d.ts.map +1 -1
  458. package/dist/shared/datasources/schemas.js +10 -34
  459. package/dist/shared/datasources/schemas.js.map +1 -1
  460. package/dist/shared/datasources/types.d.ts +142 -138
  461. package/dist/shared/datasources/types.d.ts.map +1 -1
  462. package/dist/shared/datasources/types.js +384 -20
  463. package/dist/shared/datasources/types.js.map +1 -1
  464. package/dist/shared/datasources/utils.d.ts +8 -4
  465. package/dist/shared/datasources/utils.d.ts.map +1 -1
  466. package/dist/shared/datasources/utils.js +15 -12
  467. package/dist/shared/datasources/utils.js.map +1 -1
  468. package/dist/shared/datasources.d.ts +22 -9
  469. package/dist/shared/datasources.d.ts.map +1 -1
  470. package/dist/shared/datasources.js +65 -44
  471. package/dist/shared/datasources.js.map +1 -1
  472. package/dist/shared/env.d.ts +25 -21
  473. package/dist/shared/env.d.ts.map +1 -1
  474. package/dist/shared/env.js +1 -3
  475. package/dist/shared/errors.d.ts +2 -2
  476. package/dist/shared/errors.js +2 -9
  477. package/dist/shared/images.d.ts +21 -16
  478. package/dist/shared/images.d.ts.map +1 -1
  479. package/dist/shared/images.js +24 -11
  480. package/dist/shared/images.js.map +1 -1
  481. package/dist/shared/index.d.ts +4 -2
  482. package/dist/shared/index.d.ts.map +1 -1
  483. package/dist/shared/index.js +4 -10
  484. package/dist/shared/index.js.map +1 -1
  485. package/dist/shared/layout-constants.d.ts +8 -5
  486. package/dist/shared/layout-constants.d.ts.map +1 -1
  487. package/dist/shared/layout-constants.js +15 -15
  488. package/dist/shared/layout-constants.js.map +1 -1
  489. package/dist/shared/manifest.d.ts +17 -12
  490. package/dist/shared/manifest.d.ts.map +1 -1
  491. package/dist/shared/manifest.js +26 -52
  492. package/dist/shared/manifest.js.map +1 -1
  493. package/dist/shared/oauth.d.ts +14 -9
  494. package/dist/shared/oauth.d.ts.map +1 -1
  495. package/dist/shared/oauth.js +14 -9
  496. package/dist/shared/oauth.js.map +1 -1
  497. package/dist/shared/page.d.ts +250 -243
  498. package/dist/shared/page.d.ts.map +1 -1
  499. package/dist/shared/page.js +29 -62
  500. package/dist/shared/page.js.map +1 -1
  501. package/dist/shared/prompt.d.ts +8 -3
  502. package/dist/shared/prompt.d.ts.map +1 -1
  503. package/dist/shared/prompt.js +10 -8
  504. package/dist/shared/prompt.js.map +1 -1
  505. package/dist/shared/responsive.d.ts +8 -3
  506. package/dist/shared/responsive.d.ts.map +1 -1
  507. package/dist/shared/responsive.js +5 -10
  508. package/dist/shared/responsive.js.map +1 -1
  509. package/dist/shared/site.d.ts +629 -622
  510. package/dist/shared/site.d.ts.map +1 -1
  511. package/dist/shared/site.js +56 -70
  512. package/dist/shared/site.js.map +1 -1
  513. package/dist/shared/sitemap.d.ts +21 -14
  514. package/dist/shared/sitemap.d.ts.map +1 -1
  515. package/dist/shared/sitemap.js +29 -63
  516. package/dist/shared/sitemap.js.map +1 -1
  517. package/dist/shared/social-icons.d.ts +6 -3
  518. package/dist/shared/social-icons.d.ts.map +1 -1
  519. package/dist/shared/social-icons.js +309 -313
  520. package/dist/shared/social-icons.js.map +1 -1
  521. package/dist/shared/theme.d.ts +83 -78
  522. package/dist/shared/theme.d.ts.map +1 -1
  523. package/dist/shared/theme.js +261 -18
  524. package/dist/shared/theme.js.map +1 -1
  525. package/dist/shared/themes/color-system.d.ts +16 -12
  526. package/dist/shared/themes/color-system.d.ts.map +1 -1
  527. package/dist/shared/themes/color-system.js +81 -89
  528. package/dist/shared/themes/color-system.js.map +1 -1
  529. package/dist/shared/utils/canvas-data-uri.d.ts +4 -1
  530. package/dist/shared/utils/canvas-data-uri.d.ts.map +1 -1
  531. package/dist/shared/utils/canvas-data-uri.js +4 -8
  532. package/dist/shared/utils/canvas-data-uri.js.map +1 -1
  533. package/dist/shared/utils/invariant.d.ts +4 -1
  534. package/dist/shared/utils/invariant.d.ts.map +1 -1
  535. package/dist/shared/utils/invariant.js +10 -8
  536. package/dist/shared/utils/invariant.js.map +1 -1
  537. package/dist/shared/utils/json-date.d.ts +9 -4
  538. package/dist/shared/utils/json-date.d.ts.map +1 -1
  539. package/dist/shared/utils/json-date.js +6 -8
  540. package/dist/shared/utils/json-date.js.map +1 -1
  541. package/dist/shared/utils/llm.d.ts +7 -2
  542. package/dist/shared/utils/llm.d.ts.map +1 -1
  543. package/dist/shared/utils/llm.js +57 -8
  544. package/dist/shared/utils/llm.js.map +1 -1
  545. package/dist/shared/utils/merge.d.ts +4 -1
  546. package/dist/shared/utils/merge.d.ts.map +1 -1
  547. package/dist/shared/utils/merge.js +11 -8
  548. package/dist/shared/utils/merge.js.map +1 -1
  549. package/dist/shared/utils/object-hash.d.ts +4 -1
  550. package/dist/shared/utils/object-hash.d.ts.map +1 -1
  551. package/dist/shared/utils/object-hash.js +8 -13
  552. package/dist/shared/utils/object-hash.js.map +1 -1
  553. package/dist/shared/utils/schema.d.ts +13 -10
  554. package/dist/shared/utils/schema.d.ts.map +1 -1
  555. package/dist/shared/utils/schema.js +91 -14
  556. package/dist/shared/utils/schema.js.map +1 -1
  557. package/dist/shared/utils/string-enum.d.ts +13 -8
  558. package/dist/shared/utils/string-enum.d.ts.map +1 -1
  559. package/dist/shared/utils/string-enum.js +18 -8
  560. package/dist/shared/utils/string-enum.js.map +1 -1
  561. package/dist/shared/utils/try-catch.d.ts +4 -2
  562. package/dist/shared/utils/try-catch.d.ts.map +1 -1
  563. package/dist/shared/utils/try-catch.js +12 -13
  564. package/dist/shared/utils/try-catch.js.map +1 -1
  565. package/package.json +10 -20
  566. package/src/shared/ai/schemas.ts +5 -3
  567. package/src/shared/attributes.ts +10 -6
  568. package/src/shared/bricks/manifests/card.manifest.ts +2 -5
  569. package/src/shared/bricks/manifests/image.manifest.ts +1 -5
  570. package/src/shared/bricks/props/color.ts +3 -2
  571. package/src/shared/bricks/props/dynamic.ts +4 -1
  572. package/src/shared/bricks/props/image.ts +2 -3
  573. package/src/shared/bricks.ts +3 -2
  574. package/src/shared/datarecords/types.ts +41 -33
  575. package/src/shared/datasources/external/rss/fetcher.ts +0 -6
  576. package/src/shared/datasources.ts +13 -5
  577. package/src/shared/prompt.ts +1 -1
  578. package/src/shared/site.ts +2 -1
  579. package/src/shared/sitemap.ts +7 -0
  580. package/src/shared/utils/schema.ts +12 -43
  581. package/src/shared/utils/tests/schema.test.ts +53 -28
  582. package/dist/shared/ai/types.js.map +0 -1
  583. package/dist/shared/ajv.d.ts +0 -7
  584. package/dist/shared/ajv.d.ts.map +0 -1
  585. package/dist/shared/ajv.js +0 -6866
  586. package/dist/shared/ajv.js.map +0 -1
  587. package/dist/shared/analytics/types.js.map +0 -1
  588. package/dist/shared/bricks/manifests/_types.js.map +0 -1
  589. package/dist/shared/bricks/manifests/tests/header.manifest.test.d.ts +0 -2
  590. package/dist/shared/bricks/manifests/tests/header.manifest.test.d.ts.map +0 -1
  591. package/dist/shared/bricks/props/tests/background.test.d.ts +0 -2
  592. package/dist/shared/bricks/props/tests/background.test.d.ts.map +0 -1
  593. package/dist/shared/bricks/props/tests/border.test.d.ts +0 -2
  594. package/dist/shared/bricks/props/tests/border.test.d.ts.map +0 -1
  595. package/dist/shared/bricks/props/tests/effects.test.d.ts +0 -2
  596. package/dist/shared/bricks/props/tests/effects.test.d.ts.map +0 -1
  597. package/dist/shared/bricks/props/tests/helpers.test.d.ts +0 -2
  598. package/dist/shared/bricks/props/tests/helpers.test.d.ts.map +0 -1
  599. package/dist/shared/bricks/props/tests/image.test.d.ts +0 -2
  600. package/dist/shared/bricks/props/tests/image.test.d.ts.map +0 -1
  601. package/dist/shared/bricks/props/tests/string.test.d.ts +0 -2
  602. package/dist/shared/bricks/props/tests/string.test.d.ts.map +0 -1
  603. package/dist/shared/bricks/props/types.js.map +0 -1
  604. package/dist/shared/chunk-2BPYOTKA.js +0 -21
  605. package/dist/shared/chunk-2BPYOTKA.js.map +0 -1
  606. package/dist/shared/chunk-2EOCK66Z.js +0 -19
  607. package/dist/shared/chunk-2EOCK66Z.js.map +0 -1
  608. package/dist/shared/chunk-2U5U3CCJ.js +0 -90
  609. package/dist/shared/chunk-2U5U3CCJ.js.map +0 -1
  610. package/dist/shared/chunk-2UEPTT5J.js +0 -67
  611. package/dist/shared/chunk-2UEPTT5J.js.map +0 -1
  612. package/dist/shared/chunk-2Z5WOCFS.js +0 -126
  613. package/dist/shared/chunk-2Z5WOCFS.js.map +0 -1
  614. package/dist/shared/chunk-34IUWNRX.js +0 -346
  615. package/dist/shared/chunk-34IUWNRX.js.map +0 -1
  616. package/dist/shared/chunk-3ZDN5BWN.js +0 -18
  617. package/dist/shared/chunk-3ZDN5BWN.js.map +0 -1
  618. package/dist/shared/chunk-55C6MTX2.js +0 -21
  619. package/dist/shared/chunk-55C6MTX2.js.map +0 -1
  620. package/dist/shared/chunk-57NRTXRA.js +0 -309
  621. package/dist/shared/chunk-57NRTXRA.js.map +0 -1
  622. package/dist/shared/chunk-5HJT5NJ3.js +0 -422
  623. package/dist/shared/chunk-5HJT5NJ3.js.map +0 -1
  624. package/dist/shared/chunk-5J4Y43RM.js +0 -388
  625. package/dist/shared/chunk-5J4Y43RM.js.map +0 -1
  626. package/dist/shared/chunk-5OVOXUFX.js +0 -61
  627. package/dist/shared/chunk-5OVOXUFX.js.map +0 -1
  628. package/dist/shared/chunk-5RCC2STG.js +0 -58
  629. package/dist/shared/chunk-5RCC2STG.js.map +0 -1
  630. package/dist/shared/chunk-5SNSUC6Q.js +0 -364
  631. package/dist/shared/chunk-5SNSUC6Q.js.map +0 -1
  632. package/dist/shared/chunk-6TVVKUWM.js +0 -15
  633. package/dist/shared/chunk-6TVVKUWM.js.map +0 -1
  634. package/dist/shared/chunk-6WIMWLCJ.js +0 -17
  635. package/dist/shared/chunk-6WIMWLCJ.js.map +0 -1
  636. package/dist/shared/chunk-7LAWWRU7.js +0 -21
  637. package/dist/shared/chunk-7LAWWRU7.js.map +0 -1
  638. package/dist/shared/chunk-B5T2LFV2.js +0 -494
  639. package/dist/shared/chunk-B5T2LFV2.js.map +0 -1
  640. package/dist/shared/chunk-BHARJBEK.js +0 -27
  641. package/dist/shared/chunk-BHARJBEK.js.map +0 -1
  642. package/dist/shared/chunk-DCM4732T.js +0 -146
  643. package/dist/shared/chunk-DCM4732T.js.map +0 -1
  644. package/dist/shared/chunk-E3ZW57HF.js +0 -843
  645. package/dist/shared/chunk-E3ZW57HF.js.map +0 -1
  646. package/dist/shared/chunk-EID5HPF3.js +0 -63
  647. package/dist/shared/chunk-EID5HPF3.js.map +0 -1
  648. package/dist/shared/chunk-EMF5TCPX.js +0 -389
  649. package/dist/shared/chunk-EMF5TCPX.js.map +0 -1
  650. package/dist/shared/chunk-EUFVTHAG.js +0 -33
  651. package/dist/shared/chunk-EUFVTHAG.js.map +0 -1
  652. package/dist/shared/chunk-FC52EHCC.js +0 -104
  653. package/dist/shared/chunk-FC52EHCC.js.map +0 -1
  654. package/dist/shared/chunk-FD7YYFRI.js +0 -225
  655. package/dist/shared/chunk-FD7YYFRI.js.map +0 -1
  656. package/dist/shared/chunk-FVV27R73.js +0 -269
  657. package/dist/shared/chunk-FVV27R73.js.map +0 -1
  658. package/dist/shared/chunk-FYGFB5U5.js +0 -57
  659. package/dist/shared/chunk-FYGFB5U5.js.map +0 -1
  660. package/dist/shared/chunk-GDYCCB3B.js +0 -22
  661. package/dist/shared/chunk-GDYCCB3B.js.map +0 -1
  662. package/dist/shared/chunk-GLV6QIIM.js +0 -41
  663. package/dist/shared/chunk-GLV6QIIM.js.map +0 -1
  664. package/dist/shared/chunk-GNTJT7MR.js +0 -56
  665. package/dist/shared/chunk-GNTJT7MR.js.map +0 -1
  666. package/dist/shared/chunk-HHUFGV7J.js +0 -259
  667. package/dist/shared/chunk-HHUFGV7J.js.map +0 -1
  668. package/dist/shared/chunk-HPCCD6V5.js +0 -17
  669. package/dist/shared/chunk-HPCCD6V5.js.map +0 -1
  670. package/dist/shared/chunk-IEMCCHM4.js +0 -389
  671. package/dist/shared/chunk-IEMCCHM4.js.map +0 -1
  672. package/dist/shared/chunk-IMDOF55E.js +0 -137
  673. package/dist/shared/chunk-IMDOF55E.js.map +0 -1
  674. package/dist/shared/chunk-IPWYNE6Y.js +0 -213
  675. package/dist/shared/chunk-IPWYNE6Y.js.map +0 -1
  676. package/dist/shared/chunk-J6R3GSKS.js +0 -386
  677. package/dist/shared/chunk-J6R3GSKS.js.map +0 -1
  678. package/dist/shared/chunk-KNREHAPN.js +0 -13
  679. package/dist/shared/chunk-KNREHAPN.js.map +0 -1
  680. package/dist/shared/chunk-KRODRZNS.js +0 -440
  681. package/dist/shared/chunk-KRODRZNS.js.map +0 -1
  682. package/dist/shared/chunk-KT7SSWMM.js +0 -24
  683. package/dist/shared/chunk-KT7SSWMM.js.map +0 -1
  684. package/dist/shared/chunk-KTA7XES3.js +0 -168
  685. package/dist/shared/chunk-KTA7XES3.js.map +0 -1
  686. package/dist/shared/chunk-L4W4B2RQ.js +0 -174
  687. package/dist/shared/chunk-L4W4B2RQ.js.map +0 -1
  688. package/dist/shared/chunk-MO6CRLQA.js +0 -73
  689. package/dist/shared/chunk-MO6CRLQA.js.map +0 -1
  690. package/dist/shared/chunk-NTP6BKRU.js +0 -516
  691. package/dist/shared/chunk-NTP6BKRU.js.map +0 -1
  692. package/dist/shared/chunk-O53V22BK.js +0 -469
  693. package/dist/shared/chunk-O53V22BK.js.map +0 -1
  694. package/dist/shared/chunk-O5PQISX4.js +0 -51
  695. package/dist/shared/chunk-O5PQISX4.js.map +0 -1
  696. package/dist/shared/chunk-OJ6KL7FU.js +0 -32
  697. package/dist/shared/chunk-OJ6KL7FU.js.map +0 -1
  698. package/dist/shared/chunk-OJP4HMJT.js +0 -22
  699. package/dist/shared/chunk-OJP4HMJT.js.map +0 -1
  700. package/dist/shared/chunk-ORIUCOED.js +0 -129
  701. package/dist/shared/chunk-ORIUCOED.js.map +0 -1
  702. package/dist/shared/chunk-OSJ6KGPX.js +0 -16
  703. package/dist/shared/chunk-OSJ6KGPX.js.map +0 -1
  704. package/dist/shared/chunk-OXYXZHP2.js +0 -48
  705. package/dist/shared/chunk-OXYXZHP2.js.map +0 -1
  706. package/dist/shared/chunk-PFZMRSHJ.js +0 -616
  707. package/dist/shared/chunk-PFZMRSHJ.js.map +0 -1
  708. package/dist/shared/chunk-QHKOAIOK.js +0 -243
  709. package/dist/shared/chunk-QHKOAIOK.js.map +0 -1
  710. package/dist/shared/chunk-QLQVDZIL.js +0 -11
  711. package/dist/shared/chunk-QLQVDZIL.js.map +0 -1
  712. package/dist/shared/chunk-RDOCVLCF.js +0 -422
  713. package/dist/shared/chunk-RDOCVLCF.js.map +0 -1
  714. package/dist/shared/chunk-RFH7PEVS.js +0 -38
  715. package/dist/shared/chunk-RFH7PEVS.js.map +0 -1
  716. package/dist/shared/chunk-T3UPW5OW.js +0 -79
  717. package/dist/shared/chunk-T3UPW5OW.js.map +0 -1
  718. package/dist/shared/chunk-TGKNA2JS.js +0 -847
  719. package/dist/shared/chunk-TGKNA2JS.js.map +0 -1
  720. package/dist/shared/chunk-TKMWY2VN.js +0 -18
  721. package/dist/shared/chunk-TKMWY2VN.js.map +0 -1
  722. package/dist/shared/chunk-TZ6X7ZM5.js +0 -158
  723. package/dist/shared/chunk-TZ6X7ZM5.js.map +0 -1
  724. package/dist/shared/chunk-UC75KRLX.js +0 -67
  725. package/dist/shared/chunk-UC75KRLX.js.map +0 -1
  726. package/dist/shared/chunk-VMIJ6MG5.js +0 -368
  727. package/dist/shared/chunk-VMIJ6MG5.js.map +0 -1
  728. package/dist/shared/chunk-VYA2FCTY.js +0 -83
  729. package/dist/shared/chunk-VYA2FCTY.js.map +0 -1
  730. package/dist/shared/chunk-WPZV3LYL.js +0 -24
  731. package/dist/shared/chunk-WPZV3LYL.js.map +0 -1
  732. package/dist/shared/chunk-XCWMZVF5.js +0 -89
  733. package/dist/shared/chunk-XCWMZVF5.js.map +0 -1
  734. package/dist/shared/chunk-XCZVD5H6.js +0 -13
  735. package/dist/shared/chunk-XCZVD5H6.js.map +0 -1
  736. package/dist/shared/chunk-XFZQGRRL.js +0 -101
  737. package/dist/shared/chunk-XFZQGRRL.js.map +0 -1
  738. package/dist/shared/chunk-XYWSIMZ6.js +0 -59
  739. package/dist/shared/chunk-XYWSIMZ6.js.map +0 -1
  740. package/dist/shared/chunk-XZ6WJZHN.js +0 -10
  741. package/dist/shared/chunk-XZ6WJZHN.js.map +0 -1
  742. package/dist/shared/chunk-ZEFOWKYP.js +0 -44
  743. package/dist/shared/chunk-ZEFOWKYP.js.map +0 -1
  744. package/dist/shared/chunk-ZGQ3AQBG.js +0 -33
  745. package/dist/shared/chunk-ZGQ3AQBG.js.map +0 -1
  746. package/dist/shared/chunk-ZRBTAC3G.js +0 -53
  747. package/dist/shared/chunk-ZRBTAC3G.js.map +0 -1
  748. package/dist/shared/chunk-ZYQZUWF7.js +0 -537
  749. package/dist/shared/chunk-ZYQZUWF7.js.map +0 -1
  750. package/dist/shared/chunk-ZZVYD4BG.js +0 -41
  751. package/dist/shared/chunk-ZZVYD4BG.js.map +0 -1
  752. package/dist/shared/datasources/external/facebook/posts/sample.d.ts +0 -26
  753. package/dist/shared/datasources/external/facebook/posts/sample.d.ts.map +0 -1
  754. package/dist/shared/datasources/external/facebook/posts/tests/fetcher.test.d.ts +0 -2
  755. package/dist/shared/datasources/external/facebook/posts/tests/fetcher.test.d.ts.map +0 -1
  756. package/dist/shared/datasources/external/http-json/tests/fetcher.test.d.ts +0 -2
  757. package/dist/shared/datasources/external/http-json/tests/fetcher.test.d.ts.map +0 -1
  758. package/dist/shared/datasources/external/instagram/feed/sample.d.ts +0 -3
  759. package/dist/shared/datasources/external/instagram/feed/sample.d.ts.map +0 -1
  760. package/dist/shared/datasources/external/instagram/feed/tests/fetcher.test.d.ts +0 -2
  761. package/dist/shared/datasources/external/instagram/feed/tests/fetcher.test.d.ts.map +0 -1
  762. package/dist/shared/datasources/external/mastodon/account/sample.d.ts +0 -30
  763. package/dist/shared/datasources/external/mastodon/account/sample.d.ts.map +0 -1
  764. package/dist/shared/datasources/external/mastodon/account/tests/fetcher.test.d.ts +0 -2
  765. package/dist/shared/datasources/external/mastodon/account/tests/fetcher.test.d.ts.map +0 -1
  766. package/dist/shared/datasources/external/mastodon/status/tests/fetcher.test.d.ts +0 -2
  767. package/dist/shared/datasources/external/mastodon/status/tests/fetcher.test.d.ts.map +0 -1
  768. package/dist/shared/datasources/external/rss/sample.d.ts +0 -3
  769. package/dist/shared/datasources/external/rss/sample.d.ts.map +0 -1
  770. package/dist/shared/datasources/external/threads/media/sample.d.ts +0 -40
  771. package/dist/shared/datasources/external/threads/media/sample.d.ts.map +0 -1
  772. package/dist/shared/datasources/external/tiktok/video/sample.d.ts +0 -15
  773. package/dist/shared/datasources/external/tiktok/video/sample.d.ts.map +0 -1
  774. package/dist/shared/datasources/external/youtube/list/sample.d.ts +0 -29
  775. package/dist/shared/datasources/external/youtube/list/sample.d.ts.map +0 -1
  776. package/dist/shared/datasources/fetcher.js.map +0 -1
  777. package/dist/shared/env.js.map +0 -1
  778. package/dist/shared/errors.d.ts.map +0 -1
  779. package/dist/shared/errors.js.map +0 -1
  780. package/dist/shared/tests/attributes.test.d.ts +0 -2
  781. package/dist/shared/tests/attributes.test.d.ts.map +0 -1
  782. package/dist/shared/themes/tests/color-system.test.d.ts +0 -2
  783. package/dist/shared/themes/tests/color-system.test.d.ts.map +0 -1
  784. package/dist/shared/utils/tests/schema.test.d.ts +0 -2
  785. package/dist/shared/utils/tests/schema.test.d.ts.map +0 -1
  786. package/src/shared/ajv.ts +0 -123
@@ -1,21 +1,264 @@
1
- /*! Upstart.gg - Copyright (C) 2024 Flippable - https://github.com/upstart-gg/upstart/blob/main/LICENSE */
1
+ import { StringEnum } from "./utils/string-enum.js";
2
+ import { Type } from "@sinclair/typebox";
3
+ import chroma from "chroma-js";
4
+ import { colorPalette } from "@upstart.gg/style-system/colors";
2
5
 
3
- import {
4
- defaultTheme,
5
- fontStacks,
6
- isDefaultTheme,
7
- processTheme,
8
- themeSchema,
9
- themesArray
10
- } from "./chunk-FD7YYFRI.js";
11
- import "./chunk-GDYCCB3B.js";
12
- import "./chunk-ZGQ3AQBG.js";
13
- export {
14
- defaultTheme,
15
- fontStacks,
16
- isDefaultTheme,
17
- processTheme,
18
- themeSchema,
19
- themesArray
6
+ //#region src/shared/theme.ts
7
+ const fontStacks = [
8
+ {
9
+ value: "system-ui",
10
+ label: "System UI"
11
+ },
12
+ {
13
+ value: "transitional",
14
+ label: "Transitional"
15
+ },
16
+ {
17
+ value: "old-style",
18
+ label: "Old style"
19
+ },
20
+ {
21
+ value: "humanist",
22
+ label: "Humanist"
23
+ },
24
+ {
25
+ value: "geometric-humanist",
26
+ label: "Geometric humanist"
27
+ },
28
+ {
29
+ value: "classical-humanist",
30
+ label: "Classical humanist"
31
+ },
32
+ {
33
+ value: "neo-grotesque",
34
+ label: "Neo-grotesque"
35
+ },
36
+ {
37
+ value: "monospace-slab-serif",
38
+ label: "Monospace slab serif"
39
+ },
40
+ {
41
+ value: "monospace-code",
42
+ label: "Monospace code"
43
+ },
44
+ {
45
+ value: "industrial",
46
+ label: "Industrial"
47
+ },
48
+ {
49
+ value: "rounded-sans",
50
+ label: "Rounded sans"
51
+ },
52
+ {
53
+ value: "slab-serif",
54
+ label: "Slab serif"
55
+ },
56
+ {
57
+ value: "antique",
58
+ label: "Antique"
59
+ },
60
+ {
61
+ value: "didone",
62
+ label: "Didone"
63
+ },
64
+ {
65
+ value: "handwritten",
66
+ label: "Handwritten"
67
+ }
68
+ ];
69
+ const headingFont = Type.Object({
70
+ type: StringEnum([
71
+ "stack",
72
+ "theme",
73
+ "google"
74
+ ], {
75
+ title: "Type of font",
76
+ description: "The type of font. Can be a font stack, a theme font or a Google font"
77
+ }),
78
+ family: Type.String({
79
+ title: "Family",
80
+ description: "The font family (eg. the name of the font)"
81
+ })
82
+ }, {
83
+ title: "Headings font",
84
+ description: "Used for titles and headings"
85
+ });
86
+ const bodyFont = Type.Object({
87
+ type: StringEnum([
88
+ "stack",
89
+ "theme",
90
+ "google"
91
+ ], {
92
+ title: "Type of font",
93
+ description: "The type of font. Can be a font stack, a theme font or a Google font"
94
+ }),
95
+ family: Type.String({
96
+ title: "Family",
97
+ description: "The font family (eg. the name of the font)"
98
+ })
99
+ }, {
100
+ title: "Body font",
101
+ description: "Used for paragraphs and body text"
102
+ });
103
+ const themeSchema = Type.Object({
104
+ id: Type.String({
105
+ title: "ID",
106
+ description: "The unique identifier of the theme"
107
+ }),
108
+ name: Type.String({
109
+ title: "Name",
110
+ description: "The name of the theme"
111
+ }),
112
+ description: Type.String({
113
+ title: "Description",
114
+ description: "The description of the theme"
115
+ }),
116
+ tags: Type.Array(Type.String({ title: "Tag" }), {
117
+ title: "Tags",
118
+ description: "The tags of the theme"
119
+ }),
120
+ browserColorScheme: StringEnum(["light", "dark"], {
121
+ title: "Browser scheme",
122
+ description: "Color of browser-provided UI. Either 'light' or 'dark'"
123
+ }),
124
+ colors: Type.Object({
125
+ primary: Type.String({
126
+ title: "Primary",
127
+ description: "The brand's primary color.",
128
+ "ai:instructions": "Use oklch() css notation.",
129
+ examples: ["oklch(0.62 0.241 354.308)"]
130
+ }),
131
+ secondary: Type.String({
132
+ title: "Secondary",
133
+ description: "The brand's second most used color",
134
+ "ai:instructions": "Use oklch() css notation.",
135
+ examples: ["oklch(0.65 0.22 185)"]
136
+ }),
137
+ accent: Type.String({
138
+ title: "Accent",
139
+ description: "The brand's least used color",
140
+ "ai:instructions": "Use oklch() css notation.",
141
+ examples: ["oklch(0.82 0.18 85)"]
142
+ }),
143
+ neutral: Type.String({
144
+ title: "Neutral",
145
+ description: "The base neutral color",
146
+ "ai:instructions": "Use oklch() css notation.",
147
+ examples: ["oklch(0.38 0.08 280)"]
148
+ }),
149
+ base100: Type.String({
150
+ title: "Base",
151
+ description: "Base surface color of page, used for blank backgrounds. Should be white or near-white for light color-schemes, and black or near-black for dark color-schemes.",
152
+ "ai:instructions": "Use oklab() css notation.",
153
+ examples: ["oklch(0.99 0.008 92)"]
154
+ }),
155
+ base200: Type.String({
156
+ title: "Base 2",
157
+ description: "Should be darker than base 100 but still light for light color-schemes, and lighter but still dark for dark color-schemes.",
158
+ "ai:instructions": "Use oklab() css notation.",
159
+ examples: ["oklch(0.97 0.01 85)"]
160
+ }),
161
+ base300: Type.String({
162
+ title: "Base 3",
163
+ description: "3rd base color, should be darker than base 200 for light color-schemes, and lighter than base 200 for dark color-schemes.",
164
+ "ai:instructions": "Use oklab() css notation.",
165
+ examples: ["oklch(0.95 0.02 80)"]
166
+ })
167
+ }, {
168
+ title: "Theme base colors",
169
+ description: "The base colors of the theme. Each theme must declare all these colors"
170
+ }),
171
+ typography: Type.Object({
172
+ base: Type.Number({
173
+ title: "Base font size",
174
+ description: "The base font size in pixels. It is safe to keep it as is.",
175
+ "ai:instructions": "A safe value is 16."
176
+ }),
177
+ heading: headingFont,
178
+ body: bodyFont,
179
+ alternatives: Type.Array(Type.Object({
180
+ body: bodyFont,
181
+ heading: headingFont
182
+ }), {
183
+ title: "Alternative fonts",
184
+ description: "Alternative fonts that can be suggested to the user. Takes the same shape"
185
+ })
186
+ })
187
+ });
188
+ const themesArray = Type.Array(themeSchema);
189
+ const defaultTheme = {
190
+ id: "_default_",
191
+ name: "default",
192
+ description: "Default Upstart theme",
193
+ tags: [
194
+ "gradient",
195
+ "vibrant",
196
+ "modern",
197
+ "creative",
198
+ "dynamic",
199
+ "artistic",
200
+ "bold"
201
+ ],
202
+ browserColorScheme: "light",
203
+ colors: {
204
+ base100: "#FFF",
205
+ base200: "#F5F0E1",
206
+ base300: "#F0E3D2",
207
+ primary: "#FF6F20",
208
+ secondary: "#00BFFF",
209
+ accent: "#A4D65E",
210
+ neutral: "#B0B0B0"
211
+ },
212
+ typography: {
213
+ base: 16,
214
+ heading: {
215
+ type: "stack",
216
+ family: "system-ui"
217
+ },
218
+ body: {
219
+ type: "stack",
220
+ family: "system-ui"
221
+ },
222
+ alternatives: []
223
+ }
20
224
  };
225
+ function isDefaultTheme(theme) {
226
+ return theme.id === defaultTheme.id;
227
+ }
228
+ /**
229
+ * Process a theme, eventually fixing colors and translating them to oklch notations
230
+ * @param theme
231
+ */
232
+ function processTheme(theme) {
233
+ return {
234
+ ...theme,
235
+ typography: {
236
+ ...theme.typography,
237
+ base: 16
238
+ },
239
+ colors: Object.entries(theme.colors).reduce((acc, [key, value]) => {
240
+ const fixedColor = fixOklchColor(value);
241
+ return {
242
+ ...acc,
243
+ [key]: fixedColor
244
+ };
245
+ }, {})
246
+ };
247
+ }
248
+ function fixOklchColor(color) {
249
+ if (chroma.valid(color)) return color;
250
+ if (/ok(lch|lab)\(([^)]+)\)/.test(color)) {
251
+ const withoutComma = color.replace(/,/g, " ");
252
+ if (chroma.valid(withoutComma)) return withoutComma;
253
+ }
254
+ if (/^([a-z]+)-([0-9]+)$/.test(color)) {
255
+ const [name, shade] = color.split("-");
256
+ const twColor = colorPalette[name]?.[shade];
257
+ if (twColor) return twColor;
258
+ }
259
+ return color;
260
+ }
261
+
262
+ //#endregion
263
+ export { defaultTheme, fontStacks, isDefaultTheme, processTheme, themeSchema, themesArray };
21
264
  //# sourceMappingURL=theme.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
1
+ {"version":3,"file":"theme.js","names":["defaultTheme: Theme"],"sources":["../../src/shared/theme.ts"],"sourcesContent":["import { Type, type Static } from \"@sinclair/typebox\";\nimport chroma from \"chroma-js\";\nimport { colorPalette } from \"@upstart.gg/style-system/colors\";\nimport { StringEnum } from \"./utils/string-enum\";\nimport { toLLMSchema } from \"./utils/llm\";\n\nexport const fontStacks = [\n { value: \"system-ui\", label: \"System UI\" },\n { value: \"transitional\", label: \"Transitional\" },\n { value: \"old-style\", label: \"Old style\" },\n { value: \"humanist\", label: \"Humanist\" },\n { value: \"geometric-humanist\", label: \"Geometric humanist\" },\n { value: \"classical-humanist\", label: \"Classical humanist\" },\n { value: \"neo-grotesque\", label: \"Neo-grotesque\" },\n { value: \"monospace-slab-serif\", label: \"Monospace slab serif\" },\n { value: \"monospace-code\", label: \"Monospace code\" },\n { value: \"industrial\", label: \"Industrial\" },\n { value: \"rounded-sans\", label: \"Rounded sans\" },\n { value: \"slab-serif\", label: \"Slab serif\" },\n { value: \"antique\", label: \"Antique\" },\n { value: \"didone\", label: \"Didone\" },\n { value: \"handwritten\", label: \"Handwritten\" },\n];\n\nconst headingFont = Type.Object(\n {\n type: StringEnum([\"stack\", \"theme\", \"google\"], {\n title: \"Type of font\",\n description: \"The type of font. Can be a font stack, a theme font or a Google font\",\n }),\n family: Type.String({\n title: \"Family\",\n description: \"The font family (eg. the name of the font)\",\n }),\n },\n {\n title: \"Headings font\",\n description: \"Used for titles and headings\",\n },\n);\n\nconst bodyFont = Type.Object(\n {\n type: StringEnum([\"stack\", \"theme\", \"google\"], {\n title: \"Type of font\",\n description: \"The type of font. Can be a font stack, a theme font or a Google font\",\n }),\n family: Type.String({\n title: \"Family\",\n description: \"The font family (eg. the name of the font)\",\n }),\n },\n {\n title: \"Body font\",\n description: \"Used for paragraphs and body text\",\n },\n);\n\nexport const themeSchema = Type.Object({\n id: Type.String({ title: \"ID\", description: \"The unique identifier of the theme\" }),\n name: Type.String({ title: \"Name\", description: \"The name of the theme\" }),\n description: Type.String({ title: \"Description\", description: \"The description of the theme\" }),\n tags: Type.Array(Type.String({ title: \"Tag\" }), { title: \"Tags\", description: \"The tags of the theme\" }),\n browserColorScheme: StringEnum([\"light\", \"dark\"], {\n title: \"Browser scheme\",\n description: \"Color of browser-provided UI. Either 'light' or 'dark'\",\n }),\n // Define the theme colors\n colors: Type.Object(\n {\n primary: Type.String({\n title: \"Primary\",\n description: \"The brand's primary color.\",\n \"ai:instructions\": \"Use oklch() css notation.\",\n examples: [\"oklch(0.62 0.241 354.308)\"],\n }),\n secondary: Type.String({\n title: \"Secondary\",\n description: \"The brand's second most used color\",\n \"ai:instructions\": \"Use oklch() css notation.\",\n examples: [\"oklch(0.65 0.22 185)\"],\n }),\n accent: Type.String({\n title: \"Accent\",\n description: \"The brand's least used color\",\n \"ai:instructions\": \"Use oklch() css notation.\",\n examples: [\"oklch(0.82 0.18 85)\"],\n }),\n neutral: Type.String({\n title: \"Neutral\",\n description: \"The base neutral color\",\n \"ai:instructions\": \"Use oklch() css notation.\",\n examples: [\"oklch(0.38 0.08 280)\"],\n }),\n base100: Type.String({\n title: \"Base\",\n description:\n \"Base surface color of page, used for blank backgrounds. Should be white or near-white for light color-schemes, and black or near-black for dark color-schemes.\",\n \"ai:instructions\": \"Use oklab() css notation.\",\n examples: [\"oklch(0.99 0.008 92)\"],\n }),\n base200: Type.String({\n title: \"Base 2\",\n description:\n \"Should be darker than base 100 but still light for light color-schemes, and lighter but still dark for dark color-schemes.\",\n \"ai:instructions\": \"Use oklab() css notation.\",\n examples: [\"oklch(0.97 0.01 85)\"],\n }),\n base300: Type.String({\n title: \"Base 3\",\n description:\n \"3rd base color, should be darker than base 200 for light color-schemes, and lighter than base 200 for dark color-schemes.\",\n \"ai:instructions\": \"Use oklab() css notation.\",\n examples: [\"oklch(0.95 0.02 80)\"],\n }),\n },\n {\n title: \"Theme base colors\",\n description: \"The base colors of the theme. Each theme must declare all these colors\",\n },\n ),\n\n // Define the theme typography\n typography: Type.Object({\n base: Type.Number({\n title: \"Base font size\",\n description: \"The base font size in pixels. It is safe to keep it as is.\",\n \"ai:instructions\": \"A safe value is 16.\",\n }),\n heading: headingFont,\n body: bodyFont,\n alternatives: Type.Array(\n Type.Object({\n body: bodyFont,\n heading: headingFont,\n }),\n {\n title: \"Alternative fonts\",\n description: \"Alternative fonts that can be suggested to the user. Takes the same shape\",\n },\n ),\n }),\n});\n\nexport type Theme = Static<typeof themeSchema>;\nexport const themesArray = Type.Array(themeSchema);\n\nexport type ThemesArray = Static<typeof themesArray>;\nexport type FontType = Theme[\"typography\"][\"body\"];\n\nexport const defaultTheme: Theme = {\n id: \"_default_\",\n name: \"default\",\n description: \"Default Upstart theme\",\n tags: [\"gradient\", \"vibrant\", \"modern\", \"creative\", \"dynamic\", \"artistic\", \"bold\"],\n browserColorScheme: \"light\",\n colors: {\n base100: \"#FFF\", // Warm white background\n base200: \"#F5F0E1\", // Soft cream in hex\n base300: \"#F0E3D2\", // Light warm gray in hex\n primary: \"#FF6F20\", // A vibrant orange in hex\n secondary: \"#00BFFF\", // A bright cyan in hex\n accent: \"#A4D65E\", // A lively lime green in hex\n neutral: \"#B0B0B0\", // A balanced gray in hex\n },\n typography: {\n base: 16,\n heading: { type: \"stack\", family: \"system-ui\" },\n body: { type: \"stack\", family: \"system-ui\" },\n alternatives: [],\n },\n};\n\nexport function isDefaultTheme(theme: Theme): boolean {\n return theme.id === defaultTheme.id;\n}\n\n/**\n * Process a theme, eventually fixing colors and translating them to oklch notations\n * @param theme\n */\nexport function processTheme(theme: Theme): Theme {\n return {\n ...theme,\n typography: {\n ...theme.typography,\n base: 16, // override any base size\n },\n colors: Object.entries(theme.colors).reduce(\n (acc, [key, value]) => {\n const fixedColor = fixOklchColor(value);\n return {\n // biome-ignore lint/performance/noAccumulatingSpread: <explanation>\n ...acc,\n [key]: fixedColor,\n };\n },\n {} as typeof theme.colors,\n ),\n };\n}\n\nfunction fixOklchColor(color: string) {\n const valid = chroma.valid(color);\n if (valid) {\n return color;\n }\n // Try to fix the color if it looks like oklch\n const oklchRegex = /ok(lch|lab)\\(([^)]+)\\)/;\n if (oklchRegex.test(color)) {\n const withoutComma = color.replace(/,/g, \" \");\n if (chroma.valid(withoutComma)) {\n return withoutComma;\n }\n }\n // tailwind colors\n if (/^([a-z]+)-([0-9]+)$/.test(color)) {\n const [name, shade] = color.split(\"-\");\n // @ts-ignore\n const twColor = colorPalette[name]?.[shade] as string | undefined;\n if (twColor) {\n return twColor;\n }\n }\n return color;\n}\n"],"mappings":"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"}
@@ -1,14 +1,18 @@
1
+ import { Theme } from "../theme.js";
1
2
  import chroma from "chroma-js";
2
- import type { Theme } from "../theme";
3
- export type ColorType = keyof Theme["colors"];
4
- export type ElementColorType = "page-background" | "background" | "text" | "border" | "shadow";
5
- export declare const baseColors: Record<ColorType, string>;
6
- export declare const shadeNumbers: readonly [900, 800, 700, 600, 500, 400, 300, 200, 100, 50];
7
- export type ElementColor = string;
8
- export declare function getColorsSuggestions(baseHueOrColor: number | string, theme: Theme): never[];
9
- export declare function isStandardColor(color: unknown): boolean;
10
- export declare function propToStyle(prop: string | number | undefined, cssAttr: string): string | undefined;
11
- export declare function getContrastingTextColor(backgroundColor: string | chroma.Color, contrastThreshold?: number): string;
12
- export declare function propToClass(value: string | number | undefined, classPrefix: string): string | undefined;
13
- export declare function generateColorsVars(theme: Theme): Record<string, string>;
3
+
4
+ //#region src/shared/themes/color-system.d.ts
5
+ type ColorType = keyof Theme["colors"];
6
+ type ElementColorType = "page-background" | "background" | "text" | "border" | "shadow";
7
+ declare const baseColors: Record<ColorType, string>;
8
+ declare const shadeNumbers: readonly [900, 800, 700, 600, 500, 400, 300, 200, 100, 50];
9
+ type ElementColor = string;
10
+ declare function getColorsSuggestions(baseHueOrColor: number | string, theme: Theme): never[];
11
+ declare function isStandardColor(color: unknown): boolean;
12
+ declare function propToStyle(prop: string | number | undefined, cssAttr: string): string | undefined;
13
+ declare function getContrastingTextColor(backgroundColor: string | chroma.Color, contrastThreshold?: number): string;
14
+ declare function propToClass(value: string | number | undefined, classPrefix: string): string | undefined;
15
+ declare function generateColorsVars(theme: Theme): Record<string, string>;
16
+ //#endregion
17
+ export { ColorType, ElementColor, ElementColorType, baseColors, generateColorsVars, getColorsSuggestions, getContrastingTextColor, isStandardColor, propToClass, propToStyle, shadeNumbers };
14
18
  //# sourceMappingURL=color-system.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"color-system.d.ts","sourceRoot":"","sources":["../../../src/shared/themes/color-system.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,WAAW,CAAC;AAC/B,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAItC,MAAM,MAAM,SAAS,GAAG,MAAM,KAAK,CAAC,QAAQ,CAAC,CAAC;AAC9C,MAAM,MAAM,gBAAgB,GAAG,iBAAiB,GAAG,YAAY,GAAG,MAAM,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAE/F,eAAO,MAAM,UAAU,EAAE,MAAM,CAAC,SAAS,EAAE,MAAM,CAQhD,CAAC;AAEF,eAAO,MAAM,YAAY,4DAA6D,CAAC;AASvF,MAAM,MAAM,YAAY,GAAG,MAAM,CAAC;AAElC,wBAAgB,oBAAoB,CAAC,cAAc,EAAE,MAAM,GAAG,MAAM,EAAE,KAAK,EAAE,KAAK,WAEjF;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAYvD;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,EAAE,OAAO,EAAE,MAAM,sBAM7E;AAED,wBAAgB,uBAAuB,CACrC,eAAe,EAAE,MAAM,GAAG,MAAM,CAAC,KAAK,EACtC,iBAAiB,SAAM,GACtB,MAAM,CA8BR;AACD,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,EAAE,WAAW,EAAE,MAAM,sBAKlF;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,KAAK,0BAgD9C"}
1
+ {"version":3,"file":"color-system.d.ts","names":[],"sources":["../../../src/shared/themes/color-system.ts"],"sourcesContent":[],"mappings":";;;;KAKY,SAAA,SAAkB;KAClB,gBAAA;AADA,cAGC,UAHiB,EAGL,MAHU,CAGH,SAHG,EAAA,MAAA,CAAA;AACvB,cAYC,YAZe,EAAA,SAAA,CAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,EAAA,CAAA;AAEf,KAmBD,YAAA,GAXX,MAAA;AAAA,iBAae,oBAAA,CAbf,cAAA,EAAA,MAAA,GAAA,MAAA,EAAA,KAAA,EAa4E,KAb5E,CAAA,EAAA,KAAA,EAAA;AAR+B,iBAyBhB,eAAA,CAzBgB,KAAA,EAAA,OAAA,CAAA,EAAA,OAAA;AAAP,iBAuCT,WAAA,CAvCS,IAAA,EAAA,MAAA,GAAA,MAAA,GAAA,SAAA,EAAA,OAAA,EAAA,MAAA,CAAA,EAAA,MAAA,GAAA,SAAA;AAAM,iBA+Cf,uBAAA,CA/Ce,eAAA,EAAA,MAAA,GAgDH,MAAA,CAAO,KAhDJ,EAAA,iBAAA,CAAA,EAAA,MAAA,CAAA,EAAA,MAAA;AAUlB,iBAuEG,WAAA,CAvEsE,KAAA,EAAA,MAAA,GAAA,MAAA,GAAA,SAAA,EAAA,WAAA,EAAA,MAAA,CAAA,EAAA,MAAA,GAAA,SAAA;AAS1E,iBAqEI,kBAAA,CArEQ,KAAA,EAqEkB,KArElB,CAAA,EAqEuB,MArEvB,CAAA,MAAA,EAAA,MAAA,CAAA"}
@@ -1,106 +1,98 @@
1
- /*! Upstart.gg - Copyright (C) 2024 Flippable - https://github.com/upstart-gg/upstart/blob/main/LICENSE */
2
-
3
- import "../chunk-ZGQ3AQBG.js";
4
-
5
- // src/shared/themes/color-system.ts
6
- import chroma from "chroma-js";
7
1
  import { kebabCase } from "lodash-es";
2
+ import chroma from "chroma-js";
8
3
  import { css } from "@upstart.gg/style-system/twind";
9
- var baseColors = {
10
- primary: "Primary color",
11
- secondary: "Secondary color",
12
- accent: "Accent color",
13
- neutral: "Neutral color",
14
- base100: "Base color",
15
- base200: "Base (level 2)",
16
- base300: "Base (level 3)"
4
+
5
+ //#region src/shared/themes/color-system.ts
6
+ const baseColors = {
7
+ primary: "Primary color",
8
+ secondary: "Secondary color",
9
+ accent: "Accent color",
10
+ neutral: "Neutral color",
11
+ base100: "Base color",
12
+ base200: "Base (level 2)",
13
+ base300: "Base (level 3)"
17
14
  };
18
- var shadeNumbers = [900, 800, 700, 600, 500, 400, 300, 200, 100, 50];
19
- var semanticAliases = {
20
- 100: "subtle",
21
- 300: "light",
22
- 700: "dark"
15
+ const shadeNumbers = [
16
+ 900,
17
+ 800,
18
+ 700,
19
+ 600,
20
+ 500,
21
+ 400,
22
+ 300,
23
+ 200,
24
+ 100,
25
+ 50
26
+ ];
27
+ const semanticAliases = {
28
+ 100: "subtle",
29
+ 300: "light",
30
+ 700: "dark"
23
31
  };
24
32
  function getColorsSuggestions(baseHueOrColor, theme) {
25
- return [];
33
+ return [];
26
34
  }
27
35
  function isStandardColor(color) {
28
- if (typeof color !== "string") {
29
- return false;
30
- }
31
- return color.startsWith("oklch") || color.startsWith("oklab") || color.startsWith("rgb") || color.startsWith("hsl") || color.startsWith("#") || color.startsWith("var(--");
36
+ if (typeof color !== "string") return false;
37
+ return color.startsWith("oklch") || color.startsWith("oklab") || color.startsWith("rgb") || color.startsWith("hsl") || color.startsWith("#") || color.startsWith("var(--");
32
38
  }
33
39
  function propToStyle(prop, cssAttr) {
34
- if (typeof prop === "undefined") {
35
- return void 0;
36
- }
37
- return isStandardColor(prop) || typeof prop === "number" ? css({ [cssAttr]: prop }) : prop;
40
+ if (typeof prop === "undefined") return;
41
+ return isStandardColor(prop) || typeof prop === "number" ? css({ [cssAttr]: prop }) : prop;
38
42
  }
39
43
  function getContrastingTextColor(backgroundColor, contrastThreshold = 3.5) {
40
- const bgColor = chroma(backgroundColor);
41
- const white = "#ffffff";
42
- const black = "#000000";
43
- const contrastWithWhite = chroma.contrast(bgColor, white);
44
- const contrastWithBlack = chroma.contrast(bgColor, black);
45
- if (contrastWithWhite >= contrastThreshold && contrastWithBlack >= contrastThreshold) {
46
- return white;
47
- }
48
- if (contrastWithWhite >= contrastThreshold) {
49
- return white;
50
- }
51
- if (contrastWithBlack >= contrastThreshold) {
52
- return black;
53
- }
54
- return contrastWithWhite >= contrastWithBlack ? white : black;
44
+ const bgColor = chroma(backgroundColor);
45
+ const white = "#ffffff";
46
+ const black = "#000000";
47
+ const contrastWithWhite = chroma.contrast(bgColor, white);
48
+ const contrastWithBlack = chroma.contrast(bgColor, black);
49
+ if (contrastWithWhite >= contrastThreshold && contrastWithBlack >= contrastThreshold) return white;
50
+ if (contrastWithWhite >= contrastThreshold) return white;
51
+ if (contrastWithBlack >= contrastThreshold) return black;
52
+ return contrastWithWhite >= contrastWithBlack ? white : black;
55
53
  }
56
54
  function propToClass(value, classPrefix) {
57
- if (typeof value === "undefined") {
58
- return void 0;
59
- }
60
- return isStandardColor(value) || typeof value === "number" ? `${classPrefix}-[${value}]` : value;
55
+ if (typeof value === "undefined") return;
56
+ return isStandardColor(value) || typeof value === "number" ? `${classPrefix}-[${value}]` : value;
61
57
  }
62
58
  function generateColorsVars(theme) {
63
- const shades = {};
64
- const colorNames = Object.keys(baseColors);
65
- colorNames.forEach((_colorName) => {
66
- const color = theme.colors[_colorName];
67
- const colorName = kebabCase(_colorName);
68
- shades[`color-${colorName}`] = color;
69
- shades[`color-${colorName}-500`] = color;
70
- const contentColor = getContrastingTextColor(color);
71
- shades[`color-${colorName}-content`] = contentColor;
72
- shades[`color-${colorName}-500-content`] = contentColor;
73
- const baseColor = chroma(color);
74
- const darkest = baseColor.darken(2.5);
75
- const lightest = baseColor.brighten(3.5);
76
- const colorScale = chroma.scale([lightest, baseColor, darkest]).domain([50, 500, 900]).mode("oklch");
77
- if (!colorName.startsWith("base")) {
78
- shadeNumbers.forEach((shade) => {
79
- if (shade === 500) {
80
- return;
81
- }
82
- const varName = `color-${colorName}-${shade}`;
83
- const shadedColor = colorScale(shade);
84
- shades[varName] = shadedColor.css("oklch");
85
- const contentColor2 = getContrastingTextColor(shadedColor);
86
- shades[`color-${colorName}-${shade}-content`] = contentColor2;
87
- if (semanticAliases[shade]) {
88
- shades[`color-${colorName}-${semanticAliases[shade]}`] = shades[varName];
89
- shades[`color-${colorName}-${semanticAliases[shade]}-content`] = contentColor2;
90
- }
91
- });
92
- }
93
- });
94
- return shades;
59
+ const shades = {};
60
+ Object.keys(baseColors).forEach((_colorName) => {
61
+ const color = theme.colors[_colorName];
62
+ const colorName = kebabCase(_colorName);
63
+ shades[`color-${colorName}`] = color;
64
+ shades[`color-${colorName}-500`] = color;
65
+ const contentColor = getContrastingTextColor(color);
66
+ shades[`color-${colorName}-content`] = contentColor;
67
+ shades[`color-${colorName}-500-content`] = contentColor;
68
+ const baseColor = chroma(color);
69
+ const darkest = baseColor.darken(2.5);
70
+ const lightest = baseColor.brighten(3.5);
71
+ const colorScale = chroma.scale([
72
+ lightest,
73
+ baseColor,
74
+ darkest
75
+ ]).domain([
76
+ 50,
77
+ 500,
78
+ 900
79
+ ]).mode("oklch");
80
+ if (!colorName.startsWith("base")) shadeNumbers.forEach((shade) => {
81
+ if (shade === 500) return;
82
+ const varName = `color-${colorName}-${shade}`;
83
+ const shadedColor = colorScale(shade);
84
+ shades[varName] = shadedColor.css("oklch");
85
+ const contentColor$1 = getContrastingTextColor(shadedColor);
86
+ shades[`color-${colorName}-${shade}-content`] = contentColor$1;
87
+ if (semanticAliases[shade]) {
88
+ shades[`color-${colorName}-${semanticAliases[shade]}`] = shades[varName];
89
+ shades[`color-${colorName}-${semanticAliases[shade]}-content`] = contentColor$1;
90
+ }
91
+ });
92
+ });
93
+ return shades;
95
94
  }
96
- export {
97
- baseColors,
98
- generateColorsVars,
99
- getColorsSuggestions,
100
- getContrastingTextColor,
101
- isStandardColor,
102
- propToClass,
103
- propToStyle,
104
- shadeNumbers
105
- };
95
+
96
+ //#endregion
97
+ export { baseColors, generateColorsVars, getColorsSuggestions, getContrastingTextColor, isStandardColor, propToClass, propToStyle, shadeNumbers };
106
98
  //# sourceMappingURL=color-system.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/shared/themes/color-system.ts"],"sourcesContent":["import chroma from \"chroma-js\";\nimport type { Theme } from \"../theme\";\nimport { kebabCase } from \"lodash-es\";\nimport { css } from \"@upstart.gg/style-system/twind\";\n\nexport type ColorType = keyof Theme[\"colors\"];\nexport type ElementColorType = \"page-background\" | \"background\" | \"text\" | \"border\" | \"shadow\";\n\nexport const baseColors: Record<ColorType, string> = {\n primary: \"Primary color\",\n secondary: \"Secondary color\",\n accent: \"Accent color\",\n neutral: \"Neutral color\",\n base100: \"Base color\",\n base200: \"Base (level 2)\",\n base300: \"Base (level 3)\",\n};\n\nexport const shadeNumbers = [900, 800, 700, 600, 500, 400, 300, 200, 100, 50] as const;\ntype ShadeNumber = (typeof shadeNumbers)[number];\n\nconst semanticAliases: Partial<Record<ShadeNumber, string>> = {\n 100: \"subtle\",\n 300: \"light\",\n 700: \"dark\",\n};\n\nexport type ElementColor = string;\n\nexport function getColorsSuggestions(baseHueOrColor: number | string, theme: Theme) {\n return [];\n}\n\nexport function isStandardColor(color: unknown): boolean {\n if (typeof color !== \"string\") {\n return false;\n }\n return (\n color.startsWith(\"oklch\") ||\n color.startsWith(\"oklab\") ||\n color.startsWith(\"rgb\") ||\n color.startsWith(\"hsl\") ||\n color.startsWith(\"#\") ||\n color.startsWith(\"var(--\")\n );\n}\n\nexport function propToStyle(prop: string | number | undefined, cssAttr: string) {\n if (typeof prop === \"undefined\") {\n return undefined;\n }\n // @ts-ignore\n return isStandardColor(prop) || typeof prop === \"number\" ? css({ [cssAttr as string]: prop }) : prop;\n}\n\nexport function getContrastingTextColor(\n backgroundColor: string | chroma.Color,\n contrastThreshold = 3.5,\n): string {\n // Convert the background color to a chroma color object\n const bgColor = chroma(backgroundColor);\n\n // Get potential text colors\n const white = \"#ffffff\";\n const black = \"#000000\";\n\n // Calculate contrast ratios\n const contrastWithWhite = chroma.contrast(bgColor, white);\n const contrastWithBlack = chroma.contrast(bgColor, black);\n\n // If both options meet the contrast threshold, return the one with better contrast\n if (contrastWithWhite >= contrastThreshold && contrastWithBlack >= contrastThreshold) {\n return white;\n // return contrastWithWhite >= contrastWithBlack ? white : black;\n }\n\n // If only one meets the threshold, use that one\n if (contrastWithWhite >= contrastThreshold) {\n return white;\n }\n\n if (contrastWithBlack >= contrastThreshold) {\n return black;\n }\n\n // If neither meets the threshold, return the one with better contrast\n // (though it may not meet accessibility standards)\n return contrastWithWhite >= contrastWithBlack ? white : black;\n}\nexport function propToClass(value: string | number | undefined, classPrefix: string) {\n if (typeof value === \"undefined\") {\n return undefined;\n }\n return isStandardColor(value) || typeof value === \"number\" ? `${classPrefix}-[${value}]` : value;\n}\n\nexport function generateColorsVars(theme: Theme) {\n const shades: Record<string, string> = {};\n const colorNames = Object.keys(baseColors) as ColorType[];\n\n colorNames.forEach((_colorName) => {\n const color = theme.colors[_colorName];\n const colorName = kebabCase(_colorName);\n // Add the original color as the default (without number suffix)\n shades[`color-${colorName}`] = color;\n // Alias it to 500\n shades[`color-${colorName}-500`] = color;\n\n // Generate base color content\n const contentColor = getContrastingTextColor(color);\n shades[`color-${colorName}-content`] = contentColor;\n shades[`color-${colorName}-500-content`] = contentColor;\n\n const baseColor = chroma(color);\n const darkest = baseColor.darken(2.5);\n const lightest = baseColor.brighten(3.5);\n\n const colorScale = chroma.scale([lightest, baseColor, darkest]).domain([50, 500, 900]).mode(\"oklch\");\n\n // Generate shades for other colors than base colors\n if (!colorName.startsWith(\"base\")) {\n shadeNumbers.forEach((shade) => {\n if (shade === 500) {\n return;\n }\n const varName = `color-${colorName}-${shade}`;\n\n // Gen color for the specific shade\n const shadedColor = colorScale(shade);\n shades[varName] = shadedColor.css(\"oklch\");\n\n // Gen content color for this same shade\n const contentColor = getContrastingTextColor(shadedColor);\n shades[`color-${colorName}-${shade}-content`] = contentColor;\n\n if (semanticAliases[shade]) {\n shades[`color-${colorName}-${semanticAliases[shade]}`] = shades[varName];\n shades[`color-${colorName}-${semanticAliases[shade]}-content`] = contentColor;\n }\n });\n }\n });\n\n return shades;\n}\n"],"mappings":"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","names":["contentColor"]}
1
+ {"version":3,"file":"color-system.js","names":["baseColors: Record<ColorType, string>","semanticAliases: Partial<Record<ShadeNumber, string>>","shades: Record<string, string>","contentColor"],"sources":["../../../src/shared/themes/color-system.ts"],"sourcesContent":["import chroma from \"chroma-js\";\nimport type { Theme } from \"../theme\";\nimport { kebabCase } from \"lodash-es\";\nimport { css } from \"@upstart.gg/style-system/twind\";\n\nexport type ColorType = keyof Theme[\"colors\"];\nexport type ElementColorType = \"page-background\" | \"background\" | \"text\" | \"border\" | \"shadow\";\n\nexport const baseColors: Record<ColorType, string> = {\n primary: \"Primary color\",\n secondary: \"Secondary color\",\n accent: \"Accent color\",\n neutral: \"Neutral color\",\n base100: \"Base color\",\n base200: \"Base (level 2)\",\n base300: \"Base (level 3)\",\n};\n\nexport const shadeNumbers = [900, 800, 700, 600, 500, 400, 300, 200, 100, 50] as const;\ntype ShadeNumber = (typeof shadeNumbers)[number];\n\nconst semanticAliases: Partial<Record<ShadeNumber, string>> = {\n 100: \"subtle\",\n 300: \"light\",\n 700: \"dark\",\n};\n\nexport type ElementColor = string;\n\nexport function getColorsSuggestions(baseHueOrColor: number | string, theme: Theme) {\n return [];\n}\n\nexport function isStandardColor(color: unknown): boolean {\n if (typeof color !== \"string\") {\n return false;\n }\n return (\n color.startsWith(\"oklch\") ||\n color.startsWith(\"oklab\") ||\n color.startsWith(\"rgb\") ||\n color.startsWith(\"hsl\") ||\n color.startsWith(\"#\") ||\n color.startsWith(\"var(--\")\n );\n}\n\nexport function propToStyle(prop: string | number | undefined, cssAttr: string) {\n if (typeof prop === \"undefined\") {\n return undefined;\n }\n // @ts-ignore\n return isStandardColor(prop) || typeof prop === \"number\" ? css({ [cssAttr as string]: prop }) : prop;\n}\n\nexport function getContrastingTextColor(\n backgroundColor: string | chroma.Color,\n contrastThreshold = 3.5,\n): string {\n // Convert the background color to a chroma color object\n const bgColor = chroma(backgroundColor);\n\n // Get potential text colors\n const white = \"#ffffff\";\n const black = \"#000000\";\n\n // Calculate contrast ratios\n const contrastWithWhite = chroma.contrast(bgColor, white);\n const contrastWithBlack = chroma.contrast(bgColor, black);\n\n // If both options meet the contrast threshold, return the one with better contrast\n if (contrastWithWhite >= contrastThreshold && contrastWithBlack >= contrastThreshold) {\n return white;\n // return contrastWithWhite >= contrastWithBlack ? white : black;\n }\n\n // If only one meets the threshold, use that one\n if (contrastWithWhite >= contrastThreshold) {\n return white;\n }\n\n if (contrastWithBlack >= contrastThreshold) {\n return black;\n }\n\n // If neither meets the threshold, return the one with better contrast\n // (though it may not meet accessibility standards)\n return contrastWithWhite >= contrastWithBlack ? white : black;\n}\nexport function propToClass(value: string | number | undefined, classPrefix: string) {\n if (typeof value === \"undefined\") {\n return undefined;\n }\n return isStandardColor(value) || typeof value === \"number\" ? `${classPrefix}-[${value}]` : value;\n}\n\nexport function generateColorsVars(theme: Theme) {\n const shades: Record<string, string> = {};\n const colorNames = Object.keys(baseColors) as ColorType[];\n\n colorNames.forEach((_colorName) => {\n const color = theme.colors[_colorName];\n const colorName = kebabCase(_colorName);\n // Add the original color as the default (without number suffix)\n shades[`color-${colorName}`] = color;\n // Alias it to 500\n shades[`color-${colorName}-500`] = color;\n\n // Generate base color content\n const contentColor = getContrastingTextColor(color);\n shades[`color-${colorName}-content`] = contentColor;\n shades[`color-${colorName}-500-content`] = contentColor;\n\n const baseColor = chroma(color);\n const darkest = baseColor.darken(2.5);\n const lightest = baseColor.brighten(3.5);\n\n const colorScale = chroma.scale([lightest, baseColor, darkest]).domain([50, 500, 900]).mode(\"oklch\");\n\n // Generate shades for other colors than base colors\n if (!colorName.startsWith(\"base\")) {\n shadeNumbers.forEach((shade) => {\n if (shade === 500) {\n return;\n }\n const varName = `color-${colorName}-${shade}`;\n\n // Gen color for the specific shade\n const shadedColor = colorScale(shade);\n shades[varName] = shadedColor.css(\"oklch\");\n\n // Gen content color for this same shade\n const contentColor = getContrastingTextColor(shadedColor);\n shades[`color-${colorName}-${shade}-content`] = contentColor;\n\n if (semanticAliases[shade]) {\n shades[`color-${colorName}-${semanticAliases[shade]}`] = shades[varName];\n shades[`color-${colorName}-${semanticAliases[shade]}-content`] = contentColor;\n }\n });\n }\n });\n\n return shades;\n}\n"],"mappings":";;;;;AAQA,MAAaA,aAAwC;CACnD,SAAS;CACT,WAAW;CACX,QAAQ;CACR,SAAS;CACT,SAAS;CACT,SAAS;CACT,SAAS;CACV;AAED,MAAa,eAAe;CAAC;CAAK;CAAK;CAAK;CAAK;CAAK;CAAK;CAAK;CAAK;CAAK;CAAG;AAG7E,MAAMC,kBAAwD;CAC5D,KAAK;CACL,KAAK;CACL,KAAK;CACN;AAID,SAAgB,qBAAqB,gBAAiC,OAAc;AAClF,QAAO,EAAE;;AAGX,SAAgB,gBAAgB,OAAyB;AACvD,KAAI,OAAO,UAAU,SACnB,QAAO;AAET,QACE,MAAM,WAAW,QAAQ,IACzB,MAAM,WAAW,QAAQ,IACzB,MAAM,WAAW,MAAM,IACvB,MAAM,WAAW,MAAM,IACvB,MAAM,WAAW,IAAI,IACrB,MAAM,WAAW,SAAS;;AAI9B,SAAgB,YAAY,MAAmC,SAAiB;AAC9E,KAAI,OAAO,SAAS,YAClB;AAGF,QAAO,gBAAgB,KAAK,IAAI,OAAO,SAAS,WAAW,IAAI,GAAG,UAAoB,MAAM,CAAC,GAAG;;AAGlG,SAAgB,wBACd,iBACA,oBAAoB,KACZ;CAER,MAAM,UAAU,OAAO,gBAAgB;CAGvC,MAAM,QAAQ;CACd,MAAM,QAAQ;CAGd,MAAM,oBAAoB,OAAO,SAAS,SAAS,MAAM;CACzD,MAAM,oBAAoB,OAAO,SAAS,SAAS,MAAM;AAGzD,KAAI,qBAAqB,qBAAqB,qBAAqB,kBACjE,QAAO;AAKT,KAAI,qBAAqB,kBACvB,QAAO;AAGT,KAAI,qBAAqB,kBACvB,QAAO;AAKT,QAAO,qBAAqB,oBAAoB,QAAQ;;AAE1D,SAAgB,YAAY,OAAoC,aAAqB;AACnF,KAAI,OAAO,UAAU,YACnB;AAEF,QAAO,gBAAgB,MAAM,IAAI,OAAO,UAAU,WAAW,GAAG,YAAY,IAAI,MAAM,KAAK;;AAG7F,SAAgB,mBAAmB,OAAc;CAC/C,MAAMC,SAAiC,EAAE;AAGzC,CAFmB,OAAO,KAAK,WAAW,CAE/B,SAAS,eAAe;EACjC,MAAM,QAAQ,MAAM,OAAO;EAC3B,MAAM,YAAY,UAAU,WAAW;AAEvC,SAAO,SAAS,eAAe;AAE/B,SAAO,SAAS,UAAU,SAAS;EAGnC,MAAM,eAAe,wBAAwB,MAAM;AACnD,SAAO,SAAS,UAAU,aAAa;AACvC,SAAO,SAAS,UAAU,iBAAiB;EAE3C,MAAM,YAAY,OAAO,MAAM;EAC/B,MAAM,UAAU,UAAU,OAAO,IAAI;EACrC,MAAM,WAAW,UAAU,SAAS,IAAI;EAExC,MAAM,aAAa,OAAO,MAAM;GAAC;GAAU;GAAW;GAAQ,CAAC,CAAC,OAAO;GAAC;GAAI;GAAK;GAAI,CAAC,CAAC,KAAK,QAAQ;AAGpG,MAAI,CAAC,UAAU,WAAW,OAAO,CAC/B,cAAa,SAAS,UAAU;AAC9B,OAAI,UAAU,IACZ;GAEF,MAAM,UAAU,SAAS,UAAU,GAAG;GAGtC,MAAM,cAAc,WAAW,MAAM;AACrC,UAAO,WAAW,YAAY,IAAI,QAAQ;GAG1C,MAAMC,iBAAe,wBAAwB,YAAY;AACzD,UAAO,SAAS,UAAU,GAAG,MAAM,aAAaA;AAEhD,OAAI,gBAAgB,QAAQ;AAC1B,WAAO,SAAS,UAAU,GAAG,gBAAgB,YAAY,OAAO;AAChE,WAAO,SAAS,UAAU,GAAG,gBAAgB,OAAO,aAAaA;;IAEnE;GAEJ;AAEF,QAAO"}