2121 * @author lutinglt
2222 */
2323
24- import type { GitHubColor , GitHubSyntax } from "src" ;
24+ import type { GitHubColor } from "src" ;
2525import { defineTheme , primer , primer2GitHubColor , primer2GitHubSyntax } from "src" ;
26+ /** - 仅适用于 Dark 主题
27+ * - 不同步 GitHub 样式, 对调 --controlKnob-bgColor-rest 和 --controlTrack-bgColor-rest 的颜色
28+ * - 激活颜色与背景色更一致, 在仪表板仓库/组织切换按钮中与菜单颜色一致
29+ */
30+ function swapKnobAndTrackBgColor ( color : GitHubColor ) : GitHubColor {
31+ return {
32+ ...color ,
33+ controlKnob : { bgColor : { rest : color . controlTrack . bgColor . rest } } ,
34+ controlTrack : { bgColor : { rest : color . controlKnob . bgColor . rest } } ,
35+ } ;
36+ }
2637
27- const rawDarkColor = primer2GitHubColor ( primer . dark , true ) ;
28- export const githubDarkColor : GitHubColor = {
29- ...rawDarkColor ,
30- // 不同步 GitHub 样式, 对调 --controlKnob-bgColor-rest 和 --controlTrack-bgColor-rest 的颜色
31- // 激活颜色与背景色更一致, 在仪表板仓库/组织切换按钮中与菜单颜色一致
32- controlKnob : { bgColor : { rest : rawDarkColor . controlTrack . bgColor . rest } } ,
33- controlTrack : { bgColor : { rest : rawDarkColor . controlKnob . bgColor . rest } } ,
34- } ;
35- export const githubSoftDarkColor : GitHubColor = primer2GitHubColor ( primer . darkDimmed , true ) ;
36- export const githubColorblindDarkColor : GitHubColor = primer2GitHubColor ( primer . darkColorblind , true ) ;
37- export const githubTritanopiaDarkColor : GitHubColor = primer2GitHubColor ( primer . darkTritanopia , true ) ;
38- export const githubLightColor : GitHubColor = primer2GitHubColor ( primer . light ) ;
39- export const githubColorblindLightColor : GitHubColor = primer2GitHubColor ( primer . lightColorblind ) ;
40- export const githubTritanopiaLightColor : GitHubColor = primer2GitHubColor ( primer . lightTritanopia ) ;
38+ export const githubDarkColor = swapKnobAndTrackBgColor ( primer2GitHubColor ( primer . dark , true ) ) ;
39+ export const githubColorblindDarkColor = swapKnobAndTrackBgColor ( primer2GitHubColor ( primer . darkColorblind , true ) ) ;
40+ export const githubTritanopiaDarkColor = swapKnobAndTrackBgColor ( primer2GitHubColor ( primer . darkTritanopia , true ) ) ;
41+ export const githubSoftDarkColor = primer2GitHubColor ( primer . darkDimmed , true ) ;
42+ export const githubLightColor = primer2GitHubColor ( primer . light ) ;
43+ export const githubColorblindLightColor = primer2GitHubColor ( primer . lightColorblind ) ;
44+ export const githubTritanopiaLightColor = primer2GitHubColor ( primer . lightTritanopia ) ;
45+
46+ export const githubDarkHighContrastColor = swapKnobAndTrackBgColor ( primer2GitHubColor ( primer . darkHighContrast , true ) ) ;
47+ export const githubDarkColorblindHighContrastColor = swapKnobAndTrackBgColor (
48+ primer2GitHubColor ( primer . darkColorblindHighContrast , true )
49+ ) ;
50+ export const githubDarkTritanopiaHighContrastColor = swapKnobAndTrackBgColor (
51+ primer2GitHubColor ( primer . darkTritanopiaHighContrast , true )
52+ ) ;
53+ export const githubSoftDarkHighContrastColor = primer2GitHubColor ( primer . darkDimmedHighContrast , true ) ;
54+ export const githubLightHighContrastColor = primer2GitHubColor ( primer . lightHighContrast ) ;
55+ export const githubLightColorblindHighContrastColor = primer2GitHubColor ( primer . lightColorblindHighContrast ) ;
56+ export const githubLightTritanopiaHighContrastColor = primer2GitHubColor ( primer . lightTritanopiaHighContrast ) ;
4157
42- export const githubDarkSyntax : GitHubSyntax = primer2GitHubSyntax ( primer . dark ) ;
43- export const githubSoftDarkSyntax : GitHubSyntax = primer2GitHubSyntax ( primer . darkDimmed ) ;
44- export const githubColorblindDarkSyntax : GitHubSyntax = primer2GitHubSyntax ( primer . darkColorblind ) ;
45- export const githubTritanopiaDarkSyntax : GitHubSyntax = primer2GitHubSyntax ( primer . darkTritanopia ) ;
46- export const githubLightSyntax : GitHubSyntax = primer2GitHubSyntax ( primer . light ) ;
47- export const githubColorblindLightSyntax : GitHubSyntax = primer2GitHubSyntax ( primer . lightColorblind ) ;
48- export const githubTritanopiaLightSyntax : GitHubSyntax = primer2GitHubSyntax ( primer . lightTritanopia ) ;
58+ export const githubDarkSyntax = primer2GitHubSyntax ( primer . dark ) ;
59+ export const githubSoftDarkSyntax = primer2GitHubSyntax ( primer . darkDimmed ) ;
60+ export const githubColorblindDarkSyntax = primer2GitHubSyntax ( primer . darkColorblind ) ;
61+ export const githubTritanopiaDarkSyntax = primer2GitHubSyntax ( primer . darkTritanopia ) ;
62+ export const githubLightSyntax = primer2GitHubSyntax ( primer . light ) ;
63+ export const githubColorblindLightSyntax = primer2GitHubSyntax ( primer . lightColorblind ) ;
64+ export const githubTritanopiaLightSyntax = primer2GitHubSyntax ( primer . lightTritanopia ) ;
65+
66+ export const githubDarkHighContrastSyntax = primer2GitHubSyntax ( primer . darkHighContrast ) ;
67+ export const githubDarkColorblindHighContrastSyntax = primer2GitHubSyntax ( primer . darkColorblindHighContrast ) ;
68+ export const githubDarkTritanopiaHighContrastSyntax = primer2GitHubSyntax ( primer . darkTritanopiaHighContrast ) ;
69+ export const githubSoftDarkHighContrastSyntax = primer2GitHubSyntax ( primer . darkDimmedHighContrast ) ;
70+ export const githubLightHighContrastSyntax = primer2GitHubSyntax ( primer . lightHighContrast ) ;
71+ export const githubLightColorblindHighContrastSyntax = primer2GitHubSyntax ( primer . lightColorblindHighContrast ) ;
72+ export const githubLightTritanopiaHighContrastSyntax = primer2GitHubSyntax ( primer . lightTritanopiaHighContrast ) ;
4973
5074export const githubDarkTheme = defineTheme ( {
5175 colorType : "github" ,
@@ -83,6 +107,42 @@ export const githubTritanopiaLightTheme = defineTheme({
83107 syntaxColor : githubTritanopiaLightSyntax ,
84108} ) ;
85109
110+ export const githubDarkHighContrastTheme = defineTheme ( {
111+ colorType : "github" ,
112+ themeColor : githubDarkHighContrastColor ,
113+ syntaxColor : githubDarkHighContrastSyntax ,
114+ } ) ;
115+ export const githubDarkColorblindHighContrastTheme = defineTheme ( {
116+ colorType : "github" ,
117+ themeColor : githubDarkColorblindHighContrastColor ,
118+ syntaxColor : githubDarkColorblindHighContrastSyntax ,
119+ } ) ;
120+ export const githubDarkTritanopiaHighContrastTheme = defineTheme ( {
121+ colorType : "github" ,
122+ themeColor : githubDarkTritanopiaHighContrastColor ,
123+ syntaxColor : githubDarkTritanopiaHighContrastSyntax ,
124+ } ) ;
125+ export const githubSoftDarkHighContrastTheme = defineTheme ( {
126+ colorType : "github" ,
127+ themeColor : githubSoftDarkHighContrastColor ,
128+ syntaxColor : githubSoftDarkHighContrastSyntax ,
129+ } ) ;
130+ export const githubLightHighContrastTheme = defineTheme ( {
131+ colorType : "github" ,
132+ themeColor : githubLightHighContrastColor ,
133+ syntaxColor : githubLightHighContrastSyntax ,
134+ } ) ;
135+ export const githubLightColorblindHighContrastTheme = defineTheme ( {
136+ colorType : "github" ,
137+ themeColor : githubLightColorblindHighContrastColor ,
138+ syntaxColor : githubLightColorblindHighContrastSyntax ,
139+ } ) ;
140+ export const githubLightTritanopiaHighContrastTheme = defineTheme ( {
141+ colorType : "github" ,
142+ themeColor : githubLightTritanopiaHighContrastColor ,
143+ syntaxColor : githubLightTritanopiaHighContrastSyntax ,
144+ } ) ;
145+
86146export default {
87147 githubDarkTheme,
88148 githubSoftDarkTheme,
@@ -91,4 +151,11 @@ export default {
91151 githubLightTheme,
92152 githubColorblindLightTheme,
93153 githubTritanopiaLightTheme,
154+ githubDarkHighContrastTheme,
155+ githubDarkColorblindHighContrastTheme,
156+ githubDarkTritanopiaHighContrastTheme,
157+ githubSoftDarkHighContrastTheme,
158+ githubLightHighContrastTheme,
159+ githubLightColorblindHighContrastTheme,
160+ githubLightTritanopiaHighContrastTheme,
94161} ;
0 commit comments