@wordpress/block-editor
Version:
48 lines (38 loc) • 1.26 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _element = require("@wordpress/element");
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
var _i18n = require("@wordpress/i18n");
var _a11y = require("@wordpress/a11y");
/**
* WordPress dependencies
*/
function InserterListboxGroup(props, ref) {
const [shouldSpeak, setShouldSpeak] = (0, _element.useState)(false);
(0, _element.useEffect)(() => {
if (shouldSpeak) {
(0, _a11y.speak)((0, _i18n.__)('Use left and right arrow keys to move through blocks'));
}
}, [shouldSpeak]);
return (0, _element.createElement)("div", (0, _extends2.default)({
ref: ref,
role: "listbox",
"aria-orientation": "horizontal",
onFocus: () => {
setShouldSpeak(true);
},
onBlur: event => {
const focusingOutsideGroup = !event.currentTarget.contains(event.relatedTarget);
if (focusingOutsideGroup) {
setShouldSpeak(false);
}
}
}, props));
}
var _default = (0, _element.forwardRef)(InserterListboxGroup);
exports.default = _default;
//# sourceMappingURL=group.js.map