UNPKG

@anmiles/theme-switcher

Version:
89 lines (64 loc) 1.93 kB
# @anmiles/theme-switcher Theme switcher for websites ---- ## Installation ### For React+TS project 1. Install package: ```bash npm install @anmiles/theme-switcher ``` 2. Import component: ```ts import { ThemeSwitcher } from '@anmiles/theme-switcher'; ``` 3. Use component: ```ts <ThemeSwitcher float="right" /> ``` where - `float` _(optional)_ - position of icon and dropdown box ### For static HTML website 1. Install package: ```bash npm install @anmiles/theme-switcher ``` 2. Copy all files from `dist` into the target website. 4. Create HTML container for theme switcher: ```html <div class="my-selector"></div> ``` 5. Include React library and theme switcher: ### Development ```html <script type="text/javascript" src="https://unpkg.com/react@18.3.1/umd/react.development.js"></script> <script type="text/javascript" src="https://unpkg.com/react-dom@18.3.1/umd/react-dom.development.js"></script> <script type="text/javascript" src="./theme-switcher-1.0.2.js"></script> ``` ### Production ```html <script type="text/javascript" src="https://unpkg.com/react@18.3.1/umd/react.production.min.js"></script> <script type="text/javascript" src="https://unpkg.com/react-dom@18.3.1/umd/react-dom.production.min.js"></script> <script type="text/javascript" src="./theme-switcher-1.0.2.min.js"></script> ``` 6. Place theme switcher into container: ```html <script type="text/javascript"> new ThemeSwitcher({ float: 'right' }) .render(document.querySelector('.my-selector')); </script> ``` where - `float` _(optional)_ - position of icon and dropdown box ## Usage Use selectors to write theme-specific styles: ```css body[data-theme="light"] .selector { /* css rules */ } ``` ```css body[data-theme="dark"] .selector { /* css rules */ } ``` Or you can just write default styles for light theme and override them for dark theme using `body[data-theme="dark"]`.