@gechiui/block-editor
Version:
92 lines (77 loc) • 2.55 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _element = require("@gechiui/element");
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
var _components = require("@gechiui/components");
var _i18n = require("@gechiui/i18n");
var _data = require("@gechiui/data");
var _icons = require("@gechiui/icons");
var _listView = _interopRequireDefault(require("../list-view"));
var _store = require("../../store");
/**
* GeChiUI dependencies
*/
/**
* Internal dependencies
*/
function BlockNavigationDropdownToggle(_ref) {
let {
isEnabled,
onToggle,
isOpen,
innerRef,
...props
} = _ref;
return (0, _element.createElement)(_components.Button, (0, _extends2.default)({}, props, {
ref: innerRef,
icon: _icons.listView,
"aria-expanded": isOpen,
"aria-haspopup": "true",
onClick: isEnabled ? onToggle : undefined
/* translators: button label text should, if possible, be under 16 characters. */
,
label: (0, _i18n.__)('列表视图'),
className: "block-editor-block-navigation",
"aria-disabled": !isEnabled
}));
}
function BlockNavigationDropdown(_ref2, ref) {
let {
isDisabled,
__experimentalFeatures,
...props
} = _ref2;
const hasBlocks = (0, _data.useSelect)(select => !!select(_store.store).getBlockCount(), []);
const isEnabled = hasBlocks && !isDisabled;
return (0, _element.createElement)(_components.Dropdown, {
contentClassName: "block-editor-block-navigation__popover",
position: "bottom right",
renderToggle: _ref3 => {
let {
isOpen,
onToggle
} = _ref3;
return (0, _element.createElement)(BlockNavigationDropdownToggle, (0, _extends2.default)({}, props, {
innerRef: ref,
isOpen: isOpen,
onToggle: onToggle,
isEnabled: isEnabled
}));
},
renderContent: () => (0, _element.createElement)("div", {
className: "block-editor-block-navigation__container"
}, (0, _element.createElement)("p", {
className: "block-editor-block-navigation__label"
}, (0, _i18n.__)('列表视图')), (0, _element.createElement)(_listView.default, {
showNestedBlocks: true,
__experimentalFeatures: __experimentalFeatures
}))
});
}
var _default = (0, _element.forwardRef)(BlockNavigationDropdown);
exports.default = _default;
//# sourceMappingURL=dropdown.js.map