stylescape
Version:
Stylescape is a visual identity framework developed by Scape Agency.
48 lines (38 loc) • 1.84 kB
text/typescript
// Manages the display of tooltips on hover or focus.
// export default class TooltipManager {
// private triggers: NodeListOf<HTMLElement>
// constructor() {
// this.triggers = document.querySelectorAll('.tooltip-trigger')
// this.triggers.forEach((trigger) => {
// trigger.addEventListener('mouseover', () => this.showTooltip(trigger))
// trigger.addEventListener('mouseout', () => this.hideTooltip(trigger))
// })
// }
// private showTooltip(trigger: HTMLElement): void {
// const tooltip = trigger.querySelector('.tooltip')
// tooltip?.classList.add('visible')
// }
// private hideTooltip(trigger: HTMLElement): void {
// const tooltip = trigger.querySelector('.tooltip')
// tooltip?.classList.remove('visible')
// }
// }
// Usage
// const tooltipManager = new TooltipManager()
// class TooltipTriggerManager {
// private triggers: NodeListOf<HTMLElement>;
// constructor(tooltipTriggerSelector: string) {
// this.triggers = document.querySelectorAll(tooltipTriggerSelector);
// this.triggers.forEach(trigger => {
// trigger.addEventListener('mouseover', this.showTooltip.bind(this, trigger));
// trigger.addEventListener('mouseout', this.hideTooltip.bind(this, trigger));
// // Add focus and blur event listeners for keyboard accessibility
// });
// }
// private showTooltip(trigger: HTMLElement): void {
// const tooltip = document.getElementById(trigger.getAttribute('aria-describedby')!);
// tooltip!.style.display = 'block';
// }
// private hideTooltip(trigger: HTMLElement): void {
// const tooltip = document.getElementById(trigger.getAttribute('aria-describedby')!);
// tooltip!.style.display =