Why Gemfury? Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Debian packages RPM packages NuGet packages

Repository URL to install this package:

Details    
@skava/state / dist / application.d.ts
Size: Mime:
/**
 * @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;