@incodetech/web 2.3.0-rc.0 → 2.3.0-rc.10

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 (204) hide show
  1. package/dist/ae-signature/ae-signature.es.js +3 -3
  2. package/dist/{af-ZA-DTqKc5t4.js → af-ZA-DbGwOil_.js} +24 -2
  3. package/dist/{am-EGNy2cbo.js → am-B3Yr4Wo7.js} +24 -2
  4. package/dist/antifraud/antifraud.es.js +3 -3
  5. package/dist/{ar-AE-Cb55U6s-.js → ar-AE-CluHJTX6.js} +26 -4
  6. package/dist/{ar-MUpu33jy.js → ar-B3YajQa1.js} +26 -4
  7. package/dist/{ar-EG-C8ucZII6.js → ar-EG-WNTNR8F8.js} +25 -3
  8. package/dist/authentication/authentication.es.js +4 -4
  9. package/dist/{autoFocusTitle-CIbcUW_x.js → autoFocusTitle-DHwltP_Z.js} +1 -1
  10. package/dist/{az-DlXjPSya.js → az-D-RKrS3Z.js} +24 -2
  11. package/dist/base.css +1 -1
  12. package/dist/{baseTutorial-DkL0vjUa.js → baseTutorial-DecCHyPh.js} +3 -3
  13. package/dist/{bn-BuTjJr44.js → bn-g99Bykpq.js} +24 -2
  14. package/dist/{bottomSheet-DtUFrIAG.js → bottomSheet-lYt_uoir.js} +1 -1
  15. package/dist/{bs-DUzGtLhU.js → bs-kvDa9-Su.js} +24 -2
  16. package/dist/{ca-B6SY43GQ.js → ca-B1jrTnuu.js} +24 -2
  17. package/dist/cameraOverlay-ByHBFzIA.js +2 -0
  18. package/dist/{cameraOverlayHeader-CsokPtuL.js → cameraOverlayHeader-15Gvo1s_.js} +2 -2
  19. package/dist/{cameraView-DrTBPNWX.js → cameraView-D4_Wxtgs.js} +2 -2
  20. package/dist/{captureFooter-DWCaAdIU.js → captureFooter-FPnsguCI.js} +3 -3
  21. package/dist/{ceb-DmXy5txv.js → ceb-C1qERY5_.js} +24 -2
  22. package/dist/certificate-issuance/certificate-issuance.es.js +8 -8
  23. package/dist/{checkbox-D0wfscwg.js → checkbox-BhYnyWjt.js} +2 -2
  24. package/dist/{connectionError-B61O7L3N.js → connectionError-BJqT-QGK.js} +3 -3
  25. package/dist/consent/consent.es.js +6 -6
  26. package/dist/{countrySelector-C60Cdc5P.js → countrySelector-Dmuxqrds.js} +2 -2
  27. package/dist/cross-document-data-match/cross-document-data-match.es.js +3 -3
  28. package/dist/{cs-dsQ7umNS.js → cs-1hwmfQJz.js} +25 -3
  29. package/dist/{cs-CZ-Gn3ZmW27.js → cs-CZ-XrhI900X.js} +25 -3
  30. package/dist/curp-validation/curp-validation.es.js +11 -11
  31. package/dist/{customFields-BdnLB6L1.js → customFields-4lqTDwNl.js} +9 -9
  32. package/dist/{customWatchlist-DzeHJAa3.js → customWatchlist-bqALLgpi.js} +6 -6
  33. package/dist/{da-DK-CFQaOERk.js → da-DK-CS4tq2CW.js} +25 -3
  34. package/dist/{dashboardTheme-BwKtcRSO.js → dashboardTheme-DEHlp6JX.js} +1 -1
  35. package/dist/dateInputComposed-CA0TDmJ5.js +1 -0
  36. package/dist/{dateInputComposed-BcmKKwRL.js → dateInputComposed-CdLDRKBa.js} +4 -4
  37. package/dist/{de-BqG02U9o.js → de-CZ0RWhgI.js} +25 -3
  38. package/dist/{permissions-DowRodJj.js → denied-CaT9SP1l.js} +154 -212
  39. package/dist/document-capture/document-capture.es.js +1 -1
  40. package/dist/{documentCapture-CoMsW_gC.js → documentCapture-BYLknVND.js} +15 -15
  41. package/dist/documentCapture-CcpGGw40.js +2 -0
  42. package/dist/dropdownComposed-CNANwnCK.js +1 -0
  43. package/dist/{dropdownComposed-DYdI3B4r.js → dropdownComposed-Dexi8D-S.js} +2 -2
  44. package/dist/dynamic-forms/dynamic-forms.es.js +10 -10
  45. package/dist/ekyb/ekyb.es.js +1 -1
  46. package/dist/{ekybModule-BRh9D01p.js → ekybModule-DX6oPVIP.js} +12 -12
  47. package/dist/ekybModule-O5KTeZez.js +2 -0
  48. package/dist/ekyc/ekyc.es.js +1 -1
  49. package/dist/ekycModule-BBxKmy7c.js +2 -0
  50. package/dist/{ekycModule-Da6Bl3jg.js → ekycModule-BdREWq6R.js} +12 -12
  51. package/dist/{el-GR-9I2fVd-W.js → el-GR-Bav-aly7.js} +25 -3
  52. package/dist/{el-BP_RmMeB.js → el-Qg7qIB-u.js} +25 -3
  53. package/dist/electronic-signature/electronic-signature.es.js +1 -1
  54. package/dist/{electronic-signature-KFF7qbid.js → electronic-signature-D9DbjtoS.js} +8 -8
  55. package/dist/email/email.es.js +7 -7
  56. package/dist/{emailInput-B_qAEKBC.js → emailInput-L9ZcDJrj.js} +3 -3
  57. package/dist/{en-DnIfMNS1.js → en-CropyKr_.js} +25 -3
  58. package/dist/{en-DG-poeSJZ7W.js → en-DG-3UDUyTjS.js} +25 -3
  59. package/dist/{errorContent-CMNfCIo_.js → errorContent-DhYkMKwt.js} +5 -5
  60. package/dist/{es-419-DgAnO5DV.js → es-419-Bffg59Wb.js} +25 -3
  61. package/dist/{es-2x55EFTs.js → es-B-CCrWCg.js} +25 -3
  62. package/dist/{es-ES-BSnroYMU.js → es-ES-BohRZi4g.js} +25 -3
  63. package/dist/{es-MX-CfztSSs4.js → es-MX-CKRE5bgY.js} +25 -3
  64. package/dist/{et-CPoI8fYI.js → et-K3MS6_y6.js} +26 -4
  65. package/dist/{expiredId-DJYL_--M.js → expiredId-Br8mbZny.js} +5 -5
  66. package/dist/extensibility.es.js +34 -34
  67. package/dist/{fa-IR-CVf6F8GG.js → fa-IR-CVRvB-HT.js} +24 -2
  68. package/dist/face-match/face-match.es.js +1 -1
  69. package/dist/{faceMatch-CwoYbKBB.js → faceMatch-CGakgzM8.js} +6 -6
  70. package/dist/faceMatch-DVlSonhk.js +2 -0
  71. package/dist/{fi-FI-A4oUFztt.js → fi-FI-Dd5WuLD7.js} +24 -2
  72. package/dist/field-comparison/field-comparison.es.js +1 -1
  73. package/dist/{fieldComparison-D2WI5cYb.js → fieldComparison-CSBQQwJ1.js} +7 -7
  74. package/dist/fieldComparison-nvvrpQMG.js +2 -0
  75. package/dist/{finalSuccessScreen-BtJ5o2pi.js → finalSuccessScreen-BJ7X0U0S.js} +9 -9
  76. package/dist/fiscal-qr/fiscal-qr.es.js +32 -9
  77. package/dist/{flipAnimation-Bb5FQVF-.js → flipAnimation-BhN92Nle.js} +13 -13
  78. package/dist/flow/flow.es.js +7 -7
  79. package/dist/flow/styles.css +1 -1
  80. package/dist/{formField-CBwWQ7wD.js → formField-LDUJ0HoM.js} +2 -2
  81. package/dist/{fr-CA-CI4CD8PC.js → fr-CA-DfFvTS35.js} +25 -3
  82. package/dist/{fr-ON88Zj-c.js → fr-DrFodyyh.js} +25 -3
  83. package/dist/geolocation/geolocation.es.js +8 -8
  84. package/dist/government-validation/government-validation.es.js +3 -3
  85. package/dist/{he-pbmbYdr4.js → he-bwUjnw9d.js} +24 -2
  86. package/dist/{hi-DUIfQ6FS.js → hi-ByK_NHE8.js} +24 -2
  87. package/dist/{hmn-DL-aQCTc.js → hmn-DSkVcav8.js} +24 -2
  88. package/dist/{homeScreen-vLMuzGDq.js → homeScreen-BmVol9FW.js} +6 -6
  89. package/dist/{hr-DfJZSVnR.js → hr-BXgru3GT.js} +24 -2
  90. package/dist/{ht-DkZi3f0t.js → ht-8FWsF7zj.js} +24 -2
  91. package/dist/{hu-ClhgOpVy.js → hu-XPnMuc5s.js} +26 -4
  92. package/dist/{icons-eIgP34nj.js → icons-B08JS0N-.js} +1 -1
  93. package/dist/id/id.es.js +20 -19
  94. package/dist/id/styles.css +1 -1
  95. package/dist/id/styles.css.js +1 -1
  96. package/dist/{id-DzyWelEE.js → id-DttSzi45.js} +26 -4
  97. package/dist/id-selfie-flow/id-selfie-flow.es.js +8 -8
  98. package/dist/id-verification/id-verification.es.js +4 -4
  99. package/dist/{idOcr-C5R3RWuL.js → idOcr-btBt0ReK.js} +11 -11
  100. package/dist/identity-reuse/identity-reuse.es.js +5 -5
  101. package/dist/{incodeComponent-D3_BSWan.js → incodeComponent-DqP21_Va.js} +7 -7
  102. package/dist/{incodeModule-BQgvYKyr.js → incodeModule-DlG8g3dR.js} +1 -1
  103. package/dist/index.es.js +2 -2
  104. package/dist/inputComposed-4CKuFx07.js +1 -0
  105. package/dist/{inputComposed-CTZnsHLi.js → inputComposed-C3rOfVtt.js} +2 -2
  106. package/dist/{it-D_u7w6N4.js → it-Bo1_M5Ku.js} +25 -3
  107. package/dist/{ja-Drh4oAoU.js → ja-BHq-D0SJ.js} +25 -3
  108. package/dist/{ja-JP-Pdxq82Pi.js → ja-JP-DNm2WfQl.js} +25 -3
  109. package/dist/{jv-DFcKF0Jp.js → jv-oBDv6lNS.js} +24 -2
  110. package/dist/{ka--2y3Ae63.js → ka-BPn06UT0.js} +24 -2
  111. package/dist/{kk-CAs7inco.js → kk-CPYojVvy.js} +24 -2
  112. package/dist/{km-BlxkLYfw.js → km-BPV_Cc4p.js} +31 -9
  113. package/dist/{ko-B1XhW0dx.js → ko-Bv8A9HvE.js} +25 -3
  114. package/dist/{ko-KP-DO1TCCY3.js → ko-KP-DQPYp0Lf.js} +25 -3
  115. package/dist/{ky-BN92RThU.js → ky-C2Qqzx7F.js} +24 -2
  116. package/dist/{lo-DPUo8xJT.js → lo-DqrFvm4v.js} +24 -2
  117. package/dist/{lt-CYBwI4Sq.js → lt-BgUHDb2w.js} +25 -3
  118. package/dist/{lv-eBlwWu05.js → lv-BXYKiZee.js} +25 -3
  119. package/dist/{mandatoryConsent-D96_9XTp.js → mandatoryConsent-DbzgW4RY.js} +6 -6
  120. package/dist/{manualCaptureButton-C9H2_SJS.js → manualCaptureButton-8617NDBs.js} +3 -3
  121. package/dist/{manualCaptureButton-igyQk3Yb.js → manualCaptureButton-CkGuPk8e.js} +3 -3
  122. package/dist/{mk-QMUTND8Y.js → mk-BBotHGMi.js} +24 -2
  123. package/dist/{mn-CCTUOA1D.js → mn-DCwX2btK.js} +24 -2
  124. package/dist/{modal-CmF_MYIK.js → modal-Do0hXEPy.js} +2 -2
  125. package/dist/{ms-BKJgaJfx.js → ms-vKtSs7Ag.js} +24 -2
  126. package/dist/{my-DyLbN8b0.js → my-CFuGUUv0.js} +24 -2
  127. package/dist/{nb-NO-TVHxhuqB.js → nb-NO-FPAIIUZ4.js} +24 -2
  128. package/dist/{ne-gBLZraiK.js → ne-CqEeptRO.js} +24 -2
  129. package/dist/{nl-CrO6Mvej.js → nl-Kb76dxVp.js} +27 -5
  130. package/dist/{optionAccessibleLabel-CqBUOBxK.js → optionAccessibleLabel-CVFR_dYr.js} +5 -5
  131. package/dist/{otpInput-tEovwPs7.js → otpInput-CTVsMhLE.js} +6 -6
  132. package/dist/{passwordInputComposed-DNlYgHHW.js → passwordInputComposed-BAR6V6nr.js} +4 -4
  133. package/dist/pdfViewer-CYG3FcWA.js +2 -0
  134. package/dist/{pdfViewer-4u14PDPr.js → pdfViewer-VXp0tn8y.js} +2 -2
  135. package/dist/permissions-9MM3_B_t.js +212 -0
  136. package/dist/phone/phone.es.js +8 -8
  137. package/dist/{phoneInputComposed-B6sv-uB2.js → phoneInputComposed-Cpbm-jZ6.js} +3 -3
  138. package/dist/{pl-Bde7cCcc.js → pl-BSGlCajW.js} +25 -3
  139. package/dist/{processing-s6GfNwuL.js → processing-BDa0s-t2.js} +1 -1
  140. package/dist/{pt-BR-DFr2fPNi.js → pt-BR-t6GG2t8i.js} +25 -3
  141. package/dist/{pt-DhDCeOLY.js → pt-CHurQu3I.js} +25 -3
  142. package/dist/{pt-PT-CpiPMuNf.js → pt-PT-B6u3_DCh.js} +25 -3
  143. package/dist/qe-signature/qe-signature.es.js +3 -3
  144. package/dist/radioGroupComposed-Bn9sSttZ.js +1 -0
  145. package/dist/{radioGroupComposed-DmoMukus.js → radioGroupComposed-dxUBopMF.js} +2 -2
  146. package/dist/redirect-to-mobile/redirect-to-mobile.es.js +7 -7
  147. package/dist/{resendTimer-Cskll9rx.js → resendTimer-DTsj8VRX.js} +1 -1
  148. package/dist/{resolveApiKey-CB1_7ISm.js → resolveApiKey-Cxg7WWTh.js} +17 -17
  149. package/dist/{richText-C8-Ny2SD.js → richText-BqqUICnf.js} +1 -1
  150. package/dist/{ro-B_ITJxYh.js → ro-iP8y_eYT.js} +25 -3
  151. package/dist/{ru-Cg4U-rYv.js → ru-B6rUBUBy.js} +26 -4
  152. package/dist/{ru-RU-fR_tbAfz.js → ru-RU-CPeZDSOc.js} +25 -3
  153. package/dist/selfie/selfie.es.js +9 -9
  154. package/dist/signature/signature.es.js +6 -6
  155. package/dist/{sk-DbraxlnX.js → sk-gsmy3O6m.js} +26 -4
  156. package/dist/{sl-DXgvmUsz.js → sl-jBilXWs-.js} +25 -3
  157. package/dist/{smsTabContent-Dado9q8t.js → smsTabContent-DRnEgjnn.js} +6 -6
  158. package/dist/{so-HI13bXme.js → so-dkrFmMlw.js} +24 -2
  159. package/dist/{spacer-ayyj5lMa.js → spacer-CbCrSrjR.js} +1 -1
  160. package/dist/{spinner-Z-5sEEDQ.js → spinner-CkdNFSdb.js} +2 -2
  161. package/dist/{sr-DAb2JkvB.js → sr-D7Yz6GxK.js} +24 -2
  162. package/dist/{sr-Latn-DzSc6KyA.js → sr-Latn-DUI8Q6jb.js} +31 -9
  163. package/dist/{sr-YU-C9HskKa8.js → sr-YU-_brJdxfe.js} +24 -2
  164. package/dist/{statusPage-Bqz3Ci4f.js → statusPage-C_jKr7Ps.js} +3 -3
  165. package/dist/{sv-SE-B3X2fvQj.js → sv-SE-Ck9HRP1u.js} +25 -3
  166. package/dist/{sw-BVL9Boua.js → sw-Crt2evHM.js} +24 -2
  167. package/dist/{tabs-B-ERCzA4.js → tabs-D3v5sYZg.js} +1 -1
  168. package/dist/{th-Cq87oDI8.js → th-C8d1ggYQ.js} +24 -2
  169. package/dist/{th-TH-CY5gd6Bd.js → th-TH-BE9EdiV3.js} +24 -2
  170. package/dist/{tl-PH-CNYNkY1M.js → tl-PH-BMqgLvIY.js} +24 -2
  171. package/dist/{tl-DUm9tRZ_.js → tl-ZsUsO8Y1.js} +24 -2
  172. package/dist/{tr-Cg3WJqb6.js → tr-BaBMGdBx.js} +27 -5
  173. package/dist/{tutorial-CHNfV-I3.js → tutorial-DXHIsP_J.js} +10 -10
  174. package/dist/{typography-ikD4-Z8S.js → typography-B_Swsea_.js} +1 -1
  175. package/dist/{uiConfig-C1jdTj-i.js → uiConfig-DKx9SmTB.js} +83 -83
  176. package/dist/{uk-C7hhE-77.js → uk-D4haFpI2.js} +25 -3
  177. package/dist/{uk-UA-DRsynQ5S.js → uk-UA-L4qoC299.js} +25 -3
  178. package/dist/{ur-BEX50SCe.js → ur-Cy-eY3ny.js} +24 -2
  179. package/dist/{uz-BYlUXaIK.js → uz-DUSerypr.js} +24 -2
  180. package/dist/{verificationResult-B26DDXFT.js → verificationResult-D_46RxvT.js} +6 -6
  181. package/dist/{vi-DddAM-WF.js → vi-26sWA4c3.js} +24 -2
  182. package/dist/video-selfie/video-selfie.es.js +10 -10
  183. package/dist/watchlist/watchlist.es.js +6 -6
  184. package/dist/{watchlistForBusiness-o4F6Czxp.js → watchlistForBusiness-C41Eb54F.js} +8 -8
  185. package/dist/workflow/styles.css +1 -1
  186. package/dist/workflow/workflow.es.js +7 -7
  187. package/dist/{zh-CN-B8y9prPe.js → zh-CN-CKR1naeD.js} +27 -5
  188. package/dist/{zh-aG_wPYUs.js → zh-Dk7S8dNd.js} +25 -3
  189. package/dist/{zh-HANT-ChrXbHBA.js → zh-HANT-BcZ6BCxX.js} +25 -3
  190. package/dist/{zh-TW-DrkMIR_e.js → zh-TW-hjSwNqTz.js} +25 -3
  191. package/package.json +2 -2
  192. package/dist/cameraOverlay-Dn0r4NR9.js +0 -2
  193. package/dist/dateInputComposed-DPM6l_SL.js +0 -1
  194. package/dist/documentCapture-DMxz9eqT.js +0 -2
  195. package/dist/dropdownComposed-CXwC9j18.js +0 -1
  196. package/dist/ekybModule-C5NPsc0F.js +0 -2
  197. package/dist/ekycModule-DwKPvgA8.js +0 -2
  198. package/dist/faceMatch-DCkrehin.js +0 -2
  199. package/dist/fieldComparison-OwqIkMRe.js +0 -2
  200. package/dist/inputComposed-wy0-orhJ.js +0 -1
  201. package/dist/pdfViewer-e2o97yIv.js +0 -2
  202. package/dist/radioGroupComposed-CJkzLiFc.js +0 -1
  203. package/dist/useCoverMedia-VLw3OYN_.js +0 -149
  204. /package/dist/{numberedStep-DYznpDKc.js → numberedStep-C8e_uPaz.js} +0 -0
@@ -1,149 +0,0 @@
1
- import { _ as y, h as q } from "./vendor-preact-C0jX1Cbq.js";
2
- //#region src/hooks/useCoverMedia.ts
3
- var CONVERGENCE_TIMEOUT_MS = 1e4;
4
- var CONVERGENCE_INTERVAL_MS = 100;
5
- var PENDING_CLASS = "IncodeMediaCoverPending";
6
- /**
7
- * Returns the explicit box that produces `object-fit: cover` geometry.
8
- * Kept pure so the visual calculation is independently testable.
9
- */
10
- function calculateCoverMediaGeometry(sourceWidth, sourceHeight, containerWidth, containerHeight) {
11
- if (!Number.isFinite(sourceWidth) || !Number.isFinite(sourceHeight) || !Number.isFinite(containerWidth) || !Number.isFinite(containerHeight) || sourceWidth <= 0 || sourceHeight <= 0 || containerWidth <= 0 || containerHeight <= 0) return;
12
- const scale = Math.max(containerWidth / sourceWidth, containerHeight / sourceHeight);
13
- const width = sourceWidth * scale;
14
- const height = sourceHeight * scale;
15
- return {
16
- width: `${width.toFixed(2)}px`,
17
- height: `${height.toFixed(2)}px`,
18
- left: `${((containerWidth - width) / 2).toFixed(2)}px`,
19
- top: `${((containerHeight - height) / 2).toFixed(2)}px`
20
- };
21
- }
22
- /**
23
- * Safari reports `object-fit` support even when its MediaStream paint is
24
- * incorrect, so CSS.supports cannot detect this bug. Keep the workaround
25
- * narrowly scoped to the affected iOS/iPadOS 27 WebKit builds instead.
26
- */
27
- function needsExplicitMediaCover(userAgent, platform, maxTouchPoints) {
28
- const iosDevice = /\b(?:iPhone|iPad|iPod)\b/.test(userAgent);
29
- const iosVersion = userAgent.match(/CPU (?:iPhone )?OS (\d+)[_.]/)?.[1];
30
- if (iosDevice && iosVersion === "27") return true;
31
- const desktopModeIPad = platform === "MacIntel" && maxTouchPoints > 1;
32
- const safariVersion = userAgent.match(/Version\/(\d+)[._]/)?.[1];
33
- return desktopModeIPad && safariVersion === "27";
34
- }
35
- function isExplicitMediaCoverNeeded() {
36
- if (typeof navigator === "undefined") return false;
37
- return needsExplicitMediaCover(navigator.userAgent, navigator.platform, navigator.maxTouchPoints);
38
- }
39
- /**
40
- * Applies explicit `cover` geometry only to iOS/iPadOS 27 MediaStream media.
41
- * Compliant browsers retain native `object-fit: cover`, with no observers,
42
- * event listeners, polling, or inline geometry.
43
- *
44
- * `reattachKey` restarts the workaround when the media source changes. Pass a
45
- * MediaStream for video and the canvas instance for imperative avatar canvases.
46
- */
47
- function useCoverMedia(mediaRef, reattachKey) {
48
- const explicitCoverNeeded = isExplicitMediaCoverNeeded();
49
- const applyCover = q(() => {
50
- const media = mediaRef.current;
51
- const container = media?.parentElement;
52
- if (!media || !container) return false;
53
- const sourceWidth = media instanceof HTMLVideoElement ? media.videoWidth : media.width;
54
- const sourceHeight = media instanceof HTMLVideoElement ? media.videoHeight : media.height;
55
- const { width: containerWidth, height: containerHeight } = container.getBoundingClientRect();
56
- const geometry = calculateCoverMediaGeometry(sourceWidth, sourceHeight, containerWidth, containerHeight);
57
- if (!geometry) return false;
58
- if (media.style.width === geometry.width && media.style.height === geometry.height && media.style.left === geometry.left && media.style.top === geometry.top) return true;
59
- media.style.maxWidth = "none";
60
- media.style.maxHeight = "none";
61
- media.style.right = "auto";
62
- media.style.bottom = "auto";
63
- media.style.width = geometry.width;
64
- media.style.height = geometry.height;
65
- media.style.left = geometry.left;
66
- media.style.top = geometry.top;
67
- return true;
68
- }, [mediaRef]);
69
- y(() => {
70
- if (!explicitCoverNeeded) return;
71
- const media = mediaRef.current;
72
- if (!media) return;
73
- const cleanups = [];
74
- media.classList.add(PENDING_CLASS);
75
- cleanups.push(() => media.classList.remove(PENDING_CLASS));
76
- const reveal = () => media.classList.remove(PENDING_CLASS);
77
- let pollId;
78
- let timeoutId;
79
- const stopPolling = () => {
80
- if (pollId !== void 0) {
81
- clearInterval(pollId);
82
- pollId = void 0;
83
- }
84
- if (timeoutId !== void 0) {
85
- clearTimeout(timeoutId);
86
- timeoutId = void 0;
87
- }
88
- };
89
- cleanups.push(stopPolling);
90
- const tryApply = () => {
91
- const applied = applyCover();
92
- if (applied) {
93
- reveal();
94
- stopPolling();
95
- }
96
- return applied;
97
- };
98
- let frame1 = 0;
99
- let frame2 = 0;
100
- const applyCoverSettled = () => {
101
- tryApply();
102
- cancelAnimationFrame(frame1);
103
- cancelAnimationFrame(frame2);
104
- frame1 = requestAnimationFrame(() => {
105
- tryApply();
106
- frame2 = requestAnimationFrame(tryApply);
107
- });
108
- };
109
- if (media instanceof HTMLVideoElement) for (const event of ["loadedmetadata", "resize"]) {
110
- media.addEventListener(event, applyCoverSettled);
111
- cleanups.push(() => media.removeEventListener(event, applyCoverSettled));
112
- }
113
- if (typeof ResizeObserver !== "undefined") {
114
- const observer = new ResizeObserver(() => tryApply());
115
- const container = media.parentElement;
116
- if (container) observer.observe(container);
117
- observer.observe(media);
118
- cleanups.push(() => observer.disconnect());
119
- }
120
- window.addEventListener("resize", applyCoverSettled);
121
- window.addEventListener("orientationchange", applyCoverSettled);
122
- cleanups.push(() => {
123
- window.removeEventListener("resize", applyCoverSettled);
124
- window.removeEventListener("orientationchange", applyCoverSettled);
125
- });
126
- const startPolling = () => {
127
- pollId = setInterval(tryApply, CONVERGENCE_INTERVAL_MS);
128
- timeoutId = setTimeout(() => {
129
- stopPolling();
130
- reveal();
131
- }, CONVERGENCE_TIMEOUT_MS);
132
- };
133
- if (!tryApply()) startPolling();
134
- applyCoverSettled();
135
- return () => {
136
- cancelAnimationFrame(frame1);
137
- cancelAnimationFrame(frame2);
138
- for (const cleanup of cleanups) cleanup();
139
- };
140
- }, [
141
- applyCover,
142
- explicitCoverNeeded,
143
- mediaRef,
144
- reattachKey
145
- ]);
146
- return applyCover;
147
- }
148
- //#endregion
149
- export { useCoverMedia as t };