@kensio/colophon 2.3.0 → 2.5.0

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 (361) hide show
  1. package/README.md +107 -798
  2. package/dist/background/gradient.d.ts +12 -0
  3. package/dist/background/gradient.d.ts.map +1 -0
  4. package/dist/background/gradient.js +21 -0
  5. package/dist/background/gradient.js.map +1 -0
  6. package/dist/background/image.d.ts +14 -0
  7. package/dist/background/image.d.ts.map +1 -0
  8. package/dist/background/image.js +36 -0
  9. package/dist/background/image.js.map +1 -0
  10. package/dist/background/index.d.ts +13 -0
  11. package/dist/background/index.d.ts.map +1 -0
  12. package/dist/background/index.js +27 -0
  13. package/dist/background/index.js.map +1 -0
  14. package/dist/background/mesh.d.ts +12 -0
  15. package/dist/background/mesh.d.ts.map +1 -0
  16. package/dist/background/mesh.js +43 -0
  17. package/dist/background/mesh.js.map +1 -0
  18. package/dist/background.d.ts +7 -2
  19. package/dist/background.d.ts.map +1 -1
  20. package/dist/background.js +44 -1
  21. package/dist/background.js.map +1 -1
  22. package/dist/cli/args.d.ts +1 -1
  23. package/dist/cli/args.d.ts.map +1 -1
  24. package/dist/cli/args.js +1 -1
  25. package/dist/cli/config.d.ts +1 -1
  26. package/dist/cli/config.js +1 -1
  27. package/dist/config/defaults.d.ts +8 -7
  28. package/dist/config/defaults.d.ts.map +1 -1
  29. package/dist/config/defaults.js +8 -8
  30. package/dist/config/defaults.js.map +1 -1
  31. package/dist/config/index.d.ts +1 -1
  32. package/dist/config/index.d.ts.map +1 -1
  33. package/dist/config/index.js +14 -5
  34. package/dist/config/index.js.map +1 -1
  35. package/dist/config/resolve.d.ts +7 -0
  36. package/dist/config/resolve.d.ts.map +1 -1
  37. package/dist/config/resolve.js +16 -0
  38. package/dist/config/resolve.js.map +1 -1
  39. package/dist/config/size.d.ts +7 -1
  40. package/dist/config/size.d.ts.map +1 -1
  41. package/dist/config/size.js +22 -9
  42. package/dist/config/size.js.map +1 -1
  43. package/dist/content/props.d.ts +2 -2
  44. package/dist/content/props.js +2 -2
  45. package/dist/content/slug.d.ts +5 -5
  46. package/dist/content/slug.js +6 -6
  47. package/dist/content/slug.js.map +1 -1
  48. package/dist/content/walk.d.ts +1 -1
  49. package/dist/content/walk.js +1 -1
  50. package/dist/fonts/index.d.ts +3 -2
  51. package/dist/fonts/index.d.ts.map +1 -1
  52. package/dist/fonts/index.js +3 -2
  53. package/dist/fonts/index.js.map +1 -1
  54. package/dist/fonts/resolve.js +1 -1
  55. package/dist/generate/extra.js +4 -4
  56. package/dist/generate/extra.js.map +1 -1
  57. package/dist/generate/options.d.ts +1 -1
  58. package/dist/generate/outputs.d.ts +4 -4
  59. package/dist/generate/outputs.js +4 -4
  60. package/dist/highlight/language.d.ts +2 -3
  61. package/dist/highlight/language.d.ts.map +1 -1
  62. package/dist/highlight/language.js +3 -4
  63. package/dist/highlight/language.js.map +1 -1
  64. package/dist/highlight/normalise.d.ts +2 -2
  65. package/dist/highlight/normalise.js +2 -2
  66. package/dist/image/index.d.ts +18 -0
  67. package/dist/image/index.d.ts.map +1 -0
  68. package/dist/image/index.js +42 -0
  69. package/dist/image/index.js.map +1 -0
  70. package/dist/image/jpeg.d.ts +10 -0
  71. package/dist/image/jpeg.d.ts.map +1 -0
  72. package/dist/image/jpeg.js +57 -0
  73. package/dist/image/jpeg.js.map +1 -0
  74. package/dist/image/load.d.ts +4 -0
  75. package/dist/image/load.d.ts.map +1 -0
  76. package/dist/image/load.js +60 -0
  77. package/dist/image/load.js.map +1 -0
  78. package/dist/image/media.d.ts +10 -0
  79. package/dist/image/media.d.ts.map +1 -0
  80. package/dist/image/media.js +37 -0
  81. package/dist/image/media.js.map +1 -0
  82. package/dist/image/resolve.d.ts +13 -0
  83. package/dist/image/resolve.d.ts.map +1 -0
  84. package/dist/image/resolve.js +38 -0
  85. package/dist/image/resolve.js.map +1 -0
  86. package/dist/image/size.d.ts +22 -0
  87. package/dist/image/size.d.ts.map +1 -0
  88. package/dist/image/size.js +60 -0
  89. package/dist/image/size.js.map +1 -0
  90. package/dist/image/svg.d.ts +12 -0
  91. package/dist/image/svg.d.ts.map +1 -0
  92. package/dist/image/svg.js +61 -0
  93. package/dist/image/svg.js.map +1 -0
  94. package/dist/image/uri.d.ts +9 -0
  95. package/dist/image/uri.d.ts.map +1 -0
  96. package/dist/image/uri.js +22 -0
  97. package/dist/image/uri.js.map +1 -0
  98. package/dist/index.d.ts +8 -3
  99. package/dist/index.d.ts.map +1 -1
  100. package/dist/index.js +7 -2
  101. package/dist/index.js.map +1 -1
  102. package/dist/layout/block.d.ts +37 -0
  103. package/dist/layout/block.d.ts.map +1 -0
  104. package/dist/layout/block.js +26 -0
  105. package/dist/layout/block.js.map +1 -0
  106. package/dist/layout/box.d.ts +20 -0
  107. package/dist/layout/box.d.ts.map +1 -0
  108. package/dist/layout/box.js +61 -0
  109. package/dist/layout/box.js.map +1 -0
  110. package/dist/layout/distribute.d.ts +15 -0
  111. package/dist/layout/distribute.d.ts.map +1 -0
  112. package/dist/layout/distribute.js +30 -0
  113. package/dist/layout/distribute.js.map +1 -0
  114. package/dist/layout/image.d.ts +42 -0
  115. package/dist/layout/image.d.ts.map +1 -0
  116. package/dist/layout/image.js +34 -0
  117. package/dist/layout/image.js.map +1 -0
  118. package/dist/layout/index.d.ts +40 -0
  119. package/dist/layout/index.d.ts.map +1 -0
  120. package/dist/layout/index.js +30 -0
  121. package/dist/layout/index.js.map +1 -0
  122. package/dist/layout/lines.d.ts +45 -0
  123. package/dist/layout/lines.d.ts.map +1 -0
  124. package/dist/layout/lines.js +71 -0
  125. package/dist/layout/lines.js.map +1 -0
  126. package/dist/layout/measure.d.ts +11 -0
  127. package/dist/layout/measure.d.ts.map +1 -0
  128. package/dist/layout/measure.js +11 -0
  129. package/dist/layout/measure.js.map +1 -0
  130. package/dist/layout/panel.d.ts +20 -0
  131. package/dist/layout/panel.d.ts.map +1 -0
  132. package/dist/layout/panel.js +22 -0
  133. package/dist/layout/panel.js.map +1 -0
  134. package/dist/layout/row.d.ts +15 -0
  135. package/dist/layout/row.d.ts.map +1 -0
  136. package/dist/layout/row.js +20 -0
  137. package/dist/layout/row.js.map +1 -0
  138. package/dist/layout/scrim.d.ts +23 -0
  139. package/dist/layout/scrim.d.ts.map +1 -0
  140. package/dist/layout/scrim.js +38 -0
  141. package/dist/layout/scrim.js.map +1 -0
  142. package/dist/layout/stack.d.ts +14 -0
  143. package/dist/layout/stack.d.ts.map +1 -0
  144. package/dist/layout/stack.js +19 -0
  145. package/dist/layout/stack.js.map +1 -0
  146. package/dist/layout/types.d.ts +49 -0
  147. package/dist/layout/types.d.ts.map +1 -0
  148. package/dist/layout/types.js +2 -0
  149. package/dist/layout/types.js.map +1 -0
  150. package/dist/manifest/build.d.ts +1 -1
  151. package/dist/manifest/build.js +1 -1
  152. package/dist/manifest/index.d.ts +1 -1
  153. package/dist/manifest/index.js +1 -1
  154. package/dist/manifest/order.d.ts +1 -1
  155. package/dist/manifest/order.js +1 -1
  156. package/dist/manifest/page.d.ts +2 -2
  157. package/dist/manifest/page.js +3 -3
  158. package/dist/measure/estimate.d.ts +10 -0
  159. package/dist/measure/estimate.d.ts.map +1 -0
  160. package/dist/measure/estimate.js +58 -0
  161. package/dist/measure/estimate.js.map +1 -0
  162. package/dist/measure/faces.d.ts +15 -0
  163. package/dist/measure/faces.d.ts.map +1 -0
  164. package/dist/measure/faces.js +70 -0
  165. package/dist/measure/faces.js.map +1 -0
  166. package/dist/measure/index.d.ts +16 -0
  167. package/dist/measure/index.d.ts.map +1 -0
  168. package/dist/measure/index.js +0 -0
  169. package/dist/measure/index.js.map +1 -0
  170. package/dist/measure/runs.d.ts +17 -0
  171. package/dist/measure/runs.d.ts.map +1 -0
  172. package/dist/measure/runs.js +39 -0
  173. package/dist/measure/runs.js.map +1 -0
  174. package/dist/measure/select.d.ts +13 -0
  175. package/dist/measure/select.d.ts.map +1 -0
  176. package/dist/measure/select.js +47 -0
  177. package/dist/measure/select.js.map +1 -0
  178. package/dist/meta/tags.d.ts +6 -6
  179. package/dist/meta/tags.js +6 -6
  180. package/dist/meta/url.d.ts +4 -4
  181. package/dist/meta/url.js +4 -4
  182. package/dist/placement/check.d.ts +1 -1
  183. package/dist/placement/check.js +1 -1
  184. package/dist/placement/index.js +1 -1
  185. package/dist/placement/relative.d.ts +3 -3
  186. package/dist/placement/relative.js +3 -3
  187. package/dist/pool.d.ts +2 -2
  188. package/dist/pool.js +3 -3
  189. package/dist/pool.js.map +1 -1
  190. package/dist/props.d.ts +7 -0
  191. package/dist/props.d.ts.map +1 -0
  192. package/dist/props.js +17 -0
  193. package/dist/props.js.map +1 -0
  194. package/dist/render/svg.d.ts +4 -2
  195. package/dist/render/svg.d.ts.map +1 -1
  196. package/dist/render/svg.js +28 -6
  197. package/dist/render/svg.js.map +1 -1
  198. package/dist/stamp/config-digest.d.ts.map +1 -1
  199. package/dist/stamp/config-digest.js +21 -1
  200. package/dist/stamp/config-digest.js.map +1 -1
  201. package/dist/stamp/index.js +2 -2
  202. package/dist/stamp/index.js.map +1 -1
  203. package/dist/stamp/read.d.ts +1 -1
  204. package/dist/stamp/read.js +4 -4
  205. package/dist/templates/attribution.d.ts +17 -0
  206. package/dist/templates/attribution.d.ts.map +1 -0
  207. package/dist/templates/attribution.js +39 -0
  208. package/dist/templates/attribution.js.map +1 -0
  209. package/dist/templates/banner/badge-props.d.ts +16 -0
  210. package/dist/templates/banner/badge-props.d.ts.map +1 -0
  211. package/dist/templates/banner/badge-props.js +58 -0
  212. package/dist/templates/banner/badge-props.js.map +1 -0
  213. package/dist/templates/banner/badge.d.ts.map +1 -1
  214. package/dist/templates/banner/badge.js +3 -6
  215. package/dist/templates/banner/badge.js.map +1 -1
  216. package/dist/templates/banner/index.d.ts +3 -0
  217. package/dist/templates/banner/index.d.ts.map +1 -1
  218. package/dist/templates/banner/index.js +41 -37
  219. package/dist/templates/banner/index.js.map +1 -1
  220. package/dist/templates/banner/lines.d.ts +7 -12
  221. package/dist/templates/banner/lines.d.ts.map +1 -1
  222. package/dist/templates/banner/lines.js +23 -34
  223. package/dist/templates/banner/lines.js.map +1 -1
  224. package/dist/templates/banner/version.d.ts +9 -0
  225. package/dist/templates/banner/version.d.ts.map +1 -0
  226. package/dist/templates/banner/version.js +21 -0
  227. package/dist/templates/banner/version.js.map +1 -0
  228. package/dist/templates/card/index.d.ts +4 -1
  229. package/dist/templates/card/index.d.ts.map +1 -1
  230. package/dist/templates/card/index.js +37 -25
  231. package/dist/templates/card/index.js.map +1 -1
  232. package/dist/templates/card/lines.d.ts +17 -13
  233. package/dist/templates/card/lines.d.ts.map +1 -1
  234. package/dist/templates/card/lines.js +24 -20
  235. package/dist/templates/card/lines.js.map +1 -1
  236. package/dist/templates/code/chrome.d.ts +7 -3
  237. package/dist/templates/code/chrome.d.ts.map +1 -1
  238. package/dist/templates/code/chrome.js +12 -11
  239. package/dist/templates/code/chrome.js.map +1 -1
  240. package/dist/templates/code/clip.d.ts +1 -1
  241. package/dist/templates/code/clip.js +1 -1
  242. package/dist/templates/code/fit.d.ts +2 -2
  243. package/dist/templates/code/fit.d.ts.map +1 -1
  244. package/dist/templates/code/fit.js +4 -4
  245. package/dist/templates/code/fit.js.map +1 -1
  246. package/dist/templates/code/index.d.ts.map +1 -1
  247. package/dist/templates/code/index.js +7 -6
  248. package/dist/templates/code/index.js.map +1 -1
  249. package/dist/templates/code/layout.d.ts +1 -1
  250. package/dist/templates/code/layout.d.ts.map +1 -1
  251. package/dist/templates/code/layout.js +6 -6
  252. package/dist/templates/code/layout.js.map +1 -1
  253. package/dist/templates/code/panel.d.ts +13 -0
  254. package/dist/templates/code/panel.d.ts.map +1 -1
  255. package/dist/templates/code/panel.js +34 -2
  256. package/dist/templates/code/panel.js.map +1 -1
  257. package/dist/templates/code/plate.d.ts +3 -1
  258. package/dist/templates/code/plate.d.ts.map +1 -1
  259. package/dist/templates/code/plate.js +11 -9
  260. package/dist/templates/code/plate.js.map +1 -1
  261. package/dist/templates/code/spans.js +1 -1
  262. package/dist/templates/code/spans.js.map +1 -1
  263. package/dist/templates/code/width.d.ts +10 -0
  264. package/dist/templates/code/width.d.ts.map +1 -0
  265. package/dist/templates/code/width.js +26 -0
  266. package/dist/templates/code/width.js.map +1 -0
  267. package/dist/templates/footer.d.ts +8 -0
  268. package/dist/templates/footer.d.ts.map +1 -1
  269. package/dist/templates/footer.js +11 -1
  270. package/dist/templates/footer.js.map +1 -1
  271. package/dist/templates/index.d.ts +1 -1
  272. package/dist/templates/index.d.ts.map +1 -1
  273. package/dist/templates/index.js +1 -1
  274. package/dist/templates/index.js.map +1 -1
  275. package/dist/templates/logo.d.ts +15 -0
  276. package/dist/templates/logo.d.ts.map +1 -0
  277. package/dist/templates/logo.js +30 -0
  278. package/dist/templates/logo.js.map +1 -0
  279. package/dist/templates/measure.d.ts +11 -0
  280. package/dist/templates/measure.d.ts.map +1 -0
  281. package/dist/templates/measure.js +11 -0
  282. package/dist/templates/measure.js.map +1 -0
  283. package/dist/templates/props.d.ts +2 -2
  284. package/dist/templates/props.js +2 -2
  285. package/dist/templates/text.d.ts +37 -0
  286. package/dist/templates/text.d.ts.map +1 -0
  287. package/dist/templates/text.js +26 -0
  288. package/dist/templates/text.js.map +1 -0
  289. package/dist/text/break.d.ts +11 -0
  290. package/dist/text/break.d.ts.map +1 -0
  291. package/dist/text/break.js +30 -0
  292. package/dist/text/break.js.map +1 -0
  293. package/dist/text/fit.d.ts +30 -0
  294. package/dist/text/fit.d.ts.map +1 -0
  295. package/dist/text/fit.js +29 -0
  296. package/dist/text/fit.js.map +1 -0
  297. package/dist/text/index.d.ts +5 -3
  298. package/dist/text/index.d.ts.map +1 -1
  299. package/dist/text/index.js +3 -2
  300. package/dist/text/index.js.map +1 -1
  301. package/dist/text/wrap.d.ts +17 -7
  302. package/dist/text/wrap.d.ts.map +1 -1
  303. package/dist/text/wrap.js +25 -17
  304. package/dist/text/wrap.js.map +1 -1
  305. package/dist/texture/grain.d.ts +17 -0
  306. package/dist/texture/grain.d.ts.map +1 -0
  307. package/dist/texture/grain.js +29 -0
  308. package/dist/texture/grain.js.map +1 -0
  309. package/dist/texture/index.d.ts +11 -0
  310. package/dist/texture/index.d.ts.map +1 -0
  311. package/dist/texture/index.js +20 -0
  312. package/dist/texture/index.js.map +1 -0
  313. package/dist/texture/pattern.d.ts +17 -0
  314. package/dist/texture/pattern.d.ts.map +1 -0
  315. package/dist/texture/pattern.js +45 -0
  316. package/dist/texture/pattern.js.map +1 -0
  317. package/dist/texture/resolve.d.ts +16 -0
  318. package/dist/texture/resolve.d.ts.map +1 -0
  319. package/dist/texture/resolve.js +20 -0
  320. package/dist/texture/resolve.js.map +1 -0
  321. package/dist/theme/index.d.ts +27 -0
  322. package/dist/theme/index.d.ts.map +1 -0
  323. package/dist/theme/index.js +41 -0
  324. package/dist/theme/index.js.map +1 -0
  325. package/dist/theme/presets.d.ts +38 -0
  326. package/dist/theme/presets.d.ts.map +1 -0
  327. package/dist/theme/presets.js +150 -0
  328. package/dist/theme/presets.js.map +1 -0
  329. package/dist/types.d.ts +281 -46
  330. package/dist/types.d.ts.map +1 -1
  331. package/dist/validate/background.d.ts +12 -0
  332. package/dist/validate/background.d.ts.map +1 -0
  333. package/dist/validate/background.js +53 -0
  334. package/dist/validate/background.js.map +1 -0
  335. package/dist/validate/collect.d.ts +9 -0
  336. package/dist/validate/collect.d.ts.map +1 -0
  337. package/dist/validate/collect.js +34 -0
  338. package/dist/validate/collect.js.map +1 -0
  339. package/dist/validate/index.d.ts +1 -1
  340. package/dist/validate/index.d.ts.map +1 -1
  341. package/dist/validate/index.js +3 -20
  342. package/dist/validate/index.js.map +1 -1
  343. package/dist/validate/keys.d.ts +35 -2
  344. package/dist/validate/keys.d.ts.map +1 -1
  345. package/dist/validate/keys.js +92 -3
  346. package/dist/validate/keys.js.map +1 -1
  347. package/dist/validate/overrides.d.ts.map +1 -1
  348. package/dist/validate/overrides.js +5 -1
  349. package/dist/validate/overrides.js.map +1 -1
  350. package/dist/validate/suggest.d.ts.map +1 -1
  351. package/dist/validate/suggest.js +21 -3
  352. package/dist/validate/suggest.js.map +1 -1
  353. package/dist/validate/texture.d.ts +11 -0
  354. package/dist/validate/texture.d.ts.map +1 -0
  355. package/dist/validate/texture.js +34 -0
  356. package/dist/validate/texture.js.map +1 -0
  357. package/dist/validate/values.d.ts +10 -10
  358. package/dist/validate/values.d.ts.map +1 -1
  359. package/dist/validate/values.js +21 -31
  360. package/dist/validate/values.js.map +1 -1
  361. package/package.json +7 -1
@@ -0,0 +1,41 @@
1
+ import { THEMES } from "./presets.js";
2
+ export { themeNames } from "./presets.js";
3
+ /**
4
+ * The palette a theme brings, or `undefined` where there is no theme.
5
+ *
6
+ * It is what a partial override merges over, so that a size asking for one
7
+ * darker shade keeps the rest of the look rather than dropping back to the
8
+ * neutral default palette.
9
+ */
10
+ export function themePalette(theme) {
11
+ return theme === undefined ? undefined : THEMES[theme].colors;
12
+ }
13
+ /**
14
+ * Fill in the fields a theme supplies and the config did not name.
15
+ *
16
+ * A theme is applied by merging rather than by resolving, so that everything
17
+ * downstream sees an ordinary config and nothing else in the package has to
18
+ * know that themes exist. Whatever the config sets wins, field by field: this
19
+ * is `colors`, `background` and `texture` as defaults, not as a look that
20
+ * cannot be argued with.
21
+ *
22
+ * The consequence worth knowing is that a config naming its own `colors`
23
+ * alongside a theme keeps the theme's background as it was written, so the
24
+ * accent colour changes and the picture behind it does not. That follows from
25
+ * the merge, and it is the honest reading of a theme: the background is part
26
+ * of the look rather than something derived from the palette.
27
+ */
28
+ export function applyTheme(config) {
29
+ const theme = config.theme === undefined ? undefined : THEMES[config.theme];
30
+ if (theme === undefined) {
31
+ return config;
32
+ }
33
+ return {
34
+ ...config,
35
+ ...(config.colors === undefined && { colors: theme.colors }),
36
+ ...(config.background === undefined && { background: theme.background }),
37
+ ...(config.texture === undefined &&
38
+ theme.texture !== undefined && { texture: theme.texture }),
39
+ };
40
+ }
41
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/theme/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAEtC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C;;;;;;GAMG;AACH,MAAM,UAAU,YAAY,CAC1B,KAA4B;IAE5B,OAAO,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC;AAChE,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,UAAU,CAAC,MAAsB;IAC/C,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAE5E,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,OAAO;QACL,GAAG,MAAM;QACT,GAAG,CAAC,MAAM,CAAC,MAAM,KAAK,SAAS,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC;QAC5D,GAAG,CAAC,MAAM,CAAC,UAAU,KAAK,SAAS,IAAI,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,CAAC;QACxE,GAAG,CAAC,MAAM,CAAC,OAAO,KAAK,SAAS;YAC9B,KAAK,CAAC,OAAO,KAAK,SAAS,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC;KAC7D,CAAC;AACJ,CAAC"}
@@ -0,0 +1,38 @@
1
+ import type { Background, BrandColors, Texture, ThemeName } from "../types.js";
2
+ /**
3
+ * What a named theme sets. Every field is an ordinary config option, because
4
+ * that is all a theme is: a set of defaults for fields a project could have
5
+ * written out itself, and would rather not.
6
+ */
7
+ export interface Theme {
8
+ readonly colors: Required<BrandColors>;
9
+ readonly background: Background;
10
+ readonly texture?: Texture;
11
+ }
12
+ /**
13
+ * The curated set.
14
+ *
15
+ * Each one is a whole look rather than a palette, which is why the background
16
+ * is written out here instead of being derived from the colours: `midnight`
17
+ * without its mesh and `slate` without its dot grid are the same flat image in
18
+ * two shades of navy. Deriving would also mean a theme could only ever be the
19
+ * one gradient the defaults already give.
20
+ *
21
+ * Six of them are dark, since white text on a deep background is what a share
22
+ * image is usually asked to be, and two are light, because a site whose own
23
+ * pages are light has nothing to reach for otherwise.
24
+ *
25
+ * None of them turns grain on, though it is the treatment they would most
26
+ * obviously want. Per-pixel noise does not compress, and it takes a
27
+ * 1200x1200 PNG from around 600KB to a little over 2MB: a cost worth paying
28
+ * on purpose, and not one to hand someone who picked a theme by its name and
29
+ * is committing the images next to their posts.
30
+ */
31
+ export declare const THEMES: Readonly<Record<ThemeName, Theme>>;
32
+ /**
33
+ * The theme names, for validation and for anything listing them. Asserted
34
+ * rather than written out again, because `Object.keys` loses the key type and
35
+ * a second copy of the list is one that can drift from the set above.
36
+ */
37
+ export declare const themeNames: readonly ThemeName[];
38
+ //# sourceMappingURL=presets.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"presets.d.ts","sourceRoot":"","sources":["../../src/theme/presets.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAE/E;;;;GAIG;AACH,MAAM,WAAW,KAAK;IACpB,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,WAAW,CAAC,CAAC;IACvC,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC;IAChC,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,eAAO,MAAM,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC,CAkIrD,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,UAAU,EAA0B,SAAS,SAAS,EAAE,CAAC"}
@@ -0,0 +1,150 @@
1
+ /**
2
+ * The curated set.
3
+ *
4
+ * Each one is a whole look rather than a palette, which is why the background
5
+ * is written out here instead of being derived from the colours: `midnight`
6
+ * without its mesh and `slate` without its dot grid are the same flat image in
7
+ * two shades of navy. Deriving would also mean a theme could only ever be the
8
+ * one gradient the defaults already give.
9
+ *
10
+ * Six of them are dark, since white text on a deep background is what a share
11
+ * image is usually asked to be, and two are light, because a site whose own
12
+ * pages are light has nothing to reach for otherwise.
13
+ *
14
+ * None of them turns grain on, though it is the treatment they would most
15
+ * obviously want. Per-pixel noise does not compress, and it takes a
16
+ * 1200x1200 PNG from around 600KB to a little over 2MB: a cost worth paying
17
+ * on purpose, and not one to hand someone who picked a theme by its name and
18
+ * is committing the images next to their posts.
19
+ */
20
+ export const THEMES = {
21
+ midnight: {
22
+ colors: {
23
+ brand: "#6366f1",
24
+ brandDark: "#0b1020",
25
+ brandWarm: "#a855f7",
26
+ foreground: "#e6e9f5",
27
+ },
28
+ background: {
29
+ type: "mesh",
30
+ color: "#0b1020",
31
+ blobs: [
32
+ { color: "#4338ca", x: 0.12, y: 0.05, radius: 0.55, opacity: 0.85 },
33
+ { color: "#7c3aed", x: 0.9, y: 0.85, radius: 0.5, opacity: 0.7 },
34
+ { color: "#1d4ed8", x: 0.6, y: 1, radius: 0.4, opacity: 0.45 },
35
+ ],
36
+ },
37
+ texture: { type: "dots", opacity: 0.05 },
38
+ },
39
+ aurora: {
40
+ colors: {
41
+ brand: "#14b8a6",
42
+ brandDark: "#04211f",
43
+ brandWarm: "#8b5cf6",
44
+ foreground: "#ecfdf5",
45
+ },
46
+ background: {
47
+ type: "mesh",
48
+ color: "#04211f",
49
+ blobs: [
50
+ { color: "#14b8a6", x: 0.15, y: 0.85, radius: 0.7, opacity: 0.85 },
51
+ { color: "#22d3ee", x: 0.75, y: 0.15, radius: 0.6, opacity: 0.7 },
52
+ { color: "#8b5cf6", x: 1, y: 0.9, radius: 0.5, opacity: 0.55 },
53
+ ],
54
+ },
55
+ },
56
+ ember: {
57
+ colors: {
58
+ brand: "#f97316",
59
+ brandDark: "#1a0b06",
60
+ brandWarm: "#ef4444",
61
+ foreground: "#fff7ed",
62
+ },
63
+ background: {
64
+ type: "gradient",
65
+ stops: [
66
+ { offset: "0%", color: "#1a0b06" },
67
+ { offset: "55%", color: "#7c2d12" },
68
+ { offset: "100%", color: "#ea580c" },
69
+ ],
70
+ },
71
+ },
72
+ forest: {
73
+ colors: {
74
+ brand: "#22c55e",
75
+ brandDark: "#04140c",
76
+ brandWarm: "#a3e635",
77
+ foreground: "#ecfdf5",
78
+ },
79
+ background: {
80
+ type: "gradient",
81
+ stops: [
82
+ { offset: "0%", color: "#04140c" },
83
+ { offset: "55%", color: "#14532d" },
84
+ { offset: "100%", color: "#166534" },
85
+ ],
86
+ },
87
+ texture: { type: "rules", opacity: 0.05 },
88
+ },
89
+ bloom: {
90
+ colors: {
91
+ brand: "#ec4899",
92
+ brandDark: "#2e1065",
93
+ brandWarm: "#f59e0b",
94
+ foreground: "#fdf4ff",
95
+ },
96
+ background: {
97
+ type: "mesh",
98
+ color: "#2e1065",
99
+ blobs: [
100
+ { color: "#db2777", x: 0.2, y: 0.2, radius: 0.8, opacity: 0.85 },
101
+ { color: "#f472b6", x: 0.9, y: 0.35, radius: 0.5, opacity: 0.5 },
102
+ { color: "#7c3aed", x: 0.5, y: 1, radius: 0.75, opacity: 0.8 },
103
+ ],
104
+ },
105
+ },
106
+ slate: {
107
+ colors: {
108
+ brand: "#38bdf8",
109
+ brandDark: "#0f172a",
110
+ brandWarm: "#64748b",
111
+ foreground: "#f1f5f9",
112
+ },
113
+ background: { type: "solid", color: "#0f172a" },
114
+ texture: { type: "dots", opacity: 0.07 },
115
+ },
116
+ paper: {
117
+ colors: {
118
+ brand: "#b45309",
119
+ brandDark: "#78350f",
120
+ brandWarm: "#d97706",
121
+ foreground: "#1c1917",
122
+ },
123
+ background: { type: "solid", color: "#faf7f0" },
124
+ texture: { type: "rules", opacity: 0.05 },
125
+ },
126
+ sandstone: {
127
+ colors: {
128
+ brand: "#c2410c",
129
+ brandDark: "#9a3412",
130
+ brandWarm: "#f59e0b",
131
+ foreground: "#292524",
132
+ },
133
+ background: {
134
+ type: "gradient",
135
+ stops: [
136
+ { offset: "0%", color: "#fdf6ec" },
137
+ { offset: "55%", color: "#f7e6cf" },
138
+ { offset: "100%", color: "#f2d5b3" },
139
+ ],
140
+ },
141
+ texture: { type: "dots", opacity: 0.06 },
142
+ },
143
+ };
144
+ /**
145
+ * The theme names, for validation and for anything listing them. Asserted
146
+ * rather than written out again, because `Object.keys` loses the key type and
147
+ * a second copy of the list is one that can drift from the set above.
148
+ */
149
+ export const themeNames = Object.keys(THEMES);
150
+ //# sourceMappingURL=presets.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"presets.js","sourceRoot":"","sources":["../../src/theme/presets.ts"],"names":[],"mappings":"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"}