collaborative-ui
Version:
React component library for building real-time collaborative editing applications.
36 lines (35 loc) • 1.9 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.DemoSelect = void 0;
const tslib_1 = require("tslib");
const React = tslib_1.__importStar(require("react"));
const Popup_1 = require("nice-ui/lib/4-card/Popup");
const ContextMenu_1 = require("nice-ui/lib/4-card/ContextMenu");
const Iconista_1 = require("nice-ui/lib/icons/Iconista");
const demos = tslib_1.__importStar(require("../demos"));
const use_t_1 = require("use-t");
const CreateButton_1 = require("../../molecules/CreateButton");
const context_1 = require("../context");
const icon = (demo) => {
switch (demo.type) {
case 'text':
return React.createElement(Iconista_1.Iconista, { width: 16, height: 16, set: "elastic", icon: "vis_text" });
default:
return null;
}
};
const DemoSelect = ({ width = 240 }) => {
const [t] = (0, use_t_1.useT)();
const state = (0, context_1.useDemos)();
const [loading, setLoading] = React.useState(false);
return (React.createElement(Popup_1.Popup, { block: true, renderContext: () => (React.createElement(ContextMenu_1.ContextPane, { style: { width: width + 8 } },
React.createElement(ContextMenu_1.ContextSep, null),
React.createElement(ContextMenu_1.ContextTitle, null, t('Plain text')),
demos.text.map((demo) => (React.createElement(ContextMenu_1.ContextItem, { closePopup: true, key: demo.id, inset: true, icon: icon(demo), onClick: () => {
setLoading(true);
state.create(demo);
} }, demo.title))),
React.createElement(ContextMenu_1.ContextSep, null))) },
React.createElement(CreateButton_1.CreateButton, { round: true, primary: true, blue: true, block: true, fill: true, size: 1, onClick: () => { }, loading: loading, disabled: loading }, "Create document")));
};
exports.DemoSelect = DemoSelect;