{"version":3,"file":"index.cjs","sources":["../../../../src/user-event/keyboard/index.ts"],"sourcesContent":["import { keyboardImplementation } from \"./keyboardImplementation\";\nimport { defaultKeyMap } from \"./keyMap\";\nimport type { TestInstance } from \"../../types\";\nimport type { keyboardKey, keyboardOptions } from \"./types\";\n\nexport type { keyboardOptions, keyboardKey };\n\nexport function keyboard(\n  instance: TestInstance,\n  text: string,\n  options?: Partial<keyboardOptions & { delay: number }>,\n): void | Promise<void> {\n  const { promise } = keyboardImplementationWrapper(instance, text, options);\n\n  if ((options?.delay ?? 0) > 0) {\n    return promise;\n  } else {\n    // prevent users from dealing with UnhandledPromiseRejectionWarning in sync call\n    promise.catch(console.error);\n  }\n}\n\nexport function keyboardImplementationWrapper(\n  instance: TestInstance,\n  text: string,\n  config: Partial<keyboardOptions> = {},\n): {\n  promise: Promise<void>;\n} {\n  const { delay = 0, keyboardMap = defaultKeyMap } = config;\n  const options = {\n    delay,\n    keyboardMap,\n  };\n\n  return {\n    promise: keyboardImplementation(instance, text, options),\n  };\n}\n"],"names":["defaultKeyMap","keyboardImplementation"],"mappings":";;;;AAOgB,SAAA,SACd,UACA,MACA,SACsB;AACtB,QAAM,EAAE,QAAQ,IAAI,8BAA8B,UAAU,MAAM,OAAO;AAEpE,QAAA,mCAAS,UAAS,KAAK,GAAG;AACtB,WAAA;AAAA,EAAA,OACF;AAEG,YAAA,MAAM,QAAQ,KAAK;AAAA,EAAA;AAE/B;AAEO,SAAS,8BACd,UACA,MACA,SAAmC,CAAA,GAGnC;AACA,QAAM,EAAE,QAAQ,GAAG,cAAcA,OAAAA,cAAkB,IAAA;AACnD,QAAM,UAAU;AAAA,IACd;AAAA,IACA;AAAA,EACF;AAEO,SAAA;AAAA,IACL,SAASC,uBAAA,uBAAuB,UAAU,MAAM,OAAO;AAAA,EACzD;AACF;;;"}