@highcharts/dashboards
Version:
Highcharts Dashboards framework
125 lines (124 loc) • 3.19 kB
TypeScript
import type Accessibility from '../Accessibility';
import type Chart from '../../Core/Chart/Chart.js';
import type ProxyElement from '../ProxyElement';
import Legend from '../../Core/Legend/Legend.js';
import AccessibilityComponent from '../AccessibilityComponent.js';
import KeyboardNavigationHandler from '../KeyboardNavigationHandler.js';
declare module '../../Core/Legend/LegendItem' {
interface LegendItem {
a11yProxyElement?: ProxyElement;
}
}
declare module '../../Core/Series/PointLike' {
interface PointLike {
a11yProxyElement?: ProxyElement;
}
}
declare module '../../Core/Series/SeriesLike' {
interface SeriesLike {
a11yProxyElement?: ProxyElement;
}
}
/**
* The LegendComponent class
*
* @private
* @class
* @name Highcharts.LegendComponent
*/
declare class LegendComponent extends AccessibilityComponent {
highlightedLegendItemIx: number;
private proxyGroup;
/**
* Init the component
* @private
*/
init(): void;
/**
* Update visibility of legend items when using paged legend
* @private
*/
updateLegendItemProxyVisibility(): void;
/**
* @private
*/
onChartRender(): void;
/**
* @private
*/
highlightAdjacentLegendPage(direction: number): void;
/**
* @private
*/
updateProxyPositionForItem(item: Legend.Item): void;
/**
* Returns false if legend a11y is disabled and proxies were not created,
* true otherwise.
* @private
*/
recreateProxies(): boolean;
/**
* @private
*/
removeProxies(): void;
/**
* @private
*/
updateLegendTitle(): void;
/**
* @private
*/
addLegendProxyGroup(): void;
/**
* @private
*/
proxyLegendItems(): void;
/**
* @private
* @param {Highcharts.BubbleLegendItem|Point|Highcharts.Series} item
*/
proxyLegendItem(item: Legend.Item): void;
/**
* Get keyboard navigation handler for this component.
* @private
*/
getKeyboardNavigation(): KeyboardNavigationHandler;
/**
* Arrow key navigation
* @private
*/
onKbdArrowKey(keyboardNavigationHandler: KeyboardNavigationHandler, key: number): number;
/**
* @private
* @param {Highcharts.KeyboardNavigationHandler} keyboardNavigationHandler
* @return {number} Response code
*/
onKbdClick(keyboardNavigationHandler: KeyboardNavigationHandler): number;
/**
* @private
*/
shouldHaveLegendNavigation(): (boolean);
/**
* Clean up
* @private
*/
destroy(): void;
}
interface LegendComponent {
chart: LegendComponent.ChartComposition;
}
declare namespace LegendComponent {
class ChartComposition extends Accessibility.ChartComposition {
highlightedLegendItemIx?: number;
/** @requires modules/accessibility */
highlightLegendItem(ix: number): boolean;
}
class LegendComposition extends Legend {
chart: ChartComposition;
}
/**
* @private
*/
function compose(ChartClass: typeof Chart, LegendClass: typeof Legend): void;
}
export default LegendComponent;