@incodetech/web 0.0.0-dev-20260909-14ef44cf → 0.0.0-dev-20260910-30fb659a

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (227) hide show
  1. package/dist/ae-signature/ae-signature.es.js +3 -3
  2. package/dist/antifraud/antifraud.es.js +3 -3
  3. package/dist/assets/dm-sans-latin-400-normal.woff2 +0 -0
  4. package/dist/assets/dm-sans-latin-500-normal.woff2 +0 -0
  5. package/dist/assets/dm-sans-latin-600-normal.woff2 +0 -0
  6. package/dist/assets/dm-sans-latin-700-normal.woff2 +0 -0
  7. package/dist/assets/rethink-sans-latin-800-normal.woff2 +0 -0
  8. package/dist/authentication/authentication.es.js +4 -2
  9. package/dist/base.css +5 -5
  10. package/dist/baseTutorial-DdU221rI.js +172 -0
  11. package/dist/bottomSheet-C3MHkEfL.js +101 -0
  12. package/dist/cameraOverlay-hVopsg3m.js +2 -0
  13. package/dist/cameraOverlayHeader-DFD85Ezb.js +43 -0
  14. package/dist/cameraView-CR2WH_wN.js +49 -0
  15. package/dist/captureFooter-BlAq3nsT.js +67 -0
  16. package/dist/certificate-issuance/certificate-issuance.es.js +7 -5
  17. package/dist/checkbox-CSTnDDdf.js +97 -0
  18. package/dist/connectionError-TamPptzl.js +45 -0
  19. package/dist/consent/consent.es.js +6 -5
  20. package/dist/countries-jgOG0hnw.js +8560 -0
  21. package/dist/{countrySelector-DKg5Ds1n.js → countrySelector-7TnHDtSs.js} +3 -3
  22. package/dist/cross-document-data-match/cross-document-data-match.es.js +3 -3
  23. package/dist/curp-validation/curp-validation.es.js +10 -5
  24. package/dist/{customFields-CNoRKnPl.js → customFields-CYz-FC0C.js} +9 -5
  25. package/dist/{customWatchlist-ThbdoH2_.js → customWatchlist-DokxUqHy.js} +6 -5
  26. package/dist/{dashboardTheme-CwGkC76p.js → dashboardTheme-DBTW5Y2p.js} +1 -1
  27. package/dist/dateInputComposed-B1RmMKnV.js +1 -0
  28. package/dist/dateInputComposed-DdB7BruV.js +69 -0
  29. package/dist/document-capture/document-capture.es.js +1 -1
  30. package/dist/documentCapture-BkeibTS3.js +2 -0
  31. package/dist/{documentCapture-DX5zyk3c.js → documentCapture-heFwS-vY.js} +14 -7
  32. package/dist/dropdownComposed-CnIoWdph.js +386 -0
  33. package/dist/dropdownComposed-DbKfnljI.js +1 -0
  34. package/dist/dynamic-forms/dynamic-forms.es.js +11 -5
  35. package/dist/ekyb/ekyb.es.js +1 -1
  36. package/dist/ekybModule-CZdKKqpT.js +2 -0
  37. package/dist/{ekybModule-CLORvLGs.js → ekybModule-DAuLI3ad.js} +12 -8
  38. package/dist/ekyc/ekyc.es.js +1 -1
  39. package/dist/ekycModule-BvBAH-p5.js +2 -0
  40. package/dist/{ekycModule-CabDUmu7.js → ekycModule-v9k32tXV.js} +12 -6
  41. package/dist/electronic-signature/electronic-signature.es.js +1 -1
  42. package/dist/{electronic-signature-CZwV6Z7-.js → electronic-signature-2Uv08XOv.js} +7 -5
  43. package/dist/email/email.es.js +7 -6
  44. package/dist/{emailInput-CZmNT4xf.js → emailInput-D1LMc-aF.js} +3 -2
  45. package/dist/errorContent-Be-w9xjB.js +58 -0
  46. package/dist/expiredId-ziDNDwCS.js +80 -0
  47. package/dist/extensibility.es.js +699 -5
  48. package/dist/face-match/face-match.es.js +1 -1
  49. package/dist/faceMatch-CvrSgSTi.js +2 -0
  50. package/dist/{faceMatch-DXTrrC-m.js → faceMatch-D_6MaDry.js} +6 -6
  51. package/dist/field-comparison/field-comparison.es.js +1 -1
  52. package/dist/fieldComparison-CqjjCpNq.js +2 -0
  53. package/dist/{fieldComparison-BOROqbI9.js → fieldComparison-grzKEozd.js} +7 -5
  54. package/dist/fieldLabelHint-Cy5t7tNp.js +16 -0
  55. package/dist/{finalSuccessScreen-Drn9GVQR.js → finalSuccessScreen-CiSREy-O.js} +9 -5
  56. package/dist/fiscal-qr/fiscal-qr.es.js +9 -5
  57. package/dist/flipAnimation-Bp4vkj5T.js +2758 -0
  58. package/dist/flow/flow.es.js +25 -10
  59. package/dist/formField-DfTSFK4p.js +60 -0
  60. package/dist/geolocation/geolocation.es.js +8 -5
  61. package/dist/government-validation/government-validation.es.js +3 -3
  62. package/dist/{homeScreen-zaTBPYZP.js → homeScreen-DnSGezVj.js} +6 -3
  63. package/dist/{dropdownComposed-QhS8uwDE.js → icons-BTQAPX7h.js} +3 -732
  64. package/dist/id/id.es.js +28 -20
  65. package/dist/id-selfie-flow/id-selfie-flow.es.js +8 -5
  66. package/dist/id-verification/id-verification.es.js +4 -3
  67. package/dist/{idOcr-BuInTg8J.js → idOcr-CnNDvFs1.js} +11 -4
  68. package/dist/identity-reuse/identity-reuse.es.js +6 -5
  69. package/dist/incodeComponent-OpYmmHuG.js +1050 -0
  70. package/dist/{incodeModule-DNwi5PIv.js → incodeModule-DQfs4RF7.js} +2 -2
  71. package/dist/index.es.js +2 -2
  72. package/dist/inputComposed-9jDBJqse.js +1 -0
  73. package/dist/inputComposed-BP78Sou-.js +99 -0
  74. package/dist/{mandatoryConsent-Dh0qqIS8.js → mandatoryConsent-5hb2q0Nc.js} +6 -5
  75. package/dist/manualCaptureButton-BOXGfoAr.js +255 -0
  76. package/dist/manualCaptureButton-DnE00y7z.js +63 -0
  77. package/dist/modal-BKL_l4J2.js +140 -0
  78. package/dist/modal.hooks-BG9W0mhz.js +201 -0
  79. package/dist/numberedStep-BZchXwF2.js +13 -0
  80. package/dist/{optionAccessibleLabel-DFs_dU6k.js → optionAccessibleLabel-FCfVmVrz.js} +5 -2
  81. package/dist/otpInput-BcoACg71.js +157 -0
  82. package/dist/passwordInputComposed-CMtVpi08.js +74 -0
  83. package/dist/{pdf-DxaEyX9N.js → pdf-2Mzn83pW.js} +1 -1
  84. package/dist/{pdfViewer-BztufNDo.js → pdfViewer-BXfw3EF1.js} +3 -3
  85. package/dist/pdfViewer-D5NNOdPt.js +2 -0
  86. package/dist/permissions-CjX0aA3u.js +2248 -0
  87. package/dist/phone/phone.es.js +8 -5
  88. package/dist/phoneInputComposed-CsJ_yD0l.js +3751 -0
  89. package/dist/processing-DAhWY6sA.js +8 -0
  90. package/dist/qe-signature/qe-signature.es.js +3 -3
  91. package/dist/radioGroupComposed-DO3Ysp1j.js +1 -0
  92. package/dist/radioGroupComposed-DdiOBGH9.js +160 -0
  93. package/dist/redirect-to-mobile/redirect-to-mobile.es.js +9 -6
  94. package/dist/resendTimer-BF44I8m1.js +79 -0
  95. package/dist/{richText-CmgFuzHO.js → richText-C93h8B8I.js} +2 -2
  96. package/dist/selfie/selfie.es.js +9 -6
  97. package/dist/signature/signature.es.js +7 -6
  98. package/dist/{spacer-DI-GUPzr.js → spacer-CP6nfo3f.js} +9 -9
  99. package/dist/{spinner-79XGZYai.js → spinner-1GVajlEK.js} +1 -1
  100. package/dist/statusPage-BSf9rrbK.js +35 -0
  101. package/dist/{tabs-D593NLWd.js → tabs-OBRm19dX.js} +1 -1
  102. package/dist/tutorial-R4tGibYC.js +574 -0
  103. package/dist/{uiConfig-DG7HXVR0.js → uiConfig-Sd_A0KwB.js} +84 -84
  104. package/dist/useCoverMedia-DofxqCtg.js +149 -0
  105. package/dist/{useModuleLoader-CMxfEBdJ.js → useModuleLoader-BN3raWWz.js} +31 -23
  106. package/dist/verificationResult-C-TUwYRU.js +81 -0
  107. package/dist/video-selfie/video-selfie.es.js +10 -7
  108. package/dist/watchlist/watchlist.es.js +6 -5
  109. package/dist/{watchlistForBusiness-B3au4z_B.js → watchlistForBusiness-CAfxFTrq.js} +8 -6
  110. package/dist/workflow/workflow.es.js +6 -6
  111. package/package.json +2 -2
  112. package/dist/documentCapture-DgSmPfdz.js +0 -2
  113. package/dist/ekybModule-D5jakNDp.js +0 -2
  114. package/dist/ekycModule-CgLgN1XM.js +0 -2
  115. package/dist/extensibility-DwFhaxCo.js +0 -21459
  116. package/dist/faceMatch-BM-FVaiU.js +0 -2
  117. package/dist/fieldComparison-D7LH3ZoD.js +0 -2
  118. package/dist/pdfViewer-B41kWu8T.js +0 -2
  119. /package/dist/{af-ZA-BSsDSZUP.js → af-ZA-qhcjE8Ll.js} +0 -0
  120. /package/dist/{aligndevicelottie-DD49iAwf.js → aligndevicelottie-BecybMtU.js} +0 -0
  121. /package/dist/{am-CA3CGdPa.js → am-DVltCO9H.js} +0 -0
  122. /package/dist/{ar-AE-B7wxORmn.js → ar-AE-DTmHPD7L.js} +0 -0
  123. /package/dist/{ar-7gJlfDmG.js → ar-B8E9vjK8.js} +0 -0
  124. /package/dist/{ar-EG-CpCAzmnP.js → ar-EG-DjHcOH9m.js} +0 -0
  125. /package/dist/{az-B1eZnP21.js → az-BFwACmvz.js} +0 -0
  126. /package/dist/{back-horizontal-hint-DcL2aeXz.js → back-horizontal-hint-CgMvLs_S.js} +0 -0
  127. /package/dist/{back-tutorial-BggT_Ad7.js → back-tutorial-D07UcHc5.js} +0 -0
  128. /package/dist/{back-vertical-hint-IHJzvCUW.js → back-vertical-hint-jsA5tD5E.js} +0 -0
  129. /package/dist/{backdevicelottie-Dw7W6vlg.js → backdevicelottie-C6hCbM0B.js} +0 -0
  130. /package/dist/{blurdevicelottie-DPY8NMNI.js → blurdevicelottie-CtGLqNN2.js} +0 -0
  131. /package/dist/{bn-B_3z3OFc.js → bn-DbIWkXe9.js} +0 -0
  132. /package/dist/{browser-ponyfill-CL58t85F.js → browser-ponyfill-BdqoHrvJ.js} +0 -0
  133. /package/dist/{bs-DhIMdYZL.js → bs-z1Ps12rk.js} +0 -0
  134. /package/dist/{ca-DTgrHIgt.js → ca-DUElvSDc.js} +0 -0
  135. /package/dist/{ceb-D8Pa-wLn.js → ceb-jzHzP2FJ.js} +0 -0
  136. /package/dist/{cs-pR8MytaO.js → cs-BrqY3ZP3.js} +0 -0
  137. /package/dist/{cs-CZ-Dig-AJzP.js → cs-CZ-CZtZyop9.js} +0 -0
  138. /package/dist/{da-DK-Y9A9UyPq.js → da-DK-BQvE1_ak.js} +0 -0
  139. /package/dist/{de-DNBTQCf3.js → de-ChPY7o4H.js} +0 -0
  140. /package/dist/{defineProperty-BvSzJNzg.js → defineProperty-DXYyyct1.js} +0 -0
  141. /package/dist/{el-CrLx45jW.js → el-BD0wlCYW.js} +0 -0
  142. /package/dist/{el-GR-B22DulOT.js → el-GR-Dt5-c7bC.js} +0 -0
  143. /package/dist/{en-BiNeRav4.js → en-CyzAzqIc.js} +0 -0
  144. /package/dist/{en-DG-CxJxuefq.js → en-DG-or497Mnl.js} +0 -0
  145. /package/dist/{es-419-C4_DkQug.js → es-419-B3p3NYae.js} +0 -0
  146. /package/dist/{es-BzklSN-G.js → es-BHy4PuoW.js} +0 -0
  147. /package/dist/{es-ES-xGnTUx3f.js → es-ES-DlvpXGeg.js} +0 -0
  148. /package/dist/{es-MX-PwA3FVdN.js → es-MX-Cqi6vOtT.js} +0 -0
  149. /package/dist/{et-j_o0Kn1b.js → et-qYB56l1n.js} +0 -0
  150. /package/dist/{fa-IR-BOqqb1KG.js → fa-IR-DVTTM_tu.js} +0 -0
  151. /package/dist/{fi-FI-K7cTHxBg.js → fi-FI-CfTvDUdu.js} +0 -0
  152. /package/dist/{flip-animation-D3Zr5EgF.js → flip-animation-DqsJznNB.js} +0 -0
  153. /package/dist/{fr-CmfT3Fji.js → fr-BewHYECv.js} +0 -0
  154. /package/dist/{fr-CA-DSKQfUyV.js → fr-CA-BWmoTiX5.js} +0 -0
  155. /package/dist/{front-horizontal-hint-BplEh02R.js → front-horizontal-hint-B37YE8CS.js} +0 -0
  156. /package/dist/{front-vertical-hint-D_dkG5uT.js → front-vertical-hint-BGNYUm4v.js} +0 -0
  157. /package/dist/{frontdevicelottie-CgADJyDu.js → frontdevicelottie-6kC6cgo8.js} +0 -0
  158. /package/dist/{glaredevicelottie-ep0zWB24.js → glaredevicelottie-CSU5ZUYd.js} +0 -0
  159. /package/dist/{he-DxOu5qcv.js → he-DskmIhH1.js} +0 -0
  160. /package/dist/{hi-Bqm14Xbz.js → hi-Bwj78dXS.js} +0 -0
  161. /package/dist/{hmn-B30BDQex.js → hmn-BVc2cEgu.js} +0 -0
  162. /package/dist/{hr-B_SOZRj6.js → hr-4NNWn8Hc.js} +0 -0
  163. /package/dist/{ht-DEmRwvgU.js → ht-C2_a-KG0.js} +0 -0
  164. /package/dist/{hu-DsIWgPzB.js → hu--akRgpT5.js} +0 -0
  165. /package/dist/{id-MGtp66fo.js → id-D7RQjfvC.js} +0 -0
  166. /package/dist/{id-back-of-card-CP5QObX3.js → id-back-of-card-U-NxDg8D.js} +0 -0
  167. /package/dist/{id-back-of-card-vertical-DhMg1rYw.js → id-back-of-card-vertical-B_u3_MBo.js} +0 -0
  168. /package/dist/{id-front-of-card-DX83rakq.js → id-front-of-card-N_jDGmho.js} +0 -0
  169. /package/dist/{id-front-of-card-vertical-CNeXlgvh.js → id-front-of-card-vertical-rHe_Ym9p.js} +0 -0
  170. /package/dist/{id-laser-h-CbY0k-mZ.js → id-laser-h-8TMlUzO4.js} +0 -0
  171. /package/dist/{id-laser-v-BdjZEhnE.js → id-laser-v-DVMkqyIr.js} +0 -0
  172. /package/dist/{id-tutorial-kabKpVGr.js → id-tutorial-DtvAPllr.js} +0 -0
  173. /package/dist/{it-DHz80acm.js → it-40b_QJ49.js} +0 -0
  174. /package/dist/{ja-7DjoBn_g.js → ja-BmtuIzaT.js} +0 -0
  175. /package/dist/{ja-JP-Bjt5yyeN.js → ja-JP-CbKDwCr2.js} +0 -0
  176. /package/dist/{jv-BogujYN8.js → jv-V7T3CZCW.js} +0 -0
  177. /package/dist/{ka-SMCEpz2i.js → ka-DElVzAwl.js} +0 -0
  178. /package/dist/{kk-Bmi4Ibdp.js → kk-DGGqZzoC.js} +0 -0
  179. /package/dist/{km-CTosjBPA.js → km-CTydY36i.js} +0 -0
  180. /package/dist/{ko-BNgzff2c.js → ko-Bjxwt0To.js} +0 -0
  181. /package/dist/{ko-KP-LuZ9duqN.js → ko-KP-Cb8ITTNz.js} +0 -0
  182. /package/dist/{ky-BPsNSnoV.js → ky-Da-svfsh.js} +0 -0
  183. /package/dist/{lo-B98nj7CD.js → lo-BcBrBLSe.js} +0 -0
  184. /package/dist/{lottie_light-BN2vmgOg.js → lottie_light-CtKkb7ze.js} +0 -0
  185. /package/dist/{lt-CGYCKnKw.js → lt-CRUODUDK.js} +0 -0
  186. /package/dist/{lv-BVGESywl.js → lv-COEqtHv9.js} +0 -0
  187. /package/dist/{mk-DSz43gN7.js → mk-D6OWaZi9.js} +0 -0
  188. /package/dist/{mn-V7tBxJeq.js → mn-CHZsnJ9w.js} +0 -0
  189. /package/dist/{ms-gKXHhgRq.js → ms-DWzO2k9X.js} +0 -0
  190. /package/dist/{my-CF92BB6U.js → my-DAkvSk_W.js} +0 -0
  191. /package/dist/{nb-NO-CouM1951.js → nb-NO-d7OazihS.js} +0 -0
  192. /package/dist/{ne-D8y4O4-O.js → ne-BTRq-Yeo.js} +0 -0
  193. /package/dist/{nl-BM_bYA8-.js → nl-DB9dav30.js} +0 -0
  194. /package/dist/{passport-horizontal-hint-CFRGHRVa.js → passport-horizontal-hint-Dt6gI-ZI.js} +0 -0
  195. /package/dist/{passport-tutorial-KbO7bbXm.js → passport-tutorial--ne0dDhV.js} +0 -0
  196. /package/dist/{passport-vertical-hint-BPaLhlho.js → passport-vertical-hint-Boe1pkkz.js} +0 -0
  197. /package/dist/{pl-CKNZeqJV.js → pl-CCkxKrjg.js} +0 -0
  198. /package/dist/{pt-BR-D17Ov788.js → pt-BR-CZ_z8Olc.js} +0 -0
  199. /package/dist/{pt-DvCZWJo7.js → pt-FtGjaVNi.js} +0 -0
  200. /package/dist/{pt-PT-CmMpxZIz.js → pt-PT-RBrFLLkL.js} +0 -0
  201. /package/dist/{registerIncodeElement-BMz2FMUm.js → registerIncodeElement-B-SfWDa0.js} +0 -0
  202. /package/dist/{ro-D49YZb_H.js → ro-DysboDNv.js} +0 -0
  203. /package/dist/{ru-C7Do9bMI.js → ru-CID3CZfu.js} +0 -0
  204. /package/dist/{ru-RU-BJwv_g41.js → ru-RU-BHy7AaUd.js} +0 -0
  205. /package/dist/{selfieTutorial-B30HiUvv.js → selfieTutorial-BarIUFDH.js} +0 -0
  206. /package/dist/{sk-2xyFSXZw.js → sk-D7kS5PBd.js} +0 -0
  207. /package/dist/{sl-CDEQCPMS.js → sl-D9TEWuUe.js} +0 -0
  208. /package/dist/{so-BQlNWbjF.js → so-CfgWC0fM.js} +0 -0
  209. /package/dist/{sr-OvJ8EQ2w.js → sr--ms6iMWz.js} +0 -0
  210. /package/dist/{sr-Latn-DBPpu-WK.js → sr-Latn-BiWFn5aX.js} +0 -0
  211. /package/dist/{sr-YU-ANiGGXx1.js → sr-YU-BNAd049F.js} +0 -0
  212. /package/dist/{sv-SE-N4rDD4lE.js → sv-SE-CJjtaNDA.js} +0 -0
  213. /package/dist/{sw-Cnb_N7Mx.js → sw-6SDfYBIC.js} +0 -0
  214. /package/dist/{th-CqyxWXb5.js → th-BcNF0ama.js} +0 -0
  215. /package/dist/{th-TH-Dgv1Kucb.js → th-TH-DMKAHwNe.js} +0 -0
  216. /package/dist/{tl-PH-CBw224by.js → tl-PH-Bl0duIQB.js} +0 -0
  217. /package/dist/{tl-DRzqwC1-.js → tl-lLJU4U50.js} +0 -0
  218. /package/dist/{tr-hYr5_fPV.js → tr-i2Q79BRH.js} +0 -0
  219. /package/dist/{uk-CG8cA8Vh.js → uk-C6nph67y.js} +0 -0
  220. /package/dist/{uk-UA-fLrAqsX9.js → uk-UA-B8zIiiNG.js} +0 -0
  221. /package/dist/{ur-COEA7gAs.js → ur-Zbr32KyN.js} +0 -0
  222. /package/dist/{uz-DluVEF_a.js → uz-DeV1ZkHM.js} +0 -0
  223. /package/dist/{vi-Da8N9N4q.js → vi-CxGLHnnW.js} +0 -0
  224. /package/dist/{zh-CN-DYqvh3BJ.js → zh-CN-DvWvvJIf.js} +0 -0
  225. /package/dist/{zh-Bo6qs8Vi.js → zh-CU10i68v.js} +0 -0
  226. /package/dist/{zh-HANT-jjgTtifM.js → zh-HANT-CUbWZ_Ie.js} +0 -0
  227. /package/dist/{zh-TW-BklGQhpL.js → zh-TW-BZnhC9_5.js} +0 -0
@@ -0,0 +1,574 @@
1
+ import { o as useTranslation } from "./uiConfig-Sd_A0KwB.js";
2
+ import { S as k, _ as y, c as A, f as d, h as q, p as g, v as u } from "./vendor-preact-C0jX1Cbq.js";
3
+ import { f as TransitionSpinner, l as Page } from "./incodeComponent-OpYmmHuG.js";
4
+ import { a as useAnimationData, d as cn, n as LoadingIcon, t as Spacer } from "./spacer-CP6nfo3f.js";
5
+ import { n as Title } from "./spinner-1GVajlEK.js";
6
+ import { S as Button, r as SuccessIcon } from "./icons-BTQAPX7h.js";
7
+ import { t as ErrorContent } from "./errorContent-Be-w9xjB.js";
8
+ import { t as ConnectionError } from "./connectionError-TamPptzl.js";
9
+ import { t as useCoverMedia } from "./useCoverMedia-DofxqCtg.js";
10
+ import { t as BaseTutorial } from "./baseTutorial-DdU221rI.js";
11
+ import { t as ManualCaptureButton } from "./manualCaptureButton-DnE00y7z.js";
12
+ //#region src/shared/capture/faceOutline.tsx
13
+ var FaceOutline = () => {
14
+ return /* @__PURE__ */ u("svg", {
15
+ width: "292",
16
+ height: "272",
17
+ viewBox: "0 0 292 272",
18
+ fill: "none",
19
+ xmlns: "http://www.w3.org/2000/svg",
20
+ class: "IncodeFaceOutline",
21
+ "aria-hidden": "true",
22
+ children: [/* @__PURE__ */ u("title", { children: "Outline" }), /* @__PURE__ */ u("path", {
23
+ opacity: "0.8",
24
+ d: "M145.633 8.0625C115.606 8.06268 85.6206 26.5984 76.9712 54.293L76.771 54.9492C70.4539 76.1063 75.0139 100.802 76.8687 110.58L77.3628 113.188L75.1528 114.656C66.1187 120.66 63.5861 124.089 62.8472 126.92C62.4669 128.377 62.4644 130.035 62.8003 132.412C63.1635 134.983 63.7533 137.484 64.4233 141.347L64.5142 141.841C65.5056 146.956 68.1062 152.133 71.2749 156.618C74.5527 161.257 78.2056 164.826 80.7349 166.584L82.4517 167.777V169.869C82.4517 177.866 85.3476 186.144 89.6763 194.128C93.9906 202.085 99.5748 209.473 104.623 215.646L105.526 216.751V218.178C105.526 220.891 105.68 223.73 105.801 226.9C105.92 230.011 106.003 233.347 105.828 236.771C105.475 243.652 104.077 251.044 99.7446 258.227C91.1977 272.397 72.1081 284.401 31.8677 291.776L29.936 292.124C-41.1597 304.684 -61.4563 361.617 -63.2153 392.062H145.633V400.062H-71.3638L-71.3462 396.044C-71.2048 364.597 -50.9804 298.295 28.5444 284.246L30.4448 283.904C69.9919 276.654 86.1642 265.253 92.894 254.095C96.3216 248.412 97.5261 242.442 97.8374 236.362C97.9939 233.307 97.9241 230.262 97.8071 227.206C97.7111 224.697 97.5799 222.105 97.5396 219.615C92.5931 213.5 87.048 206.064 82.644 197.941C78.308 189.944 74.9442 181.04 74.5024 171.896C71.3932 169.387 67.8531 165.638 64.7417 161.234C61.1656 156.173 57.9337 149.942 56.6587 143.353L56.5415 142.714C55.9864 139.514 55.2491 136.155 54.8784 133.531C54.4806 130.715 54.3377 127.843 55.106 124.899C56.5344 119.427 60.7885 114.886 68.5259 109.489C66.4692 98.2995 62.7062 74.0938 69.106 52.6602L69.3345 51.9092C79.2266 20.2173 112.853 0.0626788 145.633 0.0625V8.0625ZM145.635 0.0625C178.415 0.0625 212.042 20.2172 221.934 51.9092L222.163 52.6602C228.562 74.0938 224.799 98.2996 222.743 109.489C230.48 114.886 234.734 119.427 236.163 124.899C236.931 127.843 236.788 130.715 236.39 133.531C236.019 136.155 235.282 139.514 234.727 142.714L234.61 143.353C233.335 149.942 230.103 156.173 226.527 161.234C223.415 165.638 219.875 169.387 216.766 171.896C216.324 181.04 212.961 189.944 208.625 197.941C204.221 206.064 198.676 213.5 193.729 219.615C193.689 222.105 193.557 224.697 193.461 227.206C193.344 230.262 193.275 233.307 193.431 236.362C193.742 242.442 194.947 248.412 198.375 254.095C205.104 265.253 221.277 276.654 260.824 283.904L262.724 284.246C342.249 298.294 362.473 364.597 362.615 396.044L362.632 400.062H145.635V392.062H354.484C352.725 361.616 332.429 304.683 261.333 292.124L259.401 291.776C219.161 284.401 200.071 272.397 191.524 258.227C187.192 251.044 185.793 243.652 185.441 236.771C185.266 233.347 185.348 230.011 185.467 226.9C185.589 223.73 185.743 220.891 185.743 218.178V216.751L186.646 215.646C191.694 209.473 197.278 202.085 201.592 194.128C205.921 186.144 208.817 177.866 208.817 169.869V167.777L210.534 166.584C213.063 164.826 216.716 161.257 219.994 156.618C223.162 152.133 225.763 146.956 226.754 141.841L226.845 141.347C227.515 137.484 228.105 134.983 228.468 132.412C228.804 130.034 228.802 128.377 228.421 126.92C227.682 124.089 225.15 120.66 216.116 114.656L213.906 113.188L214.4 110.58C216.255 100.802 220.815 76.1064 214.498 54.9492L214.297 54.293C205.648 26.5983 175.662 8.0625 145.635 8.0625V0.0625Z",
25
+ fill: "white"
26
+ })]
27
+ });
28
+ };
29
+ //#endregion
30
+ //#region src/shared/capture/loadingBorder.tsx
31
+ var IDLE_COLOR = "var(--surface-neutral-100)";
32
+ var getColor = (borderState) => {
33
+ switch (borderState) {
34
+ case "success":
35
+ case "capturing": return "var(--surface-status-positive-500)";
36
+ case "loading": return "var(--surface-brand-500)";
37
+ case "error": return "var(--surface-status-negative-500)";
38
+ case "idle": return IDLE_COLOR;
39
+ }
40
+ };
41
+ var BorderRing = ({ fill, gradientId, gradientColor }) => /* @__PURE__ */ u("svg", {
42
+ width: "100%",
43
+ height: "100%",
44
+ viewBox: "0 0 335 335",
45
+ fill: "none",
46
+ xmlns: "http://www.w3.org/2000/svg",
47
+ children: [
48
+ /* @__PURE__ */ u("title", { children: "Loading Border" }),
49
+ /* @__PURE__ */ u("path", {
50
+ "fill-rule": "evenodd",
51
+ "clip-rule": "evenodd",
52
+ d: "M335 167.5C335 260.008 260.008 335 167.5 335C74.9923 335 0 260.008 0 167.5C0 74.9923 74.9923 0 167.5 0C260.008 0 335 74.9923 335 167.5ZM167.5 325C254.485 325 325 254.485 325 167.5C325 80.5152 254.485 10 167.5 10C80.5152 10 10 80.5152 10 167.5C10 254.485 80.5152 325 167.5 325Z",
53
+ class: "IncodeLoadingBorderPath",
54
+ fill
55
+ }),
56
+ gradientId && gradientColor ? /* @__PURE__ */ u("defs", { children: /* @__PURE__ */ u("radialGradient", {
57
+ id: gradientId,
58
+ cx: "0",
59
+ cy: "0",
60
+ r: "1",
61
+ gradientUnits: "userSpaceOnUse",
62
+ gradientTransform: "translate(240.418 17.4369) rotate(115.674) scale(167.087)",
63
+ children: [/* @__PURE__ */ u("stop", { "stop-color": gradientColor }), /* @__PURE__ */ u("stop", {
64
+ offset: "1",
65
+ "stop-color": gradientColor,
66
+ "stop-opacity": "0"
67
+ })]
68
+ }) }) : null
69
+ ]
70
+ });
71
+ var LoadingBorder = ({ borderState = "idle" }) => {
72
+ const gradientId = g();
73
+ const isLoadingOrCapturing = borderState === "loading" || borderState === "capturing";
74
+ const color = getColor(borderState);
75
+ const fill = isLoadingOrCapturing ? `url(#${gradientId})` : color;
76
+ return /* @__PURE__ */ u("div", {
77
+ class: "IncodeLoadingBorder",
78
+ "aria-hidden": "true",
79
+ children: [isLoadingOrCapturing ? /* @__PURE__ */ u("div", {
80
+ class: "IncodeLoadingBorderBase",
81
+ children: /* @__PURE__ */ u(BorderRing, { fill: IDLE_COLOR })
82
+ }) : null, /* @__PURE__ */ u("div", {
83
+ class: cn("IncodeLoadingBorderForeground", { IncodeLoadingBorderSpinning: isLoadingOrCapturing }),
84
+ children: /* @__PURE__ */ u(BorderRing, {
85
+ fill,
86
+ gradientId: isLoadingOrCapturing ? gradientId : void 0,
87
+ gradientColor: isLoadingOrCapturing ? color : void 0
88
+ })
89
+ })]
90
+ });
91
+ };
92
+ //#endregion
93
+ //#region src/shared/capture/notification.tsx
94
+ var Notification = ({ detectionState, disabled, guideStyle = "silhouette" }) => {
95
+ const { t } = useTranslation();
96
+ const liveRef = A(null);
97
+ const lastAnnouncedRef = A({
98
+ message: "",
99
+ at: 0
100
+ });
101
+ const prevDetectionStateRef = A(detectionState);
102
+ const prevDisabledRef = A(disabled);
103
+ const hasAnnouncedInstructionsRef = A(false);
104
+ const clearTimerRef = A();
105
+ const outerTimerRef = A();
106
+ const dotted = guideStyle === "dottedOutline";
107
+ const centerFaceText = t(dotted ? "notifications.centerFace" : "notifications.centerFaceV2");
108
+ const text = {
109
+ idle: centerFaceText,
110
+ noFace: t("notifications.faceNotFound"),
111
+ tooManyFaces: t("notifications.tooManyFaces"),
112
+ tooClose: t("notifications.moveAway"),
113
+ tooFar: t("notifications.moveCloser"),
114
+ blur: t("notifications.onBlur"),
115
+ dark: t("notifications.onDark"),
116
+ faceAngle: t(dotted ? "notifications.onFaceAngle" : "notifications.onFaceAngleV2"),
117
+ headWear: t("notifications.removeHeadwear"),
118
+ lenses: t("notifications.removeLenses"),
119
+ eyesClosed: t("notifications.closedEyes"),
120
+ faceMask: t("notifications.mask"),
121
+ centerFace: centerFaceText,
122
+ getReady: t("notifications.getReady"),
123
+ capturing: t("idv2.capture.takingPhoto"),
124
+ error: t("common.tryAgain")
125
+ }[detectionState] ?? "";
126
+ const announce = q((message) => {
127
+ const now = Date.now();
128
+ const last = lastAnnouncedRef.current;
129
+ if (message === last.message && now - last.at < 200) return;
130
+ lastAnnouncedRef.current = {
131
+ message,
132
+ at: now
133
+ };
134
+ const node = liveRef.current;
135
+ if (!node) return;
136
+ clearTimeout(clearTimerRef.current);
137
+ node.textContent = "";
138
+ outerTimerRef.current = setTimeout(() => {
139
+ node.textContent = message;
140
+ clearTimerRef.current = setTimeout(() => {
141
+ node.textContent = "";
142
+ }, 3e3);
143
+ }, 50);
144
+ }, []);
145
+ y(() => {
146
+ const wasDisabled = prevDisabledRef.current;
147
+ prevDisabledRef.current = disabled;
148
+ if (disabled || detectionState === "manualCapture") {
149
+ hasAnnouncedInstructionsRef.current = false;
150
+ return;
151
+ }
152
+ if (hasAnnouncedInstructionsRef.current) return;
153
+ const timer = setTimeout(() => {
154
+ hasAnnouncedInstructionsRef.current = true;
155
+ announce(t("selfiev2.autoCapture.defaultAriaInstructions"));
156
+ }, wasDisabled ? 1e3 : 500);
157
+ return () => clearTimeout(timer);
158
+ }, [
159
+ detectionState,
160
+ disabled,
161
+ announce,
162
+ t
163
+ ]);
164
+ y(() => {
165
+ const prev = prevDetectionStateRef.current;
166
+ prevDetectionStateRef.current = detectionState;
167
+ if (disabled) return;
168
+ if (prev !== "manualCapture" && detectionState === "manualCapture") announce(t("idv2.capture.manualCapture.modeSwitchAriaAnnouncement"));
169
+ }, [
170
+ announce,
171
+ detectionState,
172
+ t,
173
+ disabled
174
+ ]);
175
+ y(() => {
176
+ if (disabled || !text) return;
177
+ announce(text);
178
+ }, [
179
+ text,
180
+ announce,
181
+ disabled
182
+ ]);
183
+ y(() => {
184
+ return () => {
185
+ clearTimeout(outerTimerRef.current);
186
+ clearTimeout(clearTimerRef.current);
187
+ };
188
+ }, []);
189
+ return /* @__PURE__ */ u(k, { children: [/* @__PURE__ */ u("div", {
190
+ ref: liveRef,
191
+ class: "IncodeCaptureVisuallyHidden",
192
+ "aria-live": "assertive",
193
+ "aria-atomic": "true"
194
+ }), text ? /* @__PURE__ */ u(k, { children: [/* @__PURE__ */ u("div", {
195
+ class: "IncodeNotification",
196
+ "aria-hidden": "true",
197
+ children: /* @__PURE__ */ u("p", {
198
+ class: "IncodeNotificationText",
199
+ children: text
200
+ })
201
+ }), /* @__PURE__ */ u(Spacer, { size: 24 })] }) : null] });
202
+ };
203
+ //#endregion
204
+ //#region src/modules/selfie/avatarCanvas.tsx
205
+ /**
206
+ * Mounts the avatar `<canvas>` in place of the live selfie video. The element
207
+ * is created and rendered to in the infra layer; the UI only hosts it and
208
+ * applies layout + mirror classes (the latter parallels the video's
209
+ * `.IncodeCaptureVideoMirrored`, keeping handedness in one place). Cosmetic
210
+ * only — the capture pipeline runs on the real frames regardless.
211
+ */
212
+ var AvatarCanvas = ({ canvas, mirrored }) => {
213
+ const hostRef = A(null);
214
+ const canvasRef = A(null);
215
+ y(() => {
216
+ const host = hostRef.current;
217
+ if (!host || !canvas) return void 0;
218
+ canvas.classList.add("IncodeCaptureAvatarElement");
219
+ canvas.classList.toggle("IncodeCaptureAvatarMirrored", mirrored);
220
+ host.appendChild(canvas);
221
+ canvasRef.current = canvas;
222
+ return () => {
223
+ if (canvas.parentElement === host) host.removeChild(canvas);
224
+ if (canvasRef.current === canvas) canvasRef.current = null;
225
+ };
226
+ }, [canvas, mirrored]);
227
+ useCoverMedia(canvasRef, canvas);
228
+ return /* @__PURE__ */ u("div", {
229
+ ref: hostRef,
230
+ class: "IncodeCaptureAvatarHost",
231
+ "aria-hidden": "true"
232
+ });
233
+ };
234
+ //#endregion
235
+ //#region src/modules/selfie/captureStatusPage.tsx
236
+ var CaptureStatusPage = ({ icon, title, className, isLoading }) => {
237
+ const titleRef = A(null);
238
+ y(() => {
239
+ titleRef.current?.focus();
240
+ }, []);
241
+ return /* @__PURE__ */ u(Page, {
242
+ className: `IncodeCaptureStatusPage ${className ?? ""}`,
243
+ children: [/* @__PURE__ */ u(Spacer, { size: 40 }), /* @__PURE__ */ u("div", {
244
+ class: "IncodeCaptureStatusContainer",
245
+ role: isLoading ? "status" : void 0,
246
+ "aria-live": isLoading ? "polite" : void 0,
247
+ children: [
248
+ /* @__PURE__ */ u(Spacer, { size: 120 }),
249
+ icon,
250
+ /* @__PURE__ */ u(Spacer, { size: 16 }),
251
+ /* @__PURE__ */ u(Title, {
252
+ ref: titleRef,
253
+ className: "IncodeCaptureStatusTitle",
254
+ tabIndex: -1,
255
+ children: title
256
+ })
257
+ ]
258
+ })]
259
+ });
260
+ };
261
+ //#endregion
262
+ //#region src/modules/selfie/errorModal.tsx
263
+ var defaultError = {
264
+ title: "common.somethingWentWrong",
265
+ description: "support.tryAgain"
266
+ };
267
+ var errorContent = {
268
+ MASK_ERROR: {
269
+ title: "notifications.mask",
270
+ description: "notifications.maskDescription"
271
+ },
272
+ BRIGHTNESS_ERROR: {
273
+ title: "notifications.brightness",
274
+ description: "notifications.brightnessDescription"
275
+ },
276
+ LIVENESS_ERROR: {
277
+ title: "notifications.spoof",
278
+ description: "notifications.spoofDescription"
279
+ },
280
+ CLOSED_EYES_ERROR: {
281
+ title: "notifications.closedEyes",
282
+ description: "notifications.closedEyesDescription"
283
+ },
284
+ HEAD_COVER_ERROR: {
285
+ title: "notifications.removeHeadwear",
286
+ description: "notifications.removeHeadwearDescription"
287
+ },
288
+ LENSES_ERROR: {
289
+ title: "notifications.lenses",
290
+ description: "notifications.lensesDescription"
291
+ },
292
+ FACE_NOT_FOUND: {
293
+ title: "notifications.faceNotFound",
294
+ description: "notifications.faceNotFoundDescription"
295
+ },
296
+ MULTIPLE_FACES: {
297
+ title: "notifications.multiple",
298
+ description: "notifications.multipleDescription"
299
+ },
300
+ TOO_BLURRY_ERROR: defaultError,
301
+ TOO_DARK_ERROR: defaultError,
302
+ SERVER_ERROR: defaultError,
303
+ FACE_CROPPING_FAILED: defaultError,
304
+ FACE_TOO_SMALL: defaultError,
305
+ PROCESSING_ERROR: defaultError,
306
+ BAD_REQUEST: defaultError,
307
+ USER_IS_NOT_RECOGNIZED: {
308
+ title: "notifications.accessDenied",
309
+ description: "notifications.accessDeniedDescription"
310
+ },
311
+ SPOOF_ATTEMPT_DETECTED: {
312
+ title: "notifications.spoof",
313
+ description: "notifications.spoofDescription"
314
+ },
315
+ FACE_TOO_DARK: {
316
+ title: "notifications.brightness",
317
+ description: "notifications.brightnessDescription"
318
+ },
319
+ LENSES_DETECTED: {
320
+ title: "notifications.lenses",
321
+ description: "notifications.lensesDescription"
322
+ },
323
+ FACE_MASK_DETECTED: {
324
+ title: "notifications.mask",
325
+ description: "notifications.maskDescription"
326
+ },
327
+ CLOSED_EYES_DETECTED: {
328
+ title: "notifications.closedEyes",
329
+ description: "notifications.closedEyesDescription"
330
+ },
331
+ HEAD_COVER_DETECTED: {
332
+ title: "notifications.removeHeadwear",
333
+ description: "notifications.removeHeadwearDescription"
334
+ },
335
+ FACE_OCCLUDED: {
336
+ title: "notifications.faceOccluded",
337
+ description: "notifications.faceOccludedDescription"
338
+ },
339
+ FACE_TOO_BLURRY: {
340
+ title: "notifications.spoof",
341
+ description: "notifications.spoofDescription"
342
+ },
343
+ BAD_PHOTO_QUALITY: {
344
+ title: "notifications.lowQualityImage",
345
+ description: "notifications.lowQualityImageDescription"
346
+ },
347
+ NONEXISTENT_CUSTOMER: {
348
+ title: "notifications.nonexistentCustomer",
349
+ description: "notifications.nonexistentCustomerDescription"
350
+ },
351
+ HINT_NOT_PROVIDED: {
352
+ title: "notifications.hintNotProvided",
353
+ description: "notifications.hintNotProvidedDescription"
354
+ },
355
+ SELFIE_IMAGE_LOW_QUALITY: {
356
+ title: "notifications.selfieImageLowQuality",
357
+ description: "notifications.selfieImageLowQualityDescription"
358
+ }
359
+ };
360
+ var ERROR_CODES = [
361
+ "LIVENESS_ERROR",
362
+ "BRIGHTNESS_ERROR",
363
+ "LENSES_ERROR",
364
+ "MASK_ERROR",
365
+ "CLOSED_EYES_ERROR",
366
+ "HEAD_COVER_ERROR",
367
+ "SERVER_ERROR",
368
+ "FACE_NOT_FOUND",
369
+ "MULTIPLE_FACES",
370
+ "TOO_BLURRY_ERROR",
371
+ "TOO_DARK_ERROR",
372
+ "USER_IS_NOT_RECOGNIZED",
373
+ "SPOOF_ATTEMPT_DETECTED",
374
+ "FACE_TOO_DARK",
375
+ "LENSES_DETECTED",
376
+ "FACE_MASK_DETECTED",
377
+ "CLOSED_EYES_DETECTED",
378
+ "HEAD_COVER_DETECTED",
379
+ "FACE_OCCLUDED",
380
+ "FACE_CROPPING_FAILED",
381
+ "FACE_TOO_SMALL",
382
+ "FACE_TOO_BLURRY",
383
+ "BAD_PHOTO_QUALITY",
384
+ "PROCESSING_ERROR",
385
+ "BAD_REQUEST",
386
+ "NONEXISTENT_CUSTOMER",
387
+ "HINT_NOT_PROVIDED",
388
+ "SELFIE_IMAGE_LOW_QUALITY"
389
+ ];
390
+ var parseErrorCode = (error) => {
391
+ const upperError = error.toUpperCase();
392
+ if (upperError.includes("HTTP 400") || upperError.includes("BAD_REQUEST")) return "BAD_REQUEST";
393
+ if (upperError.includes("HTTP 500") || upperError.includes("SERVER_ERROR")) return "SERVER_ERROR";
394
+ for (const code of ERROR_CODES) if (upperError.includes(code)) return code;
395
+ return null;
396
+ };
397
+ var ErrorModal = ({ error, attemptsRemaining, onTryAgain }) => {
398
+ const { t } = useTranslation();
399
+ if (!error) return null;
400
+ const { title, description } = errorContent[parseErrorCode(error) ?? error] ?? defaultError;
401
+ const noMoreAttempts = attemptsRemaining <= 0;
402
+ const titleText = noMoreAttempts ? t("notifications.selfieCaptureFailed") : t(title) ?? title;
403
+ const descriptionText = noMoreAttempts ? t("notifications.selfieCaptureFailedDescription") : t(description);
404
+ return /* @__PURE__ */ u(ErrorContent, {
405
+ "data-testid": "face-capture-error-modal",
406
+ title: titleText,
407
+ description: descriptionText,
408
+ attemptsRemaining,
409
+ onButtonClick: onTryAgain
410
+ });
411
+ };
412
+ //#endregion
413
+ //#region src/modules/selfie/capture.tsx
414
+ var Capture = ({ manager, state }) => {
415
+ const { captureStatus, stream, detectionStatus, attemptsRemaining, uploadError, usingBackCamera, ageAssurance, onDeviceMode, obfuscateWithAvatar, avatarCanvas, avatarVariant } = state;
416
+ const [isManualCapturing, setIsManualCapturing] = d(false);
417
+ const { t } = useTranslation();
418
+ const manualCaptureRef = A(null);
419
+ const lensLanded = obfuscateWithAvatar && avatarVariant === "privacy-lens" && !!avatarCanvas;
420
+ y(() => {
421
+ if (detectionStatus === "manualCapture") manualCaptureRef.current?.focus();
422
+ }, [detectionStatus]);
423
+ if (captureStatus === "initializing") return /* @__PURE__ */ u(TransitionSpinner, { subtitleKey: "loadingCircle.preparingCamera" });
424
+ if (captureStatus === "detecting") {
425
+ if (detectionStatus === "offline") return /* @__PURE__ */ u(ConnectionError, { onRefresh: () => window.location.reload() });
426
+ const getBorderState = () => {
427
+ if (isManualCapturing) return "capturing";
428
+ if (detectionStatus === "detecting") return "idle";
429
+ if (detectionStatus === "getReady") return "loading";
430
+ if (detectionStatus === "getReadyFinished") return "loading";
431
+ if (detectionStatus === "success") return "success";
432
+ if (detectionStatus === "error") return "error";
433
+ return "idle";
434
+ };
435
+ return /* @__PURE__ */ u(Page, {
436
+ "data-testid": "capture-container",
437
+ children: [
438
+ /* @__PURE__ */ u(Title, {
439
+ className: "IncodeCaptureVisuallyHidden",
440
+ children: t("selfiev2.capture.title")
441
+ }),
442
+ /* @__PURE__ */ u(Spacer, { size: 48 }),
443
+ lensLanded ? /* @__PURE__ */ u("p", {
444
+ class: "IncodePrivacyLensBanner",
445
+ children: t("selfiev2.capture.privacyLensMessage")
446
+ }) : null,
447
+ /* @__PURE__ */ u("div", {
448
+ class: "IncodeCaptureContainer",
449
+ children: [
450
+ /* @__PURE__ */ u(LoadingBorder, { borderState: getBorderState() }),
451
+ /* @__PURE__ */ u("div", {
452
+ class: "IncodeCaptureFrame",
453
+ children: /* @__PURE__ */ u("div", {
454
+ class: "IncodeCaptureVideoWrapper",
455
+ "aria-hidden": "true",
456
+ children: stream ? /* @__PURE__ */ u(k, { children: [obfuscateWithAvatar ? /* @__PURE__ */ u(AvatarCanvas, {
457
+ canvas: avatarCanvas,
458
+ mirrored: !usingBackCamera
459
+ }) : /* @__PURE__ */ u(Video, {
460
+ stream,
461
+ mirrored: !usingBackCamera
462
+ }), obfuscateWithAvatar && avatarVariant !== "privacy-lens" ? null : /* @__PURE__ */ u("div", {
463
+ class: "IncodeCaptureVideo",
464
+ children: /* @__PURE__ */ u(FaceOutline, {})
465
+ })] }) : null
466
+ })
467
+ }),
468
+ /* @__PURE__ */ u(Spacer, { size: 32 }),
469
+ detectionStatus ? /* @__PURE__ */ u(Notification, {
470
+ detectionState: detectionStatus,
471
+ disabled: !!uploadError || isManualCapturing,
472
+ guideStyle: obfuscateWithAvatar && avatarVariant === "avatar-2d" ? "dottedOutline" : "silhouette"
473
+ }) : null,
474
+ detectionStatus === "manualCapture" && !onDeviceMode ? /* @__PURE__ */ u(ManualCaptureButton, {
475
+ ref: manualCaptureRef,
476
+ onClick: () => {
477
+ setIsManualCapturing(true);
478
+ manager.capture();
479
+ },
480
+ disabled: isManualCapturing
481
+ }) : null
482
+ ]
483
+ }),
484
+ uploadError ? /* @__PURE__ */ u(ErrorModal, {
485
+ error: uploadError,
486
+ attemptsRemaining,
487
+ onTryAgain: () => {
488
+ manager.retryCapture();
489
+ setIsManualCapturing(false);
490
+ }
491
+ }) : null
492
+ ]
493
+ });
494
+ }
495
+ if (captureStatus === "capturing") return /* @__PURE__ */ u(Page, {
496
+ className: "IncodeCaptureCapturingPage",
497
+ title: "Capturing",
498
+ subtitle: "Taking photo...",
499
+ children: /* @__PURE__ */ u("div", {
500
+ class: "IncodeCaptureCapturingActions",
501
+ children: /* @__PURE__ */ u(Button, {
502
+ isLoading: true,
503
+ children: "Capturing..."
504
+ })
505
+ })
506
+ });
507
+ if (captureStatus === "uploading") return /* @__PURE__ */ u(CaptureStatusPage, {
508
+ className: "IncodeCaptureStatusUploading",
509
+ isLoading: true,
510
+ icon: /* @__PURE__ */ u(LoadingIcon, { size: 64 }),
511
+ title: t(ageAssurance ? "idv2.capture.processing.verifying" : "idv2.capture.processing.uploading")
512
+ });
513
+ if (captureStatus === "uploadError") return /* @__PURE__ */ u(ErrorModal, {
514
+ error: uploadError,
515
+ attemptsRemaining,
516
+ onTryAgain: () => {
517
+ manager.retryCapture();
518
+ setIsManualCapturing(false);
519
+ }
520
+ });
521
+ if (captureStatus === "success") return /* @__PURE__ */ u(CaptureStatusPage, {
522
+ icon: /* @__PURE__ */ u(SuccessIcon, { size: 64 }),
523
+ title: t("idv2.capture.processing.success")
524
+ });
525
+ return null;
526
+ };
527
+ var Video = ({ stream, mirrored }) => {
528
+ const ref = A(null);
529
+ useCoverMedia(ref, stream);
530
+ y(() => {
531
+ if (ref.current && stream) {
532
+ ref.current.srcObject = stream;
533
+ ref.current.play().catch(() => {});
534
+ }
535
+ }, [stream]);
536
+ return /* @__PURE__ */ u("video", {
537
+ ref,
538
+ autoplay: true,
539
+ playsInline: true,
540
+ muted: true,
541
+ "aria-hidden": "true",
542
+ class: mirrored ? "IncodeCaptureVideoElement IncodeCaptureVideoMirrored" : "IncodeCaptureVideoElement"
543
+ });
544
+ };
545
+ //#endregion
546
+ //#region src/modules/selfie/tutorial.tsx
547
+ var Tutorial = ({ manager, ageAssurance = false, showManualUploadLink = false }) => {
548
+ const { t } = useTranslation();
549
+ const [isLoading, setIsLoading] = d(false);
550
+ const { data: animationData, isOverride } = useAnimationData("selfie.tutorial");
551
+ const handleContinue = async () => {
552
+ setIsLoading(true);
553
+ await manager.nextStep();
554
+ };
555
+ return /* @__PURE__ */ u(BaseTutorial, {
556
+ animationData,
557
+ recolor: !isOverride,
558
+ title: t(ageAssurance ? "face.tutorial.ageAssuranceTitle" : "face.tutorial.title"),
559
+ titleId: "face-tutorial-heading",
560
+ subtitle: t(ageAssurance ? "face.tutorial.ageAssuranceSubtitle" : "face.tutorial.subtitle"),
561
+ onContinue: handleContinue,
562
+ buttonText: t(ageAssurance ? "face.tutorial.ageAssuranceStartCapture" : "face.tutorial.startCapture"),
563
+ disclaimerText: t("face.tutorial.autoCapture"),
564
+ isLoading,
565
+ secondaryAction: showManualUploadLink ? {
566
+ label: t("selfiev2.manualUpload.uploadSelfieManually"),
567
+ onClick: () => manager.goToManualUpload(),
568
+ testId: "selfie-manual-upload-link"
569
+ } : void 0,
570
+ className: "IncodeSelfieTutorial"
571
+ });
572
+ };
573
+ //#endregion
574
+ export { Capture as n, Tutorial as t };