@refrakt-md/lumina 0.12.0 → 0.14.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 (63) hide show
  1. package/assets/logo/prism-16-dark.png +0 -0
  2. package/assets/logo/prism-16-light.png +0 -0
  3. package/assets/logo/prism-180-dark.png +0 -0
  4. package/assets/logo/prism-180-light.png +0 -0
  5. package/assets/logo/prism-192-dark.png +0 -0
  6. package/assets/logo/prism-192-light.png +0 -0
  7. package/assets/logo/prism-24-dark.png +0 -0
  8. package/assets/logo/prism-24-light.png +0 -0
  9. package/assets/logo/prism-32-dark.png +0 -0
  10. package/assets/logo/prism-32-light.png +0 -0
  11. package/assets/logo/prism-48-dark.png +0 -0
  12. package/assets/logo/prism-48-light.png +0 -0
  13. package/assets/logo/prism-512-dark.png +0 -0
  14. package/assets/logo/prism-512-light.png +0 -0
  15. package/assets/logo/prism-64-dark.png +0 -0
  16. package/assets/logo/prism-64-light.png +0 -0
  17. package/assets/logo/prism-96-dark.png +0 -0
  18. package/assets/logo/prism-96-light.png +0 -0
  19. package/assets/logo/prism.svg +4 -0
  20. package/contracts/structures.json +23 -1
  21. package/dist/config.js +32 -32
  22. package/dist/config.js.map +1 -1
  23. package/dist/presets/niwaki.d.ts +23 -0
  24. package/dist/presets/niwaki.d.ts.map +1 -0
  25. package/dist/presets/niwaki.js +50 -0
  26. package/dist/presets/niwaki.js.map +1 -0
  27. package/dist/presets/nord.d.ts +46 -0
  28. package/dist/presets/nord.d.ts.map +1 -0
  29. package/dist/presets/nord.js +127 -0
  30. package/dist/presets/nord.js.map +1 -0
  31. package/dist/presets/tideline.d.ts +26 -0
  32. package/dist/presets/tideline.d.ts.map +1 -0
  33. package/dist/presets/tideline.js +132 -0
  34. package/dist/presets/tideline.js.map +1 -0
  35. package/dist/tokens.d.ts +20 -0
  36. package/dist/tokens.d.ts.map +1 -0
  37. package/dist/tokens.js +178 -0
  38. package/dist/tokens.js.map +1 -0
  39. package/dist/transform.d.ts +5 -0
  40. package/dist/transform.d.ts.map +1 -1
  41. package/dist/transform.js +5 -0
  42. package/dist/transform.js.map +1 -1
  43. package/index.css +1 -0
  44. package/package.json +21 -6
  45. package/styles/dimensions/surfaces.css +4 -2
  46. package/styles/elements/table.css +4 -0
  47. package/styles/global.css +13 -4
  48. package/styles/layouts/blog.css +8 -2
  49. package/styles/layouts/default.css +37 -3
  50. package/styles/layouts/docs.css +24 -6
  51. package/styles/layouts/mobile.css +36 -5
  52. package/styles/runes/codegroup.css +19 -15
  53. package/styles/runes/compare.css +9 -0
  54. package/styles/runes/cta.css +14 -0
  55. package/styles/runes/diff.css +40 -31
  56. package/styles/runes/hero.css +24 -0
  57. package/styles/runes/hint.css +5 -9
  58. package/styles/runes/nav.css +344 -1
  59. package/styles/runes/pagination.css +85 -0
  60. package/styles/runes/palette.css +9 -0
  61. package/styles/runes/tint.css +116 -72
  62. package/tokens/base.css +74 -53
  63. package/tokens/dark.css +97 -75
package/tokens/dark.css CHANGED
@@ -1,47 +1,61 @@
1
- /* Lumina Theme — Dark Mode Token Overrides */
1
+ /* Lumina Theme — Dark Mode Token Overrides
2
+ *
3
+ * Source of truth: packages/lumina/src/tokens.ts (`luminaTokens.modes.dark`).
4
+ * This file mirrors that overlay verbatim under both selectors
5
+ * (`[data-theme="dark"]` for user toggles and the `prefers-color-scheme`
6
+ * media query for system preference). A coverage test keeps the two in
7
+ * lockstep; drift fails CI. */
2
8
 
3
9
  [data-theme="dark"] {
4
- --rf-color-text: #f1faee;
5
- --rf-color-muted: #a8dadc;
6
- --rf-color-border: rgba(168, 218, 220, 0.15);
7
- --rf-color-bg: #152238;
8
- --rf-color-primary: #70b4c0;
9
- --rf-color-primary-hover: #a8dadc;
10
+ --rf-color-text: #f6f4ef;
11
+ --rf-color-muted: #94908a;
12
+ --rf-color-border: #2a2825;
13
+ --rf-color-bg: #1a1a17;
14
+ --rf-color-primary: #f6f4ef;
15
+ --rf-color-primary-hover: #d4cfc5;
10
16
 
11
- --rf-color-surface: #1a2940;
12
- --rf-color-surface-hover: #203048;
13
- --rf-color-surface-active: #263850;
14
- --rf-color-surface-raised: #1a2940;
17
+ --rf-color-surface: #211f1c;
18
+ --rf-color-surface-hover: #2a2825;
19
+ --rf-color-surface-active: #353330;
20
+ --rf-color-surface-raised: #292723;
15
21
 
16
- --rf-color-info: #a8dadc;
17
- --rf-color-info-bg: rgba(69, 123, 157, 0.12);
18
- --rf-color-info-border: rgba(69, 123, 157, 0.3);
19
- --rf-color-warning: #e8c07a;
20
- --rf-color-warning-bg: rgba(200, 144, 10, 0.12);
21
- --rf-color-warning-border: rgba(200, 144, 10, 0.3);
22
- --rf-color-danger: #f07078;
23
- --rf-color-danger-bg: rgba(230, 57, 70, 0.12);
24
- --rf-color-danger-border: rgba(230, 57, 70, 0.3);
25
- --rf-color-success: #72c098;
26
- --rf-color-success-bg: rgba(61, 143, 101, 0.12);
27
- --rf-color-success-border: rgba(61, 143, 101, 0.3);
22
+ --rf-color-info: #9bb4c7;
23
+ --rf-color-info-bg: #1f2530;
24
+ --rf-color-info-border: #3d4655;
25
+ --rf-color-warning: #d4a868;
26
+ --rf-color-warning-bg: #2a2519;
27
+ --rf-color-warning-border: #4a3f2a;
28
+ --rf-color-danger: #d48888;
29
+ --rf-color-danger-bg: #2a1818;
30
+ --rf-color-danger-border: #4a2a2a;
31
+ --rf-color-success: #7eb398;
32
+ --rf-color-success-bg: #1a2a1f;
33
+ --rf-color-success-border: #2a4a35;
28
34
 
29
- --rf-color-code-bg: #152238;
30
- --rf-color-code-text: #f1faee;
31
- --rf-color-inline-code-bg: rgba(168, 218, 220, 0.08);
35
+ --rf-color-code-bg: #222220;
36
+ --rf-color-code-text: #f6f4ef;
37
+ --rf-color-code-inline-bg: #2b2b29;
38
+ --rf-color-inline-code-bg: #2b2b29;
32
39
 
33
- /* Syntax highlighting (Shiki CSS variables) */
34
- --shiki-foreground: #f1faee;
35
- --shiki-background: #0c162a;
36
- --shiki-token-keyword: #f2cc8f;
37
- --shiki-token-string: #a8dadc;
38
- --shiki-token-string-expression: #a8dadc;
39
- --shiki-token-constant: #e8c07a;
40
- --shiki-token-comment: #5a7a90;
41
- --shiki-token-function: #a8dadc;
42
- --shiki-token-parameter: #b8d6e2;
43
- --shiki-token-punctuation: #70b4c0;
44
- --shiki-token-link: #a8dadc;
40
+ --rf-syntax-keyword: #7eb6bc;
41
+ --rf-syntax-function: #a89bc7;
42
+ --rf-syntax-string: #c79a9a;
43
+ --rf-syntax-constant: #d4b07e;
44
+ --rf-syntax-comment: #6b6661;
45
+ --rf-syntax-punctuation: #94908a;
46
+ --rf-syntax-variable: #f6f4ef;
47
+
48
+ --rf-syntax-foreground: #f6f4ef;
49
+ --rf-syntax-background: #222220;
50
+ --rf-syntax-token-keyword: #7eb6bc;
51
+ --rf-syntax-token-string: #c79a9a;
52
+ --rf-syntax-token-string-expression: #c79a9a;
53
+ --rf-syntax-token-constant: #d4b07e;
54
+ --rf-syntax-token-comment: #6b6661;
55
+ --rf-syntax-token-function: #a89bc7;
56
+ --rf-syntax-token-parameter: #f6f4ef;
57
+ --rf-syntax-token-punctuation: #94908a;
58
+ --rf-syntax-token-link: #a89bc7;
45
59
 
46
60
  --rf-shadow-xs: 0 1px 2px rgba(0,0,0,0.3);
47
61
  --rf-shadow-sm: 0 1px 3px rgba(0,0,0,0.4), 0 1px 2px rgba(0,0,0,0.3);
@@ -52,47 +66,55 @@
52
66
  /* Auto dark mode via system preference */
53
67
  @media (prefers-color-scheme: dark) {
54
68
  :root:not([data-theme="light"]) {
55
- --rf-color-text: #f1faee;
56
- --rf-color-muted: #a8dadc;
57
- --rf-color-border: rgba(168, 218, 220, 0.15);
58
- --rf-color-bg: #152238;
59
- --rf-color-primary: #70b4c0;
60
- --rf-color-primary-hover: #a8dadc;
69
+ --rf-color-text: #f6f4ef;
70
+ --rf-color-muted: #94908a;
71
+ --rf-color-border: #2a2825;
72
+ --rf-color-bg: #1a1a17;
73
+ --rf-color-primary: #f6f4ef;
74
+ --rf-color-primary-hover: #d4cfc5;
75
+
76
+ --rf-color-surface: #211f1c;
77
+ --rf-color-surface-hover: #2a2825;
78
+ --rf-color-surface-active: #353330;
79
+ --rf-color-surface-raised: #292723;
61
80
 
62
- --rf-color-surface: #1a2940;
63
- --rf-color-surface-hover: #203048;
64
- --rf-color-surface-active: #263850;
65
- --rf-color-surface-raised: #1a2940;
81
+ --rf-color-info: #9bb4c7;
82
+ --rf-color-info-bg: #1f2530;
83
+ --rf-color-info-border: #3d4655;
84
+ --rf-color-warning: #d4a868;
85
+ --rf-color-warning-bg: #2a2519;
86
+ --rf-color-warning-border: #4a3f2a;
87
+ --rf-color-danger: #d48888;
88
+ --rf-color-danger-bg: #2a1818;
89
+ --rf-color-danger-border: #4a2a2a;
90
+ --rf-color-success: #7eb398;
91
+ --rf-color-success-bg: #1a2a1f;
92
+ --rf-color-success-border: #2a4a35;
66
93
 
67
- --rf-color-info: #a8dadc;
68
- --rf-color-info-bg: rgba(69, 123, 157, 0.12);
69
- --rf-color-info-border: rgba(69, 123, 157, 0.3);
70
- --rf-color-warning: #e8c07a;
71
- --rf-color-warning-bg: rgba(200, 144, 10, 0.12);
72
- --rf-color-warning-border: rgba(200, 144, 10, 0.3);
73
- --rf-color-danger: #f07078;
74
- --rf-color-danger-bg: rgba(230, 57, 70, 0.12);
75
- --rf-color-danger-border: rgba(230, 57, 70, 0.3);
76
- --rf-color-success: #72c098;
77
- --rf-color-success-bg: rgba(61, 143, 101, 0.12);
78
- --rf-color-success-border: rgba(61, 143, 101, 0.3);
94
+ --rf-color-code-bg: #222220;
95
+ --rf-color-code-text: #f6f4ef;
96
+ --rf-color-code-inline-bg: #2b2b29;
97
+ --rf-color-inline-code-bg: #2b2b29;
79
98
 
80
- --rf-color-code-bg: #152238;
81
- --rf-color-code-text: #f1faee;
82
- --rf-color-inline-code-bg: rgba(168, 218, 220, 0.08);
99
+ --rf-syntax-keyword: #7eb6bc;
100
+ --rf-syntax-function: #a89bc7;
101
+ --rf-syntax-string: #c79a9a;
102
+ --rf-syntax-constant: #d4b07e;
103
+ --rf-syntax-comment: #6b6661;
104
+ --rf-syntax-punctuation: #94908a;
105
+ --rf-syntax-variable: #f6f4ef;
83
106
 
84
- /* Syntax highlighting (Shiki CSS variables) */
85
- --shiki-foreground: #f1faee;
86
- --shiki-background: #0c162a;
87
- --shiki-token-keyword: #f2cc8f;
88
- --shiki-token-string: #a8dadc;
89
- --shiki-token-string-expression: #a8dadc;
90
- --shiki-token-constant: #e8c07a;
91
- --shiki-token-comment: #5a7a90;
92
- --shiki-token-function: #a8dadc;
93
- --shiki-token-parameter: #b8d6e2;
94
- --shiki-token-punctuation: #70b4c0;
95
- --shiki-token-link: #a8dadc;
107
+ --rf-syntax-foreground: #f6f4ef;
108
+ --rf-syntax-background: #222220;
109
+ --rf-syntax-token-keyword: #7eb6bc;
110
+ --rf-syntax-token-string: #c79a9a;
111
+ --rf-syntax-token-string-expression: #c79a9a;
112
+ --rf-syntax-token-constant: #d4b07e;
113
+ --rf-syntax-token-comment: #6b6661;
114
+ --rf-syntax-token-function: #a89bc7;
115
+ --rf-syntax-token-parameter: #f6f4ef;
116
+ --rf-syntax-token-punctuation: #94908a;
117
+ --rf-syntax-token-link: #a89bc7;
96
118
 
97
119
  --rf-shadow-xs: 0 1px 2px rgba(0,0,0,0.3);
98
120
  --rf-shadow-sm: 0 1px 3px rgba(0,0,0,0.4), 0 1px 2px rgba(0,0,0,0.3);