Repository URL to install this package:
|
Version:
2.0.0 ▾
|
/**
* @todo isAtBottom & isAtTop & isBottomVisible
* @todo onKeyDown?
* @todo all click boundaries re-use this?
*/
import { ApplicationTypes, CurriedSet, ApplicationScreen, ApplicationScroll, ApplicationSnackbar } from './typings';
/**
* @todo method like @connectTo('prop1', 'prop2')
* @todo debounce with requestAnimationFrame
*/
declare class ApplicationStore implements ApplicationTypes {
store: import("mobx/lib/types/observablemap").ObservableMap<any, any>;
snackbar: ApplicationSnackbar;
prev: {
screen: {
height: number;
width: number;
};
};
screen: ApplicationScreen;
scroll: ApplicationScroll;
hasError: boolean;
orientation: string;
isTouchDevice: boolean;
isModernBrowser: boolean;
isOldBadBrowser: string | boolean;
/**
* @note - was this - but now is observe direct since we have typings
* observe(properties: string | Array<string>, subscriber: Function) {
* return observe(this, properties, subscriber)
* }
*/
observe: any;
isLoading: boolean;
readonly isLoadingBig: boolean;
showLoadingGauge(isLoading: boolean, duration?: number): this;
setIsLoadingBig(isLoading: boolean): this;
setLoadingTimer(isLoading?: boolean, duration?: number): this;
setIsLoading(isLoading: boolean): this;
setError(message: string, meta?: ObjectConstructor): this;
snack(message: string, meta: Object): this;
/**
* @todo @name isTheatre
* (small, medium, large) - 2200, 2400, 6000
*
* @todo @name isDesktop
* (small, medium, large) - 1440, 1600, 1920
*/
readonly isSuperSize: boolean;
/**
* @todo @name isLaptop
* (small, medium, large) - 1024, 1280, 1366
*/
readonly isDesktop: boolean;
readonly isTablet: boolean;
readonly isTabletOrLarger: boolean;
readonly isTabletOrSmaller: boolean;
readonly isMobile: boolean;
readonly isMobileOrLarger: boolean;
readonly isPhone: boolean;
readonly isDesktopOrLarger: boolean;
readonly deviceType: "desktop" | "tablet" | "mobile";
/**
* @private
*/
handleResize(event: UIEvent): void;
/**
* @private
*/
updateDimensions(): void;
/**
* @private
*/
handleScroll(event: Event): void;
handleOrientation(event?: Event): void;
/**
* @private
*/
updateScrollPosition(event: Event): void;
readonly isScrollingUp: boolean;
readonly isScrollingDown: boolean;
toggle(key: string): this;
toggleFor(key: string): (event?: any) => this;
set(key: string, value?: any): ApplicationStore | CurriedSet;
/**
* @example isFilterOpen
*/
get(key: string | Array<string>): any;
entries(): import("exotic/dist/types/obj/cast/fromCollectionToObj").CollectionAsObj<any>;
}
declare const applicationContainer: ApplicationStore;
export { ApplicationStore };
export { applicationContainer as application };
export { applicationContainer };
export default applicationContainer;