@verbb/formie-browser 1.0.13 → 1.0.15

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 (389) hide show
  1. package/CHANGELOG.md +80 -0
  2. package/dist/chunks/{address-country-Rx6GQTND.js → address-country-BcEQKw0T.js} +11 -5
  3. package/dist/chunks/{address-finder-k7_BXaRe.js → address-finder-BWGINCSA.js} +3 -3
  4. package/dist/chunks/address-state-DI3ndhMU.js +365 -0
  5. package/dist/chunks/{api-BUb6P-xu.js → api-BK9b340y.js} +93 -63
  6. package/dist/chunks/{api-DqpfkZWL.js → api-Dxl_CKw-.js} +202 -193
  7. package/dist/chunks/{api-sPqGbOww.js → api-ghNr2uxX.js} +15 -9
  8. package/dist/chunks/{async-nPFRNQ06.js → async-2GdXNFCE.js} +18 -1
  9. package/dist/chunks/{bpoint-Dlq34XH1.js → bpoint-BwtuyN_O.js} +3 -3
  10. package/dist/chunks/calculations-YEoVCG2q.js +310 -0
  11. package/dist/chunks/{captcha-eu-CGm8Lbrj.js → captcha-eu-DWLoQFKB.js} +6 -5
  12. package/dist/chunks/{checkbox-radio-BY2aTCOG.js → checkbox-radio-gsm8QPJg.js} +74 -75
  13. package/dist/chunks/{combobox-C0EuExSI.js → combobox-Ba08_cHL.js} +340 -328
  14. package/dist/chunks/conditions-Ceeg6ReZ.js +467 -0
  15. package/dist/chunks/country-from-ip-DDj_mFki.js +29 -0
  16. package/dist/chunks/csrf-DxHg_ZYt.js +61 -0
  17. package/dist/chunks/{custom-google-maps-BsaSirEZ.js → custom-google-maps-C4l2S3GO.js} +9 -3
  18. package/dist/chunks/{custom-link-CJ1-FjEM.js → custom-link-CLazgKYH.js} +8 -2
  19. package/dist/chunks/{custom-maps-DYW_pBid.js → custom-maps-DqcAlD0v.js} +10 -4
  20. package/dist/chunks/{date-picker-F9BUBDSW.js → date-picker-DaPvMrop.js} +467 -443
  21. package/dist/chunks/{dist-D6i-VNgM.js → dist-ZLeW0zZ3.js} +1281 -453
  22. package/dist/chunks/{eway-D9_m8ooj.js → eway-uw0DzU-L.js} +5 -5
  23. package/dist/chunks/field-references.resolver-Ca8MguFv.js +104 -0
  24. package/dist/chunks/{file-upload-rqfZNqlH.js → file-upload-B8_mH012.js} +119 -99
  25. package/dist/chunks/friendly-captcha-v1-CVXaXgDO.js +34 -0
  26. package/dist/chunks/{friendly-captcha-v2-CLSAbkqx.js → friendly-captcha-v2-DkeIVTKI.js} +6 -5
  27. package/dist/chunks/{friendly-challenge-8uPatWqk.js → friendly-challenge-DPG9MJb1.js} +111 -102
  28. package/dist/chunks/{go-cardless-DAT3ZaQf.js → go-cardless-c4wLJdOt.js} +2 -2
  29. package/dist/chunks/google-address-JHYvjwgN.js +168 -0
  30. package/dist/chunks/{hcaptcha-CGLAmgjO.js → hcaptcha-Dt3ELLlP.js} +4 -4
  31. package/dist/chunks/{hidden-D7_Ch-QN.js → hidden-BZhXnNPe.js} +8 -2
  32. package/dist/chunks/http-C2QdHuWO.js +27 -0
  33. package/dist/chunks/{leaflet-src-j-lHNmhR.js → leaflet-src-DE6rv6M-.js} +42 -46
  34. package/dist/chunks/{loqate-CJPzBmSm.js → loqate-m51iPyO1.js} +3 -3
  35. package/dist/chunks/{mollie-Bibhl67p.js → mollie-Bn0PX173.js} +2 -2
  36. package/dist/chunks/{moneris-H2wSqk9h.js → moneris-BRbUvI4t.js} +3 -3
  37. package/dist/chunks/opayo-BwWdInEP.js +188 -0
  38. package/dist/chunks/{paddle-DkvIxQdG.js → paddle-CympHVvd.js} +4 -4
  39. package/dist/chunks/{password-validation-D06uH9va.js → password-validation-C8_uO_c_.js} +18 -12
  40. package/dist/chunks/{paypal-CQpAF7Ua.js → paypal-h75h6wae.js} +8 -6
  41. package/dist/chunks/{payway-CwDkC7YZ.js → payway-C9rHTCC_.js} +4 -4
  42. package/dist/chunks/{phone-country-D3ayr60L.js → phone-country-B8fv-L5_.js} +80 -63
  43. package/dist/chunks/{place-kit-BGHklIZ-.js → place-kit-BnZGQ-L1.js} +11 -11
  44. package/dist/chunks/{placekit-autocomplete.esm-DWVabQlq.js → placekit-autocomplete.esm-CZZERYur.js} +11 -15
  45. package/dist/chunks/{recaptcha-enterprise-XPId5-bS.js → recaptcha-enterprise-CUs8BO6V.js} +4 -4
  46. package/dist/chunks/{recaptcha-shared-CLYJvojk.js → recaptcha-shared-DTbTw-MF.js} +2 -2
  47. package/dist/chunks/{recaptcha-v2-checkbox-Cy-0PEPc.js → recaptcha-v2-checkbox-P1McW4Pv.js} +4 -4
  48. package/dist/chunks/{recaptcha-v2-invisible-BwRH540O.js → recaptcha-v2-invisible-FGDqozSP.js} +4 -4
  49. package/dist/chunks/{recaptcha-v3-No4Ykrhk.js → recaptcha-v3-CflUHeZD.js} +4 -4
  50. package/dist/chunks/{repeater-BVnPUqTj.js → repeater-CyhDbozO.js} +60 -40
  51. package/dist/chunks/request-profile-DhwkeCpS.js +10 -0
  52. package/dist/chunks/rich-text-uV4o_pGk.js +361 -0
  53. package/dist/chunks/{chunk-3b4jIN3o.js → rolldown-runtime-DtPi1Y-2.js} +2 -2
  54. package/dist/chunks/{scripts-CbQ7agX3.js → scripts-DrccjrFv.js} +1 -1
  55. package/dist/chunks/{sdk-BhHAYgga.js → sdk-lkwSvlpM.js} +282 -234
  56. package/dist/chunks/{shared-Bx9s0i0P.js → shared-OKhSay59.js} +27 -21
  57. package/dist/chunks/{signature-IOhuicje.js → signature-7cldFbqj.js} +138 -112
  58. package/dist/chunks/skip-CEW89ExY.js +7 -0
  59. package/dist/chunks/{snaptcha-DKx98oon.js → snaptcha-C3QLYxFT.js} +2 -2
  60. package/dist/chunks/{square-DwdcOI1G.js → square-C1z5DPVw.js} +9 -7
  61. package/dist/chunks/{stripe-DaoG2FT1.js → stripe-Dmkdkq1y.js} +11 -12
  62. package/dist/chunks/{summary-Dks0gXS3.js → summary-Bn-g5SDx.js} +48 -46
  63. package/dist/chunks/{survey-likert-DkE6bR7B.js → survey-likert-fk1hUPff.js} +7 -1
  64. package/dist/chunks/{survey-rank-DN6x4IZM.js → survey-rank-BsLGl2LX.js} +37 -25
  65. package/dist/chunks/{survey-rating-BnsNL9U5.js → survey-rating-DVS6e6fM.js} +17 -5
  66. package/dist/chunks/{table-CAjCJHrL.js → table-j7MlLLCc.js} +22 -16
  67. package/dist/chunks/{text-limit-BGaY0jhI.js → text-limit-LGMPhFuC.js} +40 -34
  68. package/dist/chunks/{theme-classes-Tv7q7ToE.js → theme-classes-DAQuEqdP.js} +1 -1
  69. package/dist/chunks/{turnstile-DJakPzQD.js → turnstile-ptihQfLl.js} +4 -4
  70. package/dist/chunks/{upload-manager-W-QDgxKD.js → upload-manager-BW7l-BhF.js} +459 -387
  71. package/dist/chunks/{utils-Vqp8i_RM.js → utils-DpUBPadZ.js} +20 -14
  72. package/dist/css/formie-base.css +104 -1
  73. package/dist/css/theme/_messages.css +2 -0
  74. package/dist/css/theme/_tokens.css +31 -25
  75. package/dist/css/theme/forms/_form.css +5 -1
  76. package/dist/index.d.ts +5 -4
  77. package/dist/index.d.ts.map +1 -1
  78. package/dist/index.js +1779 -1415
  79. package/dist/js/contracts/client.d.ts +5 -3
  80. package/dist/js/contracts/client.d.ts.map +1 -1
  81. package/dist/js/contracts/common.d.ts +2 -2
  82. package/dist/js/contracts/common.d.ts.map +1 -1
  83. package/dist/js/contracts/modules.d.ts +37 -12
  84. package/dist/js/contracts/modules.d.ts.map +1 -1
  85. package/dist/js/contracts/schema.d.ts +20 -38
  86. package/dist/js/contracts/schema.d.ts.map +1 -1
  87. package/dist/js/contracts/theme.d.ts +4 -1
  88. package/dist/js/contracts/theme.d.ts.map +1 -1
  89. package/dist/js/core/client-rendered-modules.d.ts +17 -0
  90. package/dist/js/core/client-rendered-modules.d.ts.map +1 -0
  91. package/dist/js/core/create-formie-client.d.ts.map +1 -1
  92. package/dist/js/core/field-error-aria.d.ts +23 -0
  93. package/dist/js/core/field-error-aria.d.ts.map +1 -0
  94. package/dist/js/core/hydrate-modules.d.ts +10 -8
  95. package/dist/js/core/hydrate-modules.d.ts.map +1 -1
  96. package/dist/js/core/submit-result-state.d.ts.map +1 -1
  97. package/dist/js/core/submit-result-ui.d.ts +3 -1
  98. package/dist/js/core/submit-result-ui.d.ts.map +1 -1
  99. package/dist/js/core/validation-focus.d.ts.map +1 -1
  100. package/dist/js/modules/address/address-finder.d.ts +1 -1
  101. package/dist/js/modules/address/address-finder.d.ts.map +1 -1
  102. package/dist/js/modules/address/factories.d.ts +3 -3
  103. package/dist/js/modules/address/factories.d.ts.map +1 -1
  104. package/dist/js/modules/address/google-address.d.ts +12 -1
  105. package/dist/js/modules/address/google-address.d.ts.map +1 -1
  106. package/dist/js/modules/address/index.d.ts +2 -2
  107. package/dist/js/modules/address/index.d.ts.map +1 -1
  108. package/dist/js/modules/address/loqate.d.ts +1 -1
  109. package/dist/js/modules/address/loqate.d.ts.map +1 -1
  110. package/dist/js/modules/address/place-kit.d.ts +1 -1
  111. package/dist/js/modules/address/place-kit.d.ts.map +1 -1
  112. package/dist/js/modules/captchas/captcha-eu.d.ts +1 -1
  113. package/dist/js/modules/captchas/captcha-eu.d.ts.map +1 -1
  114. package/dist/js/modules/captchas/factories.d.ts +11 -11
  115. package/dist/js/modules/captchas/factories.d.ts.map +1 -1
  116. package/dist/js/modules/captchas/friendly-captcha-v1.d.ts +1 -1
  117. package/dist/js/modules/captchas/friendly-captcha-v1.d.ts.map +1 -1
  118. package/dist/js/modules/captchas/friendly-captcha-v2.d.ts +1 -1
  119. package/dist/js/modules/captchas/friendly-captcha-v2.d.ts.map +1 -1
  120. package/dist/js/modules/captchas/hcaptcha.d.ts +1 -1
  121. package/dist/js/modules/captchas/hcaptcha.d.ts.map +1 -1
  122. package/dist/js/modules/captchas/index.d.ts +2 -2
  123. package/dist/js/modules/captchas/index.d.ts.map +1 -1
  124. package/dist/js/modules/captchas/recaptcha-enterprise.d.ts +1 -1
  125. package/dist/js/modules/captchas/recaptcha-enterprise.d.ts.map +1 -1
  126. package/dist/js/modules/captchas/recaptcha-v2-checkbox.d.ts +1 -1
  127. package/dist/js/modules/captchas/recaptcha-v2-checkbox.d.ts.map +1 -1
  128. package/dist/js/modules/captchas/recaptcha-v2-invisible.d.ts +1 -1
  129. package/dist/js/modules/captchas/recaptcha-v2-invisible.d.ts.map +1 -1
  130. package/dist/js/modules/captchas/recaptcha-v3.d.ts +1 -1
  131. package/dist/js/modules/captchas/recaptcha-v3.d.ts.map +1 -1
  132. package/dist/js/modules/captchas/snaptcha.d.ts +1 -1
  133. package/dist/js/modules/captchas/snaptcha.d.ts.map +1 -1
  134. package/dist/js/modules/captchas/turnstile.d.ts +1 -1
  135. package/dist/js/modules/captchas/turnstile.d.ts.map +1 -1
  136. package/dist/js/modules/fields/address-country.d.ts +2 -2
  137. package/dist/js/modules/fields/address-country.d.ts.map +1 -1
  138. package/dist/js/modules/fields/address-state.d.ts +2 -2
  139. package/dist/js/modules/fields/address-state.d.ts.map +1 -1
  140. package/dist/js/modules/fields/calculations.d.ts +2 -2
  141. package/dist/js/modules/fields/calculations.d.ts.map +1 -1
  142. package/dist/js/modules/fields/checkbox-radio.d.ts +2 -2
  143. package/dist/js/modules/fields/checkbox-radio.d.ts.map +1 -1
  144. package/dist/js/modules/fields/combobox.d.ts +2 -2
  145. package/dist/js/modules/fields/combobox.d.ts.map +1 -1
  146. package/dist/js/modules/fields/conditions/config.d.ts.map +1 -1
  147. package/dist/js/modules/fields/conditions/effects.d.ts +1 -0
  148. package/dist/js/modules/fields/conditions/effects.d.ts.map +1 -1
  149. package/dist/js/modules/fields/conditions/evaluator.d.ts +4 -1
  150. package/dist/js/modules/fields/conditions/evaluator.d.ts.map +1 -1
  151. package/dist/js/modules/fields/conditions/references.d.ts.map +1 -1
  152. package/dist/js/modules/fields/conditions/submission-context.d.ts +15 -0
  153. package/dist/js/modules/fields/conditions/submission-context.d.ts.map +1 -0
  154. package/dist/js/modules/fields/conditions/types.d.ts +3 -1
  155. package/dist/js/modules/fields/conditions/types.d.ts.map +1 -1
  156. package/dist/js/modules/fields/conditions/values.d.ts +1 -1
  157. package/dist/js/modules/fields/conditions/values.d.ts.map +1 -1
  158. package/dist/js/modules/fields/conditions.d.ts +2 -2
  159. package/dist/js/modules/fields/conditions.d.ts.map +1 -1
  160. package/dist/js/modules/fields/custom-google-maps.d.ts +2 -2
  161. package/dist/js/modules/fields/custom-google-maps.d.ts.map +1 -1
  162. package/dist/js/modules/fields/custom-link.d.ts +2 -2
  163. package/dist/js/modules/fields/custom-link.d.ts.map +1 -1
  164. package/dist/js/modules/fields/custom-maps.d.ts +2 -2
  165. package/dist/js/modules/fields/custom-maps.d.ts.map +1 -1
  166. package/dist/js/modules/fields/date-picker.d.ts +2 -2
  167. package/dist/js/modules/fields/date-picker.d.ts.map +1 -1
  168. package/dist/js/modules/fields/file-upload.d.ts +2 -2
  169. package/dist/js/modules/fields/file-upload.d.ts.map +1 -1
  170. package/dist/js/modules/fields/hidden.d.ts +2 -2
  171. package/dist/js/modules/fields/hidden.d.ts.map +1 -1
  172. package/dist/js/modules/fields/index.d.ts +2 -2
  173. package/dist/js/modules/fields/index.d.ts.map +1 -1
  174. package/dist/js/modules/fields/password-validation.d.ts +2 -2
  175. package/dist/js/modules/fields/password-validation.d.ts.map +1 -1
  176. package/dist/js/modules/fields/phone-country.d.ts +2 -2
  177. package/dist/js/modules/fields/phone-country.d.ts.map +1 -1
  178. package/dist/js/modules/fields/repeater.d.ts +2 -2
  179. package/dist/js/modules/fields/repeater.d.ts.map +1 -1
  180. package/dist/js/modules/fields/rich-text.d.ts +2 -2
  181. package/dist/js/modules/fields/rich-text.d.ts.map +1 -1
  182. package/dist/js/modules/fields/shared.d.ts +1 -0
  183. package/dist/js/modules/fields/shared.d.ts.map +1 -1
  184. package/dist/js/modules/fields/signature.d.ts +2 -2
  185. package/dist/js/modules/fields/signature.d.ts.map +1 -1
  186. package/dist/js/modules/fields/summary.d.ts +2 -2
  187. package/dist/js/modules/fields/summary.d.ts.map +1 -1
  188. package/dist/js/modules/fields/survey-likert.d.ts +2 -2
  189. package/dist/js/modules/fields/survey-likert.d.ts.map +1 -1
  190. package/dist/js/modules/fields/survey-rank.d.ts +2 -2
  191. package/dist/js/modules/fields/survey-rank.d.ts.map +1 -1
  192. package/dist/js/modules/fields/survey-rating.d.ts +2 -2
  193. package/dist/js/modules/fields/survey-rating.d.ts.map +1 -1
  194. package/dist/js/modules/fields/table.d.ts +2 -2
  195. package/dist/js/modules/fields/table.d.ts.map +1 -1
  196. package/dist/js/modules/fields/text-limit.d.ts +2 -2
  197. package/dist/js/modules/fields/text-limit.d.ts.map +1 -1
  198. package/dist/js/modules/fields/upload-manager.d.ts +2 -2
  199. package/dist/js/modules/fields/upload-manager.d.ts.map +1 -1
  200. package/dist/js/modules/loader.d.ts +10 -4
  201. package/dist/js/modules/loader.d.ts.map +1 -1
  202. package/dist/js/modules/payments/bpoint.d.ts +1 -1
  203. package/dist/js/modules/payments/bpoint.d.ts.map +1 -1
  204. package/dist/js/modules/payments/eway.d.ts +1 -1
  205. package/dist/js/modules/payments/eway.d.ts.map +1 -1
  206. package/dist/js/modules/payments/factories.d.ts +7 -7
  207. package/dist/js/modules/payments/factories.d.ts.map +1 -1
  208. package/dist/js/modules/payments/go-cardless.d.ts +1 -1
  209. package/dist/js/modules/payments/go-cardless.d.ts.map +1 -1
  210. package/dist/js/modules/payments/index.d.ts +2 -2
  211. package/dist/js/modules/payments/index.d.ts.map +1 -1
  212. package/dist/js/modules/payments/mollie.d.ts +1 -1
  213. package/dist/js/modules/payments/mollie.d.ts.map +1 -1
  214. package/dist/js/modules/payments/moneris.d.ts +1 -1
  215. package/dist/js/modules/payments/moneris.d.ts.map +1 -1
  216. package/dist/js/modules/payments/opayo.d.ts +1 -1
  217. package/dist/js/modules/payments/opayo.d.ts.map +1 -1
  218. package/dist/js/modules/payments/paddle.d.ts +1 -1
  219. package/dist/js/modules/payments/paddle.d.ts.map +1 -1
  220. package/dist/js/modules/payments/paypal.d.ts +1 -1
  221. package/dist/js/modules/payments/paypal.d.ts.map +1 -1
  222. package/dist/js/modules/payments/payway.d.ts +1 -1
  223. package/dist/js/modules/payments/payway.d.ts.map +1 -1
  224. package/dist/js/modules/payments/square.d.ts +1 -1
  225. package/dist/js/modules/payments/square.d.ts.map +1 -1
  226. package/dist/js/modules/payments/stripe.d.ts +1 -1
  227. package/dist/js/modules/payments/stripe.d.ts.map +1 -1
  228. package/dist/js/modules/payments/utils.d.ts +6 -0
  229. package/dist/js/modules/payments/utils.d.ts.map +1 -1
  230. package/dist/js/modules/registry.d.ts +6 -4
  231. package/dist/js/modules/registry.d.ts.map +1 -1
  232. package/dist/js/submit/pipeline.d.ts.map +1 -1
  233. package/dist/js/theme/browser-theme-state.generated.d.ts +24 -0
  234. package/dist/js/theme/browser-theme-state.generated.d.ts.map +1 -0
  235. package/dist/js/theme/theme-classes.d.ts +3 -3
  236. package/dist/js/theme/theme-classes.d.ts.map +1 -1
  237. package/dist/js/transport/forms-api.d.ts +5 -3
  238. package/dist/js/transport/forms-api.d.ts.map +1 -1
  239. package/dist/js/utils/async.d.ts +1 -0
  240. package/dist/js/utils/async.d.ts.map +1 -1
  241. package/dist/js/utils/country-from-ip.d.ts +2 -2
  242. package/dist/js/utils/country-from-ip.d.ts.map +1 -1
  243. package/dist/js/utils/csrf.d.ts +17 -0
  244. package/dist/js/utils/csrf.d.ts.map +1 -0
  245. package/dist/js/utils/field-references.parser.d.ts +1 -0
  246. package/dist/js/utils/field-references.parser.d.ts.map +1 -1
  247. package/dist/js/utils/field-references.resolver.d.ts.map +1 -1
  248. package/dist/js/utils/field-references.types.d.ts +1 -0
  249. package/dist/js/utils/field-references.types.d.ts.map +1 -1
  250. package/dist/js/utils/http.d.ts +3 -1
  251. package/dist/js/utils/http.d.ts.map +1 -1
  252. package/dist/js/utils/request-profile.d.ts +4 -0
  253. package/dist/js/utils/request-profile.d.ts.map +1 -0
  254. package/dist/js/utils/unload-warning.d.ts.map +1 -1
  255. package/dist/js/validation/rules/email.d.ts.map +1 -1
  256. package/dist/js/validation/rules/match.d.ts.map +1 -1
  257. package/dist/js/validation/rules/number.d.ts.map +1 -1
  258. package/dist/js/validation/rules/required.d.ts.map +1 -1
  259. package/dist/js/validation/rules/shared.d.ts.map +1 -1
  260. package/dist/js/validation/rules/url.d.ts.map +1 -1
  261. package/dist/js/validation/skip.d.ts +7 -0
  262. package/dist/js/validation/skip.d.ts.map +1 -0
  263. package/dist/js/validation/submit-readiness.d.ts.map +1 -1
  264. package/dist/js/validation/validator.d.ts.map +1 -1
  265. package/package.json +43 -12
  266. package/src/css/formie-base.css +104 -1
  267. package/src/css/theme/_messages.css +2 -0
  268. package/src/css/theme/_tokens.css +31 -25
  269. package/src/css/theme/forms/_form.css +5 -1
  270. package/src/index.ts +13 -8
  271. package/src/js/contracts/client.ts +5 -3
  272. package/src/js/contracts/common.ts +5 -6
  273. package/src/js/contracts/modules.ts +41 -12
  274. package/src/js/contracts/schema.ts +21 -43
  275. package/src/js/contracts/theme.ts +6 -1
  276. package/src/js/core/client-rendered-modules.ts +69 -0
  277. package/src/js/core/create-formie-client.ts +132 -86
  278. package/src/js/core/field-error-aria.ts +93 -0
  279. package/src/js/core/hydrate-modules.ts +54 -29
  280. package/src/js/core/submit-result-state.ts +51 -45
  281. package/src/js/core/submit-result-ui.ts +25 -68
  282. package/src/js/core/validation-focus.ts +20 -20
  283. package/src/js/modules/address/address-finder.ts +1 -1
  284. package/src/js/modules/address/factories.ts +15 -13
  285. package/src/js/modules/address/google-address.ts +102 -40
  286. package/src/js/modules/address/index.ts +2 -2
  287. package/src/js/modules/address/loqate.ts +1 -1
  288. package/src/js/modules/address/place-kit.ts +14 -8
  289. package/src/js/modules/captchas/captcha-eu.ts +2 -2
  290. package/src/js/modules/captchas/factories.ts +66 -42
  291. package/src/js/modules/captchas/friendly-captcha-v1.ts +12 -2
  292. package/src/js/modules/captchas/friendly-captcha-v2.ts +4 -2
  293. package/src/js/modules/captchas/hcaptcha.ts +5 -5
  294. package/src/js/modules/captchas/index.ts +2 -2
  295. package/src/js/modules/captchas/recaptcha-enterprise.ts +2 -2
  296. package/src/js/modules/captchas/recaptcha-v2-checkbox.ts +3 -3
  297. package/src/js/modules/captchas/recaptcha-v2-invisible.ts +2 -2
  298. package/src/js/modules/captchas/recaptcha-v3.ts +2 -2
  299. package/src/js/modules/captchas/snaptcha.ts +1 -1
  300. package/src/js/modules/captchas/turnstile.ts +3 -3
  301. package/src/js/modules/fields/address-country.ts +11 -9
  302. package/src/js/modules/fields/address-state.ts +94 -35
  303. package/src/js/modules/fields/calculations.ts +5 -3
  304. package/src/js/modules/fields/checkbox-radio.ts +24 -42
  305. package/src/js/modules/fields/combobox.ts +28 -9
  306. package/src/js/modules/fields/conditions/config.ts +17 -20
  307. package/src/js/modules/fields/conditions/effects.ts +25 -29
  308. package/src/js/modules/fields/conditions/evaluator.ts +21 -29
  309. package/src/js/modules/fields/conditions/references.ts +16 -5
  310. package/src/js/modules/fields/conditions/submission-context.ts +80 -0
  311. package/src/js/modules/fields/conditions/types.ts +3 -1
  312. package/src/js/modules/fields/conditions/values.ts +31 -6
  313. package/src/js/modules/fields/conditions.ts +65 -18
  314. package/src/js/modules/fields/custom-google-maps.ts +5 -3
  315. package/src/js/modules/fields/custom-link.ts +5 -3
  316. package/src/js/modules/fields/custom-maps.ts +5 -3
  317. package/src/js/modules/fields/date-picker.ts +40 -7
  318. package/src/js/modules/fields/file-upload.ts +62 -23
  319. package/src/js/modules/fields/hidden.ts +5 -3
  320. package/src/js/modules/fields/index.ts +2 -2
  321. package/src/js/modules/fields/password-validation.ts +5 -3
  322. package/src/js/modules/fields/phone-country.ts +35 -8
  323. package/src/js/modules/fields/repeater.ts +60 -7
  324. package/src/js/modules/fields/rich-text.ts +20 -4
  325. package/src/js/modules/fields/shared.ts +13 -0
  326. package/src/js/modules/fields/signature.ts +24 -4
  327. package/src/js/modules/fields/summary.ts +8 -20
  328. package/src/js/modules/fields/survey-likert.ts +5 -3
  329. package/src/js/modules/fields/survey-rank.ts +21 -3
  330. package/src/js/modules/fields/survey-rating.ts +17 -3
  331. package/src/js/modules/fields/table.ts +5 -3
  332. package/src/js/modules/fields/text-limit.ts +5 -3
  333. package/src/js/modules/fields/upload-manager.ts +244 -67
  334. package/src/js/modules/loader.ts +345 -281
  335. package/src/js/modules/payments/bpoint.ts +2 -2
  336. package/src/js/modules/payments/eway.ts +2 -2
  337. package/src/js/modules/payments/factories.ts +53 -52
  338. package/src/js/modules/payments/go-cardless.ts +1 -1
  339. package/src/js/modules/payments/index.ts +2 -2
  340. package/src/js/modules/payments/mollie.ts +1 -1
  341. package/src/js/modules/payments/moneris.ts +2 -2
  342. package/src/js/modules/payments/opayo.ts +21 -8
  343. package/src/js/modules/payments/paddle.ts +10 -6
  344. package/src/js/modules/payments/payment.ts +22 -18
  345. package/src/js/modules/payments/paypal.ts +1 -1
  346. package/src/js/modules/payments/payway.ts +2 -2
  347. package/src/js/modules/payments/square.ts +2 -2
  348. package/src/js/modules/payments/stripe.ts +5 -5
  349. package/src/js/modules/payments/utils.ts +14 -0
  350. package/src/js/modules/registry.ts +19 -11
  351. package/src/js/submit/pipeline.ts +10 -11
  352. package/src/js/theme/browser-theme-state.generated.ts +25 -0
  353. package/src/js/theme/theme-classes.ts +3 -3
  354. package/src/js/transport/forms-api.ts +66 -67
  355. package/src/js/utils/async.ts +34 -0
  356. package/src/js/utils/country-from-ip.ts +14 -9
  357. package/src/js/utils/csrf.ts +136 -0
  358. package/src/js/utils/field-references.parser.ts +13 -113
  359. package/src/js/utils/field-references.resolver.ts +27 -64
  360. package/src/js/utils/field-references.row-scope.ts +1 -1
  361. package/src/js/utils/field-references.types.ts +1 -0
  362. package/src/js/utils/http.ts +5 -5
  363. package/src/js/utils/request-profile.ts +10 -0
  364. package/src/js/utils/unload-warning.ts +12 -4
  365. package/src/js/validation/rules/email.ts +3 -5
  366. package/src/js/validation/rules/match.ts +2 -1
  367. package/src/js/validation/rules/minmax.ts +4 -43
  368. package/src/js/validation/rules/number.ts +3 -47
  369. package/src/js/validation/rules/pattern.ts +3 -8
  370. package/src/js/validation/rules/required.ts +14 -1
  371. package/src/js/validation/rules/shared.ts +5 -1
  372. package/src/js/validation/rules/url.ts +3 -10
  373. package/src/js/validation/skip.ts +9 -0
  374. package/src/js/validation/submit-readiness.ts +9 -2
  375. package/src/js/validation/validator.ts +49 -61
  376. package/dist/chunks/address-state-BwE01m2_.js +0 -344
  377. package/dist/chunks/calculations-Dv3hYb8_.js +0 -299
  378. package/dist/chunks/conditions-CPH1snCx.js +0 -424
  379. package/dist/chunks/country-from-ip-BwxKaBuJ.js +0 -26
  380. package/dist/chunks/field-references.resolver-CHwn0G0L.js +0 -145
  381. package/dist/chunks/friendly-captcha-v1-C_2reOXr.js +0 -31
  382. package/dist/chunks/google-address-BH3Zhi06.js +0 -161
  383. package/dist/chunks/http-D-JExro7.js +0 -27
  384. package/dist/chunks/opayo-CR0DtsLa.js +0 -179
  385. package/dist/chunks/rich-text-Bg_--4TG.js +0 -349
  386. package/dist/js/modules/fields/conditions/transforms.d.ts +0 -3
  387. package/dist/js/modules/fields/conditions/transforms.d.ts.map +0 -1
  388. package/src/js/modules/fields/conditions/transforms.ts +0 -206
  389. package/src/js/modules/payments/stub-payment-module.ts +0 -87
@@ -1,7 +1,7 @@
1
1
  //#region ../../node_modules/friendly-challenge/index.js
2
- var e = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/", t = 61, n = new Uint8Array(256);
3
- for (let t = 0; t < 64; t++) n[e.charCodeAt(t)] = t;
4
- function r(t) {
2
+ var e = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/", t = /* @__PURE__ */ new Uint8Array(256);
3
+ for (let n = 0; n < 64; n++) t[e.charCodeAt(n)] = n;
4
+ function n(t) {
5
5
  let n = t.length, r = "";
6
6
  for (let i = 0; i < n; i += 3) {
7
7
  let n = t[i + 0], a = t[i + 1], o = t[i + 2], s = "";
@@ -9,18 +9,18 @@ function r(t) {
9
9
  }
10
10
  return n % 3 == 2 ? r = r.substring(0, r.length - 1) + "=" : n % 3 == 1 && (r = r.substring(0, r.length - 2) + "=="), r;
11
11
  }
12
- function i(e) {
13
- let r = e.length, i = r * 3 >>> 2;
14
- e.charCodeAt(r - 1) === t && i--, e.charCodeAt(r - 2) === t && i--;
15
- let a = new Uint8Array(i);
16
- for (let t = 0, i = 0; t < r; t += 4) {
17
- let r = n[e.charCodeAt(t + 0)], o = n[e.charCodeAt(t + 1)], s = n[e.charCodeAt(t + 2)], c = n[e.charCodeAt(t + 3)];
18
- a[i++] = r << 2 | o >> 4, a[i++] = (o & 15) << 4 | s >> 2, a[i++] = (s & 3) << 6 | c & 63;
12
+ function r(e) {
13
+ let n = e.length, r = n * 3 >>> 2;
14
+ e.charCodeAt(n - 1) === 61 && r--, e.charCodeAt(n - 2) === 61 && r--;
15
+ let i = new Uint8Array(r);
16
+ for (let r = 0, a = 0; r < n; r += 4) {
17
+ let n = t[e.charCodeAt(r + 0)], o = t[e.charCodeAt(r + 1)], s = t[e.charCodeAt(r + 2)], c = t[e.charCodeAt(r + 3)];
18
+ i[a++] = n << 2 | o >> 4, i[a++] = (o & 15) << 4 | s >> 2, i[a++] = (s & 3) << 6 | c & 63;
19
19
  }
20
- return a;
20
+ return i;
21
21
  }
22
- var a = ".frc-captcha *{margin:0;padding:0;border:0;text-align:initial;border-radius:0;filter:none!important;transition:none!important;font-weight:400;font-size:14px;line-height:1.2;text-decoration:none;background-color:initial;color:#222}.frc-captcha{position:relative;min-width:250px;max-width:312px;border:1px solid #f4f4f4;padding-bottom:12px;background-color:#fff}.frc-captcha b{font-weight:700}.frc-container{display:flex;align-items:center;min-height:52px}.frc-icon{fill:#222;stroke:#222;flex-shrink:0;margin:8px 8px 0}.frc-icon.frc-warning{fill:#c00}.frc-success .frc-icon{animation:1s ease-in both frc-fade-in}.frc-content{white-space:nowrap;display:flex;flex-direction:column;margin:4px 6px 0 0;overflow-x:auto;flex-grow:1}.frc-banner{position:absolute;bottom:0;right:6px;line-height:1}.frc-banner *{font-size:10px;opacity:.8;text-decoration:none}.frc-progress{-webkit-appearance:none;-moz-appearance:none;appearance:none;margin:3px 0;height:4px;border:none;background-color:#eee;color:#222;width:100%;transition:.5s linear}.frc-progress::-webkit-progress-bar{background:#eee}.frc-progress::-webkit-progress-value{background:#222}.frc-progress::-moz-progress-bar{background:#222}.frc-button{cursor:pointer;padding:2px 6px;background-color:#f1f1f1;border:1px solid transparent;text-align:center;font-weight:600;text-transform:none}.frc-button:focus{border:1px solid #333}.frc-button:hover{background-color:#ddd}.frc-captcha-solution{display:none}.frc-err-url{text-decoration:underline;font-size:.9em}.frc-rtl{direction:rtl}.frc-rtl .frc-content{margin:4px 0 0 6px}.frc-banner.frc-rtl{left:6px;right:auto}.dark.frc-captcha{color:#fff;background-color:#222;border-color:#333}.dark.frc-captcha *{color:#fff}.dark.frc-captcha button{background-color:#444}.dark .frc-icon{fill:#fff;stroke:#fff}.dark .frc-progress{background-color:#444}.dark .frc-progress::-webkit-progress-bar{background:#444}.dark .frc-progress::-webkit-progress-value{background:#ddd}.dark .frc-progress::-moz-progress-bar{background:#ddd}@keyframes frc-fade-in{from{opacity:0}to{opacity:1}}", o = 1, s = 128, c = "<circle cx=\"12\" cy=\"12\" r=\"8\" stroke-width=\"3\" stroke-dasharray=\"15 10\" fill=\"none\" stroke-linecap=\"round\" transform=\"rotate(0 12 12)\"><animateTransform attributeName=\"transform\" type=\"rotate\" repeatCount=\"indefinite\" dur=\"0.9s\" values=\"0 12 12;360 12 12\"/></circle>", l = "<path d=\"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm1 15h-2v-2h2v2zm0-4h-2V7h2v6z\"/>";
23
- function u(e, t, n, r, i, a, o, s = !1, c, l) {
22
+ var i = ".frc-captcha *{margin:0;padding:0;border:0;text-align:initial;border-radius:0;filter:none!important;transition:none!important;font-weight:400;font-size:14px;line-height:1.2;text-decoration:none;background-color:initial;color:#222}.frc-captcha{position:relative;min-width:250px;max-width:312px;border:1px solid #f4f4f4;padding-bottom:12px;background-color:#fff}.frc-captcha b{font-weight:700}.frc-container{display:flex;align-items:center;min-height:52px}.frc-icon{fill:#222;stroke:#222;flex-shrink:0;margin:8px 8px 0}.frc-icon.frc-warning{fill:#c00}.frc-success .frc-icon{animation:1s ease-in both frc-fade-in}.frc-content{white-space:nowrap;display:flex;flex-direction:column;margin:4px 6px 0 0;overflow-x:auto;flex-grow:1}.frc-banner{position:absolute;bottom:0;right:6px;line-height:1}.frc-banner *{font-size:10px;opacity:.8;text-decoration:none}.frc-progress{-webkit-appearance:none;-moz-appearance:none;appearance:none;margin:3px 0;height:4px;border:none;background-color:#eee;color:#222;width:100%;transition:.5s linear}.frc-progress::-webkit-progress-bar{background:#eee}.frc-progress::-webkit-progress-value{background:#222}.frc-progress::-moz-progress-bar{background:#222}.frc-button{cursor:pointer;padding:2px 6px;background-color:#f1f1f1;border:1px solid transparent;text-align:center;font-weight:600;text-transform:none}.frc-button:focus{border:1px solid #333}.frc-button:hover{background-color:#ddd}.frc-captcha-solution{display:none}.frc-err-url{text-decoration:underline;font-size:.9em}.frc-rtl{direction:rtl}.frc-rtl .frc-content{margin:4px 0 0 6px}.frc-banner.frc-rtl{left:6px;right:auto}.dark.frc-captcha{color:#fff;background-color:#222;border-color:#333}.dark.frc-captcha *{color:#fff}.dark.frc-captcha button{background-color:#444}.dark .frc-icon{fill:#fff;stroke:#fff}.dark .frc-progress{background-color:#444}.dark .frc-progress::-webkit-progress-bar{background:#444}.dark .frc-progress::-webkit-progress-value{background:#ddd}.dark .frc-progress::-moz-progress-bar{background:#ddd}@keyframes frc-fade-in{from{opacity:0}to{opacity:1}}", a = 1, o = 128, s = "<circle cx=\"12\" cy=\"12\" r=\"8\" stroke-width=\"3\" stroke-dasharray=\"15 10\" fill=\"none\" stroke-linecap=\"round\" transform=\"rotate(0 12 12)\"><animateTransform attributeName=\"transform\" type=\"rotate\" repeatCount=\"indefinite\" dur=\"0.9s\" values=\"0 12 12;360 12 12\"/></circle>", c = "<path d=\"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm1 15h-2v-2h2v2zm0-4h-2V7h2v6z\"/>";
23
+ function l(e, t, n, r, i, a, o, s = !1, c, l) {
24
24
  return `<div class="frc-container${l ? " " + l : ""}${t ? " frc-rtl" : ""}">
25
25
  <svg class="frc-icon"${r ? " aria-hidden=\"true\"" : ""} role="img" xmlns="http://www.w3.org/2000/svg" height="32" width="32" viewBox="0 0 24 24">${n}</svg>
26
26
  <div class="frc-content">
@@ -31,78 +31,83 @@ function u(e, t, n, r, i, a, o, s = !1, c, l) {
31
31
  </div><span class="frc-banner${t ? " frc-rtl" : ""}"><a lang="en" href="https://friendlycaptcha.com/" rel="noopener" target="_blank"><b>Friendly</b>Captcha ⇗</a></span>
32
32
  ${e === "-" ? "" : `<input name="${e}" class="frc-captcha-solution" type="hidden" value="${a}">`}`;
33
33
  }
34
- function d(e, t) {
35
- return u(e, t.rtl, "<path d=\"M17,11c0.34,0,0.67,0.04,1,0.09V6.27L10.5,3L3,6.27v4.91c0,4.54,3.2,8.79,7.5,9.82c0.55-0.13,1.08-0.32,1.6-0.55 C11.41,19.47,11,18.28,11,17C11,13.69,13.69,11,17,11z\"/><path d=\"M17,13c-2.21,0-4,1.79-4,4c0,2.21,1.79,4,4,4s4-1.79,4-4C21,14.79,19.21,13,17,13z M17,14.38\"/>", !0, t.text_ready, ".UNSTARTED", t.button_start, !1);
34
+ function ee(e, t) {
35
+ return l(e, t.rtl, "<path d=\"M17,11c0.34,0,0.67,0.04,1,0.09V6.27L10.5,3L3,6.27v4.91c0,4.54,3.2,8.79,7.5,9.82c0.55-0.13,1.08-0.32,1.6-0.55 C11.41,19.47,11,18.28,11,17C11,13.69,13.69,11,17,11z\"/><path d=\"M17,13c-2.21,0-4,1.79-4,4c0,2.21,1.79,4,4,4s4-1.79,4-4C21,14.79,19.21,13,17,13z M17,14.38\"/>", !0, t.text_ready, ".UNSTARTED", t.button_start, !1);
36
36
  }
37
- function f(e, t) {
38
- return u(e, t.rtl, c, !0, t.text_fetching, ".FETCHING", void 0, !0);
37
+ function u(e, t) {
38
+ return l(e, t.rtl, s, !0, t.text_fetching, ".FETCHING", void 0, !0);
39
39
  }
40
- function p(e, t) {
41
- return u(e, t.rtl, c, !0, t.text_solving, ".UNFINISHED", void 0, !0);
40
+ function d(e, t) {
41
+ return l(e, t.rtl, s, !0, t.text_solving, ".UNFINISHED", void 0, !0);
42
42
  }
43
- function m(e, t, n, r) {
44
- let i = `${r.t.toFixed(0)}s (${(r.h / r.t * .001).toFixed(0)}K/s)${r.solver === o ? " JS Fallback" : ""}`;
45
- return u(e, t.rtl, `<title>${t.text_completed_sr}</title><path d="M12 1L3 5v6c0 5.55 3.84 10.74 9 12 5.16-1.26 9-6.45 9-12V5l-9-4zm-2 16l-4-4 1.41-1.41L10 14.17l6.59-6.59L18 9l-8 8z"></path>`, !1, t.text_completed, n, void 0, !1, i, "frc-success");
43
+ function f(e, t, n, r) {
44
+ let i = `${r.t.toFixed(0)}s (${(r.h / r.t * .001).toFixed(0)}K/s)${r.solver === a ? " JS Fallback" : ""}`;
45
+ return l(e, t.rtl, `<title>${t.text_completed_sr}</title><path d="M12 1L3 5v6c0 5.55 3.84 10.74 9 12 5.16-1.26 9-6.45 9-12V5l-9-4zm-2 16l-4-4 1.41-1.41L10 14.17l6.59-6.59L18 9l-8 8z"></path>`, !1, t.text_completed, n, void 0, !1, i, "frc-success");
46
46
  }
47
- function h(e, t) {
48
- return u(e, t.rtl, l, !0, t.text_expired, ".EXPIRED", t.button_restart);
47
+ function p(e, t) {
48
+ return l(e, t.rtl, c, !0, t.text_expired, ".EXPIRED", t.button_restart);
49
49
  }
50
- function g(e, t, n, r = !0, i = !1) {
51
- return u(e, t.rtl, l, !0, `<b>${t.text_error}</b><br>${n}`, i ? ".HEADLESS_ERROR" : ".ERROR", r ? t.button_retry : void 0);
50
+ function m(e, t, n, r = !0, i = !1) {
51
+ return l(e, t.rtl, c, !0, `<b>${t.text_error}</b><br>${n}`, i ? ".HEADLESS_ERROR" : ".ERROR", r ? t.button_retry : void 0);
52
52
  }
53
- function _(e = null) {
53
+ function h(e = null) {
54
54
  if (!document.querySelector("#frc-style")) {
55
55
  let t = document.createElement("style");
56
- t.id = "frc-style", t.innerHTML = a, e && t.setAttribute("nonce", e), document.head.appendChild(t);
56
+ t.id = "frc-style", t.innerHTML = i, e && t.setAttribute("nonce", e), document.head.appendChild(t);
57
57
  }
58
58
  }
59
- function v(e, t) {
59
+ function g(e, t) {
60
60
  let n = e.querySelector(".frc-progress"), r = (t.i + 1) / t.n;
61
61
  n && (n.value = r, n.innerText = (r * 100).toFixed(1) + "%", n.title = t.i + 1 + "/" + t.n + " (" + (t.h / t.t * .001).toFixed(0) + "K/s)");
62
62
  }
63
- function y(e) {
63
+ function _(e) {
64
64
  for (; e.tagName !== "FORM";) if (e = e.parentElement, !e) return null;
65
65
  return e;
66
66
  }
67
- function b(e, t) {
67
+ function v(e, t) {
68
68
  e.addEventListener("focusin", t, {
69
69
  once: !0,
70
70
  passive: !0
71
71
  });
72
72
  }
73
- var x, S;
74
- typeof navigator < "u" && typeof navigator.userAgent == "string" && (x = navigator, S = x.userAgent.toLowerCase());
75
- function C() {
76
- return S.indexOf("headless") !== -1 || x.appVersion.indexOf("Headless") !== -1 || S.indexOf("bot") !== -1 || S.indexOf("crawl") !== -1 || x.webdriver === !0 || !x.language || x.languages !== void 0 && !x.languages.length;
73
+ var y, b;
74
+ typeof navigator < "u" && typeof navigator.userAgent == "string" && (y = navigator, b = y.userAgent.toLowerCase());
75
+ function x() {
76
+ return b.indexOf("headless") !== -1 || y.appVersion.indexOf("Headless") !== -1 || b.indexOf("bot") !== -1 || b.indexOf("crawl") !== -1 || y.webdriver === !0 || !y.language || y.languages !== void 0 && !y.languages.length;
77
77
  }
78
- function w(e) {
78
+ function S(e) {
79
79
  return e > 255 ? e = 255 : e < 0 && (e = 0), 2 ** ((255.999 - e) / 8) >>> 0;
80
80
  }
81
- var T = 13, E = 14, D = 15;
82
- function O(e, t) {
81
+ var C = 13, w = 14, T = 15;
82
+ function E(e, t) {
83
83
  let n = [];
84
84
  for (let r = 0; r < t; r++) {
85
- let t = new Uint8Array(s);
85
+ let t = new Uint8Array(o);
86
86
  t.set(e), t[120] = r, n.push(t);
87
87
  }
88
88
  return n;
89
89
  }
90
- function k(e) {
91
- let t = e.split("."), n = t[1], r = i(n);
90
+ var D = class extends Error {
91
+ constructor(e) {
92
+ super(e), this.name = "UserFacingError", this.rawError = this;
93
+ }
94
+ };
95
+ function O(e) {
96
+ let t = e.split("."), n = t[1], i = r(n);
92
97
  return {
93
98
  signature: t[0],
94
99
  base64: n,
95
- buffer: r,
96
- n: r[E],
97
- threshold: w(r[D]),
98
- expiry: r[T] * 3e5
100
+ buffer: i,
101
+ n: i[w],
102
+ threshold: S(i[T]),
103
+ expiry: i[C] * 3e5
99
104
  };
100
105
  }
101
- async function A(e, t, n) {
106
+ async function k(e, t, n) {
102
107
  let r = e.split(",");
103
108
  for (let e = 0; e < r.length; e++) try {
104
- let n = await j(r[e] + "?sitekey=" + t, {
105
- headers: [["x-frc-client", "js-0.9.19"]],
109
+ let n = await A(r[e] + "?sitekey=" + t, {
110
+ headers: [["x-frc-client", "js-0.9.20"]],
106
111
  mode: "cors"
107
112
  }, 2);
108
113
  if (n.ok) return (await n.json()).data.puzzle;
@@ -111,24 +116,26 @@ async function A(e, t, n) {
111
116
  try {
112
117
  t = await n.json();
113
118
  } catch {}
114
- if (t && t.errors && t.errors[0] === "endpoint_not_enabled") throw Error(`Endpoint not allowed (${n.status})`);
119
+ if (t && t.errors && t.errors[0] === "endpoint_not_enabled") throw new D(`Endpoint not allowed (${n.status})`);
120
+ if (t && t.errors && t.errors[0] === "account_usage_limit_reached") throw new D("Usage limit reached");
115
121
  if (e === r.length - 1) throw Error(`Response status ${n.status} ${n.statusText} ${t ? t.errors : ""}`);
116
122
  }
117
123
  } catch (t) {
124
+ if (t instanceof D) throw t;
118
125
  console.error("[FRC Fetch]:", t);
119
126
  let i = /* @__PURE__ */ Error(`${n.text_fetch_error} <a class="frc-err-url" href="${r[e]}">${r[e]}</a>`);
120
127
  throw i.rawError = t, i;
121
128
  }
122
129
  throw Error("Internal error");
123
130
  }
124
- async function j(e, t, n) {
131
+ async function A(e, t, n) {
125
132
  let r = 1e3;
126
133
  return fetch(e, t).catch(async (i) => {
127
134
  if (n === 0) throw i;
128
- return await new Promise((e) => setTimeout(e, r)), r *= 4, j(e, t, n - 1);
135
+ return await new Promise((e) => setTimeout(e, r)), r *= 4, A(e, t, n - 1);
129
136
  });
130
137
  }
131
- var M = {
138
+ var j = {
132
139
  text_init: "Initializing...",
133
140
  text_ready: "Anti-Robot Verification",
134
141
  button_start: "Click to start verification",
@@ -141,7 +148,7 @@ var M = {
141
148
  text_error: "Verification failed",
142
149
  button_retry: "Retry",
143
150
  text_fetch_error: "Failed to connect to"
144
- }, N = {
151
+ }, M = {
145
152
  text_init: "Chargement...",
146
153
  text_ready: "Vérification Anti-Robot",
147
154
  button_start: "Clique ici pour vérifier",
@@ -154,7 +161,7 @@ var M = {
154
161
  text_error: "Échec de la vérification",
155
162
  button_retry: "Recommencer",
156
163
  text_fetch_error: "Problème de connexion avec"
157
- }, P = {
164
+ }, N = {
158
165
  text_init: "Initialisierung...",
159
166
  text_ready: "Anti-Roboter-Verifizierung",
160
167
  button_start: "Hier klicken",
@@ -167,7 +174,7 @@ var M = {
167
174
  text_error: "Verifizierung fehlgeschlagen",
168
175
  button_retry: "Erneut versuchen",
169
176
  text_fetch_error: "Verbindungsproblem mit"
170
- }, ee = {
177
+ }, P = {
171
178
  text_init: "Initializeren...",
172
179
  text_ready: "Anti-robotverificatie",
173
180
  button_start: "Klik om te starten",
@@ -376,10 +383,10 @@ var M = {
376
383
  button_retry: "Prøv på nytt",
377
384
  text_fetch_error: "Tilkoblingen mislyktes"
378
385
  }, X = {
379
- en: M,
380
- de: P,
381
- nl: ee,
382
- fr: N,
386
+ en: j,
387
+ de: N,
388
+ nl: P,
389
+ fr: M,
383
390
  it: F,
384
391
  pt: I,
385
392
  es: L,
@@ -637,14 +644,14 @@ var M = {
637
644
  nb: Y
638
645
  };
639
646
  function Z(e, t) {
640
- let n = new Uint8Array(3), r = new DataView(n.buffer);
647
+ let n = /* @__PURE__ */ new Uint8Array(3), r = new DataView(n.buffer);
641
648
  return r.setUint8(0, e), r.setUint16(1, t), n;
642
649
  }
643
650
  var Q = "!function(){\"use strict\";const A=\"=\".charCodeAt(0),I=new Uint8Array(256);for(let A=0;A<64;A++)I[\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\".charCodeAt(A)]=A;function g(A){const I={},g=A.exports,C=g.memory,Q=g.__alloc,t=g.__retain,B=g.__rtti_base||-1;return I.__allocArray=(A,I)=>{const g=function(A){return new Uint32Array(C.buffer)[(B+4>>>2)+2*A]}(A),e=31-Math.clz32(g>>>6&31),o=I.length,i=Q(o<<e,0),r=Q(12,A),n=new Uint32Array(C.buffer);n[r+0>>>2]=t(i),n[r+4>>>2]=i,n[r+8>>>2]=o<<e;const E=C.buffer,s=new Uint8Array(E);if(16384&g)for(let A=0;A<o;++A)s[(i>>>e)+A]=t(I[A]);else s.set(I,i>>>e);return r},I.__getUint8Array=A=>{const I=new Uint32Array(C.buffer),g=I[A+4>>>2];return new Uint8Array(C.buffer,g,I[g-4>>>2]>>>0)},function(A,I={}){const g=A.__argumentsLength?I=>{A.__argumentsLength.value=I}:A.__setArgumentsLength||A.__setargc||(()=>({}));for(const C in A){if(!Object.prototype.hasOwnProperty.call(A,C))continue;const Q=A[C],t=C.split(\".\")[0];\"function\"==typeof Q&&Q!==g?(I[t]=(...A)=>(g(A.length),Q(...A))).original=Q:I[t]=Q}return I}(g,I)}class C{constructor(A){this.b=new Uint8Array(128),this.h=new Uint32Array(16),this.t=0,this.c=0,this.v=new Uint32Array(32),this.m=new Uint32Array(32),this.outlen=A}}function Q(A,I){return A[I]^A[I+1]<<8^A[I+2]<<16^A[I+3]<<24}function t(A,I,g,C,Q,t,B,e){const o=I[B],i=I[B+1],r=I[e],n=I[e+1];let E,s,w,a,c=A[g],D=A[g+1],f=A[C],h=A[C+1],y=A[Q],l=A[Q+1],u=A[t],N=A[t+1];E=c+f,s=(c&f|(c|f)&~E)>>>31,c=E,D=D+h+s,E=c+o,s=(c&o|(c|o)&~E)>>>31,c=E,D=D+i+s,w=u^c,a=N^D,u=a,N=w,E=y+u,s=(y&u|(y|u)&~E)>>>31,y=E,l=l+N+s,w=f^y,a=h^l,f=w>>>24^a<<8,h=a>>>24^w<<8,E=c+f,s=(c&f|(c|f)&~E)>>>31,c=E,D=D+h+s,E=c+r,s=(c&r|(c|r)&~E)>>>31,c=E,D=D+n+s,w=u^c,a=N^D,u=w>>>16^a<<16,N=a>>>16^w<<16,E=y+u,s=(y&u|(y|u)&~E)>>>31,y=E,l=l+N+s,w=f^y,a=h^l,f=a>>>31^w<<1,h=w>>>31^a<<1,A[g]=c,A[g+1]=D,A[C]=f,A[C+1]=h,A[Q]=y,A[Q+1]=l,A[t]=u,A[t+1]=N}const B=[4089235720,1779033703,2227873595,3144134277,4271175723,1013904242,1595750129,2773480762,2917565137,1359893119,725511199,2600822924,4215389547,528734635,327033209,1541459225],e=[0,2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,28,20,8,16,18,30,26,12,2,24,0,4,22,14,10,6,22,16,24,0,10,4,30,26,20,28,6,12,14,2,18,8,14,18,6,2,26,24,22,28,4,12,10,20,8,0,30,16,18,0,10,14,4,8,20,30,28,2,22,24,12,16,6,26,4,24,12,20,0,22,16,6,8,26,14,10,30,28,2,18,24,10,2,30,28,26,8,20,0,14,12,6,18,4,16,22,26,22,14,28,24,2,6,18,10,0,30,8,16,12,4,20,12,30,28,18,22,6,0,16,24,4,26,14,2,8,20,10,20,4,16,8,14,12,2,10,30,22,18,28,6,24,26,0,0,2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,28,20,8,16,18,30,26,12,2,24,0,4,22,14,10,6];function o(A,I){const g=A.v,C=A.m;for(let I=0;I<16;I++)g[I]=A.h[I],g[I+16]=B[I];g[24]=g[24]^A.t,g[25]=g[25]^A.t/4294967296,I&&(g[28]=~g[28],g[29]=~g[29]);for(let I=0;I<32;I++)C[I]=Q(A.b,4*I);for(let A=0;A<12;A++)t(g,C,0,8,16,24,e[16*A+0],e[16*A+1]),t(g,C,2,10,18,26,e[16*A+2],e[16*A+3]),t(g,C,4,12,20,28,e[16*A+4],e[16*A+5]),t(g,C,6,14,22,30,e[16*A+6],e[16*A+7]),t(g,C,0,10,20,30,e[16*A+8],e[16*A+9]),t(g,C,2,12,22,24,e[16*A+10],e[16*A+11]),t(g,C,4,14,16,26,e[16*A+12],e[16*A+13]),t(g,C,6,8,18,28,e[16*A+14],e[16*A+15]);for(let I=0;I<16;I++)A.h[I]=A.h[I]^g[I]^g[I+16]}function i(A,I){for(let I=0;I<16;I++)A.h[I]=B[I];A.b.set(I),A.h[0]^=16842752^A.outlen}async function r(){return(A,I,g=4294967295)=>{const Q=function(A,I,g){if(128!=A.length)throw Error(\"Invalid input\");const Q=A.buffer,t=new DataView(Q),B=new C(32);B.t=128;const e=t.getUint32(124,!0),r=e+g;for(let g=e;g<r;g++)if(t.setUint32(124,g,!0),i(B,A),o(B,!0),B.h[0]<I)return 0==ASC_TARGET?new Uint8Array(B.h.buffer):Uint8Array.wrap(B.h.buffer);return new Uint8Array(0)}(A,I,g);return[A,Q]}}let n,E;Uint8Array.prototype.slice||Object.defineProperty(Uint8Array.prototype,\"slice\",{value:function(A,I){return new Uint8Array(Array.prototype.slice.call(this,A,I))}}),self.ASC_TARGET=0;const s=new Promise((A=>E=A));self.onerror=A=>{self.postMessage({type:\"error\",message:JSON.stringify(A)})},self.onmessage=async C=>{const Q=C.data;try{if(\"solver\"===Q.type){if(Q.forceJS){n=1;const A=await r();E(A)}else try{n=2;const C=WebAssembly.compile(function(g){let C=3285;g.charCodeAt(4379)===A&&C--,g.charCodeAt(4378)===A&&C--;const Q=new Uint8Array(C);for(let A=0,C=0;A<4380;A+=4){const t=I[g.charCodeAt(A+0)],B=I[g.charCodeAt(A+1)],e=I[g.charCodeAt(A+2)],o=I[g.charCodeAt(A+3)];Q[C++]=t<<2|B>>4,Q[C++]=(15&B)<<4|e>>2,Q[C++]=(3&e)<<6|63&o}return Q}(\"AGFzbQEAAAABKghgAABgAn9/AGADf39/AX9gAX8AYAR/f39/AGAAAX9gAX8Bf2ACf38BfwINAQNlbnYFYWJvcnQABAMMCwcGAwAAAQIFAQIABQMBAAEGFgR/AUEAC38BQQALfwBBAwt/AEHgDAsHbgkGbWVtb3J5AgAHX19hbGxvYwABCF9fcmV0YWluAAIJX19yZWxlYXNlAAMJX19jb2xsZWN0AAQHX19yZXNldAAFC19fcnR0aV9iYXNlAwMNVWludDhBcnJheV9JRAMCDHNvbHZlQmxha2UyYgAKCAELCvQSC5IBAQV/IABB8P///wNLBEAACyMBQRBqIgQgAEEPakFwcSICQRAgAkEQSxsiBmoiAj8AIgVBEHQiA0sEQCAFIAIgA2tB//8DakGAgHxxQRB2IgMgBSADShtAAEEASARAIANAAEEASARAAAsLCyACJAEgBEEQayICIAY2AgAgAkEBNgIEIAIgATYCCCACIAA2AgwgBAsEACAACwMAAQsDAAELBgAjACQBC7sCAQF/AkAgAUUNACAAQQA6AAAgACABakEEayICQQA6AAMgAUECTQ0AIABBADoAASAAQQA6AAIgAkEAOgACIAJBADoAASABQQZNDQAgAEEAOgADIAJBADoAACABQQhNDQAgAEEAIABrQQNxIgJqIgBBADYCACAAIAEgAmtBfHEiAmpBHGsiAUEANgIYIAJBCE0NACAAQQA2AgQgAEEANgIIIAFBADYCECABQQA2AhQgAkEYTQ0AIABBADYCDCAAQQA2AhAgAEEANgIUIABBADYCGCABQQA2AgAgAUEANgIEIAFBADYCCCABQQA2AgwgACAAQQRxQRhqIgFqIQAgAiABayEBA0AgAUEgTwRAIABCADcDACAAQgA3AwggAEIANwMQIABCADcDGCABQSBrIQEgAEEgaiEADAELCwsLcgACfyAARQRAQQxBAhABIQALIAALQQA2AgAgAEEANgIEIABBADYCCCABQfD///8DIAJ2SwRAQcAKQfAKQRJBORAAAAsgASACdCIBQQAQASICIAEQBiAAKAIAGiAAIAI2AgAgACACNgIEIAAgATYCCCAAC88BAQJ/QaABQQAQASIAQQxBAxABQYABQQAQBzYCACAAQQxBBBABQQhBAxAHNgIEIABCADcDCCAAQQA2AhAgAEIANwMYIABCADcDICAAQgA3AyggAEIANwMwIABCADcDOCAAQgA3A0AgAEIANwNIIABCADcDUCAAQgA3A1ggAEIANwNgIABCADcDaCAAQgA3A3AgAEIANwN4IABCADcDgAEgAEIANwOIASAAQgA3A5ABQYABQQUQASIBQYABEAYgACABNgKYASAAQSA2ApwBIAAL2AkCA38SfiAAKAIEIQIgACgCmAEhAwNAIARBgAFIBEAgAyAEaiABIARqKQMANwMAIARBCGohBAwBCwsgAigCBCkDACEMIAIoAgQpAwghDSACKAIEKQMQIQ4gAigCBCkDGCEPIAIoAgQpAyAhBSACKAIEKQMoIQsgAigCBCkDMCEGIAIoAgQpAzghB0KIkvOd/8z5hOoAIQhCu86qptjQ67O7fyEJQqvw0/Sv7ry3PCEQQvHt9Pilp/2npX8hCiAAKQMIQtGFmu/6z5SH0QCFIRFCn9j52cKR2oKbfyESQpSF+aXAyom+YCETQvnC+JuRo7Pw2wAhFEEAIQQDQCAEQcABSARAIAUgCCARIAwgBSADIARBgAhqIgEtAABBA3RqKQMAfHwiBYVCIIoiDHwiCIVCGIoiESAIIAwgBSARIAMgAS0AAUEDdGopAwB8fCIMhUIQiiIIfCIVhUI/iiEFIAsgCSASIA0gCyADIAEtAAJBA3RqKQMAfHwiDYVCIIoiCXwiEYVCGIohCyAGIBAgEyAOIAYgAyABLQAEQQN0aikDAHx8IgaFQiCKIg58IhCFQhiKIhIgECAOIAYgEiADIAEtAAVBA3RqKQMAfHwiDoVCEIoiE3wiEIVCP4ohBiAHIAogFCAPIAcgAyABLQAGQQN0aikDAHx8IgeFQiCKIg98IgqFQhiKIhIgCiAPIAcgEiADIAEtAAdBA3RqKQMAfHwiD4VCEIoiCnwiEoVCP4ohByAQIAogDCARIAkgDSALIAMgAS0AA0EDdGopAwB8fCINhUIQiiIJfCIWIAuFQj+KIgwgAyABLQAIQQN0aikDAHx8IhCFQiCKIgp8IgsgECALIAyFQhiKIhEgAyABLQAJQQN0aikDAHx8IgwgCoVCEIoiFHwiECARhUI/iiELIAYgEiAIIA0gBiADIAEtAApBA3RqKQMAfHwiDYVCIIoiCHwiCoVCGIoiBiANIAYgAyABLQALQQN0aikDAHx8Ig0gCIVCEIoiESAKfCIKhUI/iiEGIAcgFSAJIA4gByADIAEtAAxBA3RqKQMAfHwiDoVCIIoiCHwiCYVCGIoiByAOIAcgAyABLQANQQN0aikDAHx8Ig4gCIVCEIoiEiAJfCIIhUI/iiEHIAUgFiATIA8gBSADIAEtAA5BA3RqKQMAfHwiD4VCIIoiCXwiFYVCGIoiBSAPIAUgAyABLQAPQQN0aikDAHx8Ig8gCYVCEIoiEyAVfCIJhUI/iiEFIARBEGohBAwBCwsgAigCBCACKAIEKQMAIAggDIWFNwMAIAIoAgQgAigCBCkDCCAJIA2FhTcDCCACKAIEIAIoAgQpAxAgDiAQhYU3AxAgAigCBCACKAIEKQMYIAogD4WFNwMYIAIoAgQgAigCBCkDICAFIBGFhTcDICACKAIEIAIoAgQpAyggCyAShYU3AyggAigCBCACKAIEKQMwIAYgE4WFNwMwIAIoAgQgAigCBCkDOCAHIBSFhTcDOCAAIAw3AxggACANNwMgIAAgDjcDKCAAIA83AzAgACAFNwM4IAAgCzcDQCAAIAY3A0ggACAHNwNQIAAgCDcDWCAAIAk3A2AgACAQNwNoIAAgCjcDcCAAIBE3A3ggACASNwOAASAAIBM3A4gBIAAgFDcDkAEL4QIBBH8gACgCCEGAAUcEQEHQCUGACkEeQQUQAAALIAAoAgAhBBAIIgMoAgQhBSADQoABNwMIIAQoAnwiACACaiEGA0AgACAGSQRAIAQgADYCfCADKAIEIgIoAgQgAygCnAGtQoiS95X/zPmE6gCFNwMAIAIoAgRCu86qptjQ67O7fzcDCCACKAIEQqvw0/Sv7ry3PDcDECACKAIEQvHt9Pilp/2npX83AxggAigCBELRhZrv+s+Uh9EANwMgIAIoAgRCn9j52cKR2oKbfzcDKCACKAIEQuv6htq/tfbBHzcDMCACKAIEQvnC+JuRo7Pw2wA3AzggAyAEEAkgBSgCBCkDAKcgAUkEQEEAIAUoAgAiAUEQaygCDCICSwRAQfALQbAMQc0NQQUQAAALQQxBAxABIgAgATYCACAAIAI2AgggACABNgIEIAAPCyAAQQFqIQAMAQsLQQxBAxABQQBBABAHCwwAQaANJABBoA0kAQsL+gQJAEGBCAu/AQECAwQFBgcICQoLDA0ODw4KBAgJDw0GAQwAAgsHBQMLCAwABQIPDQoOAwYHAQkEBwkDAQ0MCw4CBgUKBAAPCAkABQcCBAoPDgELDAYIAw0CDAYKAAsIAwQNBwUPDgEJDAUBDw4NBAoABwYDCQIICw0LBw4MAQMJBQAPBAgGAgoGDw4JCwMACAwCDQcBBAoFCgIIBAcGAQUPCwkOAwwNAAABAgMEBQYHCAkKCwwNDg8OCgQICQ8NBgEMAAILBwUDAEHACQspGgAAAAEAAAABAAAAGgAAAEkAbgB2AGEAbABpAGQAIABpAG4AcAB1AHQAQfAJCzEiAAAAAQAAAAEAAAAiAAAAcwByAGMALwBzAG8AbAB2AGUAcgBXAGEAcwBtAC4AdABzAEGwCgsrHAAAAAEAAAABAAAAHAAAAEkAbgB2AGEAbABpAGQAIABsAGUAbgBnAHQAaABB4AoLNSYAAAABAAAAAQAAACYAAAB+AGwAaQBiAC8AYQByAHIAYQB5AGIAdQBmAGYAZQByAC4AdABzAEGgCws1JgAAAAEAAAABAAAAJgAAAH4AbABpAGIALwBzAHQAYQB0AGkAYwBhAHIAcgBhAHkALgB0AHMAQeALCzMkAAAAAQAAAAEAAAAkAAAASQBuAGQAZQB4ACAAbwB1AHQAIABvAGYAIAByAGEAbgBnAGUAQaAMCzMkAAAAAQAAAAEAAAAkAAAAfgBsAGkAYgAvAHQAeQBwAGUAZABhAHIAcgBhAHkALgB0AHMAQeAMCy4GAAAAIAAAAAAAAAAgAAAAAAAAACAAAAAAAAAAYQAAAAIAAAAhAgAAAgAAACQC\")),Q=await async function(A){const I=await async function(A){const I={env:{abort(){throw Error(\"Wasm aborted\")}}};return{exports:g(await WebAssembly.instantiate(A,I))}}(A),C=I.exports.__retain(I.exports.__allocArray(I.exports.Uint8Array_ID,new Uint8Array(128)));let Q=I.exports.__getUint8Array(C);return(A,g,t=4294967295)=>{Q.set(A);const B=I.exports.solveBlake2b(C,g,t);Q=I.exports.__getUint8Array(C);const e=I.exports.__getUint8Array(B);return I.exports.__release(B),[Q,e]}}(await C);E(Q)}catch(A){console.log(\"FriendlyCaptcha failed to initialize WebAssembly, falling back to Javascript solver: \"+A.toString()),n=1;const I=await r();E(I)}self.postMessage({type:\"ready\",solver:n})}else if(\"start\"===Q.type){const A=await s;self.postMessage({type:\"started\"});let I,g=0;for(let C=0;C<256;C++){Q.puzzleSolverInput[123]=C;const[t,B]=A(Q.puzzleSolverInput,Q.threshold);if(0!==B.length){I=t;break}console.warn(\"FC: Internal error or no solution found\"),g+=Math.pow(2,32)-1}g+=new DataView(I.slice(-4).buffer).getUint32(0,!0),self.postMessage({type:\"done\",solution:I.slice(-8),h:g,puzzleIndex:Q.puzzleIndex,puzzleNumber:Q.puzzleNumber})}}catch(A){setTimeout((()=>{throw A}))}}}();", $;
644
651
  typeof window < "u" && ($ = window.URL || window.webkitURL);
645
652
  var te = class {
646
653
  constructor() {
647
- this.workers = [], this.puzzleNumber = 0, this.numPuzzles = 0, this.threshold = 0, this.startTime = 0, this.progress = 0, this.totalHashes = 0, this.puzzleSolverInputs = [], this.puzzleIndex = 0, this.solutionBuffer = new Uint8Array(), this.solverType = 1, this.readyPromise = new Promise(() => {}), this.readyCount = 0, this.startCount = 0, this.progressCallback = () => 0, this.readyCallback = () => 0, this.startedCallback = () => 0, this.doneCallback = () => 0, this.errorCallback = () => 0;
654
+ this.workers = [], this.puzzleNumber = 0, this.numPuzzles = 0, this.threshold = 0, this.startTime = 0, this.progress = 0, this.totalHashes = 0, this.puzzleSolverInputs = [], this.puzzleIndex = 0, this.solutionBuffer = /* @__PURE__ */ new Uint8Array(), this.solverType = 1, this.readyPromise = new Promise(() => {}), this.readyCount = 0, this.startCount = 0, this.progressCallback = () => 0, this.readyCallback = () => 0, this.startedCallback = () => 0, this.doneCallback = () => 0, this.errorCallback = () => 0;
648
655
  }
649
656
  init() {
650
657
  this.terminateWorkers(), this.progress = 0, this.totalHashes = 0;
@@ -658,32 +665,34 @@ var te = class {
658
665
  let t = new Blob([Q], { type: "text/javascript" });
659
666
  for (let n = 0; n < this.workers.length; n++) this.workers[n] = new Worker($.createObjectURL(t)), this.workers[n].onerror = (e) => this.errorCallback(e), this.workers[n].onmessage = (t) => {
660
667
  let r = t.data;
661
- if (r) if (r.type === "ready") this.readyCount++, this.solverType = r.solver, this.readyCount == this.workers.length && (e(), this.readyCallback());
662
- else if (r.type === "started") this.startCount++, this.startCount == 1 && (this.startTime = Date.now(), this.startedCallback());
663
- else if (r.type === "done") {
664
- if (r.puzzleNumber !== this.puzzleNumber) return;
665
- if (this.puzzleIndex < this.puzzleSolverInputs.length && (this.workers[n].postMessage({
666
- type: "start",
667
- puzzleSolverInput: this.puzzleSolverInputs[this.puzzleIndex],
668
- threshold: this.threshold,
669
- puzzleIndex: this.puzzleIndex,
670
- puzzleNumber: this.puzzleNumber
671
- }), this.puzzleIndex++), this.progress++, this.totalHashes += r.h, this.progressCallback({
672
- n: this.numPuzzles,
673
- h: this.totalHashes,
674
- t: (Date.now() - this.startTime) / 1e3,
675
- i: this.progress
676
- }), this.solutionBuffer.set(r.solution, r.puzzleIndex * 8), this.progress == this.numPuzzles) {
677
- let e = (Date.now() - this.startTime) / 1e3;
678
- this.doneCallback({
679
- solution: this.solutionBuffer,
668
+ if (r) {
669
+ if (r.type === "ready") this.readyCount++, this.solverType = r.solver, this.readyCount == this.workers.length && (e(), this.readyCallback());
670
+ else if (r.type === "started") this.startCount++, this.startCount == 1 && (this.startTime = Date.now(), this.startedCallback());
671
+ else if (r.type === "done") {
672
+ if (r.puzzleNumber !== this.puzzleNumber) return;
673
+ if (this.puzzleIndex < this.puzzleSolverInputs.length && (this.workers[n].postMessage({
674
+ type: "start",
675
+ puzzleSolverInput: this.puzzleSolverInputs[this.puzzleIndex],
676
+ threshold: this.threshold,
677
+ puzzleIndex: this.puzzleIndex,
678
+ puzzleNumber: this.puzzleNumber
679
+ }), this.puzzleIndex++), this.progress++, this.totalHashes += r.h, this.progressCallback({
680
+ n: this.numPuzzles,
680
681
  h: this.totalHashes,
681
- t: e,
682
- diagnostics: Z(this.solverType, e),
683
- solver: this.solverType
684
- });
685
- }
686
- } else r.type === "error" && this.errorCallback(r);
682
+ t: (Date.now() - this.startTime) / 1e3,
683
+ i: this.progress
684
+ }), this.solutionBuffer.set(r.solution, r.puzzleIndex * 8), this.progress == this.numPuzzles) {
685
+ let e = (Date.now() - this.startTime) / 1e3;
686
+ this.doneCallback({
687
+ solution: this.solutionBuffer,
688
+ h: this.totalHashes,
689
+ t: e,
690
+ diagnostics: Z(this.solverType, e),
691
+ solver: this.solverType
692
+ });
693
+ }
694
+ } else r.type === "error" && this.errorCallback(r);
695
+ }
687
696
  };
688
697
  }
689
698
  setupSolver(e = !1) {
@@ -694,7 +703,7 @@ var te = class {
694
703
  for (let e = 0; e < this.workers.length; e++) this.workers[e].postMessage(t);
695
704
  }
696
705
  async start(e) {
697
- await this.readyPromise, this.puzzleSolverInputs = O(e.buffer, e.n), this.solutionBuffer = new Uint8Array(8 * e.n), this.numPuzzles = e.n, this.threshold = e.threshold, this.puzzleIndex = 0, this.puzzleNumber++;
706
+ await this.readyPromise, this.puzzleSolverInputs = E(e.buffer, e.n), this.solutionBuffer = new Uint8Array(8 * e.n), this.numPuzzles = e.n, this.threshold = e.threshold, this.puzzleIndex = 0, this.puzzleNumber++;
698
707
  for (let e = 0; e < this.workers.length && this.puzzleIndex !== this.puzzleSolverInputs.length; e++) this.workers[e].postMessage({
699
708
  type: "start",
700
709
  puzzleSolverInput: this.puzzleSolverInputs[e],
@@ -724,7 +733,7 @@ var te = class {
724
733
  language: e.dataset.lang || "en",
725
734
  solutionFieldName: e.dataset.solutionFieldName || "frc-captcha-solution",
726
735
  styleNonce: null
727
- }, t), this.e = e, this.e.friendlyChallengeWidget = this, this.loadLanguage(), e.innerText = this.lang.text_init, this.opts.skipStyleInjection || _(this.opts.styleNonce), this.init(this.opts.startMode === "auto" || this.e.dataset.start === "auto");
736
+ }, t), this.e = e, this.e.friendlyChallengeWidget = this, this.loadLanguage(), e.innerText = this.lang.text_init, this.opts.skipStyleInjection || h(this.opts.styleNonce), this.init(this.opts.startMode === "auto" || this.e.dataset.start === "auto");
728
737
  }
729
738
  init(e) {
730
739
  if (this.hasBeenDestroyed) {
@@ -733,8 +742,8 @@ var te = class {
733
742
  }
734
743
  if (this.initWorkerGroup(), e) this.start();
735
744
  else if (this.e.dataset.start !== "none" && (this.opts.startMode === "focus" || this.e.dataset.start === "focus")) {
736
- let e = y(this.e);
737
- e ? b(e, () => this.start()) : console.log("FriendlyCaptcha div seems not to be contained in a form, autostart will not work");
745
+ let e = _(this.e);
746
+ e ? v(e, () => this.start()) : console.log("FriendlyCaptcha div seems not to be contained in a form, autostart will not work");
738
747
  }
739
748
  }
740
749
  loadLanguage(e) {
@@ -754,15 +763,15 @@ var te = class {
754
763
  }));
755
764
  }
756
765
  onWorkerError(e) {
757
- this.hasBeenStarted = !1, this.needsReInit = !0, this.expiryTimeout && clearTimeout(this.expiryTimeout), console.error("[FRC]", e), this.e.innerHTML = g(this.opts.solutionFieldName, this.lang, "Background worker error " + e.message), this.makeButtonStart(), this.opts.forceJSFallback = !0;
766
+ this.hasBeenStarted = !1, this.needsReInit = !0, this.expiryTimeout && clearTimeout(this.expiryTimeout), console.error("[FRC]", e), this.e.innerHTML = m(this.opts.solutionFieldName, this.lang, "Background worker error " + e.message), this.makeButtonStart(), this.opts.forceJSFallback = !0;
758
767
  }
759
768
  initWorkerGroup() {
760
769
  this.workerGroup.progressCallback = (e) => {
761
- v(this.e, e);
770
+ g(this.e, e);
762
771
  }, this.workerGroup.readyCallback = () => {
763
- this.e.innerHTML = d(this.opts.solutionFieldName, this.lang), this.makeButtonStart(), this.opts.readyCallback();
772
+ this.e.innerHTML = ee(this.opts.solutionFieldName, this.lang), this.makeButtonStart(), this.opts.readyCallback();
764
773
  }, this.workerGroup.startedCallback = () => {
765
- this.e.innerHTML = p(this.opts.solutionFieldName, this.lang), this.opts.startedCallback();
774
+ this.e.innerHTML = d(this.opts.solutionFieldName, this.lang), this.opts.startedCallback();
766
775
  }, this.workerGroup.doneCallback = (e) => {
767
776
  let t = this.handleDone(e);
768
777
  this.opts.doneCallback(t);
@@ -773,7 +782,7 @@ var te = class {
773
782
  }, this.workerGroup.init(), this.workerGroup.setupSolver(this.opts.forceJSFallback);
774
783
  }
775
784
  expire() {
776
- this.hasBeenStarted = !1, this.e.isConnected !== !1 && (this.e.innerHTML = h(this.opts.solutionFieldName, this.lang), this.makeButtonStart());
785
+ this.hasBeenStarted = !1, this.e.isConnected !== !1 && (this.e.innerHTML = p(this.opts.solutionFieldName, this.lang), this.makeButtonStart());
777
786
  }
778
787
  async start() {
779
788
  if (this.hasBeenDestroyed) {
@@ -786,11 +795,11 @@ var te = class {
786
795
  }
787
796
  let e = this.opts.sitekey || this.e.dataset.sitekey;
788
797
  if (!e) {
789
- console.error("FriendlyCaptcha: sitekey not set on frc-captcha element"), this.e.innerHTML = g(this.opts.solutionFieldName, this.lang, "Website problem: sitekey not set", !1);
798
+ console.error("FriendlyCaptcha: sitekey not set on frc-captcha element"), this.e.innerHTML = m(this.opts.solutionFieldName, this.lang, "Website problem: sitekey not set", !1);
790
799
  return;
791
800
  }
792
- if (C()) {
793
- this.e.innerHTML = g(this.opts.solutionFieldName, this.lang, "Browser check failed, try a different browser", !1, !0);
801
+ if (x()) {
802
+ this.e.innerHTML = m(this.opts.solutionFieldName, this.lang, "Browser check failed, try a different browser", !1, !0);
794
803
  return;
795
804
  }
796
805
  if (this.needsReInit) {
@@ -799,9 +808,9 @@ var te = class {
799
808
  }
800
809
  this.hasBeenStarted = !0;
801
810
  try {
802
- this.e.innerHTML = f(this.opts.solutionFieldName, this.lang), this.puzzle = k(await A(this.opts.puzzleEndpoint, e, this.lang)), this.expiryTimeout && clearTimeout(this.expiryTimeout), this.expiryTimeout = setTimeout(() => this.expire(), this.puzzle.expiry - 3e4);
811
+ this.e.innerHTML = u(this.opts.solutionFieldName, this.lang), this.puzzle = O(await k(this.opts.puzzleEndpoint, e, this.lang)), this.expiryTimeout && clearTimeout(this.expiryTimeout), this.expiryTimeout = setTimeout(() => this.expire(), this.puzzle.expiry - 3e4);
803
812
  } catch (e) {
804
- console.error("[FRC]", e), this.hasBeenStarted = !1, this.expiryTimeout && clearTimeout(this.expiryTimeout), this.e.innerHTML = g(this.opts.solutionFieldName, this.lang, e.message), this.makeButtonStart(), this.opts.errorCallback({
813
+ console.error("[FRC]", e), this.hasBeenStarted = !1, this.expiryTimeout && clearTimeout(this.expiryTimeout), this.e.innerHTML = m(this.opts.solutionFieldName, this.lang, e.message), this.makeButtonStart(), this.opts.errorCallback({
805
814
  code: "error_getting_puzzle",
806
815
  description: e.toString(),
807
816
  error: e
@@ -814,8 +823,8 @@ var te = class {
814
823
  }
815
824
  handleDone(e) {
816
825
  this.valid = !0;
817
- let t = `${this.puzzle.signature}.${this.puzzle.base64}.${r(e.solution)}.${r(e.diagnostics)}`;
818
- return this.e.innerHTML = m(this.opts.solutionFieldName, this.lang, t, e), this.needsReInit = !0, t;
826
+ let t = `${this.puzzle.signature}.${this.puzzle.base64}.${n(e.solution)}.${n(e.diagnostics)}`;
827
+ return this.e.innerHTML = f(this.opts.solutionFieldName, this.lang, t, e), this.needsReInit = !0, t;
819
828
  }
820
829
  destroy() {
821
830
  this.workerGroup.terminateWorkers(), this.needsReInit = !1, this.hasBeenStarted = !1, this.expiryTimeout && clearTimeout(this.expiryTimeout), this.e && (this.e.remove(), delete this.e), this.hasBeenDestroyed = !0;
@@ -1,8 +1,8 @@
1
1
  import { s as e } from "./event-names-BCI2FLD8.js";
2
- import { t } from "./api-DqpfkZWL.js";
2
+ import { t } from "./api-Dxl_CKw-.js";
3
3
  //#region src/js/modules/payments/go-cardless.ts
4
4
  var n = e("go-cardless", "redirect"), r = t({
5
- id: "go-cardless",
5
+ moduleId: "formie:go-cardless",
6
6
  defaultRequiredInputSuffixes: [],
7
7
  load: async () => null,
8
8
  setup: async ({ services: e, root: t }) => {
@@ -0,0 +1,168 @@
1
+ import { t as e } from "./request-profile-DhwkeCpS.js";
2
+ import { t } from "./dist-ZLeW0zZ3.js";
3
+ import { n } from "./event-names-BCI2FLD8.js";
4
+ import { t as r } from "./csrf-DxHg_ZYt.js";
5
+ import { t as i } from "./api-ghNr2uxX.js";
6
+ import { n as a, t as o } from "./scripts-DrccjrFv.js";
7
+ //#region src/js/modules/address/google-address.ts
8
+ var s = "FORMIE_GOOGLE_ADDRESS_SCRIPT", c = "formieGoogleMapsReady", l = null;
9
+ async function u(e) {
10
+ let t = window, n = t.google;
11
+ if (n != null) {
12
+ let e = n.maps;
13
+ if (e?.places?.PlaceAutocompleteElement) return n;
14
+ let t = e;
15
+ return typeof t?.importLibrary == "function" && await t.importLibrary("places"), n;
16
+ }
17
+ if (l) return l;
18
+ if (document.getElementById(s)) {
19
+ let e = await o("google", 1e4), t = e?.maps;
20
+ return typeof t?.importLibrary == "function" && await t.importLibrary("places"), e;
21
+ }
22
+ let r = new URL("https://maps.googleapis.com/maps/api/js");
23
+ r.searchParams.set("key", e), r.searchParams.set("loading", "async"), r.searchParams.set("libraries", "places"), r.searchParams.set("callback", c), l = (async () => {
24
+ let e = new Promise((e, n) => {
25
+ let r = setTimeout(() => {
26
+ t[c] && (delete t[c], n(/* @__PURE__ */ Error("Google Maps API load timeout")));
27
+ }, 15e3);
28
+ t[c] = () => {
29
+ clearTimeout(r), delete t[c], e(t.google);
30
+ };
31
+ });
32
+ await a({
33
+ id: s,
34
+ src: r.toString(),
35
+ async: !0,
36
+ defer: !0
37
+ });
38
+ let n = await e, i = n?.maps;
39
+ return typeof i?.importLibrary == "function" && await i.importLibrary("places"), n;
40
+ })();
41
+ try {
42
+ return await l;
43
+ } catch (e) {
44
+ throw l = null, e;
45
+ }
46
+ }
47
+ function d(e, t) {
48
+ t.formattedAddress && e.input.setValue("autoComplete", t.formattedAddress), t.address1 && e.input.setValue("address1", t.address1), t.city !== void 0 && e.input.setValue("city", t.city), t.state !== void 0 && e.input.setValue("state", t.state), t.zip !== void 0 && e.input.setValue("zip", t.zip), t.country !== void 0 && e.input.setValue("country", t.country);
49
+ }
50
+ function f() {
51
+ return {
52
+ subpremise: "shortText",
53
+ street_number: "shortText",
54
+ route: "longText",
55
+ postal_town: "longText",
56
+ locality: "longText",
57
+ administrative_area_level_1: "shortText",
58
+ country: "shortText",
59
+ postal_code: "shortText"
60
+ };
61
+ }
62
+ function p(e) {
63
+ let t = f(), n = {};
64
+ for (let r of e) {
65
+ let e = r.types?.[0];
66
+ e && t[e] && (n[e] = r[t[e]] ?? r.short_text ?? r.long_text ?? "");
67
+ }
68
+ return n;
69
+ }
70
+ function m(e, t) {
71
+ let n = (t?.addressLines?.filter((e) => typeof e == "string" && e.trim() !== ""))?.join(", ") || "";
72
+ return !n && (e.street_number || e.route) && (n = [e.street_number, e.route].filter(Boolean).join(" "), e.subpremise && (n = `${e.subpremise}/${n}`)), {
73
+ address1: n,
74
+ city: e.locality || e.postal_town || "",
75
+ state: e.administrative_area_level_1 || "",
76
+ zip: e.postal_code || "",
77
+ country: e.country || ""
78
+ };
79
+ }
80
+ function h(e) {
81
+ let t = e.componentRestrictions;
82
+ if (t && typeof t == "object") {
83
+ let e = t.country;
84
+ if (Array.isArray(e) ? e.length > 0 : e) return !0;
85
+ }
86
+ let n = e.includedRegionCodes;
87
+ return Array.isArray(n) && n.length > 0;
88
+ }
89
+ function g(e) {
90
+ let t = {
91
+ types: ["geocode"],
92
+ ...e.options || {}
93
+ }, n = e.countryDefaultValue?.trim().toLowerCase();
94
+ return !n || h(t) ? t : {
95
+ ...t,
96
+ componentRestrictions: { country: n },
97
+ includedRegionCodes: [n.toUpperCase()]
98
+ };
99
+ }
100
+ var _ = i({
101
+ moduleId: "formie:google-address",
102
+ load: async ({ options: e }) => {
103
+ let t = e.provider.apiKey;
104
+ if (!t) throw Error("Google Places API key is required");
105
+ return u(t);
106
+ },
107
+ mount: async ({ api: e, field: t, services: r, provider: i }) => {
108
+ let a = r.input.getAutocomplete(), o = e?.maps?.places?.PlaceAutocompleteElement;
109
+ if (!a || typeof o != "function") return console.warn("[formie] Google Places API not ready; address autocomplete skipped."), null;
110
+ let s = new o(g(i)), c = window.getComputedStyle(a).height;
111
+ s.style.height = c, s.style.boxSizing = "border-box";
112
+ let l = a.parentElement;
113
+ l?.classList.contains("formie-autocomplete-wrapper") || (l = document.createElement("div"), l.classList.add("formie-autocomplete-wrapper"), a.parentNode?.insertBefore(l, a), l.appendChild(a));
114
+ let u = a.value;
115
+ if (u) {
116
+ let e = document.createElement("div");
117
+ e.classList.add("formie-autocomplete-placeholder"), e.textContent = u, l.style.position = "relative", e.style.cssText = `
118
+ position: absolute; left: 0; top: 0; height: ${c};
119
+ line-height: ${c}; width: 100%; padding: 0 2.5rem;
120
+ pointer-events: none; color: #6B7280; font-size: 14px; z-index: 1;
121
+ `, l.appendChild(e), s.addEventListener("focusin", () => {
122
+ e.style.display = "none";
123
+ }), s.addEventListener("focusout", () => {
124
+ a.value && (e.style.display = "");
125
+ });
126
+ }
127
+ return l.replaceChild(s, a), a.type = "hidden", a.name = a.getAttribute("name") || "", l.appendChild(a), s.addEventListener("gmp-select", async (e) => {
128
+ let i = e.placePrediction;
129
+ if (!i) return;
130
+ let a = await i.toPlace();
131
+ await a.fetchFields({ fields: [
132
+ "addressComponents",
133
+ "formattedAddress",
134
+ "postalAddress"
135
+ ] }), a.addressComponents && (d(r, {
136
+ ...m(p(a.addressComponents), a.postalAddress),
137
+ formattedAddress: a.formattedAddress
138
+ }), t.dispatchEvent(new CustomEvent(n("google", "populate"), {
139
+ bubbles: !0,
140
+ detail: {
141
+ addressProvider: "google",
142
+ place: a,
143
+ formattedAddress: a.formattedAddress,
144
+ addressComponents: a.addressComponents,
145
+ postalAddress: a.postalAddress
146
+ }
147
+ })));
148
+ }), s;
149
+ },
150
+ onCurrentLocation: async (n, { field: i, services: a, provider: o }) => {
151
+ let { latitude: s, longitude: c } = n.coords, l = a.form, u = o.geocodeEndpoint || l?.action || window.location.href, f = i.getAttribute("data-formie-field-handle")?.trim(), h = (l?.querySelector("[name=\"handle\"]"))?.value?.trim();
152
+ if (h && f) try {
153
+ let n = new FormData();
154
+ l && r(n, l), n.append("action", "formie/address/google-places-geocode"), n.append("latlng", `${s},${c}`), n.append("handle", h), n.append("fieldHandle", f);
155
+ let i = await (await t(u, {
156
+ method: "POST",
157
+ body: n,
158
+ headers: {
159
+ "X-Requested-With": "XMLHttpRequest",
160
+ Accept: "application/json"
161
+ }
162
+ }, e(l))).json();
163
+ i?.results?.[0]?.address_components && d(a, m(p(i.results[0].address_components)));
164
+ } catch {}
165
+ }
166
+ });
167
+ //#endregion
168
+ export { _ as googleAddressModule };
@@ -1,5 +1,5 @@
1
- import { a as e, r as t, t as n } from "./api-BUb6P-xu.js";
2
- import { n as r, t as i } from "./scripts-CbQ7agX3.js";
1
+ import { a as e, r as t, t as n } from "./api-BK9b340y.js";
2
+ import { n as r, t as i } from "./scripts-DrccjrFv.js";
3
3
  //#region src/js/modules/captchas/hcaptcha.ts
4
4
  async function a(n) {
5
5
  let a = typeof n.language == "string" && n.language.trim() !== "" ? n.language.trim() : "en", { async: o, defer: s } = t(n.loadingMethod), c = "FORMIE_HCAPTCHA_ONLOAD", l = window, u = l.hcaptcha;
@@ -17,7 +17,7 @@ async function a(n) {
17
17
  }), await d, i("hcaptcha", e);
18
18
  }
19
19
  var o = n({
20
- id: "hcaptcha",
20
+ moduleId: "formie:hcaptcha",
21
21
  defaultPlaceholderSelector: "[data-hcaptcha-placeholder]",
22
22
  defaultTokenFieldNames: ["h-captcha-response"],
23
23
  load: ({ options: e }) => a(e.provider),
@@ -38,7 +38,7 @@ var o = n({
38
38
  r.tokens.clear();
39
39
  }
40
40
  }),
41
- screen: ({ api: e, widget: t, placeholder: n, services: r, stageCtx: i }) => {
41
+ challenge: ({ api: e, widget: t, placeholder: n, services: r, stageCtx: i }) => {
42
42
  if (!r.tokens.has()) return e.execute(t), r.tokens.wait().then((e) => {
43
43
  if (!e) {
44
44
  let e = r.errors.getDefaultMessage();