All Projects → luffyZh → mini-dynamic-antd-theme

luffyZh / mini-dynamic-antd-theme

Licence: other
🌈 Mini dynamic antd theme whether ant-design or ant-design-vue, after gizp 11 kB.

Programming Languages

typescript
32286 projects
CSS
56736 projects
javascript
184084 projects - #8 most used programming language

build-passing Gzip Size latest tag

A simple plugin to dynamic change ant-design || ant-design-vue theme whether less or css.

NPM

🌍 Browser Support

Chrome Edge Firefox IE Safari
Chrome 39.0+ Edge 12.0+ Firefox 30.0+ IE 11+ Safari 9.1+

📦 Install

npm install mini-dynamic-antd-theme or yarn add mini-dynamic-antd-theme

🔨 Usage && 🎆 Effects

Ant-Design

import { changeAntdTheme } from 'mini-dynamic-antd-theme';

<div className={styles.themeContainer}>
  Change theme:
  <span 
    className={styles.theme_color_pink}
    onClick={
      () => changeAntdTheme('pink')
    }
  />
  <span 
    className={styles.theme_color_green}
    onClick={
      () => changeAntdTheme('green')
    }
  />
</div>

Ant-Design-Vue

<template>
 <div class="theme-container">
    Change Theme:
    <span @click="changeThemeColor('pink')" class="theme-color-pink" />
    <span @click="changeThemeColor('green')" class="theme-color-green" />
  </div>
</template>

<script>
import { changeAntdTheme } from 'mini-dynamic-antd-theme';

...

export default {
  name: 'App',
  methods: {
    changeThemeColor (color) {
      changeAntdTheme(color)
    }
  }
};

</script>

More Example

How to change other element (not ant-design components) color?

The mini-dynamic-antd-theme will store the primary-color value in the localStorage named mini-dynamic-antd-theme-color after the theme color is changed.

// When the theme color has changed, we can change the dom that id = 'header_bar' bg color.

document.getElementById('header_bar').style.backgroundColor
  = window.localStorage.getItem('mini-dynamic-antd-theme-color');

🌞 Export

export Description
changeAntdTheme param: (color, options), change the antd theme. The options specific attributes are as follows: - storageName: This can be configured to set storageName when not using picker . - customCss: custom Css

🍎 Attention

This solution is easy to use, so it is prone to problems. We hope you can give us timely feedback. For example, if there is a problem with any component, we will fix the updated version as soon as possible.

After the version_4.0, ant-design has lots of changes. So the plugin could have some problems, you can find and give me a issue. I'll fix it as soon as possible.

CHANGELOG

🌈 More detail u can go to the dynamic-antd-theme

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].