UNPKG

@yandex/ui

Version:

Yandex UI components

28 lines (27 loc) 1.28 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.Tumbler = void 0; var tslib_1 = require("tslib"); var react_1 = tslib_1.__importStar(require("react")); require("../polyfills/pointerfocus"); var pointerfocus_1 = require("../lib/pointerfocus"); var keyboard_1 = require("../lib/keyboard"); var Tumbler_1 = require("./Tumbler"); tslib_1.__exportStar(require("./Tumbler"), exports); var Tumbler = function (_a) { var checked = _a.checked, htmlOnKeyDown = _a.onKeyDown, props = tslib_1.__rest(_a, ["checked", "onKeyDown"]); // prettier-ignore var onKeyDown = react_1.useCallback(function (event) { if ((!checked && keyboard_1.isKeyCode(event.keyCode, Tumbler_1.CHECKED_KEYS)) || (checked && keyboard_1.isKeyCode(event.keyCode, Tumbler_1.UNCHECKED_KEYS)) || (event.keyCode === keyboard_1.Keys.SPACE)) { pointerfocus_1.forceUtilityFocus(); } if (htmlOnKeyDown !== undefined) { htmlOnKeyDown(event); } }, [checked, htmlOnKeyDown]); return react_1.default.createElement(Tumbler_1.Tumbler, tslib_1.__assign({ checked: checked, onKeyDown: onKeyDown }, props)); }; exports.Tumbler = Tumbler; exports.Tumbler.displayName = Tumbler_1.Tumbler.displayName;