@mantine/core
Version:
React components library focused on usability, accessibility and developer experience
1 lines • 913 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,MAAM,EACnC;AACA,KAAI,OAAO,aAAa,cAAc,CAAC,QAAQ,OAC7C,QAAO,QAAQ,aAAaA,aAAAA;AAG9B,SAAQ,UAAoC;AAC1C,MAAI,MAAM,QAAQ,UAAU;AAC1B,YAAS,MAAM;AACf,WAAQ,aAAa"}