@web-atoms/core
Version:
62 lines (46 loc) • 1.95 kB
text/typescript
import { AtomWindowStyle } from "./AtomWindowStyle";
import { AtomPopupStyle } from "./AtomPopupStyle";
import { App } from "../../App";
import { BindableProperty } from "../../core/BindableProperty";
import Color from "../../core/Color";
import Colors, { ColorItem } from "../../core/Colors";
import { IDisposable, INotifyPropertyChanging } from "../../core/types";
import { Inject } from "../../di/Inject";
import { RegisterSingleton } from "../../di/RegisterSingleton";
import { NavigationService } from "../../services/NavigationService";
import { AtomListBox } from "../controls/AtomListBox";
import { AtomWindow } from "../controls/AtomWindow";
import { AtomStyleSheet } from "../styles/AtomStyleSheet";
import { AtomListBoxStyle } from "./AtomListBoxStyle";
export class AtomTheme extends AtomStyleSheet
implements
INotifyPropertyChanging,
IDisposable {
public bgColor: ColorItem = Colors.white;
public color: ColorItem = Colors.gray;
public hoverColor: ColorItem = Colors.lightGray;
public activeColor: ColorItem = Colors.lightBlue;
public selectedBgColor: ColorItem = Colors.blue;
public selectedColor: ColorItem = Colors.white;
public padding: number = 5;
// public readonly window = this.createStyle(AtomWindow, AtomWindowStyle, "window");
// public readonly popup = this.createNamedStyle(AtomPopupStyle, "popup");
constructor(
app: App,
private navigationService: NavigationService) {
super(app, "atom-theme");
setTimeout(() => {
window.addEventListener("resize", () => {
setTimeout(() => {
this.pushUpdate();
}, 10);
});
document.body.addEventListener("resize", () => {
setTimeout(() => {
this.pushUpdate();
}, 10);
});
}, 1000);
}
}