diff --git a/config/plugin.config.js b/config/plugin.config.js index b8056c92dff852a6b9209395d0c24789fc984cef..77a23dd59520003e071baee4c1e61ca6f68db8c6 100644 --- a/config/plugin.config.js +++ b/config/plugin.config.js @@ -44,15 +44,22 @@ export default config => { config.plugin('webpack-theme-color-replacer').use(ThemeColorReplacer, [ { fileName: 'css/theme-colors.css', - matchColors: generate('#1890ff'), // 主色系列 + matchColors: getAntdSerials('#1890ff'), // 主色系列 // 改变样式选择器,解决样式覆盖问题 changeSelector(selector) { - switch (selector) { - case '.ant-calendar-today .ant-calendar-date': - return ':not(.ant-calendar-selected-day)' + selector; - default: - return selector; - } + var fix = { + '.ant-calendar-today .ant-calendar-date': + ':not(.ant-calendar-selected-date)' + selector, + '.ant-btn:focus,.ant-btn:hover': selector + .split(',') + .map(s => s + ':not(.ant-btn-primary)') + .join(','), + '.ant-btn.active,.ant-btn:active': selector + .split(',') + .map(s => s + ':not(.ant-btn-primary)') + .join(','), + }; + return fix[selector] || selector; }, }, ]); @@ -97,3 +104,12 @@ export default config => { }, }); }; + +function getAntdSerials(color) { + const colorPalettes = generate(color); + // 淡化(即less的tint) + const lightens = new Array(9).fill().map((t, i) => { + return ThemeColorReplacer.varyColor.lighten(color, i / 10); + }); + return colorPalettes.concat(lightens); +} diff --git a/package.json b/package.json index 5684d8d7f411a96fdd5598321c4d58272b80ceac..c50ec8b637936bc3803b6e3046c17156462ef5d2 100644 --- a/package.json +++ b/package.json @@ -127,7 +127,7 @@ "tslint-config-prettier": "^1.17.0", "tslint-react": "^3.6.0", "umi-plugin-ga": "^1.1.3", - "webpack-theme-color-replacer": "^1.1.4" + "webpack-theme-color-replacer": "^1.1.5" }, "optionalDependencies": { "puppeteer": "^1.12.1" diff --git a/src/components/SettingDrawer/themeColorClient.js b/src/components/SettingDrawer/themeColorClient.js index 9eeee6d74e86a3bebad5111b80bde9b96d8b9bec..a0e476dece71ebc3c47cf2cebfd791f77b02ea42 100644 --- a/src/components/SettingDrawer/themeColorClient.js +++ b/src/components/SettingDrawer/themeColorClient.js @@ -5,7 +5,12 @@ import client from 'webpack-theme-color-replacer/client'; export default { primaryColor: '#1890ff', getAntdSerials(color) { - return generate(color); + // 淡化(即less的tint) + const lightens = new Array(9).fill().map((t, i) => { + return client.varyColor.lighten(color, i / 10); + }); + const colorPalettes = generate(color); + return lightens.concat(colorPalettes); }, changeColor(newColor) { const lastColor = this.lastColor || this.primaryColor;