"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.BaseAppState = void 0;
exports.makeBaseAppState = makeBaseAppState;
const core_1 = require("@vived/core");
class BaseAppState extends core_1.AppObjectEntity {
}
exports.BaseAppState = BaseAppState;
BaseAppState.type = "BaseAppState";
BaseAppState.get = (appObjects) => (0, core_1.getSingletonComponent)(BaseAppState.type, appObjects);
function makeBaseAppState(appObject) {
    return new AppStateImp(appObject);
}
class AppStateImp extends BaseAppState {
    get isAuthoring() {
        return this.memoizedIsAuthoring.val;
    }
    set isAuthoring(val) {
        this.memoizedIsAuthoring.val = val;
    }
    get isReviewing() {
        return this.memoizedIsReviewing.val;
    }
    set isReviewing(val) {
        this.memoizedIsReviewing.val = val;
    }
    get slideText() {
        return this.memoizedSlideText.val;
    }
    set slideText(text) {
        this.memoizedSlideText.val = text;
    }
    set hasNextState(state) {
        this.memoizedHasNextState.val = state;
    }
    get hasNextState() {
        return this.memoizedHasNextState.val;
    }
    set hasPreviousState(state) {
        this.memoizedHasPreviousState.val = state;
    }
    get hasPreviousState() {
        return this.memoizedHasPreviousState.val;
    }
    set hideSlideNavigation(state) {
        this.memoizedHideSlideNavigation.val = state;
    }
    get hideSlideNavigation() {
        return this.memoizedHideSlideNavigation.val;
    }
    get slideInfoContentHeight() {
        return this.memoizedContentSize.val;
    }
    set slideInfoContentHeight(val) {
        this.memoizedContentSize.val = val;
    }
    constructor(appObject) {
        super(appObject, BaseAppState.type);
        this.memoizedIsAuthoring = new core_1.MemoizedBoolean(false, this.notifyOnChange);
        this.memoizedIsReviewing = new core_1.MemoizedBoolean(false, this.notifyOnChange);
        this.memoizedSlideText = new core_1.MemoizedString("", this.notifyOnChange);
        this.memoizedHasNextState = new core_1.MemoizedBoolean(false, this.notifyOnChange);
        this.memoizedHasPreviousState = new core_1.MemoizedBoolean(false, this.notifyOnChange);
        this.memoizedHideSlideNavigation = new core_1.MemoizedBoolean(false, this.notifyOnChange);
        this.memoizedContentSize = new core_1.MemoizedNumber(0, this.notifyOnChange);
    }
}
//# sourceMappingURL=BaseAppState.js.map