UNPKG

collaborative-ui

Version:

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

27 lines (26 loc) 1.27 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.JsonCrdtDemos = void 0; const tslib_1 = require("tslib"); const React = tslib_1.__importStar(require("react")); const JsonCrdtDemosState_1 = require("./JsonCrdtDemosState"); const context_1 = require("./context"); const useBehaviorSubject_1 = require("nice-ui/lib/hooks/useBehaviorSubject"); const context_2 = require("nice-ui/lib/context"); const Preview_1 = require("./Preview"); const Landing_1 = require("./Landing"); const JsonCrdtDemos = ({ state: _state, basePath = [] }) => { const services = (0, context_2.useNiceUiServices)(); // biome-ignore lint: manual dependency list const state = React.useMemo(() => _state || new JsonCrdtDemosState_1.JsonCrdtDemosState({ basePath, nav: services.nav }), [_state, services]); const steps = (0, useBehaviorSubject_1.useBehaviorSubject)(state.steps$); let content; if (steps[0] === 'live' && typeof steps[1] === 'string') { content = React.createElement(Preview_1.Preview, { id: steps[1] }); } else { content = React.createElement(Landing_1.Landing, null); } return React.createElement(context_1.context.Provider, { value: state }, content); }; exports.JsonCrdtDemos = JsonCrdtDemos;