UNPKG

@gechiui/block-editor

Version:
61 lines (48 loc) 1.57 kB
"use strict"; 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 _context = _interopRequireDefault(require("./context")); /** * GeChiUI dependencies */ /** * Internal dependencies */ function InserterListboxItem(_ref, ref) { let { isFirst, as: Component, children, ...props } = _ref; const state = (0, _element.useContext)(_context.default); return (0, _element.createElement)(_components.__unstableCompositeItem, (0, _extends2.default)({ ref: ref, state: state, role: "option" // Use the CompositeItem `focusable` prop over Button's // isFocusable. The latter was shown to cause an issue // with tab order in the inserter list. , focusable: true }, props), htmlProps => { const propsWithTabIndex = { ...htmlProps, tabIndex: isFirst ? 0 : htmlProps.tabIndex }; if (Component) { return (0, _element.createElement)(Component, propsWithTabIndex, children); } if (typeof children === 'function') { return children(propsWithTabIndex); } return (0, _element.createElement)(_components.Button, propsWithTabIndex, children); }); } var _default = (0, _element.forwardRef)(InserterListboxItem); exports.default = _default; //# sourceMappingURL=item.js.map