{"version":3,"file":"playwright/page.mjs","sources":["../../../src/playwright/page.ts"],"sourcesContent":["import type { FileChooser, Page as PlaywrightPageType } from 'playwright';\nimport { Page as BasePage } from '../puppeteer/base-page';\nimport type { WebPageOpt } from '../web-element';\n\nexport class WebPage extends BasePage<'playwright', PlaywrightPageType> {\n  private playwrightFileChooserHandler?: (\n    chooser: FileChooser,\n  ) => Promise<void>;\n\n  constructor(page: PlaywrightPageType, opts?: WebPageOpt) {\n    super(page, 'playwright', opts);\n  }\n\n  async registerFileChooserListener(\n    handler: (\n      chooser: import('@midscene/core/device').FileChooserHandler,\n    ) => Promise<void>,\n  ): Promise<{ dispose: () => void; getError: () => Error | undefined }> {\n    const page = this.underlyingPage as PlaywrightPageType;\n\n    let capturedError: Error | undefined;\n\n    this.playwrightFileChooserHandler = async (chooser: FileChooser) => {\n      try {\n        await handler({\n          accept: async (files: string[]) => {\n            await chooser.setFiles(files);\n          },\n        });\n      } catch (error) {\n        capturedError = error as Error;\n      }\n    };\n\n    page.on('filechooser', this.playwrightFileChooserHandler);\n\n    return {\n      dispose: () => {\n        if (this.playwrightFileChooserHandler) {\n          page.off('filechooser', this.playwrightFileChooserHandler);\n          this.playwrightFileChooserHandler = undefined;\n        }\n      },\n      getError: () => capturedError,\n    };\n  }\n}\n"],"names":["WebPage","BasePage","handler","page","capturedError","chooser","files","error","undefined","opts"],"mappings":";;;;;;;;;;;AAIO,MAAMA,gBAAgBC;IAS3B,MAAM,4BACJC,OAEkB,EACmD;QACrE,MAAMC,OAAO,IAAI,CAAC,cAAc;QAEhC,IAAIC;QAEJ,IAAI,CAAC,4BAA4B,GAAG,OAAOC;YACzC,IAAI;gBACF,MAAMH,QAAQ;oBACZ,QAAQ,OAAOI;wBACb,MAAMD,QAAQ,QAAQ,CAACC;oBACzB;gBACF;YACF,EAAE,OAAOC,OAAO;gBACdH,gBAAgBG;YAClB;QACF;QAEAJ,KAAK,EAAE,CAAC,eAAe,IAAI,CAAC,4BAA4B;QAExD,OAAO;YACL,SAAS;gBACP,IAAI,IAAI,CAAC,4BAA4B,EAAE;oBACrCA,KAAK,GAAG,CAAC,eAAe,IAAI,CAAC,4BAA4B;oBACzD,IAAI,CAAC,4BAA4B,GAAGK;gBACtC;YACF;YACA,UAAU,IAAMJ;QAClB;IACF;IApCA,YAAYD,IAAwB,EAAEM,IAAiB,CAAE;QACvD,KAAK,CAACN,MAAM,cAAcM,OAL5B,uBAAQ,gCAAR;IAMA;AAmCF"}