{
  "version": 3,
  "sources": ["../src/context.ts"],
  "sourcesContent": ["import { createContext } from '@wordpress/element';\n\ntype ShortcutCallback = ( event: KeyboardEvent ) => void;\n\ninterface ShortcutContextType {\n\tadd: ( shortcut: ShortcutCallback ) => void;\n\tdelete: ( shortcut: ShortcutCallback ) => void;\n}\n\nconst globalShortcuts = new Set< ShortcutCallback >();\nconst globalListener = ( event: KeyboardEvent ) => {\n\tfor ( const keyboardShortcut of globalShortcuts ) {\n\t\tkeyboardShortcut( event );\n\t}\n};\n\nexport const context = createContext< ShortcutContextType >( {\n\tadd: ( shortcut: ShortcutCallback ) => {\n\t\tif ( globalShortcuts.size === 0 ) {\n\t\t\tdocument.addEventListener( 'keydown', globalListener );\n\t\t}\n\t\tglobalShortcuts.add( shortcut );\n\t},\n\tdelete: ( shortcut: ShortcutCallback ) => {\n\t\tglobalShortcuts.delete( shortcut );\n\t\tif ( globalShortcuts.size === 0 ) {\n\t\t\tdocument.removeEventListener( 'keydown', globalListener );\n\t\t}\n\t},\n} );\n\ncontext.displayName = 'KeyboardShortcutsContext';\n"],
  "mappings": ";AAAA,SAAS,qBAAqB;AAS9B,IAAM,kBAAkB,oBAAI,IAAwB;AACpD,IAAM,iBAAiB,CAAE,UAA0B;AAClD,aAAY,oBAAoB,iBAAkB;AACjD,qBAAkB,KAAM;AAAA,EACzB;AACD;AAEO,IAAM,UAAU,cAAsC;AAAA,EAC5D,KAAK,CAAE,aAAgC;AACtC,QAAK,gBAAgB,SAAS,GAAI;AACjC,eAAS,iBAAkB,WAAW,cAAe;AAAA,IACtD;AACA,oBAAgB,IAAK,QAAS;AAAA,EAC/B;AAAA,EACA,QAAQ,CAAE,aAAgC;AACzC,oBAAgB,OAAQ,QAAS;AACjC,QAAK,gBAAgB,SAAS,GAAI;AACjC,eAAS,oBAAqB,WAAW,cAAe;AAAA,IACzD;AAAA,EACD;AACD,CAAE;AAEF,QAAQ,cAAc;",
  "names": []
}
