UNPKG

collaborative-ui

Version:

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

36 lines (35 loc) 1.9 kB
"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;