{
  "version": 3,
  "sources": ["../../src/components/shortcut-provider.js"],
  "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { useState } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { context } from '../context';\n\nconst { Provider } = context;\n\n/**\n * Handles callbacks added to context by `useShortcut`.\n * Adding a provider allows to register contextual shortcuts\n * that are only active when a certain part of the UI is focused.\n *\n * @param {Object} props Props to pass to `div`.\n *\n * @return {Element} Component.\n */\nexport function ShortcutProvider( props ) {\n\tconst [ keyboardShortcuts ] = useState( () => new Set() );\n\n\tfunction onKeyDown( event ) {\n\t\tif ( props.onKeyDown ) {\n\t\t\tprops.onKeyDown( event );\n\t\t}\n\n\t\tfor ( const keyboardShortcut of keyboardShortcuts ) {\n\t\t\tkeyboardShortcut( event );\n\t\t}\n\t}\n\n\t/* eslint-disable jsx-a11y/no-static-element-interactions */\n\treturn (\n\t\t<Provider value={ keyboardShortcuts }>\n\t\t\t<div { ...props } onKeyDown={ onKeyDown } />\n\t\t</Provider>\n\t);\n\t/* eslint-enable jsx-a11y/no-static-element-interactions */\n}\n"],
  "mappings": ";AAGA,SAAS,gBAAgB;AAKzB,SAAS,eAAe;AA6BrB;AA3BH,IAAM,EAAE,SAAS,IAAI;AAWd,SAAS,iBAAkB,OAAQ;AACzC,QAAM,CAAE,iBAAkB,IAAI,SAAU,MAAM,oBAAI,IAAI,CAAE;AAExD,WAAS,UAAW,OAAQ;AAC3B,QAAK,MAAM,WAAY;AACtB,YAAM,UAAW,KAAM;AAAA,IACxB;AAEA,eAAY,oBAAoB,mBAAoB;AACnD,uBAAkB,KAAM;AAAA,IACzB;AAAA,EACD;AAGA,SACC,oBAAC,YAAS,OAAQ,mBACjB,8BAAC,SAAM,GAAG,OAAQ,WAAwB,GAC3C;AAGF;",
  "names": []
}
