{"version":3,"file":"close-on-escape.cjs","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"],"names":["noop"],"mappings":";;;;AAQO,SAAS,cACd,QACA,EAAA,OAAA,GAAmB,EAAE,MAAA,EAAQ,MAC7B,EAAA;AACA,EAAA,IAAI,OAAO,QAAA,KAAa,UAAc,IAAA,CAAC,QAAQ,MAAQ,EAAA;AACrD,IAAA,OAAO,QAAQ,SAAa,IAAAA,SAAA;AAAA;AAG9B,EAAA,OAAO,CAAC,KAAoC,KAAA;AAC1C,IAAI,IAAA,KAAA,CAAM,QAAQ,QAAU,EAAA;AAC1B,MAAA,QAAA,CAAS,KAAK,CAAA;AACd,MAAA,OAAA,CAAQ,SAAY,IAAA;AAAA;AACtB,GACF;AACF;;;;"}