UNPKG

@lobehub/editor

Version:

A powerful and extensible rich text editor built on Meta's Lexical framework, providing a modern editing experience with React integration.

56 lines (55 loc) 1.88 kB
'use client'; import { ActionIcon, Flexbox } from '@lobehub/ui'; import { ChevronDown, ChevronRight } from 'lucide-react'; import CopyButton from "./CopyButton"; import { LanguageSelect } from "./LanguageSelect"; import { MoreOptions } from "./MoreOptions"; import { jsx as _jsx } from "react/jsx-runtime"; import { jsxs as _jsxs } from "react/jsx-runtime"; export var Toolbar = function Toolbar(_ref) { var selectedLang = _ref.selectedLang, onLanguageChange = _ref.onLanguageChange, onCopy = _ref.onCopy, tabSize = _ref.tabSize, onTabSizeChange = _ref.onTabSizeChange, useTabs = _ref.useTabs, onUseTabsChange = _ref.onUseTabsChange, showLineNumbers = _ref.showLineNumbers, onShowLineNumbersChange = _ref.onShowLineNumbersChange, onClick = _ref.onClick, expand = _ref.expand, toggleExpand = _ref.toggleExpand; return /*#__PURE__*/_jsxs(Flexbox, { align: 'center', className: 'cm-header-toolbar', horizontal: true, justify: 'space-between', onClick: onClick, padding: 4, children: [/*#__PURE__*/_jsx(LanguageSelect, { onLanguageChange: onLanguageChange, selectedLang: selectedLang }), /*#__PURE__*/_jsxs(Flexbox, { gap: 4, horizontal: true, onClick: function onClick(e) { return e.stopPropagation(); }, children: [/*#__PURE__*/_jsx(MoreOptions, { onShowLineNumbersChange: onShowLineNumbersChange, onTabSizeChange: onTabSizeChange, onUseTabsChange: onUseTabsChange, showLineNumbers: showLineNumbers, tabSize: tabSize, useTabs: useTabs }), /*#__PURE__*/_jsx(CopyButton, { onCopy: onCopy }), /*#__PURE__*/_jsx(ActionIcon, { icon: expand ? ChevronDown : ChevronRight, onClick: toggleExpand, size: "small" })] })] }); }; Toolbar.displayName = 'Toolbar';