@carbon/ibm-products
Version:
Carbon for IBM Products
33 lines (28 loc) • 1.01 kB
JavaScript
/**
* Copyright IBM Corp. 2020, 2025
*
* 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 React = require('react');
var settings = require('../../../settings.js');
const useResetSpreadsheetFocus = _ref => {
let {
blockClass = `${settings.pkg.prefix}--data-spreadsheet`,
focusedElement,
removeActiveCell,
setContainerHasFocus
} = _ref;
// Reset everything when spreadsheet loses focus
React.useEffect(() => {
if (!focusedElement.classList.contains(`${blockClass}--interactive-cell-element`)) {
setContainerHasFocus(false);
removeActiveCell();
}
if (focusedElement.classList.contains(blockClass) || focusedElement.classList.contains(`${blockClass}--interactive-cell-element`)) {
setContainerHasFocus(true);
}
}, [focusedElement, removeActiveCell, blockClass, setContainerHasFocus]);
};
exports.useResetSpreadsheetFocus = useResetSpreadsheetFocus;