@pilotlab/lux-tools
Version:
A luxurious user experience framework, developed by your friends at Pilot.
54 lines (41 loc) • 2.17 kB
text/typescript
import { HiResTimer } from '@pilotlab/lux-hi-res-timer';
import {AnimationEaseQuartic, IAnimationEaseFunction} from "@pilotlab/lux-animation";
import {DataElement} from "../../lux-elements/src/dataEntities/dataElement";
import {Color} from "@pilotlab/lux-types";
import {AttributeCollection} from "@pilotlab/lux-attributes";
import ISettingsApp from './iSettingsApp';
module lux {
export abstract class SettingsAppBase extends DataElement implements ISettingsApp {
constructor(data?:(SettingsAppBase | AttributeCollection | Object | string), isInitialize:boolean = true) {
super(data, false);
//----- animation
this._hiResTimer = HiResTimer.timerDefault;
if (isInitialize) this.initialize();
}
//===== Dimensions
get width():number { return 1920; }
get height():number { return 1080; }
//===== Animation
get timer():HiResTimer { return this._hiResTimer; }
private _hiResTimer:HiResTimer;
get durationQuick():number { return 0.5; }
get durationNormal():number { return 1; }
get durationLong():number { return 1.5; }
get ease():IAnimationEaseFunction { return AnimationEaseQuartic.out; }
//===== Colors
get colorVeryLight():Color { return new Color(255, 255, 255); }
get colorLight():Color { return new Color(240, 240, 240); }
get colorDark():Color { return new Color(80, 80, 80); }
get colorVeryDark():Color { return new Color(0, 0, 0); }
get colorGrayLight():Color { return Color.fromHex('#e2e2e2'); }
get colorGrayMediumLight():Color { return Color.fromHex('#c5c5c5'); }
get colorGray():Color { return Color.fromHex('#9e9e9e'); }
get colorGrayMediumDark():Color { return Color.fromHex('#6f6f6f'); }
get colorGrayDark():Color { return Color.fromHex('#9e9e9e'); }
get colorAccent():Color { return new Color(242, 100, 61); }
toAttributes():AttributeCollection {
let attributes:AttributeCollection = new AttributeCollection();
return attributes;
}
} // End of class
} // End Module