@zakmandhro/bunti 0.1.5 → 0.2.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.
- package/AGENTS.md +65 -0
- package/README.md +81 -11
- package/dist/cli.d.ts +44 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +147 -0
- package/dist/cli.js.map +1 -0
- package/dist/colors.d.ts +77 -7
- package/dist/colors.d.ts.map +1 -1
- package/dist/colors.js +238 -39
- package/dist/colors.js.map +1 -1
- package/dist/components/Box.d.ts +6 -0
- package/dist/components/Box.d.ts.map +1 -1
- package/dist/components/Box.js +5 -0
- package/dist/components/Box.js.map +1 -1
- package/dist/components/Button.d.ts +12 -2
- package/dist/components/Button.d.ts.map +1 -1
- package/dist/components/Button.js +35 -24
- package/dist/components/Button.js.map +1 -1
- package/dist/components/Card.d.ts +24 -2
- package/dist/components/Card.d.ts.map +1 -1
- package/dist/components/Card.js +56 -14
- package/dist/components/Card.js.map +1 -1
- package/dist/components/Header.d.ts +11 -1
- package/dist/components/Header.d.ts.map +1 -1
- package/dist/components/Header.js +12 -8
- package/dist/components/Header.js.map +1 -1
- package/dist/components/Input.d.ts +10 -1
- package/dist/components/Input.d.ts.map +1 -1
- package/dist/components/Input.js +172 -41
- package/dist/components/Input.js.map +1 -1
- package/dist/components/Link.d.ts +21 -0
- package/dist/components/Link.d.ts.map +1 -0
- package/dist/components/Link.js +29 -0
- package/dist/components/Link.js.map +1 -0
- package/dist/components/Modal.d.ts +25 -0
- package/dist/components/Modal.d.ts.map +1 -1
- package/dist/components/Modal.js +83 -24
- package/dist/components/Modal.js.map +1 -1
- package/dist/components/Progress.d.ts +27 -0
- package/dist/components/Progress.d.ts.map +1 -0
- package/dist/components/Progress.js +39 -0
- package/dist/components/Progress.js.map +1 -0
- package/dist/components/Spinner.d.ts +19 -0
- package/dist/components/Spinner.d.ts.map +1 -0
- package/dist/components/Spinner.js +27 -0
- package/dist/components/Spinner.js.map +1 -0
- package/dist/components/index.d.ts +3 -0
- package/dist/components/index.d.ts.map +1 -1
- package/dist/components/index.js +3 -0
- package/dist/components/index.js.map +1 -1
- package/dist/data/nf-glyphs.d.ts +11 -0
- package/dist/data/nf-glyphs.d.ts.map +1 -0
- package/dist/data/nf-glyphs.js +535 -0
- package/dist/data/nf-glyphs.js.map +1 -0
- package/dist/data/nf-names.d.ts +8 -0
- package/dist/data/nf-names.d.ts.map +1 -0
- package/dist/data/nf-names.js +2 -0
- package/dist/data/nf-names.js.map +1 -0
- package/dist/demo-registry.d.ts +27 -0
- package/dist/demo-registry.d.ts.map +1 -0
- package/dist/demo-registry.js +57 -0
- package/dist/demo-registry.js.map +1 -0
- package/dist/demos/2048.ts +743 -0
- package/dist/demos/animation.ts +246 -0
- package/dist/demos/demo-layout.ts +124 -0
- package/dist/demos/engine.ts +374 -0
- package/dist/demos/interaction.ts +91 -0
- package/dist/demos/login.ts +203 -0
- package/dist/demos/mission-control.ts +558 -0
- package/dist/demos/showcase.ts +224 -0
- package/dist/detect.d.ts +92 -3
- package/dist/detect.d.ts.map +1 -1
- package/dist/detect.js +218 -40
- package/dist/detect.js.map +1 -1
- package/dist/diagnostics.d.ts +73 -0
- package/dist/diagnostics.d.ts.map +1 -0
- package/dist/diagnostics.js +225 -0
- package/dist/diagnostics.js.map +1 -0
- package/dist/dsl/context.d.ts +11 -0
- package/dist/dsl/context.d.ts.map +1 -0
- package/dist/dsl/context.js +563 -0
- package/dist/dsl/context.js.map +1 -0
- package/dist/dsl/hooks.d.ts +12 -0
- package/dist/dsl/hooks.d.ts.map +1 -0
- package/dist/dsl/hooks.js +148 -0
- package/dist/dsl/hooks.js.map +1 -0
- package/dist/dsl/interaction.d.ts +16 -0
- package/dist/dsl/interaction.d.ts.map +1 -0
- package/dist/dsl/interaction.js +101 -0
- package/dist/dsl/interaction.js.map +1 -0
- package/dist/dsl/layers.d.ts +14 -0
- package/dist/dsl/layers.d.ts.map +1 -0
- package/dist/dsl/layers.js +87 -0
- package/dist/dsl/layers.js.map +1 -0
- package/dist/dsl/motion.d.ts +10 -0
- package/dist/dsl/motion.d.ts.map +1 -0
- package/dist/dsl/motion.js +150 -0
- package/dist/dsl/motion.js.map +1 -0
- package/dist/dsl/render.d.ts +22 -0
- package/dist/dsl/render.d.ts.map +1 -0
- package/dist/dsl/render.js +69 -0
- package/dist/dsl/render.js.map +1 -0
- package/dist/dsl/types.d.ts +510 -0
- package/dist/dsl/types.d.ts.map +1 -0
- package/dist/dsl/types.js +33 -0
- package/dist/dsl/types.js.map +1 -0
- package/dist/dsl.d.ts +13 -154
- package/dist/dsl.d.ts.map +1 -1
- package/dist/dsl.js +12 -658
- package/dist/dsl.js.map +1 -1
- package/dist/easing.d.ts +41 -1
- package/dist/easing.d.ts.map +1 -1
- package/dist/easing.js +105 -2
- package/dist/easing.js.map +1 -1
- package/dist/geometry.d.ts +39 -0
- package/dist/geometry.d.ts.map +1 -1
- package/dist/geometry.js +20 -0
- package/dist/geometry.js.map +1 -1
- package/dist/icons-full.d.ts +5 -0
- package/dist/icons-full.d.ts.map +1 -0
- package/dist/icons-full.js +31 -0
- package/dist/icons-full.js.map +1 -0
- package/dist/icons.d.ts +426 -5
- package/dist/icons.d.ts.map +1 -1
- package/dist/icons.js +144 -15
- package/dist/icons.js.map +1 -1
- package/dist/index.d.ts +93 -22
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +17 -7
- package/dist/index.js.map +1 -1
- package/dist/input.d.ts +177 -0
- package/dist/input.d.ts.map +1 -0
- package/dist/input.js +533 -0
- package/dist/input.js.map +1 -0
- package/dist/layout.d.ts +111 -6
- package/dist/layout.d.ts.map +1 -1
- package/dist/layout.js +163 -23
- package/dist/layout.js.map +1 -1
- package/dist/render.d.ts +33 -1
- package/dist/render.d.ts.map +1 -1
- package/dist/render.js +431 -116
- package/dist/render.js.map +1 -1
- package/dist/state.d.ts +137 -3
- package/dist/state.d.ts.map +1 -1
- package/dist/state.js +25 -0
- package/dist/state.js.map +1 -1
- package/dist/theme.d.ts +129 -0
- package/dist/theme.d.ts.map +1 -0
- package/dist/theme.js +167 -0
- package/dist/theme.js.map +1 -0
- package/dist/themes/catppuccin-mocha.d.ts +19 -0
- package/dist/themes/catppuccin-mocha.d.ts.map +1 -0
- package/dist/themes/catppuccin-mocha.js +36 -0
- package/dist/themes/catppuccin-mocha.js.map +1 -0
- package/dist/themes/dracula.d.ts +21 -0
- package/dist/themes/dracula.d.ts.map +1 -0
- package/dist/themes/dracula.js +37 -0
- package/dist/themes/dracula.js.map +1 -0
- package/dist/themes/github-light.d.ts +21 -0
- package/dist/themes/github-light.d.ts.map +1 -0
- package/dist/themes/github-light.js +36 -0
- package/dist/themes/github-light.js.map +1 -0
- package/dist/themes/index.d.ts +19 -0
- package/dist/themes/index.d.ts.map +1 -0
- package/dist/themes/index.js +17 -0
- package/dist/themes/index.js.map +1 -0
- package/dist/themes/nord.d.ts +23 -0
- package/dist/themes/nord.d.ts.map +1 -0
- package/dist/themes/nord.js +38 -0
- package/dist/themes/nord.js.map +1 -0
- package/dist/themes/one-dark-pro.d.ts +21 -0
- package/dist/themes/one-dark-pro.d.ts.map +1 -0
- package/dist/themes/one-dark-pro.js +36 -0
- package/dist/themes/one-dark-pro.js.map +1 -0
- package/dist/themes/tokyo-night.d.ts +20 -0
- package/dist/themes/tokyo-night.d.ts.map +1 -0
- package/dist/themes/tokyo-night.js +37 -0
- package/dist/themes/tokyo-night.js.map +1 -0
- package/dist/utils.d.ts +1 -0
- package/dist/utils.d.ts.map +1 -1
- package/dist/utils.js +1 -0
- package/dist/utils.js.map +1 -1
- package/dist/vendor/colors.d.ts +45 -0
- package/dist/vendor/colors.d.ts.map +1 -0
- package/dist/vendor/colors.js +72 -0
- package/dist/vendor/colors.js.map +1 -0
- package/llms.txt +79 -0
- package/package.json +23 -7
- package/dist/data/glyphs.d.ts +0 -5
- package/dist/data/glyphs.d.ts.map +0 -1
- package/dist/data/glyphs.js +0 -29
- package/dist/data/glyphs.js.map +0 -1
package/dist/theme.js
ADDED
|
@@ -0,0 +1,167 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Bunti Semantic Theme System
|
|
3
|
+
*
|
|
4
|
+
* Themes are sets of semantic color tokens (background, primary, danger, ...)
|
|
5
|
+
* rather than hardcoded colors. Every token is a ThemeColor: callable as an
|
|
6
|
+
* fg-styler (`theme.primary('text')` returns an ANSI-colored string) AND
|
|
7
|
+
* usable as plain color data anywhere a color is accepted (bgColor,
|
|
8
|
+
* borderColor, wallpaper, gradient stops) via its `.rgb` / `.hex` payload.
|
|
9
|
+
*
|
|
10
|
+
* `createTheme(partial)` fills missing tokens by derivation so sparse inputs
|
|
11
|
+
* (e.g. a converted VS Code theme with only a handful of colors) still
|
|
12
|
+
* produce a coherent theme.
|
|
13
|
+
*/
|
|
14
|
+
import { contrastText, fade, fg, isThemeColor, relativeLuminance, resolveColorToRGB, rgbToHex, THEME_COLOR, } from './colors';
|
|
15
|
+
/** The semantic token names every Theme carries. */
|
|
16
|
+
export const THEME_TOKENS = [
|
|
17
|
+
'background',
|
|
18
|
+
'surface',
|
|
19
|
+
'surfaceRaised',
|
|
20
|
+
'foreground',
|
|
21
|
+
'muted',
|
|
22
|
+
'primary',
|
|
23
|
+
'onPrimary',
|
|
24
|
+
'accent',
|
|
25
|
+
'border',
|
|
26
|
+
'focus',
|
|
27
|
+
'selection',
|
|
28
|
+
'success',
|
|
29
|
+
'warning',
|
|
30
|
+
'danger',
|
|
31
|
+
'info',
|
|
32
|
+
];
|
|
33
|
+
/**
|
|
34
|
+
* Creates a ThemeColor from any color value: a function that fg-styles text,
|
|
35
|
+
* branded and carrying `.rgb` + `.hex`. ThemeColor inputs pass through
|
|
36
|
+
* unchanged.
|
|
37
|
+
*/
|
|
38
|
+
export function themeColor(input) {
|
|
39
|
+
if (isThemeColor(input))
|
|
40
|
+
return input;
|
|
41
|
+
const rgb = Object.freeze(resolveColorToRGB(input));
|
|
42
|
+
const color = ((text) => fg(rgb, String(text)));
|
|
43
|
+
Object.defineProperties(color, {
|
|
44
|
+
rgb: { value: rgb, enumerable: true },
|
|
45
|
+
hex: { value: rgbToHex(rgb), enumerable: true },
|
|
46
|
+
[THEME_COLOR]: { value: true },
|
|
47
|
+
});
|
|
48
|
+
return color;
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Returns true when the value is a complete Theme (all tokens are branded
|
|
52
|
+
* ThemeColors), as opposed to a sparse ThemeInput.
|
|
53
|
+
*/
|
|
54
|
+
export function isTheme(value) {
|
|
55
|
+
if (typeof value !== 'object' || value === null)
|
|
56
|
+
return false;
|
|
57
|
+
const candidate = value;
|
|
58
|
+
return (typeof candidate.name === 'string' &&
|
|
59
|
+
THEME_TOKENS.every((token) => isThemeColor(candidate[token])));
|
|
60
|
+
}
|
|
61
|
+
const WHITE = { r: 255, g: 255, b: 255 };
|
|
62
|
+
const BLACK = { r: 0, g: 0, b: 0 };
|
|
63
|
+
/**
|
|
64
|
+
* Builds a complete Theme from a sparse spec. Missing tokens are derived:
|
|
65
|
+
*
|
|
66
|
+
* - mode: from background luminance when a background is given, else 'dark'.
|
|
67
|
+
* - background: #0f0f23 (dark) / #f4f5f9 (light).
|
|
68
|
+
* - surface / surfaceRaised: background shifted 8% / 16% toward white in
|
|
69
|
+
* dark mode, toward black in light mode.
|
|
70
|
+
* - foreground: WCAG auto-contrast vs background, softened 8% toward it.
|
|
71
|
+
* - muted: foreground mixed 45% toward background.
|
|
72
|
+
* - primary: bunti-blue #3bbce1 (dark) / #0d7ea6 (light).
|
|
73
|
+
* - onPrimary: WCAG auto-contrast (pure black/white) vs primary.
|
|
74
|
+
* - accent: primary shifted 25% toward white (dark) / black (light).
|
|
75
|
+
* - border: foreground mixed 70% toward background.
|
|
76
|
+
* - focus: primary.
|
|
77
|
+
* - selection: primary mixed 70% toward background.
|
|
78
|
+
* - success/warning/danger/info: PALETTE-derived defaults per mode.
|
|
79
|
+
*/
|
|
80
|
+
export function createTheme(input = {}) {
|
|
81
|
+
const mode = input.mode ??
|
|
82
|
+
(input.background !== undefined
|
|
83
|
+
? relativeLuminance(resolveColorToRGB(input.background)) > 0.5
|
|
84
|
+
? 'light'
|
|
85
|
+
: 'dark'
|
|
86
|
+
: 'dark');
|
|
87
|
+
const dark = mode === 'dark';
|
|
88
|
+
const lift = dark ? WHITE : BLACK;
|
|
89
|
+
const shift = (base, amount) => fade(base, lift, amount);
|
|
90
|
+
const background = themeColor(input.background ??
|
|
91
|
+
(dark ? { r: 15, g: 15, b: 35 } : { r: 244, g: 245, b: 249 }));
|
|
92
|
+
const foreground = themeColor(input.foreground ??
|
|
93
|
+
fade(contrastText(background.rgb), background.rgb, 0.08));
|
|
94
|
+
const primary = themeColor(input.primary ??
|
|
95
|
+
(dark ? { r: 59, g: 188, b: 225 } : { r: 13, g: 126, b: 166 }));
|
|
96
|
+
const theme = {
|
|
97
|
+
name: input.name ?? `custom-${mode}`,
|
|
98
|
+
mode,
|
|
99
|
+
background,
|
|
100
|
+
surface: themeColor(input.surface ?? shift(background.rgb, 0.08)),
|
|
101
|
+
surfaceRaised: themeColor(input.surfaceRaised ?? shift(background.rgb, 0.16)),
|
|
102
|
+
foreground,
|
|
103
|
+
muted: themeColor(input.muted ?? fade(foreground.rgb, background.rgb, 0.45)),
|
|
104
|
+
primary,
|
|
105
|
+
onPrimary: themeColor(input.onPrimary ?? contrastText(primary.rgb)),
|
|
106
|
+
accent: themeColor(input.accent ?? shift(primary.rgb, 0.25)),
|
|
107
|
+
border: themeColor(input.border ?? fade(foreground.rgb, background.rgb, 0.7)),
|
|
108
|
+
focus: themeColor(input.focus ?? primary.rgb),
|
|
109
|
+
selection: themeColor(input.selection ?? fade(primary.rgb, background.rgb, 0.7)),
|
|
110
|
+
success: themeColor(input.success ??
|
|
111
|
+
(dark ? { r: 0, g: 215, b: 0 } : { r: 15, g: 157, b: 60 })),
|
|
112
|
+
warning: themeColor(input.warning ??
|
|
113
|
+
(dark ? { r: 255, g: 175, b: 0 } : { r: 178, g: 107, b: 0 })),
|
|
114
|
+
danger: themeColor(input.danger ??
|
|
115
|
+
(dark ? { r: 215, g: 0, b: 0 } : { r: 198, g: 40, b: 40 })),
|
|
116
|
+
info: themeColor(input.info ??
|
|
117
|
+
(dark ? { r: 0, g: 175, b: 255 } : { r: 11, g: 120, b: 194 })),
|
|
118
|
+
};
|
|
119
|
+
if (input.gradients)
|
|
120
|
+
theme.gradients = input.gradients;
|
|
121
|
+
return theme;
|
|
122
|
+
}
|
|
123
|
+
function themeToInput(theme) {
|
|
124
|
+
const input = { name: theme.name, mode: theme.mode };
|
|
125
|
+
for (const token of THEME_TOKENS)
|
|
126
|
+
input[token] = theme[token];
|
|
127
|
+
if (theme.gradients)
|
|
128
|
+
input.gradients = theme.gradients;
|
|
129
|
+
return input;
|
|
130
|
+
}
|
|
131
|
+
/**
|
|
132
|
+
* Normalizes a Theme | ThemeInput. Full Themes pass through. Sparse inputs
|
|
133
|
+
* overlay `base` when given (used by `ctx.themed`), otherwise they are
|
|
134
|
+
* completed by `createTheme` derivation (used by `ctx.setTheme`).
|
|
135
|
+
*/
|
|
136
|
+
export function resolveTheme(input, base) {
|
|
137
|
+
if (isTheme(input))
|
|
138
|
+
return input;
|
|
139
|
+
return base
|
|
140
|
+
? createTheme({ ...themeToInput(base), ...input })
|
|
141
|
+
: createTheme(input);
|
|
142
|
+
}
|
|
143
|
+
/**
|
|
144
|
+
* Built-in dark theme, derived from Bunti's PALETTE aesthetic
|
|
145
|
+
* (midnight / silver / bunti-blue / plasma).
|
|
146
|
+
*/
|
|
147
|
+
export const darkTheme = createTheme({
|
|
148
|
+
name: 'bunti-dark',
|
|
149
|
+
mode: 'dark',
|
|
150
|
+
background: 'midnight',
|
|
151
|
+
foreground: 'silver',
|
|
152
|
+
primary: 'bunti-blue',
|
|
153
|
+
accent: 'plasma',
|
|
154
|
+
});
|
|
155
|
+
/**
|
|
156
|
+
* Built-in light theme: the PALETTE aesthetic re-balanced for light
|
|
157
|
+
* backgrounds (deepened primary/semantic colors for WCAG contrast).
|
|
158
|
+
*/
|
|
159
|
+
export const lightTheme = createTheme({
|
|
160
|
+
name: 'bunti-light',
|
|
161
|
+
mode: 'light',
|
|
162
|
+
background: '#f4f5f9',
|
|
163
|
+
foreground: '#23283b',
|
|
164
|
+
primary: '#0d7ea6',
|
|
165
|
+
accent: '#8a2bd8',
|
|
166
|
+
});
|
|
167
|
+
//# sourceMappingURL=theme.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"theme.js","sourceRoot":"","sources":["../src/theme.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Catppuccin Mocha — Bunti preset theme (dark).
|
|
3
|
+
*
|
|
4
|
+
* Converted from the "Catppuccin Mocha" VS Code theme.
|
|
5
|
+
* Source: https://github.com/catppuccin/vscode (MIT license).
|
|
6
|
+
* Vendored theme JSON: scripts/vscode-themes/catppuccin-mocha.json
|
|
7
|
+
*
|
|
8
|
+
* Hand-tuning (applied by the converter, see PRESETS):
|
|
9
|
+
* - accent: activityBarBadge duplicates the mauve primary; use Catppuccin pink
|
|
10
|
+
* - muted auto-derives (descriptionForeground equals foreground); the derived
|
|
11
|
+
* - value lands on overlay1
|
|
12
|
+
*
|
|
13
|
+
* Generated by scripts/convert-vscode-theme.ts - do not edit by hand.
|
|
14
|
+
* Regenerate: bun scripts/convert-vscode-theme.ts --presets
|
|
15
|
+
*/
|
|
16
|
+
import { type Theme } from '../theme';
|
|
17
|
+
/** Catppuccin Mocha preset theme (dark). */
|
|
18
|
+
export declare const catppuccinMocha: Theme;
|
|
19
|
+
//# sourceMappingURL=catppuccin-mocha.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"catppuccin-mocha.d.ts","sourceRoot":"","sources":["../../src/themes/catppuccin-mocha.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,OAAO,EAAe,KAAK,KAAK,EAAE,MAAM,UAAU,CAAC;AAEnD,4CAA4C;AAC5C,eAAO,MAAM,eAAe,EAAE,KAiB5B,CAAC"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Catppuccin Mocha — Bunti preset theme (dark).
|
|
3
|
+
*
|
|
4
|
+
* Converted from the "Catppuccin Mocha" VS Code theme.
|
|
5
|
+
* Source: https://github.com/catppuccin/vscode (MIT license).
|
|
6
|
+
* Vendored theme JSON: scripts/vscode-themes/catppuccin-mocha.json
|
|
7
|
+
*
|
|
8
|
+
* Hand-tuning (applied by the converter, see PRESETS):
|
|
9
|
+
* - accent: activityBarBadge duplicates the mauve primary; use Catppuccin pink
|
|
10
|
+
* - muted auto-derives (descriptionForeground equals foreground); the derived
|
|
11
|
+
* - value lands on overlay1
|
|
12
|
+
*
|
|
13
|
+
* Generated by scripts/convert-vscode-theme.ts - do not edit by hand.
|
|
14
|
+
* Regenerate: bun scripts/convert-vscode-theme.ts --presets
|
|
15
|
+
*/
|
|
16
|
+
import { createTheme } from '../theme';
|
|
17
|
+
/** Catppuccin Mocha preset theme (dark). */
|
|
18
|
+
export const catppuccinMocha = createTheme({
|
|
19
|
+
name: 'catppuccin-mocha',
|
|
20
|
+
mode: 'dark',
|
|
21
|
+
background: '#1e1e2e',
|
|
22
|
+
surface: '#181825',
|
|
23
|
+
surfaceRaised: '#11111b',
|
|
24
|
+
foreground: '#cdd6f4',
|
|
25
|
+
primary: '#cba6f7',
|
|
26
|
+
onPrimary: '#11111b',
|
|
27
|
+
accent: '#f5c2e7',
|
|
28
|
+
border: '#585b70',
|
|
29
|
+
focus: '#cba6f7',
|
|
30
|
+
selection: '#313244',
|
|
31
|
+
success: '#a6e3a1',
|
|
32
|
+
warning: '#fab387',
|
|
33
|
+
danger: '#f38ba8',
|
|
34
|
+
info: '#89b4fa',
|
|
35
|
+
});
|
|
36
|
+
//# sourceMappingURL=catppuccin-mocha.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"catppuccin-mocha.js","sourceRoot":"","sources":["../../src/themes/catppuccin-mocha.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,OAAO,EAAE,WAAW,EAAc,MAAM,UAAU,CAAC;AAEnD,4CAA4C;AAC5C,MAAM,CAAC,MAAM,eAAe,GAAU,WAAW,CAAC;IAChD,IAAI,EAAE,kBAAkB;IACxB,IAAI,EAAE,MAAM;IACZ,UAAU,EAAE,SAAS;IACrB,OAAO,EAAE,SAAS;IAClB,aAAa,EAAE,SAAS;IACxB,UAAU,EAAE,SAAS;IACrB,OAAO,EAAE,SAAS;IAClB,SAAS,EAAE,SAAS;IACpB,MAAM,EAAE,SAAS;IACjB,MAAM,EAAE,SAAS;IACjB,KAAK,EAAE,SAAS;IAChB,SAAS,EAAE,SAAS;IACpB,OAAO,EAAE,SAAS;IAClB,OAAO,EAAE,SAAS;IAClB,MAAM,EAAE,SAAS;IACjB,IAAI,EAAE,SAAS;CAChB,CAAC,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Dracula — Bunti preset theme (dark).
|
|
3
|
+
*
|
|
4
|
+
* Converted from the "Dracula" VS Code theme.
|
|
5
|
+
* Source: https://github.com/dracula/visual-studio-code (MIT license).
|
|
6
|
+
* Vendored theme JSON: scripts/vscode-themes/dracula.json
|
|
7
|
+
*
|
|
8
|
+
* Hand-tuning (applied by the converter, see PRESETS):
|
|
9
|
+
* - primary: button.background is the neutral #44475a; use the signature purple
|
|
10
|
+
* - muted/border: #6272a4 is the canonical Dracula comment color
|
|
11
|
+
* - focus: derive from primary (source swaps border/focus prominence)
|
|
12
|
+
* - warning: Dracula sets editorWarning.foreground to its cyan; use its orange
|
|
13
|
+
* - info: source omits editorInfo.foreground; use the Dracula cyan
|
|
14
|
+
*
|
|
15
|
+
* Generated by scripts/convert-vscode-theme.ts - do not edit by hand.
|
|
16
|
+
* Regenerate: bun scripts/convert-vscode-theme.ts --presets
|
|
17
|
+
*/
|
|
18
|
+
import { type Theme } from '../theme';
|
|
19
|
+
/** Dracula preset theme (dark). */
|
|
20
|
+
export declare const dracula: Theme;
|
|
21
|
+
//# sourceMappingURL=dracula.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dracula.d.ts","sourceRoot":"","sources":["../../src/themes/dracula.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AACH,OAAO,EAAe,KAAK,KAAK,EAAE,MAAM,UAAU,CAAC;AAEnD,mCAAmC;AACnC,eAAO,MAAM,OAAO,EAAE,KAgBpB,CAAC"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Dracula — Bunti preset theme (dark).
|
|
3
|
+
*
|
|
4
|
+
* Converted from the "Dracula" VS Code theme.
|
|
5
|
+
* Source: https://github.com/dracula/visual-studio-code (MIT license).
|
|
6
|
+
* Vendored theme JSON: scripts/vscode-themes/dracula.json
|
|
7
|
+
*
|
|
8
|
+
* Hand-tuning (applied by the converter, see PRESETS):
|
|
9
|
+
* - primary: button.background is the neutral #44475a; use the signature purple
|
|
10
|
+
* - muted/border: #6272a4 is the canonical Dracula comment color
|
|
11
|
+
* - focus: derive from primary (source swaps border/focus prominence)
|
|
12
|
+
* - warning: Dracula sets editorWarning.foreground to its cyan; use its orange
|
|
13
|
+
* - info: source omits editorInfo.foreground; use the Dracula cyan
|
|
14
|
+
*
|
|
15
|
+
* Generated by scripts/convert-vscode-theme.ts - do not edit by hand.
|
|
16
|
+
* Regenerate: bun scripts/convert-vscode-theme.ts --presets
|
|
17
|
+
*/
|
|
18
|
+
import { createTheme } from '../theme';
|
|
19
|
+
/** Dracula preset theme (dark). */
|
|
20
|
+
export const dracula = createTheme({
|
|
21
|
+
name: 'dracula',
|
|
22
|
+
mode: 'dark',
|
|
23
|
+
background: '#282a36',
|
|
24
|
+
surface: '#21222c',
|
|
25
|
+
surfaceRaised: '#191a21',
|
|
26
|
+
foreground: '#f8f8f2',
|
|
27
|
+
muted: '#6272a4',
|
|
28
|
+
primary: '#bd93f9',
|
|
29
|
+
accent: '#ff79c6',
|
|
30
|
+
border: '#6272a4',
|
|
31
|
+
selection: '#44475a',
|
|
32
|
+
success: '#50fa7b',
|
|
33
|
+
warning: '#ffb86c',
|
|
34
|
+
danger: '#ff5555',
|
|
35
|
+
info: '#8be9fd',
|
|
36
|
+
});
|
|
37
|
+
//# sourceMappingURL=dracula.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dracula.js","sourceRoot":"","sources":["../../src/themes/dracula.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AACH,OAAO,EAAE,WAAW,EAAc,MAAM,UAAU,CAAC;AAEnD,mCAAmC;AACnC,MAAM,CAAC,MAAM,OAAO,GAAU,WAAW,CAAC;IACxC,IAAI,EAAE,SAAS;IACf,IAAI,EAAE,MAAM;IACZ,UAAU,EAAE,SAAS;IACrB,OAAO,EAAE,SAAS;IAClB,aAAa,EAAE,SAAS;IACxB,UAAU,EAAE,SAAS;IACrB,KAAK,EAAE,SAAS;IAChB,OAAO,EAAE,SAAS;IAClB,MAAM,EAAE,SAAS;IACjB,MAAM,EAAE,SAAS;IACjB,SAAS,EAAE,SAAS;IACpB,OAAO,EAAE,SAAS;IAClB,OAAO,EAAE,SAAS;IAClB,MAAM,EAAE,SAAS;IACjB,IAAI,EAAE,SAAS;CAChB,CAAC,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* GitHub Light — Bunti preset theme (light).
|
|
3
|
+
*
|
|
4
|
+
* Converted from the "GitHub Light" VS Code theme.
|
|
5
|
+
* Source: https://github.com/primer/github-vscode-theme (MIT license).
|
|
6
|
+
* Vendored theme JSON: scripts/vscode-themes/github-light.json
|
|
7
|
+
*
|
|
8
|
+
* Hand-tuning (applied by the converter, see PRESETS):
|
|
9
|
+
* - primary: button.background green sits at ~4.5:1 with white; GitHub's brand
|
|
10
|
+
* - blue is the safer, more recognizable primary
|
|
11
|
+
* - accent: badge.background would duplicate the new primary; use GitHub purple
|
|
12
|
+
* - surfaceRaised: source equals surface; use Primer gray-1
|
|
13
|
+
* - selection: source value composites to near-white; derive a visible one
|
|
14
|
+
*
|
|
15
|
+
* Generated by scripts/convert-vscode-theme.ts - do not edit by hand.
|
|
16
|
+
* Regenerate: bun scripts/convert-vscode-theme.ts --presets
|
|
17
|
+
*/
|
|
18
|
+
import { type Theme } from '../theme';
|
|
19
|
+
/** GitHub Light preset theme (light). */
|
|
20
|
+
export declare const githubLight: Theme;
|
|
21
|
+
//# sourceMappingURL=github-light.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"github-light.d.ts","sourceRoot":"","sources":["../../src/themes/github-light.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AACH,OAAO,EAAe,KAAK,KAAK,EAAE,MAAM,UAAU,CAAC;AAEnD,yCAAyC;AACzC,eAAO,MAAM,WAAW,EAAE,KAexB,CAAC"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* GitHub Light — Bunti preset theme (light).
|
|
3
|
+
*
|
|
4
|
+
* Converted from the "GitHub Light" VS Code theme.
|
|
5
|
+
* Source: https://github.com/primer/github-vscode-theme (MIT license).
|
|
6
|
+
* Vendored theme JSON: scripts/vscode-themes/github-light.json
|
|
7
|
+
*
|
|
8
|
+
* Hand-tuning (applied by the converter, see PRESETS):
|
|
9
|
+
* - primary: button.background green sits at ~4.5:1 with white; GitHub's brand
|
|
10
|
+
* - blue is the safer, more recognizable primary
|
|
11
|
+
* - accent: badge.background would duplicate the new primary; use GitHub purple
|
|
12
|
+
* - surfaceRaised: source equals surface; use Primer gray-1
|
|
13
|
+
* - selection: source value composites to near-white; derive a visible one
|
|
14
|
+
*
|
|
15
|
+
* Generated by scripts/convert-vscode-theme.ts - do not edit by hand.
|
|
16
|
+
* Regenerate: bun scripts/convert-vscode-theme.ts --presets
|
|
17
|
+
*/
|
|
18
|
+
import { createTheme } from '../theme';
|
|
19
|
+
/** GitHub Light preset theme (light). */
|
|
20
|
+
export const githubLight = createTheme({
|
|
21
|
+
name: 'github-light',
|
|
22
|
+
mode: 'light',
|
|
23
|
+
background: '#ffffff',
|
|
24
|
+
surface: '#f6f8fa',
|
|
25
|
+
surfaceRaised: '#eaeef2',
|
|
26
|
+
foreground: '#1f2328',
|
|
27
|
+
muted: '#656d76',
|
|
28
|
+
primary: '#0969da',
|
|
29
|
+
onPrimary: '#ffffff',
|
|
30
|
+
accent: '#8250df',
|
|
31
|
+
border: '#d0d7de',
|
|
32
|
+
focus: '#0969da',
|
|
33
|
+
success: '#116329',
|
|
34
|
+
danger: '#cf222e',
|
|
35
|
+
});
|
|
36
|
+
//# sourceMappingURL=github-light.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"github-light.js","sourceRoot":"","sources":["../../src/themes/github-light.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AACH,OAAO,EAAE,WAAW,EAAc,MAAM,UAAU,CAAC;AAEnD,yCAAyC;AACzC,MAAM,CAAC,MAAM,WAAW,GAAU,WAAW,CAAC;IAC5C,IAAI,EAAE,cAAc;IACpB,IAAI,EAAE,OAAO;IACb,UAAU,EAAE,SAAS;IACrB,OAAO,EAAE,SAAS;IAClB,aAAa,EAAE,SAAS;IACxB,UAAU,EAAE,SAAS;IACrB,KAAK,EAAE,SAAS;IAChB,OAAO,EAAE,SAAS;IAClB,SAAS,EAAE,SAAS;IACpB,MAAM,EAAE,SAAS;IACjB,MAAM,EAAE,SAAS;IACjB,KAAK,EAAE,SAAS;IAChB,OAAO,EAAE,SAAS;IAClB,MAAM,EAAE,SAAS;CAClB,CAAC,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Bunti preset themes, converted from popular VS Code themes.
|
|
3
|
+
*
|
|
4
|
+
* import { themes, dracula } from '@zakmandhro/bunti/themes';
|
|
5
|
+
*
|
|
6
|
+
* Generated by scripts/convert-vscode-theme.ts - do not edit by hand.
|
|
7
|
+
* Regenerate: bun scripts/convert-vscode-theme.ts --presets
|
|
8
|
+
*/
|
|
9
|
+
import type { Theme } from '../theme';
|
|
10
|
+
import { catppuccinMocha } from './catppuccin-mocha';
|
|
11
|
+
import { dracula } from './dracula';
|
|
12
|
+
import { githubLight } from './github-light';
|
|
13
|
+
import { nord } from './nord';
|
|
14
|
+
import { oneDarkPro } from './one-dark-pro';
|
|
15
|
+
import { tokyoNight } from './tokyo-night';
|
|
16
|
+
export { catppuccinMocha, dracula, githubLight, nord, oneDarkPro, tokyoNight };
|
|
17
|
+
/** All preset themes, keyed by slug. */
|
|
18
|
+
export declare const themes: Record<string, Theme>;
|
|
19
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/themes/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AACtC,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAE3C,OAAO,EAAE,eAAe,EAAE,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,UAAU,EAAE,UAAU,EAAE,CAAC;AAE/E,wCAAwC;AACxC,eAAO,MAAM,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAOxC,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { catppuccinMocha } from './catppuccin-mocha';
|
|
2
|
+
import { dracula } from './dracula';
|
|
3
|
+
import { githubLight } from './github-light';
|
|
4
|
+
import { nord } from './nord';
|
|
5
|
+
import { oneDarkPro } from './one-dark-pro';
|
|
6
|
+
import { tokyoNight } from './tokyo-night';
|
|
7
|
+
export { catppuccinMocha, dracula, githubLight, nord, oneDarkPro, tokyoNight };
|
|
8
|
+
/** All preset themes, keyed by slug. */
|
|
9
|
+
export const themes = {
|
|
10
|
+
'catppuccin-mocha': catppuccinMocha,
|
|
11
|
+
dracula,
|
|
12
|
+
'github-light': githubLight,
|
|
13
|
+
nord,
|
|
14
|
+
'one-dark-pro': oneDarkPro,
|
|
15
|
+
'tokyo-night': tokyoNight,
|
|
16
|
+
};
|
|
17
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/themes/index.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAE3C,OAAO,EAAE,eAAe,EAAE,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,UAAU,EAAE,UAAU,EAAE,CAAC;AAE/E,wCAAwC;AACxC,MAAM,CAAC,MAAM,MAAM,GAA0B;IAC3C,kBAAkB,EAAE,eAAe;IACnC,OAAO;IACP,cAAc,EAAE,WAAW;IAC3B,IAAI;IACJ,cAAc,EAAE,UAAU;IAC1B,aAAa,EAAE,UAAU;CAC1B,CAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Nord — Bunti preset theme (dark).
|
|
3
|
+
*
|
|
4
|
+
* Converted from the "Nord" VS Code theme.
|
|
5
|
+
* Source: https://github.com/nordtheme/visual-studio-code (MIT license).
|
|
6
|
+
* Vendored theme JSON: scripts/vscode-themes/nord.json
|
|
7
|
+
*
|
|
8
|
+
* Hand-tuning (applied by the converter, see PRESETS):
|
|
9
|
+
* - surface/surfaceRaised: source is flat (all #2e3440); use nord1/nord2
|
|
10
|
+
* - border: nord3 so it stays visible on the lifted surfaces
|
|
11
|
+
* - muted: descriptionForeground is 90%-alpha foreground (too bright); derive
|
|
12
|
+
* - selection: source uses bright nord8 as a bg (unreadable under light text); derive
|
|
13
|
+
* - focus: focusBorder is nord1 (invisible); derive from primary
|
|
14
|
+
* - accent: badge colors duplicate the frost primary; use nord15 purple
|
|
15
|
+
* - info: source omits editorInfo.foreground; use nord9 blue
|
|
16
|
+
*
|
|
17
|
+
* Generated by scripts/convert-vscode-theme.ts - do not edit by hand.
|
|
18
|
+
* Regenerate: bun scripts/convert-vscode-theme.ts --presets
|
|
19
|
+
*/
|
|
20
|
+
import { type Theme } from '../theme';
|
|
21
|
+
/** Nord preset theme (dark). */
|
|
22
|
+
export declare const nord: Theme;
|
|
23
|
+
//# sourceMappingURL=nord.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"nord.d.ts","sourceRoot":"","sources":["../../src/themes/nord.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AACH,OAAO,EAAe,KAAK,KAAK,EAAE,MAAM,UAAU,CAAC;AAEnD,gCAAgC;AAChC,eAAO,MAAM,IAAI,EAAE,KAejB,CAAC"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Nord — Bunti preset theme (dark).
|
|
3
|
+
*
|
|
4
|
+
* Converted from the "Nord" VS Code theme.
|
|
5
|
+
* Source: https://github.com/nordtheme/visual-studio-code (MIT license).
|
|
6
|
+
* Vendored theme JSON: scripts/vscode-themes/nord.json
|
|
7
|
+
*
|
|
8
|
+
* Hand-tuning (applied by the converter, see PRESETS):
|
|
9
|
+
* - surface/surfaceRaised: source is flat (all #2e3440); use nord1/nord2
|
|
10
|
+
* - border: nord3 so it stays visible on the lifted surfaces
|
|
11
|
+
* - muted: descriptionForeground is 90%-alpha foreground (too bright); derive
|
|
12
|
+
* - selection: source uses bright nord8 as a bg (unreadable under light text); derive
|
|
13
|
+
* - focus: focusBorder is nord1 (invisible); derive from primary
|
|
14
|
+
* - accent: badge colors duplicate the frost primary; use nord15 purple
|
|
15
|
+
* - info: source omits editorInfo.foreground; use nord9 blue
|
|
16
|
+
*
|
|
17
|
+
* Generated by scripts/convert-vscode-theme.ts - do not edit by hand.
|
|
18
|
+
* Regenerate: bun scripts/convert-vscode-theme.ts --presets
|
|
19
|
+
*/
|
|
20
|
+
import { createTheme } from '../theme';
|
|
21
|
+
/** Nord preset theme (dark). */
|
|
22
|
+
export const nord = createTheme({
|
|
23
|
+
name: 'nord',
|
|
24
|
+
mode: 'dark',
|
|
25
|
+
background: '#2e3440',
|
|
26
|
+
surface: '#3b4252',
|
|
27
|
+
surfaceRaised: '#434c5e',
|
|
28
|
+
foreground: '#d8dee9',
|
|
29
|
+
primary: '#82b7c6',
|
|
30
|
+
onPrimary: '#2e3440',
|
|
31
|
+
accent: '#b48ead',
|
|
32
|
+
border: '#4c566a',
|
|
33
|
+
success: '#a3be8c',
|
|
34
|
+
warning: '#ebcb8b',
|
|
35
|
+
danger: '#bf616a',
|
|
36
|
+
info: '#81a1c1',
|
|
37
|
+
});
|
|
38
|
+
//# sourceMappingURL=nord.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"nord.js","sourceRoot":"","sources":["../../src/themes/nord.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AACH,OAAO,EAAE,WAAW,EAAc,MAAM,UAAU,CAAC;AAEnD,gCAAgC;AAChC,MAAM,CAAC,MAAM,IAAI,GAAU,WAAW,CAAC;IACrC,IAAI,EAAE,MAAM;IACZ,IAAI,EAAE,MAAM;IACZ,UAAU,EAAE,SAAS;IACrB,OAAO,EAAE,SAAS;IAClB,aAAa,EAAE,SAAS;IACxB,UAAU,EAAE,SAAS;IACrB,OAAO,EAAE,SAAS;IAClB,SAAS,EAAE,SAAS;IACpB,MAAM,EAAE,SAAS;IACjB,MAAM,EAAE,SAAS;IACjB,OAAO,EAAE,SAAS;IAClB,OAAO,EAAE,SAAS;IAClB,MAAM,EAAE,SAAS;IACjB,IAAI,EAAE,SAAS;CAChB,CAAC,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* One Dark Pro — Bunti preset theme (dark).
|
|
3
|
+
*
|
|
4
|
+
* Converted from the "One Dark Pro" VS Code theme.
|
|
5
|
+
* Source: https://github.com/Binaryify/OneDark-Pro (MIT license).
|
|
6
|
+
* Vendored theme JSON: scripts/vscode-themes/one-dark-pro.json
|
|
7
|
+
*
|
|
8
|
+
* Hand-tuning (applied by the converter, see PRESETS):
|
|
9
|
+
* - primary: button.background is the muddy #404754; use the signature blue
|
|
10
|
+
* - accent: activityBarBadge blue is too close to primary; use the purple
|
|
11
|
+
* - info: source omits editorInfo.foreground; use the One Dark cyan
|
|
12
|
+
* - surfaceRaised: source equals surface; use the menu/dropdown shade
|
|
13
|
+
* - focus: focusBorder equals border (invisible); derive from primary
|
|
14
|
+
*
|
|
15
|
+
* Generated by scripts/convert-vscode-theme.ts - do not edit by hand.
|
|
16
|
+
* Regenerate: bun scripts/convert-vscode-theme.ts --presets
|
|
17
|
+
*/
|
|
18
|
+
import { type Theme } from '../theme';
|
|
19
|
+
/** One Dark Pro preset theme (dark). */
|
|
20
|
+
export declare const oneDarkPro: Theme;
|
|
21
|
+
//# sourceMappingURL=one-dark-pro.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"one-dark-pro.d.ts","sourceRoot":"","sources":["../../src/themes/one-dark-pro.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AACH,OAAO,EAAe,KAAK,KAAK,EAAE,MAAM,UAAU,CAAC;AAEnD,wCAAwC;AACxC,eAAO,MAAM,UAAU,EAAE,KAevB,CAAC"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* One Dark Pro — Bunti preset theme (dark).
|
|
3
|
+
*
|
|
4
|
+
* Converted from the "One Dark Pro" VS Code theme.
|
|
5
|
+
* Source: https://github.com/Binaryify/OneDark-Pro (MIT license).
|
|
6
|
+
* Vendored theme JSON: scripts/vscode-themes/one-dark-pro.json
|
|
7
|
+
*
|
|
8
|
+
* Hand-tuning (applied by the converter, see PRESETS):
|
|
9
|
+
* - primary: button.background is the muddy #404754; use the signature blue
|
|
10
|
+
* - accent: activityBarBadge blue is too close to primary; use the purple
|
|
11
|
+
* - info: source omits editorInfo.foreground; use the One Dark cyan
|
|
12
|
+
* - surfaceRaised: source equals surface; use the menu/dropdown shade
|
|
13
|
+
* - focus: focusBorder equals border (invisible); derive from primary
|
|
14
|
+
*
|
|
15
|
+
* Generated by scripts/convert-vscode-theme.ts - do not edit by hand.
|
|
16
|
+
* Regenerate: bun scripts/convert-vscode-theme.ts --presets
|
|
17
|
+
*/
|
|
18
|
+
import { createTheme } from '../theme';
|
|
19
|
+
/** One Dark Pro preset theme (dark). */
|
|
20
|
+
export const oneDarkPro = createTheme({
|
|
21
|
+
name: 'one-dark-pro',
|
|
22
|
+
mode: 'dark',
|
|
23
|
+
background: '#282c34',
|
|
24
|
+
surface: '#21252b',
|
|
25
|
+
surfaceRaised: '#353b45',
|
|
26
|
+
foreground: '#abb2bf',
|
|
27
|
+
primary: '#61afef',
|
|
28
|
+
accent: '#c678dd',
|
|
29
|
+
border: '#3e4452',
|
|
30
|
+
selection: '#2c313a',
|
|
31
|
+
success: '#8cc265',
|
|
32
|
+
warning: '#d19a66',
|
|
33
|
+
danger: '#c24038',
|
|
34
|
+
info: '#56b6c2',
|
|
35
|
+
});
|
|
36
|
+
//# sourceMappingURL=one-dark-pro.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"one-dark-pro.js","sourceRoot":"","sources":["../../src/themes/one-dark-pro.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AACH,OAAO,EAAE,WAAW,EAAc,MAAM,UAAU,CAAC;AAEnD,wCAAwC;AACxC,MAAM,CAAC,MAAM,UAAU,GAAU,WAAW,CAAC;IAC3C,IAAI,EAAE,cAAc;IACpB,IAAI,EAAE,MAAM;IACZ,UAAU,EAAE,SAAS;IACrB,OAAO,EAAE,SAAS;IAClB,aAAa,EAAE,SAAS;IACxB,UAAU,EAAE,SAAS;IACrB,OAAO,EAAE,SAAS;IAClB,MAAM,EAAE,SAAS;IACjB,MAAM,EAAE,SAAS;IACjB,SAAS,EAAE,SAAS;IACpB,OAAO,EAAE,SAAS;IAClB,OAAO,EAAE,SAAS;IAClB,MAAM,EAAE,SAAS;IACjB,IAAI,EAAE,SAAS;CAChB,CAAC,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Tokyo Night — Bunti preset theme (dark).
|
|
3
|
+
*
|
|
4
|
+
* Converted from the "Tokyo Night" VS Code theme.
|
|
5
|
+
* Source: https://github.com/tokyo-night/tokyo-night-vscode-theme (MIT license).
|
|
6
|
+
* Vendored theme JSON: scripts/vscode-themes/tokyo-night.json
|
|
7
|
+
*
|
|
8
|
+
* Hand-tuning (applied by the converter, see PRESETS):
|
|
9
|
+
* - muted: descriptionForeground fails 2.5:1; #565f89 is the theme comment color
|
|
10
|
+
* - surfaceRaised: source equals surface; #292e42 is the bg-highlight shade
|
|
11
|
+
* - accent: activityBarBadge duplicates the primary hue; #7aa2f7 is the signature blue
|
|
12
|
+
* - focus: focusBorder is 20% alpha (near-invisible composited); derive from primary
|
|
13
|
+
*
|
|
14
|
+
* Generated by scripts/convert-vscode-theme.ts - do not edit by hand.
|
|
15
|
+
* Regenerate: bun scripts/convert-vscode-theme.ts --presets
|
|
16
|
+
*/
|
|
17
|
+
import { type Theme } from '../theme';
|
|
18
|
+
/** Tokyo Night preset theme (dark). */
|
|
19
|
+
export declare const tokyoNight: Theme;
|
|
20
|
+
//# sourceMappingURL=tokyo-night.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tokyo-night.d.ts","sourceRoot":"","sources":["../../src/themes/tokyo-night.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,EAAe,KAAK,KAAK,EAAE,MAAM,UAAU,CAAC;AAEnD,uCAAuC;AACvC,eAAO,MAAM,UAAU,EAAE,KAiBvB,CAAC"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Tokyo Night — Bunti preset theme (dark).
|
|
3
|
+
*
|
|
4
|
+
* Converted from the "Tokyo Night" VS Code theme.
|
|
5
|
+
* Source: https://github.com/tokyo-night/tokyo-night-vscode-theme (MIT license).
|
|
6
|
+
* Vendored theme JSON: scripts/vscode-themes/tokyo-night.json
|
|
7
|
+
*
|
|
8
|
+
* Hand-tuning (applied by the converter, see PRESETS):
|
|
9
|
+
* - muted: descriptionForeground fails 2.5:1; #565f89 is the theme comment color
|
|
10
|
+
* - surfaceRaised: source equals surface; #292e42 is the bg-highlight shade
|
|
11
|
+
* - accent: activityBarBadge duplicates the primary hue; #7aa2f7 is the signature blue
|
|
12
|
+
* - focus: focusBorder is 20% alpha (near-invisible composited); derive from primary
|
|
13
|
+
*
|
|
14
|
+
* Generated by scripts/convert-vscode-theme.ts - do not edit by hand.
|
|
15
|
+
* Regenerate: bun scripts/convert-vscode-theme.ts --presets
|
|
16
|
+
*/
|
|
17
|
+
import { createTheme } from '../theme';
|
|
18
|
+
/** Tokyo Night preset theme (dark). */
|
|
19
|
+
export const tokyoNight = createTheme({
|
|
20
|
+
name: 'tokyo-night',
|
|
21
|
+
mode: 'dark',
|
|
22
|
+
background: '#1a1b26',
|
|
23
|
+
surface: '#16161e',
|
|
24
|
+
surfaceRaised: '#292e42',
|
|
25
|
+
foreground: '#a9b1d6',
|
|
26
|
+
muted: '#565f89',
|
|
27
|
+
primary: '#385191',
|
|
28
|
+
onPrimary: '#ffffff',
|
|
29
|
+
accent: '#7aa2f7',
|
|
30
|
+
border: '#101014',
|
|
31
|
+
selection: '#202330',
|
|
32
|
+
success: '#73daca',
|
|
33
|
+
warning: '#e0af68',
|
|
34
|
+
danger: '#db4b4b',
|
|
35
|
+
info: '#0da0ba',
|
|
36
|
+
});
|
|
37
|
+
//# sourceMappingURL=tokyo-night.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tokyo-night.js","sourceRoot":"","sources":["../../src/themes/tokyo-night.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,EAAE,WAAW,EAAc,MAAM,UAAU,CAAC;AAEnD,uCAAuC;AACvC,MAAM,CAAC,MAAM,UAAU,GAAU,WAAW,CAAC;IAC3C,IAAI,EAAE,aAAa;IACnB,IAAI,EAAE,MAAM;IACZ,UAAU,EAAE,SAAS;IACrB,OAAO,EAAE,SAAS;IAClB,aAAa,EAAE,SAAS;IACxB,UAAU,EAAE,SAAS;IACrB,KAAK,EAAE,SAAS;IAChB,OAAO,EAAE,SAAS;IAClB,SAAS,EAAE,SAAS;IACpB,MAAM,EAAE,SAAS;IACjB,MAAM,EAAE,SAAS;IACjB,SAAS,EAAE,SAAS;IACpB,OAAO,EAAE,SAAS;IAClB,OAAO,EAAE,SAAS;IAClB,MAAM,EAAE,SAAS;IACjB,IAAI,EAAE,SAAS;CAChB,CAAC,CAAC"}
|
package/dist/utils.d.ts
CHANGED
|
@@ -23,5 +23,6 @@ export declare function truncate(str: string, width: number, tail?: string): str
|
|
|
23
23
|
* Implements word-based wrapping with fallback to char-breaking for long tokens.
|
|
24
24
|
*/
|
|
25
25
|
export declare function wrapText(str: string, width: number): string[];
|
|
26
|
+
/** Prefixes every line of a block with `columns` spaces. */
|
|
26
27
|
export declare function indentBlock(content: string, columns: number): string;
|
|
27
28
|
//# sourceMappingURL=utils.d.ts.map
|