@refrakt-md/lumina 0.14.0 → 0.14.2
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/dist/presets/catppuccin.d.ts +21 -0
- package/dist/presets/catppuccin.d.ts.map +1 -0
- package/dist/presets/catppuccin.js +100 -0
- package/dist/presets/catppuccin.js.map +1 -0
- package/dist/presets/dracula.d.ts +28 -0
- package/dist/presets/dracula.d.ts.map +1 -0
- package/dist/presets/dracula.js +73 -0
- package/dist/presets/dracula.js.map +1 -0
- package/dist/presets/gruvbox.d.ts +21 -0
- package/dist/presets/gruvbox.d.ts.map +1 -0
- package/dist/presets/gruvbox.js +98 -0
- package/dist/presets/gruvbox.js.map +1 -0
- package/dist/presets/nord.d.ts +46 -0
- package/dist/presets/nord.d.ts.map +1 -0
- package/dist/presets/nord.js +127 -0
- package/dist/presets/nord.js.map +1 -0
- package/dist/presets/one-dark.d.ts +21 -0
- package/dist/presets/one-dark.d.ts.map +1 -0
- package/dist/presets/one-dark.js +62 -0
- package/dist/presets/one-dark.js.map +1 -0
- package/dist/presets/solarized.d.ts +39 -0
- package/dist/presets/solarized.d.ts.map +1 -0
- package/dist/presets/solarized.js +121 -0
- package/dist/presets/solarized.js.map +1 -0
- package/dist/presets/tokyo-night.d.ts +22 -0
- package/dist/presets/tokyo-night.d.ts.map +1 -0
- package/dist/presets/tokyo-night.js +99 -0
- package/dist/presets/tokyo-night.js.map +1 -0
- package/package.json +32 -4
- package/styles/elements/table.css +4 -0
- package/styles/global.css +9 -0
- package/styles/runes/compare.css +9 -0
- package/styles/runes/cta.css +14 -0
- package/styles/runes/diff.css +40 -31
- package/styles/runes/hero.css +24 -0
- package/styles/runes/nav.css +17 -3
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { ThemeTokensConfig } from '@refrakt-md/types';
|
|
2
|
+
/**
|
|
3
|
+
* Catppuccin — soft-pastel palette family by the Catppuccin organisation.
|
|
4
|
+
*
|
|
5
|
+
* Catppuccin publishes four flavours: **Latte** (light), Frappé, Macchiato,
|
|
6
|
+
* and **Mocha** (dark). Phase 1 of SPEC-057 ships the canonical pair —
|
|
7
|
+
* Latte for light, Mocha for dark — as a single integrated preset.
|
|
8
|
+
* Frappé and Macchiato (the mid-darks) defer to a future milestone.
|
|
9
|
+
*
|
|
10
|
+
* Catppuccin is unusually well-documented for an open-source palette: each
|
|
11
|
+
* hue has a name and a documented syntax-highlighting role. Refrakt's
|
|
12
|
+
* SPEC-056 extended-role contract maps cleanly onto Catppuccin's intent —
|
|
13
|
+
* Mauve for keywords, Blue for functions, Yellow for types, Peach for
|
|
14
|
+
* numbers, Pink for regex, Sky for operators.
|
|
15
|
+
*
|
|
16
|
+
* Derived from Catppuccin by the Catppuccin organisation, MIT licensed.
|
|
17
|
+
* https://catppuccin.com/
|
|
18
|
+
*/
|
|
19
|
+
declare const catppuccin: ThemeTokensConfig;
|
|
20
|
+
export default catppuccin;
|
|
21
|
+
//# sourceMappingURL=catppuccin.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"catppuccin.d.ts","sourceRoot":"","sources":["../../src/presets/catppuccin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAE3D;;;;;;;;;;;;;;;;GAgBG;AACH,QAAA,MAAM,UAAU,EAAE,iBAmFjB,CAAC;AAEF,eAAe,UAAU,CAAC"}
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Catppuccin — soft-pastel palette family by the Catppuccin organisation.
|
|
3
|
+
*
|
|
4
|
+
* Catppuccin publishes four flavours: **Latte** (light), Frappé, Macchiato,
|
|
5
|
+
* and **Mocha** (dark). Phase 1 of SPEC-057 ships the canonical pair —
|
|
6
|
+
* Latte for light, Mocha for dark — as a single integrated preset.
|
|
7
|
+
* Frappé and Macchiato (the mid-darks) defer to a future milestone.
|
|
8
|
+
*
|
|
9
|
+
* Catppuccin is unusually well-documented for an open-source palette: each
|
|
10
|
+
* hue has a name and a documented syntax-highlighting role. Refrakt's
|
|
11
|
+
* SPEC-056 extended-role contract maps cleanly onto Catppuccin's intent —
|
|
12
|
+
* Mauve for keywords, Blue for functions, Yellow for types, Peach for
|
|
13
|
+
* numbers, Pink for regex, Sky for operators.
|
|
14
|
+
*
|
|
15
|
+
* Derived from Catppuccin by the Catppuccin organisation, MIT licensed.
|
|
16
|
+
* https://catppuccin.com/
|
|
17
|
+
*/
|
|
18
|
+
const catppuccin = {
|
|
19
|
+
// Latte (light) base.
|
|
20
|
+
color: {
|
|
21
|
+
bg: '#eff1f5', // Base — canonical Latte canvas
|
|
22
|
+
text: '#4c4f69', // Text
|
|
23
|
+
muted: '#6c6f85', // Subtext0
|
|
24
|
+
border: '#dce0e8', // Crust — softest separator
|
|
25
|
+
primary: '#1e66f5', // Blue — Catppuccin's interactive accent
|
|
26
|
+
'primary-hover': '#7287fd', // Lavender
|
|
27
|
+
surface: {
|
|
28
|
+
base: '#e6e9ef', // Mantle — slightly elevated card
|
|
29
|
+
hover: '#dce0e8', // Crust
|
|
30
|
+
active: '#ccd0da', // Surface0
|
|
31
|
+
raised: '#eff1f5',
|
|
32
|
+
},
|
|
33
|
+
code: {
|
|
34
|
+
bg: '#e6e9ef', // Mantle
|
|
35
|
+
text: '#4c4f69', // Text
|
|
36
|
+
'inline-bg': '#dce0e8', // Crust
|
|
37
|
+
},
|
|
38
|
+
},
|
|
39
|
+
syntax: {
|
|
40
|
+
keyword: '#8839ef', // Mauve — keywords (declarations, control flow)
|
|
41
|
+
function: '#1e66f5', // Blue — function names
|
|
42
|
+
type: '#df8e1d', // Yellow — class/type names
|
|
43
|
+
string: '#40a02b', // Green — strings
|
|
44
|
+
constant: '#fe640b', // Peach — numbers, booleans, language constants
|
|
45
|
+
comment: '#9ca0b0', // Overlay0 — comments
|
|
46
|
+
punctuation: '#7c7f93', // Overlay2 — Catppuccin paints punctuation muted
|
|
47
|
+
variable: '#4c4f69', // Text — identifiers as default text
|
|
48
|
+
// Extended roles — Catppuccin's syntax style guide names these
|
|
49
|
+
number: '#fe640b', // Peach — same as constant in Catppuccin's spec
|
|
50
|
+
regex: '#ea76cb', // Pink — distinct from string green
|
|
51
|
+
tag: '#8839ef', // Mauve — JSX/HTML tags read like keywords
|
|
52
|
+
attribute: '#df8e1d', // Yellow — attributes align with type-family
|
|
53
|
+
operator: '#04a5e5', // Sky — Catppuccin's dedicated operator hue
|
|
54
|
+
parameter: '#e64553', // Maroon — Catppuccin uses Maroon for parameters
|
|
55
|
+
'string-expression': '#ea76cb', // Pink — template interpolations
|
|
56
|
+
// `property`, `link` left unset (cascade through fallback).
|
|
57
|
+
},
|
|
58
|
+
modes: {
|
|
59
|
+
dark: {
|
|
60
|
+
color: {
|
|
61
|
+
bg: '#1e1e2e', // Base — canonical Mocha canvas
|
|
62
|
+
text: '#cdd6f4', // Text
|
|
63
|
+
muted: '#a6adc8', // Subtext0
|
|
64
|
+
border: '#313244', // Surface0
|
|
65
|
+
primary: '#89b4fa', // Blue — brighter on dark
|
|
66
|
+
'primary-hover': '#b4befe', // Lavender
|
|
67
|
+
surface: {
|
|
68
|
+
base: '#181825', // Mantle
|
|
69
|
+
hover: '#313244', // Surface0
|
|
70
|
+
active: '#45475a', // Surface1
|
|
71
|
+
raised: '#181825',
|
|
72
|
+
},
|
|
73
|
+
code: {
|
|
74
|
+
bg: '#181825', // Mantle — Catppuccin's code-surface convention
|
|
75
|
+
text: '#cdd6f4', // Text
|
|
76
|
+
'inline-bg': '#313244', // Surface0
|
|
77
|
+
},
|
|
78
|
+
},
|
|
79
|
+
syntax: {
|
|
80
|
+
keyword: '#cba6f7', // Mauve — Mocha keyword
|
|
81
|
+
function: '#89b4fa', // Blue
|
|
82
|
+
type: '#f9e2af', // Yellow
|
|
83
|
+
string: '#a6e3a1', // Green
|
|
84
|
+
constant: '#fab387', // Peach
|
|
85
|
+
comment: '#6c7086', // Overlay0 — Mocha comment
|
|
86
|
+
punctuation: '#9399b2', // Overlay2
|
|
87
|
+
variable: '#cdd6f4', // Text
|
|
88
|
+
number: '#fab387', // Peach
|
|
89
|
+
regex: '#f5c2e7', // Pink
|
|
90
|
+
tag: '#cba6f7', // Mauve
|
|
91
|
+
attribute: '#f9e2af', // Yellow
|
|
92
|
+
operator: '#89dceb', // Sky
|
|
93
|
+
parameter: '#eba0ac', // Maroon
|
|
94
|
+
'string-expression': '#f5c2e7', // Pink
|
|
95
|
+
},
|
|
96
|
+
},
|
|
97
|
+
},
|
|
98
|
+
};
|
|
99
|
+
export default catppuccin;
|
|
100
|
+
//# sourceMappingURL=catppuccin.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"catppuccin.js","sourceRoot":"","sources":["../../src/presets/catppuccin.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import type { ThemeTokensConfig } from '@refrakt-md/types';
|
|
2
|
+
/**
|
|
3
|
+
* Dracula — an *integrated* palette preset (chrome + canvas + foreground),
|
|
4
|
+
* dark-only.
|
|
5
|
+
*
|
|
6
|
+
* Created by Zeno Rocha and contributors. One of the most installed editor
|
|
7
|
+
* themes on the planet, distinguished by its purple/pink/cyan accents on a
|
|
8
|
+
* near-black canvas. MIT licensed.
|
|
9
|
+
*
|
|
10
|
+
* Dark-canonical with no official light variant — this preset ships only
|
|
11
|
+
* `modes.dark` populated. When opted in as the active site preset, Dracula
|
|
12
|
+
* effectively forces dark rendering (light mode has no Dracula values).
|
|
13
|
+
* When opted in as a scoped tint (`{% tint preset="dracula" %}`), the
|
|
14
|
+
* dark variables only apply when the surrounding scheme is dark or the
|
|
15
|
+
* page locks the section to dark via `tint-mode="dark"`.
|
|
16
|
+
*
|
|
17
|
+
* Role mapping follows Dracula's official syntax specification — the
|
|
18
|
+
* palette is one of the more thoroughly documented in the lineup, with
|
|
19
|
+
* named swatches and explicit role intent. SPEC-056's extended roles
|
|
20
|
+
* (`type`, `tag`, `attribute`, `operator`, `number`, `regex`) land
|
|
21
|
+
* cleanly on Dracula's published intent.
|
|
22
|
+
*
|
|
23
|
+
* Derived from Dracula by Zeno Rocha and contributors, MIT licensed.
|
|
24
|
+
* https://draculatheme.com/
|
|
25
|
+
*/
|
|
26
|
+
declare const dracula: ThemeTokensConfig;
|
|
27
|
+
export default dracula;
|
|
28
|
+
//# sourceMappingURL=dracula.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dracula.d.ts","sourceRoot":"","sources":["../../src/presets/dracula.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAE3D;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,QAAA,MAAM,OAAO,EAAE,iBA+Cd,CAAC;AAEF,eAAe,OAAO,CAAC"}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Dracula — an *integrated* palette preset (chrome + canvas + foreground),
|
|
3
|
+
* dark-only.
|
|
4
|
+
*
|
|
5
|
+
* Created by Zeno Rocha and contributors. One of the most installed editor
|
|
6
|
+
* themes on the planet, distinguished by its purple/pink/cyan accents on a
|
|
7
|
+
* near-black canvas. MIT licensed.
|
|
8
|
+
*
|
|
9
|
+
* Dark-canonical with no official light variant — this preset ships only
|
|
10
|
+
* `modes.dark` populated. When opted in as the active site preset, Dracula
|
|
11
|
+
* effectively forces dark rendering (light mode has no Dracula values).
|
|
12
|
+
* When opted in as a scoped tint (`{% tint preset="dracula" %}`), the
|
|
13
|
+
* dark variables only apply when the surrounding scheme is dark or the
|
|
14
|
+
* page locks the section to dark via `tint-mode="dark"`.
|
|
15
|
+
*
|
|
16
|
+
* Role mapping follows Dracula's official syntax specification — the
|
|
17
|
+
* palette is one of the more thoroughly documented in the lineup, with
|
|
18
|
+
* named swatches and explicit role intent. SPEC-056's extended roles
|
|
19
|
+
* (`type`, `tag`, `attribute`, `operator`, `number`, `regex`) land
|
|
20
|
+
* cleanly on Dracula's published intent.
|
|
21
|
+
*
|
|
22
|
+
* Derived from Dracula by Zeno Rocha and contributors, MIT licensed.
|
|
23
|
+
* https://draculatheme.com/
|
|
24
|
+
*/
|
|
25
|
+
const dracula = {
|
|
26
|
+
// No light-mode values — Dracula is dark-canonical. When Dracula is
|
|
27
|
+
// applied as a tint to a section on a light page, chrome accents fall
|
|
28
|
+
// back to the surrounding theme; only the dark values below project.
|
|
29
|
+
modes: {
|
|
30
|
+
dark: {
|
|
31
|
+
color: {
|
|
32
|
+
bg: '#282a36', // Background — canonical Dracula canvas
|
|
33
|
+
text: '#f8f8f2', // Foreground
|
|
34
|
+
muted: '#6272a4', // Comment — soft slate-blue
|
|
35
|
+
border: '#44475a', // Current Line / Selection
|
|
36
|
+
primary: '#bd93f9', // Purple — Dracula's interactive accent
|
|
37
|
+
'primary-hover': '#ff79c6', // Pink on hover
|
|
38
|
+
surface: {
|
|
39
|
+
base: '#44475a', // Current Line — slightly elevated card
|
|
40
|
+
hover: '#6272a4', // Comment slate
|
|
41
|
+
active: '#6272a4',
|
|
42
|
+
raised: '#44475a',
|
|
43
|
+
},
|
|
44
|
+
code: {
|
|
45
|
+
bg: '#282a36', // Same as canvas — Dracula intends a uniform dark surface
|
|
46
|
+
text: '#f8f8f2',
|
|
47
|
+
'inline-bg': '#44475a', // Current Line — slight elevation for inline code
|
|
48
|
+
},
|
|
49
|
+
},
|
|
50
|
+
syntax: {
|
|
51
|
+
keyword: '#ff79c6', // Pink — Dracula's "keyword" colour (declarations, control flow)
|
|
52
|
+
function: '#50fa7b', // Green — Dracula's "method/function" colour
|
|
53
|
+
type: '#8be9fd', // Cyan — Dracula's "class/type" colour (the SPEC-056 motivating split)
|
|
54
|
+
string: '#f1fa8c', // Yellow — Dracula's "string" colour
|
|
55
|
+
constant: '#bd93f9', // Purple — Dracula's "boolean/null" colour
|
|
56
|
+
comment: '#6272a4', // Comment — soft slate-blue
|
|
57
|
+
punctuation: '#f8f8f2', // Foreground — Dracula uses foreground for punctuation
|
|
58
|
+
variable: '#f8f8f2', // Foreground — identifiers read as default text
|
|
59
|
+
// Extended roles where Dracula's spec has a distinct intent
|
|
60
|
+
number: '#bd93f9', // Purple — Dracula colours numbers with the constant family
|
|
61
|
+
regex: '#ff5555', // Red — Dracula's "regex" colour, distinct from string yellow
|
|
62
|
+
tag: '#ff79c6', // Pink — JSX/HTML tags read like keywords
|
|
63
|
+
attribute: '#50fa7b', // Green — JSX/HTML attributes align with function-family
|
|
64
|
+
operator: '#ff79c6', // Pink — Dracula treats operators as keyword-family
|
|
65
|
+
// `parameter`, `property`, `link`, `string-expression` left unset:
|
|
66
|
+
// Dracula doesn't separately spec them, so they cascade via the
|
|
67
|
+
// fallback chain.
|
|
68
|
+
},
|
|
69
|
+
},
|
|
70
|
+
},
|
|
71
|
+
};
|
|
72
|
+
export default dracula;
|
|
73
|
+
//# sourceMappingURL=dracula.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dracula.js","sourceRoot":"","sources":["../../src/presets/dracula.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,OAAO,GAAsB;IAClC,oEAAoE;IACpE,sEAAsE;IACtE,qEAAqE;IACrE,KAAK,EAAE;QACN,IAAI,EAAE;YACL,KAAK,EAAE;gBACN,EAAE,EAAE,SAAS,EAAY,wCAAwC;gBACjE,IAAI,EAAE,SAAS,EAAU,aAAa;gBACtC,KAAK,EAAE,SAAS,EAAS,4BAA4B;gBACrD,MAAM,EAAE,SAAS,EAAQ,2BAA2B;gBACpD,OAAO,EAAE,SAAS,EAAO,wCAAwC;gBACjE,eAAe,EAAE,SAAS,EAAE,gBAAgB;gBAC5C,OAAO,EAAE;oBACR,IAAI,EAAE,SAAS,EAAM,wCAAwC;oBAC7D,KAAK,EAAE,SAAS,EAAK,gBAAgB;oBACrC,MAAM,EAAE,SAAS;oBACjB,MAAM,EAAE,SAAS;iBACjB;gBACD,IAAI,EAAE;oBACL,EAAE,EAAE,SAAS,EAAU,0DAA0D;oBACjF,IAAI,EAAE,SAAS;oBACf,WAAW,EAAE,SAAS,EAAE,kDAAkD;iBAC1E;aACD;YACD,MAAM,EAAE;gBACP,OAAO,EAAG,SAAS,EAAG,iEAAiE;gBACvF,QAAQ,EAAE,SAAS,EAAG,6CAA6C;gBACnE,IAAI,EAAM,SAAS,EAAG,uEAAuE;gBAC7F,MAAM,EAAI,SAAS,EAAG,qCAAqC;gBAC3D,QAAQ,EAAE,SAAS,EAAG,2CAA2C;gBACjE,OAAO,EAAG,SAAS,EAAG,4BAA4B;gBAClD,WAAW,EAAE,SAAS,EAAE,uDAAuD;gBAC/E,QAAQ,EAAE,SAAS,EAAG,gDAAgD;gBAEtE,4DAA4D;gBAC5D,MAAM,EAAK,SAAS,EAAG,4DAA4D;gBACnF,KAAK,EAAM,SAAS,EAAG,8DAA8D;gBACrF,GAAG,EAAQ,SAAS,EAAG,0CAA0C;gBACjE,SAAS,EAAE,SAAS,EAAG,yDAAyD;gBAChF,QAAQ,EAAG,SAAS,EAAG,oDAAoD;gBAC3E,mEAAmE;gBACnE,gEAAgE;gBAChE,kBAAkB;aAClB;SACD;KACD;CACD,CAAC;AAEF,eAAe,OAAO,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { ThemeTokensConfig } from '@refrakt-md/types';
|
|
2
|
+
/**
|
|
3
|
+
* Gruvbox — Pavel Pertsev's warm retro palette. Earthy oranges, deep greens,
|
|
4
|
+
* mustard yellows, and Mediterranean reds on a coffee-and-cream canvas.
|
|
5
|
+
*
|
|
6
|
+
* Gruvbox is the lineup's only **warm** palette — the counterweight to five
|
|
7
|
+
* blue/cool members. It's also the most "unix terminal heritage" of the
|
|
8
|
+
* lineup: the original gruvbox was a Vim colorscheme, and the syntax
|
|
9
|
+
* conventions trace from that lineage rather than the modern editor-theme
|
|
10
|
+
* scene.
|
|
11
|
+
*
|
|
12
|
+
* Phase 1 ships **light medium + dark medium**, the canonical pair. Gruvbox
|
|
13
|
+
* also ships "soft" and "hard" contrast levels per mode — those defer to a
|
|
14
|
+
* future milestone if there's demand.
|
|
15
|
+
*
|
|
16
|
+
* Derived from Gruvbox by Pavel Pertsev (morhetz), MIT licensed.
|
|
17
|
+
* https://github.com/morhetz/gruvbox
|
|
18
|
+
*/
|
|
19
|
+
declare const gruvbox: ThemeTokensConfig;
|
|
20
|
+
export default gruvbox;
|
|
21
|
+
//# sourceMappingURL=gruvbox.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gruvbox.d.ts","sourceRoot":"","sources":["../../src/presets/gruvbox.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAE3D;;;;;;;;;;;;;;;;GAgBG;AACH,QAAA,MAAM,OAAO,EAAE,iBAiFd,CAAC;AAEF,eAAe,OAAO,CAAC"}
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Gruvbox — Pavel Pertsev's warm retro palette. Earthy oranges, deep greens,
|
|
3
|
+
* mustard yellows, and Mediterranean reds on a coffee-and-cream canvas.
|
|
4
|
+
*
|
|
5
|
+
* Gruvbox is the lineup's only **warm** palette — the counterweight to five
|
|
6
|
+
* blue/cool members. It's also the most "unix terminal heritage" of the
|
|
7
|
+
* lineup: the original gruvbox was a Vim colorscheme, and the syntax
|
|
8
|
+
* conventions trace from that lineage rather than the modern editor-theme
|
|
9
|
+
* scene.
|
|
10
|
+
*
|
|
11
|
+
* Phase 1 ships **light medium + dark medium**, the canonical pair. Gruvbox
|
|
12
|
+
* also ships "soft" and "hard" contrast levels per mode — those defer to a
|
|
13
|
+
* future milestone if there's demand.
|
|
14
|
+
*
|
|
15
|
+
* Derived from Gruvbox by Pavel Pertsev (morhetz), MIT licensed.
|
|
16
|
+
* https://github.com/morhetz/gruvbox
|
|
17
|
+
*/
|
|
18
|
+
const gruvbox = {
|
|
19
|
+
// Light medium base.
|
|
20
|
+
color: {
|
|
21
|
+
bg: '#fbf1c7', // bg0 — canonical light canvas (warm cream)
|
|
22
|
+
text: '#3c3836', // fg1 — default text
|
|
23
|
+
muted: '#928374', // gray — secondary content
|
|
24
|
+
border: '#d5c4a1', // bg2
|
|
25
|
+
primary: '#076678', // faded_blue — Gruvbox's interactive accent
|
|
26
|
+
'primary-hover': '#427b58', // faded_aqua
|
|
27
|
+
surface: {
|
|
28
|
+
base: '#ebdbb2', // bg1 — slightly elevated card
|
|
29
|
+
hover: '#d5c4a1', // bg2
|
|
30
|
+
active: '#bdae93', // bg3
|
|
31
|
+
raised: '#fbf1c7',
|
|
32
|
+
},
|
|
33
|
+
code: {
|
|
34
|
+
bg: '#ebdbb2', // bg1 — code surface
|
|
35
|
+
text: '#3c3836',
|
|
36
|
+
'inline-bg': '#d5c4a1', // bg2
|
|
37
|
+
},
|
|
38
|
+
},
|
|
39
|
+
syntax: {
|
|
40
|
+
keyword: '#9d0006', // faded_red — Statement.Keyword
|
|
41
|
+
function: '#b57614', // faded_yellow — function names
|
|
42
|
+
type: '#79740e', // faded_green — types/classes
|
|
43
|
+
string: '#79740e', // faded_green — strings (same family as types)
|
|
44
|
+
constant: '#8f3f71', // faded_purple — language constants
|
|
45
|
+
comment: '#928374', // gray
|
|
46
|
+
punctuation: '#3c3836', // fg1 — default text
|
|
47
|
+
variable: '#3c3836', // fg1
|
|
48
|
+
// Extended roles
|
|
49
|
+
number: '#8f3f71', // faded_purple — numbers
|
|
50
|
+
regex: '#af3a03', // faded_orange — regex
|
|
51
|
+
tag: '#9d0006', // faded_red — HTML/JSX tags
|
|
52
|
+
attribute: '#076678', // faded_blue — attribute names
|
|
53
|
+
operator: '#af3a03', // faded_orange — operators (Gruvbox's "Special")
|
|
54
|
+
'string-expression': '#427b58', // faded_aqua — interpolation
|
|
55
|
+
// `parameter`, `property`, `link` left unset.
|
|
56
|
+
},
|
|
57
|
+
modes: {
|
|
58
|
+
dark: {
|
|
59
|
+
color: {
|
|
60
|
+
bg: '#282828', // bg0 — canonical dark canvas
|
|
61
|
+
text: '#ebdbb2', // fg1 — default text
|
|
62
|
+
muted: '#928374', // gray
|
|
63
|
+
border: '#504945', // bg2
|
|
64
|
+
primary: '#83a598', // bright_blue — Gruvbox's interactive accent on dark
|
|
65
|
+
'primary-hover': '#8ec07c', // bright_aqua
|
|
66
|
+
surface: {
|
|
67
|
+
base: '#3c3836', // bg1
|
|
68
|
+
hover: '#504945', // bg2
|
|
69
|
+
active: '#665c54', // bg3
|
|
70
|
+
raised: '#3c3836',
|
|
71
|
+
},
|
|
72
|
+
code: {
|
|
73
|
+
bg: '#282828', // bg0 — uniform dark canvas
|
|
74
|
+
text: '#ebdbb2',
|
|
75
|
+
'inline-bg': '#3c3836', // bg1
|
|
76
|
+
},
|
|
77
|
+
},
|
|
78
|
+
syntax: {
|
|
79
|
+
keyword: '#fb4934', // bright_red — keywords
|
|
80
|
+
function: '#fabd2f', // bright_yellow — functions
|
|
81
|
+
type: '#b8bb26', // bright_green — types
|
|
82
|
+
string: '#b8bb26', // bright_green — strings
|
|
83
|
+
constant: '#d3869b', // bright_purple — constants
|
|
84
|
+
comment: '#928374',
|
|
85
|
+
punctuation: '#ebdbb2',
|
|
86
|
+
variable: '#ebdbb2',
|
|
87
|
+
number: '#d3869b', // bright_purple — numbers
|
|
88
|
+
regex: '#fe8019', // bright_orange — regex
|
|
89
|
+
tag: '#fb4934', // bright_red — tags
|
|
90
|
+
attribute: '#83a598', // bright_blue — attributes
|
|
91
|
+
operator: '#fe8019', // bright_orange — operators
|
|
92
|
+
'string-expression': '#8ec07c', // bright_aqua — interpolation
|
|
93
|
+
},
|
|
94
|
+
},
|
|
95
|
+
},
|
|
96
|
+
};
|
|
97
|
+
export default gruvbox;
|
|
98
|
+
//# sourceMappingURL=gruvbox.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gruvbox.js","sourceRoot":"","sources":["../../src/presets/gruvbox.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import type { ThemeTokensConfig } from '@refrakt-md/types';
|
|
2
|
+
/**
|
|
3
|
+
* Nord — an *integrated* palette preset (canvas + chrome + foreground).
|
|
4
|
+
*
|
|
5
|
+
* Where niwaki took the scoped "foreground only" position deliberately,
|
|
6
|
+
* Nord takes the integrated position because that's how Nord was designed:
|
|
7
|
+
* its 16 hues were tuned together against the Polar Night / Snow Storm
|
|
8
|
+
* canvas families. Rendering Nord's foreground on a warm or neutral
|
|
9
|
+
* canvas misrepresents the palette's intent.
|
|
10
|
+
*
|
|
11
|
+
* Nord therefore claims chrome (`color.bg`, `color.surface.base`,
|
|
12
|
+
* `color.text`, `color.muted`, `color.border`, `color.primary`) and
|
|
13
|
+
* code-surface (`color.code.*`) tokens alongside `syntax.*`. When Nord
|
|
14
|
+
* is the active preset, the whole page renders in Polar Night / Snow
|
|
15
|
+
* Storm. When Nord is used as a scoped tint (via
|
|
16
|
+
* `theme.tints[].extends`), every Nord-tinted subtree renders against
|
|
17
|
+
* Nord's canvas without affecting surrounding content. The scope-
|
|
18
|
+
* eligibility filter in `generateScopedTintStylesheet` enforces the
|
|
19
|
+
* boundary — typography, spacing, radius, shadow, and status sentiments
|
|
20
|
+
* stay with whatever chrome is active, even when Nord is tinting.
|
|
21
|
+
*
|
|
22
|
+
* Composes:
|
|
23
|
+
* - `presets: ["nord"]` → Nord syntax on Nord canvas, neutral chrome elsewhere
|
|
24
|
+
* - `presets: ["tideline", "nord"]` → tideline chrome with Nord code surface
|
|
25
|
+
* - Used as a tint via `tints: { nord: { extends: ".../presets/nord" } }`
|
|
26
|
+
* (WORK-223 unlocks this) to showcase Nord on a site whose active
|
|
27
|
+
* preset is something else.
|
|
28
|
+
*
|
|
29
|
+
* Derived from the Nord palette by Arctic Ice Studio & Sven Greb,
|
|
30
|
+
* MIT licensed. https://www.nordtheme.com/
|
|
31
|
+
*
|
|
32
|
+
* The Nord palette is structured as four named groups:
|
|
33
|
+
* - Polar Night (nord0–3): the dark canvas and its near-canvas elevation
|
|
34
|
+
* - Snow Storm (nord4–6): the light/text family and the light canvas
|
|
35
|
+
* - Frost (nord7–10): cool blue accents — types, functions, keywords
|
|
36
|
+
* - Aurora (nord11–15): warm accents — red, orange, yellow, green, purple
|
|
37
|
+
*
|
|
38
|
+
* Role assignments below follow Nord's own syntax-highlighting reference.
|
|
39
|
+
* Where SPEC-056's extended roles (`type`, `tag`, `attribute`, ...) let
|
|
40
|
+
* Nord's intended hue splits land on distinct refrakt roles, we set them
|
|
41
|
+
* explicitly; where Nord collapses two roles to the same hue, we leave
|
|
42
|
+
* the optional role unset and let the fallback chain carry the value.
|
|
43
|
+
*/
|
|
44
|
+
declare const nord: ThemeTokensConfig;
|
|
45
|
+
export default nord;
|
|
46
|
+
//# sourceMappingURL=nord.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"nord.d.ts","sourceRoot":"","sources":["../../src/presets/nord.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAE3D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AACH,QAAA,MAAM,IAAI,EAAE,iBAqFX,CAAC;AAEF,eAAe,IAAI,CAAC"}
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Nord — an *integrated* palette preset (canvas + chrome + foreground).
|
|
3
|
+
*
|
|
4
|
+
* Where niwaki took the scoped "foreground only" position deliberately,
|
|
5
|
+
* Nord takes the integrated position because that's how Nord was designed:
|
|
6
|
+
* its 16 hues were tuned together against the Polar Night / Snow Storm
|
|
7
|
+
* canvas families. Rendering Nord's foreground on a warm or neutral
|
|
8
|
+
* canvas misrepresents the palette's intent.
|
|
9
|
+
*
|
|
10
|
+
* Nord therefore claims chrome (`color.bg`, `color.surface.base`,
|
|
11
|
+
* `color.text`, `color.muted`, `color.border`, `color.primary`) and
|
|
12
|
+
* code-surface (`color.code.*`) tokens alongside `syntax.*`. When Nord
|
|
13
|
+
* is the active preset, the whole page renders in Polar Night / Snow
|
|
14
|
+
* Storm. When Nord is used as a scoped tint (via
|
|
15
|
+
* `theme.tints[].extends`), every Nord-tinted subtree renders against
|
|
16
|
+
* Nord's canvas without affecting surrounding content. The scope-
|
|
17
|
+
* eligibility filter in `generateScopedTintStylesheet` enforces the
|
|
18
|
+
* boundary — typography, spacing, radius, shadow, and status sentiments
|
|
19
|
+
* stay with whatever chrome is active, even when Nord is tinting.
|
|
20
|
+
*
|
|
21
|
+
* Composes:
|
|
22
|
+
* - `presets: ["nord"]` → Nord syntax on Nord canvas, neutral chrome elsewhere
|
|
23
|
+
* - `presets: ["tideline", "nord"]` → tideline chrome with Nord code surface
|
|
24
|
+
* - Used as a tint via `tints: { nord: { extends: ".../presets/nord" } }`
|
|
25
|
+
* (WORK-223 unlocks this) to showcase Nord on a site whose active
|
|
26
|
+
* preset is something else.
|
|
27
|
+
*
|
|
28
|
+
* Derived from the Nord palette by Arctic Ice Studio & Sven Greb,
|
|
29
|
+
* MIT licensed. https://www.nordtheme.com/
|
|
30
|
+
*
|
|
31
|
+
* The Nord palette is structured as four named groups:
|
|
32
|
+
* - Polar Night (nord0–3): the dark canvas and its near-canvas elevation
|
|
33
|
+
* - Snow Storm (nord4–6): the light/text family and the light canvas
|
|
34
|
+
* - Frost (nord7–10): cool blue accents — types, functions, keywords
|
|
35
|
+
* - Aurora (nord11–15): warm accents — red, orange, yellow, green, purple
|
|
36
|
+
*
|
|
37
|
+
* Role assignments below follow Nord's own syntax-highlighting reference.
|
|
38
|
+
* Where SPEC-056's extended roles (`type`, `tag`, `attribute`, ...) let
|
|
39
|
+
* Nord's intended hue splits land on distinct refrakt roles, we set them
|
|
40
|
+
* explicitly; where Nord collapses two roles to the same hue, we leave
|
|
41
|
+
* the optional role unset and let the fallback chain carry the value.
|
|
42
|
+
*/
|
|
43
|
+
const nord = {
|
|
44
|
+
// Light mode — Snow Storm canvas with Polar Night foreground. Nord is
|
|
45
|
+
// dark-canonical; the light variant is a swap of the canvas/text axis
|
|
46
|
+
// while keeping the same Frost + Aurora accents at slightly darker
|
|
47
|
+
// values for contrast on the lighter background.
|
|
48
|
+
color: {
|
|
49
|
+
bg: '#eceff4', // Snow Storm nord6 — canonical light canvas
|
|
50
|
+
text: '#2e3440', // Polar Night nord0 — text on light canvas
|
|
51
|
+
muted: '#4c566a', // Polar Night nord3
|
|
52
|
+
border: '#d8dee9', // Snow Storm nord4 — between bg and elevated
|
|
53
|
+
primary: '#5e81ac', // Frost nord10 — Nord's interactive accent
|
|
54
|
+
'primary-hover': '#81a1c1', // Frost nord9 — lighter on hover
|
|
55
|
+
surface: {
|
|
56
|
+
base: '#e5e9f0', // Snow Storm nord5 — slightly elevated card surface
|
|
57
|
+
hover: '#d8dee9', // Snow Storm nord4
|
|
58
|
+
active: '#d8dee9',
|
|
59
|
+
raised: '#eceff4',
|
|
60
|
+
},
|
|
61
|
+
code: {
|
|
62
|
+
bg: '#eceff4', // Snow Storm nord6 — same as page canvas
|
|
63
|
+
text: '#2e3440', // Polar Night nord0
|
|
64
|
+
'inline-bg': '#e5e9f0', // Snow Storm nord5 — slight elevation for inline code
|
|
65
|
+
},
|
|
66
|
+
},
|
|
67
|
+
syntax: {
|
|
68
|
+
keyword: '#5e81ac', // Frost nord10 — slightly darker for light contrast
|
|
69
|
+
function: '#88c0d0', // Frost nord8
|
|
70
|
+
type: '#8fbcbb', // Frost nord7 — distinct from function (the SPEC-056 motivating split)
|
|
71
|
+
string: '#a3be8c', // Aurora nord14
|
|
72
|
+
constant: '#b48ead', // Aurora nord15 — purple for booleans/null/symbols
|
|
73
|
+
comment: '#4c566a', // Polar Night nord3 — muted on light canvas
|
|
74
|
+
punctuation: '#4c566a', // Polar Night nord3
|
|
75
|
+
variable: '#2e3440', // Polar Night nord0 — body text on light
|
|
76
|
+
// Extended roles where Nord's spec has a distinct intent
|
|
77
|
+
number: '#d08770', // Aurora nord12 — orange, separating numbers from string-constants
|
|
78
|
+
regex: '#ebcb8b', // Aurora nord13 — yellow regex hue
|
|
79
|
+
tag: '#5e81ac', // Frost nord10 — Nord renders HTML tags as deep Frost
|
|
80
|
+
attribute: '#8fbcbb', // Frost nord7 — Nord aligns attribute names with type-family
|
|
81
|
+
operator: '#81a1c1', // Frost nord9 — Nord splits operators from punctuation, painting them as keyword-family
|
|
82
|
+
// `parameter` and `property` and `link`, `string-expression` left unset:
|
|
83
|
+
// Nord doesn't separately spec them, so they cascade via the fallback
|
|
84
|
+
// chain (parameter→variable, property→variable, link→function,
|
|
85
|
+
// string-expression→string).
|
|
86
|
+
},
|
|
87
|
+
modes: {
|
|
88
|
+
dark: {
|
|
89
|
+
color: {
|
|
90
|
+
bg: '#2e3440', // Polar Night nord0 — canonical dark canvas
|
|
91
|
+
text: '#d8dee9', // Snow Storm nord4
|
|
92
|
+
muted: '#616e88', // between Polar Night nord3 and Snow Storm nord4
|
|
93
|
+
border: '#3b4252', // Polar Night nord1 — subtle separator
|
|
94
|
+
primary: '#88c0d0', // Frost nord8 — brighter on dark
|
|
95
|
+
'primary-hover': '#8fbcbb', // Frost nord7
|
|
96
|
+
surface: {
|
|
97
|
+
base: '#3b4252', // Polar Night nord1 — elevated card on dark
|
|
98
|
+
hover: '#434c5e', // Polar Night nord2
|
|
99
|
+
active: '#4c566a', // Polar Night nord3
|
|
100
|
+
raised: '#434c5e',
|
|
101
|
+
},
|
|
102
|
+
code: {
|
|
103
|
+
bg: '#2e3440', // Polar Night nord0 — canonical dark canvas
|
|
104
|
+
text: '#d8dee9', // Snow Storm nord4
|
|
105
|
+
'inline-bg': '#3b4252', // Polar Night nord1 — slightly elevated
|
|
106
|
+
},
|
|
107
|
+
},
|
|
108
|
+
syntax: {
|
|
109
|
+
keyword: '#81a1c1', // Frost nord9
|
|
110
|
+
function: '#88c0d0', // Frost nord8
|
|
111
|
+
type: '#8fbcbb', // Frost nord7
|
|
112
|
+
string: '#a3be8c', // Aurora nord14
|
|
113
|
+
constant: '#b48ead', // Aurora nord15
|
|
114
|
+
comment: '#616e88', // between nord3 and nord4 — Nord-spec'd comment on dark
|
|
115
|
+
punctuation: '#d8dee9', // Snow Storm nord4 — Nord's punctuation reads as default text
|
|
116
|
+
variable: '#d8dee9', // Snow Storm nord4
|
|
117
|
+
number: '#b48ead', // Aurora nord15 in dark; some Nord impls use nord12 — picking nord15 for harmony with constant
|
|
118
|
+
regex: '#ebcb8b', // Aurora nord13
|
|
119
|
+
tag: '#81a1c1', // Frost nord9 in dark
|
|
120
|
+
attribute: '#8fbcbb', // Frost nord7
|
|
121
|
+
operator: '#81a1c1', // Frost nord9
|
|
122
|
+
},
|
|
123
|
+
},
|
|
124
|
+
},
|
|
125
|
+
};
|
|
126
|
+
export default nord;
|
|
127
|
+
//# sourceMappingURL=nord.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"nord.js","sourceRoot":"","sources":["../../src/presets/nord.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { ThemeTokensConfig } from '@refrakt-md/types';
|
|
2
|
+
/**
|
|
3
|
+
* One Dark — Atom's signature dark theme. Created by the GitHub / Atom team.
|
|
4
|
+
*
|
|
5
|
+
* Phase 1 of SPEC-057 ships dark-only — the official "One Light" sibling
|
|
6
|
+
* is a separate published theme rather than a `modes` overlay on the same
|
|
7
|
+
* hue family, and defers to Phase 2.
|
|
8
|
+
*
|
|
9
|
+
* Important historical: Atom was the first widely-adopted editor with
|
|
10
|
+
* custom theme APIs, and One Dark is the palette that defined the
|
|
11
|
+
* "blue-grey canvas + warm accent" aesthetic now common across modern
|
|
12
|
+
* editors (Tokyo Night and Catppuccin Mocha both trace lineage here).
|
|
13
|
+
*
|
|
14
|
+
* Derived from One Dark by GitHub / Atom contributors, MIT licensed.
|
|
15
|
+
* https://github.com/atom/atom/tree/master/packages/one-dark-syntax
|
|
16
|
+
*
|
|
17
|
+
* Source variables: `packages/one-dark-syntax/styles/colors.less`.
|
|
18
|
+
*/
|
|
19
|
+
declare const oneDark: ThemeTokensConfig;
|
|
20
|
+
export default oneDark;
|
|
21
|
+
//# sourceMappingURL=one-dark.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"one-dark.d.ts","sourceRoot":"","sources":["../../src/presets/one-dark.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAE3D;;;;;;;;;;;;;;;;GAgBG;AACH,QAAA,MAAM,OAAO,EAAE,iBA2Cd,CAAC;AAEF,eAAe,OAAO,CAAC"}
|