UNPKG

collaborative-ui

Version:

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

37 lines (36 loc) 1.6 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.JsonBlockToolbar = void 0; const tslib_1 = require("tslib"); const React = tslib_1.__importStar(require("react")); const nano_theme_1 = require("nano-theme"); const Space_1 = require("nice-ui/lib/3-list-item/Space"); const useBehaviorSubject_1 = require("nice-ui/lib/hooks/useBehaviorSubject"); const flexible_input_1 = require("flexible-input"); const Flex_1 = require("nice-ui/lib/3-list-item/Flex"); const JsonBlockTabs_1 = require("../JsonBlockTabs"); const css = { pointer: (0, nano_theme_1.rule)({ ...nano_theme_1.theme.font.mono.mid, col: nano_theme_1.theme.color.sem.blue[0], fz: '12px', d: 'flex', pd: '1px 0 0', alignItems: 'center', }), }; const JsonBlockToolbar = ({ state }) => { const path = (0, useBehaviorSubject_1.useBehaviorSubject)(state.path$); const handlePointerChange = (e) => { let txt = e.target.value; if (txt && txt[0] !== '/') txt = '/' + txt; state.setPath(txt); }; return (React.createElement(Flex_1.Flex, { style: { flexDirection: 'row', alignItems: 'center' } }, React.createElement(JsonBlockTabs_1.JsonBlockTabs, { state: state }), React.createElement(Space_1.Space, { horizontal: true, size: 2 }), React.createElement("div", { className: css.pointer }, React.createElement(flexible_input_1.FlexibleInput, { value: path, onChange: handlePointerChange, typeahead: path ? '' : '/path' })))); }; exports.JsonBlockToolbar = JsonBlockToolbar;