UNPKG

@gechiui/block-editor

Version:
76 lines (71 loc) 2.16 kB
import _extends from "@babel/runtime/helpers/esm/extends"; import { createElement } from "@gechiui/element"; /** * GeChiUI dependencies */ import { Button, Dropdown } from '@gechiui/components'; import { __ } from '@gechiui/i18n'; import { useSelect } from '@gechiui/data'; import { forwardRef } from '@gechiui/element'; import { listView } from '@gechiui/icons'; /** * Internal dependencies */ import ListView from '../list-view'; import { store as blockEditorStore } from '../../store'; function BlockNavigationDropdownToggle(_ref) { let { isEnabled, onToggle, isOpen, innerRef, ...props } = _ref; return createElement(Button, _extends({}, props, { ref: innerRef, icon: listView, "aria-expanded": isOpen, "aria-haspopup": "true", onClick: isEnabled ? onToggle : undefined /* translators: button label text should, if possible, be under 16 characters. */ , label: __('列表视图'), className: "block-editor-block-navigation", "aria-disabled": !isEnabled })); } function BlockNavigationDropdown(_ref2, ref) { let { isDisabled, __experimentalFeatures, ...props } = _ref2; const hasBlocks = useSelect(select => !!select(blockEditorStore).getBlockCount(), []); const isEnabled = hasBlocks && !isDisabled; return createElement(Dropdown, { contentClassName: "block-editor-block-navigation__popover", position: "bottom right", renderToggle: _ref3 => { let { isOpen, onToggle } = _ref3; return createElement(BlockNavigationDropdownToggle, _extends({}, props, { innerRef: ref, isOpen: isOpen, onToggle: onToggle, isEnabled: isEnabled })); }, renderContent: () => createElement("div", { className: "block-editor-block-navigation__container" }, createElement("p", { className: "block-editor-block-navigation__label" }, __('列表视图')), createElement(ListView, { showNestedBlocks: true, __experimentalFeatures: __experimentalFeatures })) }); } export default forwardRef(BlockNavigationDropdown); //# sourceMappingURL=dropdown.js.map