@awsui/components-react
Version:
On July 19th, 2022, we launched [Cloudscape Design System](https://cloudscape.design). Cloudscape is an evolution of AWS-UI. It consists of user interface guidelines, front-end components, design resources, and development tools for building intuitive, en
28 lines • 908 B
JavaScript
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
// SPDX-License-Identifier: Apache-2.0
let callbacks = [];
let listenerRegistered = false;
const onKeyDown = (event) => {
if (event.key === 'Escape') {
callbacks.forEach(callback => callback());
}
};
export const registerTooltip = (onClose) => {
callbacks.forEach(callback => callback());
callbacks.push(onClose);
if (!listenerRegistered) {
listenerRegistered = true;
document.addEventListener('keydown', onKeyDown);
}
return () => {
deregisterTooltip(onClose);
};
};
const deregisterTooltip = (onClose) => {
callbacks = callbacks.filter(callback => callback !== onClose);
if (listenerRegistered && callbacks.length === 0) {
listenerRegistered = false;
document.removeEventListener('keydown', onKeyDown);
}
};
//# sourceMappingURL=registry.js.map