Browse Source

解决样式覆盖问题;解决@keyframe内颜色替换无效问题

pull/4289/head
hz 7 years ago
parent
commit
867301ac9f
  1. 30
      config/plugin.config.js
  2. 2
      package.json
  3. 7
      src/components/SettingDrawer/themeColorClient.js

30
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);
}

2
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"

7
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;

Loading…
Cancel
Save