UNPKG

@salesforce/design-system-react

Version:

Salesforce Lightning Design System for React

32 lines (27 loc) 1.21 kB
/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ /* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ /** * Calculates data table keyboard navigation state based on currently selected cell */ export default (function (tableContext, cellContext, fixedLayout) { var isActive = tableContext.activeCell.rowIndex === cellContext.rowIndex && tableContext.activeCell.columnIndex === cellContext.columnIndex; var hasFocus = fixedLayout && tableContext.tableHasFocus && isActive; var handleFocus = function handleFocus() { if (fixedLayout && tableContext.allowKeyboardNavigation) { tableContext.changeActiveCell(cellContext.rowIndex, cellContext.columnIndex); } }; var handleKeyDown = function handleKeyDown(event) { if (fixedLayout && tableContext.allowKeyboardNavigation) { tableContext.handleKeyDown(event); } }; var tabIndex = fixedLayout && isActive && !tableContext.activeElement && tableContext.allowKeyboardNavigation ? '0' : undefined; return { tabIndex: tabIndex, hasFocus: hasFocus, handleFocus: handleFocus, handleKeyDown: handleKeyDown }; }); //# sourceMappingURL=context-helper.js.map