@highcharts/dashboards
Version:
Highcharts Dashboards framework
41 lines (40 loc) • 1.59 kB
TypeScript
import type Accessibility from './Accessibility';
import type { DOMElementType } from '../Core/Renderer/DOMElementType';
import type SVGAttributes from '../Core/Renderer/SVG/SVGAttributes';
import Chart from '../Core/Chart/Chart.js';
import SVGElement from '../Core/Renderer/SVG/SVGElement.js';
declare module '../Core/Chart/ChartLike' {
interface ChartLike {
focusElement?: SVGElement;
/** @requires modules/accessibility */
renderFocusBorder(): void;
/** @requires modules/accessibility */
setFocusToElement(svgElement: SVGElement, focusElement?: DOMElementType): void;
}
}
declare module '../Core/Renderer/SVG/SVGElementLike' {
interface SVGElementLike {
focusBorder?: SVGElement;
/** @requires modules/accessibility */
addFocusBorder(margin: number, attribs: SVGAttributes): void;
/** @requires modules/accessibility */
removeFocusBorder(): void;
}
}
declare namespace FocusBorderComposition {
interface ChartComposition extends Accessibility.ChartComposition {
focusElement?: SVGElement;
renderFocusBorder(): void;
setFocusToElement(svgElement: SVGElement, focusElement?: DOMElementType): void;
}
interface SVGElementCompositon extends SVGElement {
focusBorder?: SVGElement;
addFocusBorder(margin: number, attribs: SVGAttributes): void;
removeFocusBorder(): void;
}
/**
* @private
*/
function compose(ChartClass: typeof Chart, SVGElementClass: typeof SVGElement): void;
}
export default FocusBorderComposition;