@fefade/svelte
Version:
Reusable Svelte UI components powered by the FEFADE core system.
28 lines (27 loc) • 651 B
JavaScript
import { Constants } from "@fefade/core";
let data = $state({
mode: "light",
colors: Constants.themeColors.light
});
export default function themeConfigState() {
return {
_setMode(t) {
data.mode = t;
},
_setColors(t) {
data.colors = Constants.themeColors[t];
},
getMode() {
return data.mode;
},
getColors() {
return Constants.themeColors[this.getMode()];
},
setThemeMode(t) {
if (this.getMode() !== t) {
this._setMode(t);
this._setColors(t);
}
}
};
}