UNPKG

646 BTypeScriptView Raw
1import * as React from 'react';
2import ShortcutManager from '../ShortcutManager';
3
4export interface Context {
5 shortcutManager?: ShortcutManager;
6}
7
8export interface Props {
9 children?: React.ReactNode;
10}
11
12export const {Provider, Consumer} = React.createContext<Context>({});
13
14export default class ShortcutProvider extends React.Component<Props, never> {
15 private shortcutManager = new ShortcutManager();
16
17 componentDidMount() {
18 this.shortcutManager.setup();
19 }
20
21 render() {
22 const context: Context = {
23 shortcutManager: this.shortcutManager,
24 };
25
26 return <Provider value={context}>{this.props.children}</Provider>;
27 }
28}