A flexible theme and color system (light/dark, RTL, palettes) for web apps using JS, Sass, and Bootstrap
npm install bootkit-theme-managerbash
npm install bootkit-theme-manager
`
$3
`html
`
---
π¦ Usage
$3
`html
`
$3
`js
import * as ThemeManager from './dist/core.js';
ThemeManager.initThemeSystem();
ThemeManager.toggleTheme();
ThemeManager.toggleDirection();
ThemeManager.applyPalette('red');
`
$3
1. Include CSS in angular.json:
`json
"styles": [
"node_modules/bootkit-theme-manager/dist/theme-light.default.ltr.css",
"node_modules/bootstrap/dist/css/bootstrap.min.css"
],
"scripts": []
`
2. Load JS in your component or service:
`ts
import * as ThemeManager from 'bootkit-theme-manager/dist/core.js';
ngOnInit() {
ThemeManager.initThemeSystem();
}
`
$3
`jsx
import React, { useEffect } from 'react';
import * as ThemeManager from 'bootkit-theme-manager/dist/core.js';
import 'bootkit-theme-manager/dist/theme-light.default.ltr.css';
import 'bootstrap/dist/css/bootstrap.min.css';
export default function App() {
useEffect(() => {
ThemeManager.initThemeSystem();
}, []);
return (
);
}
`
---
π§ͺ Tests
`bash
npm run test
npm run test:coverage
`
Unit tests for core.js (via Jest):
- Theme toggling (light/dark)
- Direction switching (LTR/RTL)
- Palette swapping (default, red, green, orange)
---
π οΈ Development Commands
`bash
npm run generate # Generate all SCSS for themes + palettes
npm run build # Build CSS, JS, RTL variants
npm run dev # Watch SCSS changes live
npm run test # Run unit tests
npm run test:coverage # View code coverage
``