@adea-ai/themes 0.4.3 → 0.5.1

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 (216) hide show
  1. package/README.md +24 -0
  2. package/dist/accents.d.ts +1 -1
  3. package/dist/accents.d.ts.map +1 -1
  4. package/dist/accents.js +1 -1
  5. package/dist/accents.js.map +1 -1
  6. package/dist/adapters/base24.d.ts +2 -2
  7. package/dist/adapters/base24.d.ts.map +1 -1
  8. package/dist/adapters/base24.js +1 -1
  9. package/dist/adapters/base24.js.map +1 -1
  10. package/dist/adapters/css.d.ts +1 -1
  11. package/dist/adapters/css.d.ts.map +1 -1
  12. package/dist/adapters/css.js +2 -2
  13. package/dist/adapters/css.js.map +1 -1
  14. package/dist/adapters/shadcn.d.ts +1 -1
  15. package/dist/adapters/shadcn.d.ts.map +1 -1
  16. package/dist/adapters/shadcn.js +8 -3
  17. package/dist/adapters/shadcn.js.map +1 -1
  18. package/dist/adapters/shiki.d.ts +1 -1
  19. package/dist/adapters/shiki.d.ts.map +1 -1
  20. package/dist/adapters/shiki.js +2 -2
  21. package/dist/adapters/shiki.js.map +1 -1
  22. package/dist/adapters/tailwind.js +2 -2
  23. package/dist/adapters/tailwind.js.map +1 -1
  24. package/dist/adapters/xterm.d.ts +1 -1
  25. package/dist/adapters/xterm.d.ts.map +1 -1
  26. package/dist/adapters/xterm.js +1 -1
  27. package/dist/adapters/xterm.js.map +1 -1
  28. package/dist/catalogue.d.ts +2 -2
  29. package/dist/catalogue.d.ts.map +1 -1
  30. package/dist/catalogue.js +2 -2
  31. package/dist/catalogue.js.map +1 -1
  32. package/dist/derive.d.ts +1 -1
  33. package/dist/derive.d.ts.map +1 -1
  34. package/dist/derive.js +1 -1
  35. package/dist/derive.js.map +1 -1
  36. package/dist/generated/metadata.d.ts +11 -0
  37. package/dist/generated/metadata.d.ts.map +1 -0
  38. package/dist/generated/metadata.js +605 -0
  39. package/dist/generated/metadata.js.map +1 -0
  40. package/dist/generated/schemes.d.ts +1 -1
  41. package/dist/generated/schemes.d.ts.map +1 -1
  42. package/dist/generated/themes/adea-dark.d.ts +11 -0
  43. package/dist/generated/themes/adea-dark.d.ts.map +1 -0
  44. package/dist/generated/themes/adea-dark.js +71 -0
  45. package/dist/generated/themes/adea-dark.js.map +1 -0
  46. package/dist/generated/themes/adea-light.d.ts +11 -0
  47. package/dist/generated/themes/adea-light.d.ts.map +1 -0
  48. package/dist/generated/themes/adea-light.js +71 -0
  49. package/dist/generated/themes/adea-light.js.map +1 -0
  50. package/dist/generated/themes/ayu-light.d.ts +11 -0
  51. package/dist/generated/themes/ayu-light.d.ts.map +1 -0
  52. package/dist/generated/themes/ayu-light.js +69 -0
  53. package/dist/generated/themes/ayu-light.js.map +1 -0
  54. package/dist/generated/themes/ayu-mirage.d.ts +11 -0
  55. package/dist/generated/themes/ayu-mirage.d.ts.map +1 -0
  56. package/dist/generated/themes/ayu-mirage.js +69 -0
  57. package/dist/generated/themes/ayu-mirage.js.map +1 -0
  58. package/dist/generated/themes/ayu.d.ts +11 -0
  59. package/dist/generated/themes/ayu.d.ts.map +1 -0
  60. package/dist/generated/themes/ayu.js +69 -0
  61. package/dist/generated/themes/ayu.js.map +1 -0
  62. package/dist/generated/themes/catppuccin-frappe.d.ts +11 -0
  63. package/dist/generated/themes/catppuccin-frappe.d.ts.map +1 -0
  64. package/dist/generated/themes/catppuccin-frappe.js +70 -0
  65. package/dist/generated/themes/catppuccin-frappe.js.map +1 -0
  66. package/dist/generated/themes/catppuccin-latte.d.ts +11 -0
  67. package/dist/generated/themes/catppuccin-latte.d.ts.map +1 -0
  68. package/dist/generated/themes/catppuccin-latte.js +70 -0
  69. package/dist/generated/themes/catppuccin-latte.js.map +1 -0
  70. package/dist/generated/themes/catppuccin-macchiato.d.ts +11 -0
  71. package/dist/generated/themes/catppuccin-macchiato.d.ts.map +1 -0
  72. package/dist/generated/themes/catppuccin-macchiato.js +69 -0
  73. package/dist/generated/themes/catppuccin-macchiato.js.map +1 -0
  74. package/dist/generated/themes/catppuccin-mocha.d.ts +11 -0
  75. package/dist/generated/themes/catppuccin-mocha.d.ts.map +1 -0
  76. package/dist/generated/themes/catppuccin-mocha.js +70 -0
  77. package/dist/generated/themes/catppuccin-mocha.js.map +1 -0
  78. package/dist/generated/themes/dracula.d.ts +11 -0
  79. package/dist/generated/themes/dracula.d.ts.map +1 -0
  80. package/dist/generated/themes/dracula.js +71 -0
  81. package/dist/generated/themes/dracula.js.map +1 -0
  82. package/dist/generated/themes/everforest-dark.d.ts +11 -0
  83. package/dist/generated/themes/everforest-dark.d.ts.map +1 -0
  84. package/dist/generated/themes/everforest-dark.js +71 -0
  85. package/dist/generated/themes/everforest-dark.js.map +1 -0
  86. package/dist/generated/themes/everforest-light.d.ts +11 -0
  87. package/dist/generated/themes/everforest-light.d.ts.map +1 -0
  88. package/dist/generated/themes/everforest-light.js +70 -0
  89. package/dist/generated/themes/everforest-light.js.map +1 -0
  90. package/dist/generated/themes/gruvbox-dark.d.ts +11 -0
  91. package/dist/generated/themes/gruvbox-dark.d.ts.map +1 -0
  92. package/dist/generated/themes/gruvbox-dark.js +71 -0
  93. package/dist/generated/themes/gruvbox-dark.js.map +1 -0
  94. package/dist/generated/themes/gruvbox-light.d.ts +11 -0
  95. package/dist/generated/themes/gruvbox-light.d.ts.map +1 -0
  96. package/dist/generated/themes/gruvbox-light.js +70 -0
  97. package/dist/generated/themes/gruvbox-light.js.map +1 -0
  98. package/dist/generated/themes/kanagawa.d.ts +11 -0
  99. package/dist/generated/themes/kanagawa.d.ts.map +1 -0
  100. package/dist/generated/themes/kanagawa.js +71 -0
  101. package/dist/generated/themes/kanagawa.js.map +1 -0
  102. package/dist/generated/themes/monokai.d.ts +11 -0
  103. package/dist/generated/themes/monokai.d.ts.map +1 -0
  104. package/dist/generated/themes/monokai.js +71 -0
  105. package/dist/generated/themes/monokai.js.map +1 -0
  106. package/dist/generated/themes/nord.d.ts +11 -0
  107. package/dist/generated/themes/nord.d.ts.map +1 -0
  108. package/dist/generated/themes/nord.js +71 -0
  109. package/dist/generated/themes/nord.js.map +1 -0
  110. package/dist/generated/themes/one-dark.d.ts +11 -0
  111. package/dist/generated/themes/one-dark.d.ts.map +1 -0
  112. package/dist/generated/themes/one-dark.js +70 -0
  113. package/dist/generated/themes/one-dark.js.map +1 -0
  114. package/dist/generated/themes/rosepine-dawn.d.ts +11 -0
  115. package/dist/generated/themes/rosepine-dawn.d.ts.map +1 -0
  116. package/dist/generated/themes/rosepine-dawn.js +69 -0
  117. package/dist/generated/themes/rosepine-dawn.js.map +1 -0
  118. package/dist/generated/themes/rosepine-moon.d.ts +11 -0
  119. package/dist/generated/themes/rosepine-moon.d.ts.map +1 -0
  120. package/dist/generated/themes/rosepine-moon.js +69 -0
  121. package/dist/generated/themes/rosepine-moon.js.map +1 -0
  122. package/dist/generated/themes/rosepine.d.ts +11 -0
  123. package/dist/generated/themes/rosepine.d.ts.map +1 -0
  124. package/dist/generated/themes/rosepine.js +70 -0
  125. package/dist/generated/themes/rosepine.js.map +1 -0
  126. package/dist/generated/themes/solarized-dark.d.ts +11 -0
  127. package/dist/generated/themes/solarized-dark.d.ts.map +1 -0
  128. package/dist/generated/themes/solarized-dark.js +70 -0
  129. package/dist/generated/themes/solarized-dark.js.map +1 -0
  130. package/dist/generated/themes/solarized-light.d.ts +11 -0
  131. package/dist/generated/themes/solarized-light.d.ts.map +1 -0
  132. package/dist/generated/themes/solarized-light.js +70 -0
  133. package/dist/generated/themes/solarized-light.js.map +1 -0
  134. package/dist/generated/themes/tokyonight-day.d.ts +11 -0
  135. package/dist/generated/themes/tokyonight-day.d.ts.map +1 -0
  136. package/dist/generated/themes/tokyonight-day.js +69 -0
  137. package/dist/generated/themes/tokyonight-day.js.map +1 -0
  138. package/dist/generated/themes/tokyonight-night.d.ts +11 -0
  139. package/dist/generated/themes/tokyonight-night.d.ts.map +1 -0
  140. package/dist/generated/themes/tokyonight-night.js +70 -0
  141. package/dist/generated/themes/tokyonight-night.js.map +1 -0
  142. package/dist/generated/themes/tokyonight-storm.d.ts +11 -0
  143. package/dist/generated/themes/tokyonight-storm.d.ts.map +1 -0
  144. package/dist/generated/themes/tokyonight-storm.js +69 -0
  145. package/dist/generated/themes/tokyonight-storm.js.map +1 -0
  146. package/dist/generated/themes/vesper.d.ts +11 -0
  147. package/dist/generated/themes/vesper.d.ts.map +1 -0
  148. package/dist/generated/themes/vesper.js +70 -0
  149. package/dist/generated/themes/vesper.js.map +1 -0
  150. package/dist/generated/themes.d.ts +1 -1
  151. package/dist/generated/themes.d.ts.map +1 -1
  152. package/dist/generated/themes.js +54 -1647
  153. package/dist/generated/themes.js.map +1 -1
  154. package/dist/index.d.ts +24 -24
  155. package/dist/index.d.ts.map +1 -1
  156. package/dist/index.js +13 -13
  157. package/dist/index.js.map +1 -1
  158. package/dist/normalize.d.ts +4 -4
  159. package/dist/normalize.d.ts.map +1 -1
  160. package/dist/normalize.js +3 -3
  161. package/dist/normalize.js.map +1 -1
  162. package/dist/schema.d.ts +2 -0
  163. package/dist/schema.d.ts.map +1 -1
  164. package/dist/sources.d.ts +2 -2
  165. package/dist/sources.d.ts.map +1 -1
  166. package/dist/sources.js +1 -1
  167. package/dist/sources.js.map +1 -1
  168. package/dist/validate.d.ts +1 -1
  169. package/dist/validate.d.ts.map +1 -1
  170. package/dist/validate.js +4 -4
  171. package/dist/validate.js.map +1 -1
  172. package/package.json +14 -2
  173. package/src/accents.ts +3 -3
  174. package/src/adapters/base24.ts +3 -3
  175. package/src/adapters/css.ts +3 -3
  176. package/src/adapters/shadcn.ts +9 -4
  177. package/src/adapters/shiki.ts +4 -4
  178. package/src/adapters/tailwind.ts +2 -2
  179. package/src/adapters/xterm.ts +3 -3
  180. package/src/catalogue.ts +4 -4
  181. package/src/derive.ts +3 -3
  182. package/src/generated/metadata.ts +607 -0
  183. package/src/generated/schemes.ts +1 -1
  184. package/src/generated/themes/adea-dark.ts +73 -0
  185. package/src/generated/themes/adea-light.ts +73 -0
  186. package/src/generated/themes/ayu-light.ts +71 -0
  187. package/src/generated/themes/ayu-mirage.ts +71 -0
  188. package/src/generated/themes/ayu.ts +71 -0
  189. package/src/generated/themes/catppuccin-frappe.ts +72 -0
  190. package/src/generated/themes/catppuccin-latte.ts +72 -0
  191. package/src/generated/themes/catppuccin-macchiato.ts +71 -0
  192. package/src/generated/themes/catppuccin-mocha.ts +72 -0
  193. package/src/generated/themes/dracula.ts +73 -0
  194. package/src/generated/themes/everforest-dark.ts +73 -0
  195. package/src/generated/themes/everforest-light.ts +72 -0
  196. package/src/generated/themes/gruvbox-dark.ts +73 -0
  197. package/src/generated/themes/gruvbox-light.ts +72 -0
  198. package/src/generated/themes/kanagawa.ts +73 -0
  199. package/src/generated/themes/monokai.ts +73 -0
  200. package/src/generated/themes/nord.ts +73 -0
  201. package/src/generated/themes/one-dark.ts +72 -0
  202. package/src/generated/themes/rosepine-dawn.ts +71 -0
  203. package/src/generated/themes/rosepine-moon.ts +71 -0
  204. package/src/generated/themes/rosepine.ts +72 -0
  205. package/src/generated/themes/solarized-dark.ts +72 -0
  206. package/src/generated/themes/solarized-light.ts +72 -0
  207. package/src/generated/themes/tokyonight-day.ts +71 -0
  208. package/src/generated/themes/tokyonight-night.ts +72 -0
  209. package/src/generated/themes/tokyonight-storm.ts +71 -0
  210. package/src/generated/themes/vesper.ts +72 -0
  211. package/src/generated/themes.ts +55 -1648
  212. package/src/index.ts +25 -24
  213. package/src/normalize.ts +7 -7
  214. package/src/schema.ts +3 -0
  215. package/src/sources.ts +3 -3
  216. package/src/validate.ts +6 -6
package/src/index.ts CHANGED
@@ -53,11 +53,12 @@ export type {
53
53
  ThemeAppearance,
54
54
  ThemeColorKey,
55
55
  ThemeFamily,
56
+ ThemeMetadata,
56
57
  ThemeProvenance,
57
- } from './schema'
58
- export { ANSI_KEYS, THEME_COLOR_KEYS } from './schema'
58
+ } from './schema.js'
59
+ export { ANSI_KEYS, THEME_COLOR_KEYS } from './schema.js'
59
60
 
60
- export type { AccentPreset, AccentRoles } from './accents'
61
+ export type { AccentPreset, AccentRoles } from './accents.js'
61
62
  export {
62
63
  ACCENTS,
63
64
  ACCENT_HOVER_STEP,
@@ -70,7 +71,7 @@ export {
70
71
  getAccent,
71
72
  primaryHover,
72
73
  primarySubtleCss,
73
- } from './accents'
74
+ } from './accents.js'
74
75
 
75
76
  /* --- The catalogue ------------------------------------------------------ */
76
77
  export {
@@ -85,10 +86,10 @@ export {
85
86
  themes,
86
87
  themesByAppearance,
87
88
  toTheme,
88
- } from './catalogue'
89
+ } from './catalogue.js'
89
90
 
90
91
  /* --- The colour core ---------------------------------------------------- */
91
- export type { ContrastRepair, Oklch } from './oklch'
92
+ export type { ContrastRepair, Oklch } from './oklch.js'
92
93
  export {
93
94
  contrastRatio,
94
95
  deltaEok,
@@ -103,10 +104,10 @@ export {
103
104
  relativeLuminance,
104
105
  repairContrast,
105
106
  shiftLightness,
106
- } from './oklch'
107
+ } from './oklch.js'
107
108
 
108
109
  /* --- The gate ----------------------------------------------------------- */
109
- export type { AnsiInvariant, ContrastFinding, Pairing } from './validate'
110
+ export type { AnsiInvariant, ContrastFinding, Pairing } from './validate.js'
110
111
  export {
111
112
  REQUIRED_PAIRINGS,
112
113
  STATUS_PAIRINGS,
@@ -114,14 +115,14 @@ export {
114
115
  formatFindings,
115
116
  validateCatalogue,
116
117
  validateTheme,
117
- } from './validate'
118
+ } from './validate.js'
118
119
 
119
120
  /* --- Normalization, for a consumer bringing its own palette ------------- */
120
- export type { NormalizationFinding, NormalizedTheme, ThemeSourceSpec } from './normalize'
121
- export { CONTRAST_FLOORS, normalizeTheme } from './normalize'
121
+ export type { NormalizationFinding, NormalizedTheme, ThemeSourceSpec } from './normalize.js'
122
+ export { CONTRAST_FLOORS, normalizeTheme } from './normalize.js'
122
123
 
123
124
  /* --- Derived colours --------------------------------------------------- */
124
- export type { StatusRole, SyntaxRole } from './derive'
125
+ export type { StatusRole, SyntaxRole } from './derive.js'
125
126
  export {
126
127
  CHART_SERIES,
127
128
  STATUS_ROLES,
@@ -131,10 +132,10 @@ export {
131
132
  syntaxRoles,
132
133
  syntaxRolesHex,
133
134
  tint,
134
- } from './derive'
135
+ } from './derive.js'
135
136
 
136
137
  /* --- Adapters ---------------------------------------------------------- */
137
- export type { Base24Palette, Base24Scheme, Base24Slot } from './adapters/base24'
138
+ export type { Base24Palette, Base24Scheme, Base24Slot } from './adapters/base24.js'
138
139
  export {
139
140
  BASE24_SLOTS,
140
141
  BASE24_SLOT_MEANING,
@@ -144,18 +145,18 @@ export {
144
145
  parseBase24Palette,
145
146
  parseBase24Scheme,
146
147
  toBase24,
147
- } from './adapters/base24'
148
+ } from './adapters/base24.js'
148
149
 
149
- export type { XtermTheme } from './adapters/xterm'
150
- export { toXtermTheme } from './adapters/xterm'
150
+ export type { XtermTheme } from './adapters/xterm.js'
151
+ export { toXtermTheme } from './adapters/xterm.js'
151
152
 
152
- export type { CssOptions } from './adapters/css'
153
- export { catalogueCss, cssVariableName, themeCss, themeCssVariables } from './adapters/css'
153
+ export type { CssOptions } from './adapters/css.js'
154
+ export { catalogueCss, cssVariableName, themeCss, themeCssVariables } from './adapters/css.js'
154
155
 
155
- export type { TailwindOptions } from './adapters/tailwind'
156
- export { toTailwindTheme } from './adapters/tailwind'
156
+ export type { TailwindOptions } from './adapters/tailwind.js'
157
+ export { toTailwindTheme } from './adapters/tailwind.js'
157
158
 
158
- export type { ShikiThemeRegistration, ShikiTokenSetting } from './adapters/shiki'
159
- export { toShikiTheme, toShikiThemes } from './adapters/shiki'
159
+ export type { ShikiThemeRegistration, ShikiTokenSetting } from './adapters/shiki.js'
160
+ export { toShikiTheme, toShikiThemes } from './adapters/shiki.js'
160
161
 
161
- export { SHADCN_MAPPING, shadcnCss, shadcnRoles, shadcnVariables } from './adapters/shadcn'
162
+ export { SHADCN_MAPPING, shadcnCss, shadcnRoles, shadcnVariables } from './adapters/shadcn.js'
package/src/normalize.ts CHANGED
@@ -52,10 +52,10 @@ import type {
52
52
  AnsiKey,
53
53
  ThemeAppearance,
54
54
  ThemeProvenance,
55
- } from './schema'
56
- import type { Base24Scheme, Base24Slot } from './adapters/base24'
57
- import { parseBase24Palette } from './adapters/base24'
58
- import type { Oklch } from './oklch'
55
+ } from './schema.js'
56
+ import type { Base24Scheme, Base24Slot } from './adapters/base24.js'
57
+ import { parseBase24Palette } from './adapters/base24.js'
58
+ import type { Oklch } from './oklch.js'
59
59
  import {
60
60
  canonical,
61
61
  contrastRatio,
@@ -65,9 +65,9 @@ import {
65
65
  mix,
66
66
  parseColor,
67
67
  shiftLightness,
68
- } from './oklch'
69
- import type { ContrastRepair } from './oklch'
70
- import { repairContrast } from './oklch'
68
+ } from './oklch.js'
69
+ import type { ContrastRepair } from './oklch.js'
70
+ import { repairContrast } from './oklch.js'
71
71
 
72
72
  /**
73
73
  * The contrast floors.
package/src/schema.ts CHANGED
@@ -220,3 +220,6 @@ export const ANSI_KEYS = [
220
220
 
221
221
  export type ThemeColorKey = (typeof THEME_COLOR_KEYS)[number]
222
222
  export type AnsiKey = (typeof ANSI_KEYS)[number]
223
+
224
+ /** Lightweight catalogue identities for a picker that loads palettes on demand. */
225
+ export type ThemeMetadata = Omit<AdeaThemeRecord, 'colors' | 'ansi' | 'cursor' | 'selection'>
package/src/sources.ts CHANGED
@@ -36,9 +36,9 @@
36
36
  * claim "this is really Catppuccin Mocha" fails the build rather than drifting.
37
37
  */
38
38
 
39
- import type { Base24Slot } from './adapters/base24'
40
- import { CONTRAST_FLOORS } from './normalize'
41
- import type { ThemeAppearance, ThemeProvenance } from './schema'
39
+ import type { Base24Slot } from './adapters/base24.js'
40
+ import { CONTRAST_FLOORS } from './normalize.js'
41
+ import type { ThemeAppearance, ThemeProvenance } from './schema.js'
42
42
 
43
43
  /** The dataset the Base24 schemes are reproduced from. */
44
44
  export const CATALOGUE_REPOSITORY = 'https://github.com/williamzujkowski/oklch-terminal-themes'
package/src/validate.ts CHANGED
@@ -27,12 +27,12 @@
27
27
  * the only way to know a theme is admissible without reimplementing the rules.
28
28
  */
29
29
 
30
- import type { AdeaTheme, AnsiKey, ThemeColorKey } from './schema'
31
- import { ANSI_KEYS, THEME_COLOR_KEYS } from './schema'
32
- import type { Oklch } from './oklch'
33
- import { contrastRatio, deltaEok, parseColor } from './oklch'
34
- import { CONTRAST_FLOORS } from './normalize'
35
- import { STATUS_ROLES, statusForeground } from './derive'
30
+ import type { AdeaTheme, AnsiKey, ThemeColorKey } from './schema.js'
31
+ import { ANSI_KEYS, THEME_COLOR_KEYS } from './schema.js'
32
+ import type { Oklch } from './oklch.js'
33
+ import { contrastRatio, deltaEok, parseColor } from './oklch.js'
34
+ import { CONTRAST_FLOORS } from './normalize.js'
35
+ import { STATUS_ROLES, statusForeground } from './derive.js'
36
36
 
37
37
  /** One measured pairing that failed. */
38
38
  export interface ContrastFinding {