UNPKG

collaborative-ui

Version:

React component library for building real-time collaborative editing applications.

21 lines (20 loc) 1.47 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.JsonCrdtExplorer = void 0; const tslib_1 = require("tslib"); const React = tslib_1.__importStar(require("react")); const JsonCrdtExplorerState_1 = require("./JsonCrdtExplorerState"); const ExplorerSidenav_1 = require("./ExplorerSidenav"); const context_1 = require("./context"); const TwoColumnLayout_1 = tslib_1.__importDefault(require("nice-ui/lib/6-page/TwoColumnLayout")); const Preview_1 = require("./Preview"); const useBehaviorSubject_1 = require("nice-ui/lib/hooks/useBehaviorSubject"); const constants_1 = require("nice-ui/lib/constants"); const JsonCrdtExplorer = ({ state: _state }) => { const state = React.useMemo(() => _state || new JsonCrdtExplorerState_1.JsonCrdtExplorerState(), [_state]); const files = (0, useBehaviorSubject_1.useBehaviorSubject)(state.files$); const content = !files.length ? (React.createElement("div", { style: { display: 'flex', justifyContent: 'space-around' } }, React.createElement(ExplorerSidenav_1.ExplorerSidenav, null))) : (React.createElement(TwoColumnLayout_1.default, { left: React.createElement(ExplorerSidenav_1.ExplorerSidenav, null), right: React.createElement(Preview_1.Preview, null), top: constants_1.NiceUiSizes.TopNavHeight + constants_1.NiceUiSizes.TopNavHeight + 24 })); return React.createElement(context_1.context.Provider, { value: state }, content); }; exports.JsonCrdtExplorer = JsonCrdtExplorer;