@brimveyn/aimux-config 0.4.3 → 0.4.5

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 (78) hide show
  1. package/package.json +1 -1
  2. package/src/actions.ts +11 -8
  3. package/src/defaults.ts +3 -2
  4. package/src/house-themes.ts +44 -302
  5. package/src/index.ts +20 -16
  6. package/src/palette-to-shiki.ts +134 -0
  7. package/src/palette-utils.ts +92 -0
  8. package/src/resolver.ts +0 -1
  9. package/src/themes/opencode.ts +1460 -0
  10. package/src/themes.ts +18 -88
  11. package/src/types.ts +42 -130
  12. package/src/normalize-theme.ts +0 -260
  13. package/src/themes/generated/andromeeda.ts +0 -346
  14. package/src/themes/generated/aurora-x.ts +0 -603
  15. package/src/themes/generated/ayu-dark.ts +0 -817
  16. package/src/themes/generated/ayu-light.ts +0 -817
  17. package/src/themes/generated/ayu-mirage.ts +0 -817
  18. package/src/themes/generated/catppuccin-frappe.ts +0 -2041
  19. package/src/themes/generated/catppuccin-latte.ts +0 -2041
  20. package/src/themes/generated/catppuccin-macchiato.ts +0 -2041
  21. package/src/themes/generated/catppuccin-mocha.ts +0 -2041
  22. package/src/themes/generated/dark-plus.ts +0 -614
  23. package/src/themes/generated/dracula-soft.ts +0 -947
  24. package/src/themes/generated/dracula.ts +0 -947
  25. package/src/themes/generated/everforest-dark.ts +0 -2246
  26. package/src/themes/generated/everforest-light.ts +0 -2246
  27. package/src/themes/generated/github-dark-default.ts +0 -605
  28. package/src/themes/generated/github-dark-dimmed.ts +0 -605
  29. package/src/themes/generated/github-dark-high-contrast.ts +0 -608
  30. package/src/themes/generated/github-dark.ts +0 -519
  31. package/src/themes/generated/github-light-default.ts +0 -602
  32. package/src/themes/generated/github-light-high-contrast.ts +0 -604
  33. package/src/themes/generated/github-light.ts +0 -515
  34. package/src/themes/generated/gruvbox-dark-hard.ts +0 -1124
  35. package/src/themes/generated/gruvbox-dark-medium.ts +0 -1124
  36. package/src/themes/generated/gruvbox-dark-soft.ts +0 -1124
  37. package/src/themes/generated/gruvbox-light-hard.ts +0 -1124
  38. package/src/themes/generated/gruvbox-light-medium.ts +0 -1124
  39. package/src/themes/generated/gruvbox-light-soft.ts +0 -1124
  40. package/src/themes/generated/horizon-bright.ts +0 -420
  41. package/src/themes/generated/horizon.ts +0 -418
  42. package/src/themes/generated/houston.ts +0 -1819
  43. package/src/themes/generated/index.ts +0 -140
  44. package/src/themes/generated/kanagawa-dragon.ts +0 -753
  45. package/src/themes/generated/kanagawa-lotus.ts +0 -753
  46. package/src/themes/generated/kanagawa-wave.ts +0 -753
  47. package/src/themes/generated/laserwave.ts +0 -489
  48. package/src/themes/generated/light-plus.ts +0 -639
  49. package/src/themes/generated/material-theme-darker.ts +0 -759
  50. package/src/themes/generated/material-theme-lighter.ts +0 -759
  51. package/src/themes/generated/material-theme-ocean.ts +0 -759
  52. package/src/themes/generated/material-theme-palenight.ts +0 -759
  53. package/src/themes/generated/material-theme.ts +0 -759
  54. package/src/themes/generated/min-dark.ts +0 -326
  55. package/src/themes/generated/min-light.ts +0 -331
  56. package/src/themes/generated/monokai.ts +0 -463
  57. package/src/themes/generated/night-owl-light.ts +0 -1526
  58. package/src/themes/generated/night-owl.ts +0 -1628
  59. package/src/themes/generated/nord.ts +0 -1277
  60. package/src/themes/generated/one-dark-pro.ts +0 -1920
  61. package/src/themes/generated/one-light.ts +0 -1599
  62. package/src/themes/generated/plastic.ts +0 -315
  63. package/src/themes/generated/poimandres.ts +0 -1233
  64. package/src/themes/generated/red.ts +0 -395
  65. package/src/themes/generated/rose-pine-dawn.ts +0 -696
  66. package/src/themes/generated/rose-pine-moon.ts +0 -696
  67. package/src/themes/generated/rose-pine.ts +0 -696
  68. package/src/themes/generated/slack-dark.ts +0 -594
  69. package/src/themes/generated/slack-ochin.ts +0 -461
  70. package/src/themes/generated/snazzy-light.ts +0 -1254
  71. package/src/themes/generated/solarized-dark.ts +0 -387
  72. package/src/themes/generated/solarized-light.ts +0 -379
  73. package/src/themes/generated/synthwave-84.ts +0 -751
  74. package/src/themes/generated/tokyo-night.ts +0 -1420
  75. package/src/themes/generated/vesper.ts +0 -578
  76. package/src/themes/generated/vitesse-black.ts +0 -629
  77. package/src/themes/generated/vitesse-dark.ts +0 -629
  78. package/src/themes/generated/vitesse-light.ts +0 -627
@@ -0,0 +1,92 @@
1
+ import type { AimuxPalette } from './types'
2
+
3
+ function stripAlpha(hex: string): string {
4
+ if (hex.length === 9) return hex.slice(0, 7)
5
+ if (hex.length === 5) return hex.slice(0, 4)
6
+ return hex
7
+ }
8
+
9
+ function expand3(hex: string): string {
10
+ if (hex.length === 4) return `#${hex[1]}${hex[1]}${hex[2]}${hex[2]}${hex[3]}${hex[3]}`
11
+ return hex
12
+ }
13
+
14
+ function parseHex(hex: string): { b: number; g: number; r: number } {
15
+ const clean = expand3(stripAlpha(hex))
16
+ return {
17
+ b: parseInt(clean.slice(5, 7), 16),
18
+ g: parseInt(clean.slice(3, 5), 16),
19
+ r: parseInt(clean.slice(1, 3), 16),
20
+ }
21
+ }
22
+
23
+ function toHex({ b, g, r }: { b: number; g: number; r: number }): string {
24
+ const clamp = (n: number): number => Math.max(0, Math.min(255, Math.round(n)))
25
+ const h = (n: number): string => clamp(n).toString(16).padStart(2, '0')
26
+ return `#${h(r)}${h(g)}${h(b)}`
27
+ }
28
+
29
+ /** Linearly mix two hex colors. `t=0` returns `a`, `t=1` returns `b`. */
30
+ export function mix(a: string, b: string, t: number): string {
31
+ const ca = parseHex(a)
32
+ const cb = parseHex(b)
33
+ return toHex({
34
+ b: ca.b + (cb.b - ca.b) * t,
35
+ g: ca.g + (cb.g - ca.g) * t,
36
+ r: ca.r + (cb.r - ca.r) * t,
37
+ })
38
+ }
39
+
40
+ /** Muted foreground — half-way between background and ink. */
41
+ export function muted(p: AimuxPalette): string {
42
+ return mix(p.neutral, p.ink, 0.55)
43
+ }
44
+
45
+ /** Slightly recessed foreground for line numbers / placeholders. */
46
+ export function faint(p: AimuxPalette): string {
47
+ return mix(p.neutral, p.ink, 0.3)
48
+ }
49
+
50
+ /** A surface tone above the base background — sidebars, headers. */
51
+ export function elevated(p: AimuxPalette): string {
52
+ return mix(p.neutral, p.ink, 0.04)
53
+ }
54
+
55
+ /** Hover/highlight surface (line highlight, list hover). */
56
+ export function hover(p: AimuxPalette): string {
57
+ return mix(p.neutral, p.ink, 0.08)
58
+ }
59
+
60
+ /** Selected/active row surface. Falls back to a primary-tinted shade. */
61
+ export function selected(p: AimuxPalette): string {
62
+ return p.interactive ?? mix(p.neutral, p.primary, 0.18)
63
+ }
64
+
65
+ /** Subtle border between panels. */
66
+ export function border(p: AimuxPalette): string {
67
+ return mix(p.neutral, p.ink, 0.18)
68
+ }
69
+
70
+ /** Background tint for inserted diff lines. */
71
+ export function diffAddBg(p: AimuxPalette): string {
72
+ return p.diffAdd ?? mix(p.neutral, p.success, 0.18)
73
+ }
74
+
75
+ /** Background tint for removed diff lines. */
76
+ export function diffDeleteBg(p: AimuxPalette): string {
77
+ return p.diffDelete ?? mix(p.neutral, p.error, 0.18)
78
+ }
79
+
80
+ /** Resolve `accent`, falling back to `primary`. */
81
+ export function accent(p: AimuxPalette): string {
82
+ return p.accent ?? p.primary
83
+ }
84
+
85
+ /** Merge a partial palette onto a base palette. */
86
+ export function extendPalette(
87
+ base: AimuxPalette,
88
+ overrides: Partial<AimuxPalette> | undefined
89
+ ): AimuxPalette {
90
+ if (!overrides) return base
91
+ return { ...base, ...overrides }
92
+ }
package/src/resolver.ts CHANGED
@@ -25,7 +25,6 @@ export function resolveConfig(userConfig: AimuxUserConfig): ResolvedConfig {
25
25
  sidebar: userConfig.sidebar ?? {},
26
26
  snippets: userConfig.snippets ?? [],
27
27
  theme: userConfig.theme,
28
- themes: userConfig.themes ?? {},
29
28
  }
30
29
  }
31
30