@mantine/core
Version:
React components library focused on usability, accessibility and developer experience
1 lines • 929 B
Source Map (JSON)
{"version":3,"file":"close-on-escape.cjs","names":["noop"],"sources":["../../../../src/core/utils/close-on-escape/close-on-escape.ts"],"sourcesContent":["import { noop } from '../noop/noop';\n\ninterface Options {\n active: boolean | undefined;\n onTrigger?: () => void;\n onKeyDown?: (event: React.KeyboardEvent<any>) => void;\n}\n\nexport function closeOnEscape(\n callback?: (event: any) => void,\n options: Options = { active: true }\n) {\n if (typeof callback !== 'function' || !options.active) {\n return options.onKeyDown || noop;\n }\n\n return (event: React.KeyboardEvent<any>) => {\n if (event.key === 'Escape') {\n callback(event);\n options.onTrigger?.();\n }\n };\n}\n"],"mappings":";;;AAQA,SAAgB,cACd,UACA,UAAmB,EAAE,QAAQ,KAAK,GAClC;CACA,IAAI,OAAO,aAAa,cAAc,CAAC,QAAQ,QAC7C,OAAO,QAAQ,aAAaA,aAAAA;CAG9B,QAAQ,UAAoC;EAC1C,IAAI,MAAM,QAAQ,UAAU;GAC1B,SAAS,KAAK;GACd,QAAQ,YAAY;EACtB;CACF;AACF"}