UNPKG

@carbon/ibm-cloud-cognitive-cdai

Version:
51 lines (48 loc) 1.7 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.keys = exports.keyAndClickHandler = exports.handlers = exports.createInteractionHandler = void 0; // // Copyright IBM Corp. 2020, 2020 // // This source code is licensed under the Apache-2.0 license found in the // LICENSE file in the root directory of this source tree. // var keys = exports.keys = { SPACE: ' ', TAB: 'Tab', CLICK: 'click', KEYPRESS: 'keypress', KEYDOWN: 'keydown', KEYUP: 'keyup', ENTER: 'Enter' }; var handlers = exports.handlers = { onClick: 'onClick', onKeyDown: 'onKeyDown', onKeyUp: 'onKeyUp', onKeyPress: 'onKeyPress' }; var defaultValidKeys = [keys.CLICK, keys.SPACE, keys.ENTER]; var defaultHandlers = [handlers.onClick, handlers.onKeyDown]; // triggers a callback if event key matches one in validKeys var keyAndClickHandler = exports.keyAndClickHandler = function keyAndClickHandler(callback) { var validKeys = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : defaultValidKeys; return function (evt) { if (evt && (evt.type || evt.key)) { if (validKeys.includes(evt.type) || validKeys.includes(evt.key)) { callback(evt); } } }; }; var createInteractionHandler = exports.createInteractionHandler = function createInteractionHandler(callback) { var handlers = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : defaultHandlers; var validKeys = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : defaultValidKeys; var handler = {}; for (var i = 0; i < handlers.length; i++) { handler[handlers[i]] = keyAndClickHandler(callback, validKeys); } return handler; };